commit 7790410d54893f6dad69a287a0d6200372ca20a9 Author: Adam Joly Date: Tue Dec 12 13:28:15 2023 +0100 fdf add lib diff --git a/MacroLibX/.gitignore b/MacroLibX/.gitignore new file mode 100644 index 0000000..2911f85 --- /dev/null +++ b/MacroLibX/.gitignore @@ -0,0 +1,21 @@ +*.swp +*.swx +*.o +*.a +*.so +*.out +*.dll +*.lib +*.exp +*.json +*.tmp +*.ilk +*.pdb +*.exe +.vs/ +.xmake/ +.cache/ +objs/ +build/ +test/.gdb_history +test/Test diff --git a/MacroLibX/LICENSE b/MacroLibX/LICENSE new file mode 100644 index 0000000..eaf8ee4 --- /dev/null +++ b/MacroLibX/LICENSE @@ -0,0 +1,20 @@ + MIT License + Copyright (c) 2022-2023 kbz_8 + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/MacroLibX/Makefile b/MacroLibX/Makefile new file mode 100644 index 0000000..a6d8efe --- /dev/null +++ b/MacroLibX/Makefile @@ -0,0 +1,92 @@ +# **************************************************************************** # +# # +# ::: :::::::: # +# Makefile :+: :+: :+: # +# +:+ +:+ +:+ # +# By: maldavid +#+ +:+ +#+ # +# +#+#+#+#+#+ +#+ # +# Created: 2022/10/04 16:43:41 by maldavid #+# #+# # +# Updated: 2023/12/07 15:25:52 by kbz_8 ### ########.fr # +# # +# **************************************************************************** # + +NAME = libmlx.so + +SRCS = $(wildcard $(addsuffix /*.cpp, ./src/core)) +SRCS += $(wildcard $(addsuffix /*.cpp, ./src/core/**)) +SRCS += $(wildcard $(addsuffix /*.cpp, ./src/platform)) +SRCS += $(wildcard $(addsuffix /*.cpp, ./src/renderer)) +SRCS += $(wildcard $(addsuffix /*.cpp, ./src/renderer/**)) + +OBJ_DIR = objs/makefile +OBJS = $(addprefix $(OBJ_DIR)/, $(SRCS:.cpp=.o)) + +OS = $(shell uname -s) +DEBUG ?= false +TOOLCHAIN ?= clang +IMAGES_OPTIMIZED ?= true +FORCE_INTEGRATED_GPU ?= false +GRAPHICS_MEMORY_DUMP ?= false + +MODE = "release" + +CXX = clang++ + +ifeq ($(TOOLCHAIN), gcc) + CXX = g++ +endif + +CXXFLAGS = -std=c++17 -O3 -fPIC +INCLUDES = -I./includes -I./src -I./third_party + +LDLIBS = + +ifeq ($(OS), Darwin) + LDLIBS += -lSDL2 +endif + +ifeq ($(DEBUG), true) + CXXFLAGS += -g -D DEBUG + MODE = "debug" +endif + +ifeq ($(FORCE_INTEGRATED_GPU), true) + CXXFLAGS += -D FORCE_INTEGRATED_GPU +endif + +ifeq ($(IMAGES_OPTIMIZED), true) + CXXFLAGS += -D IMAGE_OPTIMIZED +endif + +ifeq ($(GRAPHICS_MEMORY_DUMP), true) + CXXFLAGS += -D GRAPHICS_MEMORY_DUMP +endif + +RM = rm -rf + +$(OBJ_DIR)/%.o: %.cpp + @printf "\033[1;32m[compiling... "$(MODE)" "$(CXX)"]\033[1;00m "$<"\n" + @$(CXX) $(CXXFLAGS) $(INCLUDES) -c $< -o $@ + +all: $(NAME) + +$(NAME): $(OBJ_DIR) $(OBJS) + @printf "\033[1;32m[linking ... "$(MODE)"]\033[1;00m "$@"\n" + @$(CXX) -shared -o $(NAME) $(OBJS) $(LDLIBS) + @printf "\033[1;32m[build finished]\033[1;00m\n" + +$(OBJ_DIR): + @mkdir -p $(sort $(addprefix $(OBJ_DIR)/, $(dir $(SRCS)))) + @printf "\033[1;32m[created objs directory]\033[1;00m\n" + +clean: + @$(RM) $(OBJ_DIR) + @printf "\033[1;32m[object files removed]\033[1;00m\n" + +fclean: clean + @$(RM) $(NAME) + @printf "\033[1;32m["$(NAME)" removed]\033[1;00m\n" + +re: fclean all + +.PHONY: all clean fclean re diff --git a/MacroLibX/README.md b/MacroLibX/README.md new file mode 100644 index 0000000..483b2f5 --- /dev/null +++ b/MacroLibX/README.md @@ -0,0 +1,91 @@ +
+ drawing +
+ + + +
+
+ +
+
+ +###### MacroLibX, a rewrite of 42 School's MiniLibX using SDL2 and Vulkan. +The goal of this version is to provide a light, fast, and modern graphical tool while keeping the same API. + +## đŸ–Ĩī¸ Installation + +### Dependencies +You first need to install the proper dependencies for your operating-system. + +#### 🐧 Linux +Here are a few common cases for different Linux distributions: + +
+ + For Ubuntu/Debian-based distros: + +
sudo apt update
+sudo apt install libsdl2-2.0-0 libsdl2-dev build-essential
+
+
+ +
+ + For ArchLinux-based distros: + +
sudo pacman -S sdl2
+
+ +#### 🍎 macOS +[MacroLibX](#) on macOS requires [SDL2](#) and [MoltenVK](https://github.com/KhronosGroup/MoltenVK). You can install both using the [Homebrew](https://brew.sh) package manager: +```sh +brew install molten-vk +brew install SDL2 +``` + +### đŸĒŸ Windows +To build on Windows you may need to use the [xmake](https://xmake.io) build. [Here's](./XMAKE_BUILD.md) how you can use it. + +### Clone and Build +Finally, you can clone the Git repository. When inside it, run the GNU `make` command to compile MacroLibX. +```bash +git clone https://github.com/420verfl0w/MacroLibX.git +cd MacroLibX +make +``` + +## 🔨 Compile your project +To compile your project with MacroLibX, you just provide the shared library path in your compilation/linking command: + +```sh +clang myApp.c /path/to/MacroLibX/libmlx.so -lSDL2 +``` + +And you can enjoy your project + +

+ drawing +

+ +## ⚙ī¸ Some compilation configurations + +### đŸ“Ļ Compile mode +By default the mlx is built in release mode but you can switch to debug by using `make DEBUG=true`. + +### 🛠ī¸ Set the toolchain +If you want to use `GCC` to build the mlx you can use `make TOOLCHAIN=gcc` + +### ⚠ī¸âš ī¸âš ī¸ đŸ–ŧī¸ Image optimisations ⚠ī¸âš ī¸âš ī¸ +If you run into glitches when writing or reading pixels from images you can turn off images optimisations by using `make IMAGES_OPTIMIZED=false`. + +### đŸ–Ĩī¸ Force the integrated GPU (not recommended) +You can force the mlx to use your integrated GPU by using `make FORCE_INTEGRATED_GPU=true`. Note that there are a lot of chances that your application crashes by using that. + +### đŸ’Ŋ Dump the graphics memory +The mlx can dump it's graphics memory use to json files every two seconds by enabling this option `make GRAPHICS_MEMORY_DUMP=true`. + +## License + +This project and all its files, except the [`third_party`](./third_party) directory or unless otherwise mentionned, are licenced under the [MIT license](./LICENSE). diff --git a/MacroLibX/XMAKE_BUILD.md b/MacroLibX/XMAKE_BUILD.md new file mode 100644 index 0000000..9022f40 --- /dev/null +++ b/MacroLibX/XMAKE_BUILD.md @@ -0,0 +1,47 @@ +# 🏗ī¸ xmake build +To build on Windows (if you don't use [WSL](https://learn.microsoft.com/en-us/windows/wsl/install)), the MacroLibX uses [xmake](https://xmake.io), a build system which will download and compile all dependencies it won't find on your computer. + +## 💾 Install xmake +You can find how to install it on your system [here](https://xmake.io/#/guide/installation). Note that you can also download a [portable version](https://github.com/xmake-io/xmake/releases) of xmake if you wish not to install it. + +## ⚙ī¸ Configure the MacroLibX build +Just as the Makfile build system, you can configure how xmake should build the MacroLibX. The base command to configure it is `xmake config [opts...]` or `xmake f [opts...]`. + +### đŸ“Ļ Compile mode +You can configure xmake to build the mlx in debug mode or in release mode (release mode is enabled by default). To do so you can use `xmake config --mode=debug` or `xmake config --mode=release`. + +### 🛠ī¸ Set the toolchain +To change the compilation toolchain you can use `xmake config --toolchain=[gcc|clang|...]` + +### ⚠ī¸âš ī¸âš ī¸ đŸ–ŧī¸ Image optimisations ⚠ī¸âš ī¸âš ī¸ +If you run into glitches when writing or reading pixels from images you can turn off images optimisations by using `xmake config --images_optimized=n`. + +### đŸ–Ĩī¸ Force the integrated GPU (not recommended) +You can force the mlx to use your integrated GPU using `xmake config --force_integrated_gpu=y`. Note that there are a lot of chances that your application crashes by using that. + +### đŸ’Ŋ Dump the graphics memory +The mlx can dump it's graphics memory use to json files every two seconds by enabling this option `xmake config --graphics_memory_dump=y`. + +### đŸĒ› A possible build configuration +As a configuration example here's how the command can look like `xmake config --mode=debug --toolchain=clang --graphics_memory_dump=y --images_optimized=n` + +## 🚧 Build the lib + +### Compile using command-line (first method) +Once you're ready to compile the lib, run `xmake` (or `xmake -jX` if you wish not to use all your computer threads, with X being the number of threads you wish to use) and watch as the lib compiles. + +### Generate a project (second method) +xmake can also generate a project file for another tool: +* Visual Studio : `xmake project -k vs` +* CMakeLists.txt (which you can open in CLion and more) : `xmake project -k cmake` +* Makefile : `xmake project -k make` +* Ninja : `xmake project -k ninja` +* XCode : `xmake project -k xcode` + +You should now be able to open the project file with the tool of your choice. + +## 😋 Enjoy +Enjoy you project built with the mlx +

+ drawing +

diff --git a/MacroLibX/includes/mlx.h b/MacroLibX/includes/mlx.h new file mode 100644 index 0000000..57dc761 --- /dev/null +++ b/MacroLibX/includes/mlx.h @@ -0,0 +1,362 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* mlx.h :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: maldavid +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* Created: 2022/10/04 16:56:35 by maldavid #+# #+# */ +/* Updated: 2023/12/08 18:07:40 by kbz_8 ### ########.fr */ +/* */ +/* ************************************************************************** */ + +// MacroLibX official repo https://github.com/420verfl0w/MacroLibX + +#ifndef __MACRO_LIB_X_H__ +#define __MACRO_LIB_X_H__ + +#if defined(_WIN32) || defined(_WIN64) + #define MLX_EXPORT __declspec(dllexport) + #define MLX_IMPORT __declspec(dllimport) +#else + #define MLX_EXPORT + #define MLX_IMPORT +#endif + +#ifdef MLX_BUILD + #define MLX_API MLX_EXPORT +#else + #define MLX_API MLX_IMPORT +#endif + +#ifdef __cplusplus +extern "C" { +#endif + +typedef enum +{ + MLX_KEYDOWN = 0, + MLX_KEYUP = 1, + MLX_MOUSEDOWN = 2, + MLX_MOUSEUP = 3, + MLX_MOUSEWHEEL = 4, + MLX_WINDOW_EVENT = 5 +} mlx_event_type; + +/** + * @brief Initializes the MLX internal application + * + * @return (void*) An opaque pointer to the internal MLX application or NULL (0x0) in case of error + */ +MLX_API void* mlx_init(); + +/** + * @brief Creates a new window + * + * @param mlx Internal MLX application + * @param w Width of the window + * @param h Height of the window + * @param title Title of the window + * + * @return (void*) An opaque pointer to the internal MLX window or NULL (0x0) in case of error + */ +MLX_API void* mlx_new_window(void* mlx, int w, int h, const char* title); + +/** + * @brief Gives a function to be executed at each loop turn + * + * @param mlx Internal MLX application + * @param f The function + * @param param Param to give to the function passed + * + * @return (int) Always return 0, made this to copy the behaviour of the original MLX + */ + +MLX_API int mlx_loop_hook(void* mlx, int (*f)(void*), void* param); + +/** + * @brief Starts the internal main loop + * + * @param mlx Internal MLX application + * + * @return (int) Always return 0, made this to copy the behaviour of the original MLX + */ +MLX_API int mlx_loop(void* mlx); + +/** + * @brief Ends the internal main loop + * + * @param mlx Internal MLX application + * + * @return (int) Always return 0, made this to copy the behaviour of the original MLX + */ +MLX_API int mlx_loop_end(void* mlx); + +/** + * @brief Shows mouse cursor + * + * @return (int) Always return 0, made this to copy the behaviour of the original MLX + */ +MLX_API int mlx_mouse_show(); + +/** + * @brief Hides mouse cursor + * + * @return (int) Always return 0, made this to copy the behaviour of the original MLX + */ +MLX_API int mlx_mouse_hide(); + +/** + * @brief Moves cursor to givent position + * + * @param mlx Internal MLX application + * @param win Internal window from which cursor moves + * @param x X coordinate + * @param y Y coordinate + * + * @return (int) Always return 0, made this to copy the behaviour of the original MLX + */ +MLX_API int mlx_mouse_move(void* mlx, void* win, int x, int y); + +/** + * @brief Get cursor's position + * + * @param mlx Internal MLX application + * @param x Get x coordinate + * @param y Get y coordinate + * + * @return (int) Always return 0, made this to copy the behaviour of the original MLX + */ +MLX_API int mlx_mouse_get_pos(void* mlx, int* x, int* y); + + +/** + * @brief Gives a function to be executed on event type + * + * @param mlx Internal MLX application + * @param win Internal window + * @param event Event type (see union on top of this file) + * @param f Function to be executed + * @param param Parameter given to the function + * + * @return (int) Always return 0, made this to copy the behaviour of the original MLX + */ +MLX_API int mlx_on_event(void* mlx, void* win, mlx_event_type event, int (*f)(int, void*), void* param); + + +/** + * @brief Put a pixel in the window + * + * @param mlx Internal MLX application + * @param win Internal window + * @param x X coordinate + * @param y Y coordinate + * @param color Color of the pixel (coded on 3 bytes in an int, 0x00RRGGBB) + * + * Note : If your're reading pixel colors from an image, don't forget to shift them + * one byte to the right as image pixels are encoded as 0xRRGGBBAA and pixel put takes 0x00RRGGBB. + * + * @return (int) Always return 0, made this to copy the behaviour of the original MLX + */ +MLX_API int mlx_pixel_put(void* mlx, void* win, int x, int y, int color); + + +/** + * @brief Create a new empty image + * + * @param mlx Internal MLX application + * @param width Width of the image + * @param height Height of the image + * + * @return (void*) An opaque pointer to the internal image or NULL (0x0) in case of error + */ +MLX_API void* mlx_new_image(void* mlx, int width, int height); + +/** + * @brief Get image pixel data + * + * @param mlx Internal MLX application + * @param img Internal image + * @param x X coordinate in the image + * @param y Y coordinate in the image + * + * @return (int) Return the pixel data + * + * /!\ If you run into glitches when writing or reading pixels from images /!\ + * You need to add IMAGES_OPTIMIZED=false to your make mlx command + * ``` + * ~ git clone https://github.com/420verfl0w/MacroLibX.git + * ~ cd MacroLibX + * ~ make IMAGES_OPTIMIZED=false + * ``` + */ +MLX_API int mlx_get_image_pixel(void* mlx, void* img, int x, int y); + +/** + * @brief Set image pixel data + * + * @param mlx Internal MLX application + * @param img Internal image + * @param x X coordinate in the image + * @param y Y coordinate in the image + * @param color Color of the pixel to set + * + * @return (void) + * + * /!\ If you run into glitches when writing or reading pixels from images /!\ + * You need to add IMAGES_OPTIMIZED=false to your make mlx command + * ``` + * ~ git clone https://github.com/420verfl0w/MacroLibX.git + * ~ cd MacroLibX + * ~ make IMAGES_OPTIMIZED=false + * ``` + */ +MLX_API void mlx_set_image_pixel(void* mlx, void* img, int x, int y, int color); + +/** + * @brief Put image to the given window + * + * @param mlx Internal MLX application + * @param win Internal window + * @param img Internal image + * @param x X coordinate + * @param y Y coordinate + * + * @return (int) Always return 0, made this to copy the behaviour of the original MLX + */ +MLX_API int mlx_put_image_to_window(void* mlx, void* win, void* img, int x, int y); + +/** + * @brief Destroys internal image + * + * @param mlx Internal MLX application + * @param img Internal image + * + * @return (int) Always return 0, made this to copy the behaviour of the original MLX + */ +MLX_API int mlx_destroy_image(void* mlx, void* img); + + +/** + * @brief Create a new image from a png file + * + * @param mlx Internal MLX application + * @param filename Path to the png file + * @param width Get the width of the image + * @param heigth Get the height of the image + * + * @return (void*) An opaque pointer to the internal image or NULL (0x0) in case of error + */ +MLX_API void* mlx_png_file_to_image(void* mlx, char* filename, int* width, int* height); + +/** + * @brief Create a new image from a jpg file + * + * @param mlx Internal MLX application + * @param filename Path to the jpg file + * @param width Get the width of the image + * @param heigth Get the height of the image + * + * @return (void*) An opaque pointer to the internal image or NULL (0x0) in case of error + */ +MLX_API void* mlx_jpg_file_to_image(void* mlx, char* filename, int* width, int* height); + +/** + * @brief Create a new image from a bmp file + * + * @param mlx Internal MLX application + * @param filename Path to the bmp file + * @param width Get the width of the image + * @param heigth Get the height of the image + * + * @return (void*) An opaque pointer to the internal image or NULL (0x0) in case of error + */ +MLX_API void* mlx_bmp_file_to_image(void* mlx, char* filename, int* width, int* height); + + +/** + * @brief Put text in given window + * + * @param mlx Internal MLX application + * @param win Internal window + * @param x X coordinate + * @param y Y coordinate + * @param color Color of the pixel (coded on 3 bytes in an int, 0x00RRGGBB) + * @param str Text to put + * + * @return (int) Always return 0, made this to copy the behaviour of the original MLX + */ +MLX_API int mlx_string_put(void* mlx, void* win, int x, int y, int color, char* str); + + +/** + * @brief Loads a font to be used by `mlx_string_put` + * + * @param mlx Internal MLX application + * @param win Internal window + * @param filepath Filepath to the font + * + * @return (void) + */ +MLX_API void mlx_set_font(void* mlx, void* win, char* filepath); + +/** + * @brief Loads a font to be used by `mlx_string_put` and scales it + * + * @param mlx Internal MLX application + * @param win Internal window + * @param filepath Filepath to the font + * @param scale Scale to apply to the font + * + * @return (void) + */ +MLX_API void mlx_set_font_scale(void* mlx, void* win, char* filepath, float scale); + + +/** + * @brief Clears the given window (resets all rendered data) + * + * @param mlx Internal MLX application + * @param win Internal window + * + * @return (int) Always return 0, made this to copy the behaviour of the original MLX + */ +MLX_API int mlx_clear_window(void* mlx, void* win); + + +/** + * @brief Destroys internal window + * + * @param mlx Internal MLX application + * @param win Internal window + * + * @return (int) Always return 0, made this to copy the behaviour of the original MLX + */ +MLX_API int mlx_destroy_window(void* mlx, void* win); + +/** + * @brief Destroy internal MLX application + * + * @param mlx Internal MLX application + * + * @return (int) Always return 0, made this to copy the behaviour of the original MLX + */ +MLX_API int mlx_destroy_display(void* mlx); + + +/** + * @brief Get screen size + * + * @param mlx Internal MLX application + * @param x Get X size + * @param y Get Y size + * + * @return (int) Always return 0, made this to copy the behaviour of the original MLX + */ +MLX_API int mlx_get_screens_size(void* mlx, int* w, int* h); + +#ifdef __cplusplus +} +#endif + +#endif diff --git a/MacroLibX/res/logo.png b/MacroLibX/res/logo.png new file mode 100644 index 0000000..a79f687 Binary files /dev/null and b/MacroLibX/res/logo.png differ diff --git a/MacroLibX/res/screenshot_test.png b/MacroLibX/res/screenshot_test.png new file mode 100644 index 0000000..61b40ba Binary files /dev/null and b/MacroLibX/res/screenshot_test.png differ diff --git a/MacroLibX/res/screenshot_test_windows.png b/MacroLibX/res/screenshot_test_windows.png new file mode 100644 index 0000000..65f5771 Binary files /dev/null and b/MacroLibX/res/screenshot_test_windows.png differ diff --git a/MacroLibX/src/core/application.cpp b/MacroLibX/src/core/application.cpp new file mode 100644 index 0000000..a7c3749 --- /dev/null +++ b/MacroLibX/src/core/application.cpp @@ -0,0 +1,72 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* application.cpp :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: maldavid +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* Created: 2022/10/04 22:10:52 by maldavid #+# #+# */ +/* Updated: 2023/12/09 17:44:13 by kbz_8 ### ########.fr */ +/* */ +/* ************************************************************************** */ + +#include "application.h" +#include +#include +#include +#include +#include + +namespace mlx::core +{ + Application::Application() : _in(std::make_unique()) + { + if(SDL_Init(SDL_INIT_VIDEO | SDL_INIT_EVENTS | SDL_INIT_TIMER) != 0) + error::report(e_kind::fatal_error, "SDL error : unable to init all subsystems : %s", SDL_GetError()); + } + + void Application::run() noexcept + { + while(_in->is_running()) + { + _in->update(); + for(auto& gs : _graphics) + gs->beginRender(); + + if(_loop_hook) + _loop_hook(_param); + + for(auto& gs : _graphics) + gs->endRender(); + } + } + + void* Application::newTexture(int w, int h) + { + #ifdef DEBUG + _textures.emplace_front().create(nullptr, w, h, VK_FORMAT_R8G8B8A8_UNORM, "__mlx_unamed_user_texture"); + #else + _textures.emplace_front().create(nullptr, w, h, VK_FORMAT_R8G8B8A8_UNORM, nullptr); + #endif + return &_textures.front(); + } + + void* Application::newStbTexture(char* file, int* w, int* h) + { + _textures.emplace_front(stbTextureLoad(file, w, h)); + return &_textures.front(); + } + + void Application::destroyTexture(void* ptr) + { + vkDeviceWaitIdle(Render_Core::get().getDevice().get()); + Texture* texture = static_cast(ptr); + texture->destroy(); + } + + Application::~Application() + { + SDL_QuitSubSystem(SDL_INIT_VIDEO | SDL_INIT_TIMER | SDL_INIT_EVENTS); + SDL_Quit(); + } +} diff --git a/MacroLibX/src/core/application.h b/MacroLibX/src/core/application.h new file mode 100644 index 0000000..a877086 --- /dev/null +++ b/MacroLibX/src/core/application.h @@ -0,0 +1,78 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* application.h :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: maldavid +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* Created: 2022/10/04 21:49:46 by maldavid #+# #+# */ +/* Updated: 2023/12/08 18:52:47 by kbz_8 ### ########.fr */ +/* */ +/* ************************************************************************** */ + +#ifndef __MLX_APPLICATION__ +#define __MLX_APPLICATION__ + +#include +#include +#include +#include +#include +#include + +#include + +#include +#include +#include + +namespace mlx::core +{ + class Application + { + public: + Application(); + + inline void getMousePos(int* x, int* y) noexcept; + inline void mouseMove(void* win, int x, int y) noexcept; + + inline void onEvent(void* win, int event, int (*funct_ptr)(int, void*), void* param) noexcept; + + inline void getScreenSize(int* w, int* h) noexcept; + + inline void* newGraphicsSuport(std::size_t w, std::size_t h, std::string title); + inline void clearGraphicsSupport(void* win); + inline void destroyGraphicsSupport(void* win); + + inline void pixelPut(void* win, int x, int y, uint32_t color) const noexcept; + inline void stringPut(void* win, int x, int y, int color, char* str); + + void* newTexture(int w, int h); + void* newStbTexture(char* file, int* w, int* h); // stb textures are format managed by stb image (png, jpg, bpm, ...) + inline void texturePut(void* win, void* img, int x, int y); + inline int getTexturePixel(void* img, int x, int y); + inline void setTexturePixel(void* img, int x, int y, uint32_t color); + void destroyTexture(void* ptr); + + inline void loopHook(int (*f)(void*), void* param); + inline void loopEnd() noexcept; + + inline void loadFont(void* win, const std::filesystem::path& filepath, float scale); + + void run() noexcept; + + ~Application(); + + private: + std::list _textures; + std::vector> _graphics; + std::function _loop_hook; + std::unique_ptr _in; + void* _param = nullptr; + bool _is_loop_running = false; + }; +} + +#include + +#endif // __MLX_APPLICATION__ diff --git a/MacroLibX/src/core/application.inl b/MacroLibX/src/core/application.inl new file mode 100644 index 0000000..85fbd8f --- /dev/null +++ b/MacroLibX/src/core/application.inl @@ -0,0 +1,103 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* application.inl :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: maldavid +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* Created: 2022/10/04 21:49:46 by maldavid #+# #+# */ +/* Updated: 2023/04/02 14:56:27 by maldavid ### ########.fr */ +/* */ +/* ************************************************************************** */ + +#include + +namespace mlx::core +{ + void Application::getMousePos(int* x, int* y) noexcept + { + *x = _in->getX(); + *y = _in->getY(); + } + + void Application::mouseMove(void* win, int x, int y) noexcept + { + SDL_WarpMouseInWindow(_graphics[*static_cast(win)]->getWindow()->getNativeWindow(), x, y); + SDL_PumpEvents(); + SDL_FlushEvent(SDL_MOUSEMOTION); + } + + void Application::onEvent(void* win, int event, int (*funct_ptr)(int, void*), void* param) noexcept + { + _in->onEvent(_graphics[*static_cast(win)]->getWindow()->getID(), event, funct_ptr, param); + } + + void Application::getScreenSize(int* w, int* h) noexcept + { + SDL_DisplayMode DM; + SDL_GetDesktopDisplayMode(0, &DM); + *w = DM.w; + *h = DM.h; + } + + void* Application::newGraphicsSuport(std::size_t w, std::size_t h, std::string title) + { + _graphics.emplace_back(std::make_unique(w, h, title, _graphics.size())); + _in->addWindow(_graphics.back()->getWindow()); + return static_cast(&_graphics.back()->getID()); + } + + void Application::clearGraphicsSupport(void* win) + { + _graphics[*static_cast(win)]->clearRenderData(); + } + + void Application::destroyGraphicsSupport(void* win) + { + _graphics[*static_cast(win)].reset(); + } + + void Application::pixelPut(void* win, int x, int y, uint32_t color) const noexcept + { + _graphics[*static_cast(win)]->pixelPut(x, y, color); + } + + void Application::stringPut(void* win, int x, int y, int color, char* str) + { + _graphics[*static_cast(win)]->stringPut(x, y, color, str); + } + + void Application::loadFont(void* win, const std::filesystem::path& filepath, float scale) + { + _graphics[*static_cast(win)]->loadFont(filepath, scale); + } + + void Application::texturePut(void* win, void* img, int x, int y) + { + Texture* texture = static_cast(img); + _graphics[*static_cast(win)]->texturePut(texture, x, y); + } + + int Application::getTexturePixel(void* img, int x, int y) + { + Texture* texture = static_cast(img); + return texture->getPixel(x, y); + } + + void Application::setTexturePixel(void* img, int x, int y, uint32_t color) + { + Texture* texture = static_cast(img); + texture->setPixel(x, y, color); + } + + void Application::loopHook(int (*f)(void*), void* param) + { + _loop_hook = f; + _param = param; + } + + void Application::loopEnd() noexcept + { + _in->finish(); + } +} diff --git a/MacroLibX/src/core/bridge.cpp b/MacroLibX/src/core/bridge.cpp new file mode 100644 index 0000000..854d9f5 --- /dev/null +++ b/MacroLibX/src/core/bridge.cpp @@ -0,0 +1,222 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* bridge.cpp :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: maldavid +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* Created: 2022/10/04 17:35:20 by maldavid #+# #+# */ +/* Updated: 2023/12/07 23:05:05 by kbz_8 ### ########.fr */ +/* */ +/* ************************************************************************** */ + +#include +#include "errors.h" +#include "application.h" +#include +#include +#include + +extern "C" +{ + void* mlx_init() + { + static bool init = false; + if(init) + { + mlx::core::error::report(e_kind::error, "MLX cannot be initialized multiple times"); + return NULL; + } + mlx::core::Application* app = new mlx::core::Application; + mlx::Render_Core::get().init(); + if(app == nullptr) + mlx::core::error::report(e_kind::fatal_error, "Tout a pÊtÊ"); + init = true; + return static_cast(app); + } + + void* mlx_new_window(void* mlx, int w, int h, const char* title) + { + return static_cast(mlx)->newGraphicsSuport(w, h, title); + } + + int mlx_loop_hook(void* mlx, int (*f)(void*), void* param) + { + static_cast(mlx)->loopHook(f, param); + return 0; + } + + int mlx_loop(void* mlx) + { + static_cast(mlx)->run(); + return 0; + } + + int mlx_loop_end(void* mlx) + { + static_cast(mlx)->loopEnd(); + return 0; + } + + int mlx_mouse_show() + { + return SDL_ShowCursor(SDL_ENABLE); + } + + int mlx_mouse_hide() + { + return SDL_ShowCursor(SDL_DISABLE); + } + + int mlx_mouse_move(void* mlx, void* win, int x, int y) + { + static_cast(mlx)->mouseMove(win, x, y); + return 0; + } + + int mlx_mouse_get_pos(void* mlx, int* x, int* y) + { + static_cast(mlx)->getMousePos(x, y); + return 0; + } + + int mlx_on_event(void* mlx, void* win, mlx_event_type event, int (*funct_ptr)(int, void*), void* param) + { + static_cast(mlx)->onEvent(win, static_cast(event), funct_ptr, param); + return 0; + } + + void* mlx_new_image(void* mlx, int width, int height) + { + return static_cast(mlx)->newTexture(width, height); + } + + int mlx_get_image_pixel(void* mlx, void* img, int x, int y) + { + return static_cast(mlx)->getTexturePixel(img, x, y); + } + + void mlx_set_image_pixel(void* mlx, void* img, int x, int y, int color) + { + unsigned char color_bits[4]; + color_bits[0] = (color & 0x00FF0000) >> 16; + color_bits[1] = (color & 0x0000FF00) >> 8; + color_bits[2] = (color & 0x000000FF); + color_bits[3] = (color & 0xFF000000) >> 24; + static_cast(mlx)->setTexturePixel(img, x, y, *reinterpret_cast(color_bits)); + } + + int mlx_put_image_to_window(void* mlx, void* win, void* img, int x, int y) + { + static_cast(mlx)->texturePut(win, img, x, y); + return 0; + } + + int mlx_destroy_image(void* mlx, void* img) + { + static_cast(mlx)->destroyTexture(img); + return 0; + } + + void* mlx_png_file_to_image(void* mlx, char* filename, int* width, int* height) + { + std::filesystem::path file(filename); + if(file.extension() != ".png") + { + mlx::core::error::report(e_kind::error, "PNG loader : not a png file '%s'", filename); + return nullptr; + } + return static_cast(mlx)->newStbTexture(filename, width, height); + } + + void* mlx_jpg_file_to_image(void* mlx, char* filename, int* width, int* height) + { + std::filesystem::path file(filename); + if(file.extension() != ".jpg" && file.extension() != ".jpeg") + { + mlx::core::error::report(e_kind::error, "JPG loader : not a jpg file '%s'", filename); + return nullptr; + } + return static_cast(mlx)->newStbTexture(filename, width, height); + } + + void* mlx_bmp_file_to_image(void* mlx, char* filename, int* width, int* height) + { + std::filesystem::path file(filename); + if(file.extension() != ".bmp" && file.extension() != ".dib") + { + mlx::core::error::report(e_kind::error, "BMP loader : not a bmp file '%s'", filename); + return nullptr; + } + return static_cast(mlx)->newStbTexture(filename, width, height); + } + + int mlx_pixel_put(void* mlx, void* win, int x, int y, int color) + { + unsigned char color_bits[4]; + color_bits[0] = (color & 0x00FF0000) >> 16; + color_bits[1] = (color & 0x0000FF00) >> 8; + color_bits[2] = color & 0x000000FF; + color_bits[3] = 0xFF; + static_cast(mlx)->pixelPut(win, x, y, *reinterpret_cast(color_bits)); + return 0; + } + + int mlx_string_put(void* mlx, void* win, int x, int y, int color, char* str) + { + unsigned char color_bits[4]; + color_bits[0] = (color & 0x00FF0000) >> 16; + color_bits[1] = (color & 0x0000FF00) >> 8; + color_bits[2] = color & 0x000000FF; + color_bits[3] = 0xFF; + static_cast(mlx)->stringPut(win, x, y, *reinterpret_cast(color_bits), str); + return 0; + } + + void mlx_set_font(void* mlx, void* win, char* filepath) + { + std::filesystem::path file(filepath); + if(file.extension() != ".ttf" && file.extension() != ".tte") + { + mlx::core::error::report(e_kind::error, "TTF loader : not a truetype font file '%s'", filepath); + return; + } + static_cast(mlx)->loadFont(win, file, 16.f); + } + + void mlx_set_font_scale(void* mlx, void* win, char* filepath, float scale) + { + std::filesystem::path file(filepath); + if(file.extension() != ".ttf" && file.extension() != ".tte") + { + mlx::core::error::report(e_kind::error, "TTF loader : not a truetype font file '%s'", filepath); + return; + } + static_cast(mlx)->loadFont(win, file, scale); + } + + int mlx_clear_window(void* mlx, void* win) + { + static_cast(mlx)->clearGraphicsSupport(win); + return 0; + } + + int mlx_destroy_window(void* mlx, void* win) + { + static_cast(mlx)->destroyGraphicsSupport(win); + return 0; + } + + int mlx_destroy_display(void* mlx) + { + delete static_cast(mlx); + mlx::Render_Core::get().destroy(); + return 0; + } + + int mlx_get_screens_size(void* mlx, int* w, int* h) + { + static_cast(mlx)->getScreenSize(w, h); + return 0; + } +} \ No newline at end of file diff --git a/MacroLibX/src/core/errors.cpp b/MacroLibX/src/core/errors.cpp new file mode 100644 index 0000000..0fb675b --- /dev/null +++ b/MacroLibX/src/core/errors.cpp @@ -0,0 +1,44 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* errors.cpp :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: maldavid +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* Created: 2022/10/04 17:48:06 by maldavid #+# #+# */ +/* Updated: 2023/11/14 07:14:57 by maldavid ### ########.fr */ +/* */ +/* ************************************************************************** */ + +#include +#include +#include +#include + +#include "errors.h" + +constexpr const int BUFFER_SIZE = 4096; + +namespace mlx::core::error +{ + void report(e_kind kind, std::string msg, ...) + { + char buffer[BUFFER_SIZE]; + + va_list al; + va_start(al, msg); + std::vsnprintf(buffer, BUFFER_SIZE, msg.c_str(), al); + va_end(al); + + switch(kind) + { + case e_kind::message: std::cout << "\033[1;34m[MacroLibX] Message : \033[1;0m" << buffer << std::endl; break; + case e_kind::warning: std::cout << "\033[1;35m[MacroLibX] Warning : \033[1;0m" << buffer << std::endl; break; + case e_kind::error: std::cerr << "\033[1;31m[MacroLibX] Error : \033[1;0m" << buffer << std::endl; break; + case e_kind::fatal_error: + std::cerr << "\033[1;31m[MacroLibX] Fatal Error : \033[1;0m" << buffer << std::endl; + std::exit(EXIT_FAILURE); + break; + } + } +} diff --git a/MacroLibX/src/core/errors.h b/MacroLibX/src/core/errors.h new file mode 100644 index 0000000..d8f5ba1 --- /dev/null +++ b/MacroLibX/src/core/errors.h @@ -0,0 +1,32 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* errors.h :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: maldavid +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* Created: 2022/10/04 17:42:32 by maldavid #+# #+# */ +/* Updated: 2023/12/08 18:53:11 by kbz_8 ### ########.fr */ +/* */ +/* ************************************************************************** */ + +#ifndef __MLX_ERRORS__ +#define __MLX_ERRORS__ + +#include +#include + +enum class e_kind +{ + message, + warning, + error, + fatal_error +}; + +namespace mlx::core::error +{ + void report(e_kind kind, std::string msg, ...); +} + +#endif // __MLX_ERRORS__ diff --git a/MacroLibX/src/core/graphics.cpp b/MacroLibX/src/core/graphics.cpp new file mode 100644 index 0000000..a66e140 --- /dev/null +++ b/MacroLibX/src/core/graphics.cpp @@ -0,0 +1,82 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* graphics.cpp :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: maldavid +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* Created: 2023/04/02 15:13:55 by maldavid #+# #+# */ +/* Updated: 2023/12/09 16:52:08 by kbz_8 ### ########.fr */ +/* */ +/* ************************************************************************** */ + +#include + +namespace mlx +{ + GraphicsSupport::GraphicsSupport(std::size_t w, std::size_t h, const std::string& title, int id) : + _window(std::make_shared(w, h, title)), + _renderer(std::make_unique()), _text_put_pipeline(std::make_unique()), + _id(id) + { + _renderer->setWindow(_window.get()); + _renderer->init(); + _pixel_put_pipeline.init(w, h, *_renderer); + _text_put_pipeline->init(_renderer.get()); + } + + void GraphicsSupport::endRender() noexcept + { + auto cmd_buff = _renderer->getActiveCmdBuffer().get(); + + static std::array sets = { + _renderer->getVertDescriptorSet().get(), + VK_NULL_HANDLE + }; + + for(auto& data : _textures_to_render) + { + if(data.texture->getSet() == VK_NULL_HANDLE) + data.texture->setDescriptor(_renderer->getFragDescriptorSet().duplicate()); + if(!data.texture->hasBeenUpdated()) + data.texture->updateSet(0); + sets[1] = data.texture->getSet(); + vkCmdBindDescriptorSets(cmd_buff, VK_PIPELINE_BIND_POINT_GRAPHICS, _renderer->getPipeline().getPipelineLayout(), 0, sets.size(), sets.data(), 0, nullptr); + data.texture->render(*_renderer, data.x, data.y); + } + + _pixel_put_pipeline.present(); + + sets[1] = _pixel_put_pipeline.getDescriptorSet(); + vkCmdBindDescriptorSets(cmd_buff, VK_PIPELINE_BIND_POINT_GRAPHICS, _renderer->getPipeline().getPipelineLayout(), 0, sets.size(), sets.data(), 0, nullptr); + _pixel_put_pipeline.render(*_renderer); + + sets[1] = _text_put_pipeline->getDescriptorSet(); + vkCmdBindDescriptorSets(cmd_buff, VK_PIPELINE_BIND_POINT_GRAPHICS, _renderer->getPipeline().getPipelineLayout(), 0, sets.size(), sets.data(), 0, nullptr); + _text_put_pipeline->render(); + + _renderer->endFrame(); + + for(auto& data : _textures_to_render) + data.texture->resetUpdate(); + + #ifdef GRAPHICS_MEMORY_DUMP + // dump memory to file every two seconds + static uint64_t timer = SDL_GetTicks64(); + if(SDL_GetTicks64() - timer > 2000) + { + Render_Core::get().getAllocator().dumpMemoryToJson(); + timer += 2000; + } + #endif + } + + GraphicsSupport::~GraphicsSupport() + { + vkDeviceWaitIdle(Render_Core::get().getDevice().get()); + _text_put_pipeline->destroy(); + _pixel_put_pipeline.destroy(); + _renderer->destroy(); + _window->destroy(); + } +} diff --git a/MacroLibX/src/core/graphics.h b/MacroLibX/src/core/graphics.h new file mode 100644 index 0000000..2680162 --- /dev/null +++ b/MacroLibX/src/core/graphics.h @@ -0,0 +1,65 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* graphics.h :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: maldavid +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* Created: 2023/04/02 14:49:49 by maldavid #+# #+# */ +/* Updated: 2023/12/08 19:04:59 by kbz_8 ### ########.fr */ +/* */ +/* ************************************************************************** */ + +#ifndef __MLX_GRAPHICS__ +#define __MLX_GRAPHICS__ + +#include +#include +#include + +#include +#include + +#include +#include +#include +#include +#include +#include +#include + +namespace mlx +{ + class GraphicsSupport : public non_copyable + { + public: + GraphicsSupport(std::size_t w, std::size_t h, const std::string& title, int id); + + inline int& getID() noexcept; + inline std::shared_ptr getWindow(); + + inline void beginRender() noexcept; + void endRender() noexcept; + + inline void clearRenderData() noexcept; + inline void pixelPut(int x, int y, uint32_t color) noexcept; + inline void stringPut(int x, int y, int color, std::string str); + inline void texturePut(Texture* texture, int x, int y); + inline void loadFont(const std::filesystem::path& filepath, float scale); + + ~GraphicsSupport(); + + private: + std::vector _textures_to_render; + PixelPutPipeline _pixel_put_pipeline; + glm::mat4 _proj = glm::mat4(1.0); + std::shared_ptr _window; + std::unique_ptr _text_put_pipeline; // unique_ptr because of the size of the class + std::unique_ptr _renderer; + int _id; + }; +} + +#include + +#endif diff --git a/MacroLibX/src/core/graphics.inl b/MacroLibX/src/core/graphics.inl new file mode 100644 index 0000000..0a472c3 --- /dev/null +++ b/MacroLibX/src/core/graphics.inl @@ -0,0 +1,66 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* graphics.inl :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: maldavid +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* Created: 2023/04/02 15:13:55 by maldavid #+# #+# */ +/* Updated: 2023/04/02 15:26:16 by maldavid ### ########.fr */ +/* */ +/* ************************************************************************** */ + +#include "renderer/images/texture.h" +#include +#include + +namespace mlx +{ + int& GraphicsSupport::getID() noexcept { return _id; } + std::shared_ptr GraphicsSupport::getWindow() { return _window; } + + void GraphicsSupport::beginRender() noexcept + { + if(!_renderer->beginFrame()) + return; + _proj = glm::ortho(0, _window->getWidth(), 0, _window->getHeight()); + _renderer->getUniformBuffer()->setData(sizeof(_proj), &_proj); + } + + void GraphicsSupport::clearRenderData() noexcept + { + _textures_to_render.clear(); + _pixel_put_pipeline.clear(); + _text_put_pipeline->clear(); + } + + void GraphicsSupport::pixelPut(int x, int y, uint32_t color) noexcept + { + _pixel_put_pipeline.setPixel(x, y, color); + } + + void GraphicsSupport::stringPut(int x, int y, int color, std::string str) + { + _text_put_pipeline->put(x, y, color, str); + } + + void GraphicsSupport::texturePut(Texture* texture, int x, int y) + { + _textures_to_render.emplace_back(texture, x, y); + std::size_t hash = std::hash{}(_textures_to_render.back()); + _textures_to_render.back().hash = hash; + + auto it = std::find_if(_textures_to_render.begin(), _textures_to_render.end() - 1, [=](const TextureRenderData& rhs) + { + return rhs.hash == hash; + }); + + if(it != _textures_to_render.end() - 1) + _textures_to_render.erase(it); + } + + void GraphicsSupport::loadFont(const std::filesystem::path& filepath, float scale) + { + _text_put_pipeline->loadFont(filepath, scale); + } +} diff --git a/MacroLibX/src/core/memory.cpp b/MacroLibX/src/core/memory.cpp new file mode 100644 index 0000000..3fd1c5b --- /dev/null +++ b/MacroLibX/src/core/memory.cpp @@ -0,0 +1,47 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* memory.cpp :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: maldavid +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* Created: 2023/12/07 16:32:01 by kbz_8 #+# #+# */ +/* Updated: 2023/12/08 12:56:14 by kbz_8 ### ########.fr */ +/* */ +/* ************************************************************************** */ + +#include +#include +#include +#include + +namespace mlx +{ + void* MemManager::alloc(std::size_t size) + { + void* ptr = std::malloc(size); + if(ptr != nullptr) + _blocks.push_back(ptr); + return ptr; + } + + void MemManager::free(void* ptr) + { + auto it = std::find(_blocks.begin(), _blocks.end(), ptr); + if(it == _blocks.end()) + { + core::error::report(e_kind::error, "Memory Manager : trying to free a pointer not allocated by the memory manager"); + return; + } + std::free(*it); + _blocks.erase(it); + } + + MemManager::~MemManager() + { + std::for_each(_blocks.begin(), _blocks.end(), [](void* ptr) + { + std::free(ptr); + }); + } +} diff --git a/MacroLibX/src/core/memory.h b/MacroLibX/src/core/memory.h new file mode 100644 index 0000000..b4649e1 --- /dev/null +++ b/MacroLibX/src/core/memory.h @@ -0,0 +1,39 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* memory.h :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: maldavid +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* Created: 2023/12/07 16:31:51 by kbz_8 #+# #+# */ +/* Updated: 2023/12/08 19:05:15 by kbz_8 ### ########.fr */ +/* */ +/* ************************************************************************** */ + +#ifndef __MLX_MEMORY__ +#define __MLX_MEMORY__ + +#include +#include +#include + +namespace mlx +{ + class MemManager : public Singleton + { + friend class Singleton; + + public: + void* alloc(std::size_t size); + void free(void* ptr); + + private: + MemManager() = default; + ~MemManager(); + + private: + std::list _blocks; + }; +} + +#endif diff --git a/MacroLibX/src/core/profile.h b/MacroLibX/src/core/profile.h new file mode 100644 index 0000000..45d6ed7 --- /dev/null +++ b/MacroLibX/src/core/profile.h @@ -0,0 +1,73 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* profile.h :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: maldavid +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* Created: 2023/11/10 08:49:17 by maldavid #+# #+# */ +/* Updated: 2023/12/08 18:49:38 by kbz_8 ### ########.fr */ +/* */ +/* ************************************************************************** */ + +#ifndef __MLX_PROFILE__ +#define __MLX_PROFILE__ + +// Try to identify the compiler +#if defined(__BORLANDC__) + #define MLX_COMPILER_BORDLAND +#elif defined(__clang__) + #define MLX_COMPILER_CLANG + #ifdef __MINGW32__ + #define MLX_COMPILER_MINGW + #ifdef __MINGW64_VERSION_MAJOR + #define MLX_COMPILER_MINGW_W64 + #endif + #endif +#elif defined(__GNUC__) || defined(__MINGW32__) + #define MLX_COMPILER_GCC + #ifdef __MINGW32__ + #define MLX_COMPILER_MINGW + #ifdef __MINGW64_VERSION_MAJOR + #define MLX_COMPILER_MINGW_W64 + #endif + #endif +#elif defined(__INTEL_COMPILER) || defined(__ICL) + #define MLX_COMPILER_INTEL +#elif defined(_MSC_VER) + #define MLX_COMPILER_MSVC +#else + #define MLX_COMPILER_UNKNOWN + #warning "This compiler is not fully supported" +#endif + +#if defined(_WIN32) || defined(__CYGWIN__) + #define MLX_PLAT_WINDOWS +#elif defined(__linux__) + #define MLX_PLAT_LINUX +#elif defined(__APPLE__) && defined(__MACH__) + #define MLX_PLAT_MACOS +#elif defined(unix) || defined(__unix__) || defined(__unix) + #define MLX_PLAT_UNIX +#else + #error "Unknown environment!" +#endif + + +// Checking common assumptions +#include +#include + +static_assert(CHAR_BIT == 8, "CHAR_BIT is expected to be 8"); + +static_assert(sizeof(int8_t) == 1, "int8_t is not of the correct size" ); +static_assert(sizeof(int16_t) == 2, "int16_t is not of the correct size"); +static_assert(sizeof(int32_t) == 4, "int32_t is not of the correct size"); +static_assert(sizeof(int64_t) == 8, "int64_t is not of the correct size"); + +static_assert(sizeof(uint8_t) == 1, "uint8_t is not of the correct size" ); +static_assert(sizeof(uint16_t) == 2, "uint16_t is not of the correct size"); +static_assert(sizeof(uint32_t) == 4, "uint32_t is not of the correct size"); +static_assert(sizeof(uint64_t) == 8, "uint64_t is not of the correct size"); + +#endif diff --git a/MacroLibX/src/platform/inputs.cpp b/MacroLibX/src/platform/inputs.cpp new file mode 100644 index 0000000..7dce064 --- /dev/null +++ b/MacroLibX/src/platform/inputs.cpp @@ -0,0 +1,160 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* inputs.cpp :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: maldavid +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* Created: 2022/10/05 16:30:19 by maldavid #+# #+# */ +/* Updated: 2023/12/08 12:17:40 by kbz_8 ### ########.fr */ +/* */ +/* ************************************************************************** */ + +#include "inputs.h" +#include +#include + +namespace mlx +{ + Input::Input() + { + std::memset(_keys.data(), 0, SDL_NUM_SCANCODES); + std::memset(_mouse.data(), 0, 8); + } + + void Input::update() + { + _xRel = 0; + _yRel = 0; + + while(SDL_PollEvent(&_event)) + { + if(_event.type == SDL_MOUSEMOTION) + { + _x = _event.motion.x; + _y = _event.motion.y; + + _xRel = _event.motion.xrel; + _yRel = _event.motion.yrel; + } + + uint32_t id = _event.window.windowID; + if(!_events_hooks.count(id)) + continue; + auto& hooks = _events_hooks[id]; + + switch(_event.type) + { + case SDL_KEYDOWN: + { + _keys[_event.key.keysym.scancode] = static_cast(action::down); + if(hooks[MLX_KEYDOWN].hook) + hooks[MLX_KEYDOWN].hook(_event.key.keysym.scancode, hooks[MLX_KEYDOWN].param); + break; + } + + case SDL_KEYUP: + { + _keys[_event.key.keysym.scancode] = static_cast(action::up); + if(hooks[MLX_KEYUP].hook) + hooks[MLX_KEYUP].hook(_event.key.keysym.scancode, hooks[MLX_KEYUP].param); + break; + } + + case SDL_MOUSEBUTTONDOWN: + { + _mouse[_event.button.button] = static_cast(action::down); + if(hooks[MLX_MOUSEDOWN].hook) + hooks[MLX_MOUSEDOWN].hook(_event.button.button, hooks[MLX_MOUSEDOWN].param); + break; + } + + case SDL_MOUSEBUTTONUP: + { + _mouse[_event.button.button] = static_cast(action::up); + if(hooks[MLX_MOUSEUP].hook) + hooks[MLX_MOUSEUP].hook(_event.button.button, hooks[MLX_MOUSEUP].param); + break; + } + + case SDL_MOUSEWHEEL: + { + if(hooks[MLX_MOUSEWHEEL].hook) + { + if(_event.wheel.y > 0) // scroll up + hooks[MLX_MOUSEWHEEL].hook(1, hooks[MLX_MOUSEWHEEL].param); + else if(_event.wheel.y < 0) // scroll down + hooks[MLX_MOUSEWHEEL].hook(2, hooks[MLX_MOUSEWHEEL].param); + + if(_event.wheel.x > 0) // scroll right + hooks[MLX_MOUSEWHEEL].hook(3, hooks[MLX_MOUSEWHEEL].param); + else if(_event.wheel.x < 0) // scroll left + hooks[MLX_MOUSEWHEEL].hook(4, hooks[MLX_MOUSEWHEEL].param); + } + break; + } + + case SDL_WINDOWEVENT: + { + auto& win_hook = hooks[MLX_WINDOW_EVENT]; + switch(_event.window.event) + { + case SDL_WINDOWEVENT_CLOSE: + { + if(win_hook.hook) + win_hook.hook(0, win_hook.param); + break; + } + case SDL_WINDOWEVENT_MOVED: + { + if(win_hook.hook) + win_hook.hook(1, win_hook.param); + break; + } + case SDL_WINDOWEVENT_MINIMIZED: + { + if(win_hook.hook) + win_hook.hook(2, win_hook.param); + break; + } + case SDL_WINDOWEVENT_MAXIMIZED: + { + if(win_hook.hook) + win_hook.hook(3, win_hook.param); + break; + } + case SDL_WINDOWEVENT_ENTER: + { + if(win_hook.hook) + win_hook.hook(4, win_hook.param); + break; + } + case SDL_WINDOWEVENT_FOCUS_GAINED: + { + if(win_hook.hook) + win_hook.hook(4, win_hook.param); + break; + } + case SDL_WINDOWEVENT_LEAVE: + { + if(win_hook.hook) + win_hook.hook(5, win_hook.param); + break; + } + case SDL_WINDOWEVENT_FOCUS_LOST: + { + if(win_hook.hook) + win_hook.hook(4, win_hook.param); + break; + } + + default : break; + } + break; + } + + default: break; + } + } + } +} diff --git a/MacroLibX/src/platform/inputs.h b/MacroLibX/src/platform/inputs.h new file mode 100644 index 0000000..332d8e0 --- /dev/null +++ b/MacroLibX/src/platform/inputs.h @@ -0,0 +1,84 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* inputs.h :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: maldavid +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* Created: 2022/10/05 16:27:35 by maldavid #+# #+# */ +/* Updated: 2023/12/08 18:54:03 by kbz_8 ### ########.fr */ +/* */ +/* ************************************************************************** */ + +#include +#include +#include +#include +#include +#include +#include + +#include + +#include "window.h" + +namespace mlx +{ + enum class action : uint8_t { up = (1 << 1), down = (1 << 2) }; + + struct Hook + { + std::function hook; + void* param = nullptr; + }; + + class Input + { + public: + Input(); + + void update(); + + inline bool getInKey(const SDL_Scancode key, action type = action::down) const noexcept { return _keys[key] & static_cast(type); } + + inline bool getInMouse(const uint8_t button, action type = action::down) const noexcept { return _mouse[button] & static_cast(type); } + inline bool isMouseMoving() const noexcept { return _xRel || _yRel; } + + inline int getX() const noexcept { return _x; } + inline int getY() const noexcept { return _y; } + + inline int getXRel() const noexcept { return _xRel; } + inline int getYRel() const noexcept { return _yRel; } + + inline bool is_running() const noexcept { return !_end; } + inline constexpr void finish() noexcept { _end = true; } + + inline void addWindow(std::shared_ptr window) + { + _windows[window->getID()] = window; + _events_hooks[window->getID()] = {}; + } + + inline void onEvent(uint32_t id, int event, int (*funct_ptr)(int, void*), void* param) noexcept + { + _events_hooks[id][event].hook = funct_ptr; + _events_hooks[id][event].param = param; + } + + ~Input() = default; + + private: + std::array _keys; + std::unordered_map> _windows; + std::unordered_map> _events_hooks; + SDL_Event _event; + std::array _mouse; + + int _x = 0; + int _y = 0; + int _xRel = 0; + int _yRel = 0; + + bool _end = false; + }; +} diff --git a/MacroLibX/src/platform/window.cpp b/MacroLibX/src/platform/window.cpp new file mode 100644 index 0000000..c3e712f --- /dev/null +++ b/MacroLibX/src/platform/window.cpp @@ -0,0 +1,56 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* window.cpp :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: maldavid +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* Created: 2022/10/04 17:36:44 by maldavid #+# #+# */ +/* Updated: 2023/12/09 16:52:29 by kbz_8 ### ########.fr */ +/* */ +/* ************************************************************************** */ + +#include +#include +#include +#include + +namespace mlx +{ + #if SDL_BYTEORDER == SDL_BIG_ENDIAN + constexpr const uint32_t rmask = 0xff000000; + constexpr const uint32_t gmask = 0x00ff0000; + constexpr const uint32_t bmask = 0x0000ff00; + constexpr const uint32_t amask = 0x000000ff; + #else + constexpr const uint32_t rmask = 0x000000ff; + constexpr const uint32_t gmask = 0x0000ff00; + constexpr const uint32_t bmask = 0x00ff0000; + constexpr const uint32_t amask = 0xff000000; + #endif + + MLX_Window::MLX_Window(std::size_t w, std::size_t h, const std::string& title) : _width(w), _height(h) + { + _win = SDL_CreateWindow(title.c_str(), SDL_WINDOWPOS_CENTERED, SDL_WINDOWPOS_CENTERED, w, h, SDL_WINDOW_VULKAN | SDL_WINDOW_SHOWN); + if(!_win) + core::error::report(e_kind::fatal_error, std::string("unable to open a new window, ") + SDL_GetError()); + _id = SDL_GetWindowID(_win); + _icon = SDL_CreateRGBSurfaceFrom(static_cast(logo_mlx), logo_mlx_width, logo_mlx_height, 32, 4 * logo_mlx_width, rmask, gmask, bmask, amask); + SDL_SetWindowIcon(_win, _icon); + } + + void MLX_Window::destroy() noexcept + { + std::cout << "prout" << std::endl; + if(_win != nullptr) + { + SDL_DestroyWindow(_win); + _win = nullptr; + } + if(_icon != nullptr) + { + SDL_FreeSurface(_icon); + _icon = nullptr; + } + } +} diff --git a/MacroLibX/src/platform/window.h b/MacroLibX/src/platform/window.h new file mode 100644 index 0000000..f1c7f16 --- /dev/null +++ b/MacroLibX/src/platform/window.h @@ -0,0 +1,45 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* window.h :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: maldavid +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* Created: 2022/10/04 21:53:12 by maldavid #+# #+# */ +/* Updated: 2023/12/09 16:35:57 by kbz_8 ### ########.fr */ +/* */ +/* ************************************************************************** */ + +#ifndef __MLX_WINDOW__ +#define __MLX_WINDOW__ + +#include +#include +#include + +namespace mlx +{ + class MLX_Window + { + public: + MLX_Window(std::size_t w, std::size_t h, const std::string& title); + + inline SDL_Window* getNativeWindow() const noexcept { return _win; } + inline int getWidth() const noexcept { return _width; } + inline int getHeight() const noexcept { return _height; } + inline uint32_t getID() const noexcept { return _id; } + + void destroy() noexcept; + + ~MLX_Window() = default; + + private: + SDL_Surface* _icon = nullptr; + SDL_Window* _win = nullptr; + int _width = 0; + int _height = 0; + uint32_t _id = -1; + }; +} + +#endif diff --git a/MacroLibX/src/renderer/buffers/vk_buffer.cpp b/MacroLibX/src/renderer/buffers/vk_buffer.cpp new file mode 100644 index 0000000..5c1f2ec --- /dev/null +++ b/MacroLibX/src/renderer/buffers/vk_buffer.cpp @@ -0,0 +1,149 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* vk_buffer.cpp :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: maldavid +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* Created: 2022/10/08 18:55:57 by maldavid #+# #+# */ +/* Updated: 2023/11/16 13:54:25 by maldavid ### ########.fr */ +/* */ +/* ************************************************************************** */ + +#include "vk_buffer.h" +#include +#include +#include +#include +#include +#include + +namespace mlx +{ + void Buffer::create(Buffer::kind type, VkDeviceSize size, VkBufferUsageFlags usage, const char* name, const void* data) + { + _usage = usage; + if(type == Buffer::kind::constant) + { + if(data == nullptr) + { + core::error::report(e_kind::warning, "Vulkan : trying to create constant buffer without data (constant buffers cannot be modified after creation)"); + return; + } + _usage |= VK_BUFFER_USAGE_TRANSFER_SRC_BIT; + } + + VmaAllocationCreateInfo alloc_info{}; + alloc_info.flags = VMA_ALLOCATION_CREATE_HOST_ACCESS_SEQUENTIAL_WRITE_BIT; + alloc_info.usage = VMA_MEMORY_USAGE_AUTO; + + createBuffer(_usage, alloc_info, size, name); + + if(data != nullptr) + { + void* mapped = nullptr; + mapMem(&mapped); + std::memcpy(mapped, data, size); + unmapMem(); + if(type == Buffer::kind::constant) + pushToGPU(); + } + } + + void Buffer::destroy() noexcept + { + if(_is_mapped) + unmapMem(); + if(_buffer != VK_NULL_HANDLE) + Render_Core::get().getAllocator().destroyBuffer(_allocation, _buffer); + _buffer = VK_NULL_HANDLE; + } + + void Buffer::createBuffer(VkBufferUsageFlags usage, VmaAllocationCreateInfo info, VkDeviceSize size, const char* name) + { + VkBufferCreateInfo bufferInfo{}; + bufferInfo.sType = VK_STRUCTURE_TYPE_BUFFER_CREATE_INFO; + bufferInfo.size = size; + bufferInfo.usage = usage; + bufferInfo.sharingMode = VK_SHARING_MODE_EXCLUSIVE; + + #ifdef DEBUG + _name = name; + std::string alloc_name = _name; + if(usage & VK_BUFFER_USAGE_INDEX_BUFFER_BIT) + alloc_name.append("_index_buffer"); + else if(usage & VK_BUFFER_USAGE_VERTEX_BUFFER_BIT) + alloc_name.append("_vertex_buffer"); + else if((usage & VK_BUFFER_USAGE_UNIFORM_BUFFER_BIT) != 1) + alloc_name.append("_buffer"); + _allocation = Render_Core::get().getAllocator().createBuffer(&bufferInfo, &info, _buffer, alloc_name.c_str()); + #else + _allocation = Render_Core::get().getAllocator().createBuffer(&bufferInfo, &info, _buffer, nullptr); + #endif + _size = size; + } + + void Buffer::pushToGPU() noexcept + { + VmaAllocationCreateInfo alloc_info{}; + alloc_info.usage = VMA_MEMORY_USAGE_AUTO_PREFER_DEVICE; + + Buffer newBuffer; + newBuffer._usage = (_usage & 0xFFFFFFFC) | VK_BUFFER_USAGE_TRANSFER_DST_BIT; + #ifdef DEBUG + std::string new_name = _name + "_GPU"; + newBuffer.createBuffer(newBuffer._usage, alloc_info, _size, new_name.c_str()); + #else + newBuffer.createBuffer(newBuffer._usage, alloc_info, _size, nullptr); + #endif + + CmdPool cmdpool; + cmdpool.init(); + CmdBuffer cmdBuffer; + cmdBuffer.init(&cmdpool); + + cmdBuffer.beginRecord(VK_COMMAND_BUFFER_USAGE_ONE_TIME_SUBMIT_BIT); + + VkBufferCopy copyRegion{}; + copyRegion.size = _size; + vkCmdCopyBuffer(cmdBuffer.get(), _buffer, newBuffer._buffer, 1, ©Region); + + cmdBuffer.endRecord(); + cmdBuffer.submitIdle(); + + cmdBuffer.destroy(); + cmdpool.destroy(); + + this->swap(newBuffer); + + newBuffer.destroy(); + } + + void Buffer::swap(Buffer& buffer) noexcept + { + VkBuffer temp_b = _buffer; + _buffer = buffer._buffer; + buffer._buffer = temp_b; + + VmaAllocation temp_a = buffer._allocation; + buffer._allocation = _allocation; + _allocation = temp_a; + + VkDeviceSize temp_size = buffer._size; + buffer._size = _size; + _size = temp_size; + + VkDeviceSize temp_offset = buffer._offset; + buffer._offset = _offset; + _offset = temp_offset; + + VkBufferUsageFlags temp_u = _usage; + _usage = buffer._usage; + buffer._usage = temp_u; + } + + void Buffer::flush(VkDeviceSize size, VkDeviceSize offset) + { + Render_Core::get().getAllocator().flush(_allocation, size, offset); + } +} diff --git a/MacroLibX/src/renderer/buffers/vk_buffer.h b/MacroLibX/src/renderer/buffers/vk_buffer.h new file mode 100644 index 0000000..783c486 --- /dev/null +++ b/MacroLibX/src/renderer/buffers/vk_buffer.h @@ -0,0 +1,63 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* vk_buffer.h :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: maldavid +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* Created: 2022/10/06 23:18:52 by maldavid #+# #+# */ +/* Updated: 2023/12/08 19:05:50 by kbz_8 ### ########.fr */ +/* */ +/* ************************************************************************** */ + +#ifndef __MLX_VK_BUFFER__ +#define __MLX_VK_BUFFER__ + +#include +#include +#include + +namespace mlx +{ + class Buffer + { + public: + enum class kind { dynamic, uniform, constant }; + + void create(kind type, VkDeviceSize size, VkBufferUsageFlags usage, const char* name, const void* data = nullptr); + void destroy() noexcept; + + inline void mapMem(void** data) noexcept { Render_Core::get().getAllocator().mapMemory(_allocation, data); _is_mapped = true; } + inline bool isMapped() const noexcept { return _is_mapped; } + inline void unmapMem() noexcept { Render_Core::get().getAllocator().unmapMemory(_allocation); _is_mapped = false; } + + void flush(VkDeviceSize size = VK_WHOLE_SIZE, VkDeviceSize offset = 0); + + inline VkBuffer& operator()() noexcept { return _buffer; } + inline VkBuffer& get() noexcept { return _buffer; } + inline VkDeviceSize getSize() const noexcept { return _size; } + inline VkDeviceSize getOffset() const noexcept { return _offset; } + + protected: + void pushToGPU() noexcept; + void swap(Buffer& buffer) noexcept; + + protected: + VmaAllocation _allocation; + VkBuffer _buffer = VK_NULL_HANDLE; + VkDeviceSize _offset = 0; + VkDeviceSize _size = 0; + + private: + void createBuffer(VkBufferUsageFlags usage, VmaAllocationCreateInfo info, VkDeviceSize size, const char* name); + + private: + #ifdef DEBUG + std::string _name; + #endif + VkBufferUsageFlags _usage = 0; + bool _is_mapped = false; + }; +} + +#endif diff --git a/MacroLibX/src/renderer/buffers/vk_ibo.h b/MacroLibX/src/renderer/buffers/vk_ibo.h new file mode 100644 index 0000000..ecaa21f --- /dev/null +++ b/MacroLibX/src/renderer/buffers/vk_ibo.h @@ -0,0 +1,31 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* vk_ibo.h :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: maldavid +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* Created: 2023/01/25 15:05:05 by maldavid #+# #+# */ +/* Updated: 2023/12/08 19:06:07 by kbz_8 ### ########.fr */ +/* */ +/* ************************************************************************** */ + +#ifndef __VK_IBO__ +#define __VK_IBO__ + +#include +#include "vk_buffer.h" +#include +#include + +namespace mlx +{ + class C_IBO : public Buffer + { + public: + inline void create(uint32_t size, const uint16_t* data, const char* name) { Buffer::create(Buffer::kind::constant, size, VK_BUFFER_USAGE_INDEX_BUFFER_BIT, name, data); } + inline void bind(Renderer& renderer) noexcept { vkCmdBindIndexBuffer(renderer.getActiveCmdBuffer().get(), _buffer, _offset, VK_INDEX_TYPE_UINT16); } + }; +} + +#endif diff --git a/MacroLibX/src/renderer/buffers/vk_ubo.cpp b/MacroLibX/src/renderer/buffers/vk_ubo.cpp new file mode 100644 index 0000000..70ceae5 --- /dev/null +++ b/MacroLibX/src/renderer/buffers/vk_ubo.cpp @@ -0,0 +1,74 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* vk_ubo.cpp :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: maldavid +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* Created: 2022/10/06 18:45:52 by maldavid #+# #+# */ +/* Updated: 2023/11/16 13:57:42 by maldavid ### ########.fr */ +/* */ +/* ************************************************************************** */ + +#include "vk_ubo.h" +#include +#include + +namespace mlx +{ + void UBO::create(Renderer* renderer, uint32_t size, const char* name) + { + _renderer = renderer; + + for(int i = 0; i < MAX_FRAMES_IN_FLIGHT; i++) + { + #ifdef DEBUG + std::string name_frame = name; + name_frame.append(std::to_string(i)); + _buffers[i].create(Buffer::kind::uniform, size, VK_BUFFER_USAGE_UNIFORM_BUFFER_BIT, name_frame.c_str()); + #else + _buffers[i].create(Buffer::kind::uniform, size, VK_BUFFER_USAGE_UNIFORM_BUFFER_BIT, nullptr); + #endif + _buffers[i].mapMem(&_maps[i]); + if(_maps[i] == nullptr) + core::error::report(e_kind::fatal_error, "Vulkan : unable to map a uniform buffer"); + } + } + + void UBO::setData(uint32_t size, const void* data) + { + std::memcpy(_maps[_renderer->getActiveImageIndex()], data, static_cast(size)); + } + + void UBO::setDynamicData(uint32_t size, const void* data) + { + std::memcpy(_maps[_renderer->getActiveImageIndex()], data, static_cast(size)); + _buffers[_renderer->getActiveImageIndex()].flush(); + } + + unsigned int UBO::getSize() noexcept + { + return _buffers[_renderer->getActiveImageIndex()].getSize(); + } + + unsigned int UBO::getOffset() noexcept + { + return _buffers[_renderer->getActiveImageIndex()].getOffset(); + } + + VkBuffer& UBO::operator()() noexcept + { + return _buffers[_renderer->getActiveImageIndex()].get(); + } + + VkBuffer& UBO::get() noexcept + { + return _buffers[_renderer->getActiveImageIndex()].get(); + } + + void UBO::destroy() noexcept + { + for(int i = 0; i < MAX_FRAMES_IN_FLIGHT; i++) + _buffers[i].destroy(); + } +} diff --git a/MacroLibX/src/renderer/buffers/vk_ubo.h b/MacroLibX/src/renderer/buffers/vk_ubo.h new file mode 100644 index 0000000..057e24e --- /dev/null +++ b/MacroLibX/src/renderer/buffers/vk_ubo.h @@ -0,0 +1,51 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* vk_ubo.h :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: maldavid +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* Created: 2022/10/06 18:45:29 by maldavid #+# #+# */ +/* Updated: 2023/12/08 19:06:28 by kbz_8 ### ########.fr */ +/* */ +/* ************************************************************************** */ + +#ifndef __MLX_VK_UBO__ +#define __MLX_VK_UBO__ + +#include "vk_buffer.h" +#include +#include +#include + +namespace mlx +{ + class UBO + { + public: + void create(class Renderer* renderer, uint32_t size, const char* name); + + void setData(uint32_t size, const void* data); + void setDynamicData(uint32_t size, const void* data); + + void destroy() noexcept; + + unsigned int getSize() noexcept; + unsigned int getOffset() noexcept; + VkDeviceMemory getDeviceMemory() noexcept; + VkBuffer& operator()() noexcept; + VkBuffer& get() noexcept; + + inline unsigned int getSize(int i) noexcept { return _buffers[i].getSize(); } + inline unsigned int getOffset(int i) noexcept { return _buffers[i].getOffset(); } + inline VkBuffer& operator()(int i) noexcept { return _buffers[i].get(); } + inline VkBuffer& get(int i) noexcept { return _buffers[i].get(); } + + private: + std::array _buffers; + std::array _maps; + class Renderer* _renderer = nullptr; + }; +} + +#endif // __MLX_VK_UBO__ diff --git a/MacroLibX/src/renderer/buffers/vk_vbo.cpp b/MacroLibX/src/renderer/buffers/vk_vbo.cpp new file mode 100644 index 0000000..1b2a0d3 --- /dev/null +++ b/MacroLibX/src/renderer/buffers/vk_vbo.cpp @@ -0,0 +1,31 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* vk_vbo.cpp :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: maldavid +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* Created: 2022/10/06 18:28:08 by maldavid #+# #+# */ +/* Updated: 2023/11/10 08:33:52 by maldavid ### ########.fr */ +/* */ +/* ************************************************************************** */ + +#include "vk_vbo.h" +#include + +namespace mlx +{ + void VBO::setData(uint32_t size, const void* data) + { + if(size > getSize()) + core::error::report(e_kind::error, "Vulkan : trying to store to much data in a vertex buffer (%d bytes in %d bytes)", size, getSize()); + + if(data == nullptr) + core::error::report(e_kind::warning, "Vulkan : mapping null data in a vertex buffer"); + + void* temp = nullptr; + mapMem(&temp); + std::memcpy(temp, data, static_cast(size)); + unmapMem(); + } +} diff --git a/MacroLibX/src/renderer/buffers/vk_vbo.h b/MacroLibX/src/renderer/buffers/vk_vbo.h new file mode 100644 index 0000000..7b52c76 --- /dev/null +++ b/MacroLibX/src/renderer/buffers/vk_vbo.h @@ -0,0 +1,38 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* vk_vbo.h :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: maldavid +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* Created: 2022/10/06 18:27:38 by maldavid #+# #+# */ +/* Updated: 2023/12/08 19:06:45 by kbz_8 ### ########.fr */ +/* */ +/* ************************************************************************** */ + +#ifndef __MLX_VK_VBO__ +#define __MLX_VK_VBO__ + +#include "vk_buffer.h" +#include +#include + +namespace mlx +{ + class VBO : public Buffer + { + public: + inline void create(uint32_t size, const char* name) { Buffer::create(Buffer::kind::dynamic, size, VK_BUFFER_USAGE_VERTEX_BUFFER_BIT, name); } + void setData(uint32_t size, const void* data); + inline void bind(Renderer& renderer) noexcept { vkCmdBindVertexBuffers(renderer.getActiveCmdBuffer().get(), 0, 1, &_buffer, &_offset); } + }; + + class C_VBO : public Buffer + { + public: + inline void create(uint32_t size, const void* data, const char* name) { Buffer::create(Buffer::kind::constant, size, VK_BUFFER_USAGE_VERTEX_BUFFER_BIT, name, data); } + inline void bind(Renderer& renderer) noexcept { vkCmdBindVertexBuffers(renderer.getActiveCmdBuffer().get(), 0, 1, &_buffer, &_offset); } + }; +} + +#endif // __MLX_VK_VBO__ diff --git a/MacroLibX/src/renderer/command/cmd_manager.cpp b/MacroLibX/src/renderer/command/cmd_manager.cpp new file mode 100644 index 0000000..37524a5 --- /dev/null +++ b/MacroLibX/src/renderer/command/cmd_manager.cpp @@ -0,0 +1,40 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* cmd_manager.cpp :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: maldavid +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* Created: 2023/04/02 17:50:52 by maldavid #+# #+# */ +/* Updated: 2023/04/02 17:51:46 by maldavid ### ########.fr */ +/* */ +/* ************************************************************************** */ + +#include + +namespace mlx +{ + void CmdManager::init() noexcept + { + _cmd_pool.init(); + for(int i = 0; i < MAX_FRAMES_IN_FLIGHT; i++) + _cmd_buffers[i].init(this); + } + + void CmdManager::beginRecord(int active_image_index) + { + _cmd_buffers[active_image_index].beginRecord(); + } + + void CmdManager::endRecord(int active_image_index) + { + _cmd_buffers[active_image_index].endRecord(); + } + + void CmdManager::destroy() noexcept + { + for(int i = 0; i < MAX_FRAMES_IN_FLIGHT; i++) + _cmd_buffers[i].destroy(); + _cmd_pool.destroy(); + } +} diff --git a/MacroLibX/src/renderer/command/cmd_manager.h b/MacroLibX/src/renderer/command/cmd_manager.h new file mode 100644 index 0000000..e6a13be --- /dev/null +++ b/MacroLibX/src/renderer/command/cmd_manager.h @@ -0,0 +1,47 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* cmd_manager.h :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: maldavid +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* Created: 2023/04/02 17:48:52 by maldavid #+# #+# */ +/* Updated: 2023/12/08 19:07:00 by kbz_8 ### ########.fr */ +/* */ +/* ************************************************************************** */ + +#ifndef __MLX_COMMAND_MANAGER__ +#define __MLX_COMMAND_MANAGER__ + +#include + +#include +#include +#include +#include +#include + +namespace mlx +{ + class CmdManager + { + public: + CmdManager() = default; + + void init() noexcept; + void beginRecord(int active_image_index); + void endRecord(int active_image_index); + void destroy() noexcept; + + inline CmdPool& getCmdPool() noexcept { return _cmd_pool; } + inline CmdBuffer& getCmdBuffer(int i) noexcept { return _cmd_buffers[i]; } + + ~CmdManager() = default; + + private: + std::array _cmd_buffers; + CmdPool _cmd_pool; + }; +} + +#endif diff --git a/MacroLibX/src/renderer/command/vk_cmd_buffer.cpp b/MacroLibX/src/renderer/command/vk_cmd_buffer.cpp new file mode 100644 index 0000000..143b9b2 --- /dev/null +++ b/MacroLibX/src/renderer/command/vk_cmd_buffer.cpp @@ -0,0 +1,113 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* vk_cmd_buffer.cpp :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: maldavid +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* Created: 2022/10/06 18:26:06 by maldavid #+# #+# */ +/* Updated: 2023/11/08 20:17:49 by maldavid ### ########.fr */ +/* */ +/* ************************************************************************** */ + +#include "vk_cmd_buffer.h" +#include +#include +#include + +namespace mlx +{ + void CmdBuffer::init(CmdManager* manager) + { + init(&manager->getCmdPool()); + } + + void CmdBuffer::init(CmdPool* pool) + { + _pool = pool; + + VkCommandBufferAllocateInfo allocInfo{}; + allocInfo.sType = VK_STRUCTURE_TYPE_COMMAND_BUFFER_ALLOCATE_INFO; + allocInfo.commandPool = pool->get(); + allocInfo.level = VK_COMMAND_BUFFER_LEVEL_PRIMARY; + allocInfo.commandBufferCount = 1; + + if(vkAllocateCommandBuffers(Render_Core::get().getDevice().get(), &allocInfo, &_cmd_buffer) != VK_SUCCESS) + core::error::report(e_kind::fatal_error, "Vulkan : failed to allocate command buffer"); + #ifdef DEBUG + core::error::report(e_kind::message, "Vulkan : created new command buffer"); + #endif + + _fence.init(); + } + + void CmdBuffer::beginRecord(VkCommandBufferUsageFlags usage) + { + if(_is_recording) + return; + + VkCommandBufferBeginInfo beginInfo{}; + beginInfo.sType = VK_STRUCTURE_TYPE_COMMAND_BUFFER_BEGIN_INFO; + beginInfo.flags = usage; + if(vkBeginCommandBuffer(_cmd_buffer, &beginInfo) != VK_SUCCESS) + core::error::report(e_kind::fatal_error, "Vulkan : failed to begin recording command buffer"); + + _is_recording = true; + } + + void CmdBuffer::endRecord() + { + if(!_is_recording) + return; + if(vkEndCommandBuffer(_cmd_buffer) != VK_SUCCESS) + core::error::report(e_kind::fatal_error, "Vulkan : failed to end recording command buffer"); + + _is_recording = false; + } + + void CmdBuffer::submitIdle() noexcept + { + auto device = Render_Core::get().getDevice().get(); + + VkSubmitInfo submitInfo = {}; + submitInfo.sType = VK_STRUCTURE_TYPE_SUBMIT_INFO; + submitInfo.commandBufferCount = 1; + submitInfo.pCommandBuffers = &_cmd_buffer; + + VkFenceCreateInfo fenceCreateInfo = {}; + fenceCreateInfo.sType = VK_STRUCTURE_TYPE_FENCE_CREATE_INFO; + + VkFence fence; + vkCreateFence(device, &fenceCreateInfo, nullptr, &fence); + vkResetFences(device, 1, &fence); + vkQueueSubmit(Render_Core::get().getQueue().getGraphic(), 1, &submitInfo, fence); + vkWaitForFences(device, 1, &fence, VK_TRUE, UINT64_MAX); + vkDestroyFence(device, fence, nullptr); + } + + void CmdBuffer::submit(Semaphore& semaphores) noexcept + { + VkSemaphore signalSemaphores[] = { semaphores.getRenderImageSemaphore() }; + VkSemaphore waitSemaphores[] = { semaphores.getImageSemaphore() }; + VkPipelineStageFlags waitStages[] = { VK_PIPELINE_STAGE_COLOR_ATTACHMENT_OUTPUT_BIT }; + + VkSubmitInfo submitInfo{}; + submitInfo.sType = VK_STRUCTURE_TYPE_SUBMIT_INFO; + submitInfo.waitSemaphoreCount = 1; + submitInfo.pWaitSemaphores = waitSemaphores; + submitInfo.pWaitDstStageMask = waitStages; + submitInfo.commandBufferCount = 1; + submitInfo.pCommandBuffers = &_cmd_buffer; + submitInfo.signalSemaphoreCount = 1; + submitInfo.pSignalSemaphores = signalSemaphores; + + if(vkQueueSubmit(Render_Core::get().getQueue().getGraphic(), 1, &submitInfo, _fence.get()) != VK_SUCCESS) + core::error::report(e_kind::fatal_error, "Vulkan error : failed to submit draw command buffer"); + } + + void CmdBuffer::destroy() noexcept + { + _fence.destroy(); + _cmd_buffer = VK_NULL_HANDLE; + } +} diff --git a/MacroLibX/src/renderer/command/vk_cmd_buffer.h b/MacroLibX/src/renderer/command/vk_cmd_buffer.h new file mode 100644 index 0000000..0b4e742 --- /dev/null +++ b/MacroLibX/src/renderer/command/vk_cmd_buffer.h @@ -0,0 +1,51 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* vk_cmd_buffer.h :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: maldavid +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* Created: 2022/10/06 18:25:42 by maldavid #+# #+# */ +/* Updated: 2023/12/08 19:07:11 by kbz_8 ### ########.fr */ +/* */ +/* ************************************************************************** */ + +#ifndef __MLX_VK_CMD_BUFFER__ +#define __MLX_VK_CMD_BUFFER__ + +#include +#include +#include + +namespace mlx +{ + class CmdBuffer + { + public: + void init(class CmdManager* manager); + void init(class CmdPool* pool); + void destroy() noexcept; + + void beginRecord(VkCommandBufferUsageFlags usage = 0); + void submit(class Semaphore& semaphores) noexcept; + void submitIdle() noexcept; + inline void waitForExecution() noexcept { _fence.waitAndReset(); } + inline void reset() noexcept { vkResetCommandBuffer(_cmd_buffer, 0); } + void endRecord(); + + inline bool isRecording() const noexcept { return _is_recording; } + inline bool isInit() const noexcept { return _cmd_buffer != VK_NULL_HANDLE; } + + inline VkCommandBuffer& operator()() noexcept { return _cmd_buffer; } + inline VkCommandBuffer& get() noexcept { return _cmd_buffer; } + inline Fence& getFence() noexcept { return _fence; } + + private: + Fence _fence; + VkCommandBuffer _cmd_buffer = VK_NULL_HANDLE; + class CmdPool* _pool = nullptr; + bool _is_recording = false; + }; +} + +#endif // __MLX_VK_CMD_BUFFER__ diff --git a/MacroLibX/src/renderer/command/vk_cmd_pool.cpp b/MacroLibX/src/renderer/command/vk_cmd_pool.cpp new file mode 100644 index 0000000..f78538f --- /dev/null +++ b/MacroLibX/src/renderer/command/vk_cmd_pool.cpp @@ -0,0 +1,34 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* vk_cmd_pool.cpp :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: maldavid +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* Created: 2022/10/06 18:24:33 by maldavid #+# #+# */ +/* Updated: 2023/11/18 17:23:38 by maldavid ### ########.fr */ +/* */ +/* ************************************************************************** */ + +#include "vk_cmd_pool.h" +#include + +namespace mlx +{ + void CmdPool::init() + { + VkCommandPoolCreateInfo poolInfo{}; + poolInfo.sType = VK_STRUCTURE_TYPE_COMMAND_POOL_CREATE_INFO; + poolInfo.flags = VK_COMMAND_POOL_CREATE_RESET_COMMAND_BUFFER_BIT; + poolInfo.queueFamilyIndex = Render_Core::get().getQueue().getFamilies().graphicsFamily.value(); + + if(vkCreateCommandPool(Render_Core::get().getDevice().get(), &poolInfo, nullptr, &_cmd_pool) != VK_SUCCESS) + core::error::report(e_kind::fatal_error, "Vulkan : failed to create command pool"); + } + + void CmdPool::destroy() noexcept + { + vkDestroyCommandPool(Render_Core::get().getDevice().get(), _cmd_pool, nullptr); + _cmd_pool = VK_NULL_HANDLE; + } +} diff --git a/MacroLibX/src/renderer/command/vk_cmd_pool.h b/MacroLibX/src/renderer/command/vk_cmd_pool.h new file mode 100644 index 0000000..cacc651 --- /dev/null +++ b/MacroLibX/src/renderer/command/vk_cmd_pool.h @@ -0,0 +1,35 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* vk_cmd_pool.h :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: maldavid +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* Created: 2022/10/06 18:24:12 by maldavid #+# #+# */ +/* Updated: 2023/12/08 19:07:22 by kbz_8 ### ########.fr */ +/* */ +/* ************************************************************************** */ + +#ifndef __MLX_VK_CMD_POOL__ +#define __MLX_VK_CMD_POOL__ + +#include +#include + +namespace mlx +{ + class CmdPool + { + public: + void init(); + void destroy() noexcept; + + inline VkCommandPool& operator()() noexcept { return _cmd_pool; } + inline VkCommandPool& get() noexcept { return _cmd_pool; } + + private: + VkCommandPool _cmd_pool = VK_NULL_HANDLE; + }; +} + +#endif // __MLX_VK_CMD_POOL__ diff --git a/MacroLibX/src/renderer/core/memory.cpp b/MacroLibX/src/renderer/core/memory.cpp new file mode 100644 index 0000000..3570705 --- /dev/null +++ b/MacroLibX/src/renderer/core/memory.cpp @@ -0,0 +1,160 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* memory.cpp :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: kbz_8 +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* Created: 2023/10/20 22:02:37 by kbz_8 #+# #+# */ +/* Updated: 2023/11/14 12:45:29 by maldavid ### ########.fr */ +/* */ +/* ************************************************************************** */ + +#include +#include +#include + +#define VMA_STATIC_VULKAN_FUNCTIONS 0 +#define VMA_DYNAMIC_VULKAN_FUNCTIONS 0 +#define VMA_VULKAN_VERSION 1002000 +#define VMA_ASSERT(expr) (static_cast(expr) ? void(0) : mlx::core::error::report(e_kind::fatal_error, "Graphics allocator : an assertion has been catched : '%s'", #expr)) +#define VMA_IMPLEMENTATION + +#ifdef MLX_COMPILER_CLANG + #pragma clang diagnostic push + #pragma clang diagnostic ignored "-Wnullability-completeness" + #include + #pragma clang diagnostic pop +#else + #include +#endif + +#include +#include + +namespace mlx +{ + void GPUallocator::init() noexcept + { + VmaVulkanFunctions vma_vulkan_func{}; + vma_vulkan_func.vkAllocateMemory = vkAllocateMemory; + vma_vulkan_func.vkBindBufferMemory = vkBindBufferMemory; + vma_vulkan_func.vkBindImageMemory = vkBindImageMemory; + vma_vulkan_func.vkCreateBuffer = vkCreateBuffer; + vma_vulkan_func.vkCreateImage = vkCreateImage; + vma_vulkan_func.vkDestroyBuffer = vkDestroyBuffer; + vma_vulkan_func.vkDestroyImage = vkDestroyImage; + vma_vulkan_func.vkFlushMappedMemoryRanges = vkFlushMappedMemoryRanges; + vma_vulkan_func.vkFreeMemory = vkFreeMemory; + vma_vulkan_func.vkGetBufferMemoryRequirements = vkGetBufferMemoryRequirements; + vma_vulkan_func.vkGetImageMemoryRequirements = vkGetImageMemoryRequirements; + vma_vulkan_func.vkGetPhysicalDeviceMemoryProperties = vkGetPhysicalDeviceMemoryProperties; + vma_vulkan_func.vkGetPhysicalDeviceProperties = vkGetPhysicalDeviceProperties; + vma_vulkan_func.vkInvalidateMappedMemoryRanges = vkInvalidateMappedMemoryRanges; + vma_vulkan_func.vkMapMemory = vkMapMemory; + vma_vulkan_func.vkUnmapMemory = vkUnmapMemory; + vma_vulkan_func.vkCmdCopyBuffer = vkCmdCopyBuffer; + vma_vulkan_func.vkGetBufferMemoryRequirements2KHR = vkGetBufferMemoryRequirements2; + vma_vulkan_func.vkGetImageMemoryRequirements2KHR = vkGetImageMemoryRequirements2; + vma_vulkan_func.vkBindBufferMemory2KHR = vkBindBufferMemory2; + vma_vulkan_func.vkBindImageMemory2KHR = vkBindImageMemory2; + vma_vulkan_func.vkGetPhysicalDeviceMemoryProperties2KHR = vkGetPhysicalDeviceMemoryProperties2; + + VmaAllocatorCreateInfo allocatorCreateInfo{}; + allocatorCreateInfo.vulkanApiVersion = VK_API_VERSION_1_2; + allocatorCreateInfo.physicalDevice = Render_Core::get().getDevice().getPhysicalDevice(); + allocatorCreateInfo.device = Render_Core::get().getDevice().get(); + allocatorCreateInfo.instance = Render_Core::get().getInstance().get(); + allocatorCreateInfo.pVulkanFunctions = &vma_vulkan_func; + + if(vmaCreateAllocator(&allocatorCreateInfo, &_allocator) != VK_SUCCESS) + core::error::report(e_kind::fatal_error, "Vulkan : failed to create graphics memory allocator"); + #ifdef DEBUG + core::error::report(e_kind::message, "Vulkan : created new allocator"); + #endif + } + + VmaAllocation GPUallocator::createBuffer(const VkBufferCreateInfo* binfo, const VmaAllocationCreateInfo* vinfo, VkBuffer& buffer, const char* name) noexcept + { + VmaAllocation allocation; + if(vmaCreateBuffer(_allocator, binfo, vinfo, &buffer, &allocation, nullptr) != VK_SUCCESS) + core::error::report(e_kind::fatal_error, "Vulkan : failed to allocate a buffer"); + if(name != nullptr) + vmaSetAllocationName(_allocator, allocation, name); + #ifdef DEBUG + core::error::report(e_kind::message, "Graphics Allocator : created new buffer"); + #endif + return allocation; + } + + void GPUallocator::destroyBuffer(VmaAllocation allocation, VkBuffer buffer) noexcept + { + vkDeviceWaitIdle(Render_Core::get().getDevice().get()); + vmaDestroyBuffer(_allocator, buffer, allocation); + #ifdef DEBUG + core::error::report(e_kind::message, "Graphics Allocator : destroyed buffer"); + #endif + } + + VmaAllocation GPUallocator::createImage(const VkImageCreateInfo* iminfo, const VmaAllocationCreateInfo* vinfo, VkImage& image, const char* name) noexcept + { + VmaAllocation allocation; + if(vmaCreateImage(_allocator, iminfo, vinfo, &image, &allocation, nullptr) != VK_SUCCESS) + core::error::report(e_kind::fatal_error, "Vulkan : failed to allocate an image"); + if(name != nullptr) + vmaSetAllocationName(_allocator, allocation, name); + #ifdef DEBUG + core::error::report(e_kind::message, "Graphics Allocator : created new image"); + #endif + return allocation; + } + + void GPUallocator::destroyImage(VmaAllocation allocation, VkImage image) noexcept + { + vkDeviceWaitIdle(Render_Core::get().getDevice().get()); + vmaDestroyImage(_allocator, image, allocation); + #ifdef DEBUG + core::error::report(e_kind::message, "Graphics Allocator : destroyed image"); + #endif + } + + void GPUallocator::mapMemory(VmaAllocation allocation, void** data) noexcept + { + if(vmaMapMemory(_allocator, allocation, data) != VK_SUCCESS) + core::error::report(e_kind::fatal_error, "Graphics allocator : unable to map GPU memory to CPU memory"); + } + + void GPUallocator::unmapMemory(VmaAllocation allocation) noexcept + { + vmaUnmapMemory(_allocator, allocation); + } + + void GPUallocator::dumpMemoryToJson() + { + static uint32_t id = 0; + std::string name("memory_dump"); + name.append(std::to_string(id) + ".json"); + std::ofstream file(name); + if(!file.is_open()) + { + core::error::report(e_kind::error, "Graphics allocator : unable to dump memory to a json file"); + return; + } + char* str = nullptr; + vmaBuildStatsString(_allocator, &str, true); + file << str; + vmaFreeStatsString(_allocator, str); + file.close(); + id++; + } + + void GPUallocator::flush(VmaAllocation allocation, VkDeviceSize size, VkDeviceSize offset) noexcept + { + vmaFlushAllocation(_allocator, allocation, offset, size); + } + + void GPUallocator::destroy() noexcept + { + vmaDestroyAllocator(_allocator); + } +} diff --git a/MacroLibX/src/renderer/core/memory.h b/MacroLibX/src/renderer/core/memory.h new file mode 100644 index 0000000..671a90b --- /dev/null +++ b/MacroLibX/src/renderer/core/memory.h @@ -0,0 +1,50 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* memory.h :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: maldavid +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* Created: 2023/10/20 02:13:03 by maldavid #+# #+# */ +/* Updated: 2023/12/08 19:07:34 by kbz_8 ### ########.fr */ +/* */ +/* ************************************************************************** */ + +#ifndef __MLX_VK_MEMORY__ +#define __MLX_VK_MEMORY__ + +#include +#include +#include + +namespace mlx +{ + class GPUallocator + { + public: + GPUallocator() = default; + + void init() noexcept; + void destroy() noexcept; + + VmaAllocation createBuffer(const VkBufferCreateInfo* binfo, const VmaAllocationCreateInfo* vinfo, VkBuffer& buffer, const char* name = nullptr) noexcept; + void destroyBuffer(VmaAllocation allocation, VkBuffer buffer) noexcept; + + VmaAllocation createImage(const VkImageCreateInfo* iminfo, const VmaAllocationCreateInfo* vinfo, VkImage& image, const char* name = nullptr) noexcept; + void destroyImage(VmaAllocation allocation, VkImage image) noexcept; + + void mapMemory(VmaAllocation allocation, void** data) noexcept; + void unmapMemory(VmaAllocation allocation) noexcept; + + void dumpMemoryToJson(); + + void flush(VmaAllocation allocation, VkDeviceSize size, VkDeviceSize offset) noexcept; + + ~GPUallocator() = default; + + private: + VmaAllocator _allocator; + }; +} + +#endif diff --git a/MacroLibX/src/renderer/core/render_core.cpp b/MacroLibX/src/renderer/core/render_core.cpp new file mode 100644 index 0000000..aa8ec23 --- /dev/null +++ b/MacroLibX/src/renderer/core/render_core.cpp @@ -0,0 +1,82 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* render_core.cpp :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: maldavid +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* Created: 2022/12/17 23:33:34 by maldavid #+# #+# */ +/* Updated: 2023/11/20 12:04:51 by maldavid ### ########.fr */ +/* */ +/* ************************************************************************** */ + +#define VOLK_IMPLEMENTATION + +#if defined(_WIN32) || defined(_WIN64) + #define VK_USE_PLATFORM_WIN32_KHR +#elif defined(__APPLE__) || defined(__MACH__) + #define VK_USE_PLATFORM_MACOS_MVK +#else + #define VK_USE_PLATFORM_XLIB_KHR +#endif + +#include "render_core.h" +#include + +#ifdef DEBUG + #ifndef MLX_COMPILER_MSVC + #warning "MLX is being compiled in debug mode, this activates Vulkan's validation layers and debug messages which may impact rendering performances" + #else + #pragma NOTE("MLX is being compiled in debug mode, this activates Vulkan's validation layers and debug messages which may impact rendering performances") + #endif +#endif + +namespace mlx +{ + namespace RCore + { + std::optional findMemoryType(uint32_t typeFilter, VkMemoryPropertyFlags properties, bool error) + { + VkPhysicalDeviceMemoryProperties memProperties; + vkGetPhysicalDeviceMemoryProperties(Render_Core::get().getDevice().getPhysicalDevice(), &memProperties); + + for(uint32_t i = 0; i < memProperties.memoryTypeCount; i++) + { + if((typeFilter & (1 << i)) && (memProperties.memoryTypes[i].propertyFlags & properties) == properties) + return i; + } + if(error) + core::error::report(e_kind::fatal_error, "Vulkan : failed to find suitable memory type"); + return std::nullopt; + } + } + + void Render_Core::init() + { + volkInitialize(); + + _instance.init(); + volkLoadInstance(_instance.get()); + _layers.init(); + _device.init(); + volkLoadDevice(_device.get()); + _queues.init(); + _allocator.init(); + _is_init = true; + } + + void Render_Core::destroy() + { + if(!_is_init) + return; + + vkDeviceWaitIdle(_device()); + + _allocator.destroy(); + _device.destroy(); + _layers.destroy(); + _instance.destroy(); + + _is_init = false; + } +} diff --git a/MacroLibX/src/renderer/core/render_core.h b/MacroLibX/src/renderer/core/render_core.h new file mode 100644 index 0000000..8319cca --- /dev/null +++ b/MacroLibX/src/renderer/core/render_core.h @@ -0,0 +1,72 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* render_core.h :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: maldavid +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* Created: 2022/10/08 19:16:32 by maldavid #+# #+# */ +/* Updated: 2023/12/08 18:53:36 by kbz_8 ### ########.fr */ +/* */ +/* ************************************************************************** */ + +#ifndef __MLX_RENDER_CORE__ +#define __MLX_RENDER_CORE__ + +#include +#include + +#include "vk_queues.h" +#include "vk_device.h" +#include "vk_instance.h" +#include "vk_validation_layers.h" +#include "memory.h" + +#include +#include +#include + +namespace mlx +{ + namespace RCore + { + std::optional findMemoryType(uint32_t typeFilter, VkMemoryPropertyFlags properties, bool error = true); + } + + #ifdef DEBUG + constexpr const bool enableValidationLayers = true; + #else + constexpr const bool enableValidationLayers = false; + #endif + + const std::vector validationLayers = { "VK_LAYER_KHRONOS_validation" }; + + constexpr const int MAX_FRAMES_IN_FLIGHT = 3; + + class Render_Core : public Singleton + { + public: + Render_Core() = default; + + void init(); + void destroy(); + + inline Instance& getInstance() noexcept { return _instance; } + inline Device& getDevice() noexcept { return _device; } + inline Queues& getQueue() noexcept { return _queues; } + inline GPUallocator& getAllocator() noexcept { return _allocator; } + inline ValidationLayers& getLayers() noexcept { return _layers; } + + ~Render_Core() = default; + + private: + ValidationLayers _layers; + Queues _queues; + Device _device; + Instance _instance; + GPUallocator _allocator; + bool _is_init = false; + }; +} + +#endif // __MLX_RENDER_CORE__ diff --git a/MacroLibX/src/renderer/core/vk_device.cpp b/MacroLibX/src/renderer/core/vk_device.cpp new file mode 100644 index 0000000..08ed842 --- /dev/null +++ b/MacroLibX/src/renderer/core/vk_device.cpp @@ -0,0 +1,159 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* vk_device.cpp :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: maldavid +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* Created: 2022/10/08 19:14:29 by maldavid #+# #+# */ +/* Updated: 2023/11/18 17:22:02 by maldavid ### ########.fr */ +/* */ +/* ************************************************************************** */ + +#include "render_core.h" +#include +#include +#include +#include +#include +#include + +namespace mlx +{ + const std::vector deviceExtensions = {VK_KHR_SWAPCHAIN_EXTENSION_NAME}; + + void Device::init() + { + pickPhysicalDevice(); + + Queues::QueueFamilyIndices indices = Render_Core::get().getQueue().getFamilies(); + + std::vector queueCreateInfos; + std::set uniqueQueueFamilies = { indices.graphicsFamily.value(), indices.presentFamily.value() }; + + float queuePriority = 1.0f; + for(uint32_t queueFamily : uniqueQueueFamilies) + { + VkDeviceQueueCreateInfo queueCreateInfo{}; + queueCreateInfo.sType = VK_STRUCTURE_TYPE_DEVICE_QUEUE_CREATE_INFO; + queueCreateInfo.queueFamilyIndex = queueFamily; + queueCreateInfo.queueCount = 1; + queueCreateInfo.pQueuePriorities = &queuePriority; + queueCreateInfos.push_back(queueCreateInfo); + } + + VkPhysicalDeviceFeatures deviceFeatures{}; + + VkDeviceCreateInfo createInfo{}; + createInfo.sType = VK_STRUCTURE_TYPE_DEVICE_CREATE_INFO; + + createInfo.queueCreateInfoCount = static_cast(queueCreateInfos.size()); + createInfo.pQueueCreateInfos = queueCreateInfos.data(); + + createInfo.pEnabledFeatures = &deviceFeatures; + + createInfo.enabledExtensionCount = static_cast(deviceExtensions.size()); + createInfo.ppEnabledExtensionNames = deviceExtensions.data(); + createInfo.enabledLayerCount = 0; + + if(vkCreateDevice(_physicalDevice, &createInfo, nullptr, &_device) != VK_SUCCESS) + core::error::report(e_kind::fatal_error, "Vulkan : failed to create logcal device"); + #ifdef DEBUG + core::error::report(e_kind::message, "Vulkan : created new logical device"); + #endif + } + + void Device::pickPhysicalDevice() + { + uint32_t deviceCount = 0; + vkEnumeratePhysicalDevices(Render_Core::get().getInstance().get(), &deviceCount, nullptr); + + if(deviceCount == 0) + core::error::report(e_kind::fatal_error, "Vulkan : failed to find GPUs with Vulkan support"); + + std::vector devices(deviceCount); + vkEnumeratePhysicalDevices(Render_Core::get().getInstance().get(), &deviceCount, devices.data()); + + SDL_Window* window = SDL_CreateWindow("", 0, 0, 1, 1, SDL_WINDOW_VULKAN | SDL_WINDOW_HIDDEN); + if(!window) + core::error::report(e_kind::fatal_error, "Vulkan : failed to create a window to pick physical device"); + + VkSurfaceKHR surface = VK_NULL_HANDLE; + if(SDL_Vulkan_CreateSurface(window, Render_Core::get().getInstance().get(), &surface) != SDL_TRUE) + core::error::report(e_kind::fatal_error, "Vulkan : failed to create a surface to pick physical device"); + + std::vector> devices_score; + + for(const auto& device : devices) + devices_score.emplace_back(deviceScore(device, surface), device); + + vkDestroySurfaceKHR(Render_Core::get().getInstance().get(), surface, nullptr); + SDL_DestroyWindow(window); + + using device_pair = std::pair; + std::sort(devices_score.begin(), devices_score.end(), [](const device_pair& a, const device_pair& b) + { + return a.first > b.first; + }); + + if(devices_score.front().first > 0) + _physicalDevice = devices_score.front().second; + + if(_physicalDevice == VK_NULL_HANDLE) + core::error::report(e_kind::fatal_error, "Vulkan : failed to find a suitable GPU"); + #ifdef DEBUG + VkPhysicalDeviceProperties props; + vkGetPhysicalDeviceProperties(_physicalDevice, &props); + core::error::report(e_kind::message, "Vulkan : picked a physical device, %s", props.deviceName); + #endif + } + + int Device::deviceScore(VkPhysicalDevice device, VkSurfaceKHR surface) + { + Queues::QueueFamilyIndices indices = Render_Core::get().getQueue().findQueueFamilies(device, surface); + bool extensionsSupported = checkDeviceExtensionSupport(device); + + uint32_t formatCount = 0; + if(extensionsSupported) + vkGetPhysicalDeviceSurfaceFormatsKHR(device, surface, &formatCount, nullptr); + + VkPhysicalDeviceProperties props; + vkGetPhysicalDeviceProperties(device, &props); + if(!indices.isComplete() || !extensionsSupported || formatCount == 0) + return -1; + + int score = 0; + #ifndef FORCE_INTEGRATED_GPU + if(props.deviceType == VK_PHYSICAL_DEVICE_TYPE_DISCRETE_GPU) + score += 1000; + #else + if(props.deviceType != VK_PHYSICAL_DEVICE_TYPE_INTEGRATED_GPU) + return -1; + #endif + score += props.limits.maxImageDimension2D; + score += props.limits.maxBoundDescriptorSets; + return score; + } + + bool Device::checkDeviceExtensionSupport(VkPhysicalDevice device) + { + uint32_t extensionCount; + vkEnumerateDeviceExtensionProperties(device, nullptr, &extensionCount, nullptr); + + std::vector availableExtensions(extensionCount); + vkEnumerateDeviceExtensionProperties(device, nullptr, &extensionCount, availableExtensions.data()); + + std::set requiredExtensions(deviceExtensions.begin(), deviceExtensions.end()); + + for(const auto& extension : availableExtensions) + requiredExtensions.erase(extension.extensionName); + + return requiredExtensions.empty(); + } + + void Device::destroy() noexcept + { + vkDestroyDevice(_device, nullptr); + _device = VK_NULL_HANDLE; + } +} diff --git a/MacroLibX/src/renderer/core/vk_device.h b/MacroLibX/src/renderer/core/vk_device.h new file mode 100644 index 0000000..c2353af --- /dev/null +++ b/MacroLibX/src/renderer/core/vk_device.h @@ -0,0 +1,44 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* vk_device.h :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: maldavid +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* Created: 2022/10/08 19:13:42 by maldavid #+# #+# */ +/* Updated: 2023/12/08 19:07:49 by kbz_8 ### ########.fr */ +/* */ +/* ************************************************************************** */ + +#ifndef __MLX_VK_DEVICE__ +#define __MLX_VK_DEVICE__ + +#include +#include "vk_queues.h" +#include + +namespace mlx +{ + class Device + { + public: + void init(); + void destroy() noexcept; + + inline VkDevice& operator()() noexcept { return _device; } + inline VkDevice& get() noexcept { return _device; } + + inline VkPhysicalDevice& getPhysicalDevice() noexcept { return _physicalDevice; } + + private: + void pickPhysicalDevice(); + bool checkDeviceExtensionSupport(VkPhysicalDevice device); + int deviceScore(VkPhysicalDevice device, VkSurfaceKHR surface); + + private: + VkPhysicalDevice _physicalDevice = VK_NULL_HANDLE; + VkDevice _device = VK_NULL_HANDLE; + }; +} + +#endif // __MLX_VK_DEVICE__ diff --git a/MacroLibX/src/renderer/core/vk_fence.cpp b/MacroLibX/src/renderer/core/vk_fence.cpp new file mode 100644 index 0000000..6ecb821 --- /dev/null +++ b/MacroLibX/src/renderer/core/vk_fence.cpp @@ -0,0 +1,49 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* vk_fence.cpp :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: maldavid +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* Created: 2023/04/02 17:53:06 by maldavid #+# #+# */ +/* Updated: 2023/11/18 17:07:21 by maldavid ### ########.fr */ +/* */ +/* ************************************************************************** */ + +#include + +namespace mlx +{ + void Fence::init() + { + VkSemaphoreCreateInfo semaphoreInfo{}; + semaphoreInfo.sType = VK_STRUCTURE_TYPE_SEMAPHORE_CREATE_INFO; + + VkFenceCreateInfo fenceInfo{}; + fenceInfo.sType = VK_STRUCTURE_TYPE_FENCE_CREATE_INFO; + fenceInfo.flags = VK_FENCE_CREATE_SIGNALED_BIT; + + if(vkCreateFence(Render_Core::get().getDevice().get(), &fenceInfo, nullptr, &_fence) != VK_SUCCESS) + core::error::report(e_kind::fatal_error, "Vulkan : failed to create CPU synchronization object"); + #ifdef DEBUG + core::error::report(e_kind::message, "Vulkan : created new fence"); + #endif + } + + void Fence::wait() noexcept + { + vkWaitForFences(Render_Core::get().getDevice().get(), 1, &_fence, VK_TRUE, UINT64_MAX); + } + + void Fence::reset() noexcept + { + vkResetFences(Render_Core::get().getDevice().get(), 1, &_fence); + } + + void Fence::destroy() noexcept + { + if(_fence != VK_NULL_HANDLE) + vkDestroyFence(Render_Core::get().getDevice().get(), _fence, nullptr); + _fence = VK_NULL_HANDLE; + } +} diff --git a/MacroLibX/src/renderer/core/vk_fence.h b/MacroLibX/src/renderer/core/vk_fence.h new file mode 100644 index 0000000..342ce78 --- /dev/null +++ b/MacroLibX/src/renderer/core/vk_fence.h @@ -0,0 +1,43 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* vk_fence.h :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: maldavid +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* Created: 2023/04/02 17:52:09 by maldavid #+# #+# */ +/* Updated: 2023/12/08 19:08:01 by kbz_8 ### ########.fr */ +/* */ +/* ************************************************************************** */ + +#ifndef __MLX_VK_FENCE__ +#define __MLX_VK_FENCE__ + +#include +#include +#include + +namespace mlx +{ + class Fence + { + public: + Fence() = default; + + void init(); + + inline VkFence& get() noexcept { return _fence; } + void wait() noexcept; + void reset() noexcept; + inline void waitAndReset() noexcept { wait(); reset(); } + + void destroy() noexcept; + + ~Fence() = default; + + private: + VkFence _fence = VK_NULL_HANDLE; + }; +} + +#endif diff --git a/MacroLibX/src/renderer/core/vk_instance.cpp b/MacroLibX/src/renderer/core/vk_instance.cpp new file mode 100644 index 0000000..226505c --- /dev/null +++ b/MacroLibX/src/renderer/core/vk_instance.cpp @@ -0,0 +1,93 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* vk_instance.cpp :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: maldavid +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* Created: 2022/10/08 19:04:21 by maldavid #+# #+# */ +/* Updated: 2023/11/18 17:21:42 by maldavid ### ########.fr */ +/* */ +/* ************************************************************************** */ + +#include "vk_instance.h" +#include "render_core.h" +#include +#include + +namespace mlx +{ + void Instance::init() + { + VkApplicationInfo appInfo{}; + appInfo.sType = VK_STRUCTURE_TYPE_APPLICATION_INFO; + appInfo.pApplicationName = "MacroLibX"; + appInfo.applicationVersion = VK_MAKE_VERSION(1, 0, 0); + appInfo.pEngineName = "MacroLibX"; + appInfo.engineVersion = VK_MAKE_VERSION(1, 0, 0); + appInfo.apiVersion = VK_API_VERSION_1_2; + + VkInstanceCreateInfo createInfo{}; + createInfo.sType = VK_STRUCTURE_TYPE_INSTANCE_CREATE_INFO; + createInfo.pApplicationInfo = &appInfo; + + auto extensions = getRequiredExtensions(); + createInfo.enabledExtensionCount = static_cast(extensions.size()); + createInfo.ppEnabledExtensionNames = extensions.data(); + + VkDebugUtilsMessengerCreateInfoEXT debugCreateInfo; + if constexpr(enableValidationLayers) + { + if(Render_Core::get().getLayers().checkValidationLayerSupport()) + { + createInfo.enabledLayerCount = static_cast(validationLayers.size()); + createInfo.ppEnabledLayerNames = validationLayers.data(); + Render_Core::get().getLayers().populateDebugMessengerCreateInfo(debugCreateInfo); + createInfo.pNext = (VkDebugUtilsMessengerCreateInfoEXT*) &debugCreateInfo; + } + } + else + { + createInfo.enabledLayerCount = 0; + createInfo.pNext = nullptr; + } + + VkResult res; + if((res = vkCreateInstance(&createInfo, nullptr, &_instance)) != VK_SUCCESS) + core::error::report(e_kind::fatal_error, "Vulkan : failed to create Vulkan instance"); + volkLoadInstance(_instance); + #ifdef DEBUG + core::error::report(e_kind::message, "Vulkan : created new instance"); + #endif + } + + std::vector Instance::getRequiredExtensions() + { + unsigned int count = 0; + SDL_Window* window = SDL_CreateWindow("", 0, 0, 1, 1, SDL_WINDOW_VULKAN | SDL_WINDOW_HIDDEN); + if(!window) + core::error::report(e_kind::fatal_error, "Vulkan : cannot get instance extentions from window : %s", SDL_GetError()); + + if(!SDL_Vulkan_GetInstanceExtensions(window, &count, nullptr)) + core::error::report(e_kind::fatal_error, "Vulkan : cannot get instance extentions from window : %s", SDL_GetError()); + + std::vector extensions = { VK_EXT_DEBUG_REPORT_EXTENSION_NAME }; + size_t additional_extension_count = extensions.size(); + extensions.resize(additional_extension_count + count); + + if(!SDL_Vulkan_GetInstanceExtensions(window, &count, extensions.data() + additional_extension_count)) + core::error::report(e_kind::error, "Vulkan : cannot get instance extentions from window : %s", SDL_GetError()); + + if constexpr(enableValidationLayers) + extensions.push_back(VK_EXT_DEBUG_UTILS_EXTENSION_NAME); + + SDL_DestroyWindow(window); + return extensions; + } + + void Instance::destroy() noexcept + { + vkDestroyInstance(_instance, nullptr); + _instance = VK_NULL_HANDLE; + } +} diff --git a/MacroLibX/src/renderer/core/vk_instance.h b/MacroLibX/src/renderer/core/vk_instance.h new file mode 100644 index 0000000..d5de82d --- /dev/null +++ b/MacroLibX/src/renderer/core/vk_instance.h @@ -0,0 +1,37 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* vk_instance.h :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: maldavid +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* Created: 2022/10/08 19:03:04 by maldavid #+# #+# */ +/* Updated: 2023/12/08 19:08:14 by kbz_8 ### ########.fr */ +/* */ +/* ************************************************************************** */ + +#ifndef __MLX_VK_INSTANCE__ +#define __MLX_VK_INSTANCE__ + +#include +#include +#include + +namespace mlx +{ + class Instance + { + public: + void init(); + void destroy() noexcept; + + inline VkInstance& operator()() noexcept { return _instance; } + inline VkInstance& get() noexcept { return _instance; } + + private: + std::vector getRequiredExtensions(); + VkInstance _instance = VK_NULL_HANDLE; + }; +} + +#endif // __MLX_VK_INSTANCE__ diff --git a/MacroLibX/src/renderer/core/vk_queues.cpp b/MacroLibX/src/renderer/core/vk_queues.cpp new file mode 100644 index 0000000..937cc25 --- /dev/null +++ b/MacroLibX/src/renderer/core/vk_queues.cpp @@ -0,0 +1,68 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* vk_queues.cpp :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: maldavid +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* Created: 2022/10/08 19:02:42 by maldavid #+# #+# */ +/* Updated: 2022/12/18 22:52:04 by maldavid ### ########.fr */ +/* */ +/* ************************************************************************** */ + +#include "render_core.h" +#include +#include + +namespace mlx +{ + Queues::QueueFamilyIndices Queues::findQueueFamilies(VkPhysicalDevice device, VkSurfaceKHR surface) + { + uint32_t queueFamilyCount = 0; + vkGetPhysicalDeviceQueueFamilyProperties(device, &queueFamilyCount, nullptr); + + std::vector queueFamilies(queueFamilyCount); + vkGetPhysicalDeviceQueueFamilyProperties(device, &queueFamilyCount, queueFamilies.data()); + + _families = Queues::QueueFamilyIndices{}; + int i = 0; + for(const auto& queueFamily : queueFamilies) + { + if(queueFamily.queueFlags & VK_QUEUE_GRAPHICS_BIT) + _families->graphicsFamily = i; + + VkBool32 presentSupport = false; + vkGetPhysicalDeviceSurfaceSupportKHR(device, i, surface, &presentSupport); + + if(presentSupport) + _families->presentFamily = i; + + if(_families->isComplete()) + break; + i++; + } + + return *_families; + } + + void Queues::init() + { + if(!_families.has_value()) + { + SDL_Window* window = SDL_CreateWindow("", 0, 0, 1, 1, SDL_WINDOW_VULKAN | SDL_WINDOW_HIDDEN); + if(!window) + core::error::report(e_kind::fatal_error, "Vulkan : failed to create a window to init queues"); + + VkSurfaceKHR surface = VK_NULL_HANDLE; + if(SDL_Vulkan_CreateSurface(window, Render_Core::get().getInstance().get(), &surface) != SDL_TRUE) + core::error::report(e_kind::fatal_error, "Vulkan : failed to create a surface to init queues"); + + findQueueFamilies(Render_Core::get().getDevice().getPhysicalDevice(), surface); + + vkDestroySurfaceKHR(Render_Core::get().getInstance().get(), surface, nullptr); + SDL_DestroyWindow(window); + } + vkGetDeviceQueue(Render_Core::get().getDevice().get(), _families->graphicsFamily.value(), 0, &_graphicsQueue); + vkGetDeviceQueue(Render_Core::get().getDevice().get(), _families->presentFamily.value(), 0, &_presentQueue); + } +} diff --git a/MacroLibX/src/renderer/core/vk_queues.h b/MacroLibX/src/renderer/core/vk_queues.h new file mode 100644 index 0000000..1716999 --- /dev/null +++ b/MacroLibX/src/renderer/core/vk_queues.h @@ -0,0 +1,49 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* vk_queues.h :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: maldavid +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* Created: 2022/10/08 19:01:49 by maldavid #+# #+# */ +/* Updated: 2023/12/08 19:08:25 by kbz_8 ### ########.fr */ +/* */ +/* ************************************************************************** */ + +#ifndef __MLX_VK_QUEUES__ +#define __MLX_VK_QUEUES__ + +#include +#include +#include +#include + +namespace mlx +{ + class Queues + { + public: + struct QueueFamilyIndices + { + std::optional graphicsFamily; + std::optional presentFamily; + + inline bool isComplete() { return graphicsFamily.has_value() && presentFamily.has_value(); } + }; + + QueueFamilyIndices findQueueFamilies(VkPhysicalDevice device, VkSurfaceKHR surface); + + void init(); + + inline VkQueue& getGraphic() noexcept { return _graphicsQueue; } + inline VkQueue& getPresent() noexcept { return _presentQueue; } + inline QueueFamilyIndices getFamilies() noexcept { return *_families; } + + private: + VkQueue _graphicsQueue; + VkQueue _presentQueue; + std::optional _families; + }; +} + +#endif // __MLX_VK_QUEUES__ diff --git a/MacroLibX/src/renderer/core/vk_semaphore.cpp b/MacroLibX/src/renderer/core/vk_semaphore.cpp new file mode 100644 index 0000000..00f2b07 --- /dev/null +++ b/MacroLibX/src/renderer/core/vk_semaphore.cpp @@ -0,0 +1,39 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* vk_semaphore.cpp :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: maldavid +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* Created: 2022/10/08 19:01:08 by maldavid #+# #+# */ +/* Updated: 2023/11/18 17:22:29 by maldavid ### ########.fr */ +/* */ +/* ************************************************************************** */ + +#include "vk_semaphore.h" +#include "render_core.h" +#include + +namespace mlx +{ + void Semaphore::init() + { + VkSemaphoreCreateInfo semaphoreInfo{}; + semaphoreInfo.sType = VK_STRUCTURE_TYPE_SEMAPHORE_CREATE_INFO; + + if( vkCreateSemaphore(Render_Core::get().getDevice().get(), &semaphoreInfo, nullptr, &_imageAvailableSemaphores) != VK_SUCCESS || + vkCreateSemaphore(Render_Core::get().getDevice().get(), &semaphoreInfo, nullptr, &_renderFinishedSemaphores) != VK_SUCCESS) + core::error::report(e_kind::fatal_error, "Vulkan : failed to create GPU synchronization object"); + #ifdef DEBUG + core::error::report(e_kind::message, "Vulkan : created new semaphore"); + #endif + } + + void Semaphore::destroy() noexcept + { + vkDestroySemaphore(Render_Core::get().getDevice().get(), _renderFinishedSemaphores, nullptr); + _renderFinishedSemaphores = VK_NULL_HANDLE; + vkDestroySemaphore(Render_Core::get().getDevice().get(), _imageAvailableSemaphores, nullptr); + _imageAvailableSemaphores = VK_NULL_HANDLE; + } +} diff --git a/MacroLibX/src/renderer/core/vk_semaphore.h b/MacroLibX/src/renderer/core/vk_semaphore.h new file mode 100644 index 0000000..9ae964f --- /dev/null +++ b/MacroLibX/src/renderer/core/vk_semaphore.h @@ -0,0 +1,37 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* vk_semaphore.h :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: maldavid +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* Created: 2022/10/08 18:59:38 by maldavid #+# #+# */ +/* Updated: 2023/12/08 19:08:36 by kbz_8 ### ########.fr */ +/* */ +/* ************************************************************************** */ + +#ifndef __MLX_VK_SEMAPHORE__ +#define __MLX_VK_SEMAPHORE__ + +#include +#include +#include + +namespace mlx +{ + class Semaphore + { + public: + void init(); + void destroy() noexcept; + + inline VkSemaphore& getImageSemaphore() noexcept { return _imageAvailableSemaphores; } + inline VkSemaphore& getRenderImageSemaphore() noexcept { return _renderFinishedSemaphores; } + + private: + VkSemaphore _imageAvailableSemaphores = VK_NULL_HANDLE; + VkSemaphore _renderFinishedSemaphores = VK_NULL_HANDLE; + }; +} + +#endif // __MLX_VK_SEMAPHORE__ diff --git a/MacroLibX/src/renderer/core/vk_surface.cpp b/MacroLibX/src/renderer/core/vk_surface.cpp new file mode 100644 index 0000000..fdc027c --- /dev/null +++ b/MacroLibX/src/renderer/core/vk_surface.cpp @@ -0,0 +1,46 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* vk_surface.cpp :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: maldavid +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* Created: 2022/10/08 18:58:49 by maldavid #+# #+# */ +/* Updated: 2023/11/18 17:22:38 by maldavid ### ########.fr */ +/* */ +/* ************************************************************************** */ + +#include "render_core.h" +#include +#include +#include +#include + +namespace mlx +{ + void Surface::create(Renderer& renderer) + { + if(SDL_Vulkan_CreateSurface(renderer.getWindow()->getNativeWindow(), Render_Core::get().getInstance().get(), &_surface) != SDL_TRUE) + core::error::report(e_kind::fatal_error, "Vulkan : failed to create a surface : %s", SDL_GetError()); + #ifdef DEBUG + core::error::report(e_kind::message, "Vulkan : created new surface"); + #endif + } + + VkSurfaceFormatKHR Surface::chooseSwapSurfaceFormat(const std::vector& availableFormats) + { + for(const auto& availableFormat : availableFormats) + { + if(availableFormat.format == VK_FORMAT_R8G8B8A8_SRGB && availableFormat.colorSpace == VK_COLOR_SPACE_SRGB_NONLINEAR_KHR) + return availableFormat; + } + + return availableFormats[0]; + } + + void Surface::destroy() noexcept + { + vkDestroySurfaceKHR(Render_Core::get().getInstance().get(), _surface, nullptr); + _surface = VK_NULL_HANDLE; + } +} diff --git a/MacroLibX/src/renderer/core/vk_surface.h b/MacroLibX/src/renderer/core/vk_surface.h new file mode 100644 index 0000000..24dd3ec --- /dev/null +++ b/MacroLibX/src/renderer/core/vk_surface.h @@ -0,0 +1,38 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* vk_surface.h :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: maldavid +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* Created: 2022/10/08 18:57:55 by maldavid #+# #+# */ +/* Updated: 2023/12/08 19:08:49 by kbz_8 ### ########.fr */ +/* */ +/* ************************************************************************** */ + +#ifndef __MLX_VK_SURFACE__ +#define __MLX_VK_SURFACE__ + +#include +#include +#include + +namespace mlx +{ + class Surface + { + public: + void create(class Renderer& renderer); + void destroy() noexcept; + + VkSurfaceFormatKHR chooseSwapSurfaceFormat(const std::vector& availableFormats); + + inline VkSurfaceKHR& operator()() noexcept { return _surface; } + inline VkSurfaceKHR& get() noexcept { return _surface; } + + private: + VkSurfaceKHR _surface = VK_NULL_HANDLE; + }; +} + +#endif // __MLX_VK_SURFACE__ diff --git a/MacroLibX/src/renderer/core/vk_validation_layers.cpp b/MacroLibX/src/renderer/core/vk_validation_layers.cpp new file mode 100644 index 0000000..9060c83 --- /dev/null +++ b/MacroLibX/src/renderer/core/vk_validation_layers.cpp @@ -0,0 +1,109 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* vk_validation_layers.cpp :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: maldavid +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* Created: 2022/12/19 14:05:25 by maldavid #+# #+# */ +/* Updated: 2023/11/20 07:21:57 by maldavid ### ########.fr */ +/* */ +/* ************************************************************************** */ + +#include "vk_validation_layers.h" +#include "render_core.h" + +#include +#include +#include + +namespace mlx +{ + void ValidationLayers::init() + { + if constexpr(!enableValidationLayers) + return; + + VkDebugUtilsMessengerCreateInfoEXT createInfo; + populateDebugMessengerCreateInfo(createInfo); + if(createDebugUtilsMessengerEXT(&createInfo, nullptr) != VK_SUCCESS) + core::error::report(e_kind::error, "Vulkan : failed to set up debug messenger"); + #ifdef DEBUG + else + core::error::report(e_kind::message, "Vulkan : enabled validation layers"); + #endif + } + + bool ValidationLayers::checkValidationLayerSupport() + { + uint32_t layerCount; + vkEnumerateInstanceLayerProperties(&layerCount, nullptr); + + std::vector availableLayers(layerCount); + vkEnumerateInstanceLayerProperties(&layerCount, availableLayers.data()); + + for(const char* layerName : validationLayers) + { + bool layerFound = false; + + for(const auto& layerProperties : availableLayers) + { + if(std::strcmp(layerName, layerProperties.layerName) == 0) + { + layerFound = true; + break; + } + } + + if(!layerFound) + return false; + } + return true; + } + + void ValidationLayers::destroy() + { + if constexpr(!enableValidationLayers) + return; + destroyDebugUtilsMessengerEXT(nullptr); + } + + VkResult ValidationLayers::createDebugUtilsMessengerEXT(const VkDebugUtilsMessengerCreateInfoEXT* pCreateInfo, const VkAllocationCallbacks* pAllocator) + { + auto func = (PFN_vkCreateDebugUtilsMessengerEXT)vkGetInstanceProcAddr(Render_Core::get().getInstance().get(), "vkCreateDebugUtilsMessengerEXT"); + return func != nullptr ? func(Render_Core::get().getInstance().get(), pCreateInfo, pAllocator, &_debugMessenger) : VK_ERROR_EXTENSION_NOT_PRESENT; + } + + void ValidationLayers::populateDebugMessengerCreateInfo(VkDebugUtilsMessengerCreateInfoEXT& createInfo) + { + createInfo = {}; + createInfo.sType = VK_STRUCTURE_TYPE_DEBUG_UTILS_MESSENGER_CREATE_INFO_EXT; + createInfo.messageSeverity = VK_DEBUG_UTILS_MESSAGE_SEVERITY_VERBOSE_BIT_EXT | VK_DEBUG_UTILS_MESSAGE_SEVERITY_WARNING_BIT_EXT | VK_DEBUG_UTILS_MESSAGE_SEVERITY_ERROR_BIT_EXT; + createInfo.messageType = VK_DEBUG_UTILS_MESSAGE_TYPE_GENERAL_BIT_EXT | VK_DEBUG_UTILS_MESSAGE_TYPE_VALIDATION_BIT_EXT | VK_DEBUG_UTILS_MESSAGE_TYPE_PERFORMANCE_BIT_EXT; + createInfo.pfnUserCallback = ValidationLayers::debugCallback; + } + + VKAPI_ATTR VkBool32 VKAPI_CALL ValidationLayers::debugCallback(VkDebugUtilsMessageSeverityFlagBitsEXT messageSeverity, VkDebugUtilsMessageTypeFlagsEXT messageType, const VkDebugUtilsMessengerCallbackDataEXT* pCallbackData, void* pUserData) + { + if(messageSeverity == VK_DEBUG_UTILS_MESSAGE_SEVERITY_ERROR_BIT_EXT) + { + std::cout << '\n'; + core::error::report(e_kind::error, std::string("Vulkan layer error: ") + pCallbackData->pMessage); + } + else if(messageSeverity == VK_DEBUG_UTILS_MESSAGE_SEVERITY_WARNING_BIT_EXT) + { + std::cout << '\n'; + core::error::report(e_kind::warning, std::string("Vulkan layer warning: ") + pCallbackData->pMessage); + } + + return VK_FALSE; + } + + void ValidationLayers::destroyDebugUtilsMessengerEXT(const VkAllocationCallbacks* pAllocator) + { + auto func = (PFN_vkDestroyDebugUtilsMessengerEXT)vkGetInstanceProcAddr(Render_Core::get().getInstance().get(), "vkDestroyDebugUtilsMessengerEXT"); + if(func != nullptr) + func(Render_Core::get().getInstance().get(), _debugMessenger, pAllocator); + } + +} diff --git a/MacroLibX/src/renderer/core/vk_validation_layers.h b/MacroLibX/src/renderer/core/vk_validation_layers.h new file mode 100644 index 0000000..a956674 --- /dev/null +++ b/MacroLibX/src/renderer/core/vk_validation_layers.h @@ -0,0 +1,38 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* vk_validation_layers.h :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: maldavid +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* Created: 2022/12/19 14:04:25 by maldavid #+# #+# */ +/* Updated: 2023/12/08 19:09:02 by kbz_8 ### ########.fr */ +/* */ +/* ************************************************************************** */ + +#ifndef __VK_VALIDATION_LAYERS__ +#define __VK_VALIDATION_LAYERS__ + +#include +#include + +namespace mlx +{ + class ValidationLayers + { + public: + void init(); + void destroy(); + bool checkValidationLayerSupport(); + void populateDebugMessengerCreateInfo(VkDebugUtilsMessengerCreateInfoEXT& createInfo); + + private: + VkResult createDebugUtilsMessengerEXT(const VkDebugUtilsMessengerCreateInfoEXT* pCreateInfo, const VkAllocationCallbacks* pAllocator); + static VKAPI_ATTR VkBool32 VKAPI_CALL debugCallback(VkDebugUtilsMessageSeverityFlagBitsEXT messageSeverity, VkDebugUtilsMessageTypeFlagsEXT messageType, const VkDebugUtilsMessengerCallbackDataEXT* pCallbackData, void* pUserData); + void destroyDebugUtilsMessengerEXT(const VkAllocationCallbacks* pAllocator); + + VkDebugUtilsMessengerEXT _debugMessenger; + }; +} + +#endif diff --git a/MacroLibX/src/renderer/descriptors/vk_descriptor_pool.cpp b/MacroLibX/src/renderer/descriptors/vk_descriptor_pool.cpp new file mode 100644 index 0000000..95e2f6e --- /dev/null +++ b/MacroLibX/src/renderer/descriptors/vk_descriptor_pool.cpp @@ -0,0 +1,35 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* vk_descriptor_pool.cpp :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: maldavid +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* Created: 2023/01/23 18:34:23 by maldavid #+# #+# */ +/* Updated: 2023/11/18 17:23:05 by maldavid ### ########.fr */ +/* */ +/* ************************************************************************** */ + +#include "vk_descriptor_pool.h" +#include + +namespace mlx +{ + void DescriptorPool::init(std::size_t n, VkDescriptorPoolSize* size) + { + VkDescriptorPoolCreateInfo poolInfo{}; + poolInfo.sType = VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_CREATE_INFO; + poolInfo.poolSizeCount = n; + poolInfo.pPoolSizes = size; + poolInfo.maxSets = 8192; + + if(vkCreateDescriptorPool(Render_Core::get().getDevice().get(), &poolInfo, nullptr, &_pool) != VK_SUCCESS) + core::error::report(e_kind::fatal_error, "Vulkan : failed to create descriptor pool"); + } + + void DescriptorPool::destroy() noexcept + { + vkDestroyDescriptorPool(Render_Core::get().getDevice().get(), _pool, nullptr); + _pool = VK_NULL_HANDLE; + } +} diff --git a/MacroLibX/src/renderer/descriptors/vk_descriptor_pool.h b/MacroLibX/src/renderer/descriptors/vk_descriptor_pool.h new file mode 100644 index 0000000..7a97760 --- /dev/null +++ b/MacroLibX/src/renderer/descriptors/vk_descriptor_pool.h @@ -0,0 +1,36 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* vk_descriptor_pool.h :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: maldavid +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* Created: 2023/01/23 18:32:43 by maldavid #+# #+# */ +/* Updated: 2023/12/08 19:09:20 by kbz_8 ### ########.fr */ +/* */ +/* ************************************************************************** */ + +#ifndef __VK_DESCRIPTOR_POOL__ +#define __VK_DESCRIPTOR_POOL__ + +#include +#include +#include + +namespace mlx +{ + class DescriptorPool + { + public: + void init(std::size_t n, VkDescriptorPoolSize* size); + void destroy() noexcept; + + inline VkDescriptorPool& operator()() noexcept { return _pool; } + inline VkDescriptorPool& get() noexcept { return _pool; } + + private: + VkDescriptorPool _pool = VK_NULL_HANDLE; + }; +} + +#endif diff --git a/MacroLibX/src/renderer/descriptors/vk_descriptor_set.cpp b/MacroLibX/src/renderer/descriptors/vk_descriptor_set.cpp new file mode 100644 index 0000000..28bc816 --- /dev/null +++ b/MacroLibX/src/renderer/descriptors/vk_descriptor_set.cpp @@ -0,0 +1,105 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* vk_descriptor_set.cpp :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: maldavid +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* Created: 2023/01/23 18:40:44 by maldavid #+# #+# */ +/* Updated: 2023/12/07 20:00:13 by kbz_8 ### ########.fr */ +/* */ +/* ************************************************************************** */ + +#include "vk_descriptor_set.h" +#include "vk_descriptor_pool.h" +#include "vk_descriptor_set_layout.h" +#include +#include + +namespace mlx +{ + void DescriptorSet::init(Renderer* renderer, DescriptorPool* pool, DescriptorSetLayout* layout) + { + _renderer = renderer; + _layout = layout; + _pool = pool; + + auto device = Render_Core::get().getDevice().get(); + + std::array layouts; + layouts.fill(layout->get()); + + VkDescriptorSetAllocateInfo allocInfo{}; + allocInfo.sType = VK_STRUCTURE_TYPE_DESCRIPTOR_SET_ALLOCATE_INFO; + allocInfo.descriptorPool = _pool->get(); + allocInfo.descriptorSetCount = static_cast(MAX_FRAMES_IN_FLIGHT); + allocInfo.pSetLayouts = layouts.data(); + + if(vkAllocateDescriptorSets(device, &allocInfo, _desc_set.data()) != VK_SUCCESS) + core::error::report(e_kind::fatal_error, "Vulkan : failed to allocate descriptor set"); + #ifdef DEBUG + core::error::report(e_kind::message, "Vulkan : created new descriptor set"); + #endif + } + + void DescriptorSet::writeDescriptor(int binding, UBO* ubo) noexcept + { + auto device = Render_Core::get().getDevice().get(); + + for(int i = 0; i < MAX_FRAMES_IN_FLIGHT; i++) + { + VkDescriptorBufferInfo bufferInfo{}; + bufferInfo.buffer = ubo->get(i); + bufferInfo.offset = ubo->getOffset(i); + bufferInfo.range = ubo->getSize(i); + + VkWriteDescriptorSet descriptorWrite{}; + descriptorWrite.sType = VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET; + descriptorWrite.dstSet = _desc_set[i]; + descriptorWrite.dstBinding = binding; + descriptorWrite.dstArrayElement = 0; + descriptorWrite.descriptorType = VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER; + descriptorWrite.descriptorCount = 1; + descriptorWrite.pBufferInfo = &bufferInfo; + + vkUpdateDescriptorSets(device, 1, &descriptorWrite, 0, nullptr); + } + } + + void DescriptorSet::writeDescriptor(int binding, VkImageView view, VkSampler sampler) noexcept + { + auto device = Render_Core::get().getDevice().get(); + + VkDescriptorImageInfo imageInfo{}; + imageInfo.imageLayout = VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL; + imageInfo.imageView = view; + imageInfo.sampler = sampler; + + VkWriteDescriptorSet descriptorWrite{}; + descriptorWrite.sType = VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET; + descriptorWrite.dstSet = _desc_set[_renderer->getActiveImageIndex()]; + descriptorWrite.dstBinding = binding; + descriptorWrite.dstArrayElement = 0; + descriptorWrite.descriptorType = VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER; + descriptorWrite.descriptorCount = 1; + descriptorWrite.pImageInfo = &imageInfo; + + vkUpdateDescriptorSets(device, 1, &descriptorWrite, 0, nullptr); + } + + DescriptorSet DescriptorSet::duplicate() + { + DescriptorSet set; + set.init(_renderer, _pool, _layout); + return set; + } + + VkDescriptorSet& DescriptorSet::operator()() noexcept + { + return _desc_set[_renderer->getActiveImageIndex()]; + } + VkDescriptorSet& DescriptorSet::get() noexcept + { + return _desc_set[_renderer->getActiveImageIndex()]; + } +} diff --git a/MacroLibX/src/renderer/descriptors/vk_descriptor_set.h b/MacroLibX/src/renderer/descriptors/vk_descriptor_set.h new file mode 100644 index 0000000..d9c51d3 --- /dev/null +++ b/MacroLibX/src/renderer/descriptors/vk_descriptor_set.h @@ -0,0 +1,46 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* vk_descriptor_set.h :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: maldavid +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* Created: 2023/01/23 18:39:36 by maldavid #+# #+# */ +/* Updated: 2023/12/08 19:09:31 by kbz_8 ### ########.fr */ +/* */ +/* ************************************************************************** */ + +#ifndef __VK_DESCRIPTOR_SET__ +#define __VK_DESCRIPTOR_SET__ + +#include +#include +#include +#include + +namespace mlx +{ + class DescriptorSet + { + public: + void init(class Renderer* renderer, class DescriptorPool* pool, class DescriptorSetLayout* layout); + + void writeDescriptor(int binding, class UBO* ubo) noexcept; + void writeDescriptor(int binding, VkImageView view, VkSampler sampler) noexcept; + + inline bool isInit() noexcept { return _pool != nullptr && _renderer != nullptr; } + + DescriptorSet duplicate(); + + VkDescriptorSet& operator()() noexcept; + VkDescriptorSet& get() noexcept; + + private: + std::array _desc_set; + class DescriptorPool* _pool = nullptr; + class DescriptorSetLayout* _layout = nullptr; + class Renderer* _renderer = nullptr; + }; +} + +#endif diff --git a/MacroLibX/src/renderer/descriptors/vk_descriptor_set_layout.cpp b/MacroLibX/src/renderer/descriptors/vk_descriptor_set_layout.cpp new file mode 100644 index 0000000..eec18a0 --- /dev/null +++ b/MacroLibX/src/renderer/descriptors/vk_descriptor_set_layout.cpp @@ -0,0 +1,46 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* vk_descriptor_set_layout.cpp :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: maldavid +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* Created: 2023/01/23 18:37:28 by maldavid #+# #+# */ +/* Updated: 2023/11/18 17:23:16 by maldavid ### ########.fr */ +/* */ +/* ************************************************************************** */ + +#include "vk_descriptor_set_layout.h" +#include + +namespace mlx +{ + void DescriptorSetLayout::init(std::vector> binds, VkShaderStageFlagBits stage) + { + std::vector bindings(binds.size()); + for(int i = 0; i < binds.size(); i++) + { + bindings[i].binding = binds[i].first; + bindings[i].descriptorCount = 1; + bindings[i].descriptorType = binds[i].second; + bindings[i].pImmutableSamplers = nullptr; + bindings[i].stageFlags = stage; + } + + _bindings = std::move(binds); + + VkDescriptorSetLayoutCreateInfo layoutInfo{}; + layoutInfo.sType = VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_CREATE_INFO; + layoutInfo.bindingCount = _bindings.size(); + layoutInfo.pBindings = bindings.data(); + + if(vkCreateDescriptorSetLayout(Render_Core::get().getDevice().get(), &layoutInfo, nullptr, &_layout) != VK_SUCCESS) + core::error::report(e_kind::fatal_error, "Vulkan : failed to create descriptor set layout"); + } + + void DescriptorSetLayout::destroy() noexcept + { + vkDestroyDescriptorSetLayout(Render_Core::get().getDevice().get(), _layout, nullptr); + _layout = VK_NULL_HANDLE; + } +} diff --git a/MacroLibX/src/renderer/descriptors/vk_descriptor_set_layout.h b/MacroLibX/src/renderer/descriptors/vk_descriptor_set_layout.h new file mode 100644 index 0000000..23d2ef2 --- /dev/null +++ b/MacroLibX/src/renderer/descriptors/vk_descriptor_set_layout.h @@ -0,0 +1,40 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* vk_descriptor_set_layout.h :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: maldavid +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* Created: 2023/01/23 18:36:22 by maldavid #+# #+# */ +/* Updated: 2023/12/08 19:09:44 by kbz_8 ### ########.fr */ +/* */ +/* ************************************************************************** */ + +#ifndef __VK_DESCRIPTOR_SET_LAYOUT__ +#define __VK_DESCRIPTOR_SET_LAYOUT__ + +#include +#include +#include +#include +#include + +namespace mlx +{ + class DescriptorSetLayout + { + public: + void init(std::vector> binds, VkShaderStageFlagBits stage); + void destroy() noexcept; + + inline VkDescriptorSetLayout& operator()() noexcept { return _layout; } + inline VkDescriptorSetLayout& get() noexcept { return _layout; } + inline const std::vector>& getBindings() const noexcept { return _bindings; } + + private: + VkDescriptorSetLayout _layout = VK_NULL_HANDLE; + std::vector> _bindings; + }; +} + +#endif diff --git a/MacroLibX/src/renderer/images/texture.cpp b/MacroLibX/src/renderer/images/texture.cpp new file mode 100644 index 0000000..694bd37 --- /dev/null +++ b/MacroLibX/src/renderer/images/texture.cpp @@ -0,0 +1,159 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* texture.cpp :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: maldavid +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* Created: 2023/03/31 18:03:35 by maldavid #+# #+# */ +/* Updated: 2023/11/16 14:01:47 by maldavid ### ########.fr */ +/* */ +/* ************************************************************************** */ + +#include +#include +#include +#include +#include + +#define STB_IMAGE_IMPLEMENTATION +#include + +#include + +#ifdef IMAGE_OPTIMIZED + #define TILING VK_IMAGE_TILING_OPTIMAL +#else + #define TILING VK_IMAGE_TILING_LINEAR +#endif + +namespace mlx +{ + void Texture::create(uint8_t* pixels, uint32_t width, uint32_t height, VkFormat format, const char* name, bool dedicated_memory) + { + Image::create(width, height, format, TILING, VK_IMAGE_USAGE_TRANSFER_DST_BIT | VK_IMAGE_USAGE_TRANSFER_SRC_BIT | VK_IMAGE_USAGE_SAMPLED_BIT, name, dedicated_memory); + Image::createImageView(VK_IMAGE_VIEW_TYPE_2D, VK_IMAGE_ASPECT_COLOR_BIT); + Image::createSampler(); + + std::vector vertexData = { + {{0, 0}, {1.f, 1.f, 1.f, 1.f}, {0.0f, 0.0f}}, + {{width, 0}, {1.f, 1.f, 1.f, 1.f}, {1.0f, 0.0f}}, + {{width, height}, {1.f, 1.f, 1.f, 1.f}, {1.0f, 1.0f}}, + {{0, height}, {1.f, 1.f, 1.f, 1.f}, {0.0f, 1.0f}} + }; + + std::vector indexData = { 0, 1, 2, 2, 3, 0 }; + + #ifdef DEBUG + _vbo.create(sizeof(Vertex) * vertexData.size(), vertexData.data(), name); + _ibo.create(sizeof(uint16_t) * indexData.size(), indexData.data(), name); + _name = name; + #else + _vbo.create(sizeof(Vertex) * vertexData.size(), vertexData.data(), nullptr); + _ibo.create(sizeof(uint16_t) * indexData.size(), indexData.data(), nullptr); + #endif + + if(pixels != nullptr) + { + Buffer staging_buffer; + std::size_t size = width * height * formatSize(format); + #ifdef DEBUG + staging_buffer.create(Buffer::kind::dynamic, size, VK_BUFFER_USAGE_TRANSFER_SRC_BIT, name, pixels); + #else + staging_buffer.create(Buffer::kind::dynamic, size, VK_BUFFER_USAGE_TRANSFER_SRC_BIT, nullptr, pixels); + #endif + Image::copyFromBuffer(staging_buffer); + staging_buffer.destroy(); + } + } + + void Texture::setPixel(int x, int y, uint32_t color) noexcept + { + if(x < 0 || y < 0 || x > getWidth() || y > getHeight()) + return; + if(_map == nullptr) + openCPUmap(); + _cpu_map[(y * getWidth()) + x] = color; + _has_been_modified = true; + } + + int Texture::getPixel(int x, int y) noexcept + { + if(x < 0 || y < 0 || x > getWidth() || y > getHeight()) + return 0; + if(_map == nullptr) + openCPUmap(); + uint32_t color = _cpu_map[(y * getWidth()) + x]; + return (color); + } + + void Texture::openCPUmap() + { + if(_map != nullptr) + return; + + #ifdef DEBUG + core::error::report(e_kind::message, "Texture : enabling CPU mapping"); + #endif + std::size_t size = getWidth() * getHeight() * formatSize(getFormat()); + _buf_map.emplace(); + #ifdef DEBUG + _buf_map->create(Buffer::kind::dynamic, size, VK_BUFFER_USAGE_TRANSFER_SRC_BIT | VK_BUFFER_USAGE_TRANSFER_DST_BIT, _name.c_str()); + #else + _buf_map->create(Buffer::kind::dynamic, size, VK_BUFFER_USAGE_TRANSFER_SRC_BIT | VK_BUFFER_USAGE_TRANSFER_DST_BIT, nullptr); + #endif + Image::copyToBuffer(*_buf_map); + _buf_map->mapMem(&_map); + _cpu_map = std::vector(getWidth() * getHeight(), 0); + std::memcpy(_cpu_map.data(), _map, size); + #ifdef DEBUG + core::error::report(e_kind::message, "Texture : mapped CPU memory using staging buffer"); + #endif + } + + void Texture::render(Renderer& renderer, int x, int y) + { + if(_has_been_modified) + { + std::memcpy(_map, _cpu_map.data(), _cpu_map.size() * formatSize(getFormat())); + Image::copyFromBuffer(*_buf_map); + _has_been_modified = false; + } + auto cmd = renderer.getActiveCmdBuffer().get(); + _vbo.bind(renderer); + _ibo.bind(renderer); + glm::vec2 translate(x, y); + vkCmdPushConstants(cmd, renderer.getPipeline().getPipelineLayout(), VK_SHADER_STAGE_VERTEX_BIT, 0, sizeof(translate), &translate); + vkCmdDrawIndexed(cmd, static_cast(_ibo.getSize() / sizeof(uint16_t)), 1, 0, 0, 0); + } + + void Texture::destroy() noexcept + { + Image::destroy(); + if(_buf_map.has_value()) + _buf_map->destroy(); + _vbo.destroy(); + _ibo.destroy(); + } + + Texture stbTextureLoad(std::filesystem::path file, int* w, int* h) + { + Texture texture; + int channels; + uint8_t* data = nullptr; + std::string filename = file.string(); + + if(!std::filesystem::exists(std::move(file))) + core::error::report(e_kind::fatal_error, "Image : file not found '%s'", filename.c_str()); + if(stbi_is_hdr(filename.c_str())) + core::error::report(e_kind::fatal_error, "Texture : unsupported image format '%s'", filename.c_str()); + data = stbi_load(filename.c_str(), w, h, &channels, 4); + #ifdef DEBUG + texture.create(data, *w, *h, VK_FORMAT_R8G8B8A8_UNORM, filename.c_str()); + #else + texture.create(data, *w, *h, VK_FORMAT_R8G8B8A8_UNORM, nullptr); + #endif + stbi_image_free(data); + return texture; + } +} diff --git a/MacroLibX/src/renderer/images/texture.h b/MacroLibX/src/renderer/images/texture.h new file mode 100644 index 0000000..e15b5fc --- /dev/null +++ b/MacroLibX/src/renderer/images/texture.h @@ -0,0 +1,91 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* texture.h :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: maldavid +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* Created: 2023/03/08 02:24:58 by maldavid #+# #+# */ +/* Updated: 2023/12/08 19:10:09 by kbz_8 ### ########.fr */ +/* */ +/* ************************************************************************** */ + +#ifndef __MLX_TEXTURE__ +#define __MLX_TEXTURE__ + +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace mlx +{ + class Texture : public Image + { + public: + Texture() = default; + + void create(uint8_t* pixels, uint32_t width, uint32_t height, VkFormat format, const char* name, bool dedicated_memory = false); + void render(class Renderer& renderer, int x, int y); + void destroy() noexcept override; + + void setPixel(int x, int y, uint32_t color) noexcept; + int getPixel(int x, int y) noexcept; + + inline void setDescriptor(DescriptorSet set) noexcept { _set = std::move(set); } + inline VkDescriptorSet getSet() noexcept { return _set.isInit() ? _set.get() : VK_NULL_HANDLE; } + inline void updateSet(int binding) noexcept { _set.writeDescriptor(binding, getImageView(), getSampler()); _has_been_updated = true; } + inline bool hasBeenUpdated() const noexcept { return _has_been_updated; } + inline constexpr void resetUpdate() noexcept { _has_been_updated = false; } + + ~Texture() = default; + + private: + void openCPUmap(); + + private: + C_VBO _vbo; + C_IBO _ibo; + #ifdef DEBUG + std::string _name; + #endif + DescriptorSet _set; + std::vector _cpu_map; + std::optional _buf_map = std::nullopt; + void* _map = nullptr; + bool _has_been_modified = false; + bool _has_been_updated = false; + }; + + Texture stbTextureLoad(std::filesystem::path file, int* w, int* h); + + struct TextureRenderData + { + Texture* texture; + std::size_t hash = 0; + int x; + int y; + + TextureRenderData(Texture* _texture, int _x, int _y) : texture(_texture), x(_x), y(_y) {} + bool operator==(const TextureRenderData& rhs) const { return texture == rhs.texture && x == rhs.x && y == rhs.y; } + }; +} + +namespace std +{ + template <> + struct hash + { + size_t operator()(const mlx::TextureRenderData& td) const noexcept + { + return std::hash()(td.texture) + std::hash()(td.x) + std::hash()(td.y); + } + }; +} + +#endif diff --git a/MacroLibX/src/renderer/images/texture_atlas.cpp b/MacroLibX/src/renderer/images/texture_atlas.cpp new file mode 100644 index 0000000..f129baf --- /dev/null +++ b/MacroLibX/src/renderer/images/texture_atlas.cpp @@ -0,0 +1,52 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* texture_atlas.cpp :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: maldavid +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* Created: 2023/04/07 16:40:09 by maldavid #+# #+# */ +/* Updated: 2023/11/14 05:36:46 by maldavid ### ########.fr */ +/* */ +/* ************************************************************************** */ + +#include + +#ifdef IMAGE_OPTIMIZED + #define TILING VK_IMAGE_TILING_OPTIMAL +#else + #define TILING VK_IMAGE_TILING_LINEAR +#endif + +namespace mlx +{ + void TextureAtlas::create(uint8_t* pixels, uint32_t width, uint32_t height, VkFormat format, const char* name, bool dedicated_memory) + { + Image::create(width, height, format, TILING, VK_IMAGE_USAGE_TRANSFER_DST_BIT | VK_IMAGE_USAGE_TRANSFER_SRC_BIT | VK_IMAGE_USAGE_SAMPLED_BIT, name, dedicated_memory); + Image::createImageView(VK_IMAGE_VIEW_TYPE_2D, VK_IMAGE_ASPECT_COLOR_BIT); + Image::createSampler(); + + if(pixels != nullptr) + { + Buffer staging_buffer; + std::size_t size = width * height * formatSize(format); + staging_buffer.create(Buffer::kind::dynamic, size, VK_BUFFER_USAGE_TRANSFER_SRC_BIT, name, pixels); + Image::copyFromBuffer(staging_buffer); + staging_buffer.destroy(); + } + } + + void TextureAtlas::render(Renderer& renderer, int x, int y, uint32_t ibo_size) + { + auto cmd = renderer.getActiveCmdBuffer().get(); + + glm::vec2 translate(x, y); + vkCmdPushConstants(cmd, renderer.getPipeline().getPipelineLayout(), VK_SHADER_STAGE_VERTEX_BIT, 0, sizeof(translate), &translate); + vkCmdDrawIndexed(cmd, ibo_size / sizeof(uint16_t), 1, 0, 0, 0); + } + + void TextureAtlas::destroy() noexcept + { + Image::destroy(); + } +} diff --git a/MacroLibX/src/renderer/images/texture_atlas.h b/MacroLibX/src/renderer/images/texture_atlas.h new file mode 100644 index 0000000..59a0edc --- /dev/null +++ b/MacroLibX/src/renderer/images/texture_atlas.h @@ -0,0 +1,43 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* texture_atlas.h :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: maldavid +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* Created: 2023/04/07 16:36:33 by maldavid #+# #+# */ +/* Updated: 2023/12/08 19:10:22 by kbz_8 ### ########.fr */ +/* */ +/* ************************************************************************** */ + +#ifndef __MLX_TEXTURE_ATLAS__ +#define __MLX_TEXTURE_ATLAS__ + +#include +#include +#include +#include + +namespace mlx +{ + class TextureAtlas : public Image + { + public: + TextureAtlas() = default; + + void create(uint8_t* pixels, uint32_t width, uint32_t height, VkFormat format, const char* name, bool dedicated_memory = false); + void render(class Renderer& renderer, int x, int y, uint32_t ibo_size); + void destroy() noexcept override; + + inline void setDescriptor(DescriptorSet&& set) noexcept { _set = set; } + inline VkDescriptorSet getSet() noexcept { return _set.isInit() ? _set.get() : VK_NULL_HANDLE; } + inline void updateSet(int binding) noexcept { _set.writeDescriptor(binding, getImageView(), getSampler()); } + + ~TextureAtlas() = default; + + private: + DescriptorSet _set; + }; +} + +#endif diff --git a/MacroLibX/src/renderer/images/vk_image.cpp b/MacroLibX/src/renderer/images/vk_image.cpp new file mode 100644 index 0000000..ddd6315 --- /dev/null +++ b/MacroLibX/src/renderer/images/vk_image.cpp @@ -0,0 +1,521 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* vk_image.cpp :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: maldavid +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* Created: 2023/01/25 11:59:07 by maldavid #+# #+# */ +/* Updated: 2023/11/18 17:21:14 by maldavid ### ########.fr */ +/* */ +/* ************************************************************************** */ + +#include "vk_image.h" +#include +#include +#include +#include + +namespace mlx +{ + bool isStencilFormat(VkFormat format) + { + switch(format) + { + case VK_FORMAT_D32_SFLOAT_S8_UINT: + case VK_FORMAT_D24_UNORM_S8_UINT: + return true; + + default: return false; + } + } + + bool isDepthFormat(VkFormat format) + { + switch(format) + { + case VK_FORMAT_D16_UNORM: + case VK_FORMAT_D32_SFLOAT: + case VK_FORMAT_D32_SFLOAT_S8_UINT: + case VK_FORMAT_D24_UNORM_S8_UINT: + case VK_FORMAT_D16_UNORM_S8_UINT: + return true; + + default: return false; + } + } + + VkFormat bitsToFormat(uint32_t bits) + { + switch(bits) + { + case 8: return VK_FORMAT_R8_UNORM; + case 16: return VK_FORMAT_R8G8_UNORM; + case 24: return VK_FORMAT_R8G8B8_UNORM; + case 32: return VK_FORMAT_R8G8B8A8_UNORM; + case 48: return VK_FORMAT_R16G16B16_SFLOAT; + case 64: return VK_FORMAT_R16G16B16A16_SFLOAT; + case 96: return VK_FORMAT_R32G32B32_SFLOAT; + case 128: return VK_FORMAT_R32G32B32A32_SFLOAT; + + default: + core::error::report(e_kind::fatal_error, "Vulkan : unsupported image bit-depth"); + return VK_FORMAT_R8G8B8A8_UNORM; + } + } + + VkPipelineStageFlags layoutToAccessMask(VkImageLayout layout, bool isDestination) + { + VkPipelineStageFlags accessMask = 0; + + switch(layout) + { + case VK_IMAGE_LAYOUT_UNDEFINED: + if(isDestination) + core::error::report(e_kind::error, "Vulkan : the new layout used in a transition must not be VK_IMAGE_LAYOUT_UNDEFINED"); + break; + case VK_IMAGE_LAYOUT_GENERAL: accessMask = VK_ACCESS_SHADER_READ_BIT | VK_ACCESS_SHADER_WRITE_BIT; break; + case VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL: accessMask = VK_ACCESS_COLOR_ATTACHMENT_READ_BIT | VK_ACCESS_COLOR_ATTACHMENT_WRITE_BIT; break; + case VK_IMAGE_LAYOUT_DEPTH_STENCIL_ATTACHMENT_OPTIMAL: accessMask = VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_READ_BIT | VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_WRITE_BIT; break; + case VK_IMAGE_LAYOUT_DEPTH_STENCIL_READ_ONLY_OPTIMAL: + accessMask = VK_ACCESS_SHADER_READ_BIT; // VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_READ_BIT; + break; + case VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL: accessMask = VK_ACCESS_SHADER_READ_BIT | VK_ACCESS_INPUT_ATTACHMENT_READ_BIT; break; + case VK_IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL: accessMask = VK_ACCESS_TRANSFER_READ_BIT; break; + case VK_IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL: accessMask = VK_ACCESS_TRANSFER_WRITE_BIT; break; + case VK_IMAGE_LAYOUT_PREINITIALIZED: + if(!isDestination) + accessMask = VK_ACCESS_HOST_WRITE_BIT; + else + core::error::report(e_kind::error, "Vulkan : the new layout used in a transition must not be VK_IMAGE_LAYOUT_PREINITIALIZED"); + break; + case VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_OPTIMAL: accessMask = VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_READ_BIT; break; + case VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_OPTIMAL: accessMask = VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_READ_BIT; break; + case VK_IMAGE_LAYOUT_PRESENT_SRC_KHR: accessMask = VK_ACCESS_MEMORY_READ_BIT; break; + + default: core::error::report(e_kind::error, "Vulkan : unexpected image layout"); break; + } + + return accessMask; + } + + VkPipelineStageFlags accessFlagsToPipelineStage(VkAccessFlags accessFlags, VkPipelineStageFlags stageFlags) + { + VkPipelineStageFlags stages = 0; + + while(accessFlags != 0) + { + VkAccessFlagBits AccessFlag = static_cast(accessFlags & (~(accessFlags - 1))); + if(AccessFlag == 0 || (AccessFlag & (AccessFlag - 1)) != 0) + core::error::report(e_kind::fatal_error, "Vulkan : an error has been caught during access flag to pipeline stage operation"); + accessFlags &= ~AccessFlag; + + switch(AccessFlag) + { + case VK_ACCESS_INDIRECT_COMMAND_READ_BIT: stages |= VK_PIPELINE_STAGE_DRAW_INDIRECT_BIT; break; + case VK_ACCESS_INDEX_READ_BIT: stages |= VK_PIPELINE_STAGE_VERTEX_INPUT_BIT; break; + case VK_ACCESS_VERTEX_ATTRIBUTE_READ_BIT: stages |= VK_PIPELINE_STAGE_VERTEX_INPUT_BIT; break; + case VK_ACCESS_UNIFORM_READ_BIT: stages |= stageFlags | VK_PIPELINE_STAGE_COMPUTE_SHADER_BIT; break; + case VK_ACCESS_INPUT_ATTACHMENT_READ_BIT: stages |= VK_PIPELINE_STAGE_FRAGMENT_SHADER_BIT; break; + case VK_ACCESS_SHADER_READ_BIT: stages |= stageFlags | VK_PIPELINE_STAGE_COMPUTE_SHADER_BIT; break; + case VK_ACCESS_SHADER_WRITE_BIT: stages |= stageFlags | VK_PIPELINE_STAGE_COMPUTE_SHADER_BIT; break; + case VK_ACCESS_COLOR_ATTACHMENT_READ_BIT: stages |= VK_PIPELINE_STAGE_COLOR_ATTACHMENT_OUTPUT_BIT; break; + case VK_ACCESS_COLOR_ATTACHMENT_WRITE_BIT: stages |= VK_PIPELINE_STAGE_COLOR_ATTACHMENT_OUTPUT_BIT; break; + case VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_READ_BIT: stages |= VK_PIPELINE_STAGE_EARLY_FRAGMENT_TESTS_BIT | VK_PIPELINE_STAGE_LATE_FRAGMENT_TESTS_BIT; break; + case VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_WRITE_BIT: stages |= VK_PIPELINE_STAGE_EARLY_FRAGMENT_TESTS_BIT | VK_PIPELINE_STAGE_LATE_FRAGMENT_TESTS_BIT; break; + case VK_ACCESS_TRANSFER_READ_BIT: stages |= VK_PIPELINE_STAGE_TRANSFER_BIT; break; + case VK_ACCESS_TRANSFER_WRITE_BIT: stages |= VK_PIPELINE_STAGE_TRANSFER_BIT; break; + case VK_ACCESS_HOST_READ_BIT: stages |= VK_PIPELINE_STAGE_HOST_BIT; break; + case VK_ACCESS_HOST_WRITE_BIT: stages |= VK_PIPELINE_STAGE_HOST_BIT; break; + case VK_ACCESS_MEMORY_READ_BIT: break; + case VK_ACCESS_MEMORY_WRITE_BIT: break; + + default: core::error::report(e_kind::error, "Vulkan : unknown access flag"); break; + } + } + return stages; + } + + void Image::create(uint32_t width, uint32_t height, VkFormat format, VkImageTiling tiling, VkImageUsageFlags usage, const char* name, bool dedicated_memory) + { + _width = width; + _height = height; + _format = format; + _tiling = tiling; + + VkImageCreateInfo imageInfo{}; + imageInfo.sType = VK_STRUCTURE_TYPE_IMAGE_CREATE_INFO; + imageInfo.imageType = VK_IMAGE_TYPE_2D; + imageInfo.extent.width = width; + imageInfo.extent.height = height; + imageInfo.extent.depth = 1; + imageInfo.mipLevels = 1; + imageInfo.arrayLayers = 1; + imageInfo.format = format; + imageInfo.tiling = tiling; + imageInfo.initialLayout = VK_IMAGE_LAYOUT_UNDEFINED; + imageInfo.usage = usage; + imageInfo.samples = VK_SAMPLE_COUNT_1_BIT; + imageInfo.sharingMode = VK_SHARING_MODE_EXCLUSIVE; + + VmaAllocationCreateInfo alloc_info{}; + alloc_info.usage = VMA_MEMORY_USAGE_AUTO_PREFER_DEVICE; + if(dedicated_memory) + { + alloc_info.flags = VMA_ALLOCATION_CREATE_DEDICATED_MEMORY_BIT; + alloc_info.priority = 1.0f; + } + + _allocation = Render_Core::get().getAllocator().createImage(&imageInfo, &alloc_info, _image, name); + + _pool.init(); + } + + void Image::createImageView(VkImageViewType type, VkImageAspectFlags aspectFlags) noexcept + { + VkImageViewCreateInfo viewInfo{}; + viewInfo.sType = VK_STRUCTURE_TYPE_IMAGE_VIEW_CREATE_INFO; + viewInfo.image = _image; + viewInfo.viewType = type; + viewInfo.format = _format; + viewInfo.subresourceRange.aspectMask = aspectFlags; + viewInfo.subresourceRange.baseMipLevel = 0; + viewInfo.subresourceRange.levelCount = 1; + viewInfo.subresourceRange.baseArrayLayer = 0; + viewInfo.subresourceRange.layerCount = 1; + + if(vkCreateImageView(Render_Core::get().getDevice().get(), &viewInfo, nullptr, &_image_view) != VK_SUCCESS) + core::error::report(e_kind::fatal_error, "Vulkan : failed to create an image view"); + } + + void Image::createSampler() noexcept + { + VkSamplerCreateInfo info{}; + info.sType = VK_STRUCTURE_TYPE_SAMPLER_CREATE_INFO; + info.magFilter = VK_FILTER_NEAREST; + info.minFilter = VK_FILTER_NEAREST; + info.mipmapMode = VK_SAMPLER_MIPMAP_MODE_NEAREST; + info.addressModeU = VK_SAMPLER_ADDRESS_MODE_REPEAT; + info.addressModeV = VK_SAMPLER_ADDRESS_MODE_REPEAT; + info.addressModeW = VK_SAMPLER_ADDRESS_MODE_REPEAT; + info.minLod = -1000; + info.maxLod = 1000; + info.anisotropyEnable = VK_FALSE; + info.maxAnisotropy = 1.0f; + + if(vkCreateSampler(Render_Core::get().getDevice().get(), &info, nullptr, &_sampler) != VK_SUCCESS) + core::error::report(e_kind::fatal_error, "Vulkan : failed to create an image"); + } + + void Image::copyFromBuffer(Buffer& buffer) + { + if(!_transfer_cmd.isInit()) + _transfer_cmd.init(&_pool); + + _transfer_cmd.reset(); + _transfer_cmd.beginRecord(); + + VkImageMemoryBarrier copy_barrier{}; + copy_barrier.sType = VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER; + copy_barrier.dstAccessMask = VK_ACCESS_TRANSFER_WRITE_BIT; + copy_barrier.oldLayout = VK_IMAGE_LAYOUT_UNDEFINED; + copy_barrier.newLayout = VK_IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL; + copy_barrier.srcQueueFamilyIndex = VK_QUEUE_FAMILY_IGNORED; + copy_barrier.dstQueueFamilyIndex = VK_QUEUE_FAMILY_IGNORED; + copy_barrier.image = _image; + copy_barrier.subresourceRange.aspectMask = VK_IMAGE_ASPECT_COLOR_BIT; + copy_barrier.subresourceRange.levelCount = 1; + copy_barrier.subresourceRange.layerCount = 1; + vkCmdPipelineBarrier(_transfer_cmd.get(), VK_PIPELINE_STAGE_HOST_BIT, VK_PIPELINE_STAGE_TRANSFER_BIT, 0, 0, nullptr, 0, nullptr, 1, ©_barrier); + + VkBufferImageCopy region{}; + region.bufferOffset = 0; + region.bufferRowLength = 0; + region.bufferImageHeight = 0; + region.imageSubresource.aspectMask = VK_IMAGE_ASPECT_COLOR_BIT; + region.imageSubresource.mipLevel = 0; + region.imageSubresource.baseArrayLayer = 0; + region.imageSubresource.layerCount = 1; + region.imageOffset = { 0, 0, 0 }; + region.imageExtent = { _width, _height, 1 }; + + vkCmdCopyBufferToImage(_transfer_cmd.get(), buffer.get(), _image, VK_IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL, 1, ®ion); + + VkImageMemoryBarrier use_barrier{}; + use_barrier.sType = VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER; + use_barrier.srcAccessMask = VK_ACCESS_TRANSFER_WRITE_BIT; + use_barrier.dstAccessMask = VK_ACCESS_SHADER_READ_BIT; + use_barrier.oldLayout = VK_IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL; + use_barrier.newLayout = VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL; + use_barrier.srcQueueFamilyIndex = VK_QUEUE_FAMILY_IGNORED; + use_barrier.dstQueueFamilyIndex = VK_QUEUE_FAMILY_IGNORED; + use_barrier.image = _image; + use_barrier.subresourceRange.aspectMask = VK_IMAGE_ASPECT_COLOR_BIT; + use_barrier.subresourceRange.levelCount = 1; + use_barrier.subresourceRange.layerCount = 1; + vkCmdPipelineBarrier(_transfer_cmd.get(), VK_PIPELINE_STAGE_TRANSFER_BIT, VK_PIPELINE_STAGE_FRAGMENT_SHADER_BIT, 0, 0, nullptr, 0, nullptr, 1, &use_barrier); + + _transfer_cmd.endRecord(); + _transfer_cmd.submitIdle(); + } + + void Image::copyToBuffer(Buffer& buffer) + { + if(!_transfer_cmd.isInit()) + _transfer_cmd.init(&_pool); + + _transfer_cmd.reset(); + _transfer_cmd.beginRecord(); + + VkImageMemoryBarrier copy_barrier{}; + copy_barrier.sType = VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER; + copy_barrier.dstAccessMask = VK_ACCESS_TRANSFER_READ_BIT; + copy_barrier.oldLayout = VK_IMAGE_LAYOUT_UNDEFINED; + copy_barrier.newLayout = VK_IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL; + copy_barrier.srcQueueFamilyIndex = VK_QUEUE_FAMILY_IGNORED; + copy_barrier.dstQueueFamilyIndex = VK_QUEUE_FAMILY_IGNORED; + copy_barrier.image = _image; + copy_barrier.subresourceRange.aspectMask = VK_IMAGE_ASPECT_COLOR_BIT; + copy_barrier.subresourceRange.levelCount = 1; + copy_barrier.subresourceRange.layerCount = 1; + vkCmdPipelineBarrier(_transfer_cmd.get(), VK_PIPELINE_STAGE_HOST_BIT, VK_PIPELINE_STAGE_TRANSFER_BIT, 0, 0, nullptr, 0, nullptr, 1, ©_barrier); + + VkBufferImageCopy region{}; + region.bufferOffset = 0; + region.bufferRowLength = 0; + region.bufferImageHeight = 0; + region.imageSubresource.aspectMask = VK_IMAGE_ASPECT_COLOR_BIT; + region.imageSubresource.mipLevel = 0; + region.imageSubresource.baseArrayLayer = 0; + region.imageSubresource.layerCount = 1; + region.imageOffset = { 0, 0, 0 }; + region.imageExtent = { _width, _height, 1 }; + + vkCmdCopyImageToBuffer(_transfer_cmd.get(), _image, VK_IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL, buffer.get(), 1, ®ion); + + VkImageMemoryBarrier use_barrier{}; + use_barrier.sType = VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER; + use_barrier.srcAccessMask = VK_ACCESS_TRANSFER_READ_BIT; + use_barrier.dstAccessMask = VK_ACCESS_SHADER_READ_BIT; + use_barrier.oldLayout = VK_IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL; + use_barrier.newLayout = VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL; + use_barrier.srcQueueFamilyIndex = VK_QUEUE_FAMILY_IGNORED; + use_barrier.dstQueueFamilyIndex = VK_QUEUE_FAMILY_IGNORED; + use_barrier.image = _image; + use_barrier.subresourceRange.aspectMask = VK_IMAGE_ASPECT_COLOR_BIT; + use_barrier.subresourceRange.levelCount = 1; + use_barrier.subresourceRange.layerCount = 1; + vkCmdPipelineBarrier(_transfer_cmd.get(), VK_PIPELINE_STAGE_TRANSFER_BIT, VK_PIPELINE_STAGE_FRAGMENT_SHADER_BIT, 0, 0, nullptr, 0, nullptr, 1, &use_barrier); + + _transfer_cmd.endRecord(); + _transfer_cmd.submitIdle(); + } + + void Image::transitionLayout(VkImageLayout new_layout) + { + if(new_layout == _layout) + return; + + if(!_transfer_cmd.isInit()) + _transfer_cmd.init(&_pool); + _transfer_cmd.reset(); + _transfer_cmd.beginRecord(); + + VkImageMemoryBarrier barrier{}; + barrier.sType = VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER; + barrier.oldLayout = _layout; + barrier.newLayout = new_layout; + barrier.srcQueueFamilyIndex = VK_QUEUE_FAMILY_IGNORED; + barrier.dstQueueFamilyIndex = VK_QUEUE_FAMILY_IGNORED; + barrier.image = _image; + barrier.subresourceRange.aspectMask = isDepthFormat(_format) ? VK_IMAGE_ASPECT_DEPTH_BIT : VK_IMAGE_ASPECT_COLOR_BIT; + barrier.subresourceRange.baseMipLevel = 0; + barrier.subresourceRange.levelCount = 1; + barrier.subresourceRange.baseArrayLayer = 0; + barrier.subresourceRange.layerCount = 1; + barrier.srcAccessMask = layoutToAccessMask(_layout, false); + barrier.dstAccessMask = layoutToAccessMask(new_layout, true); + if(isStencilFormat(_format)) + barrier.subresourceRange.aspectMask |= VK_IMAGE_ASPECT_STENCIL_BIT; + + VkPipelineStageFlags sourceStage = 0; + if(barrier.oldLayout == VK_IMAGE_LAYOUT_PRESENT_SRC_KHR) + sourceStage = VK_PIPELINE_STAGE_BOTTOM_OF_PIPE_BIT; + else if(barrier.srcAccessMask != 0) + sourceStage = accessFlagsToPipelineStage(barrier.srcAccessMask, VK_PIPELINE_STAGE_VERTEX_SHADER_BIT | VK_PIPELINE_STAGE_FRAGMENT_SHADER_BIT | VK_PIPELINE_STAGE_COMPUTE_SHADER_BIT); + else + sourceStage = VK_PIPELINE_STAGE_TOP_OF_PIPE_BIT; + + VkPipelineStageFlags destinationStage = 0; + if(barrier.newLayout == VK_IMAGE_LAYOUT_PRESENT_SRC_KHR) + destinationStage = VK_PIPELINE_STAGE_TOP_OF_PIPE_BIT; + else if(barrier.dstAccessMask != 0) + destinationStage = accessFlagsToPipelineStage(barrier.dstAccessMask, VK_PIPELINE_STAGE_VERTEX_SHADER_BIT | VK_PIPELINE_STAGE_FRAGMENT_SHADER_BIT | VK_PIPELINE_STAGE_COMPUTE_SHADER_BIT); + else + destinationStage = VK_PIPELINE_STAGE_BOTTOM_OF_PIPE_BIT; + + vkCmdPipelineBarrier(_transfer_cmd.get(), sourceStage, destinationStage, 0, 0, nullptr, 0, nullptr, 1, &barrier); + + _transfer_cmd.endRecord(); + _transfer_cmd.submitIdle(); + _layout = new_layout; + } + + void Image::destroySampler() noexcept + { + if(_sampler != VK_NULL_HANDLE) + vkDestroySampler(Render_Core::get().getDevice().get(), _sampler, nullptr); + _sampler = VK_NULL_HANDLE; + } + + void Image::destroyImageView() noexcept + { + if(_image_view != VK_NULL_HANDLE) + vkDestroyImageView(Render_Core::get().getDevice().get(), _image_view, nullptr); + _image_view = VK_NULL_HANDLE; + } + + void Image::destroy() noexcept + { + destroySampler(); + destroyImageView(); + destroyCmdPool(); + + if(_image != VK_NULL_HANDLE) + Render_Core::get().getAllocator().destroyImage(_allocation, _image); + _image = VK_NULL_HANDLE; + } + + uint32_t formatSize(VkFormat format) + { + switch(format) + { + case VK_FORMAT_UNDEFINED: return 0; + case VK_FORMAT_R4G4_UNORM_PACK8: return 1; + case VK_FORMAT_R4G4B4A4_UNORM_PACK16: return 2; + case VK_FORMAT_B4G4R4A4_UNORM_PACK16: return 2; + case VK_FORMAT_R5G6B5_UNORM_PACK16: return 2; + case VK_FORMAT_B5G6R5_UNORM_PACK16: return 2; + case VK_FORMAT_R5G5B5A1_UNORM_PACK16: return 2; + case VK_FORMAT_B5G5R5A1_UNORM_PACK16: return 2; + case VK_FORMAT_A1R5G5B5_UNORM_PACK16: return 2; + case VK_FORMAT_R8_UNORM: return 1; + case VK_FORMAT_R8_SNORM: return 1; + case VK_FORMAT_R8_USCALED: return 1; + case VK_FORMAT_R8_SSCALED: return 1; + case VK_FORMAT_R8_UINT: return 1; + case VK_FORMAT_R8_SINT: return 1; + case VK_FORMAT_R8_SRGB: return 1; + case VK_FORMAT_R8G8_UNORM: return 2; + case VK_FORMAT_R8G8_SNORM: return 2; + case VK_FORMAT_R8G8_USCALED: return 2; + case VK_FORMAT_R8G8_SSCALED: return 2; + case VK_FORMAT_R8G8_UINT: return 2; + case VK_FORMAT_R8G8_SINT: return 2; + case VK_FORMAT_R8G8_SRGB: return 2; + case VK_FORMAT_R8G8B8_UNORM: return 3; + case VK_FORMAT_R8G8B8_SNORM: return 3; + case VK_FORMAT_R8G8B8_USCALED: return 3; + case VK_FORMAT_R8G8B8_SSCALED: return 3; + case VK_FORMAT_R8G8B8_UINT: return 3; + case VK_FORMAT_R8G8B8_SINT: return 3; + case VK_FORMAT_R8G8B8_SRGB: return 3; + case VK_FORMAT_B8G8R8_UNORM: return 3; + case VK_FORMAT_B8G8R8_SNORM: return 3; + case VK_FORMAT_B8G8R8_USCALED: return 3; + case VK_FORMAT_B8G8R8_SSCALED: return 3; + case VK_FORMAT_B8G8R8_UINT: return 3; + case VK_FORMAT_B8G8R8_SINT: return 3; + case VK_FORMAT_B8G8R8_SRGB: return 3; + case VK_FORMAT_R8G8B8A8_UNORM: return 4; + case VK_FORMAT_R8G8B8A8_SNORM: return 4; + case VK_FORMAT_R8G8B8A8_USCALED: return 4; + case VK_FORMAT_R8G8B8A8_SSCALED: return 4; + case VK_FORMAT_R8G8B8A8_UINT: return 4; + case VK_FORMAT_R8G8B8A8_SINT: return 4; + case VK_FORMAT_R8G8B8A8_SRGB: return 4; + case VK_FORMAT_B8G8R8A8_UNORM: return 4; + case VK_FORMAT_B8G8R8A8_SNORM: return 4; + case VK_FORMAT_B8G8R8A8_USCALED: return 4; + case VK_FORMAT_B8G8R8A8_SSCALED: return 4; + case VK_FORMAT_B8G8R8A8_UINT: return 4; + case VK_FORMAT_B8G8R8A8_SINT: return 4; + case VK_FORMAT_B8G8R8A8_SRGB: return 4; + case VK_FORMAT_A8B8G8R8_UNORM_PACK32: return 4; + case VK_FORMAT_A8B8G8R8_SNORM_PACK32: return 4; + case VK_FORMAT_A8B8G8R8_USCALED_PACK32: return 4; + case VK_FORMAT_A8B8G8R8_SSCALED_PACK32: return 4; + case VK_FORMAT_A8B8G8R8_UINT_PACK32: return 4; + case VK_FORMAT_A8B8G8R8_SINT_PACK32: return 4; + case VK_FORMAT_A8B8G8R8_SRGB_PACK32: return 4; + case VK_FORMAT_A2R10G10B10_UNORM_PACK32: return 4; + case VK_FORMAT_A2R10G10B10_SNORM_PACK32: return 4; + case VK_FORMAT_A2R10G10B10_USCALED_PACK32: return 4; + case VK_FORMAT_A2R10G10B10_SSCALED_PACK32: return 4; + case VK_FORMAT_A2R10G10B10_UINT_PACK32: return 4; + case VK_FORMAT_A2R10G10B10_SINT_PACK32: return 4; + case VK_FORMAT_A2B10G10R10_UNORM_PACK32: return 4; + case VK_FORMAT_A2B10G10R10_SNORM_PACK32: return 4; + case VK_FORMAT_A2B10G10R10_USCALED_PACK32: return 4; + case VK_FORMAT_A2B10G10R10_SSCALED_PACK32: return 4; + case VK_FORMAT_A2B10G10R10_UINT_PACK32: return 4; + case VK_FORMAT_A2B10G10R10_SINT_PACK32: return 4; + case VK_FORMAT_R16_UNORM: return 2; + case VK_FORMAT_R16_SNORM: return 2; + case VK_FORMAT_R16_USCALED: return 2; + case VK_FORMAT_R16_SSCALED: return 2; + case VK_FORMAT_R16_UINT: return 2; + case VK_FORMAT_R16_SINT: return 2; + case VK_FORMAT_R16_SFLOAT: return 2; + case VK_FORMAT_R16G16_UNORM: return 4; + case VK_FORMAT_R16G16_SNORM: return 4; + case VK_FORMAT_R16G16_USCALED: return 4; + case VK_FORMAT_R16G16_SSCALED: return 4; + case VK_FORMAT_R16G16_UINT: return 4; + case VK_FORMAT_R16G16_SINT: return 4; + case VK_FORMAT_R16G16_SFLOAT: return 4; + case VK_FORMAT_R16G16B16_UNORM: return 6; + case VK_FORMAT_R16G16B16_SNORM: return 6; + case VK_FORMAT_R16G16B16_USCALED: return 6; + case VK_FORMAT_R16G16B16_SSCALED: return 6; + case VK_FORMAT_R16G16B16_UINT: return 6; + case VK_FORMAT_R16G16B16_SINT: return 6; + case VK_FORMAT_R16G16B16_SFLOAT: return 6; + case VK_FORMAT_R16G16B16A16_UNORM: return 8; + case VK_FORMAT_R16G16B16A16_SNORM: return 8; + case VK_FORMAT_R16G16B16A16_USCALED: return 8; + case VK_FORMAT_R16G16B16A16_SSCALED: return 8; + case VK_FORMAT_R16G16B16A16_UINT: return 8; + case VK_FORMAT_R16G16B16A16_SINT: return 8; + case VK_FORMAT_R16G16B16A16_SFLOAT: return 8; + case VK_FORMAT_R32_UINT: return 4; + case VK_FORMAT_R32_SINT: return 4; + case VK_FORMAT_R32_SFLOAT: return 4; + case VK_FORMAT_R32G32_UINT: return 8; + case VK_FORMAT_R32G32_SINT: return 8; + case VK_FORMAT_R32G32_SFLOAT: return 8; + case VK_FORMAT_R32G32B32_UINT: return 12; + case VK_FORMAT_R32G32B32_SINT: return 12; + case VK_FORMAT_R32G32B32_SFLOAT: return 12; + case VK_FORMAT_R32G32B32A32_UINT: return 16; + case VK_FORMAT_R32G32B32A32_SINT: return 16; + case VK_FORMAT_R32G32B32A32_SFLOAT: return 16; + case VK_FORMAT_R64_UINT: return 8; + case VK_FORMAT_R64_SINT: return 8; + case VK_FORMAT_R64_SFLOAT: return 8; + case VK_FORMAT_R64G64_UINT: return 16; + case VK_FORMAT_R64G64_SINT: return 16; + case VK_FORMAT_R64G64_SFLOAT: return 16; + case VK_FORMAT_R64G64B64_UINT: return 24; + case VK_FORMAT_R64G64B64_SINT: return 24; + case VK_FORMAT_R64G64B64_SFLOAT: return 24; + case VK_FORMAT_R64G64B64A64_UINT: return 32; + case VK_FORMAT_R64G64B64A64_SINT: return 32; + case VK_FORMAT_R64G64B64A64_SFLOAT: return 32; + case VK_FORMAT_B10G11R11_UFLOAT_PACK32: return 4; + case VK_FORMAT_E5B9G9R9_UFLOAT_PACK32: return 4; + + default: return 0; + } + } +} diff --git a/MacroLibX/src/renderer/images/vk_image.h b/MacroLibX/src/renderer/images/vk_image.h new file mode 100644 index 0000000..7e0e865 --- /dev/null +++ b/MacroLibX/src/renderer/images/vk_image.h @@ -0,0 +1,82 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* vk_image.h :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: maldavid +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* Created: 2023/01/25 11:54:21 by maldavid #+# #+# */ +/* Updated: 2023/12/08 19:10:38 by kbz_8 ### ########.fr */ +/* */ +/* ************************************************************************** */ + +#ifndef __MLX_VK_IMAGE__ +#define __MLX_VK_IMAGE__ + +#include +#include +#include +#include +#include +#include + +namespace mlx +{ + uint32_t formatSize(VkFormat format); + + class Image + { + friend class SwapChain; + + public: + Image() = default; + + inline void create(VkImage image, VkFormat format, uint32_t width, uint32_t height, VkImageLayout layout = VK_IMAGE_LAYOUT_UNDEFINED) noexcept + { + _image = image; + _format = format; + _width = width; + _height = height; + _layout = layout; + _pool.init(); + } + void create(uint32_t width, uint32_t height, VkFormat format, VkImageTiling tiling, VkImageUsageFlags usage, const char* name, bool decated_memory = false); + void createImageView(VkImageViewType type, VkImageAspectFlags aspectFlags) noexcept; + void createSampler() noexcept; + void copyFromBuffer(class Buffer& buffer); + void copyToBuffer(class Buffer& buffer); + void transitionLayout(VkImageLayout new_layout); + virtual void destroy() noexcept; + + inline VkImage get() noexcept { return _image; } + inline VkImage operator()() noexcept { return _image; } + inline VkImageView getImageView() noexcept { return _image_view; } + inline VkFormat getFormat() noexcept { return _format; } + inline VkImageTiling getTiling() noexcept { return _tiling; } + inline VkSampler getSampler() noexcept { return _sampler; } + inline uint32_t getWidth() const noexcept { return _width; } + inline uint32_t getHeight() const noexcept { return _height; } + + virtual ~Image() = default; + + private: + void destroySampler() noexcept; + void destroyImageView() noexcept; + inline void destroyCmdPool() noexcept { _transfer_cmd.destroy(); _pool.destroy(); } + + private: + CmdBuffer _transfer_cmd; + CmdPool _pool; + VmaAllocation _allocation; + VkImage _image = VK_NULL_HANDLE; + VkImageView _image_view = VK_NULL_HANDLE; + VkSampler _sampler = VK_NULL_HANDLE; + VkFormat _format; + VkImageTiling _tiling; + VkImageLayout _layout = VK_IMAGE_LAYOUT_UNDEFINED; + uint32_t _width = 0; + uint32_t _height = 0; + }; +} + +#endif diff --git a/MacroLibX/src/renderer/pipeline/pipeline.cpp b/MacroLibX/src/renderer/pipeline/pipeline.cpp new file mode 100644 index 0000000..cc02741 --- /dev/null +++ b/MacroLibX/src/renderer/pipeline/pipeline.cpp @@ -0,0 +1,323 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* pipeline.cpp :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: maldavid +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* Created: 2022/12/18 21:27:38 by maldavid #+# #+# */ +/* Updated: 2023/11/25 10:23:20 by maldavid ### ########.fr */ +/* */ +/* ************************************************************************** */ + +#include "pipeline.h" +#include +#include +#include + +namespace mlx +{ + /** + #version 450 core + + layout(location = 0) in vec2 aPos; + layout(location = 1) in vec4 aColor; + layout(location = 2) in vec2 aUV; + + layout(set = 0, binding = 0) uniform uProjection { + mat4 mat; + } uProj; + + layout(push_constant) uniform uModelPushConstant { + vec2 vec; + } uTranslate; + + out gl_PerVertex { + vec4 gl_Position; + }; + + layout(location = 0) out struct { + vec4 Color; + vec2 UV; + } Out; + + void main() + { + Out.Color = aColor; + Out.UV = aUV; + vec2 pos = aPos + uTranslate.vec; + gl_Position = uProj.mat * vec4(pos.x, pos.y, 0.0, 1.0); + } + */ + const std::vector vertex_shader = { + 0x07230203,0x00010000,0x0008000b,0x0000003b,0x00000000,0x00020011,0x00000001,0x0006000b, + 0x00000001,0x4c534c47,0x6474732e,0x3035342e,0x00000000,0x0003000e,0x00000000,0x00000001, + 0x000a000f,0x00000000,0x00000004,0x6e69616d,0x00000000,0x0000000b,0x0000000f,0x00000015, + 0x0000001b,0x00000026,0x00030003,0x00000002,0x000001c2,0x00040005,0x00000004,0x6e69616d, + 0x00000000,0x00030005,0x00000009,0x00000000,0x00050006,0x00000009,0x00000000,0x6f6c6f43, + 0x00000072,0x00040006,0x00000009,0x00000001,0x00005655,0x00030005,0x0000000b,0x0074754f, + 0x00040005,0x0000000f,0x6c6f4361,0x0000726f,0x00030005,0x00000015,0x00565561,0x00030005, + 0x0000001a,0x00736f70,0x00040005,0x0000001b,0x736f5061,0x00000000,0x00070005,0x0000001d, + 0x646f4d75,0x75506c65,0x6f436873,0x6174736e,0x0000746e,0x00040006,0x0000001d,0x00000000, + 0x00636576,0x00050005,0x0000001f,0x61725475,0x616c736e,0x00006574,0x00060005,0x00000024, + 0x505f6c67,0x65567265,0x78657472,0x00000000,0x00060006,0x00000024,0x00000000,0x505f6c67, + 0x7469736f,0x006e6f69,0x00030005,0x00000026,0x00000000,0x00050005,0x00000028,0x6f725075, + 0x7463656a,0x006e6f69,0x00040006,0x00000028,0x00000000,0x0074616d,0x00040005,0x0000002a, + 0x6f725075,0x0000006a,0x00040047,0x0000000b,0x0000001e,0x00000000,0x00040047,0x0000000f, + 0x0000001e,0x00000001,0x00040047,0x00000015,0x0000001e,0x00000002,0x00040047,0x0000001b, + 0x0000001e,0x00000000,0x00050048,0x0000001d,0x00000000,0x00000023,0x00000000,0x00030047, + 0x0000001d,0x00000002,0x00050048,0x00000024,0x00000000,0x0000000b,0x00000000,0x00030047, + 0x00000024,0x00000002,0x00040048,0x00000028,0x00000000,0x00000005,0x00050048,0x00000028, + 0x00000000,0x00000023,0x00000000,0x00050048,0x00000028,0x00000000,0x00000007,0x00000010, + 0x00030047,0x00000028,0x00000002,0x00040047,0x0000002a,0x00000022,0x00000000,0x00040047, + 0x0000002a,0x00000021,0x00000000,0x00020013,0x00000002,0x00030021,0x00000003,0x00000002, + 0x00030016,0x00000006,0x00000020,0x00040017,0x00000007,0x00000006,0x00000004,0x00040017, + 0x00000008,0x00000006,0x00000002,0x0004001e,0x00000009,0x00000007,0x00000008,0x00040020, + 0x0000000a,0x00000003,0x00000009,0x0004003b,0x0000000a,0x0000000b,0x00000003,0x00040015, + 0x0000000c,0x00000020,0x00000001,0x0004002b,0x0000000c,0x0000000d,0x00000000,0x00040020, + 0x0000000e,0x00000001,0x00000007,0x0004003b,0x0000000e,0x0000000f,0x00000001,0x00040020, + 0x00000011,0x00000003,0x00000007,0x0004002b,0x0000000c,0x00000013,0x00000001,0x00040020, + 0x00000014,0x00000001,0x00000008,0x0004003b,0x00000014,0x00000015,0x00000001,0x00040020, + 0x00000017,0x00000003,0x00000008,0x00040020,0x00000019,0x00000007,0x00000008,0x0004003b, + 0x00000014,0x0000001b,0x00000001,0x0003001e,0x0000001d,0x00000008,0x00040020,0x0000001e, + 0x00000009,0x0000001d,0x0004003b,0x0000001e,0x0000001f,0x00000009,0x00040020,0x00000020, + 0x00000009,0x00000008,0x0003001e,0x00000024,0x00000007,0x00040020,0x00000025,0x00000003, + 0x00000024,0x0004003b,0x00000025,0x00000026,0x00000003,0x00040018,0x00000027,0x00000007, + 0x00000004,0x0003001e,0x00000028,0x00000027,0x00040020,0x00000029,0x00000002,0x00000028, + 0x0004003b,0x00000029,0x0000002a,0x00000002,0x00040020,0x0000002b,0x00000002,0x00000027, + 0x00040015,0x0000002e,0x00000020,0x00000000,0x0004002b,0x0000002e,0x0000002f,0x00000000, + 0x00040020,0x00000030,0x00000007,0x00000006,0x0004002b,0x0000002e,0x00000033,0x00000001, + 0x0004002b,0x00000006,0x00000036,0x00000000,0x0004002b,0x00000006,0x00000037,0x3f800000, + 0x00050036,0x00000002,0x00000004,0x00000000,0x00000003,0x000200f8,0x00000005,0x0004003b, + 0x00000019,0x0000001a,0x00000007,0x0004003d,0x00000007,0x00000010,0x0000000f,0x00050041, + 0x00000011,0x00000012,0x0000000b,0x0000000d,0x0003003e,0x00000012,0x00000010,0x0004003d, + 0x00000008,0x00000016,0x00000015,0x00050041,0x00000017,0x00000018,0x0000000b,0x00000013, + 0x0003003e,0x00000018,0x00000016,0x0004003d,0x00000008,0x0000001c,0x0000001b,0x00050041, + 0x00000020,0x00000021,0x0000001f,0x0000000d,0x0004003d,0x00000008,0x00000022,0x00000021, + 0x00050081,0x00000008,0x00000023,0x0000001c,0x00000022,0x0003003e,0x0000001a,0x00000023, + 0x00050041,0x0000002b,0x0000002c,0x0000002a,0x0000000d,0x0004003d,0x00000027,0x0000002d, + 0x0000002c,0x00050041,0x00000030,0x00000031,0x0000001a,0x0000002f,0x0004003d,0x00000006, + 0x00000032,0x00000031,0x00050041,0x00000030,0x00000034,0x0000001a,0x00000033,0x0004003d, + 0x00000006,0x00000035,0x00000034,0x00070050,0x00000007,0x00000038,0x00000032,0x00000035, + 0x00000036,0x00000037,0x00050091,0x00000007,0x00000039,0x0000002d,0x00000038,0x00050041, + 0x00000011,0x0000003a,0x00000026,0x0000000d,0x0003003e,0x0000003a,0x00000039,0x000100fd, + 0x00010038 + }; + + /** + #version 450 core + + layout(location = 0) out vec4 fColor; + + layout(set = 1, binding = 0) uniform sampler2D sTexture; + + layout(location = 0) in struct { + vec4 Color; + vec2 UV; + } In; + + void main() + { + vec4 process_color = In.Color * texture(sTexture, In.UV.st); + if(process_color.w == 0) + discard; + fColor = process_color; + } + */ + const std::vector fragment_shader = { + 0x07230203,0x00010000,0x0008000b,0x0000002c,0x00000000,0x00020011,0x00000001,0x0006000b, + 0x00000001,0x4c534c47,0x6474732e,0x3035342e,0x00000000,0x0003000e,0x00000000,0x00000001, + 0x0007000f,0x00000004,0x00000004,0x6e69616d,0x00000000,0x0000000d,0x0000002a,0x00030010, + 0x00000004,0x00000007,0x00030003,0x00000002,0x000001c2,0x00040005,0x00000004,0x6e69616d, + 0x00000000,0x00060005,0x00000009,0x636f7270,0x5f737365,0x6f6c6f63,0x00000072,0x00030005, + 0x0000000b,0x00000000,0x00050006,0x0000000b,0x00000000,0x6f6c6f43,0x00000072,0x00040006, + 0x0000000b,0x00000001,0x00005655,0x00030005,0x0000000d,0x00006e49,0x00050005,0x00000016, + 0x78655473,0x65727574,0x00000000,0x00040005,0x0000002a,0x6c6f4366,0x0000726f,0x00040047, + 0x0000000d,0x0000001e,0x00000000,0x00040047,0x00000016,0x00000022,0x00000001,0x00040047, + 0x00000016,0x00000021,0x00000000,0x00040047,0x0000002a,0x0000001e,0x00000000,0x00020013, + 0x00000002,0x00030021,0x00000003,0x00000002,0x00030016,0x00000006,0x00000020,0x00040017, + 0x00000007,0x00000006,0x00000004,0x00040020,0x00000008,0x00000007,0x00000007,0x00040017, + 0x0000000a,0x00000006,0x00000002,0x0004001e,0x0000000b,0x00000007,0x0000000a,0x00040020, + 0x0000000c,0x00000001,0x0000000b,0x0004003b,0x0000000c,0x0000000d,0x00000001,0x00040015, + 0x0000000e,0x00000020,0x00000001,0x0004002b,0x0000000e,0x0000000f,0x00000000,0x00040020, + 0x00000010,0x00000001,0x00000007,0x00090019,0x00000013,0x00000006,0x00000001,0x00000000, + 0x00000000,0x00000000,0x00000001,0x00000000,0x0003001b,0x00000014,0x00000013,0x00040020, + 0x00000015,0x00000000,0x00000014,0x0004003b,0x00000015,0x00000016,0x00000000,0x0004002b, + 0x0000000e,0x00000018,0x00000001,0x00040020,0x00000019,0x00000001,0x0000000a,0x00040015, + 0x0000001e,0x00000020,0x00000000,0x0004002b,0x0000001e,0x0000001f,0x00000003,0x00040020, + 0x00000020,0x00000007,0x00000006,0x0004002b,0x00000006,0x00000023,0x00000000,0x00020014, + 0x00000024,0x00040020,0x00000029,0x00000003,0x00000007,0x0004003b,0x00000029,0x0000002a, + 0x00000003,0x00050036,0x00000002,0x00000004,0x00000000,0x00000003,0x000200f8,0x00000005, + 0x0004003b,0x00000008,0x00000009,0x00000007,0x00050041,0x00000010,0x00000011,0x0000000d, + 0x0000000f,0x0004003d,0x00000007,0x00000012,0x00000011,0x0004003d,0x00000014,0x00000017, + 0x00000016,0x00050041,0x00000019,0x0000001a,0x0000000d,0x00000018,0x0004003d,0x0000000a, + 0x0000001b,0x0000001a,0x00050057,0x00000007,0x0000001c,0x00000017,0x0000001b,0x00050085, + 0x00000007,0x0000001d,0x00000012,0x0000001c,0x0003003e,0x00000009,0x0000001d,0x00050041, + 0x00000020,0x00000021,0x00000009,0x0000001f,0x0004003d,0x00000006,0x00000022,0x00000021, + 0x000500b4,0x00000024,0x00000025,0x00000022,0x00000023,0x000300f7,0x00000027,0x00000000, + 0x000400fa,0x00000025,0x00000026,0x00000027,0x000200f8,0x00000026,0x000100fc,0x000200f8, + 0x00000027,0x0004003d,0x00000007,0x0000002b,0x00000009,0x0003003e,0x0000002a,0x0000002b, + 0x000100fd,0x00010038 + }; + + void GraphicPipeline::init(Renderer& renderer) + { + VkShaderModuleCreateInfo createInfo{}; + createInfo.sType = VK_STRUCTURE_TYPE_SHADER_MODULE_CREATE_INFO; + createInfo.codeSize = vertex_shader.size() * sizeof(uint32_t); + createInfo.pCode = vertex_shader.data(); + VkShaderModule vshader; + if(vkCreateShaderModule(Render_Core::get().getDevice().get(), &createInfo, nullptr, &vshader) != VK_SUCCESS) + core::error::report(e_kind::fatal_error, "Vulkan : failed to create a vertex shader module"); + + VkPushConstantRange push_constant; + push_constant.offset = 0; + push_constant.size = sizeof(glm::vec2); + push_constant.stageFlags = VK_SHADER_STAGE_VERTEX_BIT; + + createInfo.sType = VK_STRUCTURE_TYPE_SHADER_MODULE_CREATE_INFO; + createInfo.codeSize = fragment_shader.size() * sizeof(uint32_t); + createInfo.pCode = fragment_shader.data(); + VkShaderModule fshader; + if(vkCreateShaderModule(Render_Core::get().getDevice().get(), &createInfo, nullptr, &fshader) != VK_SUCCESS) + core::error::report(e_kind::fatal_error, "Vulkan : failed to create a fragment shader module"); + + VkPipelineShaderStageCreateInfo vertShaderStageInfo{}; + vertShaderStageInfo.sType = VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_CREATE_INFO; + vertShaderStageInfo.stage = VK_SHADER_STAGE_VERTEX_BIT; + vertShaderStageInfo.module = vshader; + vertShaderStageInfo.pName = "main"; + + VkPipelineShaderStageCreateInfo fragShaderStageInfo{}; + fragShaderStageInfo.sType = VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_CREATE_INFO; + fragShaderStageInfo.stage = VK_SHADER_STAGE_FRAGMENT_BIT; + fragShaderStageInfo.module = fshader; + fragShaderStageInfo.pName = "main"; + + std::array stages = {vertShaderStageInfo, fragShaderStageInfo}; + + auto bindingDescription = Vertex::getBindingDescription(); + auto attributeDescriptions = Vertex::getAttributeDescriptions(); + + VkPipelineVertexInputStateCreateInfo vertexInputStateCreateInfo{}; + vertexInputStateCreateInfo.sType = VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_STATE_CREATE_INFO; + vertexInputStateCreateInfo.vertexBindingDescriptionCount = 1; + vertexInputStateCreateInfo.pVertexBindingDescriptions = &bindingDescription; + vertexInputStateCreateInfo.vertexAttributeDescriptionCount = static_cast(attributeDescriptions.size()); + vertexInputStateCreateInfo.pVertexAttributeDescriptions = attributeDescriptions.data(); + + VkPipelineInputAssemblyStateCreateInfo inputAssembly{}; + inputAssembly.sType = VK_STRUCTURE_TYPE_PIPELINE_INPUT_ASSEMBLY_STATE_CREATE_INFO; + inputAssembly.topology = VK_PRIMITIVE_TOPOLOGY_TRIANGLE_LIST; + inputAssembly.primitiveRestartEnable = VK_FALSE; + + VkDynamicState states[] = { VK_DYNAMIC_STATE_VIEWPORT, VK_DYNAMIC_STATE_SCISSOR }; + + constexpr size_t statesCount = sizeof(states) / sizeof(VkDynamicState); + VkPipelineDynamicStateCreateInfo dynamicStates{}; + dynamicStates.sType = VK_STRUCTURE_TYPE_PIPELINE_DYNAMIC_STATE_CREATE_INFO; + dynamicStates.dynamicStateCount = statesCount; + dynamicStates.pDynamicStates = states; + + VkViewport viewport{}; + viewport.x = 0.0f; + viewport.y = 0.0f; + viewport.width = (float)renderer.getSwapChain().getExtent().width; + viewport.height = (float)renderer.getSwapChain().getExtent().height; + viewport.minDepth = 0.0f; + viewport.maxDepth = 1.0f; + + VkRect2D scissor{}; + scissor.offset = { 0, 0 }; + scissor.extent = renderer.getSwapChain().getExtent(); + + VkPipelineViewportStateCreateInfo viewportState{}; + viewportState.sType = VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_STATE_CREATE_INFO; + viewportState.viewportCount = 1; + viewportState.pViewports = &viewport; + viewportState.scissorCount = 1; + viewportState.pScissors = &scissor; + + VkPipelineRasterizationStateCreateInfo rasterizer{}; + rasterizer.sType = VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_CREATE_INFO; + rasterizer.depthClampEnable = VK_FALSE; + rasterizer.rasterizerDiscardEnable = VK_FALSE; + rasterizer.polygonMode = VK_POLYGON_MODE_FILL; + rasterizer.lineWidth = 1.0f; + rasterizer.cullMode = VK_CULL_MODE_NONE; + rasterizer.frontFace = VK_FRONT_FACE_CLOCKWISE; + rasterizer.depthBiasEnable = VK_FALSE; + + VkPipelineMultisampleStateCreateInfo multisampling{}; + multisampling.sType = VK_STRUCTURE_TYPE_PIPELINE_MULTISAMPLE_STATE_CREATE_INFO; + multisampling.sampleShadingEnable = VK_FALSE; + multisampling.rasterizationSamples = VK_SAMPLE_COUNT_1_BIT; + + VkPipelineColorBlendAttachmentState colorBlendAttachment{}; + colorBlendAttachment.colorWriteMask = VK_COLOR_COMPONENT_R_BIT | VK_COLOR_COMPONENT_G_BIT | VK_COLOR_COMPONENT_B_BIT | VK_COLOR_COMPONENT_A_BIT; + colorBlendAttachment.blendEnable = VK_TRUE; + colorBlendAttachment.srcColorBlendFactor = VK_BLEND_FACTOR_SRC_ALPHA; + colorBlendAttachment.dstColorBlendFactor = VK_BLEND_FACTOR_ONE_MINUS_SRC_ALPHA; + colorBlendAttachment.colorBlendOp = VK_BLEND_OP_ADD; + colorBlendAttachment.srcAlphaBlendFactor = VK_BLEND_FACTOR_SRC_ALPHA; + colorBlendAttachment.dstAlphaBlendFactor = VK_BLEND_FACTOR_ONE_MINUS_SRC_ALPHA; + colorBlendAttachment.alphaBlendOp = VK_BLEND_OP_ADD; + + VkPipelineColorBlendStateCreateInfo colorBlending{}; + colorBlending.sType = VK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_STATE_CREATE_INFO; + colorBlending.logicOpEnable = VK_FALSE; + colorBlending.logicOp = VK_LOGIC_OP_COPY; + colorBlending.attachmentCount = 1; + colorBlending.pAttachments = &colorBlendAttachment; + colorBlending.blendConstants[0] = 1.0f; + colorBlending.blendConstants[1] = 1.0f; + colorBlending.blendConstants[2] = 1.0f; + colorBlending.blendConstants[3] = 1.0f; + + VkDescriptorSetLayout layouts[] = { + renderer.getVertDescriptorSetLayout().get(), + renderer.getFragDescriptorSetLayout().get() + }; + + VkPipelineLayoutCreateInfo pipelineLayoutInfo{}; + pipelineLayoutInfo.sType = VK_STRUCTURE_TYPE_PIPELINE_LAYOUT_CREATE_INFO; + pipelineLayoutInfo.setLayoutCount = 2; + pipelineLayoutInfo.pSetLayouts = layouts; + pipelineLayoutInfo.pushConstantRangeCount = 1; + pipelineLayoutInfo.pPushConstantRanges = &push_constant; + + if(vkCreatePipelineLayout(Render_Core::get().getDevice().get(), &pipelineLayoutInfo, nullptr, &_pipelineLayout) != VK_SUCCESS) + core::error::report(e_kind::fatal_error, "Vulkan : failed to create a graphics pipeline layout"); + + VkGraphicsPipelineCreateInfo pipelineInfo{}; + pipelineInfo.sType = VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_CREATE_INFO; + pipelineInfo.stageCount = stages.size(); + pipelineInfo.pStages = stages.data(); + pipelineInfo.pVertexInputState = &vertexInputStateCreateInfo; + pipelineInfo.pInputAssemblyState = &inputAssembly; + pipelineInfo.pViewportState = &viewportState; + pipelineInfo.pRasterizationState = &rasterizer; + pipelineInfo.pMultisampleState = &multisampling; + pipelineInfo.pColorBlendState = &colorBlending; + pipelineInfo.pDynamicState = &dynamicStates; + pipelineInfo.layout = _pipelineLayout; + pipelineInfo.renderPass = renderer.getRenderPass().get(); + pipelineInfo.subpass = 0; + pipelineInfo.basePipelineHandle = VK_NULL_HANDLE; + + if(vkCreateGraphicsPipelines(Render_Core::get().getDevice().get(), VK_NULL_HANDLE, 1, &pipelineInfo, nullptr, &_graphicsPipeline) != VK_SUCCESS) + core::error::report(e_kind::fatal_error, "Vulkan : failed to create a graphics pipeline"); +#ifdef DEBUG + core::error::report(e_kind::message, "Vulkan : created new graphic pipeline"); +#endif + + vkDestroyShaderModule(Render_Core::get().getDevice().get(), fshader, nullptr); + vkDestroyShaderModule(Render_Core::get().getDevice().get(), vshader, nullptr); + } + + void GraphicPipeline::destroy() noexcept + { + vkDestroyPipeline(Render_Core::get().getDevice().get(), _graphicsPipeline, nullptr); + vkDestroyPipelineLayout(Render_Core::get().getDevice().get(), _pipelineLayout, nullptr); + } +} diff --git a/MacroLibX/src/renderer/pipeline/pipeline.h b/MacroLibX/src/renderer/pipeline/pipeline.h new file mode 100644 index 0000000..6dbfe7a --- /dev/null +++ b/MacroLibX/src/renderer/pipeline/pipeline.h @@ -0,0 +1,40 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* pipeline.h :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: maldavid +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* Created: 2022/12/18 21:23:52 by maldavid #+# #+# */ +/* Updated: 2023/12/08 19:10:51 by kbz_8 ### ########.fr */ +/* */ +/* ************************************************************************** */ + +#ifndef __PIPELINE__ +#define __PIPELINE__ + +#include +#include +#include + +namespace mlx +{ + class GraphicPipeline + { + public: + void init(class Renderer& renderer); + void destroy() noexcept; + + inline void bindPipeline(CmdBuffer& commandBuffer) noexcept { vkCmdBindPipeline(commandBuffer.get(), VK_PIPELINE_BIND_POINT_GRAPHICS, _graphicsPipeline); } + + inline const VkPipeline& getPipeline() const noexcept { return _graphicsPipeline; } + inline const VkPipelineLayout& getPipelineLayout() const noexcept { return _pipelineLayout; } + + private: + VkPipeline _graphicsPipeline = VK_NULL_HANDLE; + VkPipelineCache _cache = VK_NULL_HANDLE; + VkPipelineLayout _pipelineLayout = VK_NULL_HANDLE; + }; +} + +#endif diff --git a/MacroLibX/src/renderer/pixel_put.cpp b/MacroLibX/src/renderer/pixel_put.cpp new file mode 100644 index 0000000..00349e4 --- /dev/null +++ b/MacroLibX/src/renderer/pixel_put.cpp @@ -0,0 +1,67 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* pixel_put.cpp :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: maldavid +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* Created: 2023/03/31 15:14:50 by maldavid #+# #+# */ +/* Updated: 2023/11/16 13:44:58 by maldavid ### ########.fr */ +/* */ +/* ************************************************************************** */ + +#include +#include + +namespace mlx +{ + void PixelPutPipeline::init(uint32_t width, uint32_t height, Renderer& renderer) noexcept + { + _texture.create(nullptr, width, height, VK_FORMAT_R8G8B8A8_UNORM, "__mlx_pixel_put_pipeline_texture", true); + _texture.setDescriptor(renderer.getFragDescriptorSet().duplicate()); + + _buffer.create(Buffer::kind::dynamic, sizeof(uint32_t) * (width * height), VK_BUFFER_USAGE_TRANSFER_SRC_BIT, "__mlx_pixel_put_pipeline_texture"); + _buffer.mapMem(&_buffer_map); + _cpu_map = std::vector(height * width, 0); + _width = width; + _height = height; + } + + void PixelPutPipeline::setPixel(uint32_t x, uint32_t y, uint32_t color) noexcept + { + if(x < 0 || y < 0 || x > _width || y > _height) + return; + _cpu_map[(y * _width) + x] = color; + _has_been_modified = true; + } + + void PixelPutPipeline::clear() + { + _cpu_map.assign(_width * _height, 0); + _has_been_modified = true; + } + + void PixelPutPipeline::present() noexcept + { + if(_has_been_modified) + { + std::memcpy(_buffer_map, _cpu_map.data(), sizeof(uint32_t) * _cpu_map.size()); + _texture.copyFromBuffer(_buffer); + _has_been_modified = false; + } + _texture.updateSet(0); + } + + void PixelPutPipeline::render(Renderer& renderer) noexcept + { + _texture.render(renderer, 0, 0); + } + + void PixelPutPipeline::destroy() noexcept + { + _buffer.destroy(); + _texture.destroy(); + } + + PixelPutPipeline::~PixelPutPipeline() {} +} diff --git a/MacroLibX/src/renderer/pixel_put.h b/MacroLibX/src/renderer/pixel_put.h new file mode 100644 index 0000000..503bf62 --- /dev/null +++ b/MacroLibX/src/renderer/pixel_put.h @@ -0,0 +1,51 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* pixel_put.h :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: maldavid +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* Created: 2023/03/31 13:18:50 by maldavid #+# #+# */ +/* Updated: 2023/12/08 19:11:43 by kbz_8 ### ########.fr */ +/* */ +/* ************************************************************************** */ + +#ifndef __MLX_PIXEL_PUT__ +#define __MLX_PIXEL_PUT__ + +#include +#include +#include + +namespace mlx +{ + class PixelPutPipeline + { + public: + PixelPutPipeline() = default; + + void init(uint32_t width, uint32_t height, class Renderer& renderer) noexcept; + + void setPixel(uint32_t x, uint32_t y, uint32_t color) noexcept; + void present() noexcept; + void render(class Renderer& renderer) noexcept; + inline VkDescriptorSet getDescriptorSet() noexcept { return _texture.getSet(); } + + void clear(); + void destroy() noexcept; + + ~PixelPutPipeline(); + + private: + Texture _texture; + Buffer _buffer; + // using vector as CPU map and not directly writting to mapped buffer to improve performances + std::vector _cpu_map; + void* _buffer_map = nullptr; + uint32_t _width = 0; + uint32_t _height = 0; + bool _has_been_modified = true; + }; +} + +#endif diff --git a/MacroLibX/src/renderer/renderer.cpp b/MacroLibX/src/renderer/renderer.cpp new file mode 100644 index 0000000..5a6f663 --- /dev/null +++ b/MacroLibX/src/renderer/renderer.cpp @@ -0,0 +1,149 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* renderer.cpp :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: maldavid +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* Created: 2022/12/18 17:25:16 by maldavid #+# #+# */ +/* Updated: 2023/11/20 07:25:47 by maldavid ### ########.fr */ +/* */ +/* ************************************************************************** */ + +#include +#include +#include + +namespace mlx +{ + void Renderer::init() + { + _surface.create(*this); + _swapchain.init(this); + _pass.init(_swapchain.getImagesFormat()); + _cmd.init(); + + for(int i = 0; i < _swapchain.getImagesNumber(); i++) + _framebuffers.emplace_back().init(_pass, _swapchain.getImage(i)); + for(int i = 0; i < MAX_FRAMES_IN_FLIGHT; i++) + _semaphores[i].init(); + + _uniform_buffer.reset(new UBO); + #ifdef DEBUG + _uniform_buffer->create(this, sizeof(glm::mat4), "__mlx_matrices_uniform_buffer_"); + #else + _uniform_buffer->create(this, sizeof(glm::mat4), nullptr); + #endif + + VkDescriptorPoolSize pool_sizes[] = { + { VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER, 4096 }, + { VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER, 4096 } + }; + _desc_pool.init(2, pool_sizes); + + _vert_layout.init({ + {0, VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER} + }, VK_SHADER_STAGE_VERTEX_BIT); + _frag_layout.init({ + {0, VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER} + }, VK_SHADER_STAGE_FRAGMENT_BIT); + + _vert_set.init(this, &_desc_pool, &_vert_layout); + _frag_set.init(this, &_desc_pool, &_frag_layout); + + _vert_set.writeDescriptor(0, _uniform_buffer.get()); + + _pipeline.init(*this); + + _framebufferResized = false; + } + + bool Renderer::beginFrame() + { + auto device = Render_Core::get().getDevice().get(); + + _cmd.getCmdBuffer(_current_frame_index).waitForExecution(); + _cmd.getCmdBuffer(_current_frame_index).reset(); + + VkResult result = vkAcquireNextImageKHR(device, _swapchain(), UINT64_MAX, _semaphores[_current_frame_index].getImageSemaphore(), VK_NULL_HANDLE, &_image_index); + + if(result == VK_ERROR_OUT_OF_DATE_KHR) + { + _swapchain.recreate(); + return false; + } + else if(result != VK_SUCCESS && result != VK_SUBOPTIMAL_KHR) + core::error::report(e_kind::fatal_error, "Vulkan error : failed to acquire swapchain image"); + + _cmd.getCmdBuffer(_current_frame_index).beginRecord(); + auto& fb = _framebuffers[_image_index]; + _pass.begin(getActiveCmdBuffer(), fb); + + _pipeline.bindPipeline(_cmd.getCmdBuffer(_current_frame_index)); + + VkViewport viewport{}; + viewport.x = 0.0f; + viewport.y = 0.0f; + viewport.width = static_cast(fb.getWidth()); + viewport.height = static_cast(fb.getHeight()); + viewport.minDepth = 0.0f; + viewport.maxDepth = 1.0f; + vkCmdSetViewport(_cmd.getCmdBuffer(_current_frame_index).get(), 0, 1, &viewport); + + VkRect2D scissor{}; + scissor.offset = { 0, 0 }; + scissor.extent = _swapchain.getExtent(); + vkCmdSetScissor(_cmd.getCmdBuffer(_current_frame_index).get(), 0, 1, &scissor); + + return true; + } + + void Renderer::endFrame() + { + _pass.end(getActiveCmdBuffer()); + _cmd.getCmdBuffer(_current_frame_index).endRecord(); + _cmd.getCmdBuffer(_current_frame_index).submit(_semaphores[_current_frame_index]); + + VkSwapchainKHR swapchain = _swapchain(); + VkSemaphore signalSemaphores[] = { _semaphores[_current_frame_index].getRenderImageSemaphore() }; + + VkPresentInfoKHR presentInfo{}; + presentInfo.sType = VK_STRUCTURE_TYPE_PRESENT_INFO_KHR; + presentInfo.waitSemaphoreCount = 1; + presentInfo.pWaitSemaphores = signalSemaphores; + presentInfo.swapchainCount = 1; + presentInfo.pSwapchains = &swapchain; + presentInfo.pImageIndices = &_image_index; + + VkResult result = vkQueuePresentKHR(Render_Core::get().getQueue().getPresent(), &presentInfo); + + if(result == VK_ERROR_OUT_OF_DATE_KHR || result == VK_SUBOPTIMAL_KHR || _framebufferResized) + { + _framebufferResized = false; + _swapchain.recreate(); + } + else if(result != VK_SUCCESS) + core::error::report(e_kind::fatal_error, "Vulkan error : failed to present swap chain image"); + + _current_frame_index = (_current_frame_index + 1) % MAX_FRAMES_IN_FLIGHT; + } + + void Renderer::destroy() + { + vkDeviceWaitIdle(Render_Core::get().getDevice().get()); + + _pipeline.destroy(); + _uniform_buffer->destroy(); + _vert_layout.destroy(); + _frag_layout.destroy(); + _cmd.destroy(); + _desc_pool.destroy(); + _pass.destroy(); + _swapchain.destroy(); + for(auto& fb : _framebuffers) + fb.destroy(); + for(int i = 0; i < MAX_FRAMES_IN_FLIGHT; i++) + _semaphores[i].destroy(); + _surface.destroy(); + } +} diff --git a/MacroLibX/src/renderer/renderer.h b/MacroLibX/src/renderer/renderer.h new file mode 100644 index 0000000..42b8db9 --- /dev/null +++ b/MacroLibX/src/renderer/renderer.h @@ -0,0 +1,143 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* renderer.h :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: maldavid +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* Created: 2022/12/18 17:14:45 by maldavid #+# #+# */ +/* Updated: 2023/12/08 19:12:06 by kbz_8 ### ########.fr */ +/* */ +/* ************************************************************************** */ + +#ifndef __RENDERER__ +#define __RENDERER__ + +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include + +#include + +namespace mlx +{ + struct Vertex + { + glm::vec2 pos; + glm::vec4 color; + glm::vec2 uv; + + Vertex(glm::vec2 _pos, glm::vec4 _color, glm::vec2 _uv) : pos(std::move(_pos)), color(std::move(_color)), uv(std::move(_uv)) {} + + static VkVertexInputBindingDescription getBindingDescription() + { + VkVertexInputBindingDescription bindingDescription{}; + bindingDescription.binding = 0; + bindingDescription.stride = sizeof(Vertex); + bindingDescription.inputRate = VK_VERTEX_INPUT_RATE_VERTEX; + + return bindingDescription; + } + + static std::array getAttributeDescriptions() + { + std::array attributeDescriptions; + + attributeDescriptions[0].binding = 0; + attributeDescriptions[0].location = 0; + attributeDescriptions[0].format = VK_FORMAT_R32G32_SFLOAT; + attributeDescriptions[0].offset = offsetof(Vertex, pos); + + attributeDescriptions[1].binding = 0; + attributeDescriptions[1].location = 1; + attributeDescriptions[1].format = VK_FORMAT_R32G32B32A32_SFLOAT; + attributeDescriptions[1].offset = offsetof(Vertex, color); + + attributeDescriptions[2].binding = 0; + attributeDescriptions[2].location = 2; + attributeDescriptions[2].format = VK_FORMAT_R32G32_SFLOAT; + attributeDescriptions[2].offset = offsetof(Vertex, uv); + + return attributeDescriptions; + } + }; + + class Renderer + { + public: + Renderer() = default; + + void init(); + + bool beginFrame(); + void endFrame(); + + void destroy(); + + inline class MLX_Window* getWindow() { return _window; } + inline void setWindow(class MLX_Window* window) { _window = window; } + + inline Surface& getSurface() noexcept { return _surface; } + inline CmdPool& getCmdPool() noexcept { return _cmd.getCmdPool(); } + inline UBO* getUniformBuffer() noexcept { return _uniform_buffer.get(); } + inline SwapChain& getSwapChain() noexcept { return _swapchain; } + inline Semaphore& getSemaphore(int i) noexcept { return _semaphores[i]; } + inline RenderPass& getRenderPass() noexcept { return _pass; } + inline GraphicPipeline& getPipeline() noexcept { return _pipeline; } + inline CmdBuffer& getCmdBuffer(int i) noexcept { return _cmd.getCmdBuffer(i); } + inline CmdBuffer& getActiveCmdBuffer() noexcept { return _cmd.getCmdBuffer(_current_frame_index); } + inline DescriptorSet& getVertDescriptorSet() noexcept { return _vert_set; } + inline DescriptorSet& getFragDescriptorSet() noexcept { return _frag_set; } + inline DescriptorSetLayout& getVertDescriptorSetLayout() noexcept { return _vert_layout; } + inline DescriptorSetLayout& getFragDescriptorSetLayout() noexcept { return _frag_layout; } + inline uint32_t getActiveImageIndex() noexcept { return _current_frame_index; } + inline uint32_t getImageIndex() noexcept { return _image_index; } + + constexpr inline void requireFrameBufferResize(int index) noexcept { _framebufferResized = true; } + + ~Renderer() = default; + + private: + GraphicPipeline _pipeline; + CmdManager _cmd; + RenderPass _pass; + Surface _surface; + SwapChain _swapchain; + std::array _semaphores; + std::vector _framebuffers; + + DescriptorPool _desc_pool; + + DescriptorSetLayout _vert_layout; + DescriptorSetLayout _frag_layout; + + DescriptorSet _vert_set; + DescriptorSet _frag_set; + + std::unique_ptr _uniform_buffer; + + class MLX_Window* _window = nullptr; + + uint32_t _current_frame_index = 0; + uint32_t _image_index = 0; + bool _framebufferResized = false; + }; +} + +#endif diff --git a/MacroLibX/src/renderer/renderpass/vk_framebuffer.cpp b/MacroLibX/src/renderer/renderpass/vk_framebuffer.cpp new file mode 100644 index 0000000..ed868ca --- /dev/null +++ b/MacroLibX/src/renderer/renderpass/vk_framebuffer.cpp @@ -0,0 +1,48 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* vk_framebuffer.cpp :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: maldavid +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* Created: 2022/10/06 18:18:06 by maldavid #+# #+# */ +/* Updated: 2023/11/20 07:24:26 by maldavid ### ########.fr */ +/* */ +/* ************************************************************************** */ + +#include +#include +#include +#include + +namespace mlx +{ + void FrameBuffer::init(RenderPass& renderpass, Image& image) + { + VkImageView attachments[] = { image.getImageView() }; + + _width = image.getWidth(); + _height = image.getHeight(); + + VkFramebufferCreateInfo framebufferInfo{}; + framebufferInfo.sType = VK_STRUCTURE_TYPE_FRAMEBUFFER_CREATE_INFO; + framebufferInfo.renderPass = renderpass.get(); + framebufferInfo.attachmentCount = 1; + framebufferInfo.pAttachments = attachments; + framebufferInfo.width = _width; + framebufferInfo.height = _height; + framebufferInfo.layers = 1; + + if(vkCreateFramebuffer(Render_Core::get().getDevice().get(), &framebufferInfo, nullptr, &_framebuffer) != VK_SUCCESS) + core::error::report(e_kind::fatal_error, "Vulkan : failed to create a framebuffer"); + #ifdef DEBUG + core::error::report(e_kind::message, "Vulkan : created new framebuffer"); + #endif + } + + void FrameBuffer::destroy() noexcept + { + vkDestroyFramebuffer(Render_Core::get().getDevice().get(), _framebuffer, nullptr); + _framebuffer = VK_NULL_HANDLE; + } +} diff --git a/MacroLibX/src/renderer/renderpass/vk_framebuffer.h b/MacroLibX/src/renderer/renderpass/vk_framebuffer.h new file mode 100644 index 0000000..d8c92ed --- /dev/null +++ b/MacroLibX/src/renderer/renderpass/vk_framebuffer.h @@ -0,0 +1,39 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* vk_framebuffer.h :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: maldavid +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* Created: 2022/10/06 18:19:44 by maldavid #+# #+# */ +/* Updated: 2023/12/08 19:11:04 by kbz_8 ### ########.fr */ +/* */ +/* ************************************************************************** */ + +#ifndef __MLX_VK_FRAMEBUFFER__ +#define __MLX_VK_FRAMEBUFFER__ + +#include +#include + +namespace mlx +{ + class FrameBuffer + { + public: + void init(class RenderPass& renderpass, class Image& image); + void destroy() noexcept; + + inline VkFramebuffer& operator()() noexcept { return _framebuffer; } + inline VkFramebuffer& get() noexcept { return _framebuffer; } + inline uint32_t getWidth() const noexcept { return _width; } + inline uint32_t getHeight() const noexcept { return _height; } + + private: + VkFramebuffer _framebuffer = VK_NULL_HANDLE; + uint32_t _width = 0; + uint32_t _height = 0; + }; +} + +#endif // __MLX_VK_FRAMEBUFFER__ diff --git a/MacroLibX/src/renderer/renderpass/vk_render_pass.cpp b/MacroLibX/src/renderer/renderpass/vk_render_pass.cpp new file mode 100644 index 0000000..42184ea --- /dev/null +++ b/MacroLibX/src/renderer/renderpass/vk_render_pass.cpp @@ -0,0 +1,91 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* vk_render_pass.cpp :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: maldavid +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* Created: 2022/10/06 18:21:36 by maldavid #+# #+# */ +/* Updated: 2023/11/20 07:24:40 by maldavid ### ########.fr */ +/* */ +/* ************************************************************************** */ + +#include "vk_render_pass.h" +#include +#include +#include +#include + +namespace mlx +{ + static const VkClearValue clearColor = { 0.0f, 0.0f, 0.0f, 1.0f }; + + void RenderPass::init(VkFormat attachement_format) + { + VkAttachmentDescription colorAttachment{}; + colorAttachment.format = attachement_format; + colorAttachment.samples = VK_SAMPLE_COUNT_1_BIT; + colorAttachment.loadOp = VK_ATTACHMENT_LOAD_OP_CLEAR; + colorAttachment.storeOp = VK_ATTACHMENT_STORE_OP_STORE; + colorAttachment.stencilLoadOp = VK_ATTACHMENT_LOAD_OP_DONT_CARE; + colorAttachment.stencilStoreOp = VK_ATTACHMENT_STORE_OP_DONT_CARE; + colorAttachment.initialLayout = VK_IMAGE_LAYOUT_UNDEFINED; + colorAttachment.finalLayout = VK_IMAGE_LAYOUT_PRESENT_SRC_KHR; + + VkAttachmentReference colorAttachmentRef{}; + colorAttachmentRef.attachment = 0; + colorAttachmentRef.layout = VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL; + + VkSubpassDescription subpass{}; + subpass.pipelineBindPoint = VK_PIPELINE_BIND_POINT_GRAPHICS; + subpass.colorAttachmentCount = 1; + subpass.pColorAttachments = &colorAttachmentRef; + + VkRenderPassCreateInfo renderPassInfo{}; + renderPassInfo.sType = VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO; + renderPassInfo.attachmentCount = 1; + renderPassInfo.pAttachments = &colorAttachment; + renderPassInfo.subpassCount = 1; + renderPassInfo.pSubpasses = &subpass; + + if(vkCreateRenderPass(Render_Core::get().getDevice().get(), &renderPassInfo, nullptr, &_renderPass) != VK_SUCCESS) + core::error::report(e_kind::fatal_error, "Vulkan : failed to create render pass"); + #ifdef DEBUG + core::error::report(e_kind::message, "Vulkan : created new render pass"); + #endif + } + + void RenderPass::begin(class CmdBuffer& cmd, class FrameBuffer& fb) + { + if(_is_running) + return; + + VkRenderPassBeginInfo renderPassInfo{}; + renderPassInfo.sType = VK_STRUCTURE_TYPE_RENDER_PASS_BEGIN_INFO; + renderPassInfo.renderPass = _renderPass; + renderPassInfo.framebuffer = fb.get(); + renderPassInfo.renderArea.offset = { 0, 0 }; + renderPassInfo.renderArea.extent = { fb.getWidth(), fb.getHeight() }; + renderPassInfo.clearValueCount = 1; + renderPassInfo.pClearValues = &clearColor; + + vkCmdBeginRenderPass(cmd.get(), &renderPassInfo, VK_SUBPASS_CONTENTS_INLINE); + + _is_running = true; + } + + void RenderPass::end(class CmdBuffer& cmd) + { + if(!_is_running) + return; + + vkCmdEndRenderPass(cmd.get()); + _is_running = false; + } + + void RenderPass::destroy() noexcept + { + vkDestroyRenderPass(Render_Core::get().getDevice().get(), _renderPass, nullptr); + _renderPass = VK_NULL_HANDLE; + } +} diff --git a/MacroLibX/src/renderer/renderpass/vk_render_pass.h b/MacroLibX/src/renderer/renderpass/vk_render_pass.h new file mode 100644 index 0000000..c955800 --- /dev/null +++ b/MacroLibX/src/renderer/renderpass/vk_render_pass.h @@ -0,0 +1,39 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* vk_render_pass.h :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: maldavid +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* Created: 2022/10/06 18:22:00 by maldavid #+# #+# */ +/* Updated: 2023/12/08 19:11:14 by kbz_8 ### ########.fr */ +/* */ +/* ************************************************************************** */ + +#ifndef __MLX_VK_RENDER_PASS__ +#define __MLX_VK_RENDER_PASS__ + +#include +#include + +namespace mlx +{ + class RenderPass + { + public: + void init(VkFormat attachement_format); + void destroy() noexcept; + + void begin(class CmdBuffer& cmd, class FrameBuffer& fb); + void end(class CmdBuffer& cmd); + + inline VkRenderPass& operator()() noexcept { return _renderPass; } + inline VkRenderPass& get() noexcept { return _renderPass; } + + private: + VkRenderPass _renderPass = VK_NULL_HANDLE; + bool _is_running = false; + }; +} + +#endif // __MLX_VK_RENDER_PASS__ diff --git a/MacroLibX/src/renderer/swapchain/vk_swapchain.cpp b/MacroLibX/src/renderer/swapchain/vk_swapchain.cpp new file mode 100644 index 0000000..626d305 --- /dev/null +++ b/MacroLibX/src/renderer/swapchain/vk_swapchain.cpp @@ -0,0 +1,154 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* vk_swapchain.cpp :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: maldavid +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* Created: 2022/10/06 18:22:28 by maldavid #+# #+# */ +/* Updated: 2023/11/18 17:15:10 by maldavid ### ########.fr */ +/* */ +/* ************************************************************************** */ + +#include +#include +#include +#include +#include + +namespace mlx +{ + void SwapChain::init(Renderer* renderer) + { + VkDevice device = Render_Core::get().getDevice().get(); + + _renderer = renderer; + _swapChainSupport = querySwapChainSupport(Render_Core::get().getDevice().getPhysicalDevice()); + + VkSurfaceFormatKHR surfaceFormat = renderer->getSurface().chooseSwapSurfaceFormat(_swapChainSupport.formats); + VkPresentModeKHR presentMode = chooseSwapPresentMode(_swapChainSupport.presentModes); + _extent = chooseSwapExtent(_swapChainSupport.capabilities); + + uint32_t imageCount = _swapChainSupport.capabilities.minImageCount + 1; + if(_swapChainSupport.capabilities.maxImageCount > 0 && imageCount > _swapChainSupport.capabilities.maxImageCount) + imageCount = _swapChainSupport.capabilities.maxImageCount; + + Queues::QueueFamilyIndices indices = Render_Core::get().getQueue().findQueueFamilies(Render_Core::get().getDevice().getPhysicalDevice(), renderer->getSurface().get()); + uint32_t queueFamilyIndices[] = { indices.graphicsFamily.value(), indices.presentFamily.value() }; + + VkSwapchainCreateInfoKHR createInfo{}; + createInfo.sType = VK_STRUCTURE_TYPE_SWAPCHAIN_CREATE_INFO_KHR; + createInfo.surface = renderer->getSurface().get(); + createInfo.minImageCount = imageCount; + createInfo.imageFormat = surfaceFormat.format; + createInfo.imageColorSpace = surfaceFormat.colorSpace; + createInfo.imageExtent = _extent; + createInfo.imageArrayLayers = 1; + createInfo.imageUsage = VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT; + createInfo.preTransform = _swapChainSupport.capabilities.currentTransform; + createInfo.compositeAlpha = VK_COMPOSITE_ALPHA_OPAQUE_BIT_KHR; + createInfo.presentMode = presentMode; + createInfo.clipped = VK_TRUE; + createInfo.oldSwapchain = VK_NULL_HANDLE; + if(indices.graphicsFamily != indices.presentFamily) + { + createInfo.imageSharingMode = VK_SHARING_MODE_CONCURRENT; + createInfo.queueFamilyIndexCount = 2; + createInfo.pQueueFamilyIndices = queueFamilyIndices; + } + else + createInfo.imageSharingMode = VK_SHARING_MODE_EXCLUSIVE; + + if(vkCreateSwapchainKHR(device, &createInfo, nullptr, &_swapChain) != VK_SUCCESS) + core::error::report(e_kind::fatal_error, "Vulkan : failed to create the swapchain"); + + std::vector tmp; + vkGetSwapchainImagesKHR(device, _swapChain, &imageCount, nullptr); + _images.resize(imageCount); + tmp.resize(imageCount); + vkGetSwapchainImagesKHR(device, _swapChain, &imageCount, tmp.data()); + + for(int i = 0; i < imageCount; i++) + { + _images[i].create(tmp[i], surfaceFormat.format, _extent.width, _extent.height); + _images[i].transitionLayout(VK_IMAGE_LAYOUT_PRESENT_SRC_KHR); + _images[i].createImageView(VK_IMAGE_VIEW_TYPE_2D, VK_IMAGE_ASPECT_COLOR_BIT); + } + + _swapChainImageFormat = surfaceFormat.format; + #ifdef DEBUG + core::error::report(e_kind::message, "Vulkan : created new swapchain"); + #endif + } + + SwapChain::SwapChainSupportDetails SwapChain::querySwapChainSupport(VkPhysicalDevice device) + { + SwapChain::SwapChainSupportDetails details; + VkSurfaceKHR surface = _renderer->getSurface().get(); + + if(vkGetPhysicalDeviceSurfaceCapabilitiesKHR(device, surface, &details.capabilities) != VK_SUCCESS) + core::error::report(e_kind::fatal_error, "Vulkan : unable to retrieve surface capabilities"); + + uint32_t formatCount = 0; + vkGetPhysicalDeviceSurfaceFormatsKHR(device, surface, &formatCount, nullptr); + + if(formatCount != 0) + { + details.formats.resize(formatCount); + vkGetPhysicalDeviceSurfaceFormatsKHR(device, surface, &formatCount, details.formats.data()); + } + + uint32_t presentModeCount; + vkGetPhysicalDeviceSurfacePresentModesKHR(device, surface, &presentModeCount, nullptr); + + if(presentModeCount != 0) + { + details.presentModes.resize(presentModeCount); + vkGetPhysicalDeviceSurfacePresentModesKHR(device, surface, &presentModeCount, details.presentModes.data()); + } + + return details; + } + + VkPresentModeKHR SwapChain::chooseSwapPresentMode([[maybe_unused]] const std::vector& availablePresentModes) + { + // in the future, you may choose to activate vsync or not + return VK_PRESENT_MODE_IMMEDIATE_KHR; + } + + VkExtent2D SwapChain::chooseSwapExtent(const VkSurfaceCapabilitiesKHR& capabilities) + { + if(capabilities.currentExtent.width != std::numeric_limits::max()) + return capabilities.currentExtent; + + int width, height; + SDL_Vulkan_GetDrawableSize(_renderer->getWindow()->getNativeWindow(), &width, &height); + + VkExtent2D actualExtent = { static_cast(width), static_cast(height) }; + + actualExtent.width = std::clamp(actualExtent.width, capabilities.minImageExtent.width, capabilities.maxImageExtent.width); + actualExtent.height = std::clamp(actualExtent.height, capabilities.minImageExtent.height, capabilities.maxImageExtent.height); + + return actualExtent; + } + + void SwapChain::recreate() + { + destroy(); + init(_renderer); + } + + void SwapChain::destroy() noexcept + { + if(_swapChain == VK_NULL_HANDLE) + return; + vkDeviceWaitIdle(Render_Core::get().getDevice().get()); + vkDestroySwapchainKHR(Render_Core::get().getDevice().get(), _swapChain, nullptr); + _swapChain = VK_NULL_HANDLE; + for(Image& img : _images) + { + img.destroyImageView(); + img.destroyCmdPool(); + } + } +} diff --git a/MacroLibX/src/renderer/swapchain/vk_swapchain.h b/MacroLibX/src/renderer/swapchain/vk_swapchain.h new file mode 100644 index 0000000..b6b8374 --- /dev/null +++ b/MacroLibX/src/renderer/swapchain/vk_swapchain.h @@ -0,0 +1,68 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* vk_swapchain.h :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: maldavid +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* Created: 2022/10/06 18:23:27 by maldavid #+# #+# */ +/* Updated: 2023/12/08 19:11:30 by kbz_8 ### ########.fr */ +/* */ +/* ************************************************************************** */ + +#ifndef __MLX_VK_SWAPCHAIN__ +#define __MLX_VK_SWAPCHAIN__ + +#include +#include +#include +#include + +namespace mlx +{ + class SwapChain + { + friend class GraphicPipeline; + friend class RenderPass; + friend class Renderer; + + public: + struct SwapChainSupportDetails + { + VkSurfaceCapabilitiesKHR capabilities; + std::vector formats; + std::vector presentModes; + }; + + public: + SwapChain() = default; + + void init(class Renderer* renderer); + void recreate(); + void destroy() noexcept; + + SwapChainSupportDetails querySwapChainSupport(VkPhysicalDevice device); + VkExtent2D chooseSwapExtent(const VkSurfaceCapabilitiesKHR& capabilities); + VkPresentModeKHR chooseSwapPresentMode([[maybe_unused]] const std::vector &availablePresentModes); + + inline VkSwapchainKHR get() noexcept { return _swapChain; } + inline VkSwapchainKHR operator()() noexcept { return _swapChain; } + inline size_t getImagesNumber() const noexcept { return _images.size(); } + inline Image& getImage(std::size_t i) noexcept { return _images[i]; } + inline SwapChainSupportDetails getSupport() noexcept { return _swapChainSupport; } + inline VkExtent2D getExtent() noexcept { return _extent; } + inline VkFormat getImagesFormat() const noexcept { return _swapChainImageFormat; } + + ~SwapChain() = default; + + private: + SwapChainSupportDetails _swapChainSupport; + VkSwapchainKHR _swapChain; + std::vector _images; + VkFormat _swapChainImageFormat; + VkExtent2D _extent; + class Renderer* _renderer = nullptr; + }; +} + +#endif // __MLX_VK_SWAPCHAIN__ diff --git a/MacroLibX/src/renderer/text_library.cpp b/MacroLibX/src/renderer/text_library.cpp new file mode 100644 index 0000000..ec34951 --- /dev/null +++ b/MacroLibX/src/renderer/text_library.cpp @@ -0,0 +1,79 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* text_library.cpp :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: maldavid +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* Created: 2023/04/10 11:59:57 by maldavid #+# #+# */ +/* Updated: 2023/11/16 13:45:31 by maldavid ### ########.fr */ +/* */ +/* ************************************************************************** */ + +#include +#include +#include +#include + +namespace mlx +{ + void TextData::init(std::string text, std::vector vbo_data, std::vector ibo_data) + { + _text = std::move(text); + #ifdef DEBUG + _vbo.create(sizeof(Vertex) * vbo_data.size(), vbo_data.data(), _text.c_str()); + _ibo.create(sizeof(uint16_t) * ibo_data.size(), ibo_data.data(), _text.c_str()); + #else + _vbo.create(sizeof(Vertex) * vbo_data.size(), vbo_data.data(), nullptr); + _ibo.create(sizeof(uint16_t) * ibo_data.size(), ibo_data.data(), nullptr); + #endif + } + + void TextData::bind(Renderer& renderer) noexcept + { + _vbo.bind(renderer); + _ibo.bind(renderer); + } + + void TextData::destroy() noexcept + { + _vbo.destroy(); + _ibo.destroy(); + } + + std::shared_ptr TextLibrary::getTextData(TextID id) + { + if(!_cache.count(id)) + core::error::report(e_kind::fatal_error, "Text Library : wrong text ID '%d'", id); + return _cache[id]; + } + + TextID TextLibrary::addTextToLibrary(std::shared_ptr text) + { + auto it = std::find_if(_cache.begin(), _cache.end(), [=](const std::pair>& v) + { + return v.second->getText() == text->getText(); + }); + if(it != _cache.end()) + return it->first; + _cache[_current_id] = text; + _current_id++; + return _current_id - 1; + } + + void TextLibrary::removeTextFromLibrary(TextID id) + { + if(_cache.count(id)) + { + _cache[id]->destroy(); + _cache.erase(id); + } + } + + void TextLibrary::clearLibrary() + { + for(auto [id, text] : _cache) + text->destroy(); + _cache.clear(); + } +} diff --git a/MacroLibX/src/renderer/text_library.h b/MacroLibX/src/renderer/text_library.h new file mode 100644 index 0000000..aa124c3 --- /dev/null +++ b/MacroLibX/src/renderer/text_library.h @@ -0,0 +1,68 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* text_library.h :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: maldavid +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* Created: 2023/04/10 11:52:30 by maldavid #+# #+# */ +/* Updated: 2023/12/08 19:12:24 by kbz_8 ### ########.fr */ +/* */ +/* ************************************************************************** */ + +#ifndef __MLX_TEXT_LIBRARY__ +#define __MLX_TEXT_LIBRARY__ + +#include +#include +#include +#include +#include +#include +#include +#include + +namespace mlx +{ + using TextID = uint32_t; + constexpr TextID nulltext = 0; + + class TextData + { + public: + TextData() = default; + + void init(std::string text, std::vector vbo_data, std::vector ibo_data); + void bind(class Renderer& renderer) noexcept; + inline uint32_t getIBOsize() noexcept { return _ibo.getSize(); } + inline const std::string& getText() const { return _text; } + void destroy() noexcept; + + ~TextData() = default; + + private: + C_VBO _vbo; + C_IBO _ibo; + std::string _text; + }; + + class TextLibrary + { + public: + TextLibrary() = default; + + std::shared_ptr getTextData(TextID id); + TextID addTextToLibrary(std::shared_ptr text); + void removeTextFromLibrary(TextID id); + + void clearLibrary(); + + ~TextLibrary() = default; + + private: + std::unordered_map> _cache; + TextID _current_id = 1; + }; +} + +#endif diff --git a/MacroLibX/src/renderer/text_pipeline.cpp b/MacroLibX/src/renderer/text_pipeline.cpp new file mode 100644 index 0000000..48b8f08 --- /dev/null +++ b/MacroLibX/src/renderer/text_pipeline.cpp @@ -0,0 +1,155 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* text_pipeline.cpp :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: maldavid +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* Created: 2023/04/06 16:41:13 by maldavid #+# #+# */ +/* Updated: 2023/12/07 22:29:45 by kbz_8 ### ########.fr */ +/* */ +/* ************************************************************************** */ + +#include +#include + +#include +#include +#include + +#define STB_RECT_PACK_IMPLEMENTATION +#include + +#include + +#define STB_TRUETYPE_IMPLEMENTATION +#define STB_malloc(x, u) ((void)(u), MemManager::get().alloc(x)) +#define STB_free(x, u) ((void)(u), MemManager::get().free(x)) +#include + +constexpr const int RANGE = 1024; + +namespace mlx +{ + TextDrawData::TextDrawData(std::string _text, int _color, int _x, int _y) : + x(_x), y(_y), color(_color), + text(std::move(_text)) + {} + + void TextDrawData::init(TextLibrary& library, std::array& cdata) noexcept + { + std::vector vertexData; + std::vector indexData; + + float stb_x = 0.0f; + float stb_y = 0.0f; + + for(char c : text) + { + if(c < 32 || c > 127) + continue; + + stbtt_aligned_quad q; + stbtt_GetPackedQuad(cdata.data(), RANGE, RANGE, c - 32, &stb_x, &stb_y, &q, 1); + + std::size_t index = vertexData.size(); + + vertexData.emplace_back(glm::vec2{q.x0, q.y0}, glm::vec4{color & 0x00FF0000, color & 0x0000FF00, color & 0x000000FF, 0xFFFFFFFF}, glm::vec2{q.s0, q.t0}); + vertexData.emplace_back(glm::vec2{q.x1, q.y0}, glm::vec4{color & 0x00FF0000, color & 0x0000FF00, color & 0x000000FF, 0xFFFFFFFF}, glm::vec2{q.s1, q.t0}); + vertexData.emplace_back(glm::vec2{q.x1, q.y1}, glm::vec4{color & 0x00FF0000, color & 0x0000FF00, color & 0x000000FF, 0xFFFFFFFF}, glm::vec2{q.s1, q.t1}); + vertexData.emplace_back(glm::vec2{q.x0, q.y1}, glm::vec4{color & 0x00FF0000, color & 0x0000FF00, color & 0x000000FF, 0xFFFFFFFF}, glm::vec2{q.s0, q.t1}); + + indexData.emplace_back(index + 0); + indexData.emplace_back(index + 1); + indexData.emplace_back(index + 2); + indexData.emplace_back(index + 2); + indexData.emplace_back(index + 3); + indexData.emplace_back(index + 0); + } + std::shared_ptr text_data = std::make_shared(); + text_data->init(text, std::move(vertexData), std::move(indexData)); + id = library.addTextToLibrary(text_data); + + #ifdef DEBUG + core::error::report(e_kind::message, "Text put : registered new text to render"); + #endif + } + + void TextPutPipeline::init(Renderer* renderer) noexcept + { + _renderer = renderer; + std::vector tmp_bitmap(RANGE * RANGE); + std::vector vulkan_bitmap(RANGE * RANGE * 4); + stbtt_pack_context pc; + stbtt_PackBegin(&pc, tmp_bitmap.data(), RANGE, RANGE, RANGE, 1, nullptr); + stbtt_PackFontRange(&pc, dogica_ttf, 0, 6.0, 32, 96, _cdata.data()); + stbtt_PackEnd(&pc); + for(int i = 0, j = 0; i < RANGE * RANGE; i++, j += 4) + { + vulkan_bitmap[j + 0] = tmp_bitmap[i]; + vulkan_bitmap[j + 1] = tmp_bitmap[i]; + vulkan_bitmap[j + 2] = tmp_bitmap[i]; + vulkan_bitmap[j + 3] = tmp_bitmap[i]; + } + _atlas.create(vulkan_bitmap.data(), RANGE, RANGE, VK_FORMAT_R8G8B8A8_UNORM, "__mlx_texts_pipeline_texture_atlas", true); + _atlas.setDescriptor(renderer->getFragDescriptorSet().duplicate()); + } + + void TextPutPipeline::loadFont(const std::filesystem::path& filepath, float scale) + { + std::vector tmp_bitmap(RANGE * RANGE); + std::vector vulkan_bitmap(RANGE * RANGE * 4); + + std::ifstream file(filepath, std::ios::binary); + if(!file.is_open()) + { + core::error::report(e_kind::error, "Font load : cannot open font file, %s", filepath.string().c_str()); + return; + } + std::ifstream::pos_type fileSize = std::filesystem::file_size(filepath); + file.seekg(0, std::ios::beg); + std::vector bytes(fileSize); + file.read(reinterpret_cast(bytes.data()), fileSize); + file.close(); + + stbtt_pack_context pc; + stbtt_PackBegin(&pc, tmp_bitmap.data(), RANGE, RANGE, RANGE, 1, nullptr); + stbtt_PackFontRange(&pc, bytes.data(), 0, scale, 32, 96, _cdata.data()); + stbtt_PackEnd(&pc); + for(int i = 0, j = 0; i < RANGE * RANGE; i++, j += 4) + { + vulkan_bitmap[j + 0] = tmp_bitmap[i]; + vulkan_bitmap[j + 1] = tmp_bitmap[i]; + vulkan_bitmap[j + 2] = tmp_bitmap[i]; + vulkan_bitmap[j + 3] = tmp_bitmap[i]; + } + destroy(); + _atlas.create(vulkan_bitmap.data(), RANGE, RANGE, VK_FORMAT_R8G8B8A8_UNORM, "__mlx_texts_pipeline_texture_atlas", true); + _atlas.setDescriptor(_renderer->getFragDescriptorSet().duplicate()); + } + + void TextPutPipeline::put(int x, int y, int color, std::string str) + { + auto res = _drawlist.emplace(std::move(str), color, x, y); + if(res.second) + const_cast(*res.first).init(_library, _cdata); + } + + void TextPutPipeline::render() + { + _atlas.updateSet(0); + for(auto& draw : _drawlist) + { + std::shared_ptr draw_data = _library.getTextData(draw.id); + draw_data->bind(*_renderer); + _atlas.render(*_renderer, draw.x, draw.y, draw_data->getIBOsize()); + } + } + + void TextPutPipeline::destroy() noexcept + { + _library.clearLibrary(); + _drawlist.clear(); + _atlas.destroy(); + } +} diff --git a/MacroLibX/src/renderer/text_pipeline.h b/MacroLibX/src/renderer/text_pipeline.h new file mode 100644 index 0000000..e1e29ec --- /dev/null +++ b/MacroLibX/src/renderer/text_pipeline.h @@ -0,0 +1,79 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* text_pipeline.h :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: maldavid +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* Created: 2023/04/06 16:24:11 by maldavid #+# #+# */ +/* Updated: 2023/12/08 19:12:40 by kbz_8 ### ########.fr */ +/* */ +/* ************************************************************************** */ + +#ifndef __MLX_TEXT_PIPELINE__ +#define __MLX_TEXT_PIPELINE__ + +#include +#include +#include +#include +#include +#include +#include +#include + +namespace mlx +{ + struct TextDrawData + { + TextID id; + int x; + int y; + int color; + std::string text; + + TextDrawData(std::string text, int _color, int _x, int _y); + void init(TextLibrary& library, std::array& cdata) noexcept; + bool operator==(const TextDrawData& rhs) const { return text == rhs.text && x == rhs.x && y == rhs.y && color == rhs.color; } + }; +} + +namespace std +{ + template <> + struct hash + { + std::size_t operator()(const mlx::TextDrawData& d) const noexcept + { + return std::hash()(d.text) + std::hash()(d.x) + std::hash()(d.y) + std::hash()(d.color); + } + }; +} + +namespace mlx +{ + class TextPutPipeline + { + public: + TextPutPipeline() = default; + + void init(Renderer* renderer) noexcept; + void put(int x, int y, int color, std::string str); + inline VkDescriptorSet getDescriptorSet() noexcept { return _atlas.getSet(); } + inline void clear() { _drawlist.clear(); } + void loadFont(const std::filesystem::path& filepath, float scale); + void render(); + void destroy() noexcept; + + ~TextPutPipeline() = default; + + private: + std::array _cdata; + TextureAtlas _atlas; + TextLibrary _library; + std::unordered_set _drawlist; + Renderer* _renderer = nullptr; + }; +} + +#endif diff --git a/MacroLibX/src/utils/dogica_ttf.h b/MacroLibX/src/utils/dogica_ttf.h new file mode 100644 index 0000000..a2907d3 --- /dev/null +++ b/MacroLibX/src/utils/dogica_ttf.h @@ -0,0 +1,2843 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* dogica_ttf.h :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: maldavid +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* Created: 2023/04/11 16:20:25 by maldavid #+# #+# */ +/* Updated: 2023/12/08 19:13:00 by kbz_8 ### ########.fr */ +/* */ +/* ************************************************************************** */ + +#ifndef __MLX_DOGICA_TTF__ +#define __MLX_DOGICA_TTF__ + +constexpr const unsigned int dogica_ttf_len = 33860; + +constexpr const unsigned char dogica_ttf[dogica_ttf_len] = { + 0x00, 0x01, 0x00, 0x00, 0x00, 0x0e, 0x00, 0x80, 0x00, 0x03, 0x00, 0x60, + 0x46, 0x46, 0x54, 0x4d, 0x8f, 0xe1, 0x5b, 0x60, 0x00, 0x00, 0x84, 0x28, + 0x00, 0x00, 0x00, 0x1c, 0x47, 0x44, 0x45, 0x46, 0x00, 0x15, 0x00, 0x14, + 0x00, 0x00, 0x84, 0x0c, 0x00, 0x00, 0x00, 0x1c, 0x4f, 0x53, 0x2f, 0x32, + 0x56, 0x4b, 0x04, 0x26, 0x00, 0x00, 0x01, 0x68, 0x00, 0x00, 0x00, 0x60, + 0x63, 0x6d, 0x61, 0x70, 0x26, 0x3a, 0x44, 0x67, 0x00, 0x00, 0x03, 0xdc, + 0x00, 0x00, 0x04, 0x08, 0x63, 0x76, 0x74, 0x20, 0x00, 0x1a, 0x01, 0xfb, + 0x00, 0x00, 0x07, 0xe4, 0x00, 0x00, 0x00, 0x04, 0x67, 0x61, 0x73, 0x70, + 0xff, 0xff, 0x00, 0x03, 0x00, 0x00, 0x84, 0x04, 0x00, 0x00, 0x00, 0x08, + 0x67, 0x6c, 0x79, 0x66, 0x77, 0xaa, 0x47, 0xf8, 0x00, 0x00, 0x09, 0xf8, + 0x00, 0x00, 0x3f, 0xc8, 0x68, 0x65, 0x61, 0x64, 0x17, 0x8e, 0x9c, 0xef, + 0x00, 0x00, 0x00, 0xec, 0x00, 0x00, 0x00, 0x36, 0x68, 0x68, 0x65, 0x61, + 0x05, 0xdd, 0x03, 0x89, 0x00, 0x00, 0x01, 0x24, 0x00, 0x00, 0x00, 0x24, + 0x68, 0x6d, 0x74, 0x78, 0x42, 0xcc, 0x37, 0x2e, 0x00, 0x00, 0x01, 0xc8, + 0x00, 0x00, 0x02, 0x14, 0x6c, 0x6f, 0x63, 0x61, 0xaf, 0xca, 0x9f, 0xce, + 0x00, 0x00, 0x07, 0xe8, 0x00, 0x00, 0x02, 0x0e, 0x6d, 0x61, 0x78, 0x70, + 0x01, 0x57, 0x00, 0x6d, 0x00, 0x00, 0x01, 0x48, 0x00, 0x00, 0x00, 0x20, + 0x6e, 0x61, 0x6d, 0x65, 0x8d, 0x81, 0x93, 0xff, 0x00, 0x00, 0x49, 0xc0, + 0x00, 0x00, 0x36, 0x81, 0x70, 0x6f, 0x73, 0x74, 0x73, 0x17, 0x5a, 0x72, + 0x00, 0x00, 0x80, 0x44, 0x00, 0x00, 0x03, 0xbe, 0x00, 0x01, 0x00, 0x00, + 0x00, 0x01, 0x03, 0x12, 0x20, 0xcc, 0x85, 0x83, 0x5f, 0x0f, 0x3c, 0xf5, + 0x00, 0x0b, 0x03, 0x20, 0x00, 0x00, 0x00, 0x00, 0xda, 0x6d, 0x86, 0xe0, + 0x00, 0x00, 0x00, 0x00, 0xda, 0xe1, 0xd0, 0x88, 0x00, 0x00, 0xff, 0x9c, + 0x03, 0x20, 0x02, 0xbc, 0x00, 0x00, 0x00, 0x08, 0x00, 0x02, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x02, 0xbc, 0x00, 0x64, + 0x00, 0x00, 0x03, 0x20, 0x00, 0x00, 0x00, 0x00, 0x03, 0x20, 0x00, 0x01, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x04, 0x00, 0x01, 0x00, 0x00, 0x01, 0x06, 0x00, 0x3c, + 0x00, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x01, + 0x00, 0x01, 0x00, 0x00, 0x00, 0x40, 0x00, 0x2e, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x04, 0x03, 0x20, 0x01, 0x90, 0x00, 0x05, 0x00, 0x00, 0x02, 0x08, + 0x02, 0x2f, 0x00, 0x00, 0x00, 0x70, 0x02, 0x08, 0x02, 0x2f, 0x00, 0x00, + 0x01, 0x7f, 0x00, 0x27, 0x00, 0xcf, 0x00, 0x00, 0x02, 0x00, 0x05, 0x09, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x2f, 0x00, 0x00, + 0x00, 0x0a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x50, 0x66, + 0x45, 0x64, 0x00, 0xc0, 0x00, 0x00, 0x21, 0x22, 0x02, 0xbc, 0x00, 0x64, + 0x00, 0x00, 0x02, 0xbc, 0x00, 0x64, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, + 0x00, 0x00, 0x02, 0x58, 0x02, 0xbc, 0x00, 0x00, 0x00, 0x20, 0x00, 0x01, + 0x03, 0x20, 0x00, 0x1a, 0x03, 0x20, 0x00, 0x00, 0x03, 0x20, 0x00, 0x00, + 0x03, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x01, 0x2c, 0x00, 0xc8, 0x00, 0x64, 0x00, 0x64, + 0x00, 0x64, 0x00, 0x64, 0x01, 0x2c, 0x01, 0x2c, 0x01, 0x2c, 0x00, 0x64, + 0x00, 0x64, 0x01, 0x2c, 0x00, 0xc8, 0x01, 0x2c, 0x00, 0xc8, 0x00, 0x64, + 0x00, 0x64, 0x00, 0x64, 0x00, 0x64, 0x00, 0x64, 0x00, 0x64, 0x00, 0x64, + 0x00, 0x64, 0x00, 0x64, 0x00, 0x64, 0x01, 0x2c, 0x01, 0x2c, 0x00, 0xc8, + 0x00, 0x64, 0x01, 0x2c, 0x00, 0x64, 0x00, 0x64, 0x00, 0x64, 0x00, 0x64, + 0x00, 0x64, 0x00, 0x00, 0x00, 0x64, 0x00, 0xc8, 0x00, 0x64, 0x00, 0x64, + 0x00, 0xc8, 0x00, 0x64, 0x00, 0x64, 0x00, 0xc8, 0x00, 0x00, 0x00, 0x64, + 0x00, 0xc8, 0x00, 0x64, 0x00, 0x64, 0x00, 0x64, 0x00, 0x64, 0x00, 0x64, + 0x00, 0x64, 0x00, 0x64, 0x00, 0x00, 0x00, 0x64, 0x00, 0x64, 0x00, 0x64, + 0x01, 0x2c, 0x00, 0xc8, 0x01, 0x2c, 0x00, 0xc8, 0x00, 0x64, 0x01, 0x2c, + 0x00, 0x64, 0x00, 0x64, 0x00, 0x64, 0x00, 0x64, 0x00, 0x64, 0x00, 0x64, + 0x00, 0x64, 0x00, 0x64, 0x00, 0xc8, 0x00, 0xc8, 0x00, 0x64, 0x00, 0xc8, + 0x00, 0x00, 0x00, 0x64, 0x00, 0x64, 0x00, 0xc8, 0x00, 0x64, 0x00, 0xc8, + 0x00, 0x64, 0x00, 0xc8, 0x00, 0x64, 0x00, 0x64, 0x00, 0x64, 0x00, 0x64, + 0x00, 0xc8, 0x00, 0xc8, 0x00, 0xc8, 0x01, 0x2c, 0x00, 0xc8, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x2c, 0x00, 0xc8, 0x00, 0xc8, + 0x00, 0x64, 0x00, 0xc8, 0x00, 0xc8, 0x00, 0x64, 0x00, 0x00, 0x00, 0x64, + 0x01, 0x2c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x64, 0x00, 0x00, 0x00, 0x00, + 0x01, 0x2c, 0x01, 0x2c, 0x00, 0xc8, 0x00, 0xc8, 0x00, 0xc8, 0x00, 0xc8, + 0x00, 0x64, 0x00, 0x64, 0x00, 0x00, 0x00, 0x64, 0x01, 0x2c, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x64, 0x00, 0x64, 0x00, 0x00, 0x01, 0x2c, 0x00, 0x64, + 0x00, 0x64, 0x00, 0x64, 0x00, 0x64, 0x01, 0x2c, 0x00, 0xc8, 0x00, 0xc8, + 0x00, 0x00, 0x00, 0x64, 0x00, 0xc8, 0x00, 0x64, 0x01, 0x2c, 0x00, 0x00, + 0x00, 0x64, 0x00, 0xc8, 0x00, 0x64, 0x00, 0xc8, 0x00, 0xc8, 0x01, 0x2c, + 0x00, 0x64, 0x00, 0x64, 0x01, 0x2c, 0x01, 0x2c, 0x00, 0xc8, 0x00, 0x64, + 0x00, 0xc8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x64, 0x00, 0x64, + 0x00, 0x64, 0x00, 0x00, 0x00, 0x00, 0x00, 0x64, 0x00, 0x64, 0x00, 0x00, + 0x00, 0x64, 0x00, 0x64, 0x00, 0x64, 0x00, 0x00, 0x00, 0x64, 0x00, 0xc8, + 0x00, 0xc8, 0x00, 0x64, 0x00, 0xc8, 0x00, 0x64, 0x00, 0x00, 0x00, 0x64, + 0x00, 0x64, 0x00, 0x00, 0x00, 0x00, 0x00, 0x64, 0x00, 0x64, 0x00, 0x64, + 0x00, 0x64, 0x00, 0x64, 0x00, 0x00, 0x00, 0x64, 0x00, 0x64, 0x00, 0x64, + 0x00, 0x64, 0x00, 0x64, 0x00, 0x64, 0x00, 0x00, 0x00, 0x00, 0x00, 0x64, + 0x00, 0x64, 0x00, 0x00, 0x00, 0x64, 0x00, 0x64, 0x00, 0x64, 0x00, 0x00, + 0x00, 0x64, 0x00, 0xc8, 0x00, 0xc8, 0x00, 0x64, 0x00, 0xc8, 0x00, 0x64, + 0x00, 0x00, 0x00, 0x64, 0x00, 0x64, 0x00, 0x00, 0x00, 0x00, 0x00, 0x64, + 0x00, 0x64, 0x00, 0x64, 0x00, 0x64, 0x00, 0x64, 0x00, 0x00, 0x00, 0x64, + 0x00, 0x64, 0x00, 0x64, 0x00, 0x64, 0x00, 0x00, 0x00, 0xc8, 0x00, 0xc8, + 0x00, 0x00, 0x00, 0x64, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03, + 0x00, 0x00, 0x00, 0x1c, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0xfe, + 0x00, 0x03, 0x00, 0x01, 0x00, 0x00, 0x00, 0x1c, 0x00, 0x04, 0x01, 0xe2, + 0x00, 0x00, 0x00, 0x2c, 0x00, 0x20, 0x00, 0x04, 0x00, 0x0c, 0x00, 0x7f, + 0x00, 0xff, 0x01, 0x33, 0x01, 0x40, 0x01, 0x49, 0x01, 0x53, 0x01, 0x61, + 0x01, 0x78, 0x01, 0x7e, 0x01, 0x92, 0x02, 0xc6, 0x02, 0xdc, 0x20, 0x14, + 0x20, 0x1a, 0x20, 0x1e, 0x20, 0x22, 0x20, 0x26, 0x20, 0x30, 0x20, 0x3a, + 0x20, 0xac, 0x21, 0x22, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0xa0, + 0x01, 0x32, 0x01, 0x3f, 0x01, 0x49, 0x01, 0x52, 0x01, 0x60, 0x01, 0x78, + 0x01, 0x7d, 0x01, 0x92, 0x02, 0xc6, 0x02, 0xdc, 0x20, 0x13, 0x20, 0x18, + 0x20, 0x1c, 0x20, 0x20, 0x20, 0x26, 0x20, 0x30, 0x20, 0x39, 0x20, 0xac, + 0x21, 0x22, 0xff, 0xff, 0x00, 0x00, 0x00, 0x01, 0xff, 0xd2, 0xff, 0xc3, + 0xff, 0xb8, 0x00, 0x00, 0x00, 0x00, 0xff, 0x28, 0x00, 0x00, 0xfe, 0xf2, + 0xfd, 0xc3, 0xfd, 0xbd, 0xe0, 0x84, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xe0, 0x60, 0xe0, 0x5a, 0x00, 0x00, 0xdf, 0xd5, 0xdf, 0x78, 0x00, 0x01, + 0x00, 0x2c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x22, + 0x01, 0x24, 0x00, 0x00, 0x01, 0x24, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x01, 0x1e, 0x01, 0x22, 0x01, 0x26, 0x00, 0x00, 0x00, 0x00, + 0x01, 0x26, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x03, + 0x00, 0x04, 0x00, 0x05, 0x00, 0x06, 0x00, 0x07, 0x00, 0x08, 0x00, 0x09, + 0x00, 0x0a, 0x00, 0x0b, 0x00, 0x0c, 0x00, 0x0d, 0x00, 0x0e, 0x00, 0x02, + 0x00, 0x0f, 0x00, 0x10, 0x00, 0x11, 0x00, 0x12, 0x00, 0x13, 0x00, 0x14, + 0x00, 0x15, 0x00, 0x16, 0x00, 0x17, 0x00, 0x18, 0x00, 0x19, 0x00, 0x1a, + 0x00, 0x1b, 0x00, 0x1c, 0x00, 0x1d, 0x00, 0x1e, 0x00, 0x1f, 0x00, 0x20, + 0x00, 0x21, 0x00, 0x22, 0x00, 0x23, 0x00, 0x24, 0x00, 0x25, 0x00, 0x26, + 0x00, 0x27, 0x00, 0x28, 0x00, 0x29, 0x00, 0x2a, 0x00, 0x2b, 0x00, 0x2c, + 0x00, 0x2d, 0x00, 0x2e, 0x00, 0x2f, 0x00, 0x30, 0x00, 0x31, 0x00, 0x32, + 0x00, 0x33, 0x00, 0x34, 0x00, 0x35, 0x00, 0x36, 0x00, 0x37, 0x00, 0x38, + 0x00, 0x39, 0x00, 0x3a, 0x00, 0x3b, 0x00, 0x3c, 0x00, 0x3d, 0x00, 0x3e, + 0x00, 0x3f, 0x00, 0x40, 0x00, 0x41, 0x00, 0x42, 0x00, 0x43, 0x00, 0x44, + 0x00, 0x45, 0x00, 0x46, 0x00, 0x47, 0x00, 0x48, 0x00, 0x49, 0x00, 0x4a, + 0x00, 0x4b, 0x00, 0x4c, 0x00, 0x4d, 0x00, 0x4e, 0x00, 0x4f, 0x00, 0x50, + 0x00, 0x51, 0x00, 0x52, 0x00, 0x53, 0x00, 0x54, 0x00, 0x55, 0x00, 0x56, + 0x00, 0x57, 0x00, 0x58, 0x00, 0x59, 0x00, 0x5a, 0x00, 0x5b, 0x00, 0x5c, + 0x00, 0x5d, 0x00, 0x5e, 0x00, 0x5f, 0x00, 0x60, 0x00, 0x61, 0x00, 0x62, + 0x00, 0x63, 0x00, 0x64, 0x00, 0x65, 0x00, 0x66, 0x00, 0x67, 0x00, 0x68, + 0x00, 0x69, 0x00, 0x6a, 0x00, 0x6b, 0x00, 0x6c, 0x00, 0x6d, 0x00, 0x6e, + 0x00, 0x6f, 0x00, 0x70, 0x00, 0x71, 0x00, 0x72, 0x00, 0x73, 0x00, 0x74, + 0x00, 0x75, 0x00, 0x76, 0x00, 0x77, 0x00, 0x78, 0x00, 0x79, 0x00, 0x7a, + 0x00, 0x7b, 0x00, 0x7c, 0x00, 0x7d, 0x00, 0x7e, 0x00, 0x7f, 0x00, 0x80, + 0x00, 0x8d, 0x00, 0x9d, 0x00, 0x8b, 0x00, 0x9b, 0x00, 0x8f, 0x00, 0x9f, + 0x00, 0x92, 0x00, 0x93, 0x00, 0x83, 0x00, 0x94, 0x00, 0x95, 0x00, 0x85, + 0x00, 0x87, 0x00, 0x88, 0x00, 0x96, 0x00, 0x8c, 0x00, 0x9c, 0x00, 0x06, + 0x02, 0x0a, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x01, 0x00, 0x03, + 0x00, 0x04, 0x00, 0x05, 0x00, 0x06, 0x00, 0x07, 0x00, 0x08, 0x00, 0x09, + 0x00, 0x0a, 0x00, 0x0b, 0x00, 0x0c, 0x00, 0x0d, 0x00, 0x0e, 0x00, 0x02, + 0x00, 0x0f, 0x00, 0x10, 0x00, 0x11, 0x00, 0x12, 0x00, 0x13, 0x00, 0x14, + 0x00, 0x15, 0x00, 0x16, 0x00, 0x17, 0x00, 0x18, 0x00, 0x19, 0x00, 0x1a, + 0x00, 0x1b, 0x00, 0x1c, 0x00, 0x1d, 0x00, 0x1e, 0x00, 0x1f, 0x00, 0x20, + 0x00, 0x21, 0x00, 0x22, 0x00, 0x23, 0x00, 0x24, 0x00, 0x25, 0x00, 0x26, + 0x00, 0x27, 0x00, 0x28, 0x00, 0x29, 0x00, 0x2a, 0x00, 0x2b, 0x00, 0x2c, + 0x00, 0x2d, 0x00, 0x2e, 0x00, 0x2f, 0x00, 0x30, 0x00, 0x31, 0x00, 0x32, + 0x00, 0x33, 0x00, 0x34, 0x00, 0x35, 0x00, 0x36, 0x00, 0x37, 0x00, 0x38, + 0x00, 0x39, 0x00, 0x3a, 0x00, 0x3b, 0x00, 0x3c, 0x00, 0x3d, 0x00, 0x3e, + 0x00, 0x3f, 0x00, 0x40, 0x00, 0x41, 0x00, 0x42, 0x00, 0x43, 0x00, 0x44, + 0x00, 0x45, 0x00, 0x46, 0x00, 0x47, 0x00, 0x48, 0x00, 0x49, 0x00, 0x4a, + 0x00, 0x4b, 0x00, 0x4c, 0x00, 0x4d, 0x00, 0x4e, 0x00, 0x4f, 0x00, 0x50, + 0x00, 0x51, 0x00, 0x52, 0x00, 0x53, 0x00, 0x54, 0x00, 0x55, 0x00, 0x56, + 0x00, 0x57, 0x00, 0x58, 0x00, 0x59, 0x00, 0x5a, 0x00, 0x5b, 0x00, 0x5c, + 0x00, 0x5d, 0x00, 0x5e, 0x00, 0x5f, 0x00, 0x60, 0x00, 0x61, 0x00, 0x62, + 0x00, 0x63, 0x00, 0x64, 0x00, 0x65, 0x00, 0x66, 0x00, 0x67, 0x00, 0x68, + 0x00, 0x69, 0x00, 0x6a, 0x00, 0x6b, 0x00, 0x6c, 0x00, 0x6d, 0x00, 0x6e, + 0x00, 0x6f, 0x00, 0x70, 0x00, 0x71, 0x00, 0x72, 0x00, 0x73, 0x00, 0x74, + 0x00, 0x75, 0x00, 0x76, 0x00, 0x77, 0x00, 0x78, 0x00, 0x79, 0x00, 0x7a, + 0x00, 0x7b, 0x00, 0x7c, 0x00, 0x7d, 0x00, 0x7e, 0x00, 0x7f, 0x00, 0x80, + 0x00, 0xc5, 0x00, 0xc6, 0x00, 0xc8, 0x00, 0xca, 0x00, 0xd2, 0x00, 0xd7, + 0x00, 0xdd, 0x00, 0xe2, 0x00, 0xe1, 0x00, 0xe3, 0x00, 0xe5, 0x00, 0xe4, + 0x00, 0xe6, 0x00, 0xe8, 0x00, 0xea, 0x00, 0xe9, 0x00, 0xeb, 0x00, 0xec, + 0x00, 0xee, 0x00, 0xed, 0x00, 0xef, 0x00, 0xf0, 0x00, 0xf2, 0x00, 0xf4, + 0x00, 0xf3, 0x00, 0xf5, 0x00, 0xf7, 0x00, 0xf6, 0x00, 0xfb, 0x00, 0xfa, + 0x00, 0xfc, 0x00, 0xfd, 0x00, 0x87, 0x00, 0xb1, 0x00, 0xa3, 0x00, 0xa4, + 0x00, 0xa8, 0x00, 0x96, 0x00, 0xb7, 0x00, 0xe0, 0x00, 0xaf, 0x00, 0xaa, + 0x00, 0x9a, 0x00, 0xb5, 0x00, 0xa9, 0x00, 0x00, 0x00, 0xc7, 0x00, 0xd9, + 0x00, 0x00, 0x00, 0xb2, 0x00, 0x00, 0x00, 0x00, 0x00, 0xa6, 0x00, 0xb6, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xab, + 0x00, 0xbb, 0x00, 0x00, 0x00, 0xe7, 0x00, 0xf9, 0x00, 0xc0, 0x00, 0xa2, + 0x00, 0xad, 0x00, 0x00, 0x00, 0x84, 0x00, 0x00, 0x00, 0x00, 0x00, 0xac, + 0x00, 0xbc, 0x00, 0x86, 0x00, 0xa1, 0x00, 0xc1, 0x00, 0xc4, 0x00, 0xd6, + 0x00, 0x8d, 0x00, 0x9d, 0x00, 0x97, 0x00, 0x98, 0x00, 0x94, 0x00, 0x95, + 0x00, 0x92, 0x00, 0x93, 0x00, 0xf8, 0x00, 0x00, 0x01, 0x00, 0x00, 0xa0, + 0x00, 0x00, 0x00, 0x81, 0x00, 0x8c, 0x00, 0x9c, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x88, 0x00, 0xb8, 0x00, 0x83, 0x00, 0x85, 0x00, 0x8a, 0x00, 0xc3, + 0x00, 0xcb, 0x00, 0xc2, 0x00, 0xcc, 0x00, 0xc9, 0x00, 0xce, 0x00, 0xcf, + 0x00, 0xd0, 0x00, 0xcd, 0x00, 0xd4, 0x00, 0xd5, 0x00, 0x00, 0x00, 0xd3, + 0x00, 0xdb, 0x00, 0xdc, 0x00, 0xda, 0x00, 0x00, 0x00, 0x89, 0x00, 0x99, + 0x00, 0xb0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xb9, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x1a, 0x01, 0xfb, 0x00, 0x00, 0x00, 0x2a, + 0x00, 0x2a, 0x00, 0x2a, 0x00, 0x2a, 0x00, 0x2a, 0x00, 0x2a, 0x00, 0x2a, + 0x00, 0x2a, 0x00, 0x2a, 0x00, 0x2a, 0x00, 0x2a, 0x00, 0x2a, 0x00, 0x2a, + 0x00, 0x2a, 0x00, 0x2a, 0x00, 0x2a, 0x00, 0x2a, 0x00, 0x2a, 0x00, 0x2a, + 0x00, 0x2a, 0x00, 0x2a, 0x00, 0x2a, 0x00, 0x2a, 0x00, 0x2a, 0x00, 0x2a, + 0x00, 0x2a, 0x00, 0x2a, 0x00, 0x2a, 0x00, 0x2a, 0x00, 0x2a, 0x00, 0x2a, + 0x00, 0x2a, 0x00, 0x2a, 0x00, 0x2a, 0x00, 0x3c, 0x00, 0x5a, 0x00, 0x84, + 0x00, 0xb6, 0x01, 0x08, 0x01, 0x44, 0x01, 0x56, 0x01, 0x6e, 0x01, 0x86, + 0x01, 0xb8, 0x01, 0xce, 0x01, 0xe0, 0x01, 0xee, 0x01, 0xfa, 0x02, 0x16, + 0x02, 0x3a, 0x02, 0x50, 0x02, 0x7c, 0x02, 0xa0, 0x02, 0xc2, 0x02, 0xe4, + 0x03, 0x0e, 0x03, 0x30, 0x03, 0x5c, 0x03, 0x84, 0x03, 0x96, 0x03, 0xac, + 0x03, 0xce, 0x03, 0xe2, 0x04, 0x02, 0x04, 0x2a, 0x04, 0x5e, 0x04, 0x7c, + 0x04, 0xa0, 0x04, 0xc8, 0x04, 0xe4, 0x04, 0xfc, 0x05, 0x12, 0x05, 0x30, + 0x05, 0x48, 0x05, 0x5e, 0x05, 0x76, 0x05, 0xa0, 0x05, 0xb0, 0x05, 0xd2, + 0x05, 0xf4, 0x06, 0x12, 0x06, 0x2e, 0x06, 0x5c, 0x06, 0x7e, 0x06, 0xac, + 0x06, 0xbe, 0x06, 0xd8, 0x06, 0xfa, 0x07, 0x28, 0x07, 0x5e, 0x07, 0x82, + 0x07, 0xaa, 0x07, 0xbc, 0x07, 0xd8, 0x07, 0xea, 0x08, 0x02, 0x08, 0x0e, + 0x08, 0x20, 0x08, 0x42, 0x08, 0x5e, 0x08, 0x80, 0x08, 0x9e, 0x08, 0xc0, + 0x08, 0xdc, 0x08, 0xfe, 0x09, 0x1a, 0x09, 0x34, 0x09, 0x4c, 0x09, 0x76, + 0x09, 0x88, 0x09, 0xac, 0x09, 0xc8, 0x09, 0xe6, 0x0a, 0x02, 0x0a, 0x1e, + 0x0a, 0x36, 0x0a, 0x5e, 0x0a, 0x76, 0x0a, 0x92, 0x0a, 0xb4, 0x0a, 0xd6, + 0x0b, 0x0c, 0x0b, 0x2c, 0x0b, 0x4e, 0x0b, 0x7a, 0x0b, 0x88, 0x0b, 0xb2, + 0x0b, 0xce, 0x0b, 0xce, 0x0c, 0x06, 0x0c, 0x06, 0x0c, 0x18, 0x0c, 0x38, + 0x0c, 0x54, 0x0c, 0x6c, 0x0c, 0x82, 0x0c, 0xa0, 0x0c, 0xc2, 0x0d, 0x14, + 0x0d, 0x48, 0x0d, 0x60, 0x0d, 0x88, 0x0d, 0x88, 0x0d, 0xb2, 0x0d, 0xb2, + 0x0d, 0xb2, 0x0d, 0xc4, 0x0d, 0xd6, 0x0d, 0xf2, 0x0e, 0x0e, 0x0e, 0x24, + 0x0e, 0x32, 0x0e, 0x40, 0x0e, 0x5c, 0x0e, 0x88, 0x0e, 0xbc, 0x0e, 0xd2, + 0x0e, 0xfa, 0x0e, 0xfa, 0x0f, 0x28, 0x0f, 0x56, 0x0f, 0x56, 0x0f, 0x68, + 0x0f, 0x9c, 0x0f, 0xd0, 0x10, 0x08, 0x10, 0x40, 0x10, 0x5a, 0x10, 0x90, + 0x10, 0xaa, 0x10, 0xf6, 0x11, 0x1a, 0x11, 0x48, 0x11, 0x5e, 0x11, 0x70, + 0x11, 0xb0, 0x11, 0xc4, 0x11, 0xe6, 0x12, 0x06, 0x12, 0x2a, 0x12, 0x50, + 0x12, 0x68, 0x12, 0x90, 0x12, 0xb0, 0x12, 0xc2, 0x12, 0xda, 0x12, 0xf6, + 0x13, 0x18, 0x13, 0x44, 0x13, 0x86, 0x13, 0xca, 0x14, 0x1a, 0x14, 0x48, + 0x14, 0x70, 0x14, 0x98, 0x14, 0xc8, 0x14, 0xfe, 0x15, 0x26, 0x15, 0x4a, + 0x15, 0x76, 0x15, 0xa2, 0x15, 0xc0, 0x15, 0xe2, 0x16, 0x0a, 0x16, 0x2e, + 0x16, 0x50, 0x16, 0x72, 0x16, 0x9c, 0x16, 0xc0, 0x16, 0xea, 0x17, 0x24, + 0x17, 0x52, 0x17, 0x80, 0x17, 0xb6, 0x17, 0xf2, 0x18, 0x22, 0x18, 0x5e, + 0x18, 0xa4, 0x18, 0xca, 0x18, 0xee, 0x19, 0x20, 0x19, 0x4c, 0x19, 0x7e, + 0x19, 0xa0, 0x19, 0xcc, 0x19, 0xf4, 0x1a, 0x1c, 0x1a, 0x4c, 0x1a, 0x82, + 0x1a, 0xaa, 0x1a, 0xce, 0x1a, 0xf8, 0x1b, 0x24, 0x1b, 0x42, 0x1b, 0x64, + 0x1b, 0x8c, 0x1b, 0xb0, 0x1b, 0xd2, 0x1b, 0xf4, 0x1c, 0x1e, 0x1c, 0x42, + 0x1c, 0x70, 0x1c, 0xaa, 0x1c, 0xd8, 0x1d, 0x06, 0x1d, 0x3c, 0x1d, 0x78, + 0x1d, 0xa8, 0x1d, 0xc8, 0x1e, 0x0e, 0x1e, 0x34, 0x1e, 0x58, 0x1e, 0x8a, + 0x1e, 0xb6, 0x1e, 0xe8, 0x1f, 0x0a, 0x1f, 0x3e, 0x1f, 0x64, 0x1f, 0x7a, + 0x1f, 0x92, 0x1f, 0xba, 0x1f, 0xe4, 0x00, 0x00, 0x00, 0x02, 0x00, 0x1a, + 0x00, 0x00, 0x00, 0xec, 0x02, 0x15, 0x00, 0x03, 0x00, 0x07, 0x00, 0x2e, + 0xb1, 0x01, 0x00, 0x2f, 0x3c, 0xb2, 0x07, 0x04, 0x00, 0xed, 0x32, 0xb1, + 0x06, 0x05, 0xdc, 0x3c, 0xb2, 0x03, 0x02, 0x00, 0xed, 0x32, 0x00, 0xb1, + 0x03, 0x00, 0x2f, 0x3c, 0xb2, 0x05, 0x04, 0x00, 0xed, 0x32, 0xb2, 0x07, + 0x06, 0x01, 0xfc, 0x3c, 0xb2, 0x01, 0x02, 0x00, 0xed, 0x32, 0x33, 0x11, + 0x33, 0x11, 0x27, 0x33, 0x11, 0x23, 0x1a, 0xd2, 0xb8, 0x9e, 0x9e, 0x02, + 0x15, 0xfd, 0xeb, 0x1a, 0x01, 0xe1, 0x00, 0x00, 0x00, 0x02, 0x01, 0x2c, + 0x00, 0x00, 0x01, 0x90, 0x02, 0xbc, 0x00, 0x03, 0x00, 0x07, 0x00, 0x00, + 0x01, 0x33, 0x11, 0x23, 0x15, 0x33, 0x15, 0x23, 0x01, 0x2c, 0x64, 0x64, + 0x64, 0x64, 0x02, 0xbc, 0xfe, 0x0c, 0x64, 0x64, 0x00, 0x04, 0x00, 0xc8, + 0x01, 0x2c, 0x02, 0x58, 0x02, 0x58, 0x00, 0x03, 0x00, 0x07, 0x00, 0x0b, + 0x00, 0x0f, 0x00, 0x00, 0x01, 0x33, 0x15, 0x23, 0x3b, 0x01, 0x15, 0x23, + 0x37, 0x35, 0x33, 0x15, 0x21, 0x15, 0x23, 0x35, 0x01, 0x2c, 0x64, 0x64, + 0x64, 0x64, 0x64, 0x64, 0x64, 0xfe, 0xd4, 0x64, 0x02, 0x58, 0xc8, 0x64, + 0x64, 0xc8, 0xc8, 0x64, 0x64, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x64, + 0x00, 0x00, 0x02, 0xbc, 0x02, 0x58, 0x00, 0x1b, 0x00, 0x1f, 0x00, 0x00, + 0x13, 0x33, 0x15, 0x33, 0x35, 0x33, 0x15, 0x33, 0x15, 0x23, 0x15, 0x33, + 0x15, 0x23, 0x15, 0x23, 0x35, 0x23, 0x15, 0x23, 0x35, 0x23, 0x35, 0x33, + 0x35, 0x23, 0x35, 0x33, 0x17, 0x15, 0x33, 0x35, 0xc8, 0x64, 0xc8, 0x64, + 0x64, 0x64, 0x64, 0x64, 0x64, 0xc8, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, + 0xc8, 0x02, 0x58, 0x64, 0x64, 0x64, 0x64, 0xc8, 0x64, 0x64, 0x64, 0x64, + 0x64, 0x64, 0xc8, 0x64, 0x64, 0xc8, 0xc8, 0x00, 0x00, 0x05, 0x00, 0x64, + 0xff, 0x9c, 0x02, 0x58, 0x02, 0x58, 0x00, 0x13, 0x00, 0x17, 0x00, 0x1b, + 0x00, 0x1f, 0x00, 0x23, 0x00, 0x00, 0x13, 0x21, 0x15, 0x23, 0x15, 0x33, + 0x15, 0x23, 0x15, 0x33, 0x15, 0x21, 0x35, 0x33, 0x35, 0x23, 0x35, 0x33, + 0x35, 0x23, 0x21, 0x33, 0x15, 0x23, 0x15, 0x33, 0x15, 0x23, 0x21, 0x23, + 0x35, 0x33, 0x35, 0x23, 0x35, 0x33, 0xc8, 0x01, 0x2c, 0x64, 0x64, 0x64, + 0x64, 0xfe, 0xd4, 0x64, 0x64, 0x64, 0x64, 0x01, 0x2c, 0x64, 0x64, 0x64, + 0x64, 0xfe, 0xd4, 0x64, 0x64, 0x64, 0x64, 0x02, 0x58, 0x64, 0xc8, 0x64, + 0xc8, 0x64, 0x64, 0xc8, 0x64, 0xc8, 0x64, 0xc8, 0xc8, 0x64, 0xc8, 0xc8, + 0x00, 0x0f, 0x00, 0x64, 0xff, 0x9c, 0x03, 0x20, 0x02, 0xbc, 0x00, 0x01, + 0x00, 0x03, 0x00, 0x07, 0x00, 0x0b, 0x00, 0x0f, 0x00, 0x13, 0x00, 0x17, + 0x00, 0x1b, 0x00, 0x1f, 0x00, 0x23, 0x00, 0x27, 0x00, 0x2b, 0x00, 0x2f, + 0x00, 0x33, 0x00, 0x37, 0x00, 0x00, 0x25, 0x15, 0x31, 0x15, 0x03, 0x33, + 0x15, 0x23, 0x3b, 0x01, 0x15, 0x23, 0x3b, 0x01, 0x15, 0x23, 0x37, 0x35, + 0x33, 0x15, 0x3d, 0x01, 0x33, 0x15, 0x03, 0x33, 0x15, 0x23, 0x37, 0x35, + 0x33, 0x15, 0x31, 0x33, 0x15, 0x23, 0x31, 0x15, 0x23, 0x35, 0x27, 0x15, + 0x23, 0x35, 0x1d, 0x01, 0x23, 0x35, 0x13, 0x15, 0x23, 0x35, 0x31, 0x23, + 0x35, 0x33, 0x01, 0x3c, 0x74, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, + 0x64, 0x64, 0x64, 0x64, 0xc8, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, + 0xc8, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0xc8, 0x02, 0x06, 0x01, 0xfc, + 0x64, 0xc8, 0xc8, 0xc8, 0xc8, 0xc8, 0xc8, 0x64, 0x64, 0xfe, 0x70, 0xc8, + 0xc8, 0x64, 0x64, 0xc8, 0x64, 0x64, 0xc8, 0xc8, 0xc8, 0xc8, 0x64, 0x64, + 0x01, 0x90, 0x64, 0x64, 0xc8, 0x00, 0x00, 0x00, 0x00, 0x0a, 0x00, 0x64, + 0x00, 0x00, 0x02, 0xbc, 0x02, 0xbc, 0x00, 0x03, 0x00, 0x07, 0x00, 0x0b, + 0x00, 0x0f, 0x00, 0x13, 0x00, 0x17, 0x00, 0x1b, 0x00, 0x1f, 0x00, 0x23, + 0x00, 0x27, 0x00, 0x00, 0x13, 0x33, 0x15, 0x23, 0x3b, 0x01, 0x15, 0x23, + 0x31, 0x15, 0x23, 0x35, 0x17, 0x33, 0x15, 0x23, 0x3b, 0x01, 0x15, 0x23, + 0x37, 0x35, 0x33, 0x15, 0x07, 0x33, 0x15, 0x23, 0x27, 0x15, 0x21, 0x35, + 0x31, 0x23, 0x35, 0x33, 0x35, 0x23, 0x35, 0x33, 0xc8, 0xc8, 0xc8, 0xc8, + 0x64, 0x64, 0xc8, 0xc8, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, + 0x64, 0x64, 0x64, 0xfe, 0xd4, 0x64, 0x64, 0x64, 0x64, 0x02, 0xbc, 0x64, + 0xc8, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, + 0x64, 0x64, 0xc8, 0x64, 0xc8, 0x00, 0x00, 0x00, 0x00, 0x02, 0x01, 0x2c, + 0x01, 0x2c, 0x01, 0xf4, 0x02, 0x58, 0x00, 0x03, 0x00, 0x07, 0x00, 0x00, + 0x01, 0x33, 0x15, 0x23, 0x31, 0x15, 0x23, 0x35, 0x01, 0x90, 0x64, 0x64, + 0x64, 0x02, 0x58, 0xc8, 0x64, 0x64, 0x00, 0x00, 0x00, 0x03, 0x01, 0x2c, + 0x00, 0x00, 0x01, 0xf4, 0x02, 0xbc, 0x00, 0x03, 0x00, 0x07, 0x00, 0x0b, + 0x00, 0x00, 0x01, 0x33, 0x15, 0x23, 0x31, 0x11, 0x23, 0x11, 0x13, 0x33, + 0x15, 0x23, 0x01, 0x90, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0x02, 0xbc, + 0x64, 0xfe, 0x0c, 0x01, 0xf4, 0xfe, 0x0c, 0x64, 0x00, 0x03, 0x01, 0x2c, + 0x00, 0x00, 0x01, 0xf4, 0x02, 0xbc, 0x00, 0x03, 0x00, 0x07, 0x00, 0x0b, + 0x00, 0x00, 0x01, 0x33, 0x15, 0x23, 0x3b, 0x01, 0x11, 0x23, 0x31, 0x15, + 0x23, 0x35, 0x01, 0x2c, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0x02, 0xbc, + 0x64, 0xfe, 0x0c, 0x64, 0x64, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x64, + 0x00, 0x64, 0x02, 0x58, 0x02, 0x58, 0x00, 0x03, 0x00, 0x07, 0x00, 0x0b, + 0x00, 0x0f, 0x00, 0x13, 0x00, 0x17, 0x00, 0x1b, 0x00, 0x1f, 0x00, 0x00, + 0x01, 0x33, 0x15, 0x23, 0x3b, 0x01, 0x15, 0x23, 0x37, 0x35, 0x33, 0x15, + 0x07, 0x33, 0x15, 0x23, 0x27, 0x15, 0x23, 0x35, 0x31, 0x23, 0x35, 0x33, + 0x07, 0x15, 0x23, 0x35, 0x37, 0x23, 0x35, 0x33, 0x01, 0x2c, 0x64, 0x64, + 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, + 0x64, 0x64, 0x64, 0x64, 0x64, 0x02, 0x58, 0xc8, 0x64, 0x64, 0x64, 0x64, + 0x64, 0x64, 0x64, 0xc8, 0xc8, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0x00, + 0x00, 0x01, 0x00, 0x64, 0x00, 0x64, 0x02, 0x58, 0x02, 0x58, 0x00, 0x0b, + 0x00, 0x00, 0x01, 0x33, 0x15, 0x33, 0x15, 0x23, 0x15, 0x23, 0x35, 0x23, + 0x35, 0x33, 0x01, 0x2c, 0x64, 0xc8, 0xc8, 0x64, 0xc8, 0xc8, 0x02, 0x58, + 0xc8, 0x64, 0xc8, 0xc8, 0x64, 0x00, 0x00, 0x00, 0x00, 0x02, 0x01, 0x2c, + 0xff, 0x9c, 0x01, 0xf4, 0x00, 0xc8, 0x00, 0x03, 0x00, 0x07, 0x00, 0x00, + 0x25, 0x33, 0x15, 0x23, 0x31, 0x15, 0x23, 0x35, 0x01, 0x90, 0x64, 0x64, + 0x64, 0xc8, 0xc8, 0x64, 0x64, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0xc8, + 0x00, 0xc8, 0x02, 0x58, 0x01, 0x2c, 0x00, 0x03, 0x00, 0x00, 0x13, 0x21, + 0x15, 0x21, 0xc8, 0x01, 0x90, 0xfe, 0x70, 0x01, 0x2c, 0x64, 0x00, 0x00, + 0x00, 0x01, 0x01, 0x2c, 0x00, 0x00, 0x01, 0x90, 0x00, 0x64, 0x00, 0x03, + 0x00, 0x00, 0x25, 0x33, 0x15, 0x23, 0x01, 0x2c, 0x64, 0x64, 0x64, 0x64, + 0x00, 0x04, 0x00, 0xc8, 0xff, 0x9c, 0x02, 0x58, 0x02, 0xbc, 0x00, 0x03, + 0x00, 0x07, 0x00, 0x0b, 0x00, 0x0f, 0x00, 0x00, 0x01, 0x33, 0x15, 0x23, + 0x31, 0x15, 0x23, 0x35, 0x1d, 0x01, 0x23, 0x35, 0x1d, 0x01, 0x23, 0x35, + 0x01, 0xf4, 0x64, 0x64, 0x64, 0x64, 0x64, 0x02, 0xbc, 0xc8, 0xc8, 0xc8, + 0xc8, 0xc8, 0xc8, 0xc8, 0xc8, 0xc8, 0x00, 0x00, 0x00, 0x05, 0x00, 0x64, + 0x00, 0x00, 0x02, 0x58, 0x02, 0xbc, 0x00, 0x03, 0x00, 0x07, 0x00, 0x0b, + 0x00, 0x0f, 0x00, 0x13, 0x00, 0x00, 0x13, 0x21, 0x15, 0x29, 0x01, 0x33, + 0x11, 0x23, 0x31, 0x15, 0x21, 0x35, 0x31, 0x23, 0x11, 0x33, 0x17, 0x33, + 0x11, 0x23, 0xc8, 0x01, 0x2c, 0xfe, 0xd4, 0x01, 0x2c, 0x64, 0x64, 0xfe, + 0xd4, 0x64, 0x64, 0x64, 0x64, 0x64, 0x02, 0xbc, 0x64, 0xfe, 0x0c, 0x64, + 0x64, 0x01, 0xf4, 0x64, 0xfe, 0xd4, 0x00, 0x00, 0x00, 0x01, 0x00, 0x64, + 0x00, 0x00, 0x02, 0x58, 0x02, 0xbc, 0x00, 0x0b, 0x00, 0x00, 0x01, 0x33, + 0x11, 0x33, 0x15, 0x21, 0x35, 0x33, 0x11, 0x23, 0x35, 0x33, 0x01, 0x2c, + 0x64, 0xc8, 0xfe, 0x0c, 0xc8, 0xc8, 0xc8, 0x02, 0xbc, 0xfd, 0xa8, 0x64, + 0x64, 0x01, 0x90, 0x64, 0x00, 0x06, 0x00, 0x64, 0x00, 0x00, 0x02, 0x58, + 0x02, 0xbc, 0x00, 0x03, 0x00, 0x07, 0x00, 0x0b, 0x00, 0x0f, 0x00, 0x17, + 0x00, 0x1b, 0x00, 0x00, 0x13, 0x21, 0x15, 0x29, 0x01, 0x33, 0x15, 0x23, + 0x31, 0x15, 0x23, 0x35, 0x1d, 0x01, 0x23, 0x35, 0x1d, 0x01, 0x21, 0x15, + 0x21, 0x35, 0x33, 0x35, 0x11, 0x15, 0x23, 0x35, 0xc8, 0x01, 0x2c, 0xfe, + 0xd4, 0x01, 0x2c, 0x64, 0x64, 0x64, 0x64, 0x01, 0x2c, 0xfe, 0x0c, 0x64, + 0x64, 0x02, 0xbc, 0x64, 0xc8, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, + 0x64, 0x64, 0x64, 0x01, 0x90, 0x64, 0x64, 0x00, 0x00, 0x05, 0x00, 0x64, + 0x00, 0x00, 0x02, 0x58, 0x02, 0xbc, 0x00, 0x03, 0x00, 0x07, 0x00, 0x0b, + 0x00, 0x0f, 0x00, 0x13, 0x00, 0x00, 0x13, 0x21, 0x15, 0x29, 0x01, 0x33, + 0x15, 0x23, 0x31, 0x15, 0x21, 0x35, 0x05, 0x33, 0x15, 0x23, 0x31, 0x15, + 0x21, 0x35, 0x64, 0x01, 0x90, 0xfe, 0x70, 0x01, 0x90, 0x64, 0x64, 0xfe, + 0xd4, 0x01, 0x2c, 0x64, 0x64, 0xfe, 0x70, 0x02, 0xbc, 0x64, 0xc8, 0x64, + 0x64, 0x64, 0xc8, 0x64, 0x64, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x64, + 0x00, 0x00, 0x02, 0x58, 0x02, 0xbc, 0x00, 0x11, 0x00, 0x15, 0x00, 0x00, + 0x01, 0x33, 0x11, 0x33, 0x15, 0x23, 0x15, 0x23, 0x35, 0x21, 0x35, 0x33, + 0x15, 0x33, 0x35, 0x23, 0x35, 0x33, 0x07, 0x35, 0x33, 0x15, 0x01, 0x90, + 0x64, 0x64, 0x64, 0x64, 0xfe, 0xd4, 0x64, 0xc8, 0x64, 0x64, 0xc8, 0x64, + 0x02, 0xbc, 0xfe, 0x70, 0x64, 0xc8, 0xc8, 0xc8, 0x64, 0xc8, 0x64, 0xc8, + 0x64, 0x64, 0x00, 0x00, 0x00, 0x04, 0x00, 0x64, 0x00, 0x00, 0x02, 0x58, + 0x02, 0xbc, 0x00, 0x07, 0x00, 0x0b, 0x00, 0x0f, 0x00, 0x13, 0x00, 0x00, + 0x13, 0x21, 0x15, 0x21, 0x15, 0x21, 0x15, 0x29, 0x01, 0x33, 0x11, 0x23, + 0x31, 0x15, 0x21, 0x35, 0x31, 0x23, 0x35, 0x33, 0x64, 0x01, 0xf4, 0xfe, + 0x70, 0x01, 0x2c, 0xfe, 0x70, 0x01, 0x90, 0x64, 0x64, 0xfe, 0xd4, 0x64, + 0x64, 0x02, 0xbc, 0x64, 0x64, 0x64, 0xfe, 0xd4, 0x64, 0x64, 0x64, 0x00, + 0x00, 0x05, 0x00, 0x64, 0x00, 0x00, 0x02, 0x58, 0x02, 0xbc, 0x00, 0x03, + 0x00, 0x07, 0x00, 0x0f, 0x00, 0x13, 0x00, 0x17, 0x00, 0x00, 0x13, 0x21, + 0x15, 0x29, 0x01, 0x33, 0x15, 0x23, 0x25, 0x15, 0x21, 0x15, 0x21, 0x15, + 0x23, 0x11, 0x01, 0x33, 0x15, 0x23, 0x31, 0x15, 0x21, 0x35, 0xc8, 0x01, + 0x2c, 0xfe, 0xd4, 0x01, 0x2c, 0x64, 0x64, 0xfe, 0xd4, 0x01, 0x2c, 0xfe, + 0xd4, 0x64, 0x01, 0x90, 0x64, 0x64, 0xfe, 0xd4, 0x02, 0xbc, 0x64, 0x64, + 0x64, 0xc8, 0x64, 0xc8, 0x01, 0xf4, 0xfe, 0xd4, 0xc8, 0x64, 0x64, 0x00, + 0x00, 0x04, 0x00, 0x64, 0x00, 0x00, 0x02, 0x58, 0x02, 0xbc, 0x00, 0x07, + 0x00, 0x0b, 0x00, 0x0f, 0x00, 0x13, 0x00, 0x00, 0x13, 0x21, 0x11, 0x23, + 0x35, 0x21, 0x15, 0x23, 0x05, 0x15, 0x23, 0x35, 0x1d, 0x01, 0x23, 0x35, + 0x1d, 0x01, 0x23, 0x35, 0x64, 0x01, 0xf4, 0x64, 0xfe, 0xd4, 0x64, 0x01, + 0x90, 0x64, 0x64, 0x64, 0x02, 0xbc, 0xfe, 0xd4, 0xc8, 0x64, 0x64, 0x64, + 0x64, 0x64, 0x64, 0x64, 0x64, 0xc8, 0xc8, 0x00, 0x00, 0x07, 0x00, 0x64, + 0x00, 0x00, 0x02, 0x58, 0x02, 0xbc, 0x00, 0x03, 0x00, 0x07, 0x00, 0x0b, + 0x00, 0x0f, 0x00, 0x13, 0x00, 0x17, 0x00, 0x1b, 0x00, 0x00, 0x13, 0x21, + 0x15, 0x29, 0x01, 0x33, 0x15, 0x23, 0x31, 0x15, 0x21, 0x35, 0x05, 0x33, + 0x15, 0x23, 0x31, 0x15, 0x21, 0x35, 0x31, 0x23, 0x35, 0x33, 0x35, 0x23, + 0x35, 0x33, 0xc8, 0x01, 0x2c, 0xfe, 0xd4, 0x01, 0x2c, 0x64, 0x64, 0xfe, + 0xd4, 0x01, 0x2c, 0x64, 0x64, 0xfe, 0xd4, 0x64, 0x64, 0x64, 0x64, 0x02, + 0xbc, 0x64, 0xc8, 0x64, 0x64, 0x64, 0xc8, 0x64, 0x64, 0xc8, 0x64, 0xc8, + 0x00, 0x05, 0x00, 0x64, 0x00, 0x00, 0x02, 0x58, 0x02, 0xbc, 0x00, 0x03, + 0x00, 0x0b, 0x00, 0x0f, 0x00, 0x13, 0x00, 0x17, 0x00, 0x00, 0x13, 0x21, + 0x15, 0x29, 0x01, 0x33, 0x11, 0x23, 0x35, 0x21, 0x35, 0x21, 0x1d, 0x01, + 0x23, 0x35, 0x1d, 0x01, 0x23, 0x35, 0x11, 0x23, 0x35, 0x33, 0xc8, 0x01, + 0x2c, 0xfe, 0xd4, 0x01, 0x2c, 0x64, 0x64, 0xfe, 0xd4, 0x01, 0x2c, 0x64, + 0xc8, 0x64, 0x64, 0x02, 0xbc, 0x64, 0xfe, 0x70, 0x64, 0x64, 0xc8, 0x64, + 0x64, 0x64, 0x64, 0x64, 0x01, 0x2c, 0xc8, 0x00, 0x00, 0x02, 0x01, 0x2c, + 0x00, 0x64, 0x01, 0x90, 0x01, 0xf4, 0x00, 0x03, 0x00, 0x07, 0x00, 0x00, + 0x01, 0x33, 0x15, 0x23, 0x15, 0x33, 0x15, 0x23, 0x01, 0x2c, 0x64, 0x64, + 0x64, 0x64, 0x01, 0xf4, 0x64, 0xc8, 0x64, 0x00, 0x00, 0x03, 0x01, 0x2c, + 0xff, 0x9c, 0x01, 0xf4, 0x01, 0x90, 0x00, 0x03, 0x00, 0x07, 0x00, 0x0b, + 0x00, 0x00, 0x01, 0x33, 0x15, 0x23, 0x15, 0x33, 0x15, 0x23, 0x31, 0x15, + 0x23, 0x35, 0x01, 0x90, 0x64, 0x64, 0x64, 0x64, 0x64, 0x01, 0x90, 0x64, + 0x64, 0xc8, 0x64, 0x64, 0x00, 0x05, 0x00, 0xc8, 0x00, 0x64, 0x01, 0xf4, + 0x02, 0x58, 0x00, 0x03, 0x00, 0x07, 0x00, 0x0b, 0x00, 0x0f, 0x00, 0x13, + 0x00, 0x00, 0x01, 0x33, 0x15, 0x23, 0x31, 0x15, 0x23, 0x35, 0x1d, 0x01, + 0x23, 0x35, 0x17, 0x33, 0x15, 0x23, 0x3b, 0x01, 0x15, 0x23, 0x01, 0x90, + 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0x02, 0x58, + 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0x00, 0x00, 0x00, + 0x00, 0x02, 0x00, 0x64, 0x00, 0xc8, 0x02, 0xbc, 0x01, 0xf4, 0x00, 0x03, + 0x00, 0x07, 0x00, 0x00, 0x13, 0x21, 0x15, 0x21, 0x15, 0x21, 0x15, 0x21, + 0x64, 0x02, 0x58, 0xfd, 0xa8, 0x02, 0x58, 0xfd, 0xa8, 0x01, 0xf4, 0x64, + 0x64, 0x64, 0x00, 0x00, 0x00, 0x05, 0x01, 0x2c, 0x00, 0x64, 0x02, 0x58, + 0x02, 0x58, 0x00, 0x03, 0x00, 0x07, 0x00, 0x0b, 0x00, 0x0f, 0x00, 0x13, + 0x00, 0x00, 0x01, 0x33, 0x15, 0x23, 0x3b, 0x01, 0x15, 0x23, 0x3b, 0x01, + 0x15, 0x23, 0x31, 0x15, 0x23, 0x35, 0x1d, 0x01, 0x23, 0x35, 0x01, 0x2c, + 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0x02, 0x58, + 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0x00, 0x06, 0x00, 0x64, + 0x00, 0x00, 0x02, 0x58, 0x02, 0xbc, 0x00, 0x03, 0x00, 0x07, 0x00, 0x0b, + 0x00, 0x0f, 0x00, 0x13, 0x00, 0x17, 0x00, 0x00, 0x13, 0x21, 0x15, 0x29, + 0x01, 0x33, 0x15, 0x23, 0x31, 0x15, 0x23, 0x35, 0x1d, 0x01, 0x23, 0x35, + 0x11, 0x15, 0x23, 0x35, 0x13, 0x33, 0x15, 0x23, 0xc8, 0x01, 0x2c, 0xfe, + 0xd4, 0x01, 0x2c, 0x64, 0x64, 0xc8, 0x64, 0x64, 0xc8, 0x64, 0x64, 0x02, + 0xbc, 0x64, 0xc8, 0x64, 0x64, 0x64, 0x64, 0x64, 0x01, 0x2c, 0x64, 0x64, + 0xfe, 0x0c, 0x64, 0x00, 0x00, 0x06, 0x00, 0x64, 0x00, 0x00, 0x03, 0x20, + 0x02, 0xbc, 0x00, 0x03, 0x00, 0x07, 0x00, 0x11, 0x00, 0x15, 0x00, 0x19, + 0x00, 0x1d, 0x00, 0x00, 0x13, 0x21, 0x15, 0x29, 0x01, 0x33, 0x11, 0x23, + 0x31, 0x15, 0x21, 0x35, 0x33, 0x35, 0x23, 0x35, 0x33, 0x15, 0x01, 0x11, + 0x23, 0x11, 0x13, 0x21, 0x15, 0x21, 0x25, 0x35, 0x33, 0x15, 0xc8, 0x01, + 0x90, 0xfe, 0x70, 0x01, 0x90, 0x64, 0x64, 0xfe, 0xd4, 0x64, 0x64, 0xc8, + 0xfe, 0xd4, 0x64, 0x64, 0x01, 0xf4, 0xfe, 0x0c, 0x01, 0xf4, 0x64, 0x02, + 0xbc, 0x64, 0xfe, 0xd4, 0x64, 0x64, 0x64, 0x64, 0xc8, 0x01, 0x2c, 0xfe, + 0x0c, 0x01, 0xf4, 0xfe, 0x0c, 0x64, 0x64, 0x64, 0x64, 0x00, 0x00, 0x00, + 0x00, 0x02, 0x00, 0x64, 0x00, 0x00, 0x02, 0x58, 0x02, 0xbc, 0x00, 0x03, + 0x00, 0x0f, 0x00, 0x00, 0x13, 0x21, 0x15, 0x29, 0x01, 0x33, 0x11, 0x23, + 0x35, 0x21, 0x15, 0x23, 0x11, 0x33, 0x11, 0x21, 0xc8, 0x01, 0x2c, 0xfe, + 0xd4, 0x01, 0x2c, 0x64, 0x64, 0xfe, 0xd4, 0x64, 0x64, 0x01, 0x2c, 0x02, + 0xbc, 0x64, 0xfd, 0xa8, 0xc8, 0xc8, 0x02, 0x58, 0xfe, 0xd4, 0x00, 0x00, + 0x00, 0x03, 0x00, 0x64, 0x00, 0x00, 0x02, 0x58, 0x02, 0xbc, 0x00, 0x0b, + 0x00, 0x0f, 0x00, 0x13, 0x00, 0x00, 0x13, 0x21, 0x15, 0x21, 0x15, 0x21, + 0x15, 0x21, 0x15, 0x21, 0x15, 0x21, 0x01, 0x33, 0x15, 0x23, 0x15, 0x33, + 0x15, 0x23, 0x64, 0x01, 0x90, 0xfe, 0xd4, 0x01, 0x2c, 0xfe, 0xd4, 0x01, + 0x2c, 0xfe, 0x70, 0x01, 0x90, 0x64, 0x64, 0x64, 0x64, 0x02, 0xbc, 0x64, + 0xc8, 0x64, 0xc8, 0x64, 0x02, 0x58, 0xc8, 0x64, 0xc8, 0x00, 0x00, 0x00, + 0x00, 0x05, 0x00, 0x64, 0x00, 0x00, 0x02, 0x58, 0x02, 0xbc, 0x00, 0x03, + 0x00, 0x07, 0x00, 0x0b, 0x00, 0x0f, 0x00, 0x13, 0x00, 0x00, 0x13, 0x21, + 0x15, 0x29, 0x01, 0x33, 0x15, 0x23, 0x25, 0x11, 0x23, 0x11, 0x13, 0x21, + 0x15, 0x21, 0x25, 0x35, 0x33, 0x15, 0xc8, 0x01, 0x2c, 0xfe, 0xd4, 0x01, + 0x2c, 0x64, 0x64, 0xfe, 0xd4, 0x64, 0x64, 0x01, 0x2c, 0xfe, 0xd4, 0x01, + 0x2c, 0x64, 0x02, 0xbc, 0x64, 0x64, 0x64, 0xfe, 0x0c, 0x01, 0xf4, 0xfe, + 0x0c, 0x64, 0x64, 0x64, 0x64, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, + 0x00, 0x00, 0x02, 0x58, 0x02, 0xbc, 0x00, 0x09, 0x00, 0x0d, 0x00, 0x00, + 0x11, 0x21, 0x15, 0x21, 0x11, 0x21, 0x15, 0x21, 0x11, 0x23, 0x21, 0x33, + 0x11, 0x23, 0x01, 0xf4, 0xfe, 0xd4, 0x01, 0x2c, 0xfe, 0x70, 0x64, 0x01, + 0xf4, 0x64, 0x64, 0x02, 0xbc, 0x64, 0xfe, 0x0c, 0x64, 0x02, 0x58, 0xfe, + 0x0c, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x64, 0x00, 0x00, 0x02, 0x58, + 0x02, 0xbc, 0x00, 0x0b, 0x00, 0x00, 0x13, 0x21, 0x15, 0x21, 0x15, 0x21, + 0x15, 0x21, 0x15, 0x21, 0x15, 0x21, 0x64, 0x01, 0xf4, 0xfe, 0x70, 0x01, + 0x2c, 0xfe, 0xd4, 0x01, 0x90, 0xfe, 0x0c, 0x02, 0xbc, 0x64, 0xc8, 0x64, + 0xc8, 0x64, 0x00, 0x00, 0x00, 0x01, 0x00, 0xc8, 0x00, 0x00, 0x02, 0xbc, + 0x02, 0xbc, 0x00, 0x09, 0x00, 0x00, 0x13, 0x21, 0x15, 0x21, 0x15, 0x21, + 0x15, 0x21, 0x11, 0x23, 0xc8, 0x01, 0xf4, 0xfe, 0x70, 0x01, 0x2c, 0xfe, + 0xd4, 0x64, 0x02, 0xbc, 0x64, 0xc8, 0x64, 0xfe, 0xd4, 0x00, 0x00, 0x00, + 0x00, 0x03, 0x00, 0x64, 0x00, 0x00, 0x02, 0x58, 0x02, 0xbc, 0x00, 0x03, + 0x00, 0x07, 0x00, 0x0f, 0x00, 0x00, 0x13, 0x21, 0x15, 0x21, 0x31, 0x11, + 0x23, 0x11, 0x13, 0x21, 0x35, 0x23, 0x35, 0x33, 0x11, 0x21, 0xc8, 0x01, + 0x90, 0xfe, 0x70, 0x64, 0x64, 0x01, 0x2c, 0x64, 0xc8, 0xfe, 0x70, 0x02, + 0xbc, 0x64, 0xfe, 0x0c, 0x01, 0xf4, 0xfe, 0x0c, 0xc8, 0x64, 0xfe, 0x70, + 0x00, 0x01, 0x00, 0x64, 0x00, 0x00, 0x02, 0x58, 0x02, 0xbc, 0x00, 0x0b, + 0x00, 0x00, 0x13, 0x33, 0x11, 0x21, 0x11, 0x33, 0x11, 0x23, 0x11, 0x21, + 0x11, 0x23, 0x64, 0x64, 0x01, 0x2c, 0x64, 0x64, 0xfe, 0xd4, 0x64, 0x02, + 0xbc, 0xfe, 0xd4, 0x01, 0x2c, 0xfd, 0x44, 0x01, 0x2c, 0xfe, 0xd4, 0x00, + 0x00, 0x01, 0x00, 0xc8, 0x00, 0x00, 0x01, 0xf4, 0x02, 0xbc, 0x00, 0x0b, + 0x00, 0x00, 0x13, 0x21, 0x15, 0x23, 0x11, 0x33, 0x15, 0x21, 0x35, 0x33, + 0x11, 0x23, 0xc8, 0x01, 0x2c, 0x64, 0x64, 0xfe, 0xd4, 0x64, 0x64, 0x02, + 0xbc, 0x64, 0xfe, 0x0c, 0x64, 0x64, 0x01, 0xf4, 0x00, 0x02, 0x00, 0x64, + 0x00, 0x00, 0x01, 0xf4, 0x02, 0xbc, 0x00, 0x07, 0x00, 0x0b, 0x00, 0x00, + 0x13, 0x21, 0x15, 0x23, 0x11, 0x23, 0x11, 0x23, 0x13, 0x15, 0x23, 0x35, + 0x64, 0x01, 0x90, 0x64, 0x64, 0xc8, 0xc8, 0xc8, 0x02, 0xbc, 0x64, 0xfe, + 0x0c, 0x01, 0xf4, 0xfe, 0x0c, 0x64, 0x64, 0x00, 0x00, 0x05, 0x00, 0x64, + 0x00, 0x00, 0x02, 0x58, 0x02, 0xbc, 0x00, 0x09, 0x00, 0x0d, 0x00, 0x11, + 0x00, 0x15, 0x00, 0x19, 0x00, 0x00, 0x13, 0x33, 0x11, 0x33, 0x35, 0x33, + 0x15, 0x23, 0x11, 0x23, 0x01, 0x35, 0x33, 0x15, 0x3d, 0x01, 0x33, 0x15, + 0x03, 0x33, 0x15, 0x23, 0x3b, 0x01, 0x15, 0x23, 0x64, 0x64, 0x64, 0x64, + 0xc8, 0x64, 0x01, 0x2c, 0x64, 0x64, 0xc8, 0x64, 0x64, 0x64, 0x64, 0x64, + 0x02, 0xbc, 0xfe, 0xd4, 0x64, 0xc8, 0xfe, 0xd4, 0x01, 0xf4, 0x64, 0x64, + 0x64, 0x64, 0x64, 0xfe, 0xd4, 0xc8, 0x64, 0x00, 0x00, 0x01, 0x00, 0xc8, + 0x00, 0x00, 0x02, 0x58, 0x02, 0xbc, 0x00, 0x05, 0x00, 0x00, 0x13, 0x33, + 0x11, 0x21, 0x15, 0x21, 0xc8, 0x64, 0x01, 0x2c, 0xfe, 0x70, 0x02, 0xbc, + 0xfd, 0xa8, 0x64, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x02, 0x58, + 0x02, 0xbc, 0x00, 0x07, 0x00, 0x0b, 0x00, 0x13, 0x00, 0x00, 0x11, 0x33, + 0x15, 0x33, 0x15, 0x23, 0x11, 0x23, 0x13, 0x33, 0x15, 0x23, 0x37, 0x35, + 0x33, 0x35, 0x33, 0x11, 0x23, 0x11, 0x64, 0x64, 0x64, 0x64, 0xc8, 0xc8, + 0xc8, 0xc8, 0x64, 0x64, 0x64, 0x02, 0xbc, 0xc8, 0x64, 0xfe, 0x70, 0x01, + 0x90, 0x64, 0x64, 0x64, 0xc8, 0xfd, 0x44, 0x01, 0x90, 0x00, 0x00, 0x00, + 0x00, 0x03, 0x00, 0x64, 0x00, 0x00, 0x02, 0x58, 0x02, 0xbc, 0x00, 0x07, + 0x00, 0x0b, 0x00, 0x13, 0x00, 0x00, 0x13, 0x33, 0x15, 0x33, 0x15, 0x23, + 0x11, 0x23, 0x13, 0x33, 0x15, 0x23, 0x3b, 0x01, 0x11, 0x33, 0x11, 0x23, + 0x11, 0x23, 0x64, 0x64, 0x64, 0x64, 0x64, 0xc8, 0x64, 0x64, 0x64, 0x64, + 0x64, 0x64, 0x64, 0x02, 0xbc, 0x64, 0x64, 0xfe, 0x0c, 0x01, 0xf4, 0x64, + 0x01, 0x2c, 0xfd, 0x44, 0x01, 0x2c, 0x00, 0x00, 0x00, 0x04, 0x00, 0xc8, + 0x00, 0x00, 0x02, 0xbc, 0x02, 0xbc, 0x00, 0x03, 0x00, 0x07, 0x00, 0x0b, + 0x00, 0x0f, 0x00, 0x00, 0x01, 0x21, 0x15, 0x29, 0x01, 0x33, 0x11, 0x23, + 0x31, 0x15, 0x21, 0x35, 0x31, 0x23, 0x11, 0x33, 0x01, 0x2c, 0x01, 0x2c, + 0xfe, 0xd4, 0x01, 0x2c, 0x64, 0x64, 0xfe, 0xd4, 0x64, 0x64, 0x02, 0xbc, + 0x64, 0xfe, 0x0c, 0x64, 0x64, 0x01, 0xf4, 0x00, 0x00, 0x02, 0x00, 0x64, + 0x00, 0x00, 0x02, 0x58, 0x02, 0xbc, 0x00, 0x09, 0x00, 0x0d, 0x00, 0x00, + 0x13, 0x21, 0x15, 0x21, 0x15, 0x21, 0x15, 0x21, 0x11, 0x23, 0x01, 0x33, + 0x15, 0x23, 0x64, 0x01, 0x90, 0xfe, 0xd4, 0x01, 0x2c, 0xfe, 0xd4, 0x64, + 0x01, 0x90, 0x64, 0x64, 0x02, 0xbc, 0x64, 0xc8, 0x64, 0xfe, 0xd4, 0x02, + 0x58, 0xc8, 0x00, 0x00, 0x00, 0x07, 0x00, 0x64, 0x00, 0x00, 0x02, 0x58, + 0x02, 0xbc, 0x00, 0x03, 0x00, 0x07, 0x00, 0x0b, 0x00, 0x0f, 0x00, 0x13, + 0x00, 0x17, 0x00, 0x1b, 0x00, 0x00, 0x13, 0x21, 0x15, 0x29, 0x01, 0x33, + 0x11, 0x23, 0x31, 0x15, 0x23, 0x35, 0x17, 0x33, 0x15, 0x23, 0x27, 0x15, + 0x23, 0x35, 0x31, 0x23, 0x11, 0x33, 0x13, 0x23, 0x35, 0x33, 0xc8, 0x01, + 0x2c, 0xfe, 0xd4, 0x01, 0x2c, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, + 0xc8, 0x64, 0x64, 0xc8, 0x64, 0x64, 0x02, 0xbc, 0x64, 0xfe, 0x70, 0x64, + 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0x01, 0xf4, 0xfe, 0x70, 0x64, 0x00, + 0x00, 0x03, 0x00, 0x64, 0x00, 0x00, 0x02, 0x58, 0x02, 0xbc, 0x00, 0x0b, + 0x00, 0x0f, 0x00, 0x13, 0x00, 0x00, 0x13, 0x21, 0x15, 0x21, 0x15, 0x21, + 0x15, 0x23, 0x35, 0x23, 0x11, 0x23, 0x01, 0x33, 0x15, 0x23, 0x15, 0x33, + 0x15, 0x23, 0x64, 0x01, 0x90, 0xfe, 0xd4, 0x01, 0x2c, 0x64, 0xc8, 0x64, + 0x01, 0x90, 0x64, 0x64, 0x64, 0x64, 0x02, 0xbc, 0x64, 0xc8, 0xc8, 0x64, + 0xfe, 0xd4, 0x02, 0x58, 0xc8, 0xc8, 0xc8, 0x00, 0x00, 0x07, 0x00, 0x64, + 0x00, 0x00, 0x02, 0x58, 0x02, 0xbc, 0x00, 0x03, 0x00, 0x07, 0x00, 0x0b, + 0x00, 0x0f, 0x00, 0x13, 0x00, 0x17, 0x00, 0x1b, 0x00, 0x00, 0x13, 0x21, + 0x15, 0x29, 0x01, 0x33, 0x15, 0x23, 0x25, 0x15, 0x23, 0x35, 0x17, 0x21, + 0x15, 0x29, 0x01, 0x33, 0x15, 0x23, 0x31, 0x15, 0x21, 0x35, 0x31, 0x23, + 0x35, 0x33, 0xc8, 0x01, 0x2c, 0xfe, 0xd4, 0x01, 0x2c, 0x64, 0x64, 0xfe, + 0xd4, 0x64, 0x64, 0x01, 0x2c, 0xfe, 0xd4, 0x01, 0x2c, 0x64, 0x64, 0xfe, + 0xd4, 0x64, 0x64, 0x02, 0xbc, 0x64, 0x64, 0x64, 0xc8, 0xc8, 0xc8, 0x64, + 0xc8, 0x64, 0x64, 0x64, 0x00, 0x01, 0x00, 0x64, 0x00, 0x00, 0x02, 0x58, + 0x02, 0xbc, 0x00, 0x07, 0x00, 0x00, 0x13, 0x21, 0x15, 0x23, 0x11, 0x23, + 0x11, 0x23, 0x64, 0x01, 0xf4, 0xc8, 0x64, 0xc8, 0x02, 0xbc, 0x64, 0xfd, + 0xa8, 0x02, 0x58, 0x00, 0x00, 0x03, 0x00, 0x64, 0x00, 0x00, 0x02, 0x58, + 0x02, 0xbc, 0x00, 0x03, 0x00, 0x07, 0x00, 0x0b, 0x00, 0x00, 0x13, 0x33, + 0x11, 0x23, 0x33, 0x21, 0x15, 0x21, 0x25, 0x11, 0x33, 0x11, 0x64, 0x64, + 0x64, 0x64, 0x01, 0x2c, 0xfe, 0xd4, 0x01, 0x2c, 0x64, 0x02, 0xbc, 0xfd, + 0xa8, 0x64, 0x64, 0x02, 0x58, 0xfd, 0xa8, 0x00, 0x00, 0x05, 0x00, 0x64, + 0x00, 0x00, 0x02, 0x58, 0x02, 0xbc, 0x00, 0x03, 0x00, 0x07, 0x00, 0x0b, + 0x00, 0x0f, 0x00, 0x13, 0x00, 0x00, 0x13, 0x33, 0x11, 0x23, 0x3b, 0x01, + 0x15, 0x23, 0x3b, 0x01, 0x15, 0x23, 0x37, 0x35, 0x33, 0x15, 0x35, 0x11, + 0x33, 0x11, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, + 0x64, 0x64, 0x02, 0xbc, 0xfe, 0x70, 0xc8, 0x64, 0x64, 0xc8, 0xc8, 0xc8, + 0x01, 0x90, 0xfe, 0x70, 0x00, 0x07, 0x00, 0x00, 0x00, 0x00, 0x02, 0xbc, + 0x02, 0xbc, 0x00, 0x03, 0x00, 0x07, 0x00, 0x0b, 0x00, 0x0f, 0x00, 0x13, + 0x00, 0x17, 0x00, 0x1b, 0x00, 0x00, 0x11, 0x33, 0x11, 0x23, 0x3b, 0x01, + 0x15, 0x23, 0x37, 0x35, 0x33, 0x15, 0x35, 0x11, 0x33, 0x11, 0x31, 0x33, + 0x15, 0x23, 0x3b, 0x01, 0x15, 0x23, 0x37, 0x11, 0x33, 0x11, 0x64, 0x64, + 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, + 0x64, 0x02, 0xbc, 0xfd, 0xa8, 0x64, 0x64, 0x64, 0x64, 0x64, 0x01, 0x2c, + 0xfe, 0xd4, 0x64, 0x64, 0x64, 0x02, 0x58, 0xfd, 0xa8, 0x00, 0x00, 0x00, + 0x00, 0x09, 0x00, 0x64, 0x00, 0x00, 0x02, 0x58, 0x02, 0xbc, 0x00, 0x03, + 0x00, 0x07, 0x00, 0x0b, 0x00, 0x0f, 0x00, 0x13, 0x00, 0x17, 0x00, 0x1b, + 0x00, 0x1f, 0x00, 0x23, 0x00, 0x00, 0x13, 0x33, 0x15, 0x23, 0x3b, 0x01, + 0x15, 0x23, 0x3b, 0x01, 0x15, 0x23, 0x37, 0x35, 0x33, 0x15, 0x3d, 0x01, + 0x33, 0x15, 0x07, 0x33, 0x15, 0x23, 0x3b, 0x01, 0x15, 0x23, 0x03, 0x15, + 0x23, 0x35, 0x1d, 0x01, 0x23, 0x35, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, + 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0xc8, 0x64, 0x64, 0x64, 0x64, 0x64, + 0xc8, 0x64, 0x64, 0x02, 0xbc, 0xc8, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, + 0xc8, 0xc8, 0xc8, 0x64, 0xc8, 0x01, 0x2c, 0x64, 0x64, 0x64, 0xc8, 0xc8, + 0x00, 0x05, 0x00, 0x64, 0x00, 0x00, 0x02, 0x58, 0x02, 0xbc, 0x00, 0x03, + 0x00, 0x07, 0x00, 0x0b, 0x00, 0x0f, 0x00, 0x13, 0x00, 0x00, 0x13, 0x33, + 0x11, 0x23, 0x3b, 0x01, 0x15, 0x23, 0x3b, 0x01, 0x11, 0x23, 0x13, 0x35, + 0x33, 0x15, 0x35, 0x11, 0x33, 0x11, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, + 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0x02, 0xbc, 0xfe, 0xd4, 0x64, 0xfe, + 0xd4, 0x01, 0x2c, 0x64, 0x64, 0x64, 0x01, 0x2c, 0xfe, 0xd4, 0x00, 0x00, + 0x00, 0x05, 0x00, 0x64, 0x00, 0x00, 0x02, 0x58, 0x02, 0xbc, 0x00, 0x05, + 0x00, 0x09, 0x00, 0x0d, 0x00, 0x11, 0x00, 0x17, 0x00, 0x00, 0x13, 0x21, + 0x15, 0x23, 0x35, 0x21, 0x05, 0x15, 0x23, 0x35, 0x1d, 0x01, 0x23, 0x35, + 0x1d, 0x01, 0x23, 0x35, 0x1d, 0x01, 0x21, 0x15, 0x21, 0x35, 0x64, 0x01, + 0xf4, 0x64, 0xfe, 0x70, 0x01, 0x90, 0x64, 0x64, 0x64, 0x01, 0x90, 0xfe, + 0x0c, 0x02, 0xbc, 0xc8, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, + 0x64, 0x64, 0x64, 0x64, 0x64, 0xc8, 0x00, 0x00, 0x00, 0x01, 0x01, 0x2c, + 0x00, 0x00, 0x01, 0xf4, 0x02, 0xbc, 0x00, 0x07, 0x00, 0x00, 0x01, 0x33, + 0x15, 0x23, 0x11, 0x33, 0x15, 0x23, 0x01, 0x2c, 0xc8, 0x64, 0x64, 0xc8, + 0x02, 0xbc, 0x64, 0xfe, 0x0c, 0x64, 0x00, 0x00, 0x00, 0x04, 0x00, 0xc8, + 0xff, 0x9c, 0x02, 0x58, 0x02, 0xbc, 0x00, 0x03, 0x00, 0x07, 0x00, 0x0b, + 0x00, 0x0f, 0x00, 0x00, 0x13, 0x33, 0x15, 0x23, 0x3b, 0x01, 0x15, 0x23, + 0x3b, 0x01, 0x15, 0x23, 0x3b, 0x01, 0x15, 0x23, 0xc8, 0x64, 0x64, 0x64, + 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0x02, 0xbc, 0xc8, 0xc8, + 0xc8, 0xc8, 0x00, 0x00, 0x00, 0x01, 0x01, 0x2c, 0x00, 0x00, 0x01, 0xf4, + 0x02, 0xbc, 0x00, 0x07, 0x00, 0x00, 0x01, 0x33, 0x11, 0x23, 0x35, 0x33, + 0x11, 0x23, 0x01, 0x2c, 0xc8, 0xc8, 0x64, 0x64, 0x02, 0xbc, 0xfd, 0x44, + 0x64, 0x01, 0xf4, 0x00, 0x00, 0x03, 0x00, 0xc8, 0x01, 0x90, 0x02, 0x58, + 0x02, 0x58, 0x00, 0x03, 0x00, 0x07, 0x00, 0x0b, 0x00, 0x00, 0x01, 0x33, + 0x15, 0x23, 0x3b, 0x01, 0x15, 0x23, 0x27, 0x15, 0x23, 0x35, 0x01, 0x2c, + 0xc8, 0xc8, 0xc8, 0x64, 0x64, 0xc8, 0x64, 0x02, 0x58, 0x64, 0x64, 0x64, + 0x64, 0x64, 0x00, 0x00, 0x00, 0x01, 0x00, 0x64, 0xff, 0x9c, 0x02, 0xbc, + 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x33, 0x21, 0x15, 0x21, 0x64, 0x02, + 0x58, 0xfd, 0xa8, 0x64, 0x00, 0x02, 0x01, 0x2c, 0x01, 0x2c, 0x01, 0xf4, + 0x02, 0x58, 0x00, 0x03, 0x00, 0x07, 0x00, 0x00, 0x01, 0x33, 0x15, 0x23, + 0x3b, 0x01, 0x15, 0x23, 0x01, 0x2c, 0x64, 0x64, 0x64, 0x64, 0x64, 0x02, + 0x58, 0x64, 0xc8, 0x00, 0x00, 0x03, 0x00, 0x64, 0x00, 0x00, 0x02, 0x58, + 0x02, 0x58, 0x00, 0x03, 0x00, 0x0d, 0x00, 0x11, 0x00, 0x00, 0x13, 0x21, + 0x15, 0x29, 0x01, 0x33, 0x11, 0x21, 0x35, 0x21, 0x35, 0x21, 0x35, 0x21, + 0x01, 0x23, 0x35, 0x33, 0xc8, 0x01, 0x2c, 0xfe, 0xd4, 0x01, 0x2c, 0x64, + 0xfe, 0x70, 0x01, 0x2c, 0xfe, 0xd4, 0x01, 0x2c, 0xfe, 0xd4, 0x64, 0x64, + 0x02, 0x58, 0x64, 0xfe, 0x0c, 0x64, 0xc8, 0x64, 0xfe, 0xd4, 0xc8, 0x00, + 0x00, 0x02, 0x00, 0x64, 0x00, 0x00, 0x02, 0x58, 0x02, 0xbc, 0x00, 0x09, + 0x00, 0x0d, 0x00, 0x00, 0x13, 0x33, 0x15, 0x21, 0x15, 0x21, 0x11, 0x21, + 0x15, 0x21, 0x01, 0x33, 0x11, 0x23, 0x64, 0x64, 0x01, 0x2c, 0xfe, 0xd4, + 0x01, 0x2c, 0xfe, 0x70, 0x01, 0x90, 0x64, 0x64, 0x02, 0xbc, 0xc8, 0x64, + 0xfe, 0xd4, 0x64, 0x01, 0x90, 0xfe, 0xd4, 0x00, 0x00, 0x04, 0x00, 0x64, + 0x00, 0x00, 0x02, 0x58, 0x02, 0x58, 0x00, 0x03, 0x00, 0x07, 0x00, 0x0b, + 0x00, 0x0f, 0x00, 0x00, 0x13, 0x21, 0x15, 0x29, 0x01, 0x33, 0x15, 0x23, + 0x25, 0x11, 0x23, 0x11, 0x13, 0x21, 0x15, 0x21, 0xc8, 0x01, 0x2c, 0xfe, + 0xd4, 0x01, 0x2c, 0x64, 0x64, 0xfe, 0xd4, 0x64, 0x64, 0x01, 0x90, 0xfe, + 0x70, 0x02, 0x58, 0x64, 0x64, 0x64, 0xfe, 0x70, 0x01, 0x90, 0xfe, 0x70, + 0x64, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x64, 0x00, 0x00, 0x02, 0x58, + 0x02, 0xbc, 0x00, 0x09, 0x00, 0x0d, 0x00, 0x00, 0x01, 0x33, 0x11, 0x21, + 0x35, 0x21, 0x11, 0x21, 0x35, 0x21, 0x01, 0x23, 0x11, 0x33, 0x01, 0xf4, + 0x64, 0xfe, 0x70, 0x01, 0x2c, 0xfe, 0xd4, 0x01, 0x2c, 0xfe, 0xd4, 0x64, + 0x64, 0x02, 0xbc, 0xfd, 0x44, 0x64, 0x01, 0x2c, 0x64, 0xfe, 0x70, 0x01, + 0x2c, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x64, 0x00, 0x00, 0x02, 0x58, + 0x02, 0x58, 0x00, 0x03, 0x00, 0x0d, 0x00, 0x11, 0x00, 0x00, 0x13, 0x21, + 0x15, 0x29, 0x01, 0x33, 0x15, 0x21, 0x15, 0x23, 0x11, 0x33, 0x15, 0x21, + 0x01, 0x21, 0x15, 0x21, 0xc8, 0x01, 0x2c, 0xfe, 0xd4, 0x01, 0x2c, 0x64, + 0xfe, 0x70, 0x64, 0x64, 0x01, 0x2c, 0xfe, 0xd4, 0x01, 0x90, 0xfe, 0x70, + 0x02, 0x58, 0x64, 0xc8, 0xc8, 0x01, 0x90, 0x64, 0xfe, 0xd4, 0x64, 0x00, + 0x00, 0x02, 0x00, 0x64, 0x00, 0x00, 0x02, 0x58, 0x02, 0xbc, 0x00, 0x03, + 0x00, 0x0f, 0x00, 0x00, 0x01, 0x21, 0x15, 0x21, 0x31, 0x15, 0x33, 0x15, + 0x23, 0x11, 0x23, 0x11, 0x23, 0x35, 0x33, 0x35, 0x01, 0x2c, 0x01, 0x2c, + 0xfe, 0xd4, 0xc8, 0xc8, 0x64, 0x64, 0x64, 0x02, 0xbc, 0x64, 0xc8, 0x64, + 0xfe, 0xd4, 0x01, 0x2c, 0x64, 0xc8, 0x00, 0x00, 0x00, 0x03, 0x00, 0x64, + 0xff, 0x9c, 0x02, 0x58, 0x02, 0x58, 0x00, 0x09, 0x00, 0x0d, 0x00, 0x11, + 0x00, 0x00, 0x13, 0x21, 0x11, 0x23, 0x35, 0x21, 0x35, 0x21, 0x11, 0x21, + 0x01, 0x15, 0x21, 0x3d, 0x01, 0x23, 0x11, 0x33, 0xc8, 0x01, 0x90, 0x64, + 0xfe, 0xd4, 0x01, 0x2c, 0xfe, 0xd4, 0x01, 0x2c, 0xfe, 0xd4, 0x64, 0x64, + 0x02, 0x58, 0xfd, 0xa8, 0x64, 0x64, 0x01, 0x2c, 0xfe, 0x0c, 0x64, 0x64, + 0xc8, 0x01, 0x2c, 0x00, 0x00, 0x03, 0x00, 0x64, 0x00, 0x00, 0x02, 0x58, + 0x02, 0xbc, 0x00, 0x07, 0x00, 0x0b, 0x00, 0x0f, 0x00, 0x00, 0x13, 0x33, + 0x11, 0x33, 0x15, 0x23, 0x11, 0x23, 0x13, 0x35, 0x33, 0x15, 0x31, 0x33, + 0x11, 0x23, 0x64, 0x64, 0x64, 0x64, 0x64, 0xc8, 0xc8, 0x64, 0x64, 0x02, + 0xbc, 0xfe, 0xd4, 0x64, 0xfe, 0xd4, 0x01, 0x90, 0x64, 0x64, 0xfe, 0x70, + 0x00, 0x02, 0x00, 0xc8, 0x00, 0x00, 0x01, 0xf4, 0x02, 0xbc, 0x00, 0x03, + 0x00, 0x0d, 0x00, 0x00, 0x01, 0x33, 0x15, 0x23, 0x07, 0x33, 0x11, 0x33, + 0x15, 0x21, 0x35, 0x33, 0x11, 0x23, 0x01, 0x2c, 0x64, 0x64, 0x64, 0xc8, + 0x64, 0xfe, 0xd4, 0x64, 0x64, 0x02, 0xbc, 0x64, 0x64, 0xfe, 0x70, 0x64, + 0x64, 0x01, 0x2c, 0x00, 0x00, 0x02, 0x00, 0xc8, 0xff, 0x9c, 0x01, 0xf4, + 0x02, 0x58, 0x00, 0x07, 0x00, 0x0b, 0x00, 0x00, 0x13, 0x21, 0x15, 0x23, + 0x11, 0x23, 0x11, 0x23, 0x13, 0x15, 0x23, 0x35, 0xc8, 0x01, 0x2c, 0x64, + 0x64, 0x64, 0x64, 0x64, 0x02, 0x58, 0x64, 0xfe, 0x0c, 0x01, 0xf4, 0xfe, + 0x0c, 0x64, 0x64, 0x00, 0x00, 0x05, 0x00, 0x64, 0x00, 0x00, 0x02, 0x58, + 0x02, 0x58, 0x00, 0x0a, 0x00, 0x0e, 0x00, 0x12, 0x00, 0x16, 0x00, 0x1a, + 0x00, 0x00, 0x13, 0x33, 0x11, 0x33, 0x35, 0x33, 0x1d, 0x01, 0x23, 0x15, + 0x23, 0x01, 0x35, 0x33, 0x15, 0x3d, 0x01, 0x33, 0x15, 0x03, 0x33, 0x15, + 0x23, 0x3b, 0x01, 0x15, 0x23, 0x64, 0x64, 0x64, 0x64, 0xc8, 0x64, 0x01, + 0x2c, 0x64, 0x64, 0xc8, 0x64, 0x64, 0x64, 0x64, 0x64, 0x02, 0x58, 0xfe, + 0xd4, 0x64, 0x64, 0x64, 0xc8, 0x01, 0x90, 0x64, 0x64, 0x64, 0x64, 0x64, + 0xfe, 0xd4, 0x64, 0x64, 0x00, 0x02, 0x00, 0xc8, 0x00, 0x00, 0x01, 0xf4, + 0x02, 0x58, 0x00, 0x03, 0x00, 0x07, 0x00, 0x00, 0x13, 0x33, 0x11, 0x23, + 0x3b, 0x01, 0x15, 0x23, 0xc8, 0x64, 0x64, 0x64, 0xc8, 0xc8, 0x02, 0x58, + 0xfe, 0x0c, 0x64, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x00, 0x02, 0xbc, + 0x02, 0x58, 0x00, 0x03, 0x00, 0x07, 0x00, 0x0b, 0x00, 0x0f, 0x00, 0x13, + 0x00, 0x00, 0x13, 0x33, 0x15, 0x23, 0x3b, 0x01, 0x11, 0x23, 0x13, 0x35, + 0x33, 0x15, 0x31, 0x33, 0x11, 0x23, 0x01, 0x11, 0x23, 0x11, 0x64, 0xc8, + 0xc8, 0xc8, 0x64, 0x64, 0x64, 0xc8, 0x64, 0x64, 0xfe, 0x0c, 0x64, 0x02, + 0x58, 0x64, 0xfe, 0x0c, 0x01, 0xf4, 0x64, 0x64, 0xfe, 0x0c, 0x01, 0xf4, + 0xfe, 0x0c, 0x01, 0xf4, 0x00, 0x03, 0x00, 0x64, 0x00, 0x00, 0x02, 0x58, + 0x02, 0x58, 0x00, 0x03, 0x00, 0x07, 0x00, 0x0d, 0x00, 0x00, 0x01, 0x33, + 0x15, 0x23, 0x3b, 0x01, 0x11, 0x23, 0x03, 0x15, 0x23, 0x11, 0x23, 0x11, + 0x01, 0x2c, 0xc8, 0xc8, 0xc8, 0x64, 0x64, 0xc8, 0x64, 0x64, 0x02, 0x58, + 0x64, 0xfe, 0x0c, 0x01, 0xf4, 0x64, 0xfe, 0x70, 0x01, 0xf4, 0x00, 0x00, + 0x00, 0x04, 0x00, 0x64, 0x00, 0x00, 0x02, 0x58, 0x02, 0x58, 0x00, 0x03, + 0x00, 0x07, 0x00, 0x0b, 0x00, 0x0f, 0x00, 0x00, 0x13, 0x21, 0x15, 0x29, + 0x01, 0x33, 0x11, 0x23, 0x31, 0x15, 0x21, 0x35, 0x31, 0x23, 0x11, 0x33, + 0xc8, 0x01, 0x2c, 0xfe, 0xd4, 0x01, 0x2c, 0x64, 0x64, 0xfe, 0xd4, 0x64, + 0x64, 0x02, 0x58, 0x64, 0xfe, 0x70, 0x64, 0x64, 0x01, 0x90, 0x00, 0x00, + 0x00, 0x02, 0x00, 0xc8, 0xff, 0x9c, 0x02, 0xbc, 0x02, 0x58, 0x00, 0x09, + 0x00, 0x0d, 0x00, 0x00, 0x13, 0x21, 0x15, 0x21, 0x11, 0x21, 0x15, 0x21, + 0x15, 0x23, 0x01, 0x33, 0x11, 0x23, 0xc8, 0x01, 0x90, 0xfe, 0xd4, 0x01, + 0x2c, 0xfe, 0xd4, 0x64, 0x01, 0x90, 0x64, 0x64, 0x02, 0x58, 0x64, 0xfe, + 0xd4, 0x64, 0xc8, 0x02, 0x58, 0xfe, 0xd4, 0x00, 0x00, 0x02, 0x00, 0x64, + 0xff, 0x9c, 0x02, 0x58, 0x02, 0x58, 0x00, 0x09, 0x00, 0x0d, 0x00, 0x00, + 0x13, 0x21, 0x11, 0x23, 0x35, 0x21, 0x35, 0x21, 0x11, 0x21, 0x11, 0x23, + 0x11, 0x33, 0xc8, 0x01, 0x90, 0x64, 0xfe, 0xd4, 0x01, 0x2c, 0xfe, 0xd4, + 0x64, 0x64, 0x02, 0x58, 0xfd, 0x44, 0xc8, 0x64, 0x01, 0x2c, 0xfe, 0xd4, + 0x01, 0x2c, 0x00, 0x00, 0x00, 0x02, 0x00, 0xc8, 0x00, 0x00, 0x02, 0x58, + 0x02, 0x58, 0x00, 0x07, 0x00, 0x0b, 0x00, 0x00, 0x13, 0x33, 0x15, 0x33, + 0x15, 0x23, 0x11, 0x23, 0x13, 0x35, 0x33, 0x15, 0xc8, 0x64, 0x64, 0x64, + 0x64, 0xc8, 0xc8, 0x02, 0x58, 0x64, 0x64, 0xfe, 0x70, 0x01, 0xf4, 0x64, + 0x64, 0x00, 0x00, 0x00, 0x00, 0x06, 0x00, 0x64, 0x00, 0x00, 0x02, 0x58, + 0x02, 0x58, 0x00, 0x03, 0x00, 0x07, 0x00, 0x0b, 0x00, 0x0f, 0x00, 0x13, + 0x00, 0x17, 0x00, 0x00, 0x13, 0x21, 0x15, 0x21, 0x31, 0x15, 0x23, 0x35, + 0x17, 0x21, 0x15, 0x29, 0x01, 0x33, 0x15, 0x23, 0x31, 0x15, 0x21, 0x35, + 0x31, 0x23, 0x35, 0x33, 0xc8, 0x01, 0x2c, 0xfe, 0xd4, 0x64, 0x64, 0x01, + 0x2c, 0xfe, 0xd4, 0x01, 0x2c, 0x64, 0x64, 0xfe, 0xd4, 0x64, 0x64, 0x02, + 0x58, 0x64, 0x64, 0x64, 0x64, 0x64, 0xc8, 0x64, 0x64, 0x64, 0x00, 0x00, + 0x00, 0x02, 0x00, 0xc8, 0x00, 0x00, 0x02, 0x58, 0x02, 0xbc, 0x00, 0x07, + 0x00, 0x0b, 0x00, 0x00, 0x13, 0x33, 0x15, 0x21, 0x15, 0x21, 0x11, 0x23, + 0x33, 0x21, 0x15, 0x21, 0xc8, 0x64, 0x01, 0x2c, 0xfe, 0xd4, 0x64, 0x64, + 0x01, 0x2c, 0xfe, 0xd4, 0x02, 0xbc, 0xc8, 0x64, 0xfe, 0xd4, 0x64, 0x00, + 0x00, 0x03, 0x00, 0x64, 0x00, 0x00, 0x02, 0x58, 0x02, 0x58, 0x00, 0x03, + 0x00, 0x07, 0x00, 0x0f, 0x00, 0x00, 0x13, 0x33, 0x11, 0x23, 0x3b, 0x01, + 0x15, 0x23, 0x37, 0x35, 0x33, 0x11, 0x33, 0x11, 0x23, 0x35, 0x64, 0x64, + 0x64, 0x64, 0xc8, 0xc8, 0xc8, 0x64, 0x64, 0x64, 0x02, 0x58, 0xfe, 0x0c, + 0x64, 0x64, 0x64, 0x01, 0x90, 0xfd, 0xa8, 0x64, 0x00, 0x05, 0x00, 0x64, + 0x00, 0x00, 0x02, 0x58, 0x02, 0x58, 0x00, 0x03, 0x00, 0x07, 0x00, 0x0b, + 0x00, 0x0f, 0x00, 0x13, 0x00, 0x00, 0x13, 0x33, 0x11, 0x23, 0x3b, 0x01, + 0x15, 0x23, 0x3b, 0x01, 0x15, 0x23, 0x37, 0x35, 0x33, 0x15, 0x35, 0x11, + 0x33, 0x11, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, + 0x64, 0x64, 0x02, 0x58, 0xfe, 0xd4, 0xc8, 0x64, 0x64, 0xc8, 0xc8, 0xc8, + 0x01, 0x2c, 0xfe, 0xd4, 0x00, 0x05, 0x00, 0x64, 0x00, 0x00, 0x02, 0xbc, + 0x02, 0x58, 0x00, 0x03, 0x00, 0x07, 0x00, 0x0b, 0x00, 0x0f, 0x00, 0x13, + 0x00, 0x00, 0x01, 0x33, 0x11, 0x23, 0x31, 0x15, 0x23, 0x35, 0x31, 0x23, + 0x11, 0x33, 0x03, 0x15, 0x23, 0x35, 0x31, 0x23, 0x11, 0x33, 0x02, 0x58, + 0x64, 0x64, 0xc8, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0x02, 0x58, 0xfe, + 0x0c, 0x64, 0x64, 0x01, 0x90, 0xfe, 0x70, 0x64, 0x64, 0x01, 0x90, 0x00, + 0x00, 0x09, 0x00, 0x64, 0x00, 0x00, 0x02, 0x58, 0x02, 0x58, 0x00, 0x03, + 0x00, 0x07, 0x00, 0x0b, 0x00, 0x0f, 0x00, 0x13, 0x00, 0x17, 0x00, 0x1b, + 0x00, 0x1f, 0x00, 0x23, 0x00, 0x00, 0x13, 0x33, 0x15, 0x23, 0x3b, 0x01, + 0x15, 0x23, 0x3b, 0x01, 0x15, 0x23, 0x37, 0x35, 0x33, 0x15, 0x3d, 0x01, + 0x33, 0x15, 0x03, 0x33, 0x15, 0x23, 0x3b, 0x01, 0x15, 0x23, 0x27, 0x15, + 0x23, 0x35, 0x1d, 0x01, 0x23, 0x35, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, + 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0xc8, 0x64, 0x64, 0x64, 0x64, 0x64, + 0xc8, 0x64, 0x64, 0x02, 0x58, 0x64, 0x64, 0xc8, 0xc8, 0x64, 0x64, 0x64, + 0x64, 0x64, 0xfe, 0xd4, 0x64, 0x64, 0xc8, 0x64, 0x64, 0x64, 0x64, 0x64, + 0x00, 0x04, 0x00, 0xc8, 0x00, 0x00, 0x02, 0x58, 0x02, 0x58, 0x00, 0x03, + 0x00, 0x09, 0x00, 0x0d, 0x00, 0x11, 0x00, 0x00, 0x13, 0x33, 0x11, 0x23, + 0x3b, 0x01, 0x15, 0x23, 0x35, 0x23, 0x37, 0x11, 0x33, 0x11, 0x07, 0x15, + 0x23, 0x35, 0xc8, 0x64, 0x64, 0x64, 0xc8, 0x64, 0x64, 0xc8, 0x64, 0xc8, + 0xc8, 0x02, 0x58, 0xfe, 0xd4, 0xc8, 0x64, 0x64, 0x01, 0x2c, 0xfe, 0xd4, + 0xc8, 0x64, 0x64, 0x00, 0x00, 0x04, 0x00, 0xc8, 0x00, 0x00, 0x02, 0x58, + 0x02, 0x58, 0x00, 0x05, 0x00, 0x09, 0x00, 0x0d, 0x00, 0x13, 0x00, 0x00, + 0x13, 0x21, 0x15, 0x23, 0x35, 0x21, 0x05, 0x15, 0x23, 0x35, 0x1d, 0x01, + 0x23, 0x35, 0x1d, 0x01, 0x21, 0x15, 0x21, 0x35, 0xc8, 0x01, 0x90, 0x64, + 0xfe, 0xd4, 0x01, 0x2c, 0x64, 0x64, 0x01, 0x2c, 0xfe, 0x70, 0x02, 0x58, + 0xc8, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0xc8, + 0x00, 0x07, 0x00, 0xc8, 0xff, 0x9c, 0x02, 0x58, 0x02, 0xbc, 0x00, 0x03, + 0x00, 0x07, 0x00, 0x0b, 0x00, 0x0f, 0x00, 0x13, 0x00, 0x17, 0x00, 0x1b, + 0x00, 0x00, 0x01, 0x33, 0x15, 0x23, 0x3b, 0x01, 0x15, 0x23, 0x27, 0x15, + 0x23, 0x35, 0x1d, 0x01, 0x23, 0x35, 0x17, 0x33, 0x15, 0x23, 0x3b, 0x01, + 0x15, 0x23, 0x37, 0x35, 0x33, 0x15, 0x01, 0x90, 0x64, 0x64, 0x64, 0x64, + 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, + 0x02, 0xbc, 0x64, 0x64, 0x64, 0xc8, 0xc8, 0xc8, 0xc8, 0xc8, 0xc8, 0xc8, + 0x64, 0x64, 0x64, 0x64, 0x00, 0x01, 0x01, 0x2c, 0xff, 0x9c, 0x01, 0x90, + 0x02, 0xbc, 0x00, 0x03, 0x00, 0x00, 0x01, 0x33, 0x11, 0x23, 0x01, 0x2c, + 0x64, 0x64, 0x02, 0xbc, 0xfc, 0xe0, 0x00, 0x00, 0x00, 0x07, 0x00, 0xc8, + 0xff, 0x9c, 0x02, 0x58, 0x02, 0xbc, 0x00, 0x03, 0x00, 0x07, 0x00, 0x0b, + 0x00, 0x0f, 0x00, 0x13, 0x00, 0x17, 0x00, 0x1b, 0x00, 0x00, 0x01, 0x33, + 0x15, 0x23, 0x3b, 0x01, 0x15, 0x23, 0x3b, 0x01, 0x15, 0x23, 0x31, 0x15, + 0x23, 0x35, 0x1d, 0x01, 0x23, 0x35, 0x31, 0x23, 0x35, 0x33, 0x11, 0x15, + 0x23, 0x35, 0x01, 0x2c, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, + 0x64, 0x64, 0x64, 0x64, 0x64, 0x02, 0xbc, 0x64, 0xc8, 0xc8, 0xc8, 0xc8, + 0xc8, 0x64, 0x64, 0x64, 0x01, 0xf4, 0x64, 0x64, 0x00, 0x04, 0x00, 0x00, + 0x00, 0xc8, 0x02, 0x58, 0x01, 0x90, 0x00, 0x03, 0x00, 0x07, 0x00, 0x0b, + 0x00, 0x0f, 0x00, 0x00, 0x13, 0x33, 0x15, 0x23, 0x3b, 0x01, 0x15, 0x23, + 0x37, 0x35, 0x33, 0x15, 0x21, 0x15, 0x23, 0x35, 0x64, 0xc8, 0xc8, 0xc8, + 0xc8, 0xc8, 0xc8, 0x64, 0xfe, 0x0c, 0x64, 0x01, 0x90, 0x64, 0x64, 0x64, + 0x64, 0x64, 0x64, 0x64, 0x00, 0x05, 0x00, 0x00, 0xff, 0x9c, 0x02, 0xbc, + 0x02, 0x58, 0x00, 0x03, 0x00, 0x07, 0x00, 0x1b, 0x00, 0x1f, 0x00, 0x23, + 0x00, 0x00, 0x13, 0x21, 0x15, 0x29, 0x01, 0x33, 0x15, 0x23, 0x25, 0x15, + 0x21, 0x15, 0x21, 0x15, 0x33, 0x15, 0x23, 0x15, 0x23, 0x35, 0x23, 0x35, + 0x33, 0x35, 0x23, 0x35, 0x33, 0x35, 0x13, 0x21, 0x15, 0x21, 0x25, 0x35, + 0x33, 0x15, 0xc8, 0x01, 0x90, 0xfe, 0x70, 0x01, 0x90, 0x64, 0x64, 0xfe, + 0x70, 0x01, 0x2c, 0xfe, 0xd4, 0xc8, 0xc8, 0x64, 0x64, 0x64, 0x64, 0x64, + 0x64, 0x01, 0x90, 0xfe, 0x70, 0x01, 0x90, 0x64, 0x02, 0x58, 0x64, 0x64, + 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0xfe, + 0x0c, 0x64, 0x64, 0x64, 0x64, 0x00, 0x00, 0x00, 0x00, 0x02, 0x01, 0x2c, + 0xff, 0x9c, 0x01, 0xf4, 0x00, 0xc8, 0x00, 0x03, 0x00, 0x07, 0x00, 0x00, + 0x25, 0x33, 0x15, 0x23, 0x31, 0x15, 0x23, 0x35, 0x01, 0x90, 0x64, 0x64, + 0x64, 0xc8, 0xc8, 0x64, 0x64, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0xc8, + 0x00, 0x00, 0x01, 0xf4, 0x02, 0x58, 0x00, 0x03, 0x00, 0x0f, 0x00, 0x13, + 0x00, 0x00, 0x01, 0x33, 0x15, 0x23, 0x31, 0x15, 0x33, 0x15, 0x23, 0x15, + 0x23, 0x35, 0x23, 0x35, 0x33, 0x35, 0x11, 0x15, 0x23, 0x35, 0x01, 0x90, + 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0x02, 0x58, 0x64, 0x64, + 0x64, 0xc8, 0xc8, 0x64, 0x64, 0xfe, 0x70, 0x64, 0x64, 0x00, 0x00, 0x00, + 0x00, 0x04, 0x00, 0xc8, 0xff, 0x9c, 0x02, 0x58, 0x00, 0xc8, 0x00, 0x03, + 0x00, 0x07, 0x00, 0x0b, 0x00, 0x0f, 0x00, 0x00, 0x25, 0x33, 0x15, 0x23, + 0x3b, 0x01, 0x15, 0x23, 0x37, 0x35, 0x33, 0x15, 0x21, 0x15, 0x23, 0x35, + 0x01, 0x2c, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0xfe, 0xd4, 0x64, + 0xc8, 0xc8, 0x64, 0x64, 0xc8, 0xc8, 0x64, 0x64, 0x00, 0x03, 0x00, 0x64, + 0x00, 0x00, 0x03, 0x20, 0x00, 0x64, 0x00, 0x03, 0x00, 0x07, 0x00, 0x0b, + 0x00, 0x00, 0x37, 0x33, 0x15, 0x23, 0x25, 0x33, 0x15, 0x23, 0x25, 0x33, + 0x15, 0x23, 0x64, 0x64, 0x64, 0x01, 0x2c, 0x64, 0x64, 0x01, 0x2c, 0x64, + 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0x00, 0x00, 0x01, 0x00, 0xc8, + 0x00, 0x00, 0x01, 0xf4, 0x02, 0x58, 0x00, 0x0b, 0x00, 0x00, 0x01, 0x33, + 0x15, 0x33, 0x15, 0x23, 0x11, 0x23, 0x11, 0x23, 0x35, 0x33, 0x01, 0x2c, + 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0x02, 0x58, 0x64, 0x64, 0xfe, 0x70, + 0x01, 0x90, 0x64, 0x00, 0x00, 0x01, 0x00, 0xc8, 0x00, 0x00, 0x01, 0xf4, + 0x02, 0x58, 0x00, 0x13, 0x00, 0x00, 0x01, 0x33, 0x15, 0x33, 0x15, 0x23, + 0x15, 0x33, 0x15, 0x23, 0x15, 0x23, 0x35, 0x23, 0x35, 0x33, 0x35, 0x23, + 0x35, 0x33, 0x01, 0x2c, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, + 0x64, 0x64, 0x02, 0x58, 0x64, 0x64, 0xc8, 0x64, 0x64, 0x64, 0x64, 0xc8, + 0x64, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x64, 0x01, 0x90, 0x02, 0x58, + 0x02, 0xbc, 0x00, 0x03, 0x00, 0x07, 0x00, 0x0b, 0x00, 0x0f, 0x00, 0x13, + 0x00, 0x00, 0x01, 0x33, 0x15, 0x23, 0x3b, 0x01, 0x15, 0x23, 0x3b, 0x01, + 0x15, 0x23, 0x27, 0x15, 0x23, 0x35, 0x1d, 0x01, 0x23, 0x35, 0x01, 0x2c, + 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0xc8, 0x64, 0x64, 0x02, + 0xbc, 0x64, 0x64, 0x64, 0xc8, 0x64, 0x64, 0x64, 0x64, 0x64, 0x00, 0x00, + 0x00, 0x0f, 0x00, 0x00, 0xff, 0x9c, 0x03, 0x20, 0x02, 0xbc, 0x00, 0x03, + 0x00, 0x07, 0x00, 0x0b, 0x00, 0x0f, 0x00, 0x13, 0x00, 0x17, 0x00, 0x1b, + 0x00, 0x1f, 0x00, 0x23, 0x00, 0x27, 0x00, 0x2b, 0x00, 0x2f, 0x00, 0x33, + 0x00, 0x37, 0x00, 0x3b, 0x00, 0x00, 0x13, 0x33, 0x15, 0x23, 0x3b, 0x01, + 0x15, 0x23, 0x31, 0x15, 0x23, 0x35, 0x31, 0x23, 0x35, 0x33, 0x25, 0x33, + 0x15, 0x23, 0x31, 0x15, 0x23, 0x35, 0x03, 0x33, 0x15, 0x23, 0x3b, 0x01, + 0x15, 0x23, 0x37, 0x35, 0x33, 0x15, 0x31, 0x33, 0x15, 0x23, 0x31, 0x15, + 0x23, 0x35, 0x23, 0x15, 0x23, 0x35, 0x31, 0x23, 0x35, 0x33, 0x21, 0x33, + 0x15, 0x23, 0x31, 0x15, 0x23, 0x35, 0xc8, 0x64, 0x64, 0x64, 0x64, 0x64, + 0x64, 0x64, 0x64, 0x01, 0x90, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, + 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0xfe, + 0xd4, 0x64, 0x64, 0x64, 0x02, 0xbc, 0x64, 0xc8, 0x64, 0x64, 0xc8, 0x64, + 0x64, 0xc8, 0xc8, 0xfe, 0xd4, 0x64, 0xc8, 0xc8, 0x64, 0x64, 0xc8, 0x64, + 0x64, 0x64, 0x64, 0xc8, 0xc8, 0x64, 0x64, 0x00, 0x00, 0x08, 0x00, 0x64, + 0x00, 0x00, 0x02, 0x58, 0x02, 0xbc, 0x00, 0x03, 0x00, 0x07, 0x00, 0x0b, + 0x00, 0x0f, 0x00, 0x13, 0x00, 0x17, 0x00, 0x1b, 0x00, 0x1f, 0x00, 0x00, + 0x13, 0x33, 0x15, 0x23, 0x33, 0x21, 0x15, 0x21, 0x25, 0x35, 0x33, 0x15, + 0x05, 0x15, 0x23, 0x35, 0x17, 0x21, 0x15, 0x29, 0x01, 0x33, 0x15, 0x23, + 0x31, 0x15, 0x21, 0x35, 0x31, 0x23, 0x35, 0x33, 0x64, 0x64, 0x64, 0x64, + 0x01, 0x2c, 0xfe, 0xd4, 0x01, 0x2c, 0x64, 0xfe, 0x70, 0x64, 0x64, 0x01, + 0x2c, 0xfe, 0xd4, 0x01, 0x2c, 0x64, 0x64, 0xfe, 0xd4, 0x64, 0x64, 0x02, + 0xbc, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0xc8, + 0x64, 0x64, 0x64, 0x00, 0x00, 0x03, 0x01, 0x2c, 0x00, 0x64, 0x01, 0xf4, + 0x01, 0xf4, 0x00, 0x03, 0x00, 0x07, 0x00, 0x0b, 0x00, 0x00, 0x01, 0x33, + 0x15, 0x23, 0x31, 0x15, 0x23, 0x35, 0x17, 0x33, 0x15, 0x23, 0x01, 0x90, + 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0x01, 0xf4, 0x64, 0xc8, 0xc8, 0xc8, + 0x64, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x02, 0xbc, + 0x02, 0xbc, 0x00, 0x11, 0x00, 0x15, 0x00, 0x19, 0x00, 0x00, 0x13, 0x21, + 0x15, 0x23, 0x15, 0x33, 0x15, 0x23, 0x15, 0x33, 0x15, 0x21, 0x35, 0x23, + 0x35, 0x33, 0x11, 0x21, 0x13, 0x15, 0x23, 0x35, 0x31, 0x23, 0x11, 0x33, + 0x64, 0x02, 0x58, 0xc8, 0xc8, 0xc8, 0xc8, 0xfe, 0xd4, 0x64, 0x64, 0xfe, + 0xd4, 0xc8, 0xc8, 0x64, 0x64, 0x02, 0xbc, 0x64, 0xc8, 0x64, 0xc8, 0x64, + 0x64, 0x64, 0x01, 0x90, 0xfe, 0x0c, 0x64, 0x64, 0x01, 0xf4, 0x00, 0x00, + 0x00, 0x05, 0x00, 0x64, 0x00, 0x00, 0x02, 0x58, 0x02, 0xbc, 0x00, 0x03, + 0x00, 0x0d, 0x00, 0x11, 0x00, 0x15, 0x00, 0x1b, 0x00, 0x00, 0x13, 0x33, + 0x15, 0x23, 0x33, 0x21, 0x35, 0x33, 0x15, 0x23, 0x15, 0x23, 0x35, 0x23, + 0x17, 0x15, 0x23, 0x35, 0x1d, 0x01, 0x23, 0x35, 0x1d, 0x01, 0x21, 0x15, + 0x21, 0x35, 0x64, 0x64, 0x64, 0x64, 0x01, 0x2c, 0x64, 0x64, 0x64, 0xc8, + 0xc8, 0x64, 0x64, 0x01, 0x90, 0xfe, 0x0c, 0x02, 0xbc, 0x64, 0x64, 0xc8, + 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0xc8, + 0x00, 0x02, 0x01, 0x2c, 0x01, 0x2c, 0x01, 0xf4, 0x02, 0x58, 0x00, 0x03, + 0x00, 0x07, 0x00, 0x00, 0x01, 0x33, 0x15, 0x23, 0x3b, 0x01, 0x15, 0x23, + 0x01, 0x2c, 0x64, 0x64, 0x64, 0x64, 0x64, 0x02, 0x58, 0xc8, 0x64, 0x00, + 0x00, 0x02, 0x01, 0x2c, 0x01, 0x2c, 0x01, 0xf4, 0x02, 0x58, 0x00, 0x03, + 0x00, 0x07, 0x00, 0x00, 0x01, 0x33, 0x15, 0x23, 0x3b, 0x01, 0x15, 0x23, + 0x01, 0x2c, 0x64, 0x64, 0x64, 0x64, 0x64, 0x02, 0x58, 0x64, 0xc8, 0x00, + 0x00, 0x04, 0x00, 0xc8, 0x01, 0x2c, 0x02, 0x58, 0x02, 0x58, 0x00, 0x03, + 0x00, 0x07, 0x00, 0x0b, 0x00, 0x0f, 0x00, 0x00, 0x13, 0x33, 0x15, 0x23, + 0x3b, 0x01, 0x15, 0x23, 0x37, 0x35, 0x33, 0x15, 0x31, 0x33, 0x15, 0x23, + 0xc8, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0x02, 0x58, + 0xc8, 0x64, 0x64, 0xc8, 0xc8, 0x64, 0x00, 0x00, 0x00, 0x04, 0x00, 0xc8, + 0x01, 0x2c, 0x02, 0x58, 0x02, 0x58, 0x00, 0x03, 0x00, 0x07, 0x00, 0x0b, + 0x00, 0x0f, 0x00, 0x00, 0x13, 0x33, 0x15, 0x23, 0x3b, 0x01, 0x15, 0x23, + 0x37, 0x35, 0x33, 0x15, 0x31, 0x33, 0x15, 0x23, 0xc8, 0x64, 0x64, 0x64, + 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0x02, 0x58, 0x64, 0xc8, 0xc8, 0x64, + 0x64, 0xc8, 0x00, 0x00, 0x00, 0x01, 0x00, 0xc8, 0x00, 0x64, 0x02, 0x58, + 0x01, 0xf4, 0x00, 0x0b, 0x00, 0x00, 0x01, 0x33, 0x15, 0x33, 0x15, 0x23, + 0x15, 0x23, 0x35, 0x23, 0x35, 0x33, 0x01, 0x2c, 0xc8, 0x64, 0x64, 0xc8, + 0x64, 0x64, 0x01, 0xf4, 0x64, 0xc8, 0x64, 0x64, 0xc8, 0x00, 0x00, 0x00, + 0x00, 0x01, 0x00, 0xc8, 0x01, 0x90, 0x01, 0xf4, 0x01, 0xf4, 0x00, 0x03, + 0x00, 0x00, 0x13, 0x21, 0x15, 0x21, 0xc8, 0x01, 0x2c, 0xfe, 0xd4, 0x01, + 0xf4, 0x64, 0x00, 0x00, 0x00, 0x01, 0x00, 0x64, 0x01, 0x2c, 0x02, 0x58, + 0x01, 0x90, 0x00, 0x03, 0x00, 0x00, 0x13, 0x21, 0x15, 0x21, 0x64, 0x01, + 0xf4, 0xfe, 0x0c, 0x01, 0x90, 0x64, 0x00, 0x00, 0x00, 0x04, 0x00, 0x64, + 0x01, 0x90, 0x02, 0x58, 0x02, 0x58, 0x00, 0x03, 0x00, 0x07, 0x00, 0x0b, + 0x00, 0x0f, 0x00, 0x00, 0x13, 0x33, 0x15, 0x23, 0x3b, 0x01, 0x15, 0x23, + 0x37, 0x35, 0x33, 0x15, 0x21, 0x15, 0x23, 0x35, 0xc8, 0xc8, 0xc8, 0xc8, + 0x64, 0x64, 0x64, 0x64, 0xfe, 0x70, 0x64, 0x02, 0x58, 0x64, 0x64, 0x64, + 0x64, 0x64, 0x64, 0x64, 0x00, 0x05, 0x00, 0x00, 0x00, 0xc8, 0x03, 0x20, + 0x02, 0x58, 0x00, 0x07, 0x00, 0x0b, 0x00, 0x0f, 0x00, 0x17, 0x00, 0x1b, + 0x00, 0x00, 0x11, 0x21, 0x15, 0x23, 0x11, 0x23, 0x11, 0x23, 0x21, 0x33, + 0x15, 0x23, 0x3b, 0x01, 0x15, 0x23, 0x37, 0x35, 0x33, 0x35, 0x33, 0x11, + 0x23, 0x35, 0x21, 0x15, 0x23, 0x35, 0x01, 0x90, 0xc8, 0x64, 0x64, 0x01, + 0x90, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0xfe, 0xd4, + 0x64, 0x02, 0x58, 0x64, 0xfe, 0xd4, 0x01, 0x2c, 0x64, 0x64, 0x64, 0x64, + 0x64, 0xfe, 0x70, 0xc8, 0xc8, 0xc8, 0x00, 0x00, 0x00, 0x08, 0x00, 0x64, + 0x00, 0x00, 0x02, 0x58, 0x02, 0xbc, 0x00, 0x03, 0x00, 0x07, 0x00, 0x0b, + 0x00, 0x0f, 0x00, 0x13, 0x00, 0x17, 0x00, 0x1b, 0x00, 0x1f, 0x00, 0x00, + 0x13, 0x33, 0x15, 0x23, 0x33, 0x21, 0x15, 0x21, 0x25, 0x35, 0x33, 0x15, + 0x05, 0x15, 0x23, 0x35, 0x17, 0x21, 0x15, 0x29, 0x01, 0x33, 0x15, 0x23, + 0x31, 0x15, 0x21, 0x35, 0x31, 0x23, 0x35, 0x33, 0x64, 0x64, 0x64, 0x64, + 0x01, 0x2c, 0xfe, 0xd4, 0x01, 0x2c, 0x64, 0xfe, 0x70, 0x64, 0x64, 0x01, + 0x2c, 0xfe, 0xd4, 0x01, 0x2c, 0x64, 0x64, 0xfe, 0xd4, 0x64, 0x64, 0x02, + 0xbc, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0xc8, + 0x64, 0x64, 0x64, 0x00, 0x00, 0x03, 0x01, 0x2c, 0x00, 0x64, 0x01, 0xf4, + 0x01, 0xf4, 0x00, 0x03, 0x00, 0x07, 0x00, 0x0b, 0x00, 0x00, 0x01, 0x33, + 0x15, 0x23, 0x3b, 0x01, 0x15, 0x23, 0x31, 0x15, 0x23, 0x35, 0x01, 0x2c, + 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0x01, 0xf4, 0x64, 0xc8, 0x64, 0x64, + 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x02, 0xbc, 0x02, 0x58, 0x00, 0x11, + 0x00, 0x15, 0x00, 0x19, 0x00, 0x00, 0x13, 0x21, 0x15, 0x23, 0x15, 0x33, + 0x15, 0x23, 0x15, 0x33, 0x15, 0x21, 0x35, 0x23, 0x35, 0x33, 0x11, 0x21, + 0x13, 0x15, 0x23, 0x35, 0x31, 0x23, 0x11, 0x33, 0x64, 0x02, 0x58, 0xc8, + 0xc8, 0xc8, 0xc8, 0xfe, 0xd4, 0x64, 0x64, 0xfe, 0xd4, 0xc8, 0xc8, 0x64, + 0x64, 0x02, 0x58, 0x64, 0xc8, 0x64, 0x64, 0x64, 0x64, 0x64, 0x01, 0x2c, + 0xfe, 0x70, 0x64, 0x64, 0x01, 0x90, 0x00, 0x00, 0x00, 0x06, 0x00, 0x64, + 0x00, 0x00, 0x02, 0xbc, 0x02, 0xbc, 0x00, 0x03, 0x00, 0x09, 0x00, 0x0d, + 0x00, 0x11, 0x00, 0x15, 0x00, 0x1b, 0x00, 0x00, 0x13, 0x33, 0x15, 0x23, + 0x33, 0x21, 0x15, 0x23, 0x35, 0x21, 0x25, 0x35, 0x33, 0x15, 0x07, 0x15, + 0x23, 0x35, 0x1d, 0x01, 0x23, 0x35, 0x1d, 0x01, 0x21, 0x15, 0x21, 0x35, + 0x64, 0x64, 0x64, 0x64, 0x01, 0x90, 0x64, 0xfe, 0xd4, 0x01, 0x90, 0x64, + 0xc8, 0x64, 0x64, 0x01, 0x2c, 0xfe, 0x70, 0x02, 0xbc, 0x64, 0xc8, 0x64, + 0x64, 0x64, 0x64, 0xc8, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, + 0xc8, 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x64, 0x00, 0x00, 0x02, 0x58, + 0x02, 0xbc, 0x00, 0x03, 0x00, 0x07, 0x00, 0x0b, 0x00, 0x0f, 0x00, 0x13, + 0x00, 0x17, 0x00, 0x1b, 0x00, 0x00, 0x13, 0x33, 0x15, 0x23, 0x25, 0x33, + 0x15, 0x23, 0x05, 0x33, 0x15, 0x23, 0x3b, 0x01, 0x15, 0x23, 0x3b, 0x01, + 0x11, 0x23, 0x13, 0x35, 0x33, 0x15, 0x3d, 0x01, 0x33, 0x15, 0x64, 0x64, + 0x64, 0x01, 0x90, 0x64, 0x64, 0xfe, 0x70, 0x64, 0x64, 0x64, 0x64, 0x64, + 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0x02, 0xbc, 0x64, 0x64, 0x64, 0x64, + 0x64, 0x64, 0xfe, 0xd4, 0x01, 0x2c, 0x64, 0x64, 0x64, 0x64, 0x64, 0x00, + 0x00, 0x02, 0x01, 0x2c, 0x00, 0x00, 0x01, 0x90, 0x02, 0xbc, 0x00, 0x03, + 0x00, 0x07, 0x00, 0x00, 0x01, 0x33, 0x15, 0x23, 0x15, 0x33, 0x11, 0x23, + 0x01, 0x2c, 0x64, 0x64, 0x64, 0x64, 0x02, 0xbc, 0x64, 0x64, 0xfe, 0x0c, + 0x00, 0x06, 0x00, 0x64, 0xff, 0x9c, 0x02, 0x58, 0x02, 0x58, 0x00, 0x01, + 0x00, 0x03, 0x00, 0x17, 0x00, 0x1b, 0x00, 0x1f, 0x00, 0x23, 0x00, 0x00, + 0x25, 0x15, 0x31, 0x15, 0x03, 0x33, 0x15, 0x33, 0x15, 0x23, 0x11, 0x33, + 0x15, 0x23, 0x15, 0x23, 0x35, 0x23, 0x35, 0x33, 0x11, 0x23, 0x35, 0x33, + 0x17, 0x33, 0x15, 0x23, 0x15, 0x35, 0x33, 0x15, 0x21, 0x23, 0x11, 0x33, + 0x01, 0x3c, 0x10, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, + 0x64, 0xc8, 0x64, 0x64, 0x64, 0xfe, 0x70, 0x64, 0x64, 0xc8, 0x02, 0x06, + 0x01, 0x98, 0x64, 0x64, 0xfe, 0xd4, 0x64, 0x64, 0x64, 0x64, 0x01, 0x2c, + 0x64, 0x64, 0x64, 0xc8, 0x64, 0x64, 0x01, 0x2c, 0x00, 0x06, 0x00, 0x64, + 0xff, 0x9c, 0x02, 0xbc, 0x02, 0x58, 0x00, 0x01, 0x00, 0x03, 0x00, 0x07, + 0x00, 0x0b, 0x00, 0x1b, 0x00, 0x1f, 0x00, 0x00, 0x25, 0x15, 0x31, 0x15, + 0x03, 0x21, 0x15, 0x29, 0x01, 0x33, 0x15, 0x23, 0x25, 0x11, 0x33, 0x15, + 0x23, 0x15, 0x21, 0x15, 0x21, 0x35, 0x33, 0x35, 0x23, 0x35, 0x33, 0x11, + 0x01, 0x35, 0x33, 0x15, 0x01, 0x3c, 0x10, 0x01, 0x2c, 0xfe, 0xd4, 0x01, + 0x2c, 0x64, 0x64, 0xfe, 0xd4, 0xc8, 0xc8, 0x01, 0x2c, 0xfe, 0x0c, 0x64, + 0x64, 0x64, 0x01, 0x90, 0x64, 0xc8, 0x02, 0x06, 0x01, 0x98, 0x64, 0x64, + 0x64, 0xfe, 0xd4, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0x01, 0x2c, 0xfe, + 0x0c, 0x64, 0x64, 0x00, 0x00, 0x0a, 0x00, 0x64, 0x00, 0x00, 0x02, 0xbc, + 0x02, 0x58, 0x00, 0x01, 0x00, 0x03, 0x00, 0x07, 0x00, 0x0b, 0x00, 0x0f, + 0x00, 0x13, 0x00, 0x17, 0x00, 0x1b, 0x00, 0x1f, 0x00, 0x23, 0x00, 0x00, + 0x25, 0x15, 0x31, 0x15, 0x03, 0x33, 0x15, 0x23, 0x25, 0x33, 0x15, 0x23, + 0x21, 0x33, 0x15, 0x23, 0x3b, 0x01, 0x15, 0x23, 0x31, 0x15, 0x23, 0x35, + 0x31, 0x23, 0x35, 0x33, 0x03, 0x33, 0x15, 0x23, 0x25, 0x33, 0x15, 0x23, + 0x01, 0x3c, 0xd8, 0x64, 0x64, 0x01, 0xf4, 0x64, 0x64, 0xfe, 0xd4, 0xc8, + 0xc8, 0xc8, 0x64, 0x64, 0xc8, 0x64, 0x64, 0xc8, 0x64, 0x64, 0x01, 0xf4, + 0x64, 0x64, 0xc8, 0x02, 0x06, 0x01, 0x98, 0x64, 0x64, 0x64, 0x64, 0xc8, + 0x64, 0x64, 0xc8, 0xfe, 0xd4, 0x64, 0x64, 0x64, 0x00, 0x07, 0x00, 0x64, + 0xff, 0x9c, 0x02, 0x58, 0x02, 0x58, 0x00, 0x01, 0x00, 0x03, 0x00, 0x07, + 0x00, 0x0b, 0x00, 0x1f, 0x00, 0x23, 0x00, 0x27, 0x00, 0x00, 0x25, 0x15, + 0x31, 0x15, 0x03, 0x33, 0x15, 0x23, 0x3b, 0x01, 0x15, 0x23, 0x3b, 0x01, + 0x15, 0x33, 0x15, 0x23, 0x15, 0x33, 0x15, 0x23, 0x15, 0x23, 0x35, 0x23, + 0x35, 0x33, 0x35, 0x23, 0x35, 0x33, 0x37, 0x35, 0x33, 0x15, 0x3d, 0x01, + 0x33, 0x15, 0x01, 0x3c, 0xd8, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, + 0xc8, 0xc8, 0xc8, 0xc8, 0x64, 0xc8, 0xc8, 0xc8, 0xc8, 0x64, 0x64, 0x64, + 0xc8, 0x02, 0x06, 0x01, 0x98, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, + 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0x00, 0x00, + 0x00, 0x04, 0x01, 0x2c, 0xff, 0x9c, 0x01, 0x90, 0x02, 0xbc, 0x00, 0x01, + 0x00, 0x03, 0x00, 0x07, 0x00, 0x0b, 0x00, 0x00, 0x25, 0x15, 0x31, 0x15, + 0x03, 0x33, 0x11, 0x23, 0x15, 0x33, 0x11, 0x23, 0x01, 0x3c, 0x10, 0x64, + 0x64, 0x64, 0x64, 0xc8, 0x02, 0x06, 0x01, 0xfc, 0xfe, 0xd4, 0x64, 0xfe, + 0x70, 0x00, 0x00, 0x00, 0x00, 0x0a, 0x00, 0xc8, 0xff, 0x9c, 0x02, 0x58, + 0x02, 0xbc, 0x00, 0x01, 0x00, 0x03, 0x00, 0x07, 0x00, 0x0b, 0x00, 0x0f, + 0x00, 0x13, 0x00, 0x17, 0x00, 0x1b, 0x00, 0x1f, 0x00, 0x23, 0x00, 0x00, + 0x25, 0x15, 0x31, 0x15, 0x03, 0x33, 0x15, 0x23, 0x31, 0x15, 0x23, 0x35, + 0x17, 0x33, 0x15, 0x23, 0x3b, 0x01, 0x15, 0x23, 0x31, 0x15, 0x23, 0x35, + 0x17, 0x33, 0x15, 0x23, 0x31, 0x15, 0x23, 0x3d, 0x01, 0x23, 0x35, 0x33, + 0x01, 0x3c, 0x10, 0xc8, 0xc8, 0x64, 0x64, 0xc8, 0xc8, 0xc8, 0x64, 0x64, + 0xc8, 0xc8, 0x64, 0x64, 0xc8, 0x64, 0x64, 0xc8, 0x02, 0x06, 0x01, 0xfc, + 0x64, 0x64, 0x64, 0x64, 0x64, 0xc8, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, + 0xc8, 0xc8, 0x00, 0x00, 0x00, 0x04, 0x00, 0xc8, 0x00, 0xc0, 0x02, 0x58, + 0x02, 0x58, 0x00, 0x01, 0x00, 0x03, 0x00, 0x07, 0x00, 0x0b, 0x00, 0x00, + 0x25, 0x15, 0x31, 0x15, 0x03, 0x33, 0x15, 0x23, 0x25, 0x33, 0x15, 0x23, + 0x01, 0x3c, 0x74, 0x64, 0x64, 0x01, 0x2c, 0x64, 0x64, 0xc8, 0x02, 0x06, + 0x01, 0x98, 0x64, 0x64, 0x64, 0x00, 0x00, 0x00, 0x00, 0x0e, 0x00, 0x00, + 0xff, 0x9c, 0x03, 0x20, 0x02, 0xbc, 0x00, 0x01, 0x00, 0x03, 0x00, 0x07, + 0x00, 0x0b, 0x00, 0x0f, 0x00, 0x13, 0x00, 0x17, 0x00, 0x1b, 0x00, 0x1f, + 0x00, 0x23, 0x00, 0x27, 0x00, 0x2b, 0x00, 0x2f, 0x00, 0x33, 0x00, 0x00, + 0x25, 0x15, 0x31, 0x15, 0x03, 0x21, 0x15, 0x29, 0x01, 0x33, 0x15, 0x23, + 0x3b, 0x01, 0x11, 0x23, 0x31, 0x15, 0x23, 0x35, 0x1d, 0x01, 0x21, 0x35, + 0x31, 0x23, 0x35, 0x33, 0x2b, 0x01, 0x11, 0x33, 0x31, 0x35, 0x33, 0x15, + 0x3b, 0x01, 0x15, 0x23, 0x31, 0x15, 0x23, 0x35, 0x17, 0x33, 0x15, 0x23, + 0x37, 0x35, 0x33, 0x15, 0x01, 0x3c, 0x74, 0x01, 0x90, 0xfe, 0x70, 0x01, + 0x90, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0xfe, 0x70, 0x64, 0x64, 0x64, + 0x64, 0x64, 0x64, 0x64, 0xc8, 0xc8, 0x64, 0x64, 0xc8, 0xc8, 0xc8, 0x64, + 0xc8, 0x02, 0x06, 0x01, 0xfc, 0x64, 0x64, 0xfe, 0x70, 0x64, 0x64, 0x64, + 0x64, 0x64, 0x64, 0x01, 0x90, 0x64, 0x64, 0x64, 0xc8, 0xc8, 0xc8, 0x64, + 0x64, 0x64, 0x64, 0x00, 0x00, 0x05, 0x00, 0x64, 0x00, 0xc0, 0x02, 0x58, + 0x02, 0xbc, 0x00, 0x01, 0x00, 0x03, 0x00, 0x07, 0x00, 0x0f, 0x00, 0x13, + 0x00, 0x00, 0x25, 0x15, 0x31, 0x15, 0x03, 0x33, 0x15, 0x23, 0x3b, 0x01, + 0x15, 0x21, 0x35, 0x33, 0x15, 0x33, 0x05, 0x21, 0x15, 0x21, 0x01, 0x3c, + 0x10, 0x64, 0x64, 0x64, 0x64, 0xfe, 0xd4, 0x64, 0x64, 0xfe, 0xd4, 0x01, + 0xf4, 0xfe, 0x0c, 0xc8, 0x02, 0x06, 0x01, 0xfc, 0x64, 0xc8, 0xc8, 0x64, + 0xc8, 0x64, 0x00, 0x00, 0x00, 0x08, 0x00, 0xc8, 0x00, 0x64, 0x02, 0x58, + 0x01, 0xf4, 0x00, 0x01, 0x00, 0x03, 0x00, 0x07, 0x00, 0x0b, 0x00, 0x0f, + 0x00, 0x13, 0x00, 0x17, 0x00, 0x1b, 0x00, 0x00, 0x25, 0x15, 0x31, 0x15, + 0x03, 0x33, 0x15, 0x23, 0x3b, 0x01, 0x15, 0x23, 0x37, 0x35, 0x33, 0x15, + 0x07, 0x33, 0x15, 0x23, 0x27, 0x15, 0x23, 0x35, 0x31, 0x23, 0x35, 0x33, + 0x01, 0x3c, 0x10, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, + 0x64, 0x64, 0x64, 0x64, 0x64, 0xc8, 0x02, 0x06, 0x01, 0x34, 0x64, 0xc8, + 0xc8, 0x64, 0x64, 0xc8, 0x64, 0x64, 0x64, 0x64, 0xc8, 0x00, 0x00, 0x00, + 0x00, 0x03, 0x00, 0x64, 0x00, 0x64, 0x02, 0xbc, 0x01, 0x90, 0x00, 0x01, + 0x00, 0x03, 0x00, 0x09, 0x00, 0x00, 0x25, 0x15, 0x31, 0x15, 0x27, 0x21, + 0x11, 0x23, 0x35, 0x21, 0x01, 0x3c, 0xd8, 0x02, 0x58, 0x64, 0xfe, 0x0c, + 0xc8, 0x02, 0x06, 0xd0, 0xfe, 0xd4, 0xc8, 0x00, 0x00, 0x03, 0x01, 0x2c, + 0x00, 0xc0, 0x01, 0xf4, 0x01, 0x90, 0x00, 0x01, 0x00, 0x03, 0x00, 0x07, + 0x00, 0x00, 0x25, 0x15, 0x31, 0x15, 0x27, 0x33, 0x15, 0x23, 0x01, 0x3c, + 0x10, 0xc8, 0xc8, 0xc8, 0x02, 0x06, 0xd0, 0x64, 0x00, 0x0b, 0x00, 0x00, + 0xff, 0x9c, 0x03, 0x20, 0x02, 0xbc, 0x00, 0x01, 0x00, 0x03, 0x00, 0x07, + 0x00, 0x0b, 0x00, 0x0f, 0x00, 0x13, 0x00, 0x17, 0x00, 0x1b, 0x00, 0x1f, + 0x00, 0x23, 0x00, 0x27, 0x00, 0x00, 0x25, 0x15, 0x31, 0x15, 0x03, 0x21, + 0x15, 0x29, 0x01, 0x33, 0x11, 0x23, 0x31, 0x15, 0x21, 0x35, 0x31, 0x23, + 0x11, 0x33, 0x17, 0x33, 0x15, 0x23, 0x3b, 0x01, 0x15, 0x23, 0x31, 0x15, + 0x23, 0x35, 0x17, 0x33, 0x15, 0x23, 0x03, 0x11, 0x23, 0x11, 0x01, 0x3c, + 0xd8, 0x02, 0x58, 0xfd, 0xa8, 0x02, 0x58, 0x64, 0x64, 0xfd, 0xa8, 0x64, + 0x64, 0xc8, 0xc8, 0xc8, 0xc8, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0xc8, + 0x64, 0xc8, 0x02, 0x06, 0x01, 0xfc, 0x64, 0xfd, 0xa8, 0x64, 0x64, 0x02, + 0x58, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0x01, 0x2c, 0xfe, 0xd4, + 0x01, 0x2c, 0x00, 0x00, 0x00, 0x03, 0x00, 0x64, 0x00, 0xc0, 0x02, 0xbc, + 0x02, 0xbc, 0x00, 0x01, 0x00, 0x03, 0x00, 0x07, 0x00, 0x00, 0x25, 0x15, + 0x31, 0x15, 0x03, 0x21, 0x15, 0x21, 0x01, 0x3c, 0xd8, 0x02, 0x58, 0xfd, + 0xa8, 0xc8, 0x02, 0x06, 0x01, 0xfc, 0x64, 0x00, 0x00, 0x06, 0x00, 0xc8, + 0x00, 0xc0, 0x01, 0xf4, 0x02, 0x58, 0x00, 0x01, 0x00, 0x03, 0x00, 0x07, + 0x00, 0x0b, 0x00, 0x0f, 0x00, 0x13, 0x00, 0x00, 0x25, 0x15, 0x31, 0x15, + 0x03, 0x33, 0x15, 0x23, 0x3b, 0x01, 0x15, 0x23, 0x31, 0x15, 0x23, 0x35, + 0x31, 0x23, 0x35, 0x33, 0x01, 0x3c, 0x10, 0x64, 0x64, 0x64, 0x64, 0x64, + 0x64, 0x64, 0x64, 0xc8, 0x02, 0x06, 0x01, 0x98, 0x64, 0xc8, 0x64, 0x64, + 0xc8, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x64, 0x00, 0x00, 0x02, 0x58, + 0x02, 0x58, 0x00, 0x01, 0x00, 0x03, 0x00, 0x13, 0x00, 0x00, 0x25, 0x15, + 0x31, 0x15, 0x03, 0x33, 0x15, 0x33, 0x15, 0x23, 0x15, 0x33, 0x15, 0x21, + 0x35, 0x33, 0x35, 0x23, 0x35, 0x33, 0x01, 0x3c, 0x10, 0x64, 0xc8, 0xc8, + 0xc8, 0xfe, 0x0c, 0xc8, 0xc8, 0xc8, 0xc8, 0x02, 0x06, 0x01, 0x98, 0xc8, + 0x64, 0xc8, 0x64, 0x64, 0xc8, 0x64, 0x00, 0x00, 0x00, 0x06, 0x00, 0xc8, + 0x00, 0xc0, 0x01, 0xf4, 0x02, 0xbc, 0x00, 0x01, 0x00, 0x03, 0x00, 0x07, + 0x00, 0x0b, 0x00, 0x0f, 0x00, 0x15, 0x00, 0x00, 0x25, 0x15, 0x31, 0x15, + 0x03, 0x33, 0x15, 0x23, 0x3b, 0x01, 0x15, 0x23, 0x31, 0x15, 0x23, 0x35, + 0x1d, 0x01, 0x33, 0x15, 0x21, 0x35, 0x01, 0x3c, 0x74, 0xc8, 0xc8, 0xc8, + 0x64, 0x64, 0x64, 0xc8, 0xfe, 0xd4, 0xc8, 0x02, 0x06, 0x01, 0xfc, 0x64, + 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0xc8, 0x00, 0x00, 0x07, 0x00, 0xc8, + 0x00, 0xc0, 0x01, 0xf4, 0x02, 0xbc, 0x00, 0x01, 0x00, 0x03, 0x00, 0x07, + 0x00, 0x0b, 0x00, 0x0f, 0x00, 0x13, 0x00, 0x17, 0x00, 0x00, 0x25, 0x15, + 0x31, 0x15, 0x03, 0x33, 0x15, 0x23, 0x3b, 0x01, 0x15, 0x23, 0x31, 0x15, + 0x23, 0x35, 0x17, 0x33, 0x15, 0x23, 0x31, 0x15, 0x23, 0x35, 0x01, 0x3c, + 0x74, 0xc8, 0xc8, 0xc8, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0xc8, 0xc8, + 0x02, 0x06, 0x01, 0xfc, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, + 0x00, 0x04, 0x01, 0x2c, 0x00, 0xc0, 0x01, 0xf4, 0x02, 0xbc, 0x00, 0x01, + 0x00, 0x03, 0x00, 0x07, 0x00, 0x0b, 0x00, 0x00, 0x25, 0x15, 0x31, 0x15, + 0x13, 0x33, 0x15, 0x23, 0x31, 0x15, 0x23, 0x35, 0x01, 0x3c, 0x54, 0x64, + 0x64, 0x64, 0xc8, 0x02, 0x06, 0x01, 0xfc, 0x64, 0x64, 0x64, 0x00, 0x00, + 0x00, 0x05, 0x00, 0x64, 0xff, 0x9c, 0x02, 0xbc, 0x02, 0x58, 0x00, 0x01, + 0x00, 0x03, 0x00, 0x0b, 0x00, 0x13, 0x00, 0x17, 0x00, 0x00, 0x25, 0x15, + 0x31, 0x15, 0x03, 0x33, 0x11, 0x33, 0x15, 0x23, 0x15, 0x23, 0x01, 0x35, + 0x33, 0x11, 0x33, 0x11, 0x23, 0x35, 0x17, 0x33, 0x15, 0x23, 0x01, 0x3c, + 0xd8, 0x64, 0xc8, 0xc8, 0x64, 0x01, 0x2c, 0x64, 0x64, 0x64, 0x64, 0x64, + 0x64, 0xc8, 0x02, 0x06, 0x01, 0x98, 0xfe, 0x70, 0x64, 0xc8, 0x01, 0x2c, + 0x64, 0x01, 0x2c, 0xfe, 0x0c, 0x64, 0x64, 0x64, 0x00, 0x03, 0x00, 0x64, + 0xff, 0x9c, 0x02, 0x58, 0x02, 0xbc, 0x00, 0x01, 0x00, 0x03, 0x00, 0x11, + 0x00, 0x00, 0x25, 0x15, 0x31, 0x15, 0x03, 0x21, 0x11, 0x23, 0x11, 0x23, + 0x11, 0x23, 0x11, 0x23, 0x35, 0x23, 0x35, 0x33, 0x01, 0x3c, 0x74, 0x01, + 0x90, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0xc8, 0x02, 0x06, 0x01, 0xfc, + 0xfc, 0xe0, 0x02, 0xbc, 0xfd, 0x44, 0x01, 0x90, 0x64, 0xc8, 0x00, 0x00, + 0x00, 0x03, 0x01, 0x2c, 0x00, 0xc0, 0x01, 0xf4, 0x01, 0x90, 0x00, 0x01, + 0x00, 0x03, 0x00, 0x07, 0x00, 0x00, 0x25, 0x15, 0x31, 0x15, 0x27, 0x33, + 0x15, 0x23, 0x01, 0x3c, 0x10, 0xc8, 0xc8, 0xc8, 0x02, 0x06, 0xd0, 0xc8, + 0x00, 0x04, 0x01, 0x2c, 0xff, 0x9c, 0x01, 0xf4, 0x00, 0xc8, 0x00, 0x01, + 0x00, 0x03, 0x00, 0x07, 0x00, 0x0b, 0x00, 0x00, 0x25, 0x15, 0x31, 0x15, + 0x07, 0x33, 0x15, 0x23, 0x3b, 0x01, 0x15, 0x23, 0x01, 0x3c, 0x10, 0x64, + 0x64, 0x64, 0x64, 0x64, 0xc8, 0x02, 0x06, 0x5c, 0x64, 0x64, 0x00, 0x00, + 0x00, 0x03, 0x00, 0xc8, 0x00, 0xc0, 0x01, 0xf4, 0x02, 0xbc, 0x00, 0x01, + 0x00, 0x03, 0x00, 0x0f, 0x00, 0x00, 0x25, 0x15, 0x31, 0x15, 0x03, 0x33, + 0x11, 0x33, 0x15, 0x21, 0x35, 0x33, 0x35, 0x23, 0x35, 0x33, 0x01, 0x3c, + 0x10, 0x64, 0x64, 0xfe, 0xd4, 0x64, 0x64, 0x64, 0xc8, 0x02, 0x06, 0x01, + 0xfc, 0xfe, 0x70, 0x64, 0x64, 0xc8, 0x64, 0x00, 0x00, 0x05, 0x00, 0x64, + 0x00, 0xc0, 0x02, 0x58, 0x02, 0xbc, 0x00, 0x01, 0x00, 0x03, 0x00, 0x07, + 0x00, 0x0b, 0x00, 0x0f, 0x00, 0x00, 0x25, 0x15, 0x31, 0x15, 0x03, 0x21, + 0x11, 0x21, 0x37, 0x15, 0x33, 0x35, 0x01, 0x21, 0x15, 0x21, 0x01, 0x3c, + 0x74, 0x01, 0x2c, 0xfe, 0xd4, 0x64, 0x64, 0xfe, 0xd4, 0x01, 0xf4, 0xfe, + 0x0c, 0xc8, 0x02, 0x06, 0x01, 0xfc, 0xfe, 0xd4, 0xc8, 0x64, 0x64, 0xfe, + 0xd4, 0x64, 0x00, 0x00, 0x00, 0x08, 0x00, 0xc8, 0x00, 0x64, 0x02, 0x58, + 0x01, 0xf4, 0x00, 0x01, 0x00, 0x03, 0x00, 0x07, 0x00, 0x0b, 0x00, 0x0f, + 0x00, 0x13, 0x00, 0x17, 0x00, 0x1b, 0x00, 0x00, 0x25, 0x15, 0x31, 0x15, + 0x03, 0x33, 0x15, 0x23, 0x3b, 0x01, 0x15, 0x23, 0x37, 0x35, 0x33, 0x15, + 0x31, 0x33, 0x15, 0x23, 0x31, 0x15, 0x23, 0x35, 0x23, 0x15, 0x23, 0x35, + 0x01, 0x3c, 0x74, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, + 0x64, 0x64, 0x64, 0xc8, 0x02, 0x06, 0x01, 0x34, 0x64, 0xc8, 0xc8, 0x64, + 0x64, 0xc8, 0x64, 0x64, 0x64, 0x64, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, + 0xff, 0x9c, 0x03, 0x20, 0x02, 0xbc, 0x00, 0x01, 0x00, 0x03, 0x00, 0x13, + 0x00, 0x17, 0x00, 0x1b, 0x00, 0x2d, 0x00, 0x00, 0x25, 0x15, 0x31, 0x15, + 0x01, 0x33, 0x11, 0x33, 0x35, 0x33, 0x15, 0x23, 0x15, 0x23, 0x35, 0x23, + 0x35, 0x33, 0x35, 0x23, 0x05, 0x35, 0x33, 0x15, 0x01, 0x15, 0x23, 0x35, + 0x01, 0x33, 0x11, 0x33, 0x15, 0x23, 0x15, 0x23, 0x35, 0x23, 0x35, 0x33, + 0x15, 0x33, 0x35, 0x23, 0x35, 0x33, 0x01, 0x3c, 0xfe, 0xc4, 0xc8, 0x64, + 0x64, 0x64, 0x64, 0xc8, 0x64, 0x64, 0x01, 0x90, 0x64, 0xfe, 0xd4, 0x64, + 0x01, 0xf4, 0x64, 0x64, 0x64, 0x64, 0xc8, 0x64, 0x64, 0x64, 0x64, 0xc8, + 0x02, 0x06, 0x01, 0xfc, 0xfe, 0xd4, 0x64, 0xc8, 0xc8, 0xc8, 0x64, 0xc8, + 0x64, 0xc8, 0xc8, 0xfe, 0x70, 0xc8, 0xc8, 0x01, 0x2c, 0xfe, 0xd4, 0x64, + 0x64, 0x64, 0xc8, 0x64, 0x64, 0x64, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, + 0xff, 0x9c, 0x02, 0xbc, 0x02, 0xbc, 0x00, 0x01, 0x00, 0x03, 0x00, 0x13, + 0x00, 0x17, 0x00, 0x1b, 0x00, 0x1f, 0x00, 0x23, 0x00, 0x27, 0x00, 0x2d, + 0x00, 0x00, 0x25, 0x15, 0x31, 0x15, 0x01, 0x33, 0x11, 0x33, 0x35, 0x33, + 0x15, 0x23, 0x15, 0x23, 0x35, 0x23, 0x35, 0x33, 0x35, 0x23, 0x05, 0x35, + 0x33, 0x15, 0x01, 0x15, 0x23, 0x35, 0x01, 0x33, 0x15, 0x23, 0x3b, 0x01, + 0x15, 0x23, 0x31, 0x15, 0x23, 0x35, 0x1d, 0x01, 0x33, 0x15, 0x21, 0x35, + 0x01, 0x3c, 0xfe, 0xc4, 0xc8, 0x64, 0x64, 0x64, 0x64, 0xc8, 0x64, 0x64, + 0x01, 0x90, 0x64, 0xfe, 0xd4, 0x64, 0x01, 0x90, 0x64, 0x64, 0x64, 0x64, + 0x64, 0x64, 0xc8, 0xfe, 0xd4, 0xc8, 0x02, 0x06, 0x01, 0xfc, 0xfe, 0xd4, + 0x64, 0xc8, 0xc8, 0xc8, 0x64, 0xc8, 0x64, 0xc8, 0xc8, 0xfe, 0x70, 0xc8, + 0xc8, 0x01, 0x2c, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0xc8, 0x00, + 0x00, 0x0c, 0x00, 0x00, 0xff, 0x9c, 0x03, 0x20, 0x02, 0xbc, 0x00, 0x01, + 0x00, 0x03, 0x00, 0x07, 0x00, 0x0b, 0x00, 0x0f, 0x00, 0x13, 0x00, 0x17, + 0x00, 0x1b, 0x00, 0x2d, 0x00, 0x31, 0x00, 0x35, 0x00, 0x39, 0x00, 0x00, + 0x25, 0x15, 0x31, 0x15, 0x01, 0x33, 0x15, 0x23, 0x3b, 0x01, 0x15, 0x23, + 0x31, 0x15, 0x23, 0x35, 0x17, 0x33, 0x15, 0x23, 0x3b, 0x01, 0x15, 0x23, + 0x37, 0x11, 0x33, 0x11, 0x31, 0x33, 0x35, 0x33, 0x11, 0x33, 0x15, 0x23, + 0x15, 0x23, 0x35, 0x23, 0x35, 0x33, 0x15, 0x33, 0x35, 0x2b, 0x01, 0x15, + 0x23, 0x35, 0x1d, 0x01, 0x23, 0x35, 0x37, 0x23, 0x35, 0x33, 0x01, 0x3c, + 0xfe, 0xc4, 0xc8, 0xc8, 0xc8, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, + 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0xc8, 0x64, 0x64, + 0x64, 0xc8, 0x64, 0x64, 0x64, 0xc8, 0xc8, 0xc8, 0x02, 0x06, 0x01, 0xfc, + 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0x01, 0x90, 0xfe, 0x70, + 0x64, 0xfe, 0xd4, 0x64, 0x64, 0x64, 0xc8, 0x64, 0x64, 0x64, 0x64, 0x64, + 0xc8, 0xc8, 0x64, 0x64, 0x00, 0x08, 0x00, 0x64, 0xff, 0x9c, 0x02, 0x58, + 0x02, 0x58, 0x00, 0x01, 0x00, 0x03, 0x00, 0x07, 0x00, 0x0b, 0x00, 0x0f, + 0x00, 0x13, 0x00, 0x17, 0x00, 0x1b, 0x00, 0x00, 0x25, 0x15, 0x31, 0x15, + 0x03, 0x33, 0x15, 0x23, 0x17, 0x33, 0x15, 0x23, 0x31, 0x15, 0x23, 0x35, + 0x1d, 0x01, 0x23, 0x35, 0x17, 0x21, 0x15, 0x21, 0x25, 0x35, 0x33, 0x15, + 0x01, 0x3c, 0x10, 0x64, 0x64, 0x64, 0x64, 0x64, 0xc8, 0x64, 0x64, 0x01, + 0x2c, 0xfe, 0xd4, 0x01, 0x2c, 0x64, 0xc8, 0x02, 0x06, 0x01, 0x98, 0x64, + 0x64, 0x64, 0x64, 0x64, 0x64, 0xc8, 0xc8, 0xc8, 0x64, 0x64, 0x64, 0x64, + 0x00, 0x04, 0x00, 0x64, 0x00, 0x00, 0x02, 0xbc, 0x02, 0xbc, 0x00, 0x03, + 0x00, 0x07, 0x00, 0x0b, 0x00, 0x17, 0x00, 0x00, 0x13, 0x33, 0x15, 0x23, + 0x3b, 0x01, 0x15, 0x23, 0x33, 0x21, 0x15, 0x29, 0x01, 0x33, 0x11, 0x23, + 0x35, 0x21, 0x15, 0x23, 0x11, 0x33, 0x15, 0x21, 0x64, 0x64, 0x64, 0x64, + 0x64, 0x64, 0x64, 0x01, 0x2c, 0xfe, 0xd4, 0x01, 0x2c, 0x64, 0x64, 0xfe, + 0xd4, 0x64, 0x64, 0x01, 0x2c, 0x02, 0xbc, 0x64, 0x64, 0x64, 0xfe, 0x70, + 0x64, 0x64, 0x01, 0x90, 0xc8, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x64, + 0x00, 0x00, 0x02, 0xbc, 0x02, 0xbc, 0x00, 0x03, 0x00, 0x07, 0x00, 0x0b, + 0x00, 0x17, 0x00, 0x00, 0x01, 0x33, 0x15, 0x23, 0x31, 0x15, 0x23, 0x35, + 0x1d, 0x01, 0x21, 0x35, 0x05, 0x33, 0x11, 0x23, 0x35, 0x21, 0x15, 0x23, + 0x11, 0x33, 0x15, 0x21, 0x02, 0x58, 0x64, 0x64, 0x64, 0xfe, 0xd4, 0x01, + 0x2c, 0x64, 0x64, 0xfe, 0xd4, 0x64, 0x64, 0x01, 0x2c, 0x02, 0xbc, 0x64, + 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0xfe, 0x70, 0x64, 0x64, 0x01, 0x90, + 0xc8, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x00, 0x02, 0xbc, + 0x02, 0xbc, 0x00, 0x03, 0x00, 0x07, 0x00, 0x0b, 0x00, 0x0f, 0x00, 0x1b, + 0x00, 0x00, 0x13, 0x21, 0x15, 0x29, 0x01, 0x33, 0x15, 0x23, 0x25, 0x15, + 0x23, 0x35, 0x17, 0x21, 0x15, 0x29, 0x01, 0x33, 0x11, 0x23, 0x35, 0x21, + 0x15, 0x23, 0x11, 0x33, 0x15, 0x21, 0x64, 0x01, 0xf4, 0xfe, 0x0c, 0x01, + 0xf4, 0x64, 0x64, 0xfe, 0x0c, 0x64, 0xc8, 0x01, 0x2c, 0xfe, 0xd4, 0x01, + 0x2c, 0x64, 0x64, 0xfe, 0xd4, 0x64, 0x64, 0x01, 0x2c, 0x02, 0xbc, 0x64, + 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0xfe, 0x70, 0x64, 0x64, 0x01, 0x90, + 0xc8, 0x00, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x00, 0x03, 0x20, + 0x02, 0xbc, 0x00, 0x03, 0x00, 0x07, 0x00, 0x0b, 0x00, 0x0f, 0x00, 0x1b, + 0x00, 0x1f, 0x00, 0x00, 0x13, 0x21, 0x15, 0x29, 0x01, 0x33, 0x15, 0x23, + 0x37, 0x35, 0x33, 0x15, 0x05, 0x15, 0x21, 0x35, 0x05, 0x33, 0x11, 0x23, + 0x35, 0x21, 0x15, 0x23, 0x11, 0x33, 0x15, 0x21, 0x01, 0x15, 0x23, 0x35, + 0x64, 0x01, 0x90, 0xfe, 0x70, 0x01, 0x90, 0xc8, 0xc8, 0xc8, 0x64, 0xfe, + 0xd4, 0xfe, 0xd4, 0x01, 0x2c, 0x64, 0x64, 0xfe, 0xd4, 0x64, 0x64, 0x01, + 0x2c, 0xfe, 0x70, 0x64, 0x02, 0xbc, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, + 0x64, 0x64, 0x64, 0xfe, 0x70, 0x64, 0x64, 0x01, 0x90, 0xc8, 0x01, 0x90, + 0x64, 0x64, 0x00, 0x00, 0x00, 0x04, 0x00, 0x64, 0x00, 0x00, 0x02, 0x58, + 0x02, 0xbc, 0x00, 0x03, 0x00, 0x07, 0x00, 0x0b, 0x00, 0x17, 0x00, 0x00, + 0x13, 0x33, 0x15, 0x23, 0x37, 0x33, 0x15, 0x23, 0x07, 0x21, 0x15, 0x29, + 0x01, 0x33, 0x11, 0x23, 0x35, 0x21, 0x15, 0x23, 0x11, 0x33, 0x15, 0x21, + 0xc8, 0x64, 0x64, 0xc8, 0x64, 0x64, 0xc8, 0x01, 0x2c, 0xfe, 0xd4, 0x01, + 0x2c, 0x64, 0x64, 0xfe, 0xd4, 0x64, 0x64, 0x01, 0x2c, 0x02, 0xbc, 0x64, + 0x64, 0x64, 0x64, 0x64, 0xfe, 0x70, 0x64, 0x64, 0x01, 0x90, 0xc8, 0x00, + 0x00, 0x03, 0x00, 0x64, 0x00, 0x00, 0x02, 0x58, 0x02, 0xbc, 0x00, 0x03, + 0x00, 0x0f, 0x00, 0x13, 0x00, 0x00, 0x13, 0x21, 0x11, 0x29, 0x01, 0x33, + 0x11, 0x23, 0x35, 0x21, 0x15, 0x23, 0x11, 0x33, 0x15, 0x21, 0x03, 0x15, + 0x33, 0x35, 0xc8, 0x01, 0x2c, 0xfe, 0xd4, 0x01, 0x2c, 0x64, 0x64, 0xfe, + 0xd4, 0x64, 0x64, 0x01, 0x2c, 0xc8, 0x64, 0x02, 0xbc, 0xfe, 0xd4, 0xfe, + 0x70, 0x64, 0x64, 0x01, 0x90, 0xc8, 0x01, 0x90, 0x64, 0x64, 0x00, 0x00, + 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x02, 0xbc, 0x02, 0xbc, 0x00, 0x13, + 0x00, 0x17, 0x00, 0x1b, 0x00, 0x00, 0x01, 0x21, 0x15, 0x23, 0x15, 0x33, + 0x15, 0x23, 0x15, 0x33, 0x15, 0x21, 0x11, 0x21, 0x35, 0x33, 0x15, 0x33, + 0x35, 0x23, 0x03, 0x11, 0x23, 0x11, 0x37, 0x35, 0x33, 0x15, 0x01, 0x2c, + 0x01, 0x90, 0xc8, 0xc8, 0xc8, 0xc8, 0xfe, 0xd4, 0xfe, 0xd4, 0x64, 0xc8, + 0x64, 0xc8, 0x64, 0xc8, 0x64, 0x02, 0xbc, 0x64, 0xc8, 0x64, 0xc8, 0x64, + 0x01, 0x2c, 0xc8, 0x64, 0xc8, 0xfe, 0xd4, 0xfe, 0xd4, 0x01, 0x2c, 0xc8, + 0x64, 0x64, 0x00, 0x00, 0x00, 0x06, 0x00, 0x64, 0xff, 0x9c, 0x02, 0x58, + 0x02, 0xbc, 0x00, 0x03, 0x00, 0x07, 0x00, 0x0b, 0x00, 0x0f, 0x00, 0x13, + 0x00, 0x17, 0x00, 0x00, 0x13, 0x21, 0x15, 0x29, 0x01, 0x33, 0x15, 0x23, + 0x25, 0x11, 0x23, 0x11, 0x13, 0x21, 0x15, 0x21, 0x25, 0x35, 0x33, 0x15, + 0x07, 0x33, 0x15, 0x23, 0xc8, 0x01, 0x2c, 0xfe, 0xd4, 0x01, 0x2c, 0x64, + 0x64, 0xfe, 0xd4, 0x64, 0x64, 0x01, 0x2c, 0xfe, 0xd4, 0x01, 0x2c, 0x64, + 0x64, 0x64, 0x64, 0x02, 0xbc, 0x64, 0x64, 0x64, 0xfe, 0x0c, 0x01, 0xf4, + 0xfe, 0x0c, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0x00, 0x02, 0x00, 0x64, + 0x00, 0x00, 0x02, 0xbc, 0x02, 0xbc, 0x00, 0x03, 0x00, 0x11, 0x00, 0x00, + 0x13, 0x33, 0x15, 0x23, 0x3b, 0x01, 0x15, 0x21, 0x15, 0x21, 0x15, 0x21, + 0x15, 0x21, 0x15, 0x21, 0x15, 0x21, 0x64, 0x64, 0x64, 0x64, 0x64, 0x01, + 0x90, 0xfe, 0x70, 0x01, 0x2c, 0xfe, 0xd4, 0x01, 0x90, 0xfe, 0x0c, 0x02, + 0xbc, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0x00, 0x03, 0x00, 0x64, + 0x00, 0x00, 0x03, 0x20, 0x02, 0xbc, 0x00, 0x03, 0x00, 0x07, 0x00, 0x13, + 0x00, 0x00, 0x01, 0x33, 0x15, 0x23, 0x31, 0x15, 0x23, 0x35, 0x1d, 0x01, + 0x21, 0x15, 0x21, 0x15, 0x21, 0x15, 0x21, 0x15, 0x21, 0x11, 0x02, 0xbc, + 0x64, 0x64, 0x64, 0xfe, 0x70, 0x01, 0x2c, 0xfe, 0xd4, 0x01, 0x90, 0xfe, + 0x0c, 0x02, 0xbc, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, + 0x01, 0xf4, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x02, 0xbc, + 0x02, 0xbc, 0x00, 0x03, 0x00, 0x07, 0x00, 0x0b, 0x00, 0x17, 0x00, 0x00, + 0x13, 0x21, 0x15, 0x29, 0x01, 0x33, 0x15, 0x23, 0x25, 0x15, 0x23, 0x35, + 0x17, 0x21, 0x15, 0x23, 0x15, 0x33, 0x15, 0x23, 0x15, 0x33, 0x15, 0x21, + 0x64, 0x01, 0xf4, 0xfe, 0x0c, 0x01, 0xf4, 0x64, 0x64, 0xfe, 0x0c, 0x64, + 0xc8, 0x01, 0x2c, 0xc8, 0xc8, 0xc8, 0xc8, 0xfe, 0xd4, 0x02, 0xbc, 0x64, + 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0x00, 0x00, + 0x00, 0x03, 0x00, 0x64, 0x00, 0x00, 0x02, 0x58, 0x02, 0xbc, 0x00, 0x03, + 0x00, 0x07, 0x00, 0x13, 0x00, 0x00, 0x13, 0x33, 0x15, 0x23, 0x37, 0x33, + 0x15, 0x23, 0x05, 0x21, 0x15, 0x21, 0x15, 0x21, 0x15, 0x21, 0x15, 0x21, + 0x15, 0x21, 0xc8, 0x64, 0x64, 0xc8, 0x64, 0x64, 0xfe, 0xd4, 0x01, 0xf4, + 0xfe, 0x70, 0x01, 0x2c, 0xfe, 0xd4, 0x01, 0x90, 0xfe, 0x0c, 0x02, 0xbc, + 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0x00, 0x00, 0x00, + 0x00, 0x05, 0x00, 0xc8, 0x00, 0x00, 0x01, 0xf4, 0x02, 0xbc, 0x00, 0x01, + 0x00, 0x03, 0x00, 0x07, 0x00, 0x0b, 0x00, 0x13, 0x00, 0x00, 0x25, 0x15, + 0x31, 0x15, 0x03, 0x33, 0x15, 0x23, 0x3b, 0x01, 0x15, 0x23, 0x15, 0x33, + 0x11, 0x33, 0x15, 0x21, 0x35, 0x33, 0x01, 0x3c, 0x74, 0x64, 0x64, 0x64, + 0x64, 0x64, 0x64, 0x64, 0xfe, 0xd4, 0x64, 0xc8, 0x02, 0x06, 0x01, 0xfc, + 0x64, 0x64, 0x64, 0xfe, 0xd4, 0x64, 0x64, 0x00, 0x00, 0x05, 0x00, 0xc8, + 0x00, 0x00, 0x01, 0xf4, 0x02, 0xbc, 0x00, 0x01, 0x00, 0x03, 0x00, 0x07, + 0x00, 0x0b, 0x00, 0x13, 0x00, 0x00, 0x25, 0x15, 0x31, 0x15, 0x13, 0x33, + 0x15, 0x23, 0x31, 0x15, 0x23, 0x35, 0x15, 0x33, 0x11, 0x33, 0x15, 0x21, + 0x35, 0x33, 0x01, 0x3c, 0x54, 0x64, 0x64, 0x64, 0x64, 0x64, 0xfe, 0xd4, + 0x64, 0xc8, 0x02, 0x06, 0x01, 0xfc, 0x64, 0x64, 0x64, 0xc8, 0xfe, 0xd4, + 0x64, 0x64, 0x00, 0x00, 0x00, 0x06, 0x00, 0x64, 0x00, 0x00, 0x02, 0x58, + 0x02, 0xbc, 0x00, 0x01, 0x00, 0x03, 0x00, 0x07, 0x00, 0x0b, 0x00, 0x0f, + 0x00, 0x17, 0x00, 0x00, 0x25, 0x15, 0x31, 0x15, 0x03, 0x21, 0x15, 0x29, + 0x01, 0x33, 0x15, 0x23, 0x25, 0x15, 0x23, 0x35, 0x17, 0x33, 0x11, 0x33, + 0x15, 0x21, 0x35, 0x33, 0x01, 0x3c, 0x74, 0x01, 0x2c, 0xfe, 0xd4, 0x01, + 0x2c, 0x64, 0x64, 0xfe, 0xd4, 0x64, 0xc8, 0x64, 0x64, 0xfe, 0xd4, 0x64, + 0xc8, 0x02, 0x06, 0x01, 0xfc, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0xfe, + 0x70, 0x64, 0x64, 0x00, 0x00, 0x05, 0x00, 0xc8, 0x00, 0x00, 0x01, 0xf4, + 0x02, 0xbc, 0x00, 0x01, 0x00, 0x03, 0x00, 0x07, 0x00, 0x0b, 0x00, 0x13, + 0x00, 0x00, 0x25, 0x15, 0x31, 0x15, 0x03, 0x33, 0x15, 0x23, 0x37, 0x33, + 0x15, 0x23, 0x07, 0x33, 0x11, 0x33, 0x15, 0x21, 0x35, 0x33, 0x01, 0x3c, + 0x74, 0x64, 0x64, 0xc8, 0x64, 0x64, 0x64, 0x64, 0x64, 0xfe, 0xd4, 0x64, + 0xc8, 0x02, 0x06, 0x01, 0xfc, 0x64, 0x64, 0x64, 0xc8, 0xfe, 0xd4, 0x64, + 0x64, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x64, 0x00, 0x00, 0x02, 0xbc, + 0x02, 0xbc, 0x00, 0x01, 0x00, 0x03, 0x00, 0x15, 0x00, 0x19, 0x00, 0x00, + 0x25, 0x15, 0x31, 0x15, 0x03, 0x21, 0x15, 0x21, 0x11, 0x33, 0x15, 0x23, + 0x15, 0x21, 0x15, 0x21, 0x35, 0x23, 0x35, 0x33, 0x11, 0x23, 0x21, 0x33, + 0x11, 0x23, 0x01, 0x3c, 0xd8, 0x01, 0xf4, 0xfe, 0xd4, 0x64, 0x64, 0x01, + 0x2c, 0xfe, 0x70, 0x64, 0x64, 0x64, 0x01, 0xf4, 0x64, 0x64, 0xc8, 0x02, + 0x06, 0x01, 0xfc, 0x64, 0xfe, 0xd4, 0x64, 0x64, 0x64, 0xc8, 0x64, 0x01, + 0x2c, 0xfe, 0x0c, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x03, 0x20, + 0x02, 0xbc, 0x00, 0x01, 0x00, 0x03, 0x00, 0x07, 0x00, 0x0b, 0x00, 0x0f, + 0x00, 0x13, 0x00, 0x1b, 0x00, 0x23, 0x00, 0x00, 0x25, 0x15, 0x31, 0x15, + 0x03, 0x21, 0x15, 0x29, 0x01, 0x33, 0x15, 0x23, 0x37, 0x35, 0x33, 0x15, + 0x21, 0x15, 0x23, 0x35, 0x17, 0x33, 0x15, 0x33, 0x15, 0x23, 0x11, 0x23, + 0x13, 0x33, 0x35, 0x33, 0x11, 0x23, 0x35, 0x23, 0x01, 0x3c, 0xd8, 0x01, + 0x90, 0xfe, 0x70, 0x01, 0x90, 0xc8, 0xc8, 0xc8, 0x64, 0xfd, 0x44, 0x64, + 0xc8, 0x64, 0x64, 0x64, 0x64, 0xc8, 0x64, 0x64, 0x64, 0x64, 0xc8, 0x02, + 0x06, 0x01, 0xfc, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, + 0x64, 0xfe, 0xd4, 0x01, 0x2c, 0x64, 0xfe, 0x70, 0xc8, 0x00, 0x00, 0x00, + 0x00, 0x08, 0x00, 0x64, 0x00, 0x00, 0x02, 0xbc, 0x02, 0xbc, 0x00, 0x01, + 0x00, 0x03, 0x00, 0x07, 0x00, 0x0b, 0x00, 0x0f, 0x00, 0x13, 0x00, 0x17, + 0x00, 0x1b, 0x00, 0x00, 0x25, 0x15, 0x31, 0x15, 0x03, 0x33, 0x15, 0x23, + 0x3b, 0x01, 0x15, 0x23, 0x33, 0x21, 0x15, 0x29, 0x01, 0x33, 0x11, 0x23, + 0x31, 0x15, 0x21, 0x35, 0x31, 0x23, 0x11, 0x33, 0x01, 0x3c, 0xd8, 0x64, + 0x64, 0x64, 0x64, 0x64, 0x64, 0x01, 0x2c, 0xfe, 0xd4, 0x01, 0x2c, 0x64, + 0x64, 0xfe, 0xd4, 0x64, 0x64, 0xc8, 0x02, 0x06, 0x01, 0xfc, 0x64, 0x64, + 0x64, 0xfe, 0xd4, 0x64, 0x64, 0x01, 0x2c, 0x00, 0x00, 0x08, 0x00, 0x64, + 0x00, 0x00, 0x02, 0xbc, 0x02, 0xbc, 0x00, 0x01, 0x00, 0x03, 0x00, 0x07, + 0x00, 0x0b, 0x00, 0x0f, 0x00, 0x13, 0x00, 0x17, 0x00, 0x1b, 0x00, 0x00, + 0x25, 0x15, 0x31, 0x15, 0x01, 0x33, 0x15, 0x23, 0x31, 0x15, 0x23, 0x35, + 0x1d, 0x01, 0x21, 0x35, 0x05, 0x33, 0x11, 0x23, 0x31, 0x15, 0x21, 0x35, + 0x31, 0x23, 0x11, 0x33, 0x01, 0x3c, 0x01, 0x1c, 0x64, 0x64, 0x64, 0xfe, + 0xd4, 0x01, 0x2c, 0x64, 0x64, 0xfe, 0xd4, 0x64, 0x64, 0xc8, 0x02, 0x06, + 0x01, 0xfc, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0xfe, 0xd4, 0x64, + 0x64, 0x01, 0x2c, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x00, 0x02, 0xbc, + 0x02, 0xbc, 0x00, 0x01, 0x00, 0x03, 0x00, 0x07, 0x00, 0x0b, 0x00, 0x0f, + 0x00, 0x13, 0x00, 0x17, 0x00, 0x1b, 0x00, 0x1f, 0x00, 0x00, 0x25, 0x15, + 0x31, 0x15, 0x03, 0x21, 0x15, 0x29, 0x01, 0x33, 0x15, 0x23, 0x25, 0x15, + 0x23, 0x35, 0x17, 0x21, 0x15, 0x29, 0x01, 0x33, 0x11, 0x23, 0x31, 0x15, + 0x21, 0x35, 0x31, 0x23, 0x11, 0x33, 0x01, 0x3c, 0xd8, 0x01, 0xf4, 0xfe, + 0x0c, 0x01, 0xf4, 0x64, 0x64, 0xfe, 0x0c, 0x64, 0xc8, 0x01, 0x2c, 0xfe, + 0xd4, 0x01, 0x2c, 0x64, 0x64, 0xfe, 0xd4, 0x64, 0x64, 0xc8, 0x02, 0x06, + 0x01, 0xfc, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0xfe, 0xd4, 0x64, + 0x64, 0x01, 0x2c, 0x00, 0x00, 0x0a, 0x00, 0x00, 0x00, 0x00, 0x03, 0x20, + 0x02, 0xbc, 0x00, 0x01, 0x00, 0x03, 0x00, 0x07, 0x00, 0x0b, 0x00, 0x0f, + 0x00, 0x13, 0x00, 0x17, 0x00, 0x1b, 0x00, 0x1f, 0x00, 0x23, 0x00, 0x00, + 0x25, 0x15, 0x31, 0x15, 0x03, 0x21, 0x15, 0x29, 0x01, 0x33, 0x15, 0x23, + 0x37, 0x35, 0x33, 0x15, 0x05, 0x15, 0x21, 0x35, 0x05, 0x33, 0x11, 0x23, + 0x31, 0x15, 0x21, 0x35, 0x31, 0x23, 0x11, 0x33, 0x27, 0x15, 0x23, 0x35, + 0x01, 0x3c, 0xd8, 0x01, 0x90, 0xfe, 0x70, 0x01, 0x90, 0xc8, 0xc8, 0xc8, + 0x64, 0xfe, 0xd4, 0xfe, 0xd4, 0x01, 0x2c, 0x64, 0x64, 0xfe, 0xd4, 0x64, + 0x64, 0x64, 0x64, 0xc8, 0x02, 0x06, 0x01, 0xfc, 0x64, 0x64, 0x64, 0x64, + 0x64, 0x64, 0x64, 0x64, 0x64, 0xfe, 0xd4, 0x64, 0x64, 0x01, 0x2c, 0xc8, + 0x64, 0x64, 0x00, 0x00, 0x00, 0x08, 0x00, 0x64, 0x00, 0x00, 0x02, 0x58, + 0x02, 0xbc, 0x00, 0x01, 0x00, 0x03, 0x00, 0x07, 0x00, 0x0b, 0x00, 0x0f, + 0x00, 0x13, 0x00, 0x17, 0x00, 0x1b, 0x00, 0x00, 0x25, 0x15, 0x31, 0x15, + 0x03, 0x33, 0x15, 0x23, 0x37, 0x33, 0x15, 0x23, 0x07, 0x21, 0x15, 0x29, + 0x01, 0x33, 0x11, 0x23, 0x31, 0x15, 0x21, 0x35, 0x31, 0x23, 0x11, 0x33, + 0x01, 0x3c, 0x74, 0x64, 0x64, 0xc8, 0x64, 0x64, 0xc8, 0x01, 0x2c, 0xfe, + 0xd4, 0x01, 0x2c, 0x64, 0x64, 0xfe, 0xd4, 0x64, 0x64, 0xc8, 0x02, 0x06, + 0x01, 0xfc, 0x64, 0x64, 0x64, 0x64, 0x64, 0xfe, 0xd4, 0x64, 0x64, 0x01, + 0x2c, 0x00, 0x00, 0x00, 0x00, 0x0b, 0x00, 0x64, 0x00, 0x64, 0x02, 0x58, + 0x02, 0x58, 0x00, 0x01, 0x00, 0x03, 0x00, 0x07, 0x00, 0x0b, 0x00, 0x0f, + 0x00, 0x13, 0x00, 0x17, 0x00, 0x1b, 0x00, 0x1f, 0x00, 0x23, 0x00, 0x27, + 0x00, 0x00, 0x25, 0x15, 0x31, 0x15, 0x03, 0x33, 0x15, 0x23, 0x3b, 0x01, + 0x15, 0x23, 0x3b, 0x01, 0x15, 0x23, 0x37, 0x35, 0x33, 0x15, 0x3d, 0x01, + 0x33, 0x15, 0x07, 0x33, 0x15, 0x23, 0x3b, 0x01, 0x15, 0x23, 0x27, 0x15, + 0x23, 0x35, 0x1d, 0x01, 0x23, 0x35, 0x01, 0x3c, 0xd8, 0x64, 0x64, 0x64, + 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0xc8, 0x64, 0x64, 0x64, + 0x64, 0x64, 0xc8, 0x64, 0x64, 0xc8, 0x02, 0x06, 0x01, 0x98, 0x64, 0x64, + 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0xc8, 0x64, 0x64, 0xc8, 0x64, + 0x64, 0x64, 0x64, 0x64, 0x00, 0x0c, 0x00, 0x64, 0x00, 0x00, 0x02, 0xbc, + 0x02, 0xbc, 0x00, 0x01, 0x00, 0x03, 0x00, 0x07, 0x00, 0x0b, 0x00, 0x0f, + 0x00, 0x13, 0x00, 0x17, 0x00, 0x1b, 0x00, 0x1f, 0x00, 0x23, 0x00, 0x27, + 0x00, 0x2b, 0x00, 0x00, 0x25, 0x15, 0x31, 0x15, 0x03, 0x21, 0x15, 0x29, + 0x01, 0x33, 0x15, 0x23, 0x37, 0x35, 0x33, 0x15, 0x07, 0x33, 0x11, 0x23, + 0x31, 0x15, 0x21, 0x35, 0x31, 0x23, 0x35, 0x33, 0x07, 0x15, 0x23, 0x35, + 0x37, 0x23, 0x11, 0x33, 0x13, 0x35, 0x33, 0x15, 0x3d, 0x01, 0x33, 0x15, + 0x01, 0x3c, 0x74, 0x01, 0x2c, 0xfe, 0xd4, 0x01, 0x2c, 0x64, 0x64, 0x64, + 0x64, 0x64, 0x64, 0x64, 0xfe, 0xd4, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, + 0x64, 0x64, 0x64, 0x64, 0xc8, 0x02, 0x06, 0x01, 0xfc, 0x64, 0x64, 0x64, + 0x64, 0x64, 0x64, 0xfe, 0x70, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, + 0x01, 0x90, 0xfe, 0x70, 0xc8, 0xc8, 0xc8, 0x64, 0x64, 0x00, 0x00, 0x00, + 0x00, 0x06, 0x00, 0x64, 0x00, 0x00, 0x02, 0xbc, 0x02, 0xbc, 0x00, 0x01, + 0x00, 0x03, 0x00, 0x07, 0x00, 0x0b, 0x00, 0x0f, 0x00, 0x13, 0x00, 0x00, + 0x25, 0x15, 0x31, 0x15, 0x03, 0x33, 0x15, 0x23, 0x3b, 0x01, 0x11, 0x23, + 0x33, 0x21, 0x15, 0x21, 0x25, 0x11, 0x33, 0x11, 0x01, 0x3c, 0xd8, 0x64, + 0x64, 0x64, 0x64, 0x64, 0x64, 0x01, 0x2c, 0xfe, 0xd4, 0x01, 0x2c, 0x64, + 0xc8, 0x02, 0x06, 0x01, 0xfc, 0x64, 0xfe, 0x0c, 0x64, 0x64, 0x01, 0x90, + 0xfe, 0x70, 0x00, 0x00, 0x00, 0x06, 0x00, 0x64, 0x00, 0x00, 0x02, 0xbc, + 0x02, 0xbc, 0x00, 0x01, 0x00, 0x03, 0x00, 0x07, 0x00, 0x0b, 0x00, 0x0f, + 0x00, 0x13, 0x00, 0x00, 0x25, 0x15, 0x31, 0x15, 0x01, 0x33, 0x15, 0x23, + 0x31, 0x11, 0x23, 0x19, 0x01, 0x15, 0x21, 0x35, 0x31, 0x23, 0x11, 0x33, + 0x01, 0x3c, 0x01, 0x1c, 0x64, 0x64, 0x64, 0xfe, 0xd4, 0x64, 0x64, 0xc8, + 0x02, 0x06, 0x01, 0xfc, 0x64, 0xfe, 0x0c, 0x01, 0xf4, 0xfe, 0x0c, 0x64, + 0x64, 0x01, 0x90, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x02, 0xbc, + 0x02, 0xbc, 0x00, 0x01, 0x00, 0x03, 0x00, 0x07, 0x00, 0x0b, 0x00, 0x0f, + 0x00, 0x13, 0x00, 0x17, 0x00, 0x1b, 0x00, 0x00, 0x25, 0x15, 0x31, 0x15, + 0x03, 0x21, 0x15, 0x29, 0x01, 0x33, 0x15, 0x23, 0x25, 0x15, 0x23, 0x35, + 0x17, 0x33, 0x11, 0x23, 0x33, 0x21, 0x15, 0x21, 0x25, 0x11, 0x33, 0x11, + 0x01, 0x3c, 0xd8, 0x01, 0xf4, 0xfe, 0x0c, 0x01, 0xf4, 0x64, 0x64, 0xfe, + 0x0c, 0x64, 0x64, 0x64, 0x64, 0x64, 0x01, 0x2c, 0xfe, 0xd4, 0x01, 0x2c, + 0x64, 0xc8, 0x02, 0x06, 0x01, 0xfc, 0x64, 0x64, 0x64, 0x64, 0x64, 0xc8, + 0xfe, 0xd4, 0x64, 0x64, 0x01, 0x2c, 0xfe, 0xd4, 0x00, 0x07, 0x00, 0x64, + 0x00, 0x00, 0x02, 0x58, 0x02, 0xbc, 0x00, 0x01, 0x00, 0x03, 0x00, 0x07, + 0x00, 0x0b, 0x00, 0x0f, 0x00, 0x13, 0x00, 0x17, 0x00, 0x00, 0x25, 0x15, + 0x31, 0x15, 0x03, 0x33, 0x15, 0x23, 0x37, 0x33, 0x15, 0x23, 0x05, 0x33, + 0x11, 0x23, 0x33, 0x21, 0x15, 0x21, 0x25, 0x11, 0x33, 0x11, 0x01, 0x3c, + 0x74, 0x64, 0x64, 0xc8, 0x64, 0x64, 0xfe, 0xd4, 0x64, 0x64, 0x64, 0x01, + 0x2c, 0xfe, 0xd4, 0x01, 0x2c, 0x64, 0xc8, 0x02, 0x06, 0x01, 0xfc, 0x64, + 0x64, 0x64, 0x64, 0xfe, 0x70, 0x64, 0x64, 0x01, 0x90, 0xfe, 0x70, 0x00, + 0x00, 0x09, 0x00, 0x64, 0x00, 0x00, 0x02, 0x58, 0x02, 0xbc, 0x00, 0x01, + 0x00, 0x03, 0x00, 0x07, 0x00, 0x0b, 0x00, 0x0f, 0x00, 0x13, 0x00, 0x17, + 0x00, 0x1b, 0x00, 0x1f, 0x00, 0x00, 0x25, 0x15, 0x31, 0x15, 0x03, 0x33, + 0x11, 0x23, 0x3b, 0x01, 0x15, 0x23, 0x3b, 0x01, 0x15, 0x23, 0x37, 0x35, + 0x33, 0x15, 0x3d, 0x01, 0x33, 0x15, 0x03, 0x33, 0x15, 0x23, 0x31, 0x15, + 0x23, 0x35, 0x01, 0x3c, 0xd8, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, + 0x64, 0x64, 0x64, 0x64, 0xc8, 0x64, 0x64, 0x64, 0xc8, 0x02, 0x06, 0x01, + 0xfc, 0xfe, 0x70, 0x64, 0xc8, 0xc8, 0x64, 0x64, 0x64, 0xc8, 0xc8, 0x01, + 0x90, 0x64, 0x64, 0x64, 0x00, 0x04, 0x00, 0x64, 0x00, 0x00, 0x01, 0xf4, + 0x02, 0x58, 0x00, 0x01, 0x00, 0x03, 0x00, 0x0f, 0x00, 0x13, 0x00, 0x00, + 0x25, 0x15, 0x31, 0x15, 0x03, 0x33, 0x15, 0x33, 0x15, 0x23, 0x15, 0x33, + 0x15, 0x23, 0x15, 0x23, 0x01, 0x33, 0x15, 0x23, 0x01, 0x3c, 0xd8, 0x64, + 0xc8, 0xc8, 0xc8, 0xc8, 0x64, 0x01, 0x2c, 0x64, 0x64, 0xc8, 0x02, 0x06, + 0x01, 0x98, 0x64, 0x64, 0xc8, 0x64, 0x64, 0x01, 0x90, 0xc8, 0x00, 0x00, + 0x00, 0x06, 0x00, 0x64, 0xff, 0x9c, 0x02, 0x58, 0x02, 0xbc, 0x00, 0x01, + 0x00, 0x03, 0x00, 0x07, 0x00, 0x11, 0x00, 0x15, 0x00, 0x19, 0x00, 0x00, + 0x25, 0x15, 0x31, 0x15, 0x03, 0x33, 0x15, 0x23, 0x3b, 0x01, 0x15, 0x33, + 0x11, 0x23, 0x35, 0x23, 0x35, 0x33, 0x13, 0x15, 0x23, 0x35, 0x03, 0x11, + 0x23, 0x11, 0x01, 0x3c, 0x74, 0xc8, 0xc8, 0xc8, 0x64, 0x64, 0x64, 0xc8, + 0x64, 0x64, 0xc8, 0x64, 0x64, 0xc8, 0x02, 0x06, 0x01, 0xfc, 0x64, 0xc8, + 0xfe, 0xd4, 0xc8, 0x64, 0xfe, 0xd4, 0x64, 0x64, 0x01, 0xf4, 0xfd, 0x44, + 0x02, 0xbc, 0x00, 0x00, 0x00, 0x04, 0x00, 0x64, 0x00, 0x00, 0x02, 0xbc, + 0x02, 0xbc, 0x00, 0x03, 0x00, 0x07, 0x00, 0x0b, 0x00, 0x17, 0x00, 0x00, + 0x13, 0x33, 0x15, 0x23, 0x3b, 0x01, 0x15, 0x23, 0x33, 0x21, 0x15, 0x29, + 0x01, 0x33, 0x11, 0x23, 0x35, 0x21, 0x15, 0x23, 0x11, 0x33, 0x15, 0x21, + 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0x01, 0x2c, 0xfe, 0xd4, 0x01, + 0x2c, 0x64, 0x64, 0xfe, 0xd4, 0x64, 0x64, 0x01, 0x2c, 0x02, 0xbc, 0x64, + 0x64, 0x64, 0xfe, 0x70, 0x64, 0x64, 0x01, 0x90, 0xc8, 0x00, 0x00, 0x00, + 0x00, 0x04, 0x00, 0x64, 0x00, 0x00, 0x02, 0xbc, 0x02, 0xbc, 0x00, 0x03, + 0x00, 0x07, 0x00, 0x0b, 0x00, 0x17, 0x00, 0x00, 0x01, 0x33, 0x15, 0x23, + 0x31, 0x15, 0x23, 0x35, 0x1d, 0x01, 0x21, 0x35, 0x05, 0x33, 0x11, 0x23, + 0x35, 0x21, 0x15, 0x23, 0x11, 0x33, 0x15, 0x21, 0x02, 0x58, 0x64, 0x64, + 0x64, 0xfe, 0xd4, 0x01, 0x2c, 0x64, 0x64, 0xfe, 0xd4, 0x64, 0x64, 0x01, + 0x2c, 0x02, 0xbc, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0xfe, 0x70, + 0x64, 0x64, 0x01, 0x90, 0xc8, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, + 0x00, 0x00, 0x02, 0xbc, 0x02, 0xbc, 0x00, 0x03, 0x00, 0x07, 0x00, 0x0b, + 0x00, 0x0f, 0x00, 0x1b, 0x00, 0x00, 0x13, 0x21, 0x15, 0x29, 0x01, 0x33, + 0x15, 0x23, 0x25, 0x15, 0x23, 0x35, 0x17, 0x21, 0x15, 0x29, 0x01, 0x33, + 0x11, 0x23, 0x35, 0x21, 0x15, 0x23, 0x11, 0x33, 0x15, 0x21, 0x64, 0x01, + 0xf4, 0xfe, 0x0c, 0x01, 0xf4, 0x64, 0x64, 0xfe, 0x0c, 0x64, 0xc8, 0x01, + 0x2c, 0xfe, 0xd4, 0x01, 0x2c, 0x64, 0x64, 0xfe, 0xd4, 0x64, 0x64, 0x01, + 0x2c, 0x02, 0xbc, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0xfe, 0x70, + 0x64, 0x64, 0x01, 0x90, 0xc8, 0x00, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, + 0x00, 0x00, 0x03, 0x20, 0x02, 0xbc, 0x00, 0x03, 0x00, 0x07, 0x00, 0x0b, + 0x00, 0x0f, 0x00, 0x1b, 0x00, 0x1f, 0x00, 0x00, 0x13, 0x21, 0x15, 0x29, + 0x01, 0x33, 0x15, 0x23, 0x37, 0x35, 0x33, 0x15, 0x05, 0x15, 0x21, 0x35, + 0x05, 0x33, 0x11, 0x23, 0x35, 0x21, 0x15, 0x23, 0x11, 0x33, 0x15, 0x21, + 0x01, 0x15, 0x23, 0x35, 0x64, 0x01, 0x90, 0xfe, 0x70, 0x01, 0x90, 0xc8, + 0xc8, 0xc8, 0x64, 0xfe, 0xd4, 0xfe, 0xd4, 0x01, 0x2c, 0x64, 0x64, 0xfe, + 0xd4, 0x64, 0x64, 0x01, 0x2c, 0xfe, 0x70, 0x64, 0x02, 0xbc, 0x64, 0x64, + 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0xfe, 0x70, 0x64, 0x64, 0x01, + 0x90, 0xc8, 0x01, 0x90, 0x64, 0x64, 0x00, 0x00, 0x00, 0x04, 0x00, 0x64, + 0x00, 0x00, 0x02, 0x58, 0x02, 0xbc, 0x00, 0x03, 0x00, 0x07, 0x00, 0x0b, + 0x00, 0x17, 0x00, 0x00, 0x13, 0x33, 0x15, 0x23, 0x37, 0x33, 0x15, 0x23, + 0x07, 0x21, 0x15, 0x29, 0x01, 0x33, 0x11, 0x23, 0x35, 0x21, 0x15, 0x23, + 0x11, 0x33, 0x15, 0x21, 0xc8, 0x64, 0x64, 0xc8, 0x64, 0x64, 0xc8, 0x01, + 0x2c, 0xfe, 0xd4, 0x01, 0x2c, 0x64, 0x64, 0xfe, 0xd4, 0x64, 0x64, 0x01, + 0x2c, 0x02, 0xbc, 0x64, 0x64, 0x64, 0x64, 0x64, 0xfe, 0x70, 0x64, 0x64, + 0x01, 0x90, 0xc8, 0x00, 0x00, 0x03, 0x00, 0x64, 0x00, 0x00, 0x02, 0x58, + 0x02, 0xbc, 0x00, 0x03, 0x00, 0x0f, 0x00, 0x13, 0x00, 0x00, 0x13, 0x21, + 0x11, 0x29, 0x01, 0x33, 0x11, 0x23, 0x35, 0x21, 0x15, 0x23, 0x11, 0x33, + 0x15, 0x21, 0x03, 0x15, 0x33, 0x35, 0xc8, 0x01, 0x2c, 0xfe, 0xd4, 0x01, + 0x2c, 0x64, 0x64, 0xfe, 0xd4, 0x64, 0x64, 0x01, 0x2c, 0xc8, 0x64, 0x02, + 0xbc, 0xfe, 0xd4, 0xfe, 0x70, 0x64, 0x64, 0x01, 0x90, 0xc8, 0x01, 0x90, + 0x64, 0x64, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x02, 0xbc, + 0x02, 0x58, 0x00, 0x13, 0x00, 0x17, 0x00, 0x1b, 0x00, 0x00, 0x01, 0x21, + 0x15, 0x23, 0x15, 0x33, 0x15, 0x23, 0x15, 0x33, 0x15, 0x21, 0x35, 0x21, + 0x35, 0x33, 0x15, 0x33, 0x35, 0x23, 0x03, 0x15, 0x23, 0x35, 0x37, 0x35, + 0x33, 0x15, 0x01, 0x2c, 0x01, 0x90, 0xc8, 0xc8, 0xc8, 0xc8, 0xfe, 0xd4, + 0xfe, 0xd4, 0x64, 0xc8, 0x64, 0xc8, 0x64, 0xc8, 0x64, 0x02, 0x58, 0x64, + 0xc8, 0x64, 0x64, 0x64, 0xc8, 0xc8, 0x64, 0xc8, 0xfe, 0xd4, 0xc8, 0xc8, + 0xc8, 0x64, 0x64, 0x00, 0x00, 0x06, 0x00, 0x64, 0xff, 0x9c, 0x02, 0x58, + 0x02, 0x58, 0x00, 0x03, 0x00, 0x07, 0x00, 0x0b, 0x00, 0x0f, 0x00, 0x13, + 0x00, 0x17, 0x00, 0x00, 0x13, 0x21, 0x15, 0x29, 0x01, 0x33, 0x15, 0x23, + 0x25, 0x11, 0x23, 0x11, 0x13, 0x21, 0x15, 0x21, 0x25, 0x35, 0x33, 0x15, + 0x07, 0x33, 0x15, 0x23, 0xc8, 0x01, 0x2c, 0xfe, 0xd4, 0x01, 0x2c, 0x64, + 0x64, 0xfe, 0xd4, 0x64, 0x64, 0x01, 0x2c, 0xfe, 0xd4, 0x01, 0x2c, 0x64, + 0x64, 0x64, 0x64, 0x02, 0x58, 0x64, 0x64, 0x64, 0xfe, 0x70, 0x01, 0x90, + 0xfe, 0x70, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0x00, 0x02, 0x00, 0x64, + 0x00, 0x00, 0x02, 0xbc, 0x02, 0xbc, 0x00, 0x03, 0x00, 0x11, 0x00, 0x00, + 0x13, 0x33, 0x15, 0x23, 0x3b, 0x01, 0x15, 0x21, 0x15, 0x21, 0x15, 0x21, + 0x15, 0x21, 0x15, 0x21, 0x15, 0x21, 0x64, 0x64, 0x64, 0x64, 0x64, 0x01, + 0x90, 0xfe, 0x70, 0x01, 0x2c, 0xfe, 0xd4, 0x01, 0x90, 0xfe, 0x0c, 0x02, + 0xbc, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0x00, 0x03, 0x00, 0x64, + 0x00, 0x00, 0x03, 0x20, 0x02, 0xbc, 0x00, 0x03, 0x00, 0x07, 0x00, 0x13, + 0x00, 0x00, 0x01, 0x33, 0x15, 0x23, 0x31, 0x15, 0x23, 0x35, 0x1d, 0x01, + 0x21, 0x15, 0x21, 0x15, 0x21, 0x15, 0x21, 0x15, 0x21, 0x11, 0x02, 0xbc, + 0x64, 0x64, 0x64, 0xfe, 0x70, 0x01, 0x2c, 0xfe, 0xd4, 0x01, 0x90, 0xfe, + 0x0c, 0x02, 0xbc, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, + 0x01, 0xf4, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x02, 0xbc, + 0x02, 0xbc, 0x00, 0x03, 0x00, 0x07, 0x00, 0x0b, 0x00, 0x17, 0x00, 0x00, + 0x13, 0x21, 0x15, 0x29, 0x01, 0x33, 0x15, 0x23, 0x25, 0x15, 0x23, 0x35, + 0x17, 0x21, 0x15, 0x23, 0x15, 0x33, 0x15, 0x23, 0x15, 0x33, 0x15, 0x21, + 0x64, 0x01, 0xf4, 0xfe, 0x0c, 0x01, 0xf4, 0x64, 0x64, 0xfe, 0x0c, 0x64, + 0xc8, 0x01, 0x2c, 0xc8, 0xc8, 0xc8, 0xc8, 0xfe, 0xd4, 0x02, 0xbc, 0x64, + 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0x00, 0x00, + 0x00, 0x03, 0x00, 0x64, 0x00, 0x00, 0x02, 0x58, 0x02, 0xbc, 0x00, 0x03, + 0x00, 0x07, 0x00, 0x13, 0x00, 0x00, 0x13, 0x33, 0x15, 0x23, 0x37, 0x33, + 0x15, 0x23, 0x05, 0x21, 0x15, 0x21, 0x15, 0x21, 0x15, 0x21, 0x15, 0x21, + 0x15, 0x21, 0xc8, 0x64, 0x64, 0xc8, 0x64, 0x64, 0xfe, 0xd4, 0x01, 0xf4, + 0xfe, 0x70, 0x01, 0x2c, 0xfe, 0xd4, 0x01, 0x90, 0xfe, 0x0c, 0x02, 0xbc, + 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0x00, 0x00, 0x00, + 0x00, 0x05, 0x00, 0xc8, 0x00, 0x00, 0x01, 0xf4, 0x02, 0xbc, 0x00, 0x01, + 0x00, 0x03, 0x00, 0x07, 0x00, 0x0b, 0x00, 0x13, 0x00, 0x00, 0x25, 0x15, + 0x31, 0x15, 0x03, 0x33, 0x15, 0x23, 0x3b, 0x01, 0x15, 0x23, 0x15, 0x33, + 0x11, 0x33, 0x15, 0x21, 0x35, 0x33, 0x01, 0x3c, 0x74, 0x64, 0x64, 0x64, + 0x64, 0x64, 0x64, 0x64, 0xfe, 0xd4, 0x64, 0xc8, 0x02, 0x06, 0x01, 0xfc, + 0x64, 0x64, 0x64, 0xfe, 0xd4, 0x64, 0x64, 0x00, 0x00, 0x05, 0x00, 0xc8, + 0x00, 0x00, 0x01, 0xf4, 0x02, 0xbc, 0x00, 0x01, 0x00, 0x03, 0x00, 0x07, + 0x00, 0x0b, 0x00, 0x13, 0x00, 0x00, 0x25, 0x15, 0x31, 0x15, 0x13, 0x33, + 0x15, 0x23, 0x31, 0x15, 0x23, 0x35, 0x15, 0x33, 0x11, 0x33, 0x15, 0x21, + 0x35, 0x33, 0x01, 0x3c, 0x54, 0x64, 0x64, 0x64, 0x64, 0x64, 0xfe, 0xd4, + 0x64, 0xc8, 0x02, 0x06, 0x01, 0xfc, 0x64, 0x64, 0x64, 0xc8, 0xfe, 0xd4, + 0x64, 0x64, 0x00, 0x00, 0x00, 0x06, 0x00, 0x64, 0x00, 0x00, 0x02, 0x58, + 0x02, 0xbc, 0x00, 0x01, 0x00, 0x03, 0x00, 0x07, 0x00, 0x0b, 0x00, 0x0f, + 0x00, 0x17, 0x00, 0x00, 0x25, 0x15, 0x31, 0x15, 0x03, 0x21, 0x15, 0x29, + 0x01, 0x33, 0x15, 0x23, 0x25, 0x15, 0x23, 0x35, 0x17, 0x33, 0x11, 0x33, + 0x15, 0x21, 0x35, 0x33, 0x01, 0x3c, 0x74, 0x01, 0x2c, 0xfe, 0xd4, 0x01, + 0x2c, 0x64, 0x64, 0xfe, 0xd4, 0x64, 0xc8, 0x64, 0x64, 0xfe, 0xd4, 0x64, + 0xc8, 0x02, 0x06, 0x01, 0xfc, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0xfe, + 0x70, 0x64, 0x64, 0x00, 0x00, 0x05, 0x00, 0xc8, 0x00, 0x00, 0x01, 0xf4, + 0x02, 0xbc, 0x00, 0x01, 0x00, 0x03, 0x00, 0x07, 0x00, 0x0b, 0x00, 0x13, + 0x00, 0x00, 0x25, 0x15, 0x31, 0x15, 0x03, 0x33, 0x15, 0x23, 0x37, 0x33, + 0x15, 0x23, 0x07, 0x33, 0x11, 0x33, 0x15, 0x21, 0x35, 0x33, 0x01, 0x3c, + 0x74, 0x64, 0x64, 0xc8, 0x64, 0x64, 0x64, 0x64, 0x64, 0xfe, 0xd4, 0x64, + 0xc8, 0x02, 0x06, 0x01, 0xfc, 0x64, 0x64, 0x64, 0xc8, 0xfe, 0xd4, 0x64, + 0x64, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x64, 0x00, 0x00, 0x02, 0xbc, + 0x02, 0xbc, 0x00, 0x01, 0x00, 0x03, 0x00, 0x07, 0x00, 0x0b, 0x00, 0x0f, + 0x00, 0x13, 0x00, 0x17, 0x00, 0x1b, 0x00, 0x00, 0x25, 0x15, 0x31, 0x15, + 0x13, 0x33, 0x15, 0x23, 0x3b, 0x01, 0x15, 0x23, 0x31, 0x11, 0x23, 0x19, + 0x01, 0x15, 0x21, 0x35, 0x31, 0x23, 0x11, 0x33, 0x31, 0x35, 0x21, 0x15, + 0x01, 0x3c, 0xb8, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0xfe, 0xd4, 0x64, + 0x64, 0x01, 0x2c, 0xc8, 0x02, 0x06, 0x01, 0xfc, 0xc8, 0x64, 0xfe, 0xd4, + 0x01, 0x2c, 0xfe, 0xd4, 0x64, 0x64, 0x01, 0x2c, 0x64, 0x64, 0x00, 0x00, + 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x03, 0x20, 0x02, 0xbc, 0x00, 0x01, + 0x00, 0x03, 0x00, 0x07, 0x00, 0x0b, 0x00, 0x0f, 0x00, 0x13, 0x00, 0x1b, + 0x00, 0x23, 0x00, 0x00, 0x25, 0x15, 0x31, 0x15, 0x03, 0x21, 0x15, 0x29, + 0x01, 0x33, 0x15, 0x23, 0x37, 0x35, 0x33, 0x15, 0x21, 0x15, 0x23, 0x35, + 0x17, 0x33, 0x15, 0x33, 0x15, 0x23, 0x11, 0x23, 0x13, 0x33, 0x35, 0x33, + 0x11, 0x23, 0x35, 0x23, 0x01, 0x3c, 0xd8, 0x01, 0x90, 0xfe, 0x70, 0x01, + 0x90, 0xc8, 0xc8, 0xc8, 0x64, 0xfd, 0x44, 0x64, 0xc8, 0x64, 0x64, 0x64, + 0x64, 0xc8, 0x64, 0x64, 0x64, 0x64, 0xc8, 0x02, 0x06, 0x01, 0xfc, 0x64, + 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0xfe, 0xd4, 0x01, + 0x2c, 0x64, 0xfe, 0x70, 0xc8, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x64, + 0x00, 0x00, 0x02, 0xbc, 0x02, 0xbc, 0x00, 0x01, 0x00, 0x03, 0x00, 0x07, + 0x00, 0x0b, 0x00, 0x0f, 0x00, 0x13, 0x00, 0x17, 0x00, 0x1b, 0x00, 0x00, + 0x25, 0x15, 0x31, 0x15, 0x03, 0x33, 0x15, 0x23, 0x3b, 0x01, 0x15, 0x23, + 0x33, 0x21, 0x15, 0x29, 0x01, 0x33, 0x11, 0x23, 0x31, 0x15, 0x21, 0x35, + 0x31, 0x23, 0x11, 0x33, 0x01, 0x3c, 0xd8, 0x64, 0x64, 0x64, 0x64, 0x64, + 0x64, 0x01, 0x2c, 0xfe, 0xd4, 0x01, 0x2c, 0x64, 0x64, 0xfe, 0xd4, 0x64, + 0x64, 0xc8, 0x02, 0x06, 0x01, 0xfc, 0x64, 0x64, 0x64, 0xfe, 0xd4, 0x64, + 0x64, 0x01, 0x2c, 0x00, 0x00, 0x08, 0x00, 0x64, 0x00, 0x00, 0x02, 0xbc, + 0x02, 0xbc, 0x00, 0x01, 0x00, 0x03, 0x00, 0x07, 0x00, 0x0b, 0x00, 0x0f, + 0x00, 0x13, 0x00, 0x17, 0x00, 0x1b, 0x00, 0x00, 0x25, 0x15, 0x31, 0x15, + 0x01, 0x33, 0x15, 0x23, 0x31, 0x15, 0x23, 0x35, 0x1d, 0x01, 0x21, 0x35, + 0x05, 0x33, 0x11, 0x23, 0x31, 0x15, 0x21, 0x35, 0x31, 0x23, 0x11, 0x33, + 0x01, 0x3c, 0x01, 0x1c, 0x64, 0x64, 0x64, 0xfe, 0xd4, 0x01, 0x2c, 0x64, + 0x64, 0xfe, 0xd4, 0x64, 0x64, 0xc8, 0x02, 0x06, 0x01, 0xfc, 0x64, 0x64, + 0x64, 0x64, 0x64, 0x64, 0x64, 0xfe, 0xd4, 0x64, 0x64, 0x01, 0x2c, 0x00, + 0x00, 0x09, 0x00, 0x00, 0x00, 0x00, 0x02, 0xbc, 0x02, 0xbc, 0x00, 0x01, + 0x00, 0x03, 0x00, 0x07, 0x00, 0x0b, 0x00, 0x0f, 0x00, 0x13, 0x00, 0x17, + 0x00, 0x1b, 0x00, 0x1f, 0x00, 0x00, 0x25, 0x15, 0x31, 0x15, 0x03, 0x21, + 0x15, 0x29, 0x01, 0x33, 0x15, 0x23, 0x25, 0x15, 0x23, 0x35, 0x17, 0x21, + 0x15, 0x29, 0x01, 0x33, 0x11, 0x23, 0x31, 0x15, 0x21, 0x35, 0x31, 0x23, + 0x11, 0x33, 0x01, 0x3c, 0xd8, 0x01, 0xf4, 0xfe, 0x0c, 0x01, 0xf4, 0x64, + 0x64, 0xfe, 0x0c, 0x64, 0xc8, 0x01, 0x2c, 0xfe, 0xd4, 0x01, 0x2c, 0x64, + 0x64, 0xfe, 0xd4, 0x64, 0x64, 0xc8, 0x02, 0x06, 0x01, 0xfc, 0x64, 0x64, + 0x64, 0x64, 0x64, 0x64, 0x64, 0xfe, 0xd4, 0x64, 0x64, 0x01, 0x2c, 0x00, + 0x00, 0x0a, 0x00, 0x00, 0x00, 0x00, 0x03, 0x20, 0x02, 0xbc, 0x00, 0x01, + 0x00, 0x03, 0x00, 0x07, 0x00, 0x0b, 0x00, 0x0f, 0x00, 0x13, 0x00, 0x17, + 0x00, 0x1b, 0x00, 0x1f, 0x00, 0x23, 0x00, 0x00, 0x25, 0x15, 0x31, 0x15, + 0x03, 0x21, 0x15, 0x29, 0x01, 0x33, 0x15, 0x23, 0x37, 0x35, 0x33, 0x15, + 0x05, 0x15, 0x21, 0x35, 0x05, 0x33, 0x11, 0x23, 0x31, 0x15, 0x21, 0x35, + 0x31, 0x23, 0x11, 0x33, 0x27, 0x15, 0x23, 0x35, 0x01, 0x3c, 0xd8, 0x01, + 0x90, 0xfe, 0x70, 0x01, 0x90, 0xc8, 0xc8, 0xc8, 0x64, 0xfe, 0xd4, 0xfe, + 0xd4, 0x01, 0x2c, 0x64, 0x64, 0xfe, 0xd4, 0x64, 0x64, 0x64, 0x64, 0xc8, + 0x02, 0x06, 0x01, 0xfc, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, + 0x64, 0xfe, 0xd4, 0x64, 0x64, 0x01, 0x2c, 0xc8, 0x64, 0x64, 0x00, 0x00, + 0x00, 0x08, 0x00, 0x64, 0x00, 0x00, 0x02, 0x58, 0x02, 0xbc, 0x00, 0x01, + 0x00, 0x03, 0x00, 0x07, 0x00, 0x0b, 0x00, 0x0f, 0x00, 0x13, 0x00, 0x17, + 0x00, 0x1b, 0x00, 0x00, 0x25, 0x15, 0x31, 0x15, 0x03, 0x33, 0x15, 0x23, + 0x37, 0x33, 0x15, 0x23, 0x07, 0x21, 0x15, 0x29, 0x01, 0x33, 0x11, 0x23, + 0x31, 0x15, 0x21, 0x35, 0x31, 0x23, 0x11, 0x33, 0x01, 0x3c, 0x74, 0x64, + 0x64, 0xc8, 0x64, 0x64, 0xc8, 0x01, 0x2c, 0xfe, 0xd4, 0x01, 0x2c, 0x64, + 0x64, 0xfe, 0xd4, 0x64, 0x64, 0xc8, 0x02, 0x06, 0x01, 0xfc, 0x64, 0x64, + 0x64, 0x64, 0x64, 0xfe, 0xd4, 0x64, 0x64, 0x01, 0x2c, 0x00, 0x00, 0x00, + 0x00, 0x05, 0x00, 0x64, 0x00, 0x64, 0x02, 0x58, 0x02, 0x58, 0x00, 0x01, + 0x00, 0x03, 0x00, 0x07, 0x00, 0x0b, 0x00, 0x0f, 0x00, 0x00, 0x25, 0x15, + 0x31, 0x15, 0x03, 0x33, 0x15, 0x23, 0x07, 0x21, 0x15, 0x21, 0x17, 0x33, + 0x15, 0x23, 0x01, 0x3c, 0x10, 0x64, 0x64, 0xc8, 0x01, 0xf4, 0xfe, 0x0c, + 0xc8, 0x64, 0x64, 0xc8, 0x02, 0x06, 0x01, 0x98, 0x64, 0x64, 0x64, 0x64, + 0x64, 0x00, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x64, 0x00, 0x00, 0x02, 0xbc, + 0x02, 0x58, 0x00, 0x01, 0x00, 0x03, 0x00, 0x07, 0x00, 0x0b, 0x00, 0x0f, + 0x00, 0x13, 0x00, 0x17, 0x00, 0x1b, 0x00, 0x1f, 0x00, 0x23, 0x00, 0x27, + 0x00, 0x2b, 0x00, 0x00, 0x25, 0x15, 0x31, 0x15, 0x03, 0x21, 0x15, 0x29, + 0x01, 0x33, 0x15, 0x23, 0x37, 0x35, 0x33, 0x15, 0x07, 0x33, 0x11, 0x23, + 0x31, 0x15, 0x21, 0x35, 0x31, 0x23, 0x35, 0x33, 0x07, 0x15, 0x23, 0x35, + 0x37, 0x23, 0x11, 0x33, 0x13, 0x35, 0x33, 0x15, 0x3d, 0x01, 0x33, 0x15, + 0x01, 0x3c, 0x74, 0x01, 0x2c, 0xfe, 0xd4, 0x01, 0x2c, 0x64, 0x64, 0x64, + 0x64, 0x64, 0x64, 0x64, 0xfe, 0xd4, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, + 0x64, 0x64, 0x64, 0x64, 0xc8, 0x02, 0x06, 0x01, 0x98, 0x64, 0x64, 0x64, + 0x64, 0x64, 0x64, 0xfe, 0xd4, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, + 0x01, 0x2c, 0xfe, 0xd4, 0x64, 0x64, 0x64, 0x64, 0x64, 0x00, 0x00, 0x00, + 0x00, 0x06, 0x00, 0x64, 0x00, 0x00, 0x02, 0xbc, 0x02, 0xbc, 0x00, 0x01, + 0x00, 0x03, 0x00, 0x07, 0x00, 0x0b, 0x00, 0x0f, 0x00, 0x13, 0x00, 0x00, + 0x25, 0x15, 0x31, 0x15, 0x03, 0x33, 0x15, 0x23, 0x3b, 0x01, 0x11, 0x23, + 0x33, 0x21, 0x15, 0x21, 0x25, 0x11, 0x33, 0x11, 0x01, 0x3c, 0xd8, 0x64, + 0x64, 0x64, 0x64, 0x64, 0x64, 0x01, 0x2c, 0xfe, 0xd4, 0x01, 0x2c, 0x64, + 0xc8, 0x02, 0x06, 0x01, 0xfc, 0x64, 0xfe, 0x0c, 0x64, 0x64, 0x01, 0x90, + 0xfe, 0x70, 0x00, 0x00, 0x00, 0x06, 0x00, 0x64, 0x00, 0x00, 0x02, 0xbc, + 0x02, 0xbc, 0x00, 0x01, 0x00, 0x03, 0x00, 0x07, 0x00, 0x0b, 0x00, 0x0f, + 0x00, 0x13, 0x00, 0x00, 0x25, 0x15, 0x31, 0x15, 0x01, 0x33, 0x15, 0x23, + 0x31, 0x11, 0x23, 0x19, 0x01, 0x15, 0x21, 0x35, 0x31, 0x23, 0x11, 0x33, + 0x01, 0x3c, 0x01, 0x1c, 0x64, 0x64, 0x64, 0xfe, 0xd4, 0x64, 0x64, 0xc8, + 0x02, 0x06, 0x01, 0xfc, 0x64, 0xfe, 0x0c, 0x01, 0xf4, 0xfe, 0x0c, 0x64, + 0x64, 0x01, 0x90, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x02, 0xbc, + 0x02, 0xbc, 0x00, 0x01, 0x00, 0x03, 0x00, 0x07, 0x00, 0x0b, 0x00, 0x0f, + 0x00, 0x13, 0x00, 0x17, 0x00, 0x1b, 0x00, 0x00, 0x25, 0x15, 0x31, 0x15, + 0x03, 0x21, 0x15, 0x29, 0x01, 0x33, 0x15, 0x23, 0x25, 0x15, 0x23, 0x35, + 0x17, 0x33, 0x11, 0x23, 0x33, 0x21, 0x15, 0x21, 0x25, 0x11, 0x33, 0x11, + 0x01, 0x3c, 0xd8, 0x01, 0xf4, 0xfe, 0x0c, 0x01, 0xf4, 0x64, 0x64, 0xfe, + 0x0c, 0x64, 0x64, 0x64, 0x64, 0x64, 0x01, 0x2c, 0xfe, 0xd4, 0x01, 0x2c, + 0x64, 0xc8, 0x02, 0x06, 0x01, 0xfc, 0x64, 0x64, 0x64, 0x64, 0x64, 0xc8, + 0xfe, 0xd4, 0x64, 0x64, 0x01, 0x2c, 0xfe, 0xd4, 0x00, 0x07, 0x00, 0x64, + 0x00, 0x00, 0x02, 0x58, 0x02, 0xbc, 0x00, 0x01, 0x00, 0x03, 0x00, 0x07, + 0x00, 0x0b, 0x00, 0x0f, 0x00, 0x13, 0x00, 0x17, 0x00, 0x00, 0x25, 0x15, + 0x31, 0x15, 0x03, 0x33, 0x15, 0x23, 0x37, 0x33, 0x15, 0x23, 0x05, 0x33, + 0x11, 0x23, 0x33, 0x21, 0x15, 0x21, 0x25, 0x11, 0x33, 0x11, 0x01, 0x3c, + 0x74, 0x64, 0x64, 0xc8, 0x64, 0x64, 0xfe, 0xd4, 0x64, 0x64, 0x64, 0x01, + 0x2c, 0xfe, 0xd4, 0x01, 0x2c, 0x64, 0xc8, 0x02, 0x06, 0x01, 0xfc, 0x64, + 0x64, 0x64, 0x64, 0xfe, 0x70, 0x64, 0x64, 0x01, 0x90, 0xfe, 0x70, 0x00, + 0x00, 0x09, 0x00, 0x64, 0x00, 0x00, 0x02, 0x58, 0x02, 0xbc, 0x00, 0x01, + 0x00, 0x03, 0x00, 0x07, 0x00, 0x0b, 0x00, 0x0f, 0x00, 0x13, 0x00, 0x17, + 0x00, 0x1b, 0x00, 0x1f, 0x00, 0x00, 0x25, 0x15, 0x31, 0x15, 0x13, 0x33, + 0x15, 0x23, 0x31, 0x15, 0x23, 0x35, 0x07, 0x33, 0x15, 0x23, 0x3b, 0x01, + 0x15, 0x23, 0x3b, 0x01, 0x15, 0x23, 0x37, 0x35, 0x33, 0x15, 0x3d, 0x01, + 0x33, 0x15, 0x01, 0x3c, 0x54, 0x64, 0x64, 0x64, 0xc8, 0x64, 0x64, 0x64, + 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0xc8, 0x02, 0x06, 0x01, + 0xfc, 0x64, 0x64, 0x64, 0x64, 0xc8, 0x64, 0xc8, 0xc8, 0x64, 0x64, 0x64, + 0xc8, 0xc8, 0x00, 0x00, 0x00, 0x04, 0x00, 0x64, 0x00, 0x00, 0x01, 0xf4, + 0x02, 0x58, 0x00, 0x01, 0x00, 0x03, 0x00, 0x0f, 0x00, 0x13, 0x00, 0x00, + 0x25, 0x15, 0x31, 0x15, 0x03, 0x33, 0x15, 0x33, 0x15, 0x23, 0x15, 0x33, + 0x15, 0x23, 0x15, 0x23, 0x01, 0x33, 0x15, 0x23, 0x01, 0x3c, 0xd8, 0x64, + 0xc8, 0xc8, 0xc8, 0xc8, 0x64, 0x01, 0x2c, 0x64, 0x64, 0xc8, 0x02, 0x06, + 0x01, 0x98, 0x64, 0x64, 0xc8, 0x64, 0x64, 0x01, 0x90, 0xc8, 0x00, 0x00, + 0x00, 0x09, 0x00, 0x64, 0x00, 0x00, 0x02, 0x58, 0x02, 0xbc, 0x00, 0x01, + 0x00, 0x03, 0x00, 0x07, 0x00, 0x0b, 0x00, 0x0f, 0x00, 0x13, 0x00, 0x17, + 0x00, 0x1b, 0x00, 0x1f, 0x00, 0x00, 0x25, 0x15, 0x31, 0x15, 0x03, 0x33, + 0x15, 0x23, 0x37, 0x33, 0x15, 0x23, 0x05, 0x33, 0x15, 0x23, 0x3b, 0x01, + 0x15, 0x23, 0x3b, 0x01, 0x15, 0x23, 0x37, 0x35, 0x33, 0x15, 0x3d, 0x01, + 0x33, 0x15, 0x01, 0x3c, 0x74, 0x64, 0x64, 0xc8, 0x64, 0x64, 0xfe, 0xd4, + 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0xc8, + 0x02, 0x06, 0x01, 0xfc, 0x64, 0x64, 0x64, 0x64, 0xc8, 0x64, 0xc8, 0xc8, + 0x64, 0x64, 0x64, 0xc8, 0xc8, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, + 0x00, 0x00, 0x02, 0xbc, 0x02, 0xbc, 0x00, 0x03, 0x00, 0x07, 0x00, 0x0b, + 0x00, 0x0f, 0x00, 0x15, 0x00, 0x00, 0x13, 0x33, 0x15, 0x23, 0x31, 0x15, + 0x23, 0x35, 0x21, 0x33, 0x15, 0x23, 0x3b, 0x01, 0x11, 0x23, 0x03, 0x15, + 0x23, 0x11, 0x23, 0x11, 0x64, 0x64, 0x64, 0x64, 0x01, 0x90, 0xc8, 0xc8, + 0xc8, 0x64, 0x64, 0xc8, 0x64, 0x64, 0x02, 0xbc, 0x64, 0x64, 0x64, 0x64, + 0xfe, 0x0c, 0x01, 0xf4, 0x64, 0xfe, 0x70, 0x01, 0xf4, 0x00, 0x00, 0x00, + 0x00, 0x02, 0x00, 0xc8, 0x00, 0x00, 0x02, 0x58, 0x02, 0xbc, 0x00, 0x05, + 0x00, 0x09, 0x00, 0x00, 0x13, 0x33, 0x11, 0x21, 0x15, 0x21, 0x01, 0x33, + 0x15, 0x23, 0xc8, 0x64, 0x01, 0x2c, 0xfe, 0x70, 0x01, 0x2c, 0x64, 0x64, + 0x02, 0xbc, 0xfd, 0xa8, 0x64, 0x01, 0xf4, 0x64, 0x00, 0x03, 0x00, 0xc8, + 0x00, 0x00, 0x02, 0x58, 0x02, 0x58, 0x00, 0x03, 0x00, 0x07, 0x00, 0x0b, + 0x00, 0x00, 0x13, 0x33, 0x11, 0x23, 0x3b, 0x01, 0x15, 0x23, 0x13, 0x33, + 0x15, 0x23, 0xc8, 0x64, 0x64, 0x64, 0xc8, 0xc8, 0xc8, 0x64, 0x64, 0x02, + 0x58, 0xfe, 0x0c, 0x64, 0x01, 0xf4, 0x64, 0x00, 0x00, 0x03, 0x00, 0x00, + 0x00, 0x00, 0x03, 0x20, 0x02, 0xbc, 0x00, 0x0b, 0x00, 0x13, 0x00, 0x17, + 0x00, 0x00, 0x11, 0x21, 0x15, 0x23, 0x11, 0x33, 0x15, 0x21, 0x35, 0x33, + 0x11, 0x23, 0x25, 0x21, 0x15, 0x23, 0x11, 0x23, 0x11, 0x23, 0x13, 0x15, + 0x23, 0x35, 0x01, 0x2c, 0x64, 0x64, 0xfe, 0xd4, 0x64, 0x64, 0x01, 0x90, + 0x01, 0x90, 0x64, 0x64, 0xc8, 0xc8, 0xc8, 0x02, 0xbc, 0x64, 0xfe, 0x0c, + 0x64, 0x64, 0x01, 0xf4, 0x64, 0x64, 0xfe, 0x0c, 0x01, 0xf4, 0xfe, 0x0c, + 0x64, 0x64, 0x00, 0x00, 0x00, 0x04, 0x00, 0x64, 0xff, 0x9c, 0x02, 0xbc, + 0x02, 0xbc, 0x00, 0x03, 0x00, 0x0b, 0x00, 0x0f, 0x00, 0x19, 0x00, 0x00, + 0x13, 0x33, 0x15, 0x23, 0x33, 0x21, 0x15, 0x23, 0x11, 0x23, 0x11, 0x23, + 0x13, 0x15, 0x23, 0x35, 0x31, 0x21, 0x35, 0x33, 0x11, 0x23, 0x35, 0x33, + 0x11, 0x33, 0xc8, 0x64, 0x64, 0xc8, 0x01, 0x2c, 0x64, 0x64, 0x64, 0x64, + 0x64, 0xfe, 0xd4, 0x64, 0x64, 0xc8, 0x64, 0x02, 0xbc, 0x64, 0x64, 0xfe, + 0x0c, 0x01, 0xf4, 0xfe, 0x0c, 0x64, 0x64, 0x64, 0x01, 0x2c, 0x64, 0xfe, + 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 0x00, 0xf6, 0x00, 0x01, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x25, 0x00, 0x4c, 0x00, 0x01, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x06, 0x00, 0x80, 0x00, 0x01, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x07, 0x00, 0x97, 0x00, 0x01, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x22, 0x00, 0xe5, 0x00, 0x01, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x06, 0x01, 0x16, 0x00, 0x01, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x0f, 0x01, 0x3d, 0x00, 0x01, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x00, 0x06, 0x01, 0x5b, 0x00, 0x01, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x09, 0x00, 0x0d, 0x01, 0x7e, 0x00, 0x01, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x0d, 0x11, 0x39, 0x24, 0x00, 0x00, 0x01, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x0e, 0x00, 0x1a, 0x35, 0x70, 0x00, 0x03, + 0x00, 0x01, 0x04, 0x09, 0x00, 0x00, 0x00, 0x4a, 0x00, 0x00, 0x00, 0x03, + 0x00, 0x01, 0x04, 0x09, 0x00, 0x01, 0x00, 0x0c, 0x00, 0x72, 0x00, 0x03, + 0x00, 0x01, 0x04, 0x09, 0x00, 0x02, 0x00, 0x0e, 0x00, 0x87, 0x00, 0x03, + 0x00, 0x01, 0x04, 0x09, 0x00, 0x03, 0x00, 0x44, 0x00, 0x9f, 0x00, 0x03, + 0x00, 0x01, 0x04, 0x09, 0x00, 0x04, 0x00, 0x0c, 0x01, 0x08, 0x00, 0x03, + 0x00, 0x01, 0x04, 0x09, 0x00, 0x05, 0x00, 0x1e, 0x01, 0x1d, 0x00, 0x03, + 0x00, 0x01, 0x04, 0x09, 0x00, 0x06, 0x00, 0x0c, 0x01, 0x4d, 0x00, 0x03, + 0x00, 0x01, 0x04, 0x09, 0x00, 0x09, 0x00, 0x1a, 0x01, 0x62, 0x00, 0x03, + 0x00, 0x01, 0x04, 0x09, 0x00, 0x0d, 0x22, 0x72, 0x01, 0x8c, 0x00, 0x03, + 0x00, 0x01, 0x04, 0x09, 0x00, 0x0e, 0x00, 0x34, 0x35, 0x3a, 0x00, 0x4f, + 0x00, 0x46, 0x00, 0x4c, 0x00, 0x20, 0x00, 0x43, 0x00, 0x6f, 0x00, 0x70, + 0x00, 0x79, 0x00, 0x72, 0x00, 0x69, 0x00, 0x67, 0x00, 0x68, 0x00, 0x74, + 0x00, 0x20, 0x00, 0x28, 0x00, 0x63, 0x00, 0x29, 0x00, 0x20, 0x00, 0x32, + 0x00, 0x30, 0x00, 0x32, 0x00, 0x30, 0x00, 0x2c, 0x00, 0x20, 0x00, 0x52, + 0x00, 0x6f, 0x00, 0x62, 0x00, 0x65, 0x00, 0x72, 0x00, 0x74, 0x00, 0x6f, + 0x00, 0x20, 0x00, 0x4d, 0x00, 0x6f, 0x00, 0x63, 0x00, 0x63, 0x00, 0x69, + 0x00, 0x00, 0x4f, 0x46, 0x4c, 0x20, 0x43, 0x6f, 0x70, 0x79, 0x72, 0x69, + 0x67, 0x68, 0x74, 0x20, 0x28, 0x63, 0x29, 0x20, 0x32, 0x30, 0x32, 0x30, + 0x2c, 0x20, 0x52, 0x6f, 0x62, 0x65, 0x72, 0x74, 0x6f, 0x20, 0x4d, 0x6f, + 0x63, 0x63, 0x69, 0x00, 0x00, 0x44, 0x00, 0x6f, 0x00, 0x67, 0x00, 0x69, + 0x00, 0x63, 0x00, 0x61, 0x00, 0x00, 0x44, 0x6f, 0x67, 0x69, 0x63, 0x61, + 0x00, 0x00, 0x52, 0x00, 0x65, 0x00, 0x67, 0x00, 0x75, 0x00, 0x6c, 0x00, + 0x61, 0x00, 0x72, 0x00, 0x00, 0x52, 0x65, 0x67, 0x75, 0x6c, 0x61, 0x72, + 0x00, 0x00, 0x46, 0x00, 0x6f, 0x00, 0x6e, 0x00, 0x74, 0x00, 0x46, 0x00, + 0x6f, 0x00, 0x72, 0x00, 0x67, 0x00, 0x65, 0x00, 0x20, 0x00, 0x32, 0x00, + 0x2e, 0x00, 0x30, 0x00, 0x20, 0x00, 0x3a, 0x00, 0x20, 0x00, 0x44, 0x00, + 0x6f, 0x00, 0x67, 0x00, 0x69, 0x00, 0x63, 0x00, 0x61, 0x00, 0x20, 0x00, + 0x3a, 0x00, 0x20, 0x00, 0x31, 0x00, 0x33, 0x00, 0x2d, 0x00, 0x35, 0x00, + 0x2d, 0x00, 0x32, 0x00, 0x30, 0x00, 0x32, 0x00, 0x30, 0x00, 0x00, 0x46, + 0x6f, 0x6e, 0x74, 0x46, 0x6f, 0x72, 0x67, 0x65, 0x20, 0x32, 0x2e, 0x30, + 0x20, 0x3a, 0x20, 0x44, 0x6f, 0x67, 0x69, 0x63, 0x61, 0x20, 0x3a, 0x20, + 0x31, 0x33, 0x2d, 0x35, 0x2d, 0x32, 0x30, 0x32, 0x30, 0x00, 0x00, 0x44, + 0x00, 0x6f, 0x00, 0x67, 0x00, 0x69, 0x00, 0x63, 0x00, 0x61, 0x00, 0x00, + 0x44, 0x6f, 0x67, 0x69, 0x63, 0x61, 0x00, 0x00, 0x56, 0x00, 0x65, 0x00, + 0x72, 0x00, 0x73, 0x00, 0x69, 0x00, 0x6f, 0x00, 0x6e, 0x00, 0x20, 0x00, + 0x30, 0x00, 0x30, 0x00, 0x31, 0x00, 0x2e, 0x00, 0x30, 0x00, 0x31, 0x00, + 0x32, 0x00, 0x00, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x20, 0x30, + 0x30, 0x31, 0x2e, 0x30, 0x31, 0x32, 0x00, 0x00, 0x44, 0x00, 0x6f, 0x00, + 0x67, 0x00, 0x69, 0x00, 0x63, 0x00, 0x61, 0x00, 0x00, 0x44, 0x6f, 0x67, + 0x69, 0x63, 0x61, 0x00, 0x00, 0x52, 0x00, 0x6f, 0x00, 0x62, 0x00, 0x65, + 0x00, 0x72, 0x00, 0x74, 0x00, 0x6f, 0x00, 0x20, 0x00, 0x4d, 0x00, 0x6f, + 0x00, 0x63, 0x00, 0x63, 0x00, 0x69, 0x00, 0x00, 0x52, 0x6f, 0x62, 0x65, + 0x72, 0x74, 0x6f, 0x20, 0x4d, 0x6f, 0x63, 0x63, 0x69, 0x00, 0x00, 0x43, + 0x00, 0x6f, 0x00, 0x70, 0x00, 0x79, 0x00, 0x72, 0x00, 0x69, 0x00, 0x67, + 0x00, 0x68, 0x00, 0x74, 0x00, 0x20, 0x00, 0x28, 0x00, 0x63, 0x00, 0x29, + 0x00, 0x20, 0x00, 0x32, 0x00, 0x30, 0x00, 0x32, 0x00, 0x30, 0x00, 0x2c, + 0x00, 0x20, 0x00, 0x52, 0x00, 0x6f, 0x00, 0x62, 0x00, 0x65, 0x00, 0x72, + 0x00, 0x74, 0x00, 0x6f, 0x00, 0x20, 0x00, 0x28, 0x00, 0x3c, 0x00, 0x70, + 0x00, 0x61, 0x00, 0x74, 0x00, 0x72, 0x00, 0x65, 0x00, 0x6f, 0x00, 0x6e, + 0x00, 0x2e, 0x00, 0x63, 0x00, 0x6f, 0x00, 0x6d, 0x00, 0x2f, 0x00, 0x72, + 0x00, 0x6d, 0x00, 0x6f, 0x00, 0x63, 0x00, 0x63, 0x00, 0x69, 0x00, 0x20, + 0x00, 0x7c, 0x00, 0x20, 0x00, 0x64, 0x00, 0x61, 0x00, 0x2e, 0x00, 0x69, + 0x00, 0x6f, 0x00, 0x73, 0x00, 0x6f, 0x00, 0x6e, 0x00, 0x6f, 0x00, 0x72, + 0x00, 0x40, 0x00, 0x67, 0x00, 0x6d, 0x00, 0x61, 0x00, 0x69, 0x00, 0x6c, + 0x00, 0x2e, 0x00, 0x63, 0x00, 0x6f, 0x00, 0x6d, 0x00, 0x3e, 0x00, 0x29, + 0x00, 0x2c, 0x00, 0x0a, 0x00, 0x77, 0x00, 0x69, 0x00, 0x74, 0x00, 0x68, + 0x00, 0x20, 0x00, 0x52, 0x00, 0x65, 0x00, 0x73, 0x00, 0x65, 0x00, 0x72, + 0x00, 0x76, 0x00, 0x65, 0x00, 0x64, 0x00, 0x20, 0x00, 0x46, 0x00, 0x6f, + 0x00, 0x6e, 0x00, 0x74, 0x00, 0x20, 0x00, 0x4e, 0x00, 0x61, 0x00, 0x6d, + 0x00, 0x65, 0x00, 0x20, 0x00, 0x44, 0x00, 0x6f, 0x00, 0x67, 0x00, 0x69, + 0x00, 0x63, 0x00, 0x61, 0x00, 0x2e, 0x00, 0x0a, 0x00, 0x0a, 0x00, 0x54, + 0x00, 0x68, 0x00, 0x69, 0x00, 0x73, 0x00, 0x20, 0x00, 0x46, 0x00, 0x6f, + 0x00, 0x6e, 0x00, 0x74, 0x00, 0x20, 0x00, 0x53, 0x00, 0x6f, 0x00, 0x66, + 0x00, 0x74, 0x00, 0x77, 0x00, 0x61, 0x00, 0x72, 0x00, 0x65, 0x00, 0x20, + 0x00, 0x69, 0x00, 0x73, 0x00, 0x20, 0x00, 0x6c, 0x00, 0x69, 0x00, 0x63, + 0x00, 0x65, 0x00, 0x6e, 0x00, 0x73, 0x00, 0x65, 0x00, 0x64, 0x00, 0x20, + 0x00, 0x75, 0x00, 0x6e, 0x00, 0x64, 0x00, 0x65, 0x00, 0x72, 0x00, 0x20, + 0x00, 0x74, 0x00, 0x68, 0x00, 0x65, 0x00, 0x20, 0x00, 0x53, 0x00, 0x49, + 0x00, 0x4c, 0x00, 0x20, 0x00, 0x4f, 0x00, 0x70, 0x00, 0x65, 0x00, 0x6e, + 0x00, 0x20, 0x00, 0x46, 0x00, 0x6f, 0x00, 0x6e, 0x00, 0x74, 0x00, 0x20, + 0x00, 0x4c, 0x00, 0x69, 0x00, 0x63, 0x00, 0x65, 0x00, 0x6e, 0x00, 0x73, + 0x00, 0x65, 0x00, 0x2c, 0x00, 0x20, 0x00, 0x56, 0x00, 0x65, 0x00, 0x72, + 0x00, 0x73, 0x00, 0x69, 0x00, 0x6f, 0x00, 0x6e, 0x00, 0x20, 0x00, 0x31, + 0x00, 0x2e, 0x00, 0x31, 0x00, 0x2e, 0x00, 0x0a, 0x00, 0x54, 0x00, 0x68, + 0x00, 0x69, 0x00, 0x73, 0x00, 0x20, 0x00, 0x6c, 0x00, 0x69, 0x00, 0x63, + 0x00, 0x65, 0x00, 0x6e, 0x00, 0x73, 0x00, 0x65, 0x00, 0x20, 0x00, 0x69, + 0x00, 0x73, 0x00, 0x20, 0x00, 0x63, 0x00, 0x6f, 0x00, 0x70, 0x00, 0x69, + 0x00, 0x65, 0x00, 0x64, 0x00, 0x20, 0x00, 0x62, 0x00, 0x65, 0x00, 0x6c, + 0x00, 0x6f, 0x00, 0x77, 0x00, 0x2c, 0x00, 0x20, 0x00, 0x61, 0x00, 0x6e, + 0x00, 0x64, 0x00, 0x20, 0x00, 0x69, 0x00, 0x73, 0x00, 0x20, 0x00, 0x61, + 0x00, 0x6c, 0x00, 0x73, 0x00, 0x6f, 0x00, 0x20, 0x00, 0x61, 0x00, 0x76, + 0x00, 0x61, 0x00, 0x69, 0x00, 0x6c, 0x00, 0x61, 0x00, 0x62, 0x00, 0x6c, + 0x00, 0x65, 0x00, 0x20, 0x00, 0x77, 0x00, 0x69, 0x00, 0x74, 0x00, 0x68, + 0x00, 0x20, 0x00, 0x61, 0x00, 0x20, 0x00, 0x46, 0x00, 0x41, 0x00, 0x51, + 0x00, 0x20, 0x00, 0x61, 0x00, 0x74, 0x00, 0x3a, 0x00, 0x0a, 0x00, 0x68, + 0x00, 0x74, 0x00, 0x74, 0x00, 0x70, 0x00, 0x3a, 0x00, 0x2f, 0x00, 0x2f, + 0x00, 0x73, 0x00, 0x63, 0x00, 0x72, 0x00, 0x69, 0x00, 0x70, 0x00, 0x74, + 0x00, 0x73, 0x00, 0x2e, 0x00, 0x73, 0x00, 0x69, 0x00, 0x6c, 0x00, 0x2e, + 0x00, 0x6f, 0x00, 0x72, 0x00, 0x67, 0x00, 0x2f, 0x00, 0x4f, 0x00, 0x46, + 0x00, 0x4c, 0x00, 0x0a, 0x00, 0x0a, 0x00, 0x0a, 0x00, 0x2d, 0x00, 0x2d, + 0x00, 0x2d, 0x00, 0x2d, 0x00, 0x2d, 0x00, 0x2d, 0x00, 0x2d, 0x00, 0x2d, + 0x00, 0x2d, 0x00, 0x2d, 0x00, 0x2d, 0x00, 0x2d, 0x00, 0x2d, 0x00, 0x2d, + 0x00, 0x2d, 0x00, 0x2d, 0x00, 0x2d, 0x00, 0x2d, 0x00, 0x2d, 0x00, 0x2d, + 0x00, 0x2d, 0x00, 0x2d, 0x00, 0x2d, 0x00, 0x2d, 0x00, 0x2d, 0x00, 0x2d, + 0x00, 0x2d, 0x00, 0x2d, 0x00, 0x2d, 0x00, 0x2d, 0x00, 0x2d, 0x00, 0x2d, + 0x00, 0x2d, 0x00, 0x2d, 0x00, 0x2d, 0x00, 0x2d, 0x00, 0x2d, 0x00, 0x2d, + 0x00, 0x2d, 0x00, 0x2d, 0x00, 0x2d, 0x00, 0x2d, 0x00, 0x2d, 0x00, 0x2d, + 0x00, 0x2d, 0x00, 0x2d, 0x00, 0x2d, 0x00, 0x2d, 0x00, 0x2d, 0x00, 0x2d, + 0x00, 0x2d, 0x00, 0x2d, 0x00, 0x2d, 0x00, 0x2d, 0x00, 0x2d, 0x00, 0x2d, + 0x00, 0x2d, 0x00, 0x2d, 0x00, 0x2d, 0x00, 0x0a, 0x00, 0x53, 0x00, 0x49, + 0x00, 0x4c, 0x00, 0x20, 0x00, 0x4f, 0x00, 0x50, 0x00, 0x45, 0x00, 0x4e, + 0x00, 0x20, 0x00, 0x46, 0x00, 0x4f, 0x00, 0x4e, 0x00, 0x54, 0x00, 0x20, + 0x00, 0x4c, 0x00, 0x49, 0x00, 0x43, 0x00, 0x45, 0x00, 0x4e, 0x00, 0x53, + 0x00, 0x45, 0x00, 0x20, 0x00, 0x56, 0x00, 0x65, 0x00, 0x72, 0x00, 0x73, + 0x00, 0x69, 0x00, 0x6f, 0x00, 0x6e, 0x00, 0x20, 0x00, 0x31, 0x00, 0x2e, + 0x00, 0x31, 0x00, 0x20, 0x00, 0x2d, 0x00, 0x20, 0x00, 0x32, 0x00, 0x36, + 0x00, 0x20, 0x00, 0x46, 0x00, 0x65, 0x00, 0x62, 0x00, 0x72, 0x00, 0x75, + 0x00, 0x61, 0x00, 0x72, 0x00, 0x79, 0x00, 0x20, 0x00, 0x32, 0x00, 0x30, + 0x00, 0x30, 0x00, 0x37, 0x00, 0x0a, 0x00, 0x2d, 0x00, 0x2d, 0x00, 0x2d, + 0x00, 0x2d, 0x00, 0x2d, 0x00, 0x2d, 0x00, 0x2d, 0x00, 0x2d, 0x00, 0x2d, + 0x00, 0x2d, 0x00, 0x2d, 0x00, 0x2d, 0x00, 0x2d, 0x00, 0x2d, 0x00, 0x2d, + 0x00, 0x2d, 0x00, 0x2d, 0x00, 0x2d, 0x00, 0x2d, 0x00, 0x2d, 0x00, 0x2d, + 0x00, 0x2d, 0x00, 0x2d, 0x00, 0x2d, 0x00, 0x2d, 0x00, 0x2d, 0x00, 0x2d, + 0x00, 0x2d, 0x00, 0x2d, 0x00, 0x2d, 0x00, 0x2d, 0x00, 0x2d, 0x00, 0x2d, + 0x00, 0x2d, 0x00, 0x2d, 0x00, 0x2d, 0x00, 0x2d, 0x00, 0x2d, 0x00, 0x2d, + 0x00, 0x2d, 0x00, 0x2d, 0x00, 0x2d, 0x00, 0x2d, 0x00, 0x2d, 0x00, 0x2d, + 0x00, 0x2d, 0x00, 0x2d, 0x00, 0x2d, 0x00, 0x2d, 0x00, 0x2d, 0x00, 0x2d, + 0x00, 0x2d, 0x00, 0x2d, 0x00, 0x2d, 0x00, 0x2d, 0x00, 0x2d, 0x00, 0x2d, + 0x00, 0x2d, 0x00, 0x2d, 0x00, 0x0a, 0x00, 0x0a, 0x00, 0x50, 0x00, 0x52, + 0x00, 0x45, 0x00, 0x41, 0x00, 0x4d, 0x00, 0x42, 0x00, 0x4c, 0x00, 0x45, + 0x00, 0x0a, 0x00, 0x54, 0x00, 0x68, 0x00, 0x65, 0x00, 0x20, 0x00, 0x67, + 0x00, 0x6f, 0x00, 0x61, 0x00, 0x6c, 0x00, 0x73, 0x00, 0x20, 0x00, 0x6f, + 0x00, 0x66, 0x00, 0x20, 0x00, 0x74, 0x00, 0x68, 0x00, 0x65, 0x00, 0x20, + 0x00, 0x4f, 0x00, 0x70, 0x00, 0x65, 0x00, 0x6e, 0x00, 0x20, 0x00, 0x46, + 0x00, 0x6f, 0x00, 0x6e, 0x00, 0x74, 0x00, 0x20, 0x00, 0x4c, 0x00, 0x69, + 0x00, 0x63, 0x00, 0x65, 0x00, 0x6e, 0x00, 0x73, 0x00, 0x65, 0x00, 0x20, + 0x00, 0x28, 0x00, 0x4f, 0x00, 0x46, 0x00, 0x4c, 0x00, 0x29, 0x00, 0x20, + 0x00, 0x61, 0x00, 0x72, 0x00, 0x65, 0x00, 0x20, 0x00, 0x74, 0x00, 0x6f, + 0x00, 0x20, 0x00, 0x73, 0x00, 0x74, 0x00, 0x69, 0x00, 0x6d, 0x00, 0x75, + 0x00, 0x6c, 0x00, 0x61, 0x00, 0x74, 0x00, 0x65, 0x00, 0x20, 0x00, 0x77, + 0x00, 0x6f, 0x00, 0x72, 0x00, 0x6c, 0x00, 0x64, 0x00, 0x77, 0x00, 0x69, + 0x00, 0x64, 0x00, 0x65, 0x00, 0x0a, 0x00, 0x64, 0x00, 0x65, 0x00, 0x76, + 0x00, 0x65, 0x00, 0x6c, 0x00, 0x6f, 0x00, 0x70, 0x00, 0x6d, 0x00, 0x65, + 0x00, 0x6e, 0x00, 0x74, 0x00, 0x20, 0x00, 0x6f, 0x00, 0x66, 0x00, 0x20, + 0x00, 0x63, 0x00, 0x6f, 0x00, 0x6c, 0x00, 0x6c, 0x00, 0x61, 0x00, 0x62, + 0x00, 0x6f, 0x00, 0x72, 0x00, 0x61, 0x00, 0x74, 0x00, 0x69, 0x00, 0x76, + 0x00, 0x65, 0x00, 0x20, 0x00, 0x66, 0x00, 0x6f, 0x00, 0x6e, 0x00, 0x74, + 0x00, 0x20, 0x00, 0x70, 0x00, 0x72, 0x00, 0x6f, 0x00, 0x6a, 0x00, 0x65, + 0x00, 0x63, 0x00, 0x74, 0x00, 0x73, 0x00, 0x2c, 0x00, 0x20, 0x00, 0x74, + 0x00, 0x6f, 0x00, 0x20, 0x00, 0x73, 0x00, 0x75, 0x00, 0x70, 0x00, 0x70, + 0x00, 0x6f, 0x00, 0x72, 0x00, 0x74, 0x00, 0x20, 0x00, 0x74, 0x00, 0x68, + 0x00, 0x65, 0x00, 0x20, 0x00, 0x66, 0x00, 0x6f, 0x00, 0x6e, 0x00, 0x74, + 0x00, 0x20, 0x00, 0x63, 0x00, 0x72, 0x00, 0x65, 0x00, 0x61, 0x00, 0x74, + 0x00, 0x69, 0x00, 0x6f, 0x00, 0x6e, 0x00, 0x0a, 0x00, 0x65, 0x00, 0x66, + 0x00, 0x66, 0x00, 0x6f, 0x00, 0x72, 0x00, 0x74, 0x00, 0x73, 0x00, 0x20, + 0x00, 0x6f, 0x00, 0x66, 0x00, 0x20, 0x00, 0x61, 0x00, 0x63, 0x00, 0x61, + 0x00, 0x64, 0x00, 0x65, 0x00, 0x6d, 0x00, 0x69, 0x00, 0x63, 0x00, 0x20, + 0x00, 0x61, 0x00, 0x6e, 0x00, 0x64, 0x00, 0x20, 0x00, 0x6c, 0x00, 0x69, + 0x00, 0x6e, 0x00, 0x67, 0x00, 0x75, 0x00, 0x69, 0x00, 0x73, 0x00, 0x74, + 0x00, 0x69, 0x00, 0x63, 0x00, 0x20, 0x00, 0x63, 0x00, 0x6f, 0x00, 0x6d, + 0x00, 0x6d, 0x00, 0x75, 0x00, 0x6e, 0x00, 0x69, 0x00, 0x74, 0x00, 0x69, + 0x00, 0x65, 0x00, 0x73, 0x00, 0x2c, 0x00, 0x20, 0x00, 0x61, 0x00, 0x6e, + 0x00, 0x64, 0x00, 0x20, 0x00, 0x74, 0x00, 0x6f, 0x00, 0x20, 0x00, 0x70, + 0x00, 0x72, 0x00, 0x6f, 0x00, 0x76, 0x00, 0x69, 0x00, 0x64, 0x00, 0x65, + 0x00, 0x20, 0x00, 0x61, 0x00, 0x20, 0x00, 0x66, 0x00, 0x72, 0x00, 0x65, + 0x00, 0x65, 0x00, 0x20, 0x00, 0x61, 0x00, 0x6e, 0x00, 0x64, 0x00, 0x0a, + 0x00, 0x6f, 0x00, 0x70, 0x00, 0x65, 0x00, 0x6e, 0x00, 0x20, 0x00, 0x66, + 0x00, 0x72, 0x00, 0x61, 0x00, 0x6d, 0x00, 0x65, 0x00, 0x77, 0x00, 0x6f, + 0x00, 0x72, 0x00, 0x6b, 0x00, 0x20, 0x00, 0x69, 0x00, 0x6e, 0x00, 0x20, + 0x00, 0x77, 0x00, 0x68, 0x00, 0x69, 0x00, 0x63, 0x00, 0x68, 0x00, 0x20, + 0x00, 0x66, 0x00, 0x6f, 0x00, 0x6e, 0x00, 0x74, 0x00, 0x73, 0x00, 0x20, + 0x00, 0x6d, 0x00, 0x61, 0x00, 0x79, 0x00, 0x20, 0x00, 0x62, 0x00, 0x65, + 0x00, 0x20, 0x00, 0x73, 0x00, 0x68, 0x00, 0x61, 0x00, 0x72, 0x00, 0x65, + 0x00, 0x64, 0x00, 0x20, 0x00, 0x61, 0x00, 0x6e, 0x00, 0x64, 0x00, 0x20, + 0x00, 0x69, 0x00, 0x6d, 0x00, 0x70, 0x00, 0x72, 0x00, 0x6f, 0x00, 0x76, + 0x00, 0x65, 0x00, 0x64, 0x00, 0x20, 0x00, 0x69, 0x00, 0x6e, 0x00, 0x20, + 0x00, 0x70, 0x00, 0x61, 0x00, 0x72, 0x00, 0x74, 0x00, 0x6e, 0x00, 0x65, + 0x00, 0x72, 0x00, 0x73, 0x00, 0x68, 0x00, 0x69, 0x00, 0x70, 0x00, 0x0a, + 0x00, 0x77, 0x00, 0x69, 0x00, 0x74, 0x00, 0x68, 0x00, 0x20, 0x00, 0x6f, + 0x00, 0x74, 0x00, 0x68, 0x00, 0x65, 0x00, 0x72, 0x00, 0x73, 0x00, 0x2e, + 0x00, 0x0a, 0x00, 0x0a, 0x00, 0x54, 0x00, 0x68, 0x00, 0x65, 0x00, 0x20, + 0x00, 0x4f, 0x00, 0x46, 0x00, 0x4c, 0x00, 0x20, 0x00, 0x61, 0x00, 0x6c, + 0x00, 0x6c, 0x00, 0x6f, 0x00, 0x77, 0x00, 0x73, 0x00, 0x20, 0x00, 0x74, + 0x00, 0x68, 0x00, 0x65, 0x00, 0x20, 0x00, 0x6c, 0x00, 0x69, 0x00, 0x63, + 0x00, 0x65, 0x00, 0x6e, 0x00, 0x73, 0x00, 0x65, 0x00, 0x64, 0x00, 0x20, + 0x00, 0x66, 0x00, 0x6f, 0x00, 0x6e, 0x00, 0x74, 0x00, 0x73, 0x00, 0x20, + 0x00, 0x74, 0x00, 0x6f, 0x00, 0x20, 0x00, 0x62, 0x00, 0x65, 0x00, 0x20, + 0x00, 0x75, 0x00, 0x73, 0x00, 0x65, 0x00, 0x64, 0x00, 0x2c, 0x00, 0x20, + 0x00, 0x73, 0x00, 0x74, 0x00, 0x75, 0x00, 0x64, 0x00, 0x69, 0x00, 0x65, + 0x00, 0x64, 0x00, 0x2c, 0x00, 0x20, 0x00, 0x6d, 0x00, 0x6f, 0x00, 0x64, + 0x00, 0x69, 0x00, 0x66, 0x00, 0x69, 0x00, 0x65, 0x00, 0x64, 0x00, 0x20, + 0x00, 0x61, 0x00, 0x6e, 0x00, 0x64, 0x00, 0x0a, 0x00, 0x72, 0x00, 0x65, + 0x00, 0x64, 0x00, 0x69, 0x00, 0x73, 0x00, 0x74, 0x00, 0x72, 0x00, 0x69, + 0x00, 0x62, 0x00, 0x75, 0x00, 0x74, 0x00, 0x65, 0x00, 0x64, 0x00, 0x20, + 0x00, 0x66, 0x00, 0x72, 0x00, 0x65, 0x00, 0x65, 0x00, 0x6c, 0x00, 0x79, + 0x00, 0x20, 0x00, 0x61, 0x00, 0x73, 0x00, 0x20, 0x00, 0x6c, 0x00, 0x6f, + 0x00, 0x6e, 0x00, 0x67, 0x00, 0x20, 0x00, 0x61, 0x00, 0x73, 0x00, 0x20, + 0x00, 0x74, 0x00, 0x68, 0x00, 0x65, 0x00, 0x79, 0x00, 0x20, 0x00, 0x61, + 0x00, 0x72, 0x00, 0x65, 0x00, 0x20, 0x00, 0x6e, 0x00, 0x6f, 0x00, 0x74, + 0x00, 0x20, 0x00, 0x73, 0x00, 0x6f, 0x00, 0x6c, 0x00, 0x64, 0x00, 0x20, + 0x00, 0x62, 0x00, 0x79, 0x00, 0x20, 0x00, 0x74, 0x00, 0x68, 0x00, 0x65, + 0x00, 0x6d, 0x00, 0x73, 0x00, 0x65, 0x00, 0x6c, 0x00, 0x76, 0x00, 0x65, + 0x00, 0x73, 0x00, 0x2e, 0x00, 0x20, 0x00, 0x54, 0x00, 0x68, 0x00, 0x65, + 0x00, 0x0a, 0x00, 0x66, 0x00, 0x6f, 0x00, 0x6e, 0x00, 0x74, 0x00, 0x73, + 0x00, 0x2c, 0x00, 0x20, 0x00, 0x69, 0x00, 0x6e, 0x00, 0x63, 0x00, 0x6c, + 0x00, 0x75, 0x00, 0x64, 0x00, 0x69, 0x00, 0x6e, 0x00, 0x67, 0x00, 0x20, + 0x00, 0x61, 0x00, 0x6e, 0x00, 0x79, 0x00, 0x20, 0x00, 0x64, 0x00, 0x65, + 0x00, 0x72, 0x00, 0x69, 0x00, 0x76, 0x00, 0x61, 0x00, 0x74, 0x00, 0x69, + 0x00, 0x76, 0x00, 0x65, 0x00, 0x20, 0x00, 0x77, 0x00, 0x6f, 0x00, 0x72, + 0x00, 0x6b, 0x00, 0x73, 0x00, 0x2c, 0x00, 0x20, 0x00, 0x63, 0x00, 0x61, + 0x00, 0x6e, 0x00, 0x20, 0x00, 0x62, 0x00, 0x65, 0x00, 0x20, 0x00, 0x62, + 0x00, 0x75, 0x00, 0x6e, 0x00, 0x64, 0x00, 0x6c, 0x00, 0x65, 0x00, 0x64, + 0x00, 0x2c, 0x00, 0x20, 0x00, 0x65, 0x00, 0x6d, 0x00, 0x62, 0x00, 0x65, + 0x00, 0x64, 0x00, 0x64, 0x00, 0x65, 0x00, 0x64, 0x00, 0x2c, 0x00, 0x20, + 0x00, 0x0a, 0x00, 0x72, 0x00, 0x65, 0x00, 0x64, 0x00, 0x69, 0x00, 0x73, + 0x00, 0x74, 0x00, 0x72, 0x00, 0x69, 0x00, 0x62, 0x00, 0x75, 0x00, 0x74, + 0x00, 0x65, 0x00, 0x64, 0x00, 0x20, 0x00, 0x61, 0x00, 0x6e, 0x00, 0x64, + 0x00, 0x2f, 0x00, 0x6f, 0x00, 0x72, 0x00, 0x20, 0x00, 0x73, 0x00, 0x6f, + 0x00, 0x6c, 0x00, 0x64, 0x00, 0x20, 0x00, 0x77, 0x00, 0x69, 0x00, 0x74, + 0x00, 0x68, 0x00, 0x20, 0x00, 0x61, 0x00, 0x6e, 0x00, 0x79, 0x00, 0x20, + 0x00, 0x73, 0x00, 0x6f, 0x00, 0x66, 0x00, 0x74, 0x00, 0x77, 0x00, 0x61, + 0x00, 0x72, 0x00, 0x65, 0x00, 0x20, 0x00, 0x70, 0x00, 0x72, 0x00, 0x6f, + 0x00, 0x76, 0x00, 0x69, 0x00, 0x64, 0x00, 0x65, 0x00, 0x64, 0x00, 0x20, + 0x00, 0x74, 0x00, 0x68, 0x00, 0x61, 0x00, 0x74, 0x00, 0x20, 0x00, 0x61, + 0x00, 0x6e, 0x00, 0x79, 0x00, 0x20, 0x00, 0x72, 0x00, 0x65, 0x00, 0x73, + 0x00, 0x65, 0x00, 0x72, 0x00, 0x76, 0x00, 0x65, 0x00, 0x64, 0x00, 0x0a, + 0x00, 0x6e, 0x00, 0x61, 0x00, 0x6d, 0x00, 0x65, 0x00, 0x73, 0x00, 0x20, + 0x00, 0x61, 0x00, 0x72, 0x00, 0x65, 0x00, 0x20, 0x00, 0x6e, 0x00, 0x6f, + 0x00, 0x74, 0x00, 0x20, 0x00, 0x75, 0x00, 0x73, 0x00, 0x65, 0x00, 0x64, + 0x00, 0x20, 0x00, 0x62, 0x00, 0x79, 0x00, 0x20, 0x00, 0x64, 0x00, 0x65, + 0x00, 0x72, 0x00, 0x69, 0x00, 0x76, 0x00, 0x61, 0x00, 0x74, 0x00, 0x69, + 0x00, 0x76, 0x00, 0x65, 0x00, 0x20, 0x00, 0x77, 0x00, 0x6f, 0x00, 0x72, + 0x00, 0x6b, 0x00, 0x73, 0x00, 0x2e, 0x00, 0x20, 0x00, 0x54, 0x00, 0x68, + 0x00, 0x65, 0x00, 0x20, 0x00, 0x66, 0x00, 0x6f, 0x00, 0x6e, 0x00, 0x74, + 0x00, 0x73, 0x00, 0x20, 0x00, 0x61, 0x00, 0x6e, 0x00, 0x64, 0x00, 0x20, + 0x00, 0x64, 0x00, 0x65, 0x00, 0x72, 0x00, 0x69, 0x00, 0x76, 0x00, 0x61, + 0x00, 0x74, 0x00, 0x69, 0x00, 0x76, 0x00, 0x65, 0x00, 0x73, 0x00, 0x2c, + 0x00, 0x0a, 0x00, 0x68, 0x00, 0x6f, 0x00, 0x77, 0x00, 0x65, 0x00, 0x76, + 0x00, 0x65, 0x00, 0x72, 0x00, 0x2c, 0x00, 0x20, 0x00, 0x63, 0x00, 0x61, + 0x00, 0x6e, 0x00, 0x6e, 0x00, 0x6f, 0x00, 0x74, 0x00, 0x20, 0x00, 0x62, + 0x00, 0x65, 0x00, 0x20, 0x00, 0x72, 0x00, 0x65, 0x00, 0x6c, 0x00, 0x65, + 0x00, 0x61, 0x00, 0x73, 0x00, 0x65, 0x00, 0x64, 0x00, 0x20, 0x00, 0x75, + 0x00, 0x6e, 0x00, 0x64, 0x00, 0x65, 0x00, 0x72, 0x00, 0x20, 0x00, 0x61, + 0x00, 0x6e, 0x00, 0x79, 0x00, 0x20, 0x00, 0x6f, 0x00, 0x74, 0x00, 0x68, + 0x00, 0x65, 0x00, 0x72, 0x00, 0x20, 0x00, 0x74, 0x00, 0x79, 0x00, 0x70, + 0x00, 0x65, 0x00, 0x20, 0x00, 0x6f, 0x00, 0x66, 0x00, 0x20, 0x00, 0x6c, + 0x00, 0x69, 0x00, 0x63, 0x00, 0x65, 0x00, 0x6e, 0x00, 0x73, 0x00, 0x65, + 0x00, 0x2e, 0x00, 0x20, 0x00, 0x54, 0x00, 0x68, 0x00, 0x65, 0x00, 0x0a, + 0x00, 0x72, 0x00, 0x65, 0x00, 0x71, 0x00, 0x75, 0x00, 0x69, 0x00, 0x72, + 0x00, 0x65, 0x00, 0x6d, 0x00, 0x65, 0x00, 0x6e, 0x00, 0x74, 0x00, 0x20, + 0x00, 0x66, 0x00, 0x6f, 0x00, 0x72, 0x00, 0x20, 0x00, 0x66, 0x00, 0x6f, + 0x00, 0x6e, 0x00, 0x74, 0x00, 0x73, 0x00, 0x20, 0x00, 0x74, 0x00, 0x6f, + 0x00, 0x20, 0x00, 0x72, 0x00, 0x65, 0x00, 0x6d, 0x00, 0x61, 0x00, 0x69, + 0x00, 0x6e, 0x00, 0x20, 0x00, 0x75, 0x00, 0x6e, 0x00, 0x64, 0x00, 0x65, + 0x00, 0x72, 0x00, 0x20, 0x00, 0x74, 0x00, 0x68, 0x00, 0x69, 0x00, 0x73, + 0x00, 0x20, 0x00, 0x6c, 0x00, 0x69, 0x00, 0x63, 0x00, 0x65, 0x00, 0x6e, + 0x00, 0x73, 0x00, 0x65, 0x00, 0x20, 0x00, 0x64, 0x00, 0x6f, 0x00, 0x65, + 0x00, 0x73, 0x00, 0x20, 0x00, 0x6e, 0x00, 0x6f, 0x00, 0x74, 0x00, 0x20, + 0x00, 0x61, 0x00, 0x70, 0x00, 0x70, 0x00, 0x6c, 0x00, 0x79, 0x00, 0x0a, + 0x00, 0x74, 0x00, 0x6f, 0x00, 0x20, 0x00, 0x61, 0x00, 0x6e, 0x00, 0x79, + 0x00, 0x20, 0x00, 0x64, 0x00, 0x6f, 0x00, 0x63, 0x00, 0x75, 0x00, 0x6d, + 0x00, 0x65, 0x00, 0x6e, 0x00, 0x74, 0x00, 0x20, 0x00, 0x63, 0x00, 0x72, + 0x00, 0x65, 0x00, 0x61, 0x00, 0x74, 0x00, 0x65, 0x00, 0x64, 0x00, 0x20, + 0x00, 0x75, 0x00, 0x73, 0x00, 0x69, 0x00, 0x6e, 0x00, 0x67, 0x00, 0x20, + 0x00, 0x74, 0x00, 0x68, 0x00, 0x65, 0x00, 0x20, 0x00, 0x66, 0x00, 0x6f, + 0x00, 0x6e, 0x00, 0x74, 0x00, 0x73, 0x00, 0x20, 0x00, 0x6f, 0x00, 0x72, + 0x00, 0x20, 0x00, 0x74, 0x00, 0x68, 0x00, 0x65, 0x00, 0x69, 0x00, 0x72, + 0x00, 0x20, 0x00, 0x64, 0x00, 0x65, 0x00, 0x72, 0x00, 0x69, 0x00, 0x76, + 0x00, 0x61, 0x00, 0x74, 0x00, 0x69, 0x00, 0x76, 0x00, 0x65, 0x00, 0x73, + 0x00, 0x2e, 0x00, 0x0a, 0x00, 0x0a, 0x00, 0x44, 0x00, 0x45, 0x00, 0x46, + 0x00, 0x49, 0x00, 0x4e, 0x00, 0x49, 0x00, 0x54, 0x00, 0x49, 0x00, 0x4f, + 0x00, 0x4e, 0x00, 0x53, 0x00, 0x0a, 0x00, 0x22, 0x00, 0x46, 0x00, 0x6f, + 0x00, 0x6e, 0x00, 0x74, 0x00, 0x20, 0x00, 0x53, 0x00, 0x6f, 0x00, 0x66, + 0x00, 0x74, 0x00, 0x77, 0x00, 0x61, 0x00, 0x72, 0x00, 0x65, 0x00, 0x22, + 0x00, 0x20, 0x00, 0x72, 0x00, 0x65, 0x00, 0x66, 0x00, 0x65, 0x00, 0x72, + 0x00, 0x73, 0x00, 0x20, 0x00, 0x74, 0x00, 0x6f, 0x00, 0x20, 0x00, 0x74, + 0x00, 0x68, 0x00, 0x65, 0x00, 0x20, 0x00, 0x73, 0x00, 0x65, 0x00, 0x74, + 0x00, 0x20, 0x00, 0x6f, 0x00, 0x66, 0x00, 0x20, 0x00, 0x66, 0x00, 0x69, + 0x00, 0x6c, 0x00, 0x65, 0x00, 0x73, 0x00, 0x20, 0x00, 0x72, 0x00, 0x65, + 0x00, 0x6c, 0x00, 0x65, 0x00, 0x61, 0x00, 0x73, 0x00, 0x65, 0x00, 0x64, + 0x00, 0x20, 0x00, 0x62, 0x00, 0x79, 0x00, 0x20, 0x00, 0x74, 0x00, 0x68, + 0x00, 0x65, 0x00, 0x20, 0x00, 0x43, 0x00, 0x6f, 0x00, 0x70, 0x00, 0x79, + 0x00, 0x72, 0x00, 0x69, 0x00, 0x67, 0x00, 0x68, 0x00, 0x74, 0x00, 0x0a, + 0x00, 0x48, 0x00, 0x6f, 0x00, 0x6c, 0x00, 0x64, 0x00, 0x65, 0x00, 0x72, + 0x00, 0x28, 0x00, 0x73, 0x00, 0x29, 0x00, 0x20, 0x00, 0x75, 0x00, 0x6e, + 0x00, 0x64, 0x00, 0x65, 0x00, 0x72, 0x00, 0x20, 0x00, 0x74, 0x00, 0x68, + 0x00, 0x69, 0x00, 0x73, 0x00, 0x20, 0x00, 0x6c, 0x00, 0x69, 0x00, 0x63, + 0x00, 0x65, 0x00, 0x6e, 0x00, 0x73, 0x00, 0x65, 0x00, 0x20, 0x00, 0x61, + 0x00, 0x6e, 0x00, 0x64, 0x00, 0x20, 0x00, 0x63, 0x00, 0x6c, 0x00, 0x65, + 0x00, 0x61, 0x00, 0x72, 0x00, 0x6c, 0x00, 0x79, 0x00, 0x20, 0x00, 0x6d, + 0x00, 0x61, 0x00, 0x72, 0x00, 0x6b, 0x00, 0x65, 0x00, 0x64, 0x00, 0x20, + 0x00, 0x61, 0x00, 0x73, 0x00, 0x20, 0x00, 0x73, 0x00, 0x75, 0x00, 0x63, + 0x00, 0x68, 0x00, 0x2e, 0x00, 0x20, 0x00, 0x54, 0x00, 0x68, 0x00, 0x69, + 0x00, 0x73, 0x00, 0x20, 0x00, 0x6d, 0x00, 0x61, 0x00, 0x79, 0x00, 0x0a, + 0x00, 0x69, 0x00, 0x6e, 0x00, 0x63, 0x00, 0x6c, 0x00, 0x75, 0x00, 0x64, + 0x00, 0x65, 0x00, 0x20, 0x00, 0x73, 0x00, 0x6f, 0x00, 0x75, 0x00, 0x72, + 0x00, 0x63, 0x00, 0x65, 0x00, 0x20, 0x00, 0x66, 0x00, 0x69, 0x00, 0x6c, + 0x00, 0x65, 0x00, 0x73, 0x00, 0x2c, 0x00, 0x20, 0x00, 0x62, 0x00, 0x75, + 0x00, 0x69, 0x00, 0x6c, 0x00, 0x64, 0x00, 0x20, 0x00, 0x73, 0x00, 0x63, + 0x00, 0x72, 0x00, 0x69, 0x00, 0x70, 0x00, 0x74, 0x00, 0x73, 0x00, 0x20, + 0x00, 0x61, 0x00, 0x6e, 0x00, 0x64, 0x00, 0x20, 0x00, 0x64, 0x00, 0x6f, + 0x00, 0x63, 0x00, 0x75, 0x00, 0x6d, 0x00, 0x65, 0x00, 0x6e, 0x00, 0x74, + 0x00, 0x61, 0x00, 0x74, 0x00, 0x69, 0x00, 0x6f, 0x00, 0x6e, 0x00, 0x2e, + 0x00, 0x0a, 0x00, 0x0a, 0x00, 0x22, 0x00, 0x52, 0x00, 0x65, 0x00, 0x73, + 0x00, 0x65, 0x00, 0x72, 0x00, 0x76, 0x00, 0x65, 0x00, 0x64, 0x00, 0x20, + 0x00, 0x46, 0x00, 0x6f, 0x00, 0x6e, 0x00, 0x74, 0x00, 0x20, 0x00, 0x4e, + 0x00, 0x61, 0x00, 0x6d, 0x00, 0x65, 0x00, 0x22, 0x00, 0x20, 0x00, 0x72, + 0x00, 0x65, 0x00, 0x66, 0x00, 0x65, 0x00, 0x72, 0x00, 0x73, 0x00, 0x20, + 0x00, 0x74, 0x00, 0x6f, 0x00, 0x20, 0x00, 0x61, 0x00, 0x6e, 0x00, 0x79, + 0x00, 0x20, 0x00, 0x6e, 0x00, 0x61, 0x00, 0x6d, 0x00, 0x65, 0x00, 0x73, + 0x00, 0x20, 0x00, 0x73, 0x00, 0x70, 0x00, 0x65, 0x00, 0x63, 0x00, 0x69, + 0x00, 0x66, 0x00, 0x69, 0x00, 0x65, 0x00, 0x64, 0x00, 0x20, 0x00, 0x61, + 0x00, 0x73, 0x00, 0x20, 0x00, 0x73, 0x00, 0x75, 0x00, 0x63, 0x00, 0x68, + 0x00, 0x20, 0x00, 0x61, 0x00, 0x66, 0x00, 0x74, 0x00, 0x65, 0x00, 0x72, + 0x00, 0x20, 0x00, 0x74, 0x00, 0x68, 0x00, 0x65, 0x00, 0x0a, 0x00, 0x63, + 0x00, 0x6f, 0x00, 0x70, 0x00, 0x79, 0x00, 0x72, 0x00, 0x69, 0x00, 0x67, + 0x00, 0x68, 0x00, 0x74, 0x00, 0x20, 0x00, 0x73, 0x00, 0x74, 0x00, 0x61, + 0x00, 0x74, 0x00, 0x65, 0x00, 0x6d, 0x00, 0x65, 0x00, 0x6e, 0x00, 0x74, + 0x00, 0x28, 0x00, 0x73, 0x00, 0x29, 0x00, 0x2e, 0x00, 0x0a, 0x00, 0x0a, + 0x00, 0x22, 0x00, 0x4f, 0x00, 0x72, 0x00, 0x69, 0x00, 0x67, 0x00, 0x69, + 0x00, 0x6e, 0x00, 0x61, 0x00, 0x6c, 0x00, 0x20, 0x00, 0x56, 0x00, 0x65, + 0x00, 0x72, 0x00, 0x73, 0x00, 0x69, 0x00, 0x6f, 0x00, 0x6e, 0x00, 0x22, + 0x00, 0x20, 0x00, 0x72, 0x00, 0x65, 0x00, 0x66, 0x00, 0x65, 0x00, 0x72, + 0x00, 0x73, 0x00, 0x20, 0x00, 0x74, 0x00, 0x6f, 0x00, 0x20, 0x00, 0x74, + 0x00, 0x68, 0x00, 0x65, 0x00, 0x20, 0x00, 0x63, 0x00, 0x6f, 0x00, 0x6c, + 0x00, 0x6c, 0x00, 0x65, 0x00, 0x63, 0x00, 0x74, 0x00, 0x69, 0x00, 0x6f, + 0x00, 0x6e, 0x00, 0x20, 0x00, 0x6f, 0x00, 0x66, 0x00, 0x20, 0x00, 0x46, + 0x00, 0x6f, 0x00, 0x6e, 0x00, 0x74, 0x00, 0x20, 0x00, 0x53, 0x00, 0x6f, + 0x00, 0x66, 0x00, 0x74, 0x00, 0x77, 0x00, 0x61, 0x00, 0x72, 0x00, 0x65, + 0x00, 0x20, 0x00, 0x63, 0x00, 0x6f, 0x00, 0x6d, 0x00, 0x70, 0x00, 0x6f, + 0x00, 0x6e, 0x00, 0x65, 0x00, 0x6e, 0x00, 0x74, 0x00, 0x73, 0x00, 0x20, + 0x00, 0x61, 0x00, 0x73, 0x00, 0x0a, 0x00, 0x64, 0x00, 0x69, 0x00, 0x73, + 0x00, 0x74, 0x00, 0x72, 0x00, 0x69, 0x00, 0x62, 0x00, 0x75, 0x00, 0x74, + 0x00, 0x65, 0x00, 0x64, 0x00, 0x20, 0x00, 0x62, 0x00, 0x79, 0x00, 0x20, + 0x00, 0x74, 0x00, 0x68, 0x00, 0x65, 0x00, 0x20, 0x00, 0x43, 0x00, 0x6f, + 0x00, 0x70, 0x00, 0x79, 0x00, 0x72, 0x00, 0x69, 0x00, 0x67, 0x00, 0x68, + 0x00, 0x74, 0x00, 0x20, 0x00, 0x48, 0x00, 0x6f, 0x00, 0x6c, 0x00, 0x64, + 0x00, 0x65, 0x00, 0x72, 0x00, 0x28, 0x00, 0x73, 0x00, 0x29, 0x00, 0x2e, + 0x00, 0x0a, 0x00, 0x0a, 0x00, 0x22, 0x00, 0x4d, 0x00, 0x6f, 0x00, 0x64, + 0x00, 0x69, 0x00, 0x66, 0x00, 0x69, 0x00, 0x65, 0x00, 0x64, 0x00, 0x20, + 0x00, 0x56, 0x00, 0x65, 0x00, 0x72, 0x00, 0x73, 0x00, 0x69, 0x00, 0x6f, + 0x00, 0x6e, 0x00, 0x22, 0x00, 0x20, 0x00, 0x72, 0x00, 0x65, 0x00, 0x66, + 0x00, 0x65, 0x00, 0x72, 0x00, 0x73, 0x00, 0x20, 0x00, 0x74, 0x00, 0x6f, + 0x00, 0x20, 0x00, 0x61, 0x00, 0x6e, 0x00, 0x79, 0x00, 0x20, 0x00, 0x64, + 0x00, 0x65, 0x00, 0x72, 0x00, 0x69, 0x00, 0x76, 0x00, 0x61, 0x00, 0x74, + 0x00, 0x69, 0x00, 0x76, 0x00, 0x65, 0x00, 0x20, 0x00, 0x6d, 0x00, 0x61, + 0x00, 0x64, 0x00, 0x65, 0x00, 0x20, 0x00, 0x62, 0x00, 0x79, 0x00, 0x20, + 0x00, 0x61, 0x00, 0x64, 0x00, 0x64, 0x00, 0x69, 0x00, 0x6e, 0x00, 0x67, + 0x00, 0x20, 0x00, 0x74, 0x00, 0x6f, 0x00, 0x2c, 0x00, 0x20, 0x00, 0x64, + 0x00, 0x65, 0x00, 0x6c, 0x00, 0x65, 0x00, 0x74, 0x00, 0x69, 0x00, 0x6e, + 0x00, 0x67, 0x00, 0x2c, 0x00, 0x0a, 0x00, 0x6f, 0x00, 0x72, 0x00, 0x20, + 0x00, 0x73, 0x00, 0x75, 0x00, 0x62, 0x00, 0x73, 0x00, 0x74, 0x00, 0x69, + 0x00, 0x74, 0x00, 0x75, 0x00, 0x74, 0x00, 0x69, 0x00, 0x6e, 0x00, 0x67, + 0x00, 0x20, 0x00, 0x2d, 0x00, 0x2d, 0x00, 0x20, 0x00, 0x69, 0x00, 0x6e, + 0x00, 0x20, 0x00, 0x70, 0x00, 0x61, 0x00, 0x72, 0x00, 0x74, 0x00, 0x20, + 0x00, 0x6f, 0x00, 0x72, 0x00, 0x20, 0x00, 0x69, 0x00, 0x6e, 0x00, 0x20, + 0x00, 0x77, 0x00, 0x68, 0x00, 0x6f, 0x00, 0x6c, 0x00, 0x65, 0x00, 0x20, + 0x00, 0x2d, 0x00, 0x2d, 0x00, 0x20, 0x00, 0x61, 0x00, 0x6e, 0x00, 0x79, + 0x00, 0x20, 0x00, 0x6f, 0x00, 0x66, 0x00, 0x20, 0x00, 0x74, 0x00, 0x68, + 0x00, 0x65, 0x00, 0x20, 0x00, 0x63, 0x00, 0x6f, 0x00, 0x6d, 0x00, 0x70, + 0x00, 0x6f, 0x00, 0x6e, 0x00, 0x65, 0x00, 0x6e, 0x00, 0x74, 0x00, 0x73, + 0x00, 0x20, 0x00, 0x6f, 0x00, 0x66, 0x00, 0x20, 0x00, 0x74, 0x00, 0x68, + 0x00, 0x65, 0x00, 0x0a, 0x00, 0x4f, 0x00, 0x72, 0x00, 0x69, 0x00, 0x67, + 0x00, 0x69, 0x00, 0x6e, 0x00, 0x61, 0x00, 0x6c, 0x00, 0x20, 0x00, 0x56, + 0x00, 0x65, 0x00, 0x72, 0x00, 0x73, 0x00, 0x69, 0x00, 0x6f, 0x00, 0x6e, + 0x00, 0x2c, 0x00, 0x20, 0x00, 0x62, 0x00, 0x79, 0x00, 0x20, 0x00, 0x63, + 0x00, 0x68, 0x00, 0x61, 0x00, 0x6e, 0x00, 0x67, 0x00, 0x69, 0x00, 0x6e, + 0x00, 0x67, 0x00, 0x20, 0x00, 0x66, 0x00, 0x6f, 0x00, 0x72, 0x00, 0x6d, + 0x00, 0x61, 0x00, 0x74, 0x00, 0x73, 0x00, 0x20, 0x00, 0x6f, 0x00, 0x72, + 0x00, 0x20, 0x00, 0x62, 0x00, 0x79, 0x00, 0x20, 0x00, 0x70, 0x00, 0x6f, + 0x00, 0x72, 0x00, 0x74, 0x00, 0x69, 0x00, 0x6e, 0x00, 0x67, 0x00, 0x20, + 0x00, 0x74, 0x00, 0x68, 0x00, 0x65, 0x00, 0x20, 0x00, 0x46, 0x00, 0x6f, + 0x00, 0x6e, 0x00, 0x74, 0x00, 0x20, 0x00, 0x53, 0x00, 0x6f, 0x00, 0x66, + 0x00, 0x74, 0x00, 0x77, 0x00, 0x61, 0x00, 0x72, 0x00, 0x65, 0x00, 0x20, + 0x00, 0x74, 0x00, 0x6f, 0x00, 0x20, 0x00, 0x61, 0x00, 0x0a, 0x00, 0x6e, + 0x00, 0x65, 0x00, 0x77, 0x00, 0x20, 0x00, 0x65, 0x00, 0x6e, 0x00, 0x76, + 0x00, 0x69, 0x00, 0x72, 0x00, 0x6f, 0x00, 0x6e, 0x00, 0x6d, 0x00, 0x65, + 0x00, 0x6e, 0x00, 0x74, 0x00, 0x2e, 0x00, 0x0a, 0x00, 0x0a, 0x00, 0x22, + 0x00, 0x41, 0x00, 0x75, 0x00, 0x74, 0x00, 0x68, 0x00, 0x6f, 0x00, 0x72, + 0x00, 0x22, 0x00, 0x20, 0x00, 0x72, 0x00, 0x65, 0x00, 0x66, 0x00, 0x65, + 0x00, 0x72, 0x00, 0x73, 0x00, 0x20, 0x00, 0x74, 0x00, 0x6f, 0x00, 0x20, + 0x00, 0x61, 0x00, 0x6e, 0x00, 0x79, 0x00, 0x20, 0x00, 0x64, 0x00, 0x65, + 0x00, 0x73, 0x00, 0x69, 0x00, 0x67, 0x00, 0x6e, 0x00, 0x65, 0x00, 0x72, + 0x00, 0x2c, 0x00, 0x20, 0x00, 0x65, 0x00, 0x6e, 0x00, 0x67, 0x00, 0x69, + 0x00, 0x6e, 0x00, 0x65, 0x00, 0x65, 0x00, 0x72, 0x00, 0x2c, 0x00, 0x20, + 0x00, 0x70, 0x00, 0x72, 0x00, 0x6f, 0x00, 0x67, 0x00, 0x72, 0x00, 0x61, + 0x00, 0x6d, 0x00, 0x6d, 0x00, 0x65, 0x00, 0x72, 0x00, 0x2c, 0x00, 0x20, + 0x00, 0x74, 0x00, 0x65, 0x00, 0x63, 0x00, 0x68, 0x00, 0x6e, 0x00, 0x69, + 0x00, 0x63, 0x00, 0x61, 0x00, 0x6c, 0x00, 0x0a, 0x00, 0x77, 0x00, 0x72, + 0x00, 0x69, 0x00, 0x74, 0x00, 0x65, 0x00, 0x72, 0x00, 0x20, 0x00, 0x6f, + 0x00, 0x72, 0x00, 0x20, 0x00, 0x6f, 0x00, 0x74, 0x00, 0x68, 0x00, 0x65, + 0x00, 0x72, 0x00, 0x20, 0x00, 0x70, 0x00, 0x65, 0x00, 0x72, 0x00, 0x73, + 0x00, 0x6f, 0x00, 0x6e, 0x00, 0x20, 0x00, 0x77, 0x00, 0x68, 0x00, 0x6f, + 0x00, 0x20, 0x00, 0x63, 0x00, 0x6f, 0x00, 0x6e, 0x00, 0x74, 0x00, 0x72, + 0x00, 0x69, 0x00, 0x62, 0x00, 0x75, 0x00, 0x74, 0x00, 0x65, 0x00, 0x64, + 0x00, 0x20, 0x00, 0x74, 0x00, 0x6f, 0x00, 0x20, 0x00, 0x74, 0x00, 0x68, + 0x00, 0x65, 0x00, 0x20, 0x00, 0x46, 0x00, 0x6f, 0x00, 0x6e, 0x00, 0x74, + 0x00, 0x20, 0x00, 0x53, 0x00, 0x6f, 0x00, 0x66, 0x00, 0x74, 0x00, 0x77, + 0x00, 0x61, 0x00, 0x72, 0x00, 0x65, 0x00, 0x2e, 0x00, 0x0a, 0x00, 0x0a, + 0x00, 0x50, 0x00, 0x45, 0x00, 0x52, 0x00, 0x4d, 0x00, 0x49, 0x00, 0x53, + 0x00, 0x53, 0x00, 0x49, 0x00, 0x4f, 0x00, 0x4e, 0x00, 0x20, 0x00, 0x26, + 0x00, 0x20, 0x00, 0x43, 0x00, 0x4f, 0x00, 0x4e, 0x00, 0x44, 0x00, 0x49, + 0x00, 0x54, 0x00, 0x49, 0x00, 0x4f, 0x00, 0x4e, 0x00, 0x53, 0x00, 0x0a, + 0x00, 0x50, 0x00, 0x65, 0x00, 0x72, 0x00, 0x6d, 0x00, 0x69, 0x00, 0x73, + 0x00, 0x73, 0x00, 0x69, 0x00, 0x6f, 0x00, 0x6e, 0x00, 0x20, 0x00, 0x69, + 0x00, 0x73, 0x00, 0x20, 0x00, 0x68, 0x00, 0x65, 0x00, 0x72, 0x00, 0x65, + 0x00, 0x62, 0x00, 0x79, 0x00, 0x20, 0x00, 0x67, 0x00, 0x72, 0x00, 0x61, + 0x00, 0x6e, 0x00, 0x74, 0x00, 0x65, 0x00, 0x64, 0x00, 0x2c, 0x00, 0x20, + 0x00, 0x66, 0x00, 0x72, 0x00, 0x65, 0x00, 0x65, 0x00, 0x20, 0x00, 0x6f, + 0x00, 0x66, 0x00, 0x20, 0x00, 0x63, 0x00, 0x68, 0x00, 0x61, 0x00, 0x72, + 0x00, 0x67, 0x00, 0x65, 0x00, 0x2c, 0x00, 0x20, 0x00, 0x74, 0x00, 0x6f, + 0x00, 0x20, 0x00, 0x61, 0x00, 0x6e, 0x00, 0x79, 0x00, 0x20, 0x00, 0x70, + 0x00, 0x65, 0x00, 0x72, 0x00, 0x73, 0x00, 0x6f, 0x00, 0x6e, 0x00, 0x20, + 0x00, 0x6f, 0x00, 0x62, 0x00, 0x74, 0x00, 0x61, 0x00, 0x69, 0x00, 0x6e, + 0x00, 0x69, 0x00, 0x6e, 0x00, 0x67, 0x00, 0x0a, 0x00, 0x61, 0x00, 0x20, + 0x00, 0x63, 0x00, 0x6f, 0x00, 0x70, 0x00, 0x79, 0x00, 0x20, 0x00, 0x6f, + 0x00, 0x66, 0x00, 0x20, 0x00, 0x74, 0x00, 0x68, 0x00, 0x65, 0x00, 0x20, + 0x00, 0x46, 0x00, 0x6f, 0x00, 0x6e, 0x00, 0x74, 0x00, 0x20, 0x00, 0x53, + 0x00, 0x6f, 0x00, 0x66, 0x00, 0x74, 0x00, 0x77, 0x00, 0x61, 0x00, 0x72, + 0x00, 0x65, 0x00, 0x2c, 0x00, 0x20, 0x00, 0x74, 0x00, 0x6f, 0x00, 0x20, + 0x00, 0x75, 0x00, 0x73, 0x00, 0x65, 0x00, 0x2c, 0x00, 0x20, 0x00, 0x73, + 0x00, 0x74, 0x00, 0x75, 0x00, 0x64, 0x00, 0x79, 0x00, 0x2c, 0x00, 0x20, + 0x00, 0x63, 0x00, 0x6f, 0x00, 0x70, 0x00, 0x79, 0x00, 0x2c, 0x00, 0x20, + 0x00, 0x6d, 0x00, 0x65, 0x00, 0x72, 0x00, 0x67, 0x00, 0x65, 0x00, 0x2c, + 0x00, 0x20, 0x00, 0x65, 0x00, 0x6d, 0x00, 0x62, 0x00, 0x65, 0x00, 0x64, + 0x00, 0x2c, 0x00, 0x20, 0x00, 0x6d, 0x00, 0x6f, 0x00, 0x64, 0x00, 0x69, + 0x00, 0x66, 0x00, 0x79, 0x00, 0x2c, 0x00, 0x0a, 0x00, 0x72, 0x00, 0x65, + 0x00, 0x64, 0x00, 0x69, 0x00, 0x73, 0x00, 0x74, 0x00, 0x72, 0x00, 0x69, + 0x00, 0x62, 0x00, 0x75, 0x00, 0x74, 0x00, 0x65, 0x00, 0x2c, 0x00, 0x20, + 0x00, 0x61, 0x00, 0x6e, 0x00, 0x64, 0x00, 0x20, 0x00, 0x73, 0x00, 0x65, + 0x00, 0x6c, 0x00, 0x6c, 0x00, 0x20, 0x00, 0x6d, 0x00, 0x6f, 0x00, 0x64, + 0x00, 0x69, 0x00, 0x66, 0x00, 0x69, 0x00, 0x65, 0x00, 0x64, 0x00, 0x20, + 0x00, 0x61, 0x00, 0x6e, 0x00, 0x64, 0x00, 0x20, 0x00, 0x75, 0x00, 0x6e, + 0x00, 0x6d, 0x00, 0x6f, 0x00, 0x64, 0x00, 0x69, 0x00, 0x66, 0x00, 0x69, + 0x00, 0x65, 0x00, 0x64, 0x00, 0x20, 0x00, 0x63, 0x00, 0x6f, 0x00, 0x70, + 0x00, 0x69, 0x00, 0x65, 0x00, 0x73, 0x00, 0x20, 0x00, 0x6f, 0x00, 0x66, + 0x00, 0x20, 0x00, 0x74, 0x00, 0x68, 0x00, 0x65, 0x00, 0x20, 0x00, 0x46, + 0x00, 0x6f, 0x00, 0x6e, 0x00, 0x74, 0x00, 0x0a, 0x00, 0x53, 0x00, 0x6f, + 0x00, 0x66, 0x00, 0x74, 0x00, 0x77, 0x00, 0x61, 0x00, 0x72, 0x00, 0x65, + 0x00, 0x2c, 0x00, 0x20, 0x00, 0x73, 0x00, 0x75, 0x00, 0x62, 0x00, 0x6a, + 0x00, 0x65, 0x00, 0x63, 0x00, 0x74, 0x00, 0x20, 0x00, 0x74, 0x00, 0x6f, + 0x00, 0x20, 0x00, 0x74, 0x00, 0x68, 0x00, 0x65, 0x00, 0x20, 0x00, 0x66, + 0x00, 0x6f, 0x00, 0x6c, 0x00, 0x6c, 0x00, 0x6f, 0x00, 0x77, 0x00, 0x69, + 0x00, 0x6e, 0x00, 0x67, 0x00, 0x20, 0x00, 0x63, 0x00, 0x6f, 0x00, 0x6e, + 0x00, 0x64, 0x00, 0x69, 0x00, 0x74, 0x00, 0x69, 0x00, 0x6f, 0x00, 0x6e, + 0x00, 0x73, 0x00, 0x3a, 0x00, 0x0a, 0x00, 0x0a, 0x00, 0x31, 0x00, 0x29, + 0x00, 0x20, 0x00, 0x4e, 0x00, 0x65, 0x00, 0x69, 0x00, 0x74, 0x00, 0x68, + 0x00, 0x65, 0x00, 0x72, 0x00, 0x20, 0x00, 0x74, 0x00, 0x68, 0x00, 0x65, + 0x00, 0x20, 0x00, 0x46, 0x00, 0x6f, 0x00, 0x6e, 0x00, 0x74, 0x00, 0x20, + 0x00, 0x53, 0x00, 0x6f, 0x00, 0x66, 0x00, 0x74, 0x00, 0x77, 0x00, 0x61, + 0x00, 0x72, 0x00, 0x65, 0x00, 0x20, 0x00, 0x6e, 0x00, 0x6f, 0x00, 0x72, + 0x00, 0x20, 0x00, 0x61, 0x00, 0x6e, 0x00, 0x79, 0x00, 0x20, 0x00, 0x6f, + 0x00, 0x66, 0x00, 0x20, 0x00, 0x69, 0x00, 0x74, 0x00, 0x73, 0x00, 0x20, + 0x00, 0x69, 0x00, 0x6e, 0x00, 0x64, 0x00, 0x69, 0x00, 0x76, 0x00, 0x69, + 0x00, 0x64, 0x00, 0x75, 0x00, 0x61, 0x00, 0x6c, 0x00, 0x20, 0x00, 0x63, + 0x00, 0x6f, 0x00, 0x6d, 0x00, 0x70, 0x00, 0x6f, 0x00, 0x6e, 0x00, 0x65, + 0x00, 0x6e, 0x00, 0x74, 0x00, 0x73, 0x00, 0x2c, 0x00, 0x0a, 0x00, 0x69, + 0x00, 0x6e, 0x00, 0x20, 0x00, 0x4f, 0x00, 0x72, 0x00, 0x69, 0x00, 0x67, + 0x00, 0x69, 0x00, 0x6e, 0x00, 0x61, 0x00, 0x6c, 0x00, 0x20, 0x00, 0x6f, + 0x00, 0x72, 0x00, 0x20, 0x00, 0x4d, 0x00, 0x6f, 0x00, 0x64, 0x00, 0x69, + 0x00, 0x66, 0x00, 0x69, 0x00, 0x65, 0x00, 0x64, 0x00, 0x20, 0x00, 0x56, + 0x00, 0x65, 0x00, 0x72, 0x00, 0x73, 0x00, 0x69, 0x00, 0x6f, 0x00, 0x6e, + 0x00, 0x73, 0x00, 0x2c, 0x00, 0x20, 0x00, 0x6d, 0x00, 0x61, 0x00, 0x79, + 0x00, 0x20, 0x00, 0x62, 0x00, 0x65, 0x00, 0x20, 0x00, 0x73, 0x00, 0x6f, + 0x00, 0x6c, 0x00, 0x64, 0x00, 0x20, 0x00, 0x62, 0x00, 0x79, 0x00, 0x20, + 0x00, 0x69, 0x00, 0x74, 0x00, 0x73, 0x00, 0x65, 0x00, 0x6c, 0x00, 0x66, + 0x00, 0x2e, 0x00, 0x0a, 0x00, 0x0a, 0x00, 0x32, 0x00, 0x29, 0x00, 0x20, + 0x00, 0x4f, 0x00, 0x72, 0x00, 0x69, 0x00, 0x67, 0x00, 0x69, 0x00, 0x6e, + 0x00, 0x61, 0x00, 0x6c, 0x00, 0x20, 0x00, 0x6f, 0x00, 0x72, 0x00, 0x20, + 0x00, 0x4d, 0x00, 0x6f, 0x00, 0x64, 0x00, 0x69, 0x00, 0x66, 0x00, 0x69, + 0x00, 0x65, 0x00, 0x64, 0x00, 0x20, 0x00, 0x56, 0x00, 0x65, 0x00, 0x72, + 0x00, 0x73, 0x00, 0x69, 0x00, 0x6f, 0x00, 0x6e, 0x00, 0x73, 0x00, 0x20, + 0x00, 0x6f, 0x00, 0x66, 0x00, 0x20, 0x00, 0x74, 0x00, 0x68, 0x00, 0x65, + 0x00, 0x20, 0x00, 0x46, 0x00, 0x6f, 0x00, 0x6e, 0x00, 0x74, 0x00, 0x20, + 0x00, 0x53, 0x00, 0x6f, 0x00, 0x66, 0x00, 0x74, 0x00, 0x77, 0x00, 0x61, + 0x00, 0x72, 0x00, 0x65, 0x00, 0x20, 0x00, 0x6d, 0x00, 0x61, 0x00, 0x79, + 0x00, 0x20, 0x00, 0x62, 0x00, 0x65, 0x00, 0x20, 0x00, 0x62, 0x00, 0x75, + 0x00, 0x6e, 0x00, 0x64, 0x00, 0x6c, 0x00, 0x65, 0x00, 0x64, 0x00, 0x2c, + 0x00, 0x0a, 0x00, 0x72, 0x00, 0x65, 0x00, 0x64, 0x00, 0x69, 0x00, 0x73, + 0x00, 0x74, 0x00, 0x72, 0x00, 0x69, 0x00, 0x62, 0x00, 0x75, 0x00, 0x74, + 0x00, 0x65, 0x00, 0x64, 0x00, 0x20, 0x00, 0x61, 0x00, 0x6e, 0x00, 0x64, + 0x00, 0x2f, 0x00, 0x6f, 0x00, 0x72, 0x00, 0x20, 0x00, 0x73, 0x00, 0x6f, + 0x00, 0x6c, 0x00, 0x64, 0x00, 0x20, 0x00, 0x77, 0x00, 0x69, 0x00, 0x74, + 0x00, 0x68, 0x00, 0x20, 0x00, 0x61, 0x00, 0x6e, 0x00, 0x79, 0x00, 0x20, + 0x00, 0x73, 0x00, 0x6f, 0x00, 0x66, 0x00, 0x74, 0x00, 0x77, 0x00, 0x61, + 0x00, 0x72, 0x00, 0x65, 0x00, 0x2c, 0x00, 0x20, 0x00, 0x70, 0x00, 0x72, + 0x00, 0x6f, 0x00, 0x76, 0x00, 0x69, 0x00, 0x64, 0x00, 0x65, 0x00, 0x64, + 0x00, 0x20, 0x00, 0x74, 0x00, 0x68, 0x00, 0x61, 0x00, 0x74, 0x00, 0x20, + 0x00, 0x65, 0x00, 0x61, 0x00, 0x63, 0x00, 0x68, 0x00, 0x20, 0x00, 0x63, + 0x00, 0x6f, 0x00, 0x70, 0x00, 0x79, 0x00, 0x0a, 0x00, 0x63, 0x00, 0x6f, + 0x00, 0x6e, 0x00, 0x74, 0x00, 0x61, 0x00, 0x69, 0x00, 0x6e, 0x00, 0x73, + 0x00, 0x20, 0x00, 0x74, 0x00, 0x68, 0x00, 0x65, 0x00, 0x20, 0x00, 0x61, + 0x00, 0x62, 0x00, 0x6f, 0x00, 0x76, 0x00, 0x65, 0x00, 0x20, 0x00, 0x63, + 0x00, 0x6f, 0x00, 0x70, 0x00, 0x79, 0x00, 0x72, 0x00, 0x69, 0x00, 0x67, + 0x00, 0x68, 0x00, 0x74, 0x00, 0x20, 0x00, 0x6e, 0x00, 0x6f, 0x00, 0x74, + 0x00, 0x69, 0x00, 0x63, 0x00, 0x65, 0x00, 0x20, 0x00, 0x61, 0x00, 0x6e, + 0x00, 0x64, 0x00, 0x20, 0x00, 0x74, 0x00, 0x68, 0x00, 0x69, 0x00, 0x73, + 0x00, 0x20, 0x00, 0x6c, 0x00, 0x69, 0x00, 0x63, 0x00, 0x65, 0x00, 0x6e, + 0x00, 0x73, 0x00, 0x65, 0x00, 0x2e, 0x00, 0x20, 0x00, 0x54, 0x00, 0x68, + 0x00, 0x65, 0x00, 0x73, 0x00, 0x65, 0x00, 0x20, 0x00, 0x63, 0x00, 0x61, + 0x00, 0x6e, 0x00, 0x20, 0x00, 0x62, 0x00, 0x65, 0x00, 0x0a, 0x00, 0x69, + 0x00, 0x6e, 0x00, 0x63, 0x00, 0x6c, 0x00, 0x75, 0x00, 0x64, 0x00, 0x65, + 0x00, 0x64, 0x00, 0x20, 0x00, 0x65, 0x00, 0x69, 0x00, 0x74, 0x00, 0x68, + 0x00, 0x65, 0x00, 0x72, 0x00, 0x20, 0x00, 0x61, 0x00, 0x73, 0x00, 0x20, + 0x00, 0x73, 0x00, 0x74, 0x00, 0x61, 0x00, 0x6e, 0x00, 0x64, 0x00, 0x2d, + 0x00, 0x61, 0x00, 0x6c, 0x00, 0x6f, 0x00, 0x6e, 0x00, 0x65, 0x00, 0x20, + 0x00, 0x74, 0x00, 0x65, 0x00, 0x78, 0x00, 0x74, 0x00, 0x20, 0x00, 0x66, + 0x00, 0x69, 0x00, 0x6c, 0x00, 0x65, 0x00, 0x73, 0x00, 0x2c, 0x00, 0x20, + 0x00, 0x68, 0x00, 0x75, 0x00, 0x6d, 0x00, 0x61, 0x00, 0x6e, 0x00, 0x2d, + 0x00, 0x72, 0x00, 0x65, 0x00, 0x61, 0x00, 0x64, 0x00, 0x61, 0x00, 0x62, + 0x00, 0x6c, 0x00, 0x65, 0x00, 0x20, 0x00, 0x68, 0x00, 0x65, 0x00, 0x61, + 0x00, 0x64, 0x00, 0x65, 0x00, 0x72, 0x00, 0x73, 0x00, 0x20, 0x00, 0x6f, + 0x00, 0x72, 0x00, 0x0a, 0x00, 0x69, 0x00, 0x6e, 0x00, 0x20, 0x00, 0x74, + 0x00, 0x68, 0x00, 0x65, 0x00, 0x20, 0x00, 0x61, 0x00, 0x70, 0x00, 0x70, + 0x00, 0x72, 0x00, 0x6f, 0x00, 0x70, 0x00, 0x72, 0x00, 0x69, 0x00, 0x61, + 0x00, 0x74, 0x00, 0x65, 0x00, 0x20, 0x00, 0x6d, 0x00, 0x61, 0x00, 0x63, + 0x00, 0x68, 0x00, 0x69, 0x00, 0x6e, 0x00, 0x65, 0x00, 0x2d, 0x00, 0x72, + 0x00, 0x65, 0x00, 0x61, 0x00, 0x64, 0x00, 0x61, 0x00, 0x62, 0x00, 0x6c, + 0x00, 0x65, 0x00, 0x20, 0x00, 0x6d, 0x00, 0x65, 0x00, 0x74, 0x00, 0x61, + 0x00, 0x64, 0x00, 0x61, 0x00, 0x74, 0x00, 0x61, 0x00, 0x20, 0x00, 0x66, + 0x00, 0x69, 0x00, 0x65, 0x00, 0x6c, 0x00, 0x64, 0x00, 0x73, 0x00, 0x20, + 0x00, 0x77, 0x00, 0x69, 0x00, 0x74, 0x00, 0x68, 0x00, 0x69, 0x00, 0x6e, + 0x00, 0x20, 0x00, 0x74, 0x00, 0x65, 0x00, 0x78, 0x00, 0x74, 0x00, 0x20, + 0x00, 0x6f, 0x00, 0x72, 0x00, 0x0a, 0x00, 0x62, 0x00, 0x69, 0x00, 0x6e, + 0x00, 0x61, 0x00, 0x72, 0x00, 0x79, 0x00, 0x20, 0x00, 0x66, 0x00, 0x69, + 0x00, 0x6c, 0x00, 0x65, 0x00, 0x73, 0x00, 0x20, 0x00, 0x61, 0x00, 0x73, + 0x00, 0x20, 0x00, 0x6c, 0x00, 0x6f, 0x00, 0x6e, 0x00, 0x67, 0x00, 0x20, + 0x00, 0x61, 0x00, 0x73, 0x00, 0x20, 0x00, 0x74, 0x00, 0x68, 0x00, 0x6f, + 0x00, 0x73, 0x00, 0x65, 0x00, 0x20, 0x00, 0x66, 0x00, 0x69, 0x00, 0x65, + 0x00, 0x6c, 0x00, 0x64, 0x00, 0x73, 0x00, 0x20, 0x00, 0x63, 0x00, 0x61, + 0x00, 0x6e, 0x00, 0x20, 0x00, 0x62, 0x00, 0x65, 0x00, 0x20, 0x00, 0x65, + 0x00, 0x61, 0x00, 0x73, 0x00, 0x69, 0x00, 0x6c, 0x00, 0x79, 0x00, 0x20, + 0x00, 0x76, 0x00, 0x69, 0x00, 0x65, 0x00, 0x77, 0x00, 0x65, 0x00, 0x64, + 0x00, 0x20, 0x00, 0x62, 0x00, 0x79, 0x00, 0x20, 0x00, 0x74, 0x00, 0x68, + 0x00, 0x65, 0x00, 0x20, 0x00, 0x75, 0x00, 0x73, 0x00, 0x65, 0x00, 0x72, + 0x00, 0x2e, 0x00, 0x0a, 0x00, 0x0a, 0x00, 0x33, 0x00, 0x29, 0x00, 0x20, + 0x00, 0x4e, 0x00, 0x6f, 0x00, 0x20, 0x00, 0x4d, 0x00, 0x6f, 0x00, 0x64, + 0x00, 0x69, 0x00, 0x66, 0x00, 0x69, 0x00, 0x65, 0x00, 0x64, 0x00, 0x20, + 0x00, 0x56, 0x00, 0x65, 0x00, 0x72, 0x00, 0x73, 0x00, 0x69, 0x00, 0x6f, + 0x00, 0x6e, 0x00, 0x20, 0x00, 0x6f, 0x00, 0x66, 0x00, 0x20, 0x00, 0x74, + 0x00, 0x68, 0x00, 0x65, 0x00, 0x20, 0x00, 0x46, 0x00, 0x6f, 0x00, 0x6e, + 0x00, 0x74, 0x00, 0x20, 0x00, 0x53, 0x00, 0x6f, 0x00, 0x66, 0x00, 0x74, + 0x00, 0x77, 0x00, 0x61, 0x00, 0x72, 0x00, 0x65, 0x00, 0x20, 0x00, 0x6d, + 0x00, 0x61, 0x00, 0x79, 0x00, 0x20, 0x00, 0x75, 0x00, 0x73, 0x00, 0x65, + 0x00, 0x20, 0x00, 0x74, 0x00, 0x68, 0x00, 0x65, 0x00, 0x20, 0x00, 0x52, + 0x00, 0x65, 0x00, 0x73, 0x00, 0x65, 0x00, 0x72, 0x00, 0x76, 0x00, 0x65, + 0x00, 0x64, 0x00, 0x20, 0x00, 0x46, 0x00, 0x6f, 0x00, 0x6e, 0x00, 0x74, + 0x00, 0x0a, 0x00, 0x4e, 0x00, 0x61, 0x00, 0x6d, 0x00, 0x65, 0x00, 0x28, + 0x00, 0x73, 0x00, 0x29, 0x00, 0x20, 0x00, 0x75, 0x00, 0x6e, 0x00, 0x6c, + 0x00, 0x65, 0x00, 0x73, 0x00, 0x73, 0x00, 0x20, 0x00, 0x65, 0x00, 0x78, + 0x00, 0x70, 0x00, 0x6c, 0x00, 0x69, 0x00, 0x63, 0x00, 0x69, 0x00, 0x74, + 0x00, 0x20, 0x00, 0x77, 0x00, 0x72, 0x00, 0x69, 0x00, 0x74, 0x00, 0x74, + 0x00, 0x65, 0x00, 0x6e, 0x00, 0x20, 0x00, 0x70, 0x00, 0x65, 0x00, 0x72, + 0x00, 0x6d, 0x00, 0x69, 0x00, 0x73, 0x00, 0x73, 0x00, 0x69, 0x00, 0x6f, + 0x00, 0x6e, 0x00, 0x20, 0x00, 0x69, 0x00, 0x73, 0x00, 0x20, 0x00, 0x67, + 0x00, 0x72, 0x00, 0x61, 0x00, 0x6e, 0x00, 0x74, 0x00, 0x65, 0x00, 0x64, + 0x00, 0x20, 0x00, 0x62, 0x00, 0x79, 0x00, 0x20, 0x00, 0x74, 0x00, 0x68, + 0x00, 0x65, 0x00, 0x20, 0x00, 0x63, 0x00, 0x6f, 0x00, 0x72, 0x00, 0x72, + 0x00, 0x65, 0x00, 0x73, 0x00, 0x70, 0x00, 0x6f, 0x00, 0x6e, 0x00, 0x64, + 0x00, 0x69, 0x00, 0x6e, 0x00, 0x67, 0x00, 0x0a, 0x00, 0x43, 0x00, 0x6f, + 0x00, 0x70, 0x00, 0x79, 0x00, 0x72, 0x00, 0x69, 0x00, 0x67, 0x00, 0x68, + 0x00, 0x74, 0x00, 0x20, 0x00, 0x48, 0x00, 0x6f, 0x00, 0x6c, 0x00, 0x64, + 0x00, 0x65, 0x00, 0x72, 0x00, 0x2e, 0x00, 0x20, 0x00, 0x54, 0x00, 0x68, + 0x00, 0x69, 0x00, 0x73, 0x00, 0x20, 0x00, 0x72, 0x00, 0x65, 0x00, 0x73, + 0x00, 0x74, 0x00, 0x72, 0x00, 0x69, 0x00, 0x63, 0x00, 0x74, 0x00, 0x69, + 0x00, 0x6f, 0x00, 0x6e, 0x00, 0x20, 0x00, 0x6f, 0x00, 0x6e, 0x00, 0x6c, + 0x00, 0x79, 0x00, 0x20, 0x00, 0x61, 0x00, 0x70, 0x00, 0x70, 0x00, 0x6c, + 0x00, 0x69, 0x00, 0x65, 0x00, 0x73, 0x00, 0x20, 0x00, 0x74, 0x00, 0x6f, + 0x00, 0x20, 0x00, 0x74, 0x00, 0x68, 0x00, 0x65, 0x00, 0x20, 0x00, 0x70, + 0x00, 0x72, 0x00, 0x69, 0x00, 0x6d, 0x00, 0x61, 0x00, 0x72, 0x00, 0x79, + 0x00, 0x20, 0x00, 0x66, 0x00, 0x6f, 0x00, 0x6e, 0x00, 0x74, 0x00, 0x20, + 0x00, 0x6e, 0x00, 0x61, 0x00, 0x6d, 0x00, 0x65, 0x00, 0x20, 0x00, 0x61, + 0x00, 0x73, 0x00, 0x0a, 0x00, 0x70, 0x00, 0x72, 0x00, 0x65, 0x00, 0x73, + 0x00, 0x65, 0x00, 0x6e, 0x00, 0x74, 0x00, 0x65, 0x00, 0x64, 0x00, 0x20, + 0x00, 0x74, 0x00, 0x6f, 0x00, 0x20, 0x00, 0x74, 0x00, 0x68, 0x00, 0x65, + 0x00, 0x20, 0x00, 0x75, 0x00, 0x73, 0x00, 0x65, 0x00, 0x72, 0x00, 0x73, + 0x00, 0x2e, 0x00, 0x0a, 0x00, 0x0a, 0x00, 0x34, 0x00, 0x29, 0x00, 0x20, + 0x00, 0x54, 0x00, 0x68, 0x00, 0x65, 0x00, 0x20, 0x00, 0x6e, 0x00, 0x61, + 0x00, 0x6d, 0x00, 0x65, 0x00, 0x28, 0x00, 0x73, 0x00, 0x29, 0x00, 0x20, + 0x00, 0x6f, 0x00, 0x66, 0x00, 0x20, 0x00, 0x74, 0x00, 0x68, 0x00, 0x65, + 0x00, 0x20, 0x00, 0x43, 0x00, 0x6f, 0x00, 0x70, 0x00, 0x79, 0x00, 0x72, + 0x00, 0x69, 0x00, 0x67, 0x00, 0x68, 0x00, 0x74, 0x00, 0x20, 0x00, 0x48, + 0x00, 0x6f, 0x00, 0x6c, 0x00, 0x64, 0x00, 0x65, 0x00, 0x72, 0x00, 0x28, + 0x00, 0x73, 0x00, 0x29, 0x00, 0x20, 0x00, 0x6f, 0x00, 0x72, 0x00, 0x20, + 0x00, 0x74, 0x00, 0x68, 0x00, 0x65, 0x00, 0x20, 0x00, 0x41, 0x00, 0x75, + 0x00, 0x74, 0x00, 0x68, 0x00, 0x6f, 0x00, 0x72, 0x00, 0x28, 0x00, 0x73, + 0x00, 0x29, 0x00, 0x20, 0x00, 0x6f, 0x00, 0x66, 0x00, 0x20, 0x00, 0x74, + 0x00, 0x68, 0x00, 0x65, 0x00, 0x20, 0x00, 0x46, 0x00, 0x6f, 0x00, 0x6e, + 0x00, 0x74, 0x00, 0x0a, 0x00, 0x53, 0x00, 0x6f, 0x00, 0x66, 0x00, 0x74, + 0x00, 0x77, 0x00, 0x61, 0x00, 0x72, 0x00, 0x65, 0x00, 0x20, 0x00, 0x73, + 0x00, 0x68, 0x00, 0x61, 0x00, 0x6c, 0x00, 0x6c, 0x00, 0x20, 0x00, 0x6e, + 0x00, 0x6f, 0x00, 0x74, 0x00, 0x20, 0x00, 0x62, 0x00, 0x65, 0x00, 0x20, + 0x00, 0x75, 0x00, 0x73, 0x00, 0x65, 0x00, 0x64, 0x00, 0x20, 0x00, 0x74, + 0x00, 0x6f, 0x00, 0x20, 0x00, 0x70, 0x00, 0x72, 0x00, 0x6f, 0x00, 0x6d, + 0x00, 0x6f, 0x00, 0x74, 0x00, 0x65, 0x00, 0x2c, 0x00, 0x20, 0x00, 0x65, + 0x00, 0x6e, 0x00, 0x64, 0x00, 0x6f, 0x00, 0x72, 0x00, 0x73, 0x00, 0x65, + 0x00, 0x20, 0x00, 0x6f, 0x00, 0x72, 0x00, 0x20, 0x00, 0x61, 0x00, 0x64, + 0x00, 0x76, 0x00, 0x65, 0x00, 0x72, 0x00, 0x74, 0x00, 0x69, 0x00, 0x73, + 0x00, 0x65, 0x00, 0x20, 0x00, 0x61, 0x00, 0x6e, 0x00, 0x79, 0x00, 0x0a, + 0x00, 0x4d, 0x00, 0x6f, 0x00, 0x64, 0x00, 0x69, 0x00, 0x66, 0x00, 0x69, + 0x00, 0x65, 0x00, 0x64, 0x00, 0x20, 0x00, 0x56, 0x00, 0x65, 0x00, 0x72, + 0x00, 0x73, 0x00, 0x69, 0x00, 0x6f, 0x00, 0x6e, 0x00, 0x2c, 0x00, 0x20, + 0x00, 0x65, 0x00, 0x78, 0x00, 0x63, 0x00, 0x65, 0x00, 0x70, 0x00, 0x74, + 0x00, 0x20, 0x00, 0x74, 0x00, 0x6f, 0x00, 0x20, 0x00, 0x61, 0x00, 0x63, + 0x00, 0x6b, 0x00, 0x6e, 0x00, 0x6f, 0x00, 0x77, 0x00, 0x6c, 0x00, 0x65, + 0x00, 0x64, 0x00, 0x67, 0x00, 0x65, 0x00, 0x20, 0x00, 0x74, 0x00, 0x68, + 0x00, 0x65, 0x00, 0x20, 0x00, 0x63, 0x00, 0x6f, 0x00, 0x6e, 0x00, 0x74, + 0x00, 0x72, 0x00, 0x69, 0x00, 0x62, 0x00, 0x75, 0x00, 0x74, 0x00, 0x69, + 0x00, 0x6f, 0x00, 0x6e, 0x00, 0x28, 0x00, 0x73, 0x00, 0x29, 0x00, 0x20, + 0x00, 0x6f, 0x00, 0x66, 0x00, 0x20, 0x00, 0x74, 0x00, 0x68, 0x00, 0x65, + 0x00, 0x0a, 0x00, 0x43, 0x00, 0x6f, 0x00, 0x70, 0x00, 0x79, 0x00, 0x72, + 0x00, 0x69, 0x00, 0x67, 0x00, 0x68, 0x00, 0x74, 0x00, 0x20, 0x00, 0x48, + 0x00, 0x6f, 0x00, 0x6c, 0x00, 0x64, 0x00, 0x65, 0x00, 0x72, 0x00, 0x28, + 0x00, 0x73, 0x00, 0x29, 0x00, 0x20, 0x00, 0x61, 0x00, 0x6e, 0x00, 0x64, + 0x00, 0x20, 0x00, 0x74, 0x00, 0x68, 0x00, 0x65, 0x00, 0x20, 0x00, 0x41, + 0x00, 0x75, 0x00, 0x74, 0x00, 0x68, 0x00, 0x6f, 0x00, 0x72, 0x00, 0x28, + 0x00, 0x73, 0x00, 0x29, 0x00, 0x20, 0x00, 0x6f, 0x00, 0x72, 0x00, 0x20, + 0x00, 0x77, 0x00, 0x69, 0x00, 0x74, 0x00, 0x68, 0x00, 0x20, 0x00, 0x74, + 0x00, 0x68, 0x00, 0x65, 0x00, 0x69, 0x00, 0x72, 0x00, 0x20, 0x00, 0x65, + 0x00, 0x78, 0x00, 0x70, 0x00, 0x6c, 0x00, 0x69, 0x00, 0x63, 0x00, 0x69, + 0x00, 0x74, 0x00, 0x20, 0x00, 0x77, 0x00, 0x72, 0x00, 0x69, 0x00, 0x74, + 0x00, 0x74, 0x00, 0x65, 0x00, 0x6e, 0x00, 0x0a, 0x00, 0x70, 0x00, 0x65, + 0x00, 0x72, 0x00, 0x6d, 0x00, 0x69, 0x00, 0x73, 0x00, 0x73, 0x00, 0x69, + 0x00, 0x6f, 0x00, 0x6e, 0x00, 0x2e, 0x00, 0x0a, 0x00, 0x0a, 0x00, 0x35, + 0x00, 0x29, 0x00, 0x20, 0x00, 0x54, 0x00, 0x68, 0x00, 0x65, 0x00, 0x20, + 0x00, 0x46, 0x00, 0x6f, 0x00, 0x6e, 0x00, 0x74, 0x00, 0x20, 0x00, 0x53, + 0x00, 0x6f, 0x00, 0x66, 0x00, 0x74, 0x00, 0x77, 0x00, 0x61, 0x00, 0x72, + 0x00, 0x65, 0x00, 0x2c, 0x00, 0x20, 0x00, 0x6d, 0x00, 0x6f, 0x00, 0x64, + 0x00, 0x69, 0x00, 0x66, 0x00, 0x69, 0x00, 0x65, 0x00, 0x64, 0x00, 0x20, + 0x00, 0x6f, 0x00, 0x72, 0x00, 0x20, 0x00, 0x75, 0x00, 0x6e, 0x00, 0x6d, + 0x00, 0x6f, 0x00, 0x64, 0x00, 0x69, 0x00, 0x66, 0x00, 0x69, 0x00, 0x65, + 0x00, 0x64, 0x00, 0x2c, 0x00, 0x20, 0x00, 0x69, 0x00, 0x6e, 0x00, 0x20, + 0x00, 0x70, 0x00, 0x61, 0x00, 0x72, 0x00, 0x74, 0x00, 0x20, 0x00, 0x6f, + 0x00, 0x72, 0x00, 0x20, 0x00, 0x69, 0x00, 0x6e, 0x00, 0x20, 0x00, 0x77, + 0x00, 0x68, 0x00, 0x6f, 0x00, 0x6c, 0x00, 0x65, 0x00, 0x2c, 0x00, 0x0a, + 0x00, 0x6d, 0x00, 0x75, 0x00, 0x73, 0x00, 0x74, 0x00, 0x20, 0x00, 0x62, + 0x00, 0x65, 0x00, 0x20, 0x00, 0x64, 0x00, 0x69, 0x00, 0x73, 0x00, 0x74, + 0x00, 0x72, 0x00, 0x69, 0x00, 0x62, 0x00, 0x75, 0x00, 0x74, 0x00, 0x65, + 0x00, 0x64, 0x00, 0x20, 0x00, 0x65, 0x00, 0x6e, 0x00, 0x74, 0x00, 0x69, + 0x00, 0x72, 0x00, 0x65, 0x00, 0x6c, 0x00, 0x79, 0x00, 0x20, 0x00, 0x75, + 0x00, 0x6e, 0x00, 0x64, 0x00, 0x65, 0x00, 0x72, 0x00, 0x20, 0x00, 0x74, + 0x00, 0x68, 0x00, 0x69, 0x00, 0x73, 0x00, 0x20, 0x00, 0x6c, 0x00, 0x69, + 0x00, 0x63, 0x00, 0x65, 0x00, 0x6e, 0x00, 0x73, 0x00, 0x65, 0x00, 0x2c, + 0x00, 0x20, 0x00, 0x61, 0x00, 0x6e, 0x00, 0x64, 0x00, 0x20, 0x00, 0x6d, + 0x00, 0x75, 0x00, 0x73, 0x00, 0x74, 0x00, 0x20, 0x00, 0x6e, 0x00, 0x6f, + 0x00, 0x74, 0x00, 0x20, 0x00, 0x62, 0x00, 0x65, 0x00, 0x0a, 0x00, 0x64, + 0x00, 0x69, 0x00, 0x73, 0x00, 0x74, 0x00, 0x72, 0x00, 0x69, 0x00, 0x62, + 0x00, 0x75, 0x00, 0x74, 0x00, 0x65, 0x00, 0x64, 0x00, 0x20, 0x00, 0x75, + 0x00, 0x6e, 0x00, 0x64, 0x00, 0x65, 0x00, 0x72, 0x00, 0x20, 0x00, 0x61, + 0x00, 0x6e, 0x00, 0x79, 0x00, 0x20, 0x00, 0x6f, 0x00, 0x74, 0x00, 0x68, + 0x00, 0x65, 0x00, 0x72, 0x00, 0x20, 0x00, 0x6c, 0x00, 0x69, 0x00, 0x63, + 0x00, 0x65, 0x00, 0x6e, 0x00, 0x73, 0x00, 0x65, 0x00, 0x2e, 0x00, 0x20, + 0x00, 0x54, 0x00, 0x68, 0x00, 0x65, 0x00, 0x20, 0x00, 0x72, 0x00, 0x65, + 0x00, 0x71, 0x00, 0x75, 0x00, 0x69, 0x00, 0x72, 0x00, 0x65, 0x00, 0x6d, + 0x00, 0x65, 0x00, 0x6e, 0x00, 0x74, 0x00, 0x20, 0x00, 0x66, 0x00, 0x6f, + 0x00, 0x72, 0x00, 0x20, 0x00, 0x66, 0x00, 0x6f, 0x00, 0x6e, 0x00, 0x74, + 0x00, 0x73, 0x00, 0x20, 0x00, 0x74, 0x00, 0x6f, 0x00, 0x0a, 0x00, 0x72, + 0x00, 0x65, 0x00, 0x6d, 0x00, 0x61, 0x00, 0x69, 0x00, 0x6e, 0x00, 0x20, + 0x00, 0x75, 0x00, 0x6e, 0x00, 0x64, 0x00, 0x65, 0x00, 0x72, 0x00, 0x20, + 0x00, 0x74, 0x00, 0x68, 0x00, 0x69, 0x00, 0x73, 0x00, 0x20, 0x00, 0x6c, + 0x00, 0x69, 0x00, 0x63, 0x00, 0x65, 0x00, 0x6e, 0x00, 0x73, 0x00, 0x65, + 0x00, 0x20, 0x00, 0x64, 0x00, 0x6f, 0x00, 0x65, 0x00, 0x73, 0x00, 0x20, + 0x00, 0x6e, 0x00, 0x6f, 0x00, 0x74, 0x00, 0x20, 0x00, 0x61, 0x00, 0x70, + 0x00, 0x70, 0x00, 0x6c, 0x00, 0x79, 0x00, 0x20, 0x00, 0x74, 0x00, 0x6f, + 0x00, 0x20, 0x00, 0x61, 0x00, 0x6e, 0x00, 0x79, 0x00, 0x20, 0x00, 0x64, + 0x00, 0x6f, 0x00, 0x63, 0x00, 0x75, 0x00, 0x6d, 0x00, 0x65, 0x00, 0x6e, + 0x00, 0x74, 0x00, 0x20, 0x00, 0x63, 0x00, 0x72, 0x00, 0x65, 0x00, 0x61, + 0x00, 0x74, 0x00, 0x65, 0x00, 0x64, 0x00, 0x0a, 0x00, 0x75, 0x00, 0x73, + 0x00, 0x69, 0x00, 0x6e, 0x00, 0x67, 0x00, 0x20, 0x00, 0x74, 0x00, 0x68, + 0x00, 0x65, 0x00, 0x20, 0x00, 0x46, 0x00, 0x6f, 0x00, 0x6e, 0x00, 0x74, + 0x00, 0x20, 0x00, 0x53, 0x00, 0x6f, 0x00, 0x66, 0x00, 0x74, 0x00, 0x77, + 0x00, 0x61, 0x00, 0x72, 0x00, 0x65, 0x00, 0x2e, 0x00, 0x0a, 0x00, 0x0a, + 0x00, 0x54, 0x00, 0x45, 0x00, 0x52, 0x00, 0x4d, 0x00, 0x49, 0x00, 0x4e, + 0x00, 0x41, 0x00, 0x54, 0x00, 0x49, 0x00, 0x4f, 0x00, 0x4e, 0x00, 0x0a, + 0x00, 0x54, 0x00, 0x68, 0x00, 0x69, 0x00, 0x73, 0x00, 0x20, 0x00, 0x6c, + 0x00, 0x69, 0x00, 0x63, 0x00, 0x65, 0x00, 0x6e, 0x00, 0x73, 0x00, 0x65, + 0x00, 0x20, 0x00, 0x62, 0x00, 0x65, 0x00, 0x63, 0x00, 0x6f, 0x00, 0x6d, + 0x00, 0x65, 0x00, 0x73, 0x00, 0x20, 0x00, 0x6e, 0x00, 0x75, 0x00, 0x6c, + 0x00, 0x6c, 0x00, 0x20, 0x00, 0x61, 0x00, 0x6e, 0x00, 0x64, 0x00, 0x20, + 0x00, 0x76, 0x00, 0x6f, 0x00, 0x69, 0x00, 0x64, 0x00, 0x20, 0x00, 0x69, + 0x00, 0x66, 0x00, 0x20, 0x00, 0x61, 0x00, 0x6e, 0x00, 0x79, 0x00, 0x20, + 0x00, 0x6f, 0x00, 0x66, 0x00, 0x20, 0x00, 0x74, 0x00, 0x68, 0x00, 0x65, + 0x00, 0x20, 0x00, 0x61, 0x00, 0x62, 0x00, 0x6f, 0x00, 0x76, 0x00, 0x65, + 0x00, 0x20, 0x00, 0x63, 0x00, 0x6f, 0x00, 0x6e, 0x00, 0x64, 0x00, 0x69, + 0x00, 0x74, 0x00, 0x69, 0x00, 0x6f, 0x00, 0x6e, 0x00, 0x73, 0x00, 0x20, + 0x00, 0x61, 0x00, 0x72, 0x00, 0x65, 0x00, 0x0a, 0x00, 0x6e, 0x00, 0x6f, + 0x00, 0x74, 0x00, 0x20, 0x00, 0x6d, 0x00, 0x65, 0x00, 0x74, 0x00, 0x2e, + 0x00, 0x0a, 0x00, 0x0a, 0x00, 0x44, 0x00, 0x49, 0x00, 0x53, 0x00, 0x43, + 0x00, 0x4c, 0x00, 0x41, 0x00, 0x49, 0x00, 0x4d, 0x00, 0x45, 0x00, 0x52, + 0x00, 0x0a, 0x00, 0x54, 0x00, 0x48, 0x00, 0x45, 0x00, 0x20, 0x00, 0x46, + 0x00, 0x4f, 0x00, 0x4e, 0x00, 0x54, 0x00, 0x20, 0x00, 0x53, 0x00, 0x4f, + 0x00, 0x46, 0x00, 0x54, 0x00, 0x57, 0x00, 0x41, 0x00, 0x52, 0x00, 0x45, + 0x00, 0x20, 0x00, 0x49, 0x00, 0x53, 0x00, 0x20, 0x00, 0x50, 0x00, 0x52, + 0x00, 0x4f, 0x00, 0x56, 0x00, 0x49, 0x00, 0x44, 0x00, 0x45, 0x00, 0x44, + 0x00, 0x20, 0x00, 0x22, 0x00, 0x41, 0x00, 0x53, 0x00, 0x20, 0x00, 0x49, + 0x00, 0x53, 0x00, 0x22, 0x00, 0x2c, 0x00, 0x20, 0x00, 0x57, 0x00, 0x49, + 0x00, 0x54, 0x00, 0x48, 0x00, 0x4f, 0x00, 0x55, 0x00, 0x54, 0x00, 0x20, + 0x00, 0x57, 0x00, 0x41, 0x00, 0x52, 0x00, 0x52, 0x00, 0x41, 0x00, 0x4e, + 0x00, 0x54, 0x00, 0x59, 0x00, 0x20, 0x00, 0x4f, 0x00, 0x46, 0x00, 0x20, + 0x00, 0x41, 0x00, 0x4e, 0x00, 0x59, 0x00, 0x20, 0x00, 0x4b, 0x00, 0x49, + 0x00, 0x4e, 0x00, 0x44, 0x00, 0x2c, 0x00, 0x0a, 0x00, 0x45, 0x00, 0x58, + 0x00, 0x50, 0x00, 0x52, 0x00, 0x45, 0x00, 0x53, 0x00, 0x53, 0x00, 0x20, + 0x00, 0x4f, 0x00, 0x52, 0x00, 0x20, 0x00, 0x49, 0x00, 0x4d, 0x00, 0x50, + 0x00, 0x4c, 0x00, 0x49, 0x00, 0x45, 0x00, 0x44, 0x00, 0x2c, 0x00, 0x20, + 0x00, 0x49, 0x00, 0x4e, 0x00, 0x43, 0x00, 0x4c, 0x00, 0x55, 0x00, 0x44, + 0x00, 0x49, 0x00, 0x4e, 0x00, 0x47, 0x00, 0x20, 0x00, 0x42, 0x00, 0x55, + 0x00, 0x54, 0x00, 0x20, 0x00, 0x4e, 0x00, 0x4f, 0x00, 0x54, 0x00, 0x20, + 0x00, 0x4c, 0x00, 0x49, 0x00, 0x4d, 0x00, 0x49, 0x00, 0x54, 0x00, 0x45, + 0x00, 0x44, 0x00, 0x20, 0x00, 0x54, 0x00, 0x4f, 0x00, 0x20, 0x00, 0x41, + 0x00, 0x4e, 0x00, 0x59, 0x00, 0x20, 0x00, 0x57, 0x00, 0x41, 0x00, 0x52, + 0x00, 0x52, 0x00, 0x41, 0x00, 0x4e, 0x00, 0x54, 0x00, 0x49, 0x00, 0x45, + 0x00, 0x53, 0x00, 0x20, 0x00, 0x4f, 0x00, 0x46, 0x00, 0x0a, 0x00, 0x4d, + 0x00, 0x45, 0x00, 0x52, 0x00, 0x43, 0x00, 0x48, 0x00, 0x41, 0x00, 0x4e, + 0x00, 0x54, 0x00, 0x41, 0x00, 0x42, 0x00, 0x49, 0x00, 0x4c, 0x00, 0x49, + 0x00, 0x54, 0x00, 0x59, 0x00, 0x2c, 0x00, 0x20, 0x00, 0x46, 0x00, 0x49, + 0x00, 0x54, 0x00, 0x4e, 0x00, 0x45, 0x00, 0x53, 0x00, 0x53, 0x00, 0x20, + 0x00, 0x46, 0x00, 0x4f, 0x00, 0x52, 0x00, 0x20, 0x00, 0x41, 0x00, 0x20, + 0x00, 0x50, 0x00, 0x41, 0x00, 0x52, 0x00, 0x54, 0x00, 0x49, 0x00, 0x43, + 0x00, 0x55, 0x00, 0x4c, 0x00, 0x41, 0x00, 0x52, 0x00, 0x20, 0x00, 0x50, + 0x00, 0x55, 0x00, 0x52, 0x00, 0x50, 0x00, 0x4f, 0x00, 0x53, 0x00, 0x45, + 0x00, 0x20, 0x00, 0x41, 0x00, 0x4e, 0x00, 0x44, 0x00, 0x20, 0x00, 0x4e, + 0x00, 0x4f, 0x00, 0x4e, 0x00, 0x49, 0x00, 0x4e, 0x00, 0x46, 0x00, 0x52, + 0x00, 0x49, 0x00, 0x4e, 0x00, 0x47, 0x00, 0x45, 0x00, 0x4d, 0x00, 0x45, + 0x00, 0x4e, 0x00, 0x54, 0x00, 0x0a, 0x00, 0x4f, 0x00, 0x46, 0x00, 0x20, + 0x00, 0x43, 0x00, 0x4f, 0x00, 0x50, 0x00, 0x59, 0x00, 0x52, 0x00, 0x49, + 0x00, 0x47, 0x00, 0x48, 0x00, 0x54, 0x00, 0x2c, 0x00, 0x20, 0x00, 0x50, + 0x00, 0x41, 0x00, 0x54, 0x00, 0x45, 0x00, 0x4e, 0x00, 0x54, 0x00, 0x2c, + 0x00, 0x20, 0x00, 0x54, 0x00, 0x52, 0x00, 0x41, 0x00, 0x44, 0x00, 0x45, + 0x00, 0x4d, 0x00, 0x41, 0x00, 0x52, 0x00, 0x4b, 0x00, 0x2c, 0x00, 0x20, + 0x00, 0x4f, 0x00, 0x52, 0x00, 0x20, 0x00, 0x4f, 0x00, 0x54, 0x00, 0x48, + 0x00, 0x45, 0x00, 0x52, 0x00, 0x20, 0x00, 0x52, 0x00, 0x49, 0x00, 0x47, + 0x00, 0x48, 0x00, 0x54, 0x00, 0x2e, 0x00, 0x20, 0x00, 0x49, 0x00, 0x4e, + 0x00, 0x20, 0x00, 0x4e, 0x00, 0x4f, 0x00, 0x20, 0x00, 0x45, 0x00, 0x56, + 0x00, 0x45, 0x00, 0x4e, 0x00, 0x54, 0x00, 0x20, 0x00, 0x53, 0x00, 0x48, + 0x00, 0x41, 0x00, 0x4c, 0x00, 0x4c, 0x00, 0x20, 0x00, 0x54, 0x00, 0x48, + 0x00, 0x45, 0x00, 0x0a, 0x00, 0x43, 0x00, 0x4f, 0x00, 0x50, 0x00, 0x59, + 0x00, 0x52, 0x00, 0x49, 0x00, 0x47, 0x00, 0x48, 0x00, 0x54, 0x00, 0x20, + 0x00, 0x48, 0x00, 0x4f, 0x00, 0x4c, 0x00, 0x44, 0x00, 0x45, 0x00, 0x52, + 0x00, 0x20, 0x00, 0x42, 0x00, 0x45, 0x00, 0x20, 0x00, 0x4c, 0x00, 0x49, + 0x00, 0x41, 0x00, 0x42, 0x00, 0x4c, 0x00, 0x45, 0x00, 0x20, 0x00, 0x46, + 0x00, 0x4f, 0x00, 0x52, 0x00, 0x20, 0x00, 0x41, 0x00, 0x4e, 0x00, 0x59, + 0x00, 0x20, 0x00, 0x43, 0x00, 0x4c, 0x00, 0x41, 0x00, 0x49, 0x00, 0x4d, + 0x00, 0x2c, 0x00, 0x20, 0x00, 0x44, 0x00, 0x41, 0x00, 0x4d, 0x00, 0x41, + 0x00, 0x47, 0x00, 0x45, 0x00, 0x53, 0x00, 0x20, 0x00, 0x4f, 0x00, 0x52, + 0x00, 0x20, 0x00, 0x4f, 0x00, 0x54, 0x00, 0x48, 0x00, 0x45, 0x00, 0x52, + 0x00, 0x20, 0x00, 0x4c, 0x00, 0x49, 0x00, 0x41, 0x00, 0x42, 0x00, 0x49, + 0x00, 0x4c, 0x00, 0x49, 0x00, 0x54, 0x00, 0x59, 0x00, 0x2c, 0x00, 0x0a, + 0x00, 0x49, 0x00, 0x4e, 0x00, 0x43, 0x00, 0x4c, 0x00, 0x55, 0x00, 0x44, + 0x00, 0x49, 0x00, 0x4e, 0x00, 0x47, 0x00, 0x20, 0x00, 0x41, 0x00, 0x4e, + 0x00, 0x59, 0x00, 0x20, 0x00, 0x47, 0x00, 0x45, 0x00, 0x4e, 0x00, 0x45, + 0x00, 0x52, 0x00, 0x41, 0x00, 0x4c, 0x00, 0x2c, 0x00, 0x20, 0x00, 0x53, + 0x00, 0x50, 0x00, 0x45, 0x00, 0x43, 0x00, 0x49, 0x00, 0x41, 0x00, 0x4c, + 0x00, 0x2c, 0x00, 0x20, 0x00, 0x49, 0x00, 0x4e, 0x00, 0x44, 0x00, 0x49, + 0x00, 0x52, 0x00, 0x45, 0x00, 0x43, 0x00, 0x54, 0x00, 0x2c, 0x00, 0x20, + 0x00, 0x49, 0x00, 0x4e, 0x00, 0x43, 0x00, 0x49, 0x00, 0x44, 0x00, 0x45, + 0x00, 0x4e, 0x00, 0x54, 0x00, 0x41, 0x00, 0x4c, 0x00, 0x2c, 0x00, 0x20, + 0x00, 0x4f, 0x00, 0x52, 0x00, 0x20, 0x00, 0x43, 0x00, 0x4f, 0x00, 0x4e, + 0x00, 0x53, 0x00, 0x45, 0x00, 0x51, 0x00, 0x55, 0x00, 0x45, 0x00, 0x4e, + 0x00, 0x54, 0x00, 0x49, 0x00, 0x41, 0x00, 0x4c, 0x00, 0x0a, 0x00, 0x44, + 0x00, 0x41, 0x00, 0x4d, 0x00, 0x41, 0x00, 0x47, 0x00, 0x45, 0x00, 0x53, + 0x00, 0x2c, 0x00, 0x20, 0x00, 0x57, 0x00, 0x48, 0x00, 0x45, 0x00, 0x54, + 0x00, 0x48, 0x00, 0x45, 0x00, 0x52, 0x00, 0x20, 0x00, 0x49, 0x00, 0x4e, + 0x00, 0x20, 0x00, 0x41, 0x00, 0x4e, 0x00, 0x20, 0x00, 0x41, 0x00, 0x43, + 0x00, 0x54, 0x00, 0x49, 0x00, 0x4f, 0x00, 0x4e, 0x00, 0x20, 0x00, 0x4f, + 0x00, 0x46, 0x00, 0x20, 0x00, 0x43, 0x00, 0x4f, 0x00, 0x4e, 0x00, 0x54, + 0x00, 0x52, 0x00, 0x41, 0x00, 0x43, 0x00, 0x54, 0x00, 0x2c, 0x00, 0x20, + 0x00, 0x54, 0x00, 0x4f, 0x00, 0x52, 0x00, 0x54, 0x00, 0x20, 0x00, 0x4f, + 0x00, 0x52, 0x00, 0x20, 0x00, 0x4f, 0x00, 0x54, 0x00, 0x48, 0x00, 0x45, + 0x00, 0x52, 0x00, 0x57, 0x00, 0x49, 0x00, 0x53, 0x00, 0x45, 0x00, 0x2c, + 0x00, 0x20, 0x00, 0x41, 0x00, 0x52, 0x00, 0x49, 0x00, 0x53, 0x00, 0x49, + 0x00, 0x4e, 0x00, 0x47, 0x00, 0x0a, 0x00, 0x46, 0x00, 0x52, 0x00, 0x4f, + 0x00, 0x4d, 0x00, 0x2c, 0x00, 0x20, 0x00, 0x4f, 0x00, 0x55, 0x00, 0x54, + 0x00, 0x20, 0x00, 0x4f, 0x00, 0x46, 0x00, 0x20, 0x00, 0x54, 0x00, 0x48, + 0x00, 0x45, 0x00, 0x20, 0x00, 0x55, 0x00, 0x53, 0x00, 0x45, 0x00, 0x20, + 0x00, 0x4f, 0x00, 0x52, 0x00, 0x20, 0x00, 0x49, 0x00, 0x4e, 0x00, 0x41, + 0x00, 0x42, 0x00, 0x49, 0x00, 0x4c, 0x00, 0x49, 0x00, 0x54, 0x00, 0x59, + 0x00, 0x20, 0x00, 0x54, 0x00, 0x4f, 0x00, 0x20, 0x00, 0x55, 0x00, 0x53, + 0x00, 0x45, 0x00, 0x20, 0x00, 0x54, 0x00, 0x48, 0x00, 0x45, 0x00, 0x20, + 0x00, 0x46, 0x00, 0x4f, 0x00, 0x4e, 0x00, 0x54, 0x00, 0x20, 0x00, 0x53, + 0x00, 0x4f, 0x00, 0x46, 0x00, 0x54, 0x00, 0x57, 0x00, 0x41, 0x00, 0x52, + 0x00, 0x45, 0x00, 0x20, 0x00, 0x4f, 0x00, 0x52, 0x00, 0x20, 0x00, 0x46, + 0x00, 0x52, 0x00, 0x4f, 0x00, 0x4d, 0x00, 0x0a, 0x00, 0x4f, 0x00, 0x54, + 0x00, 0x48, 0x00, 0x45, 0x00, 0x52, 0x00, 0x20, 0x00, 0x44, 0x00, 0x45, + 0x00, 0x41, 0x00, 0x4c, 0x00, 0x49, 0x00, 0x4e, 0x00, 0x47, 0x00, 0x53, + 0x00, 0x20, 0x00, 0x49, 0x00, 0x4e, 0x00, 0x20, 0x00, 0x54, 0x00, 0x48, + 0x00, 0x45, 0x00, 0x20, 0x00, 0x46, 0x00, 0x4f, 0x00, 0x4e, 0x00, 0x54, + 0x00, 0x20, 0x00, 0x53, 0x00, 0x4f, 0x00, 0x46, 0x00, 0x54, 0x00, 0x57, + 0x00, 0x41, 0x00, 0x52, 0x00, 0x45, 0x00, 0x2e, 0x00, 0x00, 0x43, 0x6f, + 0x70, 0x79, 0x72, 0x69, 0x67, 0x68, 0x74, 0x20, 0x28, 0x63, 0x29, 0x20, + 0x32, 0x30, 0x32, 0x30, 0x2c, 0x20, 0x52, 0x6f, 0x62, 0x65, 0x72, 0x74, + 0x6f, 0x20, 0x28, 0x3c, 0x70, 0x61, 0x74, 0x72, 0x65, 0x6f, 0x6e, 0x2e, + 0x63, 0x6f, 0x6d, 0x2f, 0x72, 0x6d, 0x6f, 0x63, 0x63, 0x69, 0x20, 0x7c, + 0x20, 0x64, 0x61, 0x2e, 0x69, 0x6f, 0x73, 0x6f, 0x6e, 0x6f, 0x72, 0x40, + 0x67, 0x6d, 0x61, 0x69, 0x6c, 0x2e, 0x63, 0x6f, 0x6d, 0x3e, 0x29, 0x2c, + 0x0a, 0x77, 0x69, 0x74, 0x68, 0x20, 0x52, 0x65, 0x73, 0x65, 0x72, 0x76, + 0x65, 0x64, 0x20, 0x46, 0x6f, 0x6e, 0x74, 0x20, 0x4e, 0x61, 0x6d, 0x65, + 0x20, 0x44, 0x6f, 0x67, 0x69, 0x63, 0x61, 0x2e, 0x0a, 0x0a, 0x54, 0x68, + 0x69, 0x73, 0x20, 0x46, 0x6f, 0x6e, 0x74, 0x20, 0x53, 0x6f, 0x66, 0x74, + 0x77, 0x61, 0x72, 0x65, 0x20, 0x69, 0x73, 0x20, 0x6c, 0x69, 0x63, 0x65, + 0x6e, 0x73, 0x65, 0x64, 0x20, 0x75, 0x6e, 0x64, 0x65, 0x72, 0x20, 0x74, + 0x68, 0x65, 0x20, 0x53, 0x49, 0x4c, 0x20, 0x4f, 0x70, 0x65, 0x6e, 0x20, + 0x46, 0x6f, 0x6e, 0x74, 0x20, 0x4c, 0x69, 0x63, 0x65, 0x6e, 0x73, 0x65, + 0x2c, 0x20, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x20, 0x31, 0x2e, + 0x31, 0x2e, 0x0a, 0x54, 0x68, 0x69, 0x73, 0x20, 0x6c, 0x69, 0x63, 0x65, + 0x6e, 0x73, 0x65, 0x20, 0x69, 0x73, 0x20, 0x63, 0x6f, 0x70, 0x69, 0x65, + 0x64, 0x20, 0x62, 0x65, 0x6c, 0x6f, 0x77, 0x2c, 0x20, 0x61, 0x6e, 0x64, + 0x20, 0x69, 0x73, 0x20, 0x61, 0x6c, 0x73, 0x6f, 0x20, 0x61, 0x76, 0x61, + 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x20, 0x77, 0x69, 0x74, 0x68, 0x20, + 0x61, 0x20, 0x46, 0x41, 0x51, 0x20, 0x61, 0x74, 0x3a, 0x0a, 0x68, 0x74, + 0x74, 0x70, 0x3a, 0x2f, 0x2f, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x73, + 0x2e, 0x73, 0x69, 0x6c, 0x2e, 0x6f, 0x72, 0x67, 0x2f, 0x4f, 0x46, 0x4c, + 0x0a, 0x0a, 0x0a, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, + 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, + 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, + 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, + 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, + 0x2d, 0x2d, 0x0a, 0x53, 0x49, 0x4c, 0x20, 0x4f, 0x50, 0x45, 0x4e, 0x20, + 0x46, 0x4f, 0x4e, 0x54, 0x20, 0x4c, 0x49, 0x43, 0x45, 0x4e, 0x53, 0x45, + 0x20, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x20, 0x31, 0x2e, 0x31, + 0x20, 0x2d, 0x20, 0x32, 0x36, 0x20, 0x46, 0x65, 0x62, 0x72, 0x75, 0x61, + 0x72, 0x79, 0x20, 0x32, 0x30, 0x30, 0x37, 0x0a, 0x2d, 0x2d, 0x2d, 0x2d, + 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, + 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, + 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, + 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, + 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x0a, 0x0a, 0x50, 0x52, 0x45, + 0x41, 0x4d, 0x42, 0x4c, 0x45, 0x0a, 0x54, 0x68, 0x65, 0x20, 0x67, 0x6f, + 0x61, 0x6c, 0x73, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x4f, + 0x70, 0x65, 0x6e, 0x20, 0x46, 0x6f, 0x6e, 0x74, 0x20, 0x4c, 0x69, 0x63, + 0x65, 0x6e, 0x73, 0x65, 0x20, 0x28, 0x4f, 0x46, 0x4c, 0x29, 0x20, 0x61, + 0x72, 0x65, 0x20, 0x74, 0x6f, 0x20, 0x73, 0x74, 0x69, 0x6d, 0x75, 0x6c, + 0x61, 0x74, 0x65, 0x20, 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x77, 0x69, 0x64, + 0x65, 0x0a, 0x64, 0x65, 0x76, 0x65, 0x6c, 0x6f, 0x70, 0x6d, 0x65, 0x6e, + 0x74, 0x20, 0x6f, 0x66, 0x20, 0x63, 0x6f, 0x6c, 0x6c, 0x61, 0x62, 0x6f, + 0x72, 0x61, 0x74, 0x69, 0x76, 0x65, 0x20, 0x66, 0x6f, 0x6e, 0x74, 0x20, + 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2c, 0x20, 0x74, 0x6f, + 0x20, 0x73, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x20, 0x74, 0x68, 0x65, + 0x20, 0x66, 0x6f, 0x6e, 0x74, 0x20, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x0a, 0x65, 0x66, 0x66, 0x6f, 0x72, 0x74, 0x73, 0x20, 0x6f, + 0x66, 0x20, 0x61, 0x63, 0x61, 0x64, 0x65, 0x6d, 0x69, 0x63, 0x20, 0x61, + 0x6e, 0x64, 0x20, 0x6c, 0x69, 0x6e, 0x67, 0x75, 0x69, 0x73, 0x74, 0x69, + 0x63, 0x20, 0x63, 0x6f, 0x6d, 0x6d, 0x75, 0x6e, 0x69, 0x74, 0x69, 0x65, + 0x73, 0x2c, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x74, 0x6f, 0x20, 0x70, 0x72, + 0x6f, 0x76, 0x69, 0x64, 0x65, 0x20, 0x61, 0x20, 0x66, 0x72, 0x65, 0x65, + 0x20, 0x61, 0x6e, 0x64, 0x0a, 0x6f, 0x70, 0x65, 0x6e, 0x20, 0x66, 0x72, + 0x61, 0x6d, 0x65, 0x77, 0x6f, 0x72, 0x6b, 0x20, 0x69, 0x6e, 0x20, 0x77, + 0x68, 0x69, 0x63, 0x68, 0x20, 0x66, 0x6f, 0x6e, 0x74, 0x73, 0x20, 0x6d, + 0x61, 0x79, 0x20, 0x62, 0x65, 0x20, 0x73, 0x68, 0x61, 0x72, 0x65, 0x64, + 0x20, 0x61, 0x6e, 0x64, 0x20, 0x69, 0x6d, 0x70, 0x72, 0x6f, 0x76, 0x65, + 0x64, 0x20, 0x69, 0x6e, 0x20, 0x70, 0x61, 0x72, 0x74, 0x6e, 0x65, 0x72, + 0x73, 0x68, 0x69, 0x70, 0x0a, 0x77, 0x69, 0x74, 0x68, 0x20, 0x6f, 0x74, + 0x68, 0x65, 0x72, 0x73, 0x2e, 0x0a, 0x0a, 0x54, 0x68, 0x65, 0x20, 0x4f, + 0x46, 0x4c, 0x20, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x73, 0x20, 0x74, 0x68, + 0x65, 0x20, 0x6c, 0x69, 0x63, 0x65, 0x6e, 0x73, 0x65, 0x64, 0x20, 0x66, + 0x6f, 0x6e, 0x74, 0x73, 0x20, 0x74, 0x6f, 0x20, 0x62, 0x65, 0x20, 0x75, + 0x73, 0x65, 0x64, 0x2c, 0x20, 0x73, 0x74, 0x75, 0x64, 0x69, 0x65, 0x64, + 0x2c, 0x20, 0x6d, 0x6f, 0x64, 0x69, 0x66, 0x69, 0x65, 0x64, 0x20, 0x61, + 0x6e, 0x64, 0x0a, 0x72, 0x65, 0x64, 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, + 0x75, 0x74, 0x65, 0x64, 0x20, 0x66, 0x72, 0x65, 0x65, 0x6c, 0x79, 0x20, + 0x61, 0x73, 0x20, 0x6c, 0x6f, 0x6e, 0x67, 0x20, 0x61, 0x73, 0x20, 0x74, + 0x68, 0x65, 0x79, 0x20, 0x61, 0x72, 0x65, 0x20, 0x6e, 0x6f, 0x74, 0x20, + 0x73, 0x6f, 0x6c, 0x64, 0x20, 0x62, 0x79, 0x20, 0x74, 0x68, 0x65, 0x6d, + 0x73, 0x65, 0x6c, 0x76, 0x65, 0x73, 0x2e, 0x20, 0x54, 0x68, 0x65, 0x0a, + 0x66, 0x6f, 0x6e, 0x74, 0x73, 0x2c, 0x20, 0x69, 0x6e, 0x63, 0x6c, 0x75, + 0x64, 0x69, 0x6e, 0x67, 0x20, 0x61, 0x6e, 0x79, 0x20, 0x64, 0x65, 0x72, + 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x20, 0x77, 0x6f, 0x72, 0x6b, + 0x73, 0x2c, 0x20, 0x63, 0x61, 0x6e, 0x20, 0x62, 0x65, 0x20, 0x62, 0x75, + 0x6e, 0x64, 0x6c, 0x65, 0x64, 0x2c, 0x20, 0x65, 0x6d, 0x62, 0x65, 0x64, + 0x64, 0x65, 0x64, 0x2c, 0x20, 0x0a, 0x72, 0x65, 0x64, 0x69, 0x73, 0x74, + 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x64, 0x20, 0x61, 0x6e, 0x64, 0x2f, + 0x6f, 0x72, 0x20, 0x73, 0x6f, 0x6c, 0x64, 0x20, 0x77, 0x69, 0x74, 0x68, + 0x20, 0x61, 0x6e, 0x79, 0x20, 0x73, 0x6f, 0x66, 0x74, 0x77, 0x61, 0x72, + 0x65, 0x20, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x64, 0x20, 0x74, + 0x68, 0x61, 0x74, 0x20, 0x61, 0x6e, 0x79, 0x20, 0x72, 0x65, 0x73, 0x65, + 0x72, 0x76, 0x65, 0x64, 0x0a, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x20, 0x61, + 0x72, 0x65, 0x20, 0x6e, 0x6f, 0x74, 0x20, 0x75, 0x73, 0x65, 0x64, 0x20, + 0x62, 0x79, 0x20, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, + 0x65, 0x20, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x2e, 0x20, 0x54, 0x68, 0x65, + 0x20, 0x66, 0x6f, 0x6e, 0x74, 0x73, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x64, + 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x73, 0x2c, 0x0a, + 0x68, 0x6f, 0x77, 0x65, 0x76, 0x65, 0x72, 0x2c, 0x20, 0x63, 0x61, 0x6e, + 0x6e, 0x6f, 0x74, 0x20, 0x62, 0x65, 0x20, 0x72, 0x65, 0x6c, 0x65, 0x61, + 0x73, 0x65, 0x64, 0x20, 0x75, 0x6e, 0x64, 0x65, 0x72, 0x20, 0x61, 0x6e, + 0x79, 0x20, 0x6f, 0x74, 0x68, 0x65, 0x72, 0x20, 0x74, 0x79, 0x70, 0x65, + 0x20, 0x6f, 0x66, 0x20, 0x6c, 0x69, 0x63, 0x65, 0x6e, 0x73, 0x65, 0x2e, + 0x20, 0x54, 0x68, 0x65, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, + 0x6d, 0x65, 0x6e, 0x74, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x66, 0x6f, 0x6e, + 0x74, 0x73, 0x20, 0x74, 0x6f, 0x20, 0x72, 0x65, 0x6d, 0x61, 0x69, 0x6e, + 0x20, 0x75, 0x6e, 0x64, 0x65, 0x72, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, + 0x6c, 0x69, 0x63, 0x65, 0x6e, 0x73, 0x65, 0x20, 0x64, 0x6f, 0x65, 0x73, + 0x20, 0x6e, 0x6f, 0x74, 0x20, 0x61, 0x70, 0x70, 0x6c, 0x79, 0x0a, 0x74, + 0x6f, 0x20, 0x61, 0x6e, 0x79, 0x20, 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, + 0x6e, 0x74, 0x20, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x20, 0x75, + 0x73, 0x69, 0x6e, 0x67, 0x20, 0x74, 0x68, 0x65, 0x20, 0x66, 0x6f, 0x6e, + 0x74, 0x73, 0x20, 0x6f, 0x72, 0x20, 0x74, 0x68, 0x65, 0x69, 0x72, 0x20, + 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, 0x76, 0x65, 0x73, 0x2e, + 0x0a, 0x0a, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x49, 0x54, 0x49, 0x4f, 0x4e, + 0x53, 0x0a, 0x22, 0x46, 0x6f, 0x6e, 0x74, 0x20, 0x53, 0x6f, 0x66, 0x74, + 0x77, 0x61, 0x72, 0x65, 0x22, 0x20, 0x72, 0x65, 0x66, 0x65, 0x72, 0x73, + 0x20, 0x74, 0x6f, 0x20, 0x74, 0x68, 0x65, 0x20, 0x73, 0x65, 0x74, 0x20, + 0x6f, 0x66, 0x20, 0x66, 0x69, 0x6c, 0x65, 0x73, 0x20, 0x72, 0x65, 0x6c, + 0x65, 0x61, 0x73, 0x65, 0x64, 0x20, 0x62, 0x79, 0x20, 0x74, 0x68, 0x65, + 0x20, 0x43, 0x6f, 0x70, 0x79, 0x72, 0x69, 0x67, 0x68, 0x74, 0x0a, 0x48, + 0x6f, 0x6c, 0x64, 0x65, 0x72, 0x28, 0x73, 0x29, 0x20, 0x75, 0x6e, 0x64, + 0x65, 0x72, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x6c, 0x69, 0x63, 0x65, + 0x6e, 0x73, 0x65, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x63, 0x6c, 0x65, 0x61, + 0x72, 0x6c, 0x79, 0x20, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x64, 0x20, 0x61, + 0x73, 0x20, 0x73, 0x75, 0x63, 0x68, 0x2e, 0x20, 0x54, 0x68, 0x69, 0x73, + 0x20, 0x6d, 0x61, 0x79, 0x0a, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, + 0x20, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x20, 0x66, 0x69, 0x6c, 0x65, + 0x73, 0x2c, 0x20, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x20, 0x73, 0x63, 0x72, + 0x69, 0x70, 0x74, 0x73, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x64, 0x6f, 0x63, + 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x0a, + 0x0a, 0x22, 0x52, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x64, 0x20, 0x46, + 0x6f, 0x6e, 0x74, 0x20, 0x4e, 0x61, 0x6d, 0x65, 0x22, 0x20, 0x72, 0x65, + 0x66, 0x65, 0x72, 0x73, 0x20, 0x74, 0x6f, 0x20, 0x61, 0x6e, 0x79, 0x20, + 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x20, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, + 0x69, 0x65, 0x64, 0x20, 0x61, 0x73, 0x20, 0x73, 0x75, 0x63, 0x68, 0x20, + 0x61, 0x66, 0x74, 0x65, 0x72, 0x20, 0x74, 0x68, 0x65, 0x0a, 0x63, 0x6f, + 0x70, 0x79, 0x72, 0x69, 0x67, 0x68, 0x74, 0x20, 0x73, 0x74, 0x61, 0x74, + 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x28, 0x73, 0x29, 0x2e, 0x0a, 0x0a, 0x22, + 0x4f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x61, 0x6c, 0x20, 0x56, 0x65, 0x72, + 0x73, 0x69, 0x6f, 0x6e, 0x22, 0x20, 0x72, 0x65, 0x66, 0x65, 0x72, 0x73, + 0x20, 0x74, 0x6f, 0x20, 0x74, 0x68, 0x65, 0x20, 0x63, 0x6f, 0x6c, 0x6c, + 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x6f, 0x66, 0x20, 0x46, 0x6f, + 0x6e, 0x74, 0x20, 0x53, 0x6f, 0x66, 0x74, 0x77, 0x61, 0x72, 0x65, 0x20, + 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x73, 0x20, 0x61, + 0x73, 0x0a, 0x64, 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, + 0x64, 0x20, 0x62, 0x79, 0x20, 0x74, 0x68, 0x65, 0x20, 0x43, 0x6f, 0x70, + 0x79, 0x72, 0x69, 0x67, 0x68, 0x74, 0x20, 0x48, 0x6f, 0x6c, 0x64, 0x65, + 0x72, 0x28, 0x73, 0x29, 0x2e, 0x0a, 0x0a, 0x22, 0x4d, 0x6f, 0x64, 0x69, + 0x66, 0x69, 0x65, 0x64, 0x20, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, + 0x22, 0x20, 0x72, 0x65, 0x66, 0x65, 0x72, 0x73, 0x20, 0x74, 0x6f, 0x20, + 0x61, 0x6e, 0x79, 0x20, 0x64, 0x65, 0x72, 0x69, 0x76, 0x61, 0x74, 0x69, + 0x76, 0x65, 0x20, 0x6d, 0x61, 0x64, 0x65, 0x20, 0x62, 0x79, 0x20, 0x61, + 0x64, 0x64, 0x69, 0x6e, 0x67, 0x20, 0x74, 0x6f, 0x2c, 0x20, 0x64, 0x65, + 0x6c, 0x65, 0x74, 0x69, 0x6e, 0x67, 0x2c, 0x0a, 0x6f, 0x72, 0x20, 0x73, + 0x75, 0x62, 0x73, 0x74, 0x69, 0x74, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x20, + 0x2d, 0x2d, 0x20, 0x69, 0x6e, 0x20, 0x70, 0x61, 0x72, 0x74, 0x20, 0x6f, + 0x72, 0x20, 0x69, 0x6e, 0x20, 0x77, 0x68, 0x6f, 0x6c, 0x65, 0x20, 0x2d, + 0x2d, 0x20, 0x61, 0x6e, 0x79, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, + 0x20, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x73, 0x20, + 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x0a, 0x4f, 0x72, 0x69, 0x67, 0x69, + 0x6e, 0x61, 0x6c, 0x20, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x2c, + 0x20, 0x62, 0x79, 0x20, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x69, 0x6e, 0x67, + 0x20, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x73, 0x20, 0x6f, 0x72, 0x20, + 0x62, 0x79, 0x20, 0x70, 0x6f, 0x72, 0x74, 0x69, 0x6e, 0x67, 0x20, 0x74, + 0x68, 0x65, 0x20, 0x46, 0x6f, 0x6e, 0x74, 0x20, 0x53, 0x6f, 0x66, 0x74, + 0x77, 0x61, 0x72, 0x65, 0x20, 0x74, 0x6f, 0x20, 0x61, 0x0a, 0x6e, 0x65, + 0x77, 0x20, 0x65, 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, + 0x74, 0x2e, 0x0a, 0x0a, 0x22, 0x41, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x22, + 0x20, 0x72, 0x65, 0x66, 0x65, 0x72, 0x73, 0x20, 0x74, 0x6f, 0x20, 0x61, + 0x6e, 0x79, 0x20, 0x64, 0x65, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x72, 0x2c, + 0x20, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x65, 0x72, 0x2c, 0x20, 0x70, + 0x72, 0x6f, 0x67, 0x72, 0x61, 0x6d, 0x6d, 0x65, 0x72, 0x2c, 0x20, 0x74, + 0x65, 0x63, 0x68, 0x6e, 0x69, 0x63, 0x61, 0x6c, 0x0a, 0x77, 0x72, 0x69, + 0x74, 0x65, 0x72, 0x20, 0x6f, 0x72, 0x20, 0x6f, 0x74, 0x68, 0x65, 0x72, + 0x20, 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x20, 0x77, 0x68, 0x6f, 0x20, + 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x64, 0x20, + 0x74, 0x6f, 0x20, 0x74, 0x68, 0x65, 0x20, 0x46, 0x6f, 0x6e, 0x74, 0x20, + 0x53, 0x6f, 0x66, 0x74, 0x77, 0x61, 0x72, 0x65, 0x2e, 0x0a, 0x0a, 0x50, + 0x45, 0x52, 0x4d, 0x49, 0x53, 0x53, 0x49, 0x4f, 0x4e, 0x20, 0x26, 0x20, + 0x43, 0x4f, 0x4e, 0x44, 0x49, 0x54, 0x49, 0x4f, 0x4e, 0x53, 0x0a, 0x50, + 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x20, 0x69, 0x73, + 0x20, 0x68, 0x65, 0x72, 0x65, 0x62, 0x79, 0x20, 0x67, 0x72, 0x61, 0x6e, + 0x74, 0x65, 0x64, 0x2c, 0x20, 0x66, 0x72, 0x65, 0x65, 0x20, 0x6f, 0x66, + 0x20, 0x63, 0x68, 0x61, 0x72, 0x67, 0x65, 0x2c, 0x20, 0x74, 0x6f, 0x20, + 0x61, 0x6e, 0x79, 0x20, 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x20, 0x6f, + 0x62, 0x74, 0x61, 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x0a, 0x61, 0x20, 0x63, + 0x6f, 0x70, 0x79, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x46, + 0x6f, 0x6e, 0x74, 0x20, 0x53, 0x6f, 0x66, 0x74, 0x77, 0x61, 0x72, 0x65, + 0x2c, 0x20, 0x74, 0x6f, 0x20, 0x75, 0x73, 0x65, 0x2c, 0x20, 0x73, 0x74, + 0x75, 0x64, 0x79, 0x2c, 0x20, 0x63, 0x6f, 0x70, 0x79, 0x2c, 0x20, 0x6d, + 0x65, 0x72, 0x67, 0x65, 0x2c, 0x20, 0x65, 0x6d, 0x62, 0x65, 0x64, 0x2c, + 0x20, 0x6d, 0x6f, 0x64, 0x69, 0x66, 0x79, 0x2c, 0x0a, 0x72, 0x65, 0x64, + 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x2c, 0x20, 0x61, + 0x6e, 0x64, 0x20, 0x73, 0x65, 0x6c, 0x6c, 0x20, 0x6d, 0x6f, 0x64, 0x69, + 0x66, 0x69, 0x65, 0x64, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x75, 0x6e, 0x6d, + 0x6f, 0x64, 0x69, 0x66, 0x69, 0x65, 0x64, 0x20, 0x63, 0x6f, 0x70, 0x69, + 0x65, 0x73, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x46, 0x6f, + 0x6e, 0x74, 0x0a, 0x53, 0x6f, 0x66, 0x74, 0x77, 0x61, 0x72, 0x65, 0x2c, + 0x20, 0x73, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x20, 0x74, 0x6f, 0x20, + 0x74, 0x68, 0x65, 0x20, 0x66, 0x6f, 0x6c, 0x6c, 0x6f, 0x77, 0x69, 0x6e, + 0x67, 0x20, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, + 0x3a, 0x0a, 0x0a, 0x31, 0x29, 0x20, 0x4e, 0x65, 0x69, 0x74, 0x68, 0x65, + 0x72, 0x20, 0x74, 0x68, 0x65, 0x20, 0x46, 0x6f, 0x6e, 0x74, 0x20, 0x53, + 0x6f, 0x66, 0x74, 0x77, 0x61, 0x72, 0x65, 0x20, 0x6e, 0x6f, 0x72, 0x20, + 0x61, 0x6e, 0x79, 0x20, 0x6f, 0x66, 0x20, 0x69, 0x74, 0x73, 0x20, 0x69, + 0x6e, 0x64, 0x69, 0x76, 0x69, 0x64, 0x75, 0x61, 0x6c, 0x20, 0x63, 0x6f, + 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x73, 0x2c, 0x0a, 0x69, 0x6e, + 0x20, 0x4f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x61, 0x6c, 0x20, 0x6f, 0x72, + 0x20, 0x4d, 0x6f, 0x64, 0x69, 0x66, 0x69, 0x65, 0x64, 0x20, 0x56, 0x65, + 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2c, 0x20, 0x6d, 0x61, 0x79, 0x20, + 0x62, 0x65, 0x20, 0x73, 0x6f, 0x6c, 0x64, 0x20, 0x62, 0x79, 0x20, 0x69, + 0x74, 0x73, 0x65, 0x6c, 0x66, 0x2e, 0x0a, 0x0a, 0x32, 0x29, 0x20, 0x4f, + 0x72, 0x69, 0x67, 0x69, 0x6e, 0x61, 0x6c, 0x20, 0x6f, 0x72, 0x20, 0x4d, + 0x6f, 0x64, 0x69, 0x66, 0x69, 0x65, 0x64, 0x20, 0x56, 0x65, 0x72, 0x73, + 0x69, 0x6f, 0x6e, 0x73, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, + 0x46, 0x6f, 0x6e, 0x74, 0x20, 0x53, 0x6f, 0x66, 0x74, 0x77, 0x61, 0x72, + 0x65, 0x20, 0x6d, 0x61, 0x79, 0x20, 0x62, 0x65, 0x20, 0x62, 0x75, 0x6e, + 0x64, 0x6c, 0x65, 0x64, 0x2c, 0x0a, 0x72, 0x65, 0x64, 0x69, 0x73, 0x74, + 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x64, 0x20, 0x61, 0x6e, 0x64, 0x2f, + 0x6f, 0x72, 0x20, 0x73, 0x6f, 0x6c, 0x64, 0x20, 0x77, 0x69, 0x74, 0x68, + 0x20, 0x61, 0x6e, 0x79, 0x20, 0x73, 0x6f, 0x66, 0x74, 0x77, 0x61, 0x72, + 0x65, 0x2c, 0x20, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x64, 0x20, + 0x74, 0x68, 0x61, 0x74, 0x20, 0x65, 0x61, 0x63, 0x68, 0x20, 0x63, 0x6f, + 0x70, 0x79, 0x0a, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x73, 0x20, + 0x74, 0x68, 0x65, 0x20, 0x61, 0x62, 0x6f, 0x76, 0x65, 0x20, 0x63, 0x6f, + 0x70, 0x79, 0x72, 0x69, 0x67, 0x68, 0x74, 0x20, 0x6e, 0x6f, 0x74, 0x69, + 0x63, 0x65, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, + 0x6c, 0x69, 0x63, 0x65, 0x6e, 0x73, 0x65, 0x2e, 0x20, 0x54, 0x68, 0x65, + 0x73, 0x65, 0x20, 0x63, 0x61, 0x6e, 0x20, 0x62, 0x65, 0x0a, 0x69, 0x6e, + 0x63, 0x6c, 0x75, 0x64, 0x65, 0x64, 0x20, 0x65, 0x69, 0x74, 0x68, 0x65, + 0x72, 0x20, 0x61, 0x73, 0x20, 0x73, 0x74, 0x61, 0x6e, 0x64, 0x2d, 0x61, + 0x6c, 0x6f, 0x6e, 0x65, 0x20, 0x74, 0x65, 0x78, 0x74, 0x20, 0x66, 0x69, + 0x6c, 0x65, 0x73, 0x2c, 0x20, 0x68, 0x75, 0x6d, 0x61, 0x6e, 0x2d, 0x72, + 0x65, 0x61, 0x64, 0x61, 0x62, 0x6c, 0x65, 0x20, 0x68, 0x65, 0x61, 0x64, + 0x65, 0x72, 0x73, 0x20, 0x6f, 0x72, 0x0a, 0x69, 0x6e, 0x20, 0x74, 0x68, + 0x65, 0x20, 0x61, 0x70, 0x70, 0x72, 0x6f, 0x70, 0x72, 0x69, 0x61, 0x74, + 0x65, 0x20, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x2d, 0x72, 0x65, + 0x61, 0x64, 0x61, 0x62, 0x6c, 0x65, 0x20, 0x6d, 0x65, 0x74, 0x61, 0x64, + 0x61, 0x74, 0x61, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x20, 0x77, + 0x69, 0x74, 0x68, 0x69, 0x6e, 0x20, 0x74, 0x65, 0x78, 0x74, 0x20, 0x6f, + 0x72, 0x0a, 0x62, 0x69, 0x6e, 0x61, 0x72, 0x79, 0x20, 0x66, 0x69, 0x6c, + 0x65, 0x73, 0x20, 0x61, 0x73, 0x20, 0x6c, 0x6f, 0x6e, 0x67, 0x20, 0x61, + 0x73, 0x20, 0x74, 0x68, 0x6f, 0x73, 0x65, 0x20, 0x66, 0x69, 0x65, 0x6c, + 0x64, 0x73, 0x20, 0x63, 0x61, 0x6e, 0x20, 0x62, 0x65, 0x20, 0x65, 0x61, + 0x73, 0x69, 0x6c, 0x79, 0x20, 0x76, 0x69, 0x65, 0x77, 0x65, 0x64, 0x20, + 0x62, 0x79, 0x20, 0x74, 0x68, 0x65, 0x20, 0x75, 0x73, 0x65, 0x72, 0x2e, + 0x0a, 0x0a, 0x33, 0x29, 0x20, 0x4e, 0x6f, 0x20, 0x4d, 0x6f, 0x64, 0x69, + 0x66, 0x69, 0x65, 0x64, 0x20, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, + 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x46, 0x6f, 0x6e, 0x74, + 0x20, 0x53, 0x6f, 0x66, 0x74, 0x77, 0x61, 0x72, 0x65, 0x20, 0x6d, 0x61, + 0x79, 0x20, 0x75, 0x73, 0x65, 0x20, 0x74, 0x68, 0x65, 0x20, 0x52, 0x65, + 0x73, 0x65, 0x72, 0x76, 0x65, 0x64, 0x20, 0x46, 0x6f, 0x6e, 0x74, 0x0a, + 0x4e, 0x61, 0x6d, 0x65, 0x28, 0x73, 0x29, 0x20, 0x75, 0x6e, 0x6c, 0x65, + 0x73, 0x73, 0x20, 0x65, 0x78, 0x70, 0x6c, 0x69, 0x63, 0x69, 0x74, 0x20, + 0x77, 0x72, 0x69, 0x74, 0x74, 0x65, 0x6e, 0x20, 0x70, 0x65, 0x72, 0x6d, + 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x20, 0x69, 0x73, 0x20, 0x67, 0x72, + 0x61, 0x6e, 0x74, 0x65, 0x64, 0x20, 0x62, 0x79, 0x20, 0x74, 0x68, 0x65, + 0x20, 0x63, 0x6f, 0x72, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x64, 0x69, + 0x6e, 0x67, 0x0a, 0x43, 0x6f, 0x70, 0x79, 0x72, 0x69, 0x67, 0x68, 0x74, + 0x20, 0x48, 0x6f, 0x6c, 0x64, 0x65, 0x72, 0x2e, 0x20, 0x54, 0x68, 0x69, + 0x73, 0x20, 0x72, 0x65, 0x73, 0x74, 0x72, 0x69, 0x63, 0x74, 0x69, 0x6f, + 0x6e, 0x20, 0x6f, 0x6e, 0x6c, 0x79, 0x20, 0x61, 0x70, 0x70, 0x6c, 0x69, + 0x65, 0x73, 0x20, 0x74, 0x6f, 0x20, 0x74, 0x68, 0x65, 0x20, 0x70, 0x72, + 0x69, 0x6d, 0x61, 0x72, 0x79, 0x20, 0x66, 0x6f, 0x6e, 0x74, 0x20, 0x6e, + 0x61, 0x6d, 0x65, 0x20, 0x61, 0x73, 0x0a, 0x70, 0x72, 0x65, 0x73, 0x65, + 0x6e, 0x74, 0x65, 0x64, 0x20, 0x74, 0x6f, 0x20, 0x74, 0x68, 0x65, 0x20, + 0x75, 0x73, 0x65, 0x72, 0x73, 0x2e, 0x0a, 0x0a, 0x34, 0x29, 0x20, 0x54, + 0x68, 0x65, 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x28, 0x73, 0x29, 0x20, 0x6f, + 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x43, 0x6f, 0x70, 0x79, 0x72, 0x69, + 0x67, 0x68, 0x74, 0x20, 0x48, 0x6f, 0x6c, 0x64, 0x65, 0x72, 0x28, 0x73, + 0x29, 0x20, 0x6f, 0x72, 0x20, 0x74, 0x68, 0x65, 0x20, 0x41, 0x75, 0x74, + 0x68, 0x6f, 0x72, 0x28, 0x73, 0x29, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, + 0x65, 0x20, 0x46, 0x6f, 0x6e, 0x74, 0x0a, 0x53, 0x6f, 0x66, 0x74, 0x77, + 0x61, 0x72, 0x65, 0x20, 0x73, 0x68, 0x61, 0x6c, 0x6c, 0x20, 0x6e, 0x6f, + 0x74, 0x20, 0x62, 0x65, 0x20, 0x75, 0x73, 0x65, 0x64, 0x20, 0x74, 0x6f, + 0x20, 0x70, 0x72, 0x6f, 0x6d, 0x6f, 0x74, 0x65, 0x2c, 0x20, 0x65, 0x6e, + 0x64, 0x6f, 0x72, 0x73, 0x65, 0x20, 0x6f, 0x72, 0x20, 0x61, 0x64, 0x76, + 0x65, 0x72, 0x74, 0x69, 0x73, 0x65, 0x20, 0x61, 0x6e, 0x79, 0x0a, 0x4d, + 0x6f, 0x64, 0x69, 0x66, 0x69, 0x65, 0x64, 0x20, 0x56, 0x65, 0x72, 0x73, + 0x69, 0x6f, 0x6e, 0x2c, 0x20, 0x65, 0x78, 0x63, 0x65, 0x70, 0x74, 0x20, + 0x74, 0x6f, 0x20, 0x61, 0x63, 0x6b, 0x6e, 0x6f, 0x77, 0x6c, 0x65, 0x64, + 0x67, 0x65, 0x20, 0x74, 0x68, 0x65, 0x20, 0x63, 0x6f, 0x6e, 0x74, 0x72, + 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x28, 0x73, 0x29, 0x20, 0x6f, + 0x66, 0x20, 0x74, 0x68, 0x65, 0x0a, 0x43, 0x6f, 0x70, 0x79, 0x72, 0x69, + 0x67, 0x68, 0x74, 0x20, 0x48, 0x6f, 0x6c, 0x64, 0x65, 0x72, 0x28, 0x73, + 0x29, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x74, 0x68, 0x65, 0x20, 0x41, 0x75, + 0x74, 0x68, 0x6f, 0x72, 0x28, 0x73, 0x29, 0x20, 0x6f, 0x72, 0x20, 0x77, + 0x69, 0x74, 0x68, 0x20, 0x74, 0x68, 0x65, 0x69, 0x72, 0x20, 0x65, 0x78, + 0x70, 0x6c, 0x69, 0x63, 0x69, 0x74, 0x20, 0x77, 0x72, 0x69, 0x74, 0x74, + 0x65, 0x6e, 0x0a, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, + 0x6e, 0x2e, 0x0a, 0x0a, 0x35, 0x29, 0x20, 0x54, 0x68, 0x65, 0x20, 0x46, + 0x6f, 0x6e, 0x74, 0x20, 0x53, 0x6f, 0x66, 0x74, 0x77, 0x61, 0x72, 0x65, + 0x2c, 0x20, 0x6d, 0x6f, 0x64, 0x69, 0x66, 0x69, 0x65, 0x64, 0x20, 0x6f, + 0x72, 0x20, 0x75, 0x6e, 0x6d, 0x6f, 0x64, 0x69, 0x66, 0x69, 0x65, 0x64, + 0x2c, 0x20, 0x69, 0x6e, 0x20, 0x70, 0x61, 0x72, 0x74, 0x20, 0x6f, 0x72, + 0x20, 0x69, 0x6e, 0x20, 0x77, 0x68, 0x6f, 0x6c, 0x65, 0x2c, 0x0a, 0x6d, + 0x75, 0x73, 0x74, 0x20, 0x62, 0x65, 0x20, 0x64, 0x69, 0x73, 0x74, 0x72, + 0x69, 0x62, 0x75, 0x74, 0x65, 0x64, 0x20, 0x65, 0x6e, 0x74, 0x69, 0x72, + 0x65, 0x6c, 0x79, 0x20, 0x75, 0x6e, 0x64, 0x65, 0x72, 0x20, 0x74, 0x68, + 0x69, 0x73, 0x20, 0x6c, 0x69, 0x63, 0x65, 0x6e, 0x73, 0x65, 0x2c, 0x20, + 0x61, 0x6e, 0x64, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x6e, 0x6f, 0x74, + 0x20, 0x62, 0x65, 0x0a, 0x64, 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, 0x75, + 0x74, 0x65, 0x64, 0x20, 0x75, 0x6e, 0x64, 0x65, 0x72, 0x20, 0x61, 0x6e, + 0x79, 0x20, 0x6f, 0x74, 0x68, 0x65, 0x72, 0x20, 0x6c, 0x69, 0x63, 0x65, + 0x6e, 0x73, 0x65, 0x2e, 0x20, 0x54, 0x68, 0x65, 0x20, 0x72, 0x65, 0x71, + 0x75, 0x69, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x20, 0x66, 0x6f, 0x72, + 0x20, 0x66, 0x6f, 0x6e, 0x74, 0x73, 0x20, 0x74, 0x6f, 0x0a, 0x72, 0x65, + 0x6d, 0x61, 0x69, 0x6e, 0x20, 0x75, 0x6e, 0x64, 0x65, 0x72, 0x20, 0x74, + 0x68, 0x69, 0x73, 0x20, 0x6c, 0x69, 0x63, 0x65, 0x6e, 0x73, 0x65, 0x20, + 0x64, 0x6f, 0x65, 0x73, 0x20, 0x6e, 0x6f, 0x74, 0x20, 0x61, 0x70, 0x70, + 0x6c, 0x79, 0x20, 0x74, 0x6f, 0x20, 0x61, 0x6e, 0x79, 0x20, 0x64, 0x6f, + 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x20, 0x63, 0x72, 0x65, 0x61, 0x74, + 0x65, 0x64, 0x0a, 0x75, 0x73, 0x69, 0x6e, 0x67, 0x20, 0x74, 0x68, 0x65, + 0x20, 0x46, 0x6f, 0x6e, 0x74, 0x20, 0x53, 0x6f, 0x66, 0x74, 0x77, 0x61, + 0x72, 0x65, 0x2e, 0x0a, 0x0a, 0x54, 0x45, 0x52, 0x4d, 0x49, 0x4e, 0x41, + 0x54, 0x49, 0x4f, 0x4e, 0x0a, 0x54, 0x68, 0x69, 0x73, 0x20, 0x6c, 0x69, + 0x63, 0x65, 0x6e, 0x73, 0x65, 0x20, 0x62, 0x65, 0x63, 0x6f, 0x6d, 0x65, + 0x73, 0x20, 0x6e, 0x75, 0x6c, 0x6c, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x76, + 0x6f, 0x69, 0x64, 0x20, 0x69, 0x66, 0x20, 0x61, 0x6e, 0x79, 0x20, 0x6f, + 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x61, 0x62, 0x6f, 0x76, 0x65, 0x20, + 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x20, 0x61, + 0x72, 0x65, 0x0a, 0x6e, 0x6f, 0x74, 0x20, 0x6d, 0x65, 0x74, 0x2e, 0x0a, + 0x0a, 0x44, 0x49, 0x53, 0x43, 0x4c, 0x41, 0x49, 0x4d, 0x45, 0x52, 0x0a, + 0x54, 0x48, 0x45, 0x20, 0x46, 0x4f, 0x4e, 0x54, 0x20, 0x53, 0x4f, 0x46, + 0x54, 0x57, 0x41, 0x52, 0x45, 0x20, 0x49, 0x53, 0x20, 0x50, 0x52, 0x4f, + 0x56, 0x49, 0x44, 0x45, 0x44, 0x20, 0x22, 0x41, 0x53, 0x20, 0x49, 0x53, + 0x22, 0x2c, 0x20, 0x57, 0x49, 0x54, 0x48, 0x4f, 0x55, 0x54, 0x20, 0x57, + 0x41, 0x52, 0x52, 0x41, 0x4e, 0x54, 0x59, 0x20, 0x4f, 0x46, 0x20, 0x41, + 0x4e, 0x59, 0x20, 0x4b, 0x49, 0x4e, 0x44, 0x2c, 0x0a, 0x45, 0x58, 0x50, + 0x52, 0x45, 0x53, 0x53, 0x20, 0x4f, 0x52, 0x20, 0x49, 0x4d, 0x50, 0x4c, + 0x49, 0x45, 0x44, 0x2c, 0x20, 0x49, 0x4e, 0x43, 0x4c, 0x55, 0x44, 0x49, + 0x4e, 0x47, 0x20, 0x42, 0x55, 0x54, 0x20, 0x4e, 0x4f, 0x54, 0x20, 0x4c, + 0x49, 0x4d, 0x49, 0x54, 0x45, 0x44, 0x20, 0x54, 0x4f, 0x20, 0x41, 0x4e, + 0x59, 0x20, 0x57, 0x41, 0x52, 0x52, 0x41, 0x4e, 0x54, 0x49, 0x45, 0x53, + 0x20, 0x4f, 0x46, 0x0a, 0x4d, 0x45, 0x52, 0x43, 0x48, 0x41, 0x4e, 0x54, + 0x41, 0x42, 0x49, 0x4c, 0x49, 0x54, 0x59, 0x2c, 0x20, 0x46, 0x49, 0x54, + 0x4e, 0x45, 0x53, 0x53, 0x20, 0x46, 0x4f, 0x52, 0x20, 0x41, 0x20, 0x50, + 0x41, 0x52, 0x54, 0x49, 0x43, 0x55, 0x4c, 0x41, 0x52, 0x20, 0x50, 0x55, + 0x52, 0x50, 0x4f, 0x53, 0x45, 0x20, 0x41, 0x4e, 0x44, 0x20, 0x4e, 0x4f, + 0x4e, 0x49, 0x4e, 0x46, 0x52, 0x49, 0x4e, 0x47, 0x45, 0x4d, 0x45, 0x4e, + 0x54, 0x0a, 0x4f, 0x46, 0x20, 0x43, 0x4f, 0x50, 0x59, 0x52, 0x49, 0x47, + 0x48, 0x54, 0x2c, 0x20, 0x50, 0x41, 0x54, 0x45, 0x4e, 0x54, 0x2c, 0x20, + 0x54, 0x52, 0x41, 0x44, 0x45, 0x4d, 0x41, 0x52, 0x4b, 0x2c, 0x20, 0x4f, + 0x52, 0x20, 0x4f, 0x54, 0x48, 0x45, 0x52, 0x20, 0x52, 0x49, 0x47, 0x48, + 0x54, 0x2e, 0x20, 0x49, 0x4e, 0x20, 0x4e, 0x4f, 0x20, 0x45, 0x56, 0x45, + 0x4e, 0x54, 0x20, 0x53, 0x48, 0x41, 0x4c, 0x4c, 0x20, 0x54, 0x48, 0x45, + 0x0a, 0x43, 0x4f, 0x50, 0x59, 0x52, 0x49, 0x47, 0x48, 0x54, 0x20, 0x48, + 0x4f, 0x4c, 0x44, 0x45, 0x52, 0x20, 0x42, 0x45, 0x20, 0x4c, 0x49, 0x41, + 0x42, 0x4c, 0x45, 0x20, 0x46, 0x4f, 0x52, 0x20, 0x41, 0x4e, 0x59, 0x20, + 0x43, 0x4c, 0x41, 0x49, 0x4d, 0x2c, 0x20, 0x44, 0x41, 0x4d, 0x41, 0x47, + 0x45, 0x53, 0x20, 0x4f, 0x52, 0x20, 0x4f, 0x54, 0x48, 0x45, 0x52, 0x20, + 0x4c, 0x49, 0x41, 0x42, 0x49, 0x4c, 0x49, 0x54, 0x59, 0x2c, 0x0a, 0x49, + 0x4e, 0x43, 0x4c, 0x55, 0x44, 0x49, 0x4e, 0x47, 0x20, 0x41, 0x4e, 0x59, + 0x20, 0x47, 0x45, 0x4e, 0x45, 0x52, 0x41, 0x4c, 0x2c, 0x20, 0x53, 0x50, + 0x45, 0x43, 0x49, 0x41, 0x4c, 0x2c, 0x20, 0x49, 0x4e, 0x44, 0x49, 0x52, + 0x45, 0x43, 0x54, 0x2c, 0x20, 0x49, 0x4e, 0x43, 0x49, 0x44, 0x45, 0x4e, + 0x54, 0x41, 0x4c, 0x2c, 0x20, 0x4f, 0x52, 0x20, 0x43, 0x4f, 0x4e, 0x53, + 0x45, 0x51, 0x55, 0x45, 0x4e, 0x54, 0x49, 0x41, 0x4c, 0x0a, 0x44, 0x41, + 0x4d, 0x41, 0x47, 0x45, 0x53, 0x2c, 0x20, 0x57, 0x48, 0x45, 0x54, 0x48, + 0x45, 0x52, 0x20, 0x49, 0x4e, 0x20, 0x41, 0x4e, 0x20, 0x41, 0x43, 0x54, + 0x49, 0x4f, 0x4e, 0x20, 0x4f, 0x46, 0x20, 0x43, 0x4f, 0x4e, 0x54, 0x52, + 0x41, 0x43, 0x54, 0x2c, 0x20, 0x54, 0x4f, 0x52, 0x54, 0x20, 0x4f, 0x52, + 0x20, 0x4f, 0x54, 0x48, 0x45, 0x52, 0x57, 0x49, 0x53, 0x45, 0x2c, 0x20, + 0x41, 0x52, 0x49, 0x53, 0x49, 0x4e, 0x47, 0x0a, 0x46, 0x52, 0x4f, 0x4d, + 0x2c, 0x20, 0x4f, 0x55, 0x54, 0x20, 0x4f, 0x46, 0x20, 0x54, 0x48, 0x45, + 0x20, 0x55, 0x53, 0x45, 0x20, 0x4f, 0x52, 0x20, 0x49, 0x4e, 0x41, 0x42, + 0x49, 0x4c, 0x49, 0x54, 0x59, 0x20, 0x54, 0x4f, 0x20, 0x55, 0x53, 0x45, + 0x20, 0x54, 0x48, 0x45, 0x20, 0x46, 0x4f, 0x4e, 0x54, 0x20, 0x53, 0x4f, + 0x46, 0x54, 0x57, 0x41, 0x52, 0x45, 0x20, 0x4f, 0x52, 0x20, 0x46, 0x52, + 0x4f, 0x4d, 0x0a, 0x4f, 0x54, 0x48, 0x45, 0x52, 0x20, 0x44, 0x45, 0x41, + 0x4c, 0x49, 0x4e, 0x47, 0x53, 0x20, 0x49, 0x4e, 0x20, 0x54, 0x48, 0x45, + 0x20, 0x46, 0x4f, 0x4e, 0x54, 0x20, 0x53, 0x4f, 0x46, 0x54, 0x57, 0x41, + 0x52, 0x45, 0x2e, 0x00, 0x00, 0x68, 0x00, 0x74, 0x00, 0x74, 0x00, 0x70, + 0x00, 0x3a, 0x00, 0x2f, 0x00, 0x2f, 0x00, 0x73, 0x00, 0x63, 0x00, 0x72, + 0x00, 0x69, 0x00, 0x70, 0x00, 0x74, 0x00, 0x73, 0x00, 0x2e, 0x00, 0x73, + 0x00, 0x69, 0x00, 0x6c, 0x00, 0x2e, 0x00, 0x6f, 0x00, 0x72, 0x00, 0x67, + 0x00, 0x2f, 0x00, 0x4f, 0x00, 0x46, 0x00, 0x4c, 0x00, 0x00, 0x68, 0x74, + 0x74, 0x70, 0x3a, 0x2f, 0x2f, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x73, + 0x2e, 0x73, 0x69, 0x6c, 0x2e, 0x6f, 0x72, 0x67, 0x2f, 0x4f, 0x46, 0x4c, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x32, 0x00, 0x64, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x01, 0x06, 0x00, 0x00, 0x01, 0x02, 0x01, 0x03, 0x01, 0x04, 0x01, 0x05, + 0x01, 0x06, 0x01, 0x07, 0x01, 0x08, 0x01, 0x09, 0x01, 0x0a, 0x01, 0x0b, + 0x01, 0x0c, 0x01, 0x0d, 0x01, 0x0e, 0x01, 0x0f, 0x01, 0x10, 0x01, 0x11, + 0x01, 0x12, 0x01, 0x13, 0x01, 0x14, 0x01, 0x15, 0x01, 0x16, 0x01, 0x17, + 0x01, 0x18, 0x01, 0x19, 0x01, 0x1a, 0x01, 0x1b, 0x01, 0x1c, 0x01, 0x1d, + 0x01, 0x1e, 0x01, 0x1f, 0x01, 0x20, 0x01, 0x21, 0x00, 0x03, 0x00, 0x04, + 0x00, 0x05, 0x00, 0x06, 0x00, 0x07, 0x00, 0x08, 0x00, 0x09, 0x00, 0x0a, + 0x00, 0x0b, 0x00, 0x0c, 0x00, 0x0d, 0x00, 0x0e, 0x00, 0x0f, 0x00, 0x10, + 0x00, 0x11, 0x00, 0x12, 0x00, 0x13, 0x00, 0x14, 0x00, 0x15, 0x00, 0x16, + 0x00, 0x17, 0x00, 0x18, 0x00, 0x19, 0x00, 0x1a, 0x00, 0x1b, 0x00, 0x1c, + 0x00, 0x1d, 0x00, 0x1e, 0x00, 0x1f, 0x00, 0x20, 0x00, 0x21, 0x00, 0x22, + 0x00, 0x23, 0x00, 0x24, 0x00, 0x25, 0x00, 0x26, 0x00, 0x27, 0x00, 0x28, + 0x00, 0x29, 0x00, 0x2a, 0x00, 0x2b, 0x00, 0x2c, 0x00, 0x2d, 0x00, 0x2e, + 0x00, 0x2f, 0x00, 0x30, 0x00, 0x31, 0x00, 0x32, 0x00, 0x33, 0x00, 0x34, + 0x00, 0x35, 0x00, 0x36, 0x00, 0x37, 0x00, 0x38, 0x00, 0x39, 0x00, 0x3a, + 0x00, 0x3b, 0x00, 0x3c, 0x00, 0x3d, 0x00, 0x3e, 0x00, 0x3f, 0x00, 0x40, + 0x00, 0x41, 0x00, 0x42, 0x00, 0x43, 0x00, 0x44, 0x00, 0x45, 0x00, 0x46, + 0x00, 0x47, 0x00, 0x48, 0x00, 0x49, 0x00, 0x4a, 0x00, 0x4b, 0x00, 0x4c, + 0x00, 0x4d, 0x00, 0x4e, 0x00, 0x4f, 0x00, 0x50, 0x00, 0x51, 0x00, 0x52, + 0x00, 0x53, 0x00, 0x54, 0x00, 0x55, 0x00, 0x56, 0x00, 0x57, 0x00, 0x58, + 0x00, 0x59, 0x00, 0x5a, 0x00, 0x5b, 0x00, 0x5c, 0x00, 0x5d, 0x00, 0x5e, + 0x00, 0x5f, 0x00, 0x60, 0x00, 0x61, 0x01, 0x22, 0x01, 0x23, 0x01, 0x24, + 0x00, 0xc4, 0x00, 0xa6, 0x00, 0xc5, 0x00, 0xab, 0x00, 0x82, 0x00, 0xc2, + 0x00, 0xd8, 0x00, 0xc6, 0x00, 0xe4, 0x00, 0xbe, 0x00, 0xb0, 0x01, 0x25, + 0x00, 0xe6, 0x01, 0x26, 0x01, 0x27, 0x00, 0xb6, 0x00, 0xb7, 0x00, 0xb4, + 0x00, 0xb5, 0x00, 0x87, 0x00, 0xb2, 0x00, 0xb3, 0x00, 0xd9, 0x00, 0x8c, + 0x00, 0xe5, 0x00, 0xbf, 0x00, 0xb1, 0x01, 0x28, 0x00, 0xe7, 0x00, 0xbb, + 0x01, 0x29, 0x00, 0xa3, 0x00, 0x84, 0x00, 0x85, 0x00, 0xbd, 0x00, 0x96, + 0x00, 0xe8, 0x00, 0x86, 0x00, 0x8e, 0x00, 0x8b, 0x00, 0x9d, 0x00, 0xa9, + 0x00, 0xa4, 0x01, 0x2a, 0x00, 0x8a, 0x00, 0xda, 0x00, 0x83, 0x00, 0x93, + 0x01, 0x2b, 0x01, 0x2c, 0x00, 0x8d, 0x00, 0x97, 0x00, 0x88, 0x00, 0xc3, + 0x00, 0xde, 0x01, 0x2d, 0x00, 0x9e, 0x00, 0xaa, 0x00, 0xf5, 0x00, 0xf4, + 0x00, 0xf6, 0x00, 0xa2, 0x00, 0xad, 0x00, 0xc9, 0x00, 0xc7, 0x00, 0xae, + 0x00, 0x62, 0x00, 0x63, 0x00, 0x90, 0x00, 0x64, 0x00, 0xcb, 0x00, 0x65, + 0x00, 0xc8, 0x00, 0xca, 0x00, 0xcf, 0x00, 0xcc, 0x00, 0xcd, 0x00, 0xce, + 0x00, 0xe9, 0x00, 0x66, 0x00, 0xd3, 0x00, 0xd0, 0x00, 0xd1, 0x00, 0xaf, + 0x00, 0x67, 0x00, 0xf0, 0x00, 0x91, 0x00, 0xd6, 0x00, 0xd4, 0x00, 0xd5, + 0x00, 0x68, 0x00, 0xeb, 0x00, 0xed, 0x00, 0x89, 0x00, 0x6a, 0x00, 0x69, + 0x00, 0x6b, 0x00, 0x6d, 0x00, 0x6c, 0x00, 0x6e, 0x00, 0xa0, 0x00, 0x6f, + 0x00, 0x71, 0x00, 0x70, 0x00, 0x72, 0x00, 0x73, 0x00, 0x75, 0x00, 0x74, + 0x00, 0x76, 0x00, 0x77, 0x00, 0xea, 0x00, 0x78, 0x00, 0x7a, 0x00, 0x79, + 0x00, 0x7b, 0x00, 0x7d, 0x00, 0x7c, 0x00, 0xb8, 0x00, 0xa1, 0x00, 0x7f, + 0x00, 0x7e, 0x00, 0x80, 0x00, 0x81, 0x00, 0xec, 0x00, 0xee, 0x00, 0xba, + 0x01, 0x2e, 0x01, 0x2f, 0x01, 0x30, 0x01, 0x31, 0x01, 0x32, 0x07, 0x75, + 0x6e, 0x69, 0x30, 0x30, 0x30, 0x30, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x30, + 0x30, 0x44, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x30, 0x30, 0x31, 0x07, 0x75, + 0x6e, 0x69, 0x30, 0x30, 0x30, 0x32, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x30, + 0x30, 0x33, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x30, 0x30, 0x34, 0x07, 0x75, + 0x6e, 0x69, 0x30, 0x30, 0x30, 0x35, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x30, + 0x30, 0x36, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x30, 0x30, 0x37, 0x07, 0x75, + 0x6e, 0x69, 0x30, 0x30, 0x30, 0x38, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x30, + 0x30, 0x39, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x30, 0x30, 0x41, 0x07, 0x75, + 0x6e, 0x69, 0x30, 0x30, 0x30, 0x42, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x30, + 0x30, 0x43, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x30, 0x30, 0x45, 0x07, 0x75, + 0x6e, 0x69, 0x30, 0x30, 0x30, 0x46, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x30, + 0x31, 0x30, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x30, 0x31, 0x31, 0x07, 0x75, + 0x6e, 0x69, 0x30, 0x30, 0x31, 0x32, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x30, + 0x31, 0x33, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x30, 0x31, 0x34, 0x07, 0x75, + 0x6e, 0x69, 0x30, 0x30, 0x31, 0x35, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x30, + 0x31, 0x36, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x30, 0x31, 0x37, 0x07, 0x75, + 0x6e, 0x69, 0x30, 0x30, 0x31, 0x38, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x30, + 0x31, 0x39, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x30, 0x31, 0x41, 0x07, 0x75, + 0x6e, 0x69, 0x30, 0x30, 0x31, 0x42, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x30, + 0x31, 0x43, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x30, 0x31, 0x44, 0x07, 0x75, + 0x6e, 0x69, 0x30, 0x30, 0x31, 0x45, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x30, + 0x31, 0x46, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x30, 0x37, 0x46, 0x04, 0x45, + 0x75, 0x72, 0x6f, 0x0a, 0x4e, 0x61, 0x6d, 0x65, 0x4d, 0x65, 0x2e, 0x31, + 0x32, 0x39, 0x0a, 0x4e, 0x61, 0x6d, 0x65, 0x4d, 0x65, 0x2e, 0x31, 0x34, + 0x31, 0x0a, 0x4e, 0x61, 0x6d, 0x65, 0x4d, 0x65, 0x2e, 0x31, 0x34, 0x33, + 0x0a, 0x4e, 0x61, 0x6d, 0x65, 0x4d, 0x65, 0x2e, 0x31, 0x34, 0x34, 0x0a, + 0x4e, 0x61, 0x6d, 0x65, 0x4d, 0x65, 0x2e, 0x31, 0x35, 0x37, 0x07, 0x75, + 0x6e, 0x69, 0x30, 0x30, 0x41, 0x30, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x30, + 0x41, 0x44, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x30, 0x42, 0x32, 0x07, 0x75, + 0x6e, 0x69, 0x30, 0x30, 0x42, 0x33, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x30, + 0x42, 0x39, 0x0b, 0x6e, 0x61, 0x70, 0x6f, 0x73, 0x74, 0x72, 0x6f, 0x70, + 0x68, 0x65, 0x04, 0x4c, 0x64, 0x6f, 0x74, 0x04, 0x6c, 0x64, 0x6f, 0x74, + 0x02, 0x49, 0x4a, 0x0a, 0x4e, 0x61, 0x6d, 0x65, 0x4d, 0x65, 0x2e, 0x32, + 0x36, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xff, 0xff, 0x00, 0x02, + 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x14, + 0x00, 0x04, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, + 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, + 0xda, 0x92, 0x03, 0xf7, 0x00, 0x00, 0x00, 0x00, 0xda, 0x6d, 0x86, 0xe0, + 0x00, 0x00, 0x00, 0x00, 0xda, 0xe1, 0xd0, 0x88 +}; + +#endif diff --git a/MacroLibX/src/utils/icon_mlx.h b/MacroLibX/src/utils/icon_mlx.h new file mode 100644 index 0000000..a5450fb --- /dev/null +++ b/MacroLibX/src/utils/icon_mlx.h @@ -0,0 +1,525 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* icon_mlx.h :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: maldavid +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* Created: 2023/11/25 11:23:16 by maldavid #+# #+# */ +/* Updated: 2023/11/25 11:55:51 by maldavid ### ########.fr */ +/* */ +/* ************************************************************************** */ + +#ifndef __ICON_MLX__ +#define __ICON_MLX__ + +#include + +constexpr const int logo_mlx_height = 125; +constexpr const int logo_mlx_width = 125; +constexpr const int logo_mlx_size = logo_mlx_height * logo_mlx_width * 4; + +inline static uint8_t logo_mlx[logo_mlx_size] = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, + 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, + 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, + 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, + 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, + 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, + 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, + 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, + 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, + 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, + 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, + 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, + 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, + 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, + 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, + 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, + 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, + 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, + 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, + 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, + 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, + 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, + 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, + 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, + 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, + 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, + 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, + 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, + 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, + 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, + 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, + 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, + 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, + 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, + 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, + 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, + 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, + 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, + 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, + 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, + 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, + 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, + 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, + 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, + 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, + 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, + 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, + 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, + 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, + 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, + 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, + 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, + 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, + 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, + 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, + 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, + 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, + 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, + 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, + 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, + 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, + 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, + 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, + 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, + 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, + 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, + 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, + 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, + 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, + 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, + 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, + 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, + 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, + 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, + 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, + 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, + 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, + 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, + 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, + 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, + 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, + 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, + 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, + 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, + 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, + 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, + 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, + 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, + 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, + 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, + 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, + 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, + 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, + 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, + 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, + 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, + 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, + 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, + 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, + 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, + 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, + 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, + 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, + 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, + 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, + 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, + 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, + 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, + 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, + 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, + 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, + 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, + 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, + 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, + 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, + 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, + 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, + 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, + 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, + 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, + 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, + 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, + 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, + 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, + 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, + 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, + 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, + 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, + 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, + 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, + 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, + 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, + 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, + 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, + 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, + 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, + 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, + 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, + 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, + 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, + 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, + 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, + 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, + 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, + 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, + 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, + 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, + 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, + 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, + 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, + 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, + 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, + 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, + 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, + 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, + 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, + 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, + 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, + 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, + 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, + 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, + 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, + 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, + 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, + 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, + 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, + 0x00, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, + 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, + 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, + 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0xe4, 0xe4, + 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, + 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, + 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, + 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, + 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, + 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, + 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, + 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, + 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, + 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, + 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, + 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, + 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, + 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, + 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, + 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, + 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, + 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, + 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, + 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, + 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, + 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, + 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, + 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, + 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, + 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, + 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, + 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, + 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, + 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, + 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, + 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, + 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, + 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, + 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, + 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, + 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, + 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, + 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, + 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, + 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, + 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, + 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, + 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, + 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, + 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, + 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, + 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, + 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0x00, 0x00, 0x00, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, + 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, + 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, + 0xe4, 0xe4, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, + 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, + 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, + 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0x00, + 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, + 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, + 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, + 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, + 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, + 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, + 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, + 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, + 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, + 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe3, 0xe3, 0xe3, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, + 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, + 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, + 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, + 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, + 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, + 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, + 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, + 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, + 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, + 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, + 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, + 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, + 0xff, 0x00, 0x00, 0x00, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, + 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, + 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, + 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, + 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, + 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, + 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, + 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0xe4, 0xe4, 0xe4, + 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, + 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, + 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, + 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, + 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, + 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, + 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, + 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, + 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, + 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, + 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, + 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe3, 0xe3, 0xe3, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, + 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, + 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, + 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, + 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, + 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, + 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, + 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, + 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, + 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, + 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, + 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, + 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, + 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, + 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, + 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, + 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, + 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0x00, 0x00, 0x00, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, + 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, + 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, + 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, + 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, + 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, + 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, + 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, + 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, + 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, + 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, + 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, + 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, + 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, + 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, + 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, + 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, + 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, + 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, + 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, + 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, + 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, + 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, + 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, + 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, + 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, + 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, + 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, + 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, + 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, + 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, + 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0x00, 0x00, 0x00, + 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, + 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, + 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, + 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, + 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, + 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, + 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, + 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, + 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, + 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, + 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, + 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, + 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, + 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, + 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, + 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, + 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, + 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, + 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, + 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, + 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, + 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, + 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, + 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, + 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, + 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, + 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, + 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, + 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, + 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, + 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, + 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, + 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, + 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, + 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, + 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, + 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, + 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, + 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, + 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, + 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, + 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, + 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, + 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, + 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, + 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, + 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, + 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, + 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, + 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, + 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, + 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, + 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, + 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, + 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, + 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, + 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, + 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, + 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, + 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, + 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, + 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, + 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, + 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, + 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, + 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, + 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, + 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, + 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, + 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, + 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, + 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, + 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, + 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, + 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, + 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, + 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, + 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, + 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, + 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, + 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, + 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, + 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, + 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, + 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, + 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, + 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, + 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, + 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0xe4, 0xe4, 0xe4, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, + 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, + 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, + 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, + 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, + 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, + 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, + 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, + 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, + 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, + 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, + 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, + 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, + 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, + 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, + 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, + 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x6b, 0x6b, 0x6b, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, + 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, + 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, + 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, + 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, + 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, + 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, + 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, + 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, + 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, + 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, + 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, + 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, + 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, + 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, + 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, + 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x37, 0x37, 0x37, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, + 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, + 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, + 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, + 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, + 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, + 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, + 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, + 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, + 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, + 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, + 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, + 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, + 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, + 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, + 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, + 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 +}; + +#endif diff --git a/MacroLibX/src/utils/non_copyable.h b/MacroLibX/src/utils/non_copyable.h new file mode 100644 index 0000000..f805a99 --- /dev/null +++ b/MacroLibX/src/utils/non_copyable.h @@ -0,0 +1,33 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* non_copyable.h :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: maldavid +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* Created: 2022/10/08 19:20:13 by maldavid #+# #+# */ +/* Updated: 2022/10/08 19:21:22 by maldavid ### ########.fr */ +/* */ +/* ************************************************************************** */ + +#ifndef __MLX_NON_COPYABLE__ +#define __MLX_NON_COPYABLE__ + +namespace mlx +{ + class non_copyable + { + protected: + non_copyable() = default; + virtual ~non_copyable() = default; + + public: + non_copyable(const non_copyable&) = delete; + non_copyable(non_copyable&&) noexcept = default; + non_copyable &operator=(const non_copyable&) = delete; + non_copyable &operator=(non_copyable&&) noexcept = default; + }; + +} + +#endif // __MLX_NON_COPYABLE__ diff --git a/MacroLibX/src/utils/singleton.h b/MacroLibX/src/utils/singleton.h new file mode 100644 index 0000000..3cb925e --- /dev/null +++ b/MacroLibX/src/utils/singleton.h @@ -0,0 +1,32 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* singleton.h :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: maldavid +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* Created: 2022/10/08 19:18:46 by maldavid #+# #+# */ +/* Updated: 2022/10/08 19:22:07 by maldavid ### ########.fr */ +/* */ +/* ************************************************************************** */ + +#ifndef __MLX_SINGLETON__ +#define __MLX_SINGLETON__ + +#include "non_copyable.h" + +namespace mlx +{ + template + class Singleton : public non_copyable + { + public: + inline static T& get() + { + static T instance; + return instance; + } + }; +} + +#endif // __MLX_SINGLETON__ diff --git a/MacroLibX/test/42_logo.png b/MacroLibX/test/42_logo.png new file mode 100644 index 0000000..5d2b681 Binary files /dev/null and b/MacroLibX/test/42_logo.png differ diff --git a/MacroLibX/test/font.ttf b/MacroLibX/test/font.ttf new file mode 100644 index 0000000..85c1472 Binary files /dev/null and b/MacroLibX/test/font.ttf differ diff --git a/MacroLibX/test/main.c b/MacroLibX/test/main.c new file mode 100644 index 0000000..12e13a2 --- /dev/null +++ b/MacroLibX/test/main.c @@ -0,0 +1,121 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* main.c :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: maldavid +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* Created: 2022/10/04 17:55:21 by maldavid #+# #+# */ +/* Updated: 2023/12/08 18:08:13 by kbz_8 ### ########.fr */ +/* */ +/* ************************************************************************** */ + +#include +#include +#include "../includes/mlx.h" + +typedef struct s_mlx +{ + void *mlx; + void *win; + void *logo; + void *img; +} t_mlx; + +int update(void *param) +{ + static int i = 0; + int j; + int k; + t_mlx *mlx; + + mlx = (t_mlx *)param; + mlx_put_image_to_window(mlx->mlx, mlx->win, mlx->logo, 100, 100); + mlx_put_image_to_window(mlx->mlx, mlx->win, mlx->img, 150, 60); + mlx_string_put(mlx->mlx, mlx->win, 20, 50, 0xFFFFFFFF, "that's a text"); + j = 0; + k = 0; + while (j < 400) + { + mlx_pixel_put(mlx->mlx, mlx->win, j, j, 0xFFFF0000 + k); + mlx_pixel_put(mlx->mlx, mlx->win, 399 - j, j, 0xFF0000FF); + if (k < 255) + k++; + j++; + } + if (++i == 5000) + { + mlx_clear_window(mlx->mlx, mlx->win); + mlx_set_font_scale(mlx->mlx, mlx->win, "font.ttf", 16.f); + } + return (0); +} + +void *create_image(t_mlx *mlx) +{ + unsigned char pixel[4]; + int i[3]; + void *img; + + memset(i, 0, sizeof(int) * 3); + img = mlx_new_image(mlx->mlx, 100, 100); + while (i[0] < (100 * 100) * 4) + { + if (i[0] < 10000 || i[0] > 20000) + { + pixel[0] = i[0]; + pixel[1] = i[1]; + pixel[2] = i[2]; + pixel[3] = 0x99; + mlx_set_image_pixel(mlx->mlx, img, i[1], i[2], *((int *)pixel)); + } + i[0] += 4; + i[1]++; + if (i[1] >= 100) + { + i[1] = 0; + i[2]++; + } + } + return (img); +} + +int key_hook(int key, void *param) +{ + if (key == 41) + mlx_loop_end(((t_mlx *)param)->mlx); + return (0); +} + +int window_hook(int event, void *param) +{ + if (event == 0) + mlx_loop_end(((t_mlx *)param)->mlx); + return (0); +} + +int main(void) +{ + t_mlx mlx; + void *img; + int w; + int h; + + mlx.mlx = mlx_init(); + mlx.win = mlx_new_window(mlx.mlx, 400, 400, "My window"); + mlx_on_event(mlx.mlx, mlx.win, MLX_KEYDOWN, key_hook, &mlx); + mlx_on_event(mlx.mlx, mlx.win, MLX_WINDOW_EVENT, window_hook, &mlx); + mlx.logo = mlx_png_file_to_image(mlx.mlx, "42_logo.png", &w, &h); + mlx_pixel_put(mlx.mlx, mlx.win, 200, 10, 0xFFFF00FF); + mlx_put_image_to_window(mlx.mlx, mlx.win, mlx.logo, 200, 200); + mlx.img = create_image(&mlx); + mlx_string_put(mlx.mlx, mlx.win, 20, 20, 0xFFFF2000, \ + "that text will disappear"); + mlx_loop_hook(mlx.mlx, update, &mlx); + mlx_loop(mlx.mlx); + mlx_destroy_image(mlx.mlx, mlx.img); + mlx_destroy_image(mlx.mlx, mlx.logo); + mlx_destroy_window(mlx.mlx, mlx.win); + mlx_destroy_display(mlx.mlx); + return (0); +} diff --git a/MacroLibX/test/run.sh b/MacroLibX/test/run.sh new file mode 100755 index 0000000..f3c908d --- /dev/null +++ b/MacroLibX/test/run.sh @@ -0,0 +1 @@ +clang main.c ../libmlx.so -lSDL2 -g && ./a.out diff --git a/MacroLibX/third_party/glm/common.hpp b/MacroLibX/third_party/glm/common.hpp new file mode 100644 index 0000000..0328dc9 --- /dev/null +++ b/MacroLibX/third_party/glm/common.hpp @@ -0,0 +1,539 @@ +/// @ref core +/// @file glm/common.hpp +/// +/// @see GLSL 4.20.8 specification, section 8.3 Common Functions +/// +/// @defgroup core_func_common Common functions +/// @ingroup core +/// +/// Provides GLSL common functions +/// +/// These all operate component-wise. The description is per component. +/// +/// Include to use these core features. + +#pragma once + +#include "detail/qualifier.hpp" +#include "detail/_fixes.hpp" + +namespace glm +{ + /// @addtogroup core_func_common + /// @{ + + /// Returns x if x >= 0; otherwise, it returns -x. + /// + /// @tparam genType floating-point or signed integer; scalar or vector types. + /// + /// @see GLSL abs man page + /// @see GLSL 4.20.8 specification, section 8.3 Common Functions + template + GLM_FUNC_DECL GLM_CONSTEXPR genType abs(genType x); + + /// Returns x if x >= 0; otherwise, it returns -x. + /// + /// @tparam L Integer between 1 and 4 included that qualify the dimension of the vector + /// @tparam T Floating-point or signed integer scalar types + /// @tparam Q Value from qualifier enum + /// + /// @see GLSL abs man page + /// @see GLSL 4.20.8 specification, section 8.3 Common Functions + template + GLM_FUNC_DECL GLM_CONSTEXPR vec abs(vec const& x); + + /// Returns 1.0 if x > 0, 0.0 if x == 0, or -1.0 if x < 0. + /// + /// @tparam L Integer between 1 and 4 included that qualify the dimension of the vector + /// @tparam T Floating-point scalar types + /// @tparam Q Value from qualifier enum + /// + /// @see GLSL sign man page + /// @see GLSL 4.20.8 specification, section 8.3 Common Functions + template + GLM_FUNC_DECL vec sign(vec const& x); + + /// Returns a value equal to the nearest integer that is less then or equal to x. + /// + /// @tparam L Integer between 1 and 4 included that qualify the dimension of the vector + /// @tparam T Floating-point scalar types + /// @tparam Q Value from qualifier enum + /// + /// @see GLSL floor man page + /// @see GLSL 4.20.8 specification, section 8.3 Common Functions + template + GLM_FUNC_DECL vec floor(vec const& x); + + /// Returns a value equal to the nearest integer to x + /// whose absolute value is not larger than the absolute value of x. + /// + /// @tparam L Integer between 1 and 4 included that qualify the dimension of the vector + /// @tparam T Floating-point scalar types + /// @tparam Q Value from qualifier enum + /// + /// @see GLSL trunc man page + /// @see GLSL 4.20.8 specification, section 8.3 Common Functions + template + GLM_FUNC_DECL vec trunc(vec const& x); + + /// Returns a value equal to the nearest integer to x. + /// The fraction 0.5 will round in a direction chosen by the + /// implementation, presumably the direction that is fastest. + /// This includes the possibility that round(x) returns the + /// same value as roundEven(x) for all values of x. + /// + /// @tparam L Integer between 1 and 4 included that qualify the dimension of the vector + /// @tparam T Floating-point scalar types + /// @tparam Q Value from qualifier enum + /// + /// @see GLSL round man page + /// @see GLSL 4.20.8 specification, section 8.3 Common Functions + template + GLM_FUNC_DECL vec round(vec const& x); + + /// Returns a value equal to the nearest integer to x. + /// A fractional part of 0.5 will round toward the nearest even + /// integer. (Both 3.5 and 4.5 for x will return 4.0.) + /// + /// @tparam L Integer between 1 and 4 included that qualify the dimension of the vector + /// @tparam T Floating-point scalar types + /// @tparam Q Value from qualifier enum + /// + /// @see GLSL roundEven man page + /// @see GLSL 4.20.8 specification, section 8.3 Common Functions + /// @see New round to even technique + template + GLM_FUNC_DECL vec roundEven(vec const& x); + + /// Returns a value equal to the nearest integer + /// that is greater than or equal to x. + /// + /// @tparam L Integer between 1 and 4 included that qualify the dimension of the vector + /// @tparam T Floating-point scalar types + /// @tparam Q Value from qualifier enum + /// + /// @see GLSL ceil man page + /// @see GLSL 4.20.8 specification, section 8.3 Common Functions + template + GLM_FUNC_DECL vec ceil(vec const& x); + + /// Return x - floor(x). + /// + /// @tparam genType Floating-point scalar or vector types. + /// + /// @see GLSL fract man page + /// @see GLSL 4.20.8 specification, section 8.3 Common Functions + template + GLM_FUNC_DECL genType fract(genType x); + + /// Return x - floor(x). + /// + /// @tparam L Integer between 1 and 4 included that qualify the dimension of the vector + /// @tparam T Floating-point scalar types + /// @tparam Q Value from qualifier enum + /// + /// @see GLSL fract man page + /// @see GLSL 4.20.8 specification, section 8.3 Common Functions + template + GLM_FUNC_DECL vec fract(vec const& x); + + template + GLM_FUNC_DECL genType mod(genType x, genType y); + + template + GLM_FUNC_DECL vec mod(vec const& x, T y); + + /// Modulus. Returns x - y * floor(x / y) + /// for each component in x using the floating point value y. + /// + /// @tparam L Integer between 1 and 4 included that qualify the dimension of the vector + /// @tparam T Floating-point scalar types, include glm/gtc/integer for integer scalar types support + /// @tparam Q Value from qualifier enum + /// + /// @see GLSL mod man page + /// @see GLSL 4.20.8 specification, section 8.3 Common Functions + template + GLM_FUNC_DECL vec mod(vec const& x, vec const& y); + + /// Returns the fractional part of x and sets i to the integer + /// part (as a whole number floating point value). Both the + /// return value and the output parameter will have the same + /// sign as x. + /// + /// @tparam genType Floating-point scalar or vector types. + /// + /// @see GLSL modf man page + /// @see GLSL 4.20.8 specification, section 8.3 Common Functions + template + GLM_FUNC_DECL genType modf(genType x, genType& i); + + /// Returns y if y < x; otherwise, it returns x. + /// + /// @tparam genType Floating-point or integer; scalar or vector types. + /// + /// @see GLSL min man page + /// @see GLSL 4.20.8 specification, section 8.3 Common Functions + template + GLM_FUNC_DECL GLM_CONSTEXPR genType min(genType x, genType y); + + /// Returns y if y < x; otherwise, it returns x. + /// + /// @tparam L Integer between 1 and 4 included that qualify the dimension of the vector + /// @tparam T Floating-point or integer scalar types + /// @tparam Q Value from qualifier enum + /// + /// @see GLSL min man page + /// @see GLSL 4.20.8 specification, section 8.3 Common Functions + template + GLM_FUNC_DECL GLM_CONSTEXPR vec min(vec const& x, T y); + + /// Returns y if y < x; otherwise, it returns x. + /// + /// @tparam L Integer between 1 and 4 included that qualify the dimension of the vector + /// @tparam T Floating-point or integer scalar types + /// @tparam Q Value from qualifier enum + /// + /// @see GLSL min man page + /// @see GLSL 4.20.8 specification, section 8.3 Common Functions + template + GLM_FUNC_DECL GLM_CONSTEXPR vec min(vec const& x, vec const& y); + + /// Returns y if x < y; otherwise, it returns x. + /// + /// @tparam genType Floating-point or integer; scalar or vector types. + /// + /// @see GLSL max man page + /// @see GLSL 4.20.8 specification, section 8.3 Common Functions + template + GLM_FUNC_DECL GLM_CONSTEXPR genType max(genType x, genType y); + + /// Returns y if x < y; otherwise, it returns x. + /// + /// @tparam L Integer between 1 and 4 included that qualify the dimension of the vector + /// @tparam T Floating-point or integer scalar types + /// @tparam Q Value from qualifier enum + /// + /// @see GLSL max man page + /// @see GLSL 4.20.8 specification, section 8.3 Common Functions + template + GLM_FUNC_DECL GLM_CONSTEXPR vec max(vec const& x, T y); + + /// Returns y if x < y; otherwise, it returns x. + /// + /// @tparam L Integer between 1 and 4 included that qualify the dimension of the vector + /// @tparam T Floating-point or integer scalar types + /// @tparam Q Value from qualifier enum + /// + /// @see GLSL max man page + /// @see GLSL 4.20.8 specification, section 8.3 Common Functions + template + GLM_FUNC_DECL GLM_CONSTEXPR vec max(vec const& x, vec const& y); + + /// Returns min(max(x, minVal), maxVal) for each component in x + /// using the floating-point values minVal and maxVal. + /// + /// @tparam genType Floating-point or integer; scalar or vector types. + /// + /// @see GLSL clamp man page + /// @see GLSL 4.20.8 specification, section 8.3 Common Functions + template + GLM_FUNC_DECL GLM_CONSTEXPR genType clamp(genType x, genType minVal, genType maxVal); + + /// Returns min(max(x, minVal), maxVal) for each component in x + /// using the floating-point values minVal and maxVal. + /// + /// @tparam L Integer between 1 and 4 included that qualify the dimension of the vector + /// @tparam T Floating-point or integer scalar types + /// @tparam Q Value from qualifier enum + /// + /// @see GLSL clamp man page + /// @see GLSL 4.20.8 specification, section 8.3 Common Functions + template + GLM_FUNC_DECL GLM_CONSTEXPR vec clamp(vec const& x, T minVal, T maxVal); + + /// Returns min(max(x, minVal), maxVal) for each component in x + /// using the floating-point values minVal and maxVal. + /// + /// @tparam L Integer between 1 and 4 included that qualify the dimension of the vector + /// @tparam T Floating-point or integer scalar types + /// @tparam Q Value from qualifier enum + /// + /// @see GLSL clamp man page + /// @see GLSL 4.20.8 specification, section 8.3 Common Functions + template + GLM_FUNC_DECL GLM_CONSTEXPR vec clamp(vec const& x, vec const& minVal, vec const& maxVal); + + /// If genTypeU is a floating scalar or vector: + /// Returns x * (1.0 - a) + y * a, i.e., the linear blend of + /// x and y using the floating-point value a. + /// The value for a is not restricted to the range [0, 1]. + /// + /// If genTypeU is a boolean scalar or vector: + /// Selects which vector each returned component comes + /// from. For a component of 'a' that is false, the + /// corresponding component of 'x' is returned. For a + /// component of 'a' that is true, the corresponding + /// component of 'y' is returned. Components of 'x' and 'y' that + /// are not selected are allowed to be invalid floating point + /// values and will have no effect on the results. Thus, this + /// provides different functionality than + /// genType mix(genType x, genType y, genType(a)) + /// where a is a Boolean vector. + /// + /// @see GLSL mix man page + /// @see GLSL 4.20.8 specification, section 8.3 Common Functions + /// + /// @param[in] x Value to interpolate. + /// @param[in] y Value to interpolate. + /// @param[in] a Interpolant. + /// + /// @tparam genTypeT Floating point scalar or vector. + /// @tparam genTypeU Floating point or boolean scalar or vector. It can't be a vector if it is the length of genTypeT. + /// + /// @code + /// #include + /// ... + /// float a; + /// bool b; + /// glm::dvec3 e; + /// glm::dvec3 f; + /// glm::vec4 g; + /// glm::vec4 h; + /// ... + /// glm::vec4 r = glm::mix(g, h, a); // Interpolate with a floating-point scalar two vectors. + /// glm::vec4 s = glm::mix(g, h, b); // Returns g or h; + /// glm::dvec3 t = glm::mix(e, f, a); // Types of the third parameter is not required to match with the first and the second. + /// glm::vec4 u = glm::mix(g, h, r); // Interpolations can be perform per component with a vector for the last parameter. + /// @endcode + template + GLM_FUNC_DECL genTypeT mix(genTypeT x, genTypeT y, genTypeU a); + + template + GLM_FUNC_DECL vec mix(vec const& x, vec const& y, vec const& a); + + template + GLM_FUNC_DECL vec mix(vec const& x, vec const& y, U a); + + /// Returns 0.0 if x < edge, otherwise it returns 1.0 for each component of a genType. + /// + /// @see GLSL step man page + /// @see GLSL 4.20.8 specification, section 8.3 Common Functions + template + GLM_FUNC_DECL genType step(genType edge, genType x); + + /// Returns 0.0 if x < edge, otherwise it returns 1.0. + /// + /// @tparam L Integer between 1 and 4 included that qualify the dimension of the vector + /// @tparam T Floating-point scalar types + /// @tparam Q Value from qualifier enum + /// + /// @see GLSL step man page + /// @see GLSL 4.20.8 specification, section 8.3 Common Functions + template + GLM_FUNC_DECL vec step(T edge, vec const& x); + + /// Returns 0.0 if x < edge, otherwise it returns 1.0. + /// + /// @tparam L Integer between 1 and 4 included that qualify the dimension of the vector + /// @tparam T Floating-point scalar types + /// @tparam Q Value from qualifier enum + /// + /// @see GLSL step man page + /// @see GLSL 4.20.8 specification, section 8.3 Common Functions + template + GLM_FUNC_DECL vec step(vec const& edge, vec const& x); + + /// Returns 0.0 if x <= edge0 and 1.0 if x >= edge1 and + /// performs smooth Hermite interpolation between 0 and 1 + /// when edge0 < x < edge1. This is useful in cases where + /// you would want a threshold function with a smooth + /// transition. This is equivalent to: + /// genType t; + /// t = clamp ((x - edge0) / (edge1 - edge0), 0, 1); + /// return t * t * (3 - 2 * t); + /// Results are undefined if edge0 >= edge1. + /// + /// @tparam genType Floating-point scalar or vector types. + /// + /// @see GLSL smoothstep man page + /// @see GLSL 4.20.8 specification, section 8.3 Common Functions + template + GLM_FUNC_DECL genType smoothstep(genType edge0, genType edge1, genType x); + + template + GLM_FUNC_DECL vec smoothstep(T edge0, T edge1, vec const& x); + + template + GLM_FUNC_DECL vec smoothstep(vec const& edge0, vec const& edge1, vec const& x); + + /// Returns true if x holds a NaN (not a number) + /// representation in the underlying implementation's set of + /// floating point representations. Returns false otherwise, + /// including for implementations with no NaN + /// representations. + /// + /// /!\ When using compiler fast math, this function may fail. + /// + /// @tparam L Integer between 1 and 4 included that qualify the dimension of the vector + /// @tparam T Floating-point scalar types + /// @tparam Q Value from qualifier enum + /// + /// @see GLSL isnan man page + /// @see GLSL 4.20.8 specification, section 8.3 Common Functions + template + GLM_FUNC_DECL vec isnan(vec const& x); + + /// Returns true if x holds a positive infinity or negative + /// infinity representation in the underlying implementation's + /// set of floating point representations. Returns false + /// otherwise, including for implementations with no infinity + /// representations. + /// + /// @tparam L Integer between 1 and 4 included that qualify the dimension of the vector + /// @tparam T Floating-point scalar types + /// @tparam Q Value from qualifier enum + /// + /// @see GLSL isinf man page + /// @see GLSL 4.20.8 specification, section 8.3 Common Functions + template + GLM_FUNC_DECL vec isinf(vec const& x); + + /// Returns a signed integer value representing + /// the encoding of a floating-point value. The floating-point + /// value's bit-level representation is preserved. + /// + /// @see GLSL floatBitsToInt man page + /// @see GLSL 4.20.8 specification, section 8.3 Common Functions + GLM_FUNC_DECL int floatBitsToInt(float const& v); + + /// Returns a signed integer value representing + /// the encoding of a floating-point value. The floatingpoint + /// value's bit-level representation is preserved. + /// + /// @tparam L Integer between 1 and 4 included that qualify the dimension of the vector + /// @tparam Q Value from qualifier enum + /// + /// @see GLSL floatBitsToInt man page + /// @see GLSL 4.20.8 specification, section 8.3 Common Functions + template + GLM_FUNC_DECL vec floatBitsToInt(vec const& v); + + /// Returns a unsigned integer value representing + /// the encoding of a floating-point value. The floatingpoint + /// value's bit-level representation is preserved. + /// + /// @see GLSL floatBitsToUint man page + /// @see GLSL 4.20.8 specification, section 8.3 Common Functions + GLM_FUNC_DECL uint floatBitsToUint(float const& v); + + /// Returns a unsigned integer value representing + /// the encoding of a floating-point value. The floatingpoint + /// value's bit-level representation is preserved. + /// + /// @tparam L Integer between 1 and 4 included that qualify the dimension of the vector + /// @tparam Q Value from qualifier enum + /// + /// @see GLSL floatBitsToUint man page + /// @see GLSL 4.20.8 specification, section 8.3 Common Functions + template + GLM_FUNC_DECL vec floatBitsToUint(vec const& v); + + /// Returns a floating-point value corresponding to a signed + /// integer encoding of a floating-point value. + /// If an inf or NaN is passed in, it will not signal, and the + /// resulting floating point value is unspecified. Otherwise, + /// the bit-level representation is preserved. + /// + /// @see GLSL intBitsToFloat man page + /// @see GLSL 4.20.8 specification, section 8.3 Common Functions + GLM_FUNC_DECL float intBitsToFloat(int const& v); + + /// Returns a floating-point value corresponding to a signed + /// integer encoding of a floating-point value. + /// If an inf or NaN is passed in, it will not signal, and the + /// resulting floating point value is unspecified. Otherwise, + /// the bit-level representation is preserved. + /// + /// @tparam L Integer between 1 and 4 included that qualify the dimension of the vector + /// @tparam Q Value from qualifier enum + /// + /// @see GLSL intBitsToFloat man page + /// @see GLSL 4.20.8 specification, section 8.3 Common Functions + template + GLM_FUNC_DECL vec intBitsToFloat(vec const& v); + + /// Returns a floating-point value corresponding to a + /// unsigned integer encoding of a floating-point value. + /// If an inf or NaN is passed in, it will not signal, and the + /// resulting floating point value is unspecified. Otherwise, + /// the bit-level representation is preserved. + /// + /// @see GLSL uintBitsToFloat man page + /// @see GLSL 4.20.8 specification, section 8.3 Common Functions + GLM_FUNC_DECL float uintBitsToFloat(uint const& v); + + /// Returns a floating-point value corresponding to a + /// unsigned integer encoding of a floating-point value. + /// If an inf or NaN is passed in, it will not signal, and the + /// resulting floating point value is unspecified. Otherwise, + /// the bit-level representation is preserved. + /// + /// @tparam L Integer between 1 and 4 included that qualify the dimension of the vector + /// @tparam Q Value from qualifier enum + /// + /// @see GLSL uintBitsToFloat man page + /// @see GLSL 4.20.8 specification, section 8.3 Common Functions + template + GLM_FUNC_DECL vec uintBitsToFloat(vec const& v); + + /// Computes and returns a * b + c. + /// + /// @tparam genType Floating-point scalar or vector types. + /// + /// @see GLSL fma man page + /// @see GLSL 4.20.8 specification, section 8.3 Common Functions + template + GLM_FUNC_DECL genType fma(genType const& a, genType const& b, genType const& c); + + /// Splits x into a floating-point significand in the range + /// [0.5, 1.0) and an integral exponent of two, such that: + /// x = significand * exp(2, exponent) + /// + /// The significand is returned by the function and the + /// exponent is returned in the parameter exp. For a + /// floating-point value of zero, the significant and exponent + /// are both zero. For a floating-point value that is an + /// infinity or is not a number, the results are undefined. + /// + /// @tparam genType Floating-point scalar or vector types. + /// + /// @see GLSL frexp man page + /// @see GLSL 4.20.8 specification, section 8.3 Common Functions + template + GLM_FUNC_DECL genType frexp(genType x, int& exp); + + template + GLM_FUNC_DECL vec frexp(vec const& v, vec& exp); + + /// Builds a floating-point number from x and the + /// corresponding integral exponent of two in exp, returning: + /// significand * exp(2, exponent) + /// + /// If this product is too large to be represented in the + /// floating-point type, the result is undefined. + /// + /// @tparam genType Floating-point scalar or vector types. + /// + /// @see GLSL ldexp man page; + /// @see GLSL 4.20.8 specification, section 8.3 Common Functions + template + GLM_FUNC_DECL genType ldexp(genType const& x, int const& exp); + + template + GLM_FUNC_DECL vec ldexp(vec const& v, vec const& exp); + + /// @} +}//namespace glm + +#include "detail/func_common.inl" + diff --git a/MacroLibX/third_party/glm/detail/_features.hpp b/MacroLibX/third_party/glm/detail/_features.hpp new file mode 100644 index 0000000..b0cbe9f --- /dev/null +++ b/MacroLibX/third_party/glm/detail/_features.hpp @@ -0,0 +1,394 @@ +#pragma once + +// #define GLM_CXX98_EXCEPTIONS +// #define GLM_CXX98_RTTI + +// #define GLM_CXX11_RVALUE_REFERENCES +// Rvalue references - GCC 4.3 +// http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2006/n2118.html + +// GLM_CXX11_TRAILING_RETURN +// Rvalue references for *this - GCC not supported +// http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2439.htm + +// GLM_CXX11_NONSTATIC_MEMBER_INIT +// Initialization of class objects by rvalues - GCC any +// http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2004/n1610.html + +// GLM_CXX11_NONSTATIC_MEMBER_INIT +// Non-static data member initializers - GCC 4.7 +// http://www.open-std.org/JTC1/SC22/WG21/docs/papers/2008/n2756.htm + +// #define GLM_CXX11_VARIADIC_TEMPLATE +// Variadic templates - GCC 4.3 +// http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2242.pdf + +// +// Extending variadic template template parameters - GCC 4.4 +// http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2555.pdf + +// #define GLM_CXX11_GENERALIZED_INITIALIZERS +// Initializer lists - GCC 4.4 +// http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2672.htm + +// #define GLM_CXX11_STATIC_ASSERT +// Static assertions - GCC 4.3 +// http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2004/n1720.html + +// #define GLM_CXX11_AUTO_TYPE +// auto-typed variables - GCC 4.4 +// http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2006/n1984.pdf + +// #define GLM_CXX11_AUTO_TYPE +// Multi-declarator auto - GCC 4.4 +// http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2004/n1737.pdf + +// #define GLM_CXX11_AUTO_TYPE +// Removal of auto as a storage-class specifier - GCC 4.4 +// http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2546.htm + +// #define GLM_CXX11_AUTO_TYPE +// New function declarator syntax - GCC 4.4 +// http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2541.htm + +// #define GLM_CXX11_LAMBDAS +// New wording for C++0x lambdas - GCC 4.5 +// http://www.open-std.org/JTC1/SC22/WG21/docs/papers/2009/n2927.pdf + +// #define GLM_CXX11_DECLTYPE +// Declared type of an expression - GCC 4.3 +// http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2343.pdf + +// +// Right angle brackets - GCC 4.3 +// http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2005/n1757.html + +// +// Default template arguments for function templates DR226 GCC 4.3 +// http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#226 + +// +// Solving the SFINAE problem for expressions DR339 GCC 4.4 +// http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2634.html + +// #define GLM_CXX11_ALIAS_TEMPLATE +// Template aliases N2258 GCC 4.7 +// http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2258.pdf + +// +// Extern templates N1987 Yes +// http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2006/n1987.htm + +// #define GLM_CXX11_NULLPTR +// Null pointer constant N2431 GCC 4.6 +// http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2431.pdf + +// #define GLM_CXX11_STRONG_ENUMS +// Strongly-typed enums N2347 GCC 4.4 +// http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2347.pdf + +// +// Forward declarations for enums N2764 GCC 4.6 +// http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2764.pdf + +// +// Generalized attributes N2761 GCC 4.8 +// http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2761.pdf + +// +// Generalized constant expressions N2235 GCC 4.6 +// http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2235.pdf + +// +// Alignment support N2341 GCC 4.8 +// http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2341.pdf + +// #define GLM_CXX11_DELEGATING_CONSTRUCTORS +// Delegating constructors N1986 GCC 4.7 +// http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2006/n1986.pdf + +// +// Inheriting constructors N2540 GCC 4.8 +// http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2540.htm + +// #define GLM_CXX11_EXPLICIT_CONVERSIONS +// Explicit conversion operators N2437 GCC 4.5 +// http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2437.pdf + +// +// New character types N2249 GCC 4.4 +// http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2249.html + +// +// Unicode string literals N2442 GCC 4.5 +// http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2442.htm + +// +// Raw string literals N2442 GCC 4.5 +// http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2442.htm + +// +// Universal character name literals N2170 GCC 4.5 +// http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2170.html + +// #define GLM_CXX11_USER_LITERALS +// User-defined literals N2765 GCC 4.7 +// http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2765.pdf + +// +// Standard Layout Types N2342 GCC 4.5 +// http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2342.htm + +// #define GLM_CXX11_DEFAULTED_FUNCTIONS +// #define GLM_CXX11_DELETED_FUNCTIONS +// Defaulted and deleted functions N2346 GCC 4.4 +// http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2346.htm + +// +// Extended friend declarations N1791 GCC 4.7 +// http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2005/n1791.pdf + +// +// Extending sizeof N2253 GCC 4.4 +// http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2253.html + +// #define GLM_CXX11_INLINE_NAMESPACES +// Inline namespaces N2535 GCC 4.4 +// http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2535.htm + +// #define GLM_CXX11_UNRESTRICTED_UNIONS +// Unrestricted unions N2544 GCC 4.6 +// http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2544.pdf + +// #define GLM_CXX11_LOCAL_TYPE_TEMPLATE_ARGS +// Local and unnamed types as template arguments N2657 GCC 4.5 +// http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2657.htm + +// #define GLM_CXX11_RANGE_FOR +// Range-based for N2930 GCC 4.6 +// http://www.open-std.org/JTC1/SC22/WG21/docs/papers/2009/n2930.html + +// #define GLM_CXX11_OVERRIDE_CONTROL +// Explicit virtual overrides N2928 N3206 N3272 GCC 4.7 +// http://www.open-std.org/JTC1/SC22/WG21/docs/papers/2009/n2928.htm +// http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2010/n3206.htm +// http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2011/n3272.htm + +// +// Minimal support for garbage collection and reachability-based leak detection N2670 No +// http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2670.htm + +// #define GLM_CXX11_NOEXCEPT +// Allowing move constructors to throw [noexcept] N3050 GCC 4.6 (core language only) +// http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2010/n3050.html + +// +// Defining move special member functions N3053 GCC 4.6 +// http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2010/n3053.html + +// +// Sequence points N2239 Yes +// http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2239.html + +// +// Atomic operations N2427 GCC 4.4 +// http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2239.html + +// +// Strong Compare and Exchange N2748 GCC 4.5 +// http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2427.html + +// +// Bidirectional Fences N2752 GCC 4.8 +// http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2752.htm + +// +// Memory model N2429 GCC 4.8 +// http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2429.htm + +// +// Data-dependency ordering: atomics and memory model N2664 GCC 4.4 +// http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2664.htm + +// +// Propagating exceptions N2179 GCC 4.4 +// http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2179.html + +// +// Abandoning a process and at_quick_exit N2440 GCC 4.8 +// http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2440.htm + +// +// Allow atomics use in signal handlers N2547 Yes +// http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2547.htm + +// +// Thread-local storage N2659 GCC 4.8 +// http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2659.htm + +// +// Dynamic initialization and destruction with concurrency N2660 GCC 4.3 +// http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2660.htm + +// +// __func__ predefined identifier N2340 GCC 4.3 +// http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2340.htm + +// +// C99 preprocessor N1653 GCC 4.3 +// http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2004/n1653.htm + +// +// long long N1811 GCC 4.3 +// http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2005/n1811.pdf + +// +// Extended integral types N1988 Yes +// http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2006/n1988.pdf + +#if(GLM_COMPILER & GLM_COMPILER_GCC) + +# define GLM_CXX11_STATIC_ASSERT + +#elif(GLM_COMPILER & GLM_COMPILER_CLANG) +# if(__has_feature(cxx_exceptions)) +# define GLM_CXX98_EXCEPTIONS +# endif + +# if(__has_feature(cxx_rtti)) +# define GLM_CXX98_RTTI +# endif + +# if(__has_feature(cxx_access_control_sfinae)) +# define GLM_CXX11_ACCESS_CONTROL_SFINAE +# endif + +# if(__has_feature(cxx_alias_templates)) +# define GLM_CXX11_ALIAS_TEMPLATE +# endif + +# if(__has_feature(cxx_alignas)) +# define GLM_CXX11_ALIGNAS +# endif + +# if(__has_feature(cxx_attributes)) +# define GLM_CXX11_ATTRIBUTES +# endif + +# if(__has_feature(cxx_constexpr)) +# define GLM_CXX11_CONSTEXPR +# endif + +# if(__has_feature(cxx_decltype)) +# define GLM_CXX11_DECLTYPE +# endif + +# if(__has_feature(cxx_default_function_template_args)) +# define GLM_CXX11_DEFAULT_FUNCTION_TEMPLATE_ARGS +# endif + +# if(__has_feature(cxx_defaulted_functions)) +# define GLM_CXX11_DEFAULTED_FUNCTIONS +# endif + +# if(__has_feature(cxx_delegating_constructors)) +# define GLM_CXX11_DELEGATING_CONSTRUCTORS +# endif + +# if(__has_feature(cxx_deleted_functions)) +# define GLM_CXX11_DELETED_FUNCTIONS +# endif + +# if(__has_feature(cxx_explicit_conversions)) +# define GLM_CXX11_EXPLICIT_CONVERSIONS +# endif + +# if(__has_feature(cxx_generalized_initializers)) +# define GLM_CXX11_GENERALIZED_INITIALIZERS +# endif + +# if(__has_feature(cxx_implicit_moves)) +# define GLM_CXX11_IMPLICIT_MOVES +# endif + +# if(__has_feature(cxx_inheriting_constructors)) +# define GLM_CXX11_INHERITING_CONSTRUCTORS +# endif + +# if(__has_feature(cxx_inline_namespaces)) +# define GLM_CXX11_INLINE_NAMESPACES +# endif + +# if(__has_feature(cxx_lambdas)) +# define GLM_CXX11_LAMBDAS +# endif + +# if(__has_feature(cxx_local_type_template_args)) +# define GLM_CXX11_LOCAL_TYPE_TEMPLATE_ARGS +# endif + +# if(__has_feature(cxx_noexcept)) +# define GLM_CXX11_NOEXCEPT +# endif + +# if(__has_feature(cxx_nonstatic_member_init)) +# define GLM_CXX11_NONSTATIC_MEMBER_INIT +# endif + +# if(__has_feature(cxx_nullptr)) +# define GLM_CXX11_NULLPTR +# endif + +# if(__has_feature(cxx_override_control)) +# define GLM_CXX11_OVERRIDE_CONTROL +# endif + +# if(__has_feature(cxx_reference_qualified_functions)) +# define GLM_CXX11_REFERENCE_QUALIFIED_FUNCTIONS +# endif + +# if(__has_feature(cxx_range_for)) +# define GLM_CXX11_RANGE_FOR +# endif + +# if(__has_feature(cxx_raw_string_literals)) +# define GLM_CXX11_RAW_STRING_LITERALS +# endif + +# if(__has_feature(cxx_rvalue_references)) +# define GLM_CXX11_RVALUE_REFERENCES +# endif + +# if(__has_feature(cxx_static_assert)) +# define GLM_CXX11_STATIC_ASSERT +# endif + +# if(__has_feature(cxx_auto_type)) +# define GLM_CXX11_AUTO_TYPE +# endif + +# if(__has_feature(cxx_strong_enums)) +# define GLM_CXX11_STRONG_ENUMS +# endif + +# if(__has_feature(cxx_trailing_return)) +# define GLM_CXX11_TRAILING_RETURN +# endif + +# if(__has_feature(cxx_unicode_literals)) +# define GLM_CXX11_UNICODE_LITERALS +# endif + +# if(__has_feature(cxx_unrestricted_unions)) +# define GLM_CXX11_UNRESTRICTED_UNIONS +# endif + +# if(__has_feature(cxx_user_literals)) +# define GLM_CXX11_USER_LITERALS +# endif + +# if(__has_feature(cxx_variadic_templates)) +# define GLM_CXX11_VARIADIC_TEMPLATES +# endif + +#endif//(GLM_COMPILER & GLM_COMPILER_CLANG) diff --git a/MacroLibX/third_party/glm/detail/_fixes.hpp b/MacroLibX/third_party/glm/detail/_fixes.hpp new file mode 100644 index 0000000..a503c7c --- /dev/null +++ b/MacroLibX/third_party/glm/detail/_fixes.hpp @@ -0,0 +1,27 @@ +#include + +//! Workaround for compatibility with other libraries +#ifdef max +#undef max +#endif + +//! Workaround for compatibility with other libraries +#ifdef min +#undef min +#endif + +//! Workaround for Android +#ifdef isnan +#undef isnan +#endif + +//! Workaround for Android +#ifdef isinf +#undef isinf +#endif + +//! Workaround for Chrone Native Client +#ifdef log2 +#undef log2 +#endif + diff --git a/MacroLibX/third_party/glm/detail/_noise.hpp b/MacroLibX/third_party/glm/detail/_noise.hpp new file mode 100644 index 0000000..5a874a0 --- /dev/null +++ b/MacroLibX/third_party/glm/detail/_noise.hpp @@ -0,0 +1,81 @@ +#pragma once + +#include "../common.hpp" + +namespace glm{ +namespace detail +{ + template + GLM_FUNC_QUALIFIER T mod289(T const& x) + { + return x - floor(x * (static_cast(1.0) / static_cast(289.0))) * static_cast(289.0); + } + + template + GLM_FUNC_QUALIFIER T permute(T const& x) + { + return mod289(((x * static_cast(34)) + static_cast(1)) * x); + } + + template + GLM_FUNC_QUALIFIER vec<2, T, Q> permute(vec<2, T, Q> const& x) + { + return mod289(((x * static_cast(34)) + static_cast(1)) * x); + } + + template + GLM_FUNC_QUALIFIER vec<3, T, Q> permute(vec<3, T, Q> const& x) + { + return mod289(((x * static_cast(34)) + static_cast(1)) * x); + } + + template + GLM_FUNC_QUALIFIER vec<4, T, Q> permute(vec<4, T, Q> const& x) + { + return mod289(((x * static_cast(34)) + static_cast(1)) * x); + } + + template + GLM_FUNC_QUALIFIER T taylorInvSqrt(T const& r) + { + return static_cast(1.79284291400159) - static_cast(0.85373472095314) * r; + } + + template + GLM_FUNC_QUALIFIER vec<2, T, Q> taylorInvSqrt(vec<2, T, Q> const& r) + { + return static_cast(1.79284291400159) - static_cast(0.85373472095314) * r; + } + + template + GLM_FUNC_QUALIFIER vec<3, T, Q> taylorInvSqrt(vec<3, T, Q> const& r) + { + return static_cast(1.79284291400159) - static_cast(0.85373472095314) * r; + } + + template + GLM_FUNC_QUALIFIER vec<4, T, Q> taylorInvSqrt(vec<4, T, Q> const& r) + { + return static_cast(1.79284291400159) - static_cast(0.85373472095314) * r; + } + + template + GLM_FUNC_QUALIFIER vec<2, T, Q> fade(vec<2, T, Q> const& t) + { + return (t * t * t) * (t * (t * static_cast(6) - static_cast(15)) + static_cast(10)); + } + + template + GLM_FUNC_QUALIFIER vec<3, T, Q> fade(vec<3, T, Q> const& t) + { + return (t * t * t) * (t * (t * static_cast(6) - static_cast(15)) + static_cast(10)); + } + + template + GLM_FUNC_QUALIFIER vec<4, T, Q> fade(vec<4, T, Q> const& t) + { + return (t * t * t) * (t * (t * static_cast(6) - static_cast(15)) + static_cast(10)); + } +}//namespace detail +}//namespace glm + diff --git a/MacroLibX/third_party/glm/detail/_swizzle.hpp b/MacroLibX/third_party/glm/detail/_swizzle.hpp new file mode 100644 index 0000000..87896ef --- /dev/null +++ b/MacroLibX/third_party/glm/detail/_swizzle.hpp @@ -0,0 +1,804 @@ +#pragma once + +namespace glm{ +namespace detail +{ + // Internal class for implementing swizzle operators + template + struct _swizzle_base0 + { + protected: + GLM_FUNC_QUALIFIER T& elem(size_t i){ return (reinterpret_cast(_buffer))[i]; } + GLM_FUNC_QUALIFIER T const& elem(size_t i) const{ return (reinterpret_cast(_buffer))[i]; } + + // Use an opaque buffer to *ensure* the compiler doesn't call a constructor. + // The size 1 buffer is assumed to aligned to the actual members so that the + // elem() + char _buffer[1]; + }; + + template + struct _swizzle_base1 : public _swizzle_base0 + { + }; + + template + struct _swizzle_base1<2, T, Q, E0,E1,-1,-2, Aligned> : public _swizzle_base0 + { + GLM_FUNC_QUALIFIER vec<2, T, Q> operator ()() const { return vec<2, T, Q>(this->elem(E0), this->elem(E1)); } + }; + + template + struct _swizzle_base1<3, T, Q, E0,E1,E2,-1, Aligned> : public _swizzle_base0 + { + GLM_FUNC_QUALIFIER vec<3, T, Q> operator ()() const { return vec<3, T, Q>(this->elem(E0), this->elem(E1), this->elem(E2)); } + }; + + template + struct _swizzle_base1<4, T, Q, E0,E1,E2,E3, Aligned> : public _swizzle_base0 + { + GLM_FUNC_QUALIFIER vec<4, T, Q> operator ()() const { return vec<4, T, Q>(this->elem(E0), this->elem(E1), this->elem(E2), this->elem(E3)); } + }; + + // Internal class for implementing swizzle operators + /* + Template parameters: + + T = type of scalar values (e.g. float, double) + N = number of components in the vector (e.g. 3) + E0...3 = what index the n-th element of this swizzle refers to in the unswizzled vec + + DUPLICATE_ELEMENTS = 1 if there is a repeated element, 0 otherwise (used to specialize swizzles + containing duplicate elements so that they cannot be used as r-values). + */ + template + struct _swizzle_base2 : public _swizzle_base1::value> + { + struct op_equal + { + GLM_FUNC_QUALIFIER void operator() (T& e, T& t) const{ e = t; } + }; + + struct op_minus + { + GLM_FUNC_QUALIFIER void operator() (T& e, T& t) const{ e -= t; } + }; + + struct op_plus + { + GLM_FUNC_QUALIFIER void operator() (T& e, T& t) const{ e += t; } + }; + + struct op_mul + { + GLM_FUNC_QUALIFIER void operator() (T& e, T& t) const{ e *= t; } + }; + + struct op_div + { + GLM_FUNC_QUALIFIER void operator() (T& e, T& t) const{ e /= t; } + }; + + public: + GLM_FUNC_QUALIFIER _swizzle_base2& operator= (const T& t) + { + for (int i = 0; i < N; ++i) + (*this)[i] = t; + return *this; + } + + GLM_FUNC_QUALIFIER _swizzle_base2& operator= (vec const& that) + { + _apply_op(that, op_equal()); + return *this; + } + + GLM_FUNC_QUALIFIER void operator -= (vec const& that) + { + _apply_op(that, op_minus()); + } + + GLM_FUNC_QUALIFIER void operator += (vec const& that) + { + _apply_op(that, op_plus()); + } + + GLM_FUNC_QUALIFIER void operator *= (vec const& that) + { + _apply_op(that, op_mul()); + } + + GLM_FUNC_QUALIFIER void operator /= (vec const& that) + { + _apply_op(that, op_div()); + } + + GLM_FUNC_QUALIFIER T& operator[](size_t i) + { + const int offset_dst[4] = { E0, E1, E2, E3 }; + return this->elem(offset_dst[i]); + } + GLM_FUNC_QUALIFIER T operator[](size_t i) const + { + const int offset_dst[4] = { E0, E1, E2, E3 }; + return this->elem(offset_dst[i]); + } + + protected: + template + GLM_FUNC_QUALIFIER void _apply_op(vec const& that, const U& op) + { + // Make a copy of the data in this == &that. + // The copier should optimize out the copy in cases where the function is + // properly inlined and the copy is not necessary. + T t[N]; + for (int i = 0; i < N; ++i) + t[i] = that[i]; + for (int i = 0; i < N; ++i) + op( (*this)[i], t[i] ); + } + }; + + // Specialization for swizzles containing duplicate elements. These cannot be modified. + template + struct _swizzle_base2 : public _swizzle_base1::value> + { + struct Stub {}; + + GLM_FUNC_QUALIFIER _swizzle_base2& operator= (Stub const&) { return *this; } + + GLM_FUNC_QUALIFIER T operator[] (size_t i) const + { + const int offset_dst[4] = { E0, E1, E2, E3 }; + return this->elem(offset_dst[i]); + } + }; + + template + struct _swizzle : public _swizzle_base2 + { + typedef _swizzle_base2 base_type; + + using base_type::operator=; + + GLM_FUNC_QUALIFIER operator vec () const { return (*this)(); } + }; + +// +// To prevent the C++ syntax from getting entirely overwhelming, define some alias macros +// +#define GLM_SWIZZLE_TEMPLATE1 template +#define GLM_SWIZZLE_TEMPLATE2 template +#define GLM_SWIZZLE_TYPE1 _swizzle +#define GLM_SWIZZLE_TYPE2 _swizzle + +// +// Wrapper for a binary operator (e.g. u.yy + v.zy) +// +#define GLM_SWIZZLE_VECTOR_BINARY_OPERATOR_IMPLEMENTATION(OPERAND) \ + GLM_SWIZZLE_TEMPLATE2 \ + GLM_FUNC_QUALIFIER vec operator OPERAND ( const GLM_SWIZZLE_TYPE1& a, const GLM_SWIZZLE_TYPE2& b) \ + { \ + return a() OPERAND b(); \ + } \ + GLM_SWIZZLE_TEMPLATE1 \ + GLM_FUNC_QUALIFIER vec operator OPERAND ( const GLM_SWIZZLE_TYPE1& a, const vec& b) \ + { \ + return a() OPERAND b; \ + } \ + GLM_SWIZZLE_TEMPLATE1 \ + GLM_FUNC_QUALIFIER vec operator OPERAND ( const vec& a, const GLM_SWIZZLE_TYPE1& b) \ + { \ + return a OPERAND b(); \ + } + +// +// Wrapper for a operand between a swizzle and a binary (e.g. 1.0f - u.xyz) +// +#define GLM_SWIZZLE_SCALAR_BINARY_OPERATOR_IMPLEMENTATION(OPERAND) \ + GLM_SWIZZLE_TEMPLATE1 \ + GLM_FUNC_QUALIFIER vec operator OPERAND ( const GLM_SWIZZLE_TYPE1& a, const T& b) \ + { \ + return a() OPERAND b; \ + } \ + GLM_SWIZZLE_TEMPLATE1 \ + GLM_FUNC_QUALIFIER vec operator OPERAND ( const T& a, const GLM_SWIZZLE_TYPE1& b) \ + { \ + return a OPERAND b(); \ + } + +// +// Macro for wrapping a function taking one argument (e.g. abs()) +// +#define GLM_SWIZZLE_FUNCTION_1_ARGS(RETURN_TYPE,FUNCTION) \ + GLM_SWIZZLE_TEMPLATE1 \ + GLM_FUNC_QUALIFIER typename GLM_SWIZZLE_TYPE1::RETURN_TYPE FUNCTION(const GLM_SWIZZLE_TYPE1& a) \ + { \ + return FUNCTION(a()); \ + } + +// +// Macro for wrapping a function taking two vector arguments (e.g. dot()). +// +#define GLM_SWIZZLE_FUNCTION_2_ARGS(RETURN_TYPE,FUNCTION) \ + GLM_SWIZZLE_TEMPLATE2 \ + GLM_FUNC_QUALIFIER typename GLM_SWIZZLE_TYPE1::RETURN_TYPE FUNCTION(const GLM_SWIZZLE_TYPE1& a, const GLM_SWIZZLE_TYPE2& b) \ + { \ + return FUNCTION(a(), b()); \ + } \ + GLM_SWIZZLE_TEMPLATE1 \ + GLM_FUNC_QUALIFIER typename GLM_SWIZZLE_TYPE1::RETURN_TYPE FUNCTION(const GLM_SWIZZLE_TYPE1& a, const GLM_SWIZZLE_TYPE1& b) \ + { \ + return FUNCTION(a(), b()); \ + } \ + GLM_SWIZZLE_TEMPLATE1 \ + GLM_FUNC_QUALIFIER typename GLM_SWIZZLE_TYPE1::RETURN_TYPE FUNCTION(const GLM_SWIZZLE_TYPE1& a, const typename V& b) \ + { \ + return FUNCTION(a(), b); \ + } \ + GLM_SWIZZLE_TEMPLATE1 \ + GLM_FUNC_QUALIFIER typename GLM_SWIZZLE_TYPE1::RETURN_TYPE FUNCTION(const V& a, const GLM_SWIZZLE_TYPE1& b) \ + { \ + return FUNCTION(a, b()); \ + } + +// +// Macro for wrapping a function take 2 vec arguments followed by a scalar (e.g. mix()). +// +#define GLM_SWIZZLE_FUNCTION_2_ARGS_SCALAR(RETURN_TYPE,FUNCTION) \ + GLM_SWIZZLE_TEMPLATE2 \ + GLM_FUNC_QUALIFIER typename GLM_SWIZZLE_TYPE1::RETURN_TYPE FUNCTION(const GLM_SWIZZLE_TYPE1& a, const GLM_SWIZZLE_TYPE2& b, const T& c) \ + { \ + return FUNCTION(a(), b(), c); \ + } \ + GLM_SWIZZLE_TEMPLATE1 \ + GLM_FUNC_QUALIFIER typename GLM_SWIZZLE_TYPE1::RETURN_TYPE FUNCTION(const GLM_SWIZZLE_TYPE1& a, const GLM_SWIZZLE_TYPE1& b, const T& c) \ + { \ + return FUNCTION(a(), b(), c); \ + } \ + GLM_SWIZZLE_TEMPLATE1 \ + GLM_FUNC_QUALIFIER typename GLM_SWIZZLE_TYPE1::RETURN_TYPE FUNCTION(const GLM_SWIZZLE_TYPE1& a, const typename S0::vec_type& b, const T& c)\ + { \ + return FUNCTION(a(), b, c); \ + } \ + GLM_SWIZZLE_TEMPLATE1 \ + GLM_FUNC_QUALIFIER typename GLM_SWIZZLE_TYPE1::RETURN_TYPE FUNCTION(const typename V& a, const GLM_SWIZZLE_TYPE1& b, const T& c) \ + { \ + return FUNCTION(a, b(), c); \ + } + +}//namespace detail +}//namespace glm + +namespace glm +{ + namespace detail + { + GLM_SWIZZLE_SCALAR_BINARY_OPERATOR_IMPLEMENTATION(-) + GLM_SWIZZLE_SCALAR_BINARY_OPERATOR_IMPLEMENTATION(*) + GLM_SWIZZLE_VECTOR_BINARY_OPERATOR_IMPLEMENTATION(+) + GLM_SWIZZLE_VECTOR_BINARY_OPERATOR_IMPLEMENTATION(-) + GLM_SWIZZLE_VECTOR_BINARY_OPERATOR_IMPLEMENTATION(*) + GLM_SWIZZLE_VECTOR_BINARY_OPERATOR_IMPLEMENTATION(/) + } + + // + // Swizzles are distinct types from the unswizzled type. The below macros will + // provide template specializations for the swizzle types for the given functions + // so that the compiler does not have any ambiguity to choosing how to handle + // the function. + // + // The alternative is to use the operator()() when calling the function in order + // to explicitly convert the swizzled type to the unswizzled type. + // + + //GLM_SWIZZLE_FUNCTION_1_ARGS(vec_type, abs); + //GLM_SWIZZLE_FUNCTION_1_ARGS(vec_type, acos); + //GLM_SWIZZLE_FUNCTION_1_ARGS(vec_type, acosh); + //GLM_SWIZZLE_FUNCTION_1_ARGS(vec_type, all); + //GLM_SWIZZLE_FUNCTION_1_ARGS(vec_type, any); + + //GLM_SWIZZLE_FUNCTION_2_ARGS(value_type, dot); + //GLM_SWIZZLE_FUNCTION_2_ARGS(vec_type, cross); + //GLM_SWIZZLE_FUNCTION_2_ARGS(vec_type, step); + //GLM_SWIZZLE_FUNCTION_2_ARGS_SCALAR(vec_type, mix); +} + +#define GLM_SWIZZLE2_2_MEMBERS(T, Q, E0,E1) \ + struct { detail::_swizzle<2, T, Q, 0,0,-1,-2> E0 ## E0; }; \ + struct { detail::_swizzle<2, T, Q, 0,1,-1,-2> E0 ## E1; }; \ + struct { detail::_swizzle<2, T, Q, 1,0,-1,-2> E1 ## E0; }; \ + struct { detail::_swizzle<2, T, Q, 1,1,-1,-2> E1 ## E1; }; + +#define GLM_SWIZZLE2_3_MEMBERS(T, Q, E0,E1) \ + struct { detail::_swizzle<3,T, Q, 0,0,0,-1> E0 ## E0 ## E0; }; \ + struct { detail::_swizzle<3,T, Q, 0,0,1,-1> E0 ## E0 ## E1; }; \ + struct { detail::_swizzle<3,T, Q, 0,1,0,-1> E0 ## E1 ## E0; }; \ + struct { detail::_swizzle<3,T, Q, 0,1,1,-1> E0 ## E1 ## E1; }; \ + struct { detail::_swizzle<3,T, Q, 1,0,0,-1> E1 ## E0 ## E0; }; \ + struct { detail::_swizzle<3,T, Q, 1,0,1,-1> E1 ## E0 ## E1; }; \ + struct { detail::_swizzle<3,T, Q, 1,1,0,-1> E1 ## E1 ## E0; }; \ + struct { detail::_swizzle<3,T, Q, 1,1,1,-1> E1 ## E1 ## E1; }; + +#define GLM_SWIZZLE2_4_MEMBERS(T, Q, E0,E1) \ + struct { detail::_swizzle<4,T, Q, 0,0,0,0> E0 ## E0 ## E0 ## E0; }; \ + struct { detail::_swizzle<4,T, Q, 0,0,0,1> E0 ## E0 ## E0 ## E1; }; \ + struct { detail::_swizzle<4,T, Q, 0,0,1,0> E0 ## E0 ## E1 ## E0; }; \ + struct { detail::_swizzle<4,T, Q, 0,0,1,1> E0 ## E0 ## E1 ## E1; }; \ + struct { detail::_swizzle<4,T, Q, 0,1,0,0> E0 ## E1 ## E0 ## E0; }; \ + struct { detail::_swizzle<4,T, Q, 0,1,0,1> E0 ## E1 ## E0 ## E1; }; \ + struct { detail::_swizzle<4,T, Q, 0,1,1,0> E0 ## E1 ## E1 ## E0; }; \ + struct { detail::_swizzle<4,T, Q, 0,1,1,1> E0 ## E1 ## E1 ## E1; }; \ + struct { detail::_swizzle<4,T, Q, 1,0,0,0> E1 ## E0 ## E0 ## E0; }; \ + struct { detail::_swizzle<4,T, Q, 1,0,0,1> E1 ## E0 ## E0 ## E1; }; \ + struct { detail::_swizzle<4,T, Q, 1,0,1,0> E1 ## E0 ## E1 ## E0; }; \ + struct { detail::_swizzle<4,T, Q, 1,0,1,1> E1 ## E0 ## E1 ## E1; }; \ + struct { detail::_swizzle<4,T, Q, 1,1,0,0> E1 ## E1 ## E0 ## E0; }; \ + struct { detail::_swizzle<4,T, Q, 1,1,0,1> E1 ## E1 ## E0 ## E1; }; \ + struct { detail::_swizzle<4,T, Q, 1,1,1,0> E1 ## E1 ## E1 ## E0; }; \ + struct { detail::_swizzle<4,T, Q, 1,1,1,1> E1 ## E1 ## E1 ## E1; }; + +#define GLM_SWIZZLE3_2_MEMBERS(T, Q, E0,E1,E2) \ + struct { detail::_swizzle<2,T, Q, 0,0,-1,-2> E0 ## E0; }; \ + struct { detail::_swizzle<2,T, Q, 0,1,-1,-2> E0 ## E1; }; \ + struct { detail::_swizzle<2,T, Q, 0,2,-1,-2> E0 ## E2; }; \ + struct { detail::_swizzle<2,T, Q, 1,0,-1,-2> E1 ## E0; }; \ + struct { detail::_swizzle<2,T, Q, 1,1,-1,-2> E1 ## E1; }; \ + struct { detail::_swizzle<2,T, Q, 1,2,-1,-2> E1 ## E2; }; \ + struct { detail::_swizzle<2,T, Q, 2,0,-1,-2> E2 ## E0; }; \ + struct { detail::_swizzle<2,T, Q, 2,1,-1,-2> E2 ## E1; }; \ + struct { detail::_swizzle<2,T, Q, 2,2,-1,-2> E2 ## E2; }; + +#define GLM_SWIZZLE3_3_MEMBERS(T, Q ,E0,E1,E2) \ + struct { detail::_swizzle<3, T, Q, 0,0,0,-1> E0 ## E0 ## E0; }; \ + struct { detail::_swizzle<3, T, Q, 0,0,1,-1> E0 ## E0 ## E1; }; \ + struct { detail::_swizzle<3, T, Q, 0,0,2,-1> E0 ## E0 ## E2; }; \ + struct { detail::_swizzle<3, T, Q, 0,1,0,-1> E0 ## E1 ## E0; }; \ + struct { detail::_swizzle<3, T, Q, 0,1,1,-1> E0 ## E1 ## E1; }; \ + struct { detail::_swizzle<3, T, Q, 0,1,2,-1> E0 ## E1 ## E2; }; \ + struct { detail::_swizzle<3, T, Q, 0,2,0,-1> E0 ## E2 ## E0; }; \ + struct { detail::_swizzle<3, T, Q, 0,2,1,-1> E0 ## E2 ## E1; }; \ + struct { detail::_swizzle<3, T, Q, 0,2,2,-1> E0 ## E2 ## E2; }; \ + struct { detail::_swizzle<3, T, Q, 1,0,0,-1> E1 ## E0 ## E0; }; \ + struct { detail::_swizzle<3, T, Q, 1,0,1,-1> E1 ## E0 ## E1; }; \ + struct { detail::_swizzle<3, T, Q, 1,0,2,-1> E1 ## E0 ## E2; }; \ + struct { detail::_swizzle<3, T, Q, 1,1,0,-1> E1 ## E1 ## E0; }; \ + struct { detail::_swizzle<3, T, Q, 1,1,1,-1> E1 ## E1 ## E1; }; \ + struct { detail::_swizzle<3, T, Q, 1,1,2,-1> E1 ## E1 ## E2; }; \ + struct { detail::_swizzle<3, T, Q, 1,2,0,-1> E1 ## E2 ## E0; }; \ + struct { detail::_swizzle<3, T, Q, 1,2,1,-1> E1 ## E2 ## E1; }; \ + struct { detail::_swizzle<3, T, Q, 1,2,2,-1> E1 ## E2 ## E2; }; \ + struct { detail::_swizzle<3, T, Q, 2,0,0,-1> E2 ## E0 ## E0; }; \ + struct { detail::_swizzle<3, T, Q, 2,0,1,-1> E2 ## E0 ## E1; }; \ + struct { detail::_swizzle<3, T, Q, 2,0,2,-1> E2 ## E0 ## E2; }; \ + struct { detail::_swizzle<3, T, Q, 2,1,0,-1> E2 ## E1 ## E0; }; \ + struct { detail::_swizzle<3, T, Q, 2,1,1,-1> E2 ## E1 ## E1; }; \ + struct { detail::_swizzle<3, T, Q, 2,1,2,-1> E2 ## E1 ## E2; }; \ + struct { detail::_swizzle<3, T, Q, 2,2,0,-1> E2 ## E2 ## E0; }; \ + struct { detail::_swizzle<3, T, Q, 2,2,1,-1> E2 ## E2 ## E1; }; \ + struct { detail::_swizzle<3, T, Q, 2,2,2,-1> E2 ## E2 ## E2; }; + +#define GLM_SWIZZLE3_4_MEMBERS(T, Q, E0,E1,E2) \ + struct { detail::_swizzle<4,T, Q, 0,0,0,0> E0 ## E0 ## E0 ## E0; }; \ + struct { detail::_swizzle<4,T, Q, 0,0,0,1> E0 ## E0 ## E0 ## E1; }; \ + struct { detail::_swizzle<4,T, Q, 0,0,0,2> E0 ## E0 ## E0 ## E2; }; \ + struct { detail::_swizzle<4,T, Q, 0,0,1,0> E0 ## E0 ## E1 ## E0; }; \ + struct { detail::_swizzle<4,T, Q, 0,0,1,1> E0 ## E0 ## E1 ## E1; }; \ + struct { detail::_swizzle<4,T, Q, 0,0,1,2> E0 ## E0 ## E1 ## E2; }; \ + struct { detail::_swizzle<4,T, Q, 0,0,2,0> E0 ## E0 ## E2 ## E0; }; \ + struct { detail::_swizzle<4,T, Q, 0,0,2,1> E0 ## E0 ## E2 ## E1; }; \ + struct { detail::_swizzle<4,T, Q, 0,0,2,2> E0 ## E0 ## E2 ## E2; }; \ + struct { detail::_swizzle<4,T, Q, 0,1,0,0> E0 ## E1 ## E0 ## E0; }; \ + struct { detail::_swizzle<4,T, Q, 0,1,0,1> E0 ## E1 ## E0 ## E1; }; \ + struct { detail::_swizzle<4,T, Q, 0,1,0,2> E0 ## E1 ## E0 ## E2; }; \ + struct { detail::_swizzle<4,T, Q, 0,1,1,0> E0 ## E1 ## E1 ## E0; }; \ + struct { detail::_swizzle<4,T, Q, 0,1,1,1> E0 ## E1 ## E1 ## E1; }; \ + struct { detail::_swizzle<4,T, Q, 0,1,1,2> E0 ## E1 ## E1 ## E2; }; \ + struct { detail::_swizzle<4,T, Q, 0,1,2,0> E0 ## E1 ## E2 ## E0; }; \ + struct { detail::_swizzle<4,T, Q, 0,1,2,1> E0 ## E1 ## E2 ## E1; }; \ + struct { detail::_swizzle<4,T, Q, 0,1,2,2> E0 ## E1 ## E2 ## E2; }; \ + struct { detail::_swizzle<4,T, Q, 0,2,0,0> E0 ## E2 ## E0 ## E0; }; \ + struct { detail::_swizzle<4,T, Q, 0,2,0,1> E0 ## E2 ## E0 ## E1; }; \ + struct { detail::_swizzle<4,T, Q, 0,2,0,2> E0 ## E2 ## E0 ## E2; }; \ + struct { detail::_swizzle<4,T, Q, 0,2,1,0> E0 ## E2 ## E1 ## E0; }; \ + struct { detail::_swizzle<4,T, Q, 0,2,1,1> E0 ## E2 ## E1 ## E1; }; \ + struct { detail::_swizzle<4,T, Q, 0,2,1,2> E0 ## E2 ## E1 ## E2; }; \ + struct { detail::_swizzle<4,T, Q, 0,2,2,0> E0 ## E2 ## E2 ## E0; }; \ + struct { detail::_swizzle<4,T, Q, 0,2,2,1> E0 ## E2 ## E2 ## E1; }; \ + struct { detail::_swizzle<4,T, Q, 0,2,2,2> E0 ## E2 ## E2 ## E2; }; \ + struct { detail::_swizzle<4,T, Q, 1,0,0,0> E1 ## E0 ## E0 ## E0; }; \ + struct { detail::_swizzle<4,T, Q, 1,0,0,1> E1 ## E0 ## E0 ## E1; }; \ + struct { detail::_swizzle<4,T, Q, 1,0,0,2> E1 ## E0 ## E0 ## E2; }; \ + struct { detail::_swizzle<4,T, Q, 1,0,1,0> E1 ## E0 ## E1 ## E0; }; \ + struct { detail::_swizzle<4,T, Q, 1,0,1,1> E1 ## E0 ## E1 ## E1; }; \ + struct { detail::_swizzle<4,T, Q, 1,0,1,2> E1 ## E0 ## E1 ## E2; }; \ + struct { detail::_swizzle<4,T, Q, 1,0,2,0> E1 ## E0 ## E2 ## E0; }; \ + struct { detail::_swizzle<4,T, Q, 1,0,2,1> E1 ## E0 ## E2 ## E1; }; \ + struct { detail::_swizzle<4,T, Q, 1,0,2,2> E1 ## E0 ## E2 ## E2; }; \ + struct { detail::_swizzle<4,T, Q, 1,1,0,0> E1 ## E1 ## E0 ## E0; }; \ + struct { detail::_swizzle<4,T, Q, 1,1,0,1> E1 ## E1 ## E0 ## E1; }; \ + struct { detail::_swizzle<4,T, Q, 1,1,0,2> E1 ## E1 ## E0 ## E2; }; \ + struct { detail::_swizzle<4,T, Q, 1,1,1,0> E1 ## E1 ## E1 ## E0; }; \ + struct { detail::_swizzle<4,T, Q, 1,1,1,1> E1 ## E1 ## E1 ## E1; }; \ + struct { detail::_swizzle<4,T, Q, 1,1,1,2> E1 ## E1 ## E1 ## E2; }; \ + struct { detail::_swizzle<4,T, Q, 1,1,2,0> E1 ## E1 ## E2 ## E0; }; \ + struct { detail::_swizzle<4,T, Q, 1,1,2,1> E1 ## E1 ## E2 ## E1; }; \ + struct { detail::_swizzle<4,T, Q, 1,1,2,2> E1 ## E1 ## E2 ## E2; }; \ + struct { detail::_swizzle<4,T, Q, 1,2,0,0> E1 ## E2 ## E0 ## E0; }; \ + struct { detail::_swizzle<4,T, Q, 1,2,0,1> E1 ## E2 ## E0 ## E1; }; \ + struct { detail::_swizzle<4,T, Q, 1,2,0,2> E1 ## E2 ## E0 ## E2; }; \ + struct { detail::_swizzle<4,T, Q, 1,2,1,0> E1 ## E2 ## E1 ## E0; }; \ + struct { detail::_swizzle<4,T, Q, 1,2,1,1> E1 ## E2 ## E1 ## E1; }; \ + struct { detail::_swizzle<4,T, Q, 1,2,1,2> E1 ## E2 ## E1 ## E2; }; \ + struct { detail::_swizzle<4,T, Q, 1,2,2,0> E1 ## E2 ## E2 ## E0; }; \ + struct { detail::_swizzle<4,T, Q, 1,2,2,1> E1 ## E2 ## E2 ## E1; }; \ + struct { detail::_swizzle<4,T, Q, 1,2,2,2> E1 ## E2 ## E2 ## E2; }; \ + struct { detail::_swizzle<4,T, Q, 2,0,0,0> E2 ## E0 ## E0 ## E0; }; \ + struct { detail::_swizzle<4,T, Q, 2,0,0,1> E2 ## E0 ## E0 ## E1; }; \ + struct { detail::_swizzle<4,T, Q, 2,0,0,2> E2 ## E0 ## E0 ## E2; }; \ + struct { detail::_swizzle<4,T, Q, 2,0,1,0> E2 ## E0 ## E1 ## E0; }; \ + struct { detail::_swizzle<4,T, Q, 2,0,1,1> E2 ## E0 ## E1 ## E1; }; \ + struct { detail::_swizzle<4,T, Q, 2,0,1,2> E2 ## E0 ## E1 ## E2; }; \ + struct { detail::_swizzle<4,T, Q, 2,0,2,0> E2 ## E0 ## E2 ## E0; }; \ + struct { detail::_swizzle<4,T, Q, 2,0,2,1> E2 ## E0 ## E2 ## E1; }; \ + struct { detail::_swizzle<4,T, Q, 2,0,2,2> E2 ## E0 ## E2 ## E2; }; \ + struct { detail::_swizzle<4,T, Q, 2,1,0,0> E2 ## E1 ## E0 ## E0; }; \ + struct { detail::_swizzle<4,T, Q, 2,1,0,1> E2 ## E1 ## E0 ## E1; }; \ + struct { detail::_swizzle<4,T, Q, 2,1,0,2> E2 ## E1 ## E0 ## E2; }; \ + struct { detail::_swizzle<4,T, Q, 2,1,1,0> E2 ## E1 ## E1 ## E0; }; \ + struct { detail::_swizzle<4,T, Q, 2,1,1,1> E2 ## E1 ## E1 ## E1; }; \ + struct { detail::_swizzle<4,T, Q, 2,1,1,2> E2 ## E1 ## E1 ## E2; }; \ + struct { detail::_swizzle<4,T, Q, 2,1,2,0> E2 ## E1 ## E2 ## E0; }; \ + struct { detail::_swizzle<4,T, Q, 2,1,2,1> E2 ## E1 ## E2 ## E1; }; \ + struct { detail::_swizzle<4,T, Q, 2,1,2,2> E2 ## E1 ## E2 ## E2; }; \ + struct { detail::_swizzle<4,T, Q, 2,2,0,0> E2 ## E2 ## E0 ## E0; }; \ + struct { detail::_swizzle<4,T, Q, 2,2,0,1> E2 ## E2 ## E0 ## E1; }; \ + struct { detail::_swizzle<4,T, Q, 2,2,0,2> E2 ## E2 ## E0 ## E2; }; \ + struct { detail::_swizzle<4,T, Q, 2,2,1,0> E2 ## E2 ## E1 ## E0; }; \ + struct { detail::_swizzle<4,T, Q, 2,2,1,1> E2 ## E2 ## E1 ## E1; }; \ + struct { detail::_swizzle<4,T, Q, 2,2,1,2> E2 ## E2 ## E1 ## E2; }; \ + struct { detail::_swizzle<4,T, Q, 2,2,2,0> E2 ## E2 ## E2 ## E0; }; \ + struct { detail::_swizzle<4,T, Q, 2,2,2,1> E2 ## E2 ## E2 ## E1; }; \ + struct { detail::_swizzle<4,T, Q, 2,2,2,2> E2 ## E2 ## E2 ## E2; }; + +#define GLM_SWIZZLE4_2_MEMBERS(T, Q, E0,E1,E2,E3) \ + struct { detail::_swizzle<2,T, Q, 0,0,-1,-2> E0 ## E0; }; \ + struct { detail::_swizzle<2,T, Q, 0,1,-1,-2> E0 ## E1; }; \ + struct { detail::_swizzle<2,T, Q, 0,2,-1,-2> E0 ## E2; }; \ + struct { detail::_swizzle<2,T, Q, 0,3,-1,-2> E0 ## E3; }; \ + struct { detail::_swizzle<2,T, Q, 1,0,-1,-2> E1 ## E0; }; \ + struct { detail::_swizzle<2,T, Q, 1,1,-1,-2> E1 ## E1; }; \ + struct { detail::_swizzle<2,T, Q, 1,2,-1,-2> E1 ## E2; }; \ + struct { detail::_swizzle<2,T, Q, 1,3,-1,-2> E1 ## E3; }; \ + struct { detail::_swizzle<2,T, Q, 2,0,-1,-2> E2 ## E0; }; \ + struct { detail::_swizzle<2,T, Q, 2,1,-1,-2> E2 ## E1; }; \ + struct { detail::_swizzle<2,T, Q, 2,2,-1,-2> E2 ## E2; }; \ + struct { detail::_swizzle<2,T, Q, 2,3,-1,-2> E2 ## E3; }; \ + struct { detail::_swizzle<2,T, Q, 3,0,-1,-2> E3 ## E0; }; \ + struct { detail::_swizzle<2,T, Q, 3,1,-1,-2> E3 ## E1; }; \ + struct { detail::_swizzle<2,T, Q, 3,2,-1,-2> E3 ## E2; }; \ + struct { detail::_swizzle<2,T, Q, 3,3,-1,-2> E3 ## E3; }; + +#define GLM_SWIZZLE4_3_MEMBERS(T, Q, E0,E1,E2,E3) \ + struct { detail::_swizzle<3, T, Q, 0,0,0,-1> E0 ## E0 ## E0; }; \ + struct { detail::_swizzle<3, T, Q, 0,0,1,-1> E0 ## E0 ## E1; }; \ + struct { detail::_swizzle<3, T, Q, 0,0,2,-1> E0 ## E0 ## E2; }; \ + struct { detail::_swizzle<3, T, Q, 0,0,3,-1> E0 ## E0 ## E3; }; \ + struct { detail::_swizzle<3, T, Q, 0,1,0,-1> E0 ## E1 ## E0; }; \ + struct { detail::_swizzle<3, T, Q, 0,1,1,-1> E0 ## E1 ## E1; }; \ + struct { detail::_swizzle<3, T, Q, 0,1,2,-1> E0 ## E1 ## E2; }; \ + struct { detail::_swizzle<3, T, Q, 0,1,3,-1> E0 ## E1 ## E3; }; \ + struct { detail::_swizzle<3, T, Q, 0,2,0,-1> E0 ## E2 ## E0; }; \ + struct { detail::_swizzle<3, T, Q, 0,2,1,-1> E0 ## E2 ## E1; }; \ + struct { detail::_swizzle<3, T, Q, 0,2,2,-1> E0 ## E2 ## E2; }; \ + struct { detail::_swizzle<3, T, Q, 0,2,3,-1> E0 ## E2 ## E3; }; \ + struct { detail::_swizzle<3, T, Q, 0,3,0,-1> E0 ## E3 ## E0; }; \ + struct { detail::_swizzle<3, T, Q, 0,3,1,-1> E0 ## E3 ## E1; }; \ + struct { detail::_swizzle<3, T, Q, 0,3,2,-1> E0 ## E3 ## E2; }; \ + struct { detail::_swizzle<3, T, Q, 0,3,3,-1> E0 ## E3 ## E3; }; \ + struct { detail::_swizzle<3, T, Q, 1,0,0,-1> E1 ## E0 ## E0; }; \ + struct { detail::_swizzle<3, T, Q, 1,0,1,-1> E1 ## E0 ## E1; }; \ + struct { detail::_swizzle<3, T, Q, 1,0,2,-1> E1 ## E0 ## E2; }; \ + struct { detail::_swizzle<3, T, Q, 1,0,3,-1> E1 ## E0 ## E3; }; \ + struct { detail::_swizzle<3, T, Q, 1,1,0,-1> E1 ## E1 ## E0; }; \ + struct { detail::_swizzle<3, T, Q, 1,1,1,-1> E1 ## E1 ## E1; }; \ + struct { detail::_swizzle<3, T, Q, 1,1,2,-1> E1 ## E1 ## E2; }; \ + struct { detail::_swizzle<3, T, Q, 1,1,3,-1> E1 ## E1 ## E3; }; \ + struct { detail::_swizzle<3, T, Q, 1,2,0,-1> E1 ## E2 ## E0; }; \ + struct { detail::_swizzle<3, T, Q, 1,2,1,-1> E1 ## E2 ## E1; }; \ + struct { detail::_swizzle<3, T, Q, 1,2,2,-1> E1 ## E2 ## E2; }; \ + struct { detail::_swizzle<3, T, Q, 1,2,3,-1> E1 ## E2 ## E3; }; \ + struct { detail::_swizzle<3, T, Q, 1,3,0,-1> E1 ## E3 ## E0; }; \ + struct { detail::_swizzle<3, T, Q, 1,3,1,-1> E1 ## E3 ## E1; }; \ + struct { detail::_swizzle<3, T, Q, 1,3,2,-1> E1 ## E3 ## E2; }; \ + struct { detail::_swizzle<3, T, Q, 1,3,3,-1> E1 ## E3 ## E3; }; \ + struct { detail::_swizzle<3, T, Q, 2,0,0,-1> E2 ## E0 ## E0; }; \ + struct { detail::_swizzle<3, T, Q, 2,0,1,-1> E2 ## E0 ## E1; }; \ + struct { detail::_swizzle<3, T, Q, 2,0,2,-1> E2 ## E0 ## E2; }; \ + struct { detail::_swizzle<3, T, Q, 2,0,3,-1> E2 ## E0 ## E3; }; \ + struct { detail::_swizzle<3, T, Q, 2,1,0,-1> E2 ## E1 ## E0; }; \ + struct { detail::_swizzle<3, T, Q, 2,1,1,-1> E2 ## E1 ## E1; }; \ + struct { detail::_swizzle<3, T, Q, 2,1,2,-1> E2 ## E1 ## E2; }; \ + struct { detail::_swizzle<3, T, Q, 2,1,3,-1> E2 ## E1 ## E3; }; \ + struct { detail::_swizzle<3, T, Q, 2,2,0,-1> E2 ## E2 ## E0; }; \ + struct { detail::_swizzle<3, T, Q, 2,2,1,-1> E2 ## E2 ## E1; }; \ + struct { detail::_swizzle<3, T, Q, 2,2,2,-1> E2 ## E2 ## E2; }; \ + struct { detail::_swizzle<3, T, Q, 2,2,3,-1> E2 ## E2 ## E3; }; \ + struct { detail::_swizzle<3, T, Q, 2,3,0,-1> E2 ## E3 ## E0; }; \ + struct { detail::_swizzle<3, T, Q, 2,3,1,-1> E2 ## E3 ## E1; }; \ + struct { detail::_swizzle<3, T, Q, 2,3,2,-1> E2 ## E3 ## E2; }; \ + struct { detail::_swizzle<3, T, Q, 2,3,3,-1> E2 ## E3 ## E3; }; \ + struct { detail::_swizzle<3, T, Q, 3,0,0,-1> E3 ## E0 ## E0; }; \ + struct { detail::_swizzle<3, T, Q, 3,0,1,-1> E3 ## E0 ## E1; }; \ + struct { detail::_swizzle<3, T, Q, 3,0,2,-1> E3 ## E0 ## E2; }; \ + struct { detail::_swizzle<3, T, Q, 3,0,3,-1> E3 ## E0 ## E3; }; \ + struct { detail::_swizzle<3, T, Q, 3,1,0,-1> E3 ## E1 ## E0; }; \ + struct { detail::_swizzle<3, T, Q, 3,1,1,-1> E3 ## E1 ## E1; }; \ + struct { detail::_swizzle<3, T, Q, 3,1,2,-1> E3 ## E1 ## E2; }; \ + struct { detail::_swizzle<3, T, Q, 3,1,3,-1> E3 ## E1 ## E3; }; \ + struct { detail::_swizzle<3, T, Q, 3,2,0,-1> E3 ## E2 ## E0; }; \ + struct { detail::_swizzle<3, T, Q, 3,2,1,-1> E3 ## E2 ## E1; }; \ + struct { detail::_swizzle<3, T, Q, 3,2,2,-1> E3 ## E2 ## E2; }; \ + struct { detail::_swizzle<3, T, Q, 3,2,3,-1> E3 ## E2 ## E3; }; \ + struct { detail::_swizzle<3, T, Q, 3,3,0,-1> E3 ## E3 ## E0; }; \ + struct { detail::_swizzle<3, T, Q, 3,3,1,-1> E3 ## E3 ## E1; }; \ + struct { detail::_swizzle<3, T, Q, 3,3,2,-1> E3 ## E3 ## E2; }; \ + struct { detail::_swizzle<3, T, Q, 3,3,3,-1> E3 ## E3 ## E3; }; + +#define GLM_SWIZZLE4_4_MEMBERS(T, Q, E0,E1,E2,E3) \ + struct { detail::_swizzle<4, T, Q, 0,0,0,0> E0 ## E0 ## E0 ## E0; }; \ + struct { detail::_swizzle<4, T, Q, 0,0,0,1> E0 ## E0 ## E0 ## E1; }; \ + struct { detail::_swizzle<4, T, Q, 0,0,0,2> E0 ## E0 ## E0 ## E2; }; \ + struct { detail::_swizzle<4, T, Q, 0,0,0,3> E0 ## E0 ## E0 ## E3; }; \ + struct { detail::_swizzle<4, T, Q, 0,0,1,0> E0 ## E0 ## E1 ## E0; }; \ + struct { detail::_swizzle<4, T, Q, 0,0,1,1> E0 ## E0 ## E1 ## E1; }; \ + struct { detail::_swizzle<4, T, Q, 0,0,1,2> E0 ## E0 ## E1 ## E2; }; \ + struct { detail::_swizzle<4, T, Q, 0,0,1,3> E0 ## E0 ## E1 ## E3; }; \ + struct { detail::_swizzle<4, T, Q, 0,0,2,0> E0 ## E0 ## E2 ## E0; }; \ + struct { detail::_swizzle<4, T, Q, 0,0,2,1> E0 ## E0 ## E2 ## E1; }; \ + struct { detail::_swizzle<4, T, Q, 0,0,2,2> E0 ## E0 ## E2 ## E2; }; \ + struct { detail::_swizzle<4, T, Q, 0,0,2,3> E0 ## E0 ## E2 ## E3; }; \ + struct { detail::_swizzle<4, T, Q, 0,0,3,0> E0 ## E0 ## E3 ## E0; }; \ + struct { detail::_swizzle<4, T, Q, 0,0,3,1> E0 ## E0 ## E3 ## E1; }; \ + struct { detail::_swizzle<4, T, Q, 0,0,3,2> E0 ## E0 ## E3 ## E2; }; \ + struct { detail::_swizzle<4, T, Q, 0,0,3,3> E0 ## E0 ## E3 ## E3; }; \ + struct { detail::_swizzle<4, T, Q, 0,1,0,0> E0 ## E1 ## E0 ## E0; }; \ + struct { detail::_swizzle<4, T, Q, 0,1,0,1> E0 ## E1 ## E0 ## E1; }; \ + struct { detail::_swizzle<4, T, Q, 0,1,0,2> E0 ## E1 ## E0 ## E2; }; \ + struct { detail::_swizzle<4, T, Q, 0,1,0,3> E0 ## E1 ## E0 ## E3; }; \ + struct { detail::_swizzle<4, T, Q, 0,1,1,0> E0 ## E1 ## E1 ## E0; }; \ + struct { detail::_swizzle<4, T, Q, 0,1,1,1> E0 ## E1 ## E1 ## E1; }; \ + struct { detail::_swizzle<4, T, Q, 0,1,1,2> E0 ## E1 ## E1 ## E2; }; \ + struct { detail::_swizzle<4, T, Q, 0,1,1,3> E0 ## E1 ## E1 ## E3; }; \ + struct { detail::_swizzle<4, T, Q, 0,1,2,0> E0 ## E1 ## E2 ## E0; }; \ + struct { detail::_swizzle<4, T, Q, 0,1,2,1> E0 ## E1 ## E2 ## E1; }; \ + struct { detail::_swizzle<4, T, Q, 0,1,2,2> E0 ## E1 ## E2 ## E2; }; \ + struct { detail::_swizzle<4, T, Q, 0,1,2,3> E0 ## E1 ## E2 ## E3; }; \ + struct { detail::_swizzle<4, T, Q, 0,1,3,0> E0 ## E1 ## E3 ## E0; }; \ + struct { detail::_swizzle<4, T, Q, 0,1,3,1> E0 ## E1 ## E3 ## E1; }; \ + struct { detail::_swizzle<4, T, Q, 0,1,3,2> E0 ## E1 ## E3 ## E2; }; \ + struct { detail::_swizzle<4, T, Q, 0,1,3,3> E0 ## E1 ## E3 ## E3; }; \ + struct { detail::_swizzle<4, T, Q, 0,2,0,0> E0 ## E2 ## E0 ## E0; }; \ + struct { detail::_swizzle<4, T, Q, 0,2,0,1> E0 ## E2 ## E0 ## E1; }; \ + struct { detail::_swizzle<4, T, Q, 0,2,0,2> E0 ## E2 ## E0 ## E2; }; \ + struct { detail::_swizzle<4, T, Q, 0,2,0,3> E0 ## E2 ## E0 ## E3; }; \ + struct { detail::_swizzle<4, T, Q, 0,2,1,0> E0 ## E2 ## E1 ## E0; }; \ + struct { detail::_swizzle<4, T, Q, 0,2,1,1> E0 ## E2 ## E1 ## E1; }; \ + struct { detail::_swizzle<4, T, Q, 0,2,1,2> E0 ## E2 ## E1 ## E2; }; \ + struct { detail::_swizzle<4, T, Q, 0,2,1,3> E0 ## E2 ## E1 ## E3; }; \ + struct { detail::_swizzle<4, T, Q, 0,2,2,0> E0 ## E2 ## E2 ## E0; }; \ + struct { detail::_swizzle<4, T, Q, 0,2,2,1> E0 ## E2 ## E2 ## E1; }; \ + struct { detail::_swizzle<4, T, Q, 0,2,2,2> E0 ## E2 ## E2 ## E2; }; \ + struct { detail::_swizzle<4, T, Q, 0,2,2,3> E0 ## E2 ## E2 ## E3; }; \ + struct { detail::_swizzle<4, T, Q, 0,2,3,0> E0 ## E2 ## E3 ## E0; }; \ + struct { detail::_swizzle<4, T, Q, 0,2,3,1> E0 ## E2 ## E3 ## E1; }; \ + struct { detail::_swizzle<4, T, Q, 0,2,3,2> E0 ## E2 ## E3 ## E2; }; \ + struct { detail::_swizzle<4, T, Q, 0,2,3,3> E0 ## E2 ## E3 ## E3; }; \ + struct { detail::_swizzle<4, T, Q, 0,3,0,0> E0 ## E3 ## E0 ## E0; }; \ + struct { detail::_swizzle<4, T, Q, 0,3,0,1> E0 ## E3 ## E0 ## E1; }; \ + struct { detail::_swizzle<4, T, Q, 0,3,0,2> E0 ## E3 ## E0 ## E2; }; \ + struct { detail::_swizzle<4, T, Q, 0,3,0,3> E0 ## E3 ## E0 ## E3; }; \ + struct { detail::_swizzle<4, T, Q, 0,3,1,0> E0 ## E3 ## E1 ## E0; }; \ + struct { detail::_swizzle<4, T, Q, 0,3,1,1> E0 ## E3 ## E1 ## E1; }; \ + struct { detail::_swizzle<4, T, Q, 0,3,1,2> E0 ## E3 ## E1 ## E2; }; \ + struct { detail::_swizzle<4, T, Q, 0,3,1,3> E0 ## E3 ## E1 ## E3; }; \ + struct { detail::_swizzle<4, T, Q, 0,3,2,0> E0 ## E3 ## E2 ## E0; }; \ + struct { detail::_swizzle<4, T, Q, 0,3,2,1> E0 ## E3 ## E2 ## E1; }; \ + struct { detail::_swizzle<4, T, Q, 0,3,2,2> E0 ## E3 ## E2 ## E2; }; \ + struct { detail::_swizzle<4, T, Q, 0,3,2,3> E0 ## E3 ## E2 ## E3; }; \ + struct { detail::_swizzle<4, T, Q, 0,3,3,0> E0 ## E3 ## E3 ## E0; }; \ + struct { detail::_swizzle<4, T, Q, 0,3,3,1> E0 ## E3 ## E3 ## E1; }; \ + struct { detail::_swizzle<4, T, Q, 0,3,3,2> E0 ## E3 ## E3 ## E2; }; \ + struct { detail::_swizzle<4, T, Q, 0,3,3,3> E0 ## E3 ## E3 ## E3; }; \ + struct { detail::_swizzle<4, T, Q, 1,0,0,0> E1 ## E0 ## E0 ## E0; }; \ + struct { detail::_swizzle<4, T, Q, 1,0,0,1> E1 ## E0 ## E0 ## E1; }; \ + struct { detail::_swizzle<4, T, Q, 1,0,0,2> E1 ## E0 ## E0 ## E2; }; \ + struct { detail::_swizzle<4, T, Q, 1,0,0,3> E1 ## E0 ## E0 ## E3; }; \ + struct { detail::_swizzle<4, T, Q, 1,0,1,0> E1 ## E0 ## E1 ## E0; }; \ + struct { detail::_swizzle<4, T, Q, 1,0,1,1> E1 ## E0 ## E1 ## E1; }; \ + struct { detail::_swizzle<4, T, Q, 1,0,1,2> E1 ## E0 ## E1 ## E2; }; \ + struct { detail::_swizzle<4, T, Q, 1,0,1,3> E1 ## E0 ## E1 ## E3; }; \ + struct { detail::_swizzle<4, T, Q, 1,0,2,0> E1 ## E0 ## E2 ## E0; }; \ + struct { detail::_swizzle<4, T, Q, 1,0,2,1> E1 ## E0 ## E2 ## E1; }; \ + struct { detail::_swizzle<4, T, Q, 1,0,2,2> E1 ## E0 ## E2 ## E2; }; \ + struct { detail::_swizzle<4, T, Q, 1,0,2,3> E1 ## E0 ## E2 ## E3; }; \ + struct { detail::_swizzle<4, T, Q, 1,0,3,0> E1 ## E0 ## E3 ## E0; }; \ + struct { detail::_swizzle<4, T, Q, 1,0,3,1> E1 ## E0 ## E3 ## E1; }; \ + struct { detail::_swizzle<4, T, Q, 1,0,3,2> E1 ## E0 ## E3 ## E2; }; \ + struct { detail::_swizzle<4, T, Q, 1,0,3,3> E1 ## E0 ## E3 ## E3; }; \ + struct { detail::_swizzle<4, T, Q, 1,1,0,0> E1 ## E1 ## E0 ## E0; }; \ + struct { detail::_swizzle<4, T, Q, 1,1,0,1> E1 ## E1 ## E0 ## E1; }; \ + struct { detail::_swizzle<4, T, Q, 1,1,0,2> E1 ## E1 ## E0 ## E2; }; \ + struct { detail::_swizzle<4, T, Q, 1,1,0,3> E1 ## E1 ## E0 ## E3; }; \ + struct { detail::_swizzle<4, T, Q, 1,1,1,0> E1 ## E1 ## E1 ## E0; }; \ + struct { detail::_swizzle<4, T, Q, 1,1,1,1> E1 ## E1 ## E1 ## E1; }; \ + struct { detail::_swizzle<4, T, Q, 1,1,1,2> E1 ## E1 ## E1 ## E2; }; \ + struct { detail::_swizzle<4, T, Q, 1,1,1,3> E1 ## E1 ## E1 ## E3; }; \ + struct { detail::_swizzle<4, T, Q, 1,1,2,0> E1 ## E1 ## E2 ## E0; }; \ + struct { detail::_swizzle<4, T, Q, 1,1,2,1> E1 ## E1 ## E2 ## E1; }; \ + struct { detail::_swizzle<4, T, Q, 1,1,2,2> E1 ## E1 ## E2 ## E2; }; \ + struct { detail::_swizzle<4, T, Q, 1,1,2,3> E1 ## E1 ## E2 ## E3; }; \ + struct { detail::_swizzle<4, T, Q, 1,1,3,0> E1 ## E1 ## E3 ## E0; }; \ + struct { detail::_swizzle<4, T, Q, 1,1,3,1> E1 ## E1 ## E3 ## E1; }; \ + struct { detail::_swizzle<4, T, Q, 1,1,3,2> E1 ## E1 ## E3 ## E2; }; \ + struct { detail::_swizzle<4, T, Q, 1,1,3,3> E1 ## E1 ## E3 ## E3; }; \ + struct { detail::_swizzle<4, T, Q, 1,2,0,0> E1 ## E2 ## E0 ## E0; }; \ + struct { detail::_swizzle<4, T, Q, 1,2,0,1> E1 ## E2 ## E0 ## E1; }; \ + struct { detail::_swizzle<4, T, Q, 1,2,0,2> E1 ## E2 ## E0 ## E2; }; \ + struct { detail::_swizzle<4, T, Q, 1,2,0,3> E1 ## E2 ## E0 ## E3; }; \ + struct { detail::_swizzle<4, T, Q, 1,2,1,0> E1 ## E2 ## E1 ## E0; }; \ + struct { detail::_swizzle<4, T, Q, 1,2,1,1> E1 ## E2 ## E1 ## E1; }; \ + struct { detail::_swizzle<4, T, Q, 1,2,1,2> E1 ## E2 ## E1 ## E2; }; \ + struct { detail::_swizzle<4, T, Q, 1,2,1,3> E1 ## E2 ## E1 ## E3; }; \ + struct { detail::_swizzle<4, T, Q, 1,2,2,0> E1 ## E2 ## E2 ## E0; }; \ + struct { detail::_swizzle<4, T, Q, 1,2,2,1> E1 ## E2 ## E2 ## E1; }; \ + struct { detail::_swizzle<4, T, Q, 1,2,2,2> E1 ## E2 ## E2 ## E2; }; \ + struct { detail::_swizzle<4, T, Q, 1,2,2,3> E1 ## E2 ## E2 ## E3; }; \ + struct { detail::_swizzle<4, T, Q, 1,2,3,0> E1 ## E2 ## E3 ## E0; }; \ + struct { detail::_swizzle<4, T, Q, 1,2,3,1> E1 ## E2 ## E3 ## E1; }; \ + struct { detail::_swizzle<4, T, Q, 1,2,3,2> E1 ## E2 ## E3 ## E2; }; \ + struct { detail::_swizzle<4, T, Q, 1,2,3,3> E1 ## E2 ## E3 ## E3; }; \ + struct { detail::_swizzle<4, T, Q, 1,3,0,0> E1 ## E3 ## E0 ## E0; }; \ + struct { detail::_swizzle<4, T, Q, 1,3,0,1> E1 ## E3 ## E0 ## E1; }; \ + struct { detail::_swizzle<4, T, Q, 1,3,0,2> E1 ## E3 ## E0 ## E2; }; \ + struct { detail::_swizzle<4, T, Q, 1,3,0,3> E1 ## E3 ## E0 ## E3; }; \ + struct { detail::_swizzle<4, T, Q, 1,3,1,0> E1 ## E3 ## E1 ## E0; }; \ + struct { detail::_swizzle<4, T, Q, 1,3,1,1> E1 ## E3 ## E1 ## E1; }; \ + struct { detail::_swizzle<4, T, Q, 1,3,1,2> E1 ## E3 ## E1 ## E2; }; \ + struct { detail::_swizzle<4, T, Q, 1,3,1,3> E1 ## E3 ## E1 ## E3; }; \ + struct { detail::_swizzle<4, T, Q, 1,3,2,0> E1 ## E3 ## E2 ## E0; }; \ + struct { detail::_swizzle<4, T, Q, 1,3,2,1> E1 ## E3 ## E2 ## E1; }; \ + struct { detail::_swizzle<4, T, Q, 1,3,2,2> E1 ## E3 ## E2 ## E2; }; \ + struct { detail::_swizzle<4, T, Q, 1,3,2,3> E1 ## E3 ## E2 ## E3; }; \ + struct { detail::_swizzle<4, T, Q, 1,3,3,0> E1 ## E3 ## E3 ## E0; }; \ + struct { detail::_swizzle<4, T, Q, 1,3,3,1> E1 ## E3 ## E3 ## E1; }; \ + struct { detail::_swizzle<4, T, Q, 1,3,3,2> E1 ## E3 ## E3 ## E2; }; \ + struct { detail::_swizzle<4, T, Q, 1,3,3,3> E1 ## E3 ## E3 ## E3; }; \ + struct { detail::_swizzle<4, T, Q, 2,0,0,0> E2 ## E0 ## E0 ## E0; }; \ + struct { detail::_swizzle<4, T, Q, 2,0,0,1> E2 ## E0 ## E0 ## E1; }; \ + struct { detail::_swizzle<4, T, Q, 2,0,0,2> E2 ## E0 ## E0 ## E2; }; \ + struct { detail::_swizzle<4, T, Q, 2,0,0,3> E2 ## E0 ## E0 ## E3; }; \ + struct { detail::_swizzle<4, T, Q, 2,0,1,0> E2 ## E0 ## E1 ## E0; }; \ + struct { detail::_swizzle<4, T, Q, 2,0,1,1> E2 ## E0 ## E1 ## E1; }; \ + struct { detail::_swizzle<4, T, Q, 2,0,1,2> E2 ## E0 ## E1 ## E2; }; \ + struct { detail::_swizzle<4, T, Q, 2,0,1,3> E2 ## E0 ## E1 ## E3; }; \ + struct { detail::_swizzle<4, T, Q, 2,0,2,0> E2 ## E0 ## E2 ## E0; }; \ + struct { detail::_swizzle<4, T, Q, 2,0,2,1> E2 ## E0 ## E2 ## E1; }; \ + struct { detail::_swizzle<4, T, Q, 2,0,2,2> E2 ## E0 ## E2 ## E2; }; \ + struct { detail::_swizzle<4, T, Q, 2,0,2,3> E2 ## E0 ## E2 ## E3; }; \ + struct { detail::_swizzle<4, T, Q, 2,0,3,0> E2 ## E0 ## E3 ## E0; }; \ + struct { detail::_swizzle<4, T, Q, 2,0,3,1> E2 ## E0 ## E3 ## E1; }; \ + struct { detail::_swizzle<4, T, Q, 2,0,3,2> E2 ## E0 ## E3 ## E2; }; \ + struct { detail::_swizzle<4, T, Q, 2,0,3,3> E2 ## E0 ## E3 ## E3; }; \ + struct { detail::_swizzle<4, T, Q, 2,1,0,0> E2 ## E1 ## E0 ## E0; }; \ + struct { detail::_swizzle<4, T, Q, 2,1,0,1> E2 ## E1 ## E0 ## E1; }; \ + struct { detail::_swizzle<4, T, Q, 2,1,0,2> E2 ## E1 ## E0 ## E2; }; \ + struct { detail::_swizzle<4, T, Q, 2,1,0,3> E2 ## E1 ## E0 ## E3; }; \ + struct { detail::_swizzle<4, T, Q, 2,1,1,0> E2 ## E1 ## E1 ## E0; }; \ + struct { detail::_swizzle<4, T, Q, 2,1,1,1> E2 ## E1 ## E1 ## E1; }; \ + struct { detail::_swizzle<4, T, Q, 2,1,1,2> E2 ## E1 ## E1 ## E2; }; \ + struct { detail::_swizzle<4, T, Q, 2,1,1,3> E2 ## E1 ## E1 ## E3; }; \ + struct { detail::_swizzle<4, T, Q, 2,1,2,0> E2 ## E1 ## E2 ## E0; }; \ + struct { detail::_swizzle<4, T, Q, 2,1,2,1> E2 ## E1 ## E2 ## E1; }; \ + struct { detail::_swizzle<4, T, Q, 2,1,2,2> E2 ## E1 ## E2 ## E2; }; \ + struct { detail::_swizzle<4, T, Q, 2,1,2,3> E2 ## E1 ## E2 ## E3; }; \ + struct { detail::_swizzle<4, T, Q, 2,1,3,0> E2 ## E1 ## E3 ## E0; }; \ + struct { detail::_swizzle<4, T, Q, 2,1,3,1> E2 ## E1 ## E3 ## E1; }; \ + struct { detail::_swizzle<4, T, Q, 2,1,3,2> E2 ## E1 ## E3 ## E2; }; \ + struct { detail::_swizzle<4, T, Q, 2,1,3,3> E2 ## E1 ## E3 ## E3; }; \ + struct { detail::_swizzle<4, T, Q, 2,2,0,0> E2 ## E2 ## E0 ## E0; }; \ + struct { detail::_swizzle<4, T, Q, 2,2,0,1> E2 ## E2 ## E0 ## E1; }; \ + struct { detail::_swizzle<4, T, Q, 2,2,0,2> E2 ## E2 ## E0 ## E2; }; \ + struct { detail::_swizzle<4, T, Q, 2,2,0,3> E2 ## E2 ## E0 ## E3; }; \ + struct { detail::_swizzle<4, T, Q, 2,2,1,0> E2 ## E2 ## E1 ## E0; }; \ + struct { detail::_swizzle<4, T, Q, 2,2,1,1> E2 ## E2 ## E1 ## E1; }; \ + struct { detail::_swizzle<4, T, Q, 2,2,1,2> E2 ## E2 ## E1 ## E2; }; \ + struct { detail::_swizzle<4, T, Q, 2,2,1,3> E2 ## E2 ## E1 ## E3; }; \ + struct { detail::_swizzle<4, T, Q, 2,2,2,0> E2 ## E2 ## E2 ## E0; }; \ + struct { detail::_swizzle<4, T, Q, 2,2,2,1> E2 ## E2 ## E2 ## E1; }; \ + struct { detail::_swizzle<4, T, Q, 2,2,2,2> E2 ## E2 ## E2 ## E2; }; \ + struct { detail::_swizzle<4, T, Q, 2,2,2,3> E2 ## E2 ## E2 ## E3; }; \ + struct { detail::_swizzle<4, T, Q, 2,2,3,0> E2 ## E2 ## E3 ## E0; }; \ + struct { detail::_swizzle<4, T, Q, 2,2,3,1> E2 ## E2 ## E3 ## E1; }; \ + struct { detail::_swizzle<4, T, Q, 2,2,3,2> E2 ## E2 ## E3 ## E2; }; \ + struct { detail::_swizzle<4, T, Q, 2,2,3,3> E2 ## E2 ## E3 ## E3; }; \ + struct { detail::_swizzle<4, T, Q, 2,3,0,0> E2 ## E3 ## E0 ## E0; }; \ + struct { detail::_swizzle<4, T, Q, 2,3,0,1> E2 ## E3 ## E0 ## E1; }; \ + struct { detail::_swizzle<4, T, Q, 2,3,0,2> E2 ## E3 ## E0 ## E2; }; \ + struct { detail::_swizzle<4, T, Q, 2,3,0,3> E2 ## E3 ## E0 ## E3; }; \ + struct { detail::_swizzle<4, T, Q, 2,3,1,0> E2 ## E3 ## E1 ## E0; }; \ + struct { detail::_swizzle<4, T, Q, 2,3,1,1> E2 ## E3 ## E1 ## E1; }; \ + struct { detail::_swizzle<4, T, Q, 2,3,1,2> E2 ## E3 ## E1 ## E2; }; \ + struct { detail::_swizzle<4, T, Q, 2,3,1,3> E2 ## E3 ## E1 ## E3; }; \ + struct { detail::_swizzle<4, T, Q, 2,3,2,0> E2 ## E3 ## E2 ## E0; }; \ + struct { detail::_swizzle<4, T, Q, 2,3,2,1> E2 ## E3 ## E2 ## E1; }; \ + struct { detail::_swizzle<4, T, Q, 2,3,2,2> E2 ## E3 ## E2 ## E2; }; \ + struct { detail::_swizzle<4, T, Q, 2,3,2,3> E2 ## E3 ## E2 ## E3; }; \ + struct { detail::_swizzle<4, T, Q, 2,3,3,0> E2 ## E3 ## E3 ## E0; }; \ + struct { detail::_swizzle<4, T, Q, 2,3,3,1> E2 ## E3 ## E3 ## E1; }; \ + struct { detail::_swizzle<4, T, Q, 2,3,3,2> E2 ## E3 ## E3 ## E2; }; \ + struct { detail::_swizzle<4, T, Q, 2,3,3,3> E2 ## E3 ## E3 ## E3; }; \ + struct { detail::_swizzle<4, T, Q, 3,0,0,0> E3 ## E0 ## E0 ## E0; }; \ + struct { detail::_swizzle<4, T, Q, 3,0,0,1> E3 ## E0 ## E0 ## E1; }; \ + struct { detail::_swizzle<4, T, Q, 3,0,0,2> E3 ## E0 ## E0 ## E2; }; \ + struct { detail::_swizzle<4, T, Q, 3,0,0,3> E3 ## E0 ## E0 ## E3; }; \ + struct { detail::_swizzle<4, T, Q, 3,0,1,0> E3 ## E0 ## E1 ## E0; }; \ + struct { detail::_swizzle<4, T, Q, 3,0,1,1> E3 ## E0 ## E1 ## E1; }; \ + struct { detail::_swizzle<4, T, Q, 3,0,1,2> E3 ## E0 ## E1 ## E2; }; \ + struct { detail::_swizzle<4, T, Q, 3,0,1,3> E3 ## E0 ## E1 ## E3; }; \ + struct { detail::_swizzle<4, T, Q, 3,0,2,0> E3 ## E0 ## E2 ## E0; }; \ + struct { detail::_swizzle<4, T, Q, 3,0,2,1> E3 ## E0 ## E2 ## E1; }; \ + struct { detail::_swizzle<4, T, Q, 3,0,2,2> E3 ## E0 ## E2 ## E2; }; \ + struct { detail::_swizzle<4, T, Q, 3,0,2,3> E3 ## E0 ## E2 ## E3; }; \ + struct { detail::_swizzle<4, T, Q, 3,0,3,0> E3 ## E0 ## E3 ## E0; }; \ + struct { detail::_swizzle<4, T, Q, 3,0,3,1> E3 ## E0 ## E3 ## E1; }; \ + struct { detail::_swizzle<4, T, Q, 3,0,3,2> E3 ## E0 ## E3 ## E2; }; \ + struct { detail::_swizzle<4, T, Q, 3,0,3,3> E3 ## E0 ## E3 ## E3; }; \ + struct { detail::_swizzle<4, T, Q, 3,1,0,0> E3 ## E1 ## E0 ## E0; }; \ + struct { detail::_swizzle<4, T, Q, 3,1,0,1> E3 ## E1 ## E0 ## E1; }; \ + struct { detail::_swizzle<4, T, Q, 3,1,0,2> E3 ## E1 ## E0 ## E2; }; \ + struct { detail::_swizzle<4, T, Q, 3,1,0,3> E3 ## E1 ## E0 ## E3; }; \ + struct { detail::_swizzle<4, T, Q, 3,1,1,0> E3 ## E1 ## E1 ## E0; }; \ + struct { detail::_swizzle<4, T, Q, 3,1,1,1> E3 ## E1 ## E1 ## E1; }; \ + struct { detail::_swizzle<4, T, Q, 3,1,1,2> E3 ## E1 ## E1 ## E2; }; \ + struct { detail::_swizzle<4, T, Q, 3,1,1,3> E3 ## E1 ## E1 ## E3; }; \ + struct { detail::_swizzle<4, T, Q, 3,1,2,0> E3 ## E1 ## E2 ## E0; }; \ + struct { detail::_swizzle<4, T, Q, 3,1,2,1> E3 ## E1 ## E2 ## E1; }; \ + struct { detail::_swizzle<4, T, Q, 3,1,2,2> E3 ## E1 ## E2 ## E2; }; \ + struct { detail::_swizzle<4, T, Q, 3,1,2,3> E3 ## E1 ## E2 ## E3; }; \ + struct { detail::_swizzle<4, T, Q, 3,1,3,0> E3 ## E1 ## E3 ## E0; }; \ + struct { detail::_swizzle<4, T, Q, 3,1,3,1> E3 ## E1 ## E3 ## E1; }; \ + struct { detail::_swizzle<4, T, Q, 3,1,3,2> E3 ## E1 ## E3 ## E2; }; \ + struct { detail::_swizzle<4, T, Q, 3,1,3,3> E3 ## E1 ## E3 ## E3; }; \ + struct { detail::_swizzle<4, T, Q, 3,2,0,0> E3 ## E2 ## E0 ## E0; }; \ + struct { detail::_swizzle<4, T, Q, 3,2,0,1> E3 ## E2 ## E0 ## E1; }; \ + struct { detail::_swizzle<4, T, Q, 3,2,0,2> E3 ## E2 ## E0 ## E2; }; \ + struct { detail::_swizzle<4, T, Q, 3,2,0,3> E3 ## E2 ## E0 ## E3; }; \ + struct { detail::_swizzle<4, T, Q, 3,2,1,0> E3 ## E2 ## E1 ## E0; }; \ + struct { detail::_swizzle<4, T, Q, 3,2,1,1> E3 ## E2 ## E1 ## E1; }; \ + struct { detail::_swizzle<4, T, Q, 3,2,1,2> E3 ## E2 ## E1 ## E2; }; \ + struct { detail::_swizzle<4, T, Q, 3,2,1,3> E3 ## E2 ## E1 ## E3; }; \ + struct { detail::_swizzle<4, T, Q, 3,2,2,0> E3 ## E2 ## E2 ## E0; }; \ + struct { detail::_swizzle<4, T, Q, 3,2,2,1> E3 ## E2 ## E2 ## E1; }; \ + struct { detail::_swizzle<4, T, Q, 3,2,2,2> E3 ## E2 ## E2 ## E2; }; \ + struct { detail::_swizzle<4, T, Q, 3,2,2,3> E3 ## E2 ## E2 ## E3; }; \ + struct { detail::_swizzle<4, T, Q, 3,2,3,0> E3 ## E2 ## E3 ## E0; }; \ + struct { detail::_swizzle<4, T, Q, 3,2,3,1> E3 ## E2 ## E3 ## E1; }; \ + struct { detail::_swizzle<4, T, Q, 3,2,3,2> E3 ## E2 ## E3 ## E2; }; \ + struct { detail::_swizzle<4, T, Q, 3,2,3,3> E3 ## E2 ## E3 ## E3; }; \ + struct { detail::_swizzle<4, T, Q, 3,3,0,0> E3 ## E3 ## E0 ## E0; }; \ + struct { detail::_swizzle<4, T, Q, 3,3,0,1> E3 ## E3 ## E0 ## E1; }; \ + struct { detail::_swizzle<4, T, Q, 3,3,0,2> E3 ## E3 ## E0 ## E2; }; \ + struct { detail::_swizzle<4, T, Q, 3,3,0,3> E3 ## E3 ## E0 ## E3; }; \ + struct { detail::_swizzle<4, T, Q, 3,3,1,0> E3 ## E3 ## E1 ## E0; }; \ + struct { detail::_swizzle<4, T, Q, 3,3,1,1> E3 ## E3 ## E1 ## E1; }; \ + struct { detail::_swizzle<4, T, Q, 3,3,1,2> E3 ## E3 ## E1 ## E2; }; \ + struct { detail::_swizzle<4, T, Q, 3,3,1,3> E3 ## E3 ## E1 ## E3; }; \ + struct { detail::_swizzle<4, T, Q, 3,3,2,0> E3 ## E3 ## E2 ## E0; }; \ + struct { detail::_swizzle<4, T, Q, 3,3,2,1> E3 ## E3 ## E2 ## E1; }; \ + struct { detail::_swizzle<4, T, Q, 3,3,2,2> E3 ## E3 ## E2 ## E2; }; \ + struct { detail::_swizzle<4, T, Q, 3,3,2,3> E3 ## E3 ## E2 ## E3; }; \ + struct { detail::_swizzle<4, T, Q, 3,3,3,0> E3 ## E3 ## E3 ## E0; }; \ + struct { detail::_swizzle<4, T, Q, 3,3,3,1> E3 ## E3 ## E3 ## E1; }; \ + struct { detail::_swizzle<4, T, Q, 3,3,3,2> E3 ## E3 ## E3 ## E2; }; \ + struct { detail::_swizzle<4, T, Q, 3,3,3,3> E3 ## E3 ## E3 ## E3; }; diff --git a/MacroLibX/third_party/glm/detail/_swizzle_func.hpp b/MacroLibX/third_party/glm/detail/_swizzle_func.hpp new file mode 100644 index 0000000..d93c6af --- /dev/null +++ b/MacroLibX/third_party/glm/detail/_swizzle_func.hpp @@ -0,0 +1,682 @@ +#pragma once + +#define GLM_SWIZZLE_GEN_VEC2_ENTRY(T, P, CONST, A, B) \ + vec<2, T, Q> A ## B() CONST \ + { \ + return vec<2, T, Q>(this->A, this->B); \ + } + +#define GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, CONST, A, B, C) \ + vec<3, T, Q> A ## B ## C() CONST \ + { \ + return vec<3, T, Q>(this->A, this->B, this->C); \ + } + +#define GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, CONST, A, B, C, D) \ + vec<4, T, Q> A ## B ## C ## D() CONST \ + { \ + return vec<4, T, Q>(this->A, this->B, this->C, this->D); \ + } + +#define GLM_SWIZZLE_GEN_VEC2_ENTRY_DEF(T, P, L, CONST, A, B) \ + template \ + vec vec::A ## B() CONST \ + { \ + return vec<2, T, Q>(this->A, this->B); \ + } + +#define GLM_SWIZZLE_GEN_VEC3_ENTRY_DEF(T, P, L, CONST, A, B, C) \ + template \ + vec<3, T, Q> vec::A ## B ## C() CONST \ + { \ + return vec<3, T, Q>(this->A, this->B, this->C); \ + } + +#define GLM_SWIZZLE_GEN_VEC4_ENTRY_DEF(T, P, L, CONST, A, B, C, D) \ + template \ + vec<4, T, Q> vec::A ## B ## C ## D() CONST \ + { \ + return vec<4, T, Q>(this->A, this->B, this->C, this->D); \ + } + +#define GLM_MUTABLE + +#define GLM_SWIZZLE_GEN_REF2_FROM_VEC2_SWIZZLE(T, P, A, B) \ + GLM_SWIZZLE_GEN_VEC2_ENTRY(T, P, 2, GLM_MUTABLE, A, B) \ + GLM_SWIZZLE_GEN_VEC2_ENTRY(T, P, 2, GLM_MUTABLE, B, A) + +#define GLM_SWIZZLE_GEN_REF_FROM_VEC2(T, P) \ + GLM_SWIZZLE_GEN_REF2_FROM_VEC2_SWIZZLE(T, P, x, y) \ + GLM_SWIZZLE_GEN_REF2_FROM_VEC2_SWIZZLE(T, P, r, g) \ + GLM_SWIZZLE_GEN_REF2_FROM_VEC2_SWIZZLE(T, P, s, t) + +#define GLM_SWIZZLE_GEN_REF2_FROM_VEC3_SWIZZLE(T, P, A, B, C) \ + GLM_SWIZZLE_GEN_VEC2_ENTRY(T, P, GLM_MUTABLE, A, B) \ + GLM_SWIZZLE_GEN_VEC2_ENTRY(T, P, GLM_MUTABLE, A, C) \ + GLM_SWIZZLE_GEN_VEC2_ENTRY(T, P, GLM_MUTABLE, B, A) \ + GLM_SWIZZLE_GEN_VEC2_ENTRY(T, P, GLM_MUTABLE, B, C) \ + GLM_SWIZZLE_GEN_VEC2_ENTRY(T, P, GLM_MUTABLE, C, A) \ + GLM_SWIZZLE_GEN_VEC2_ENTRY(T, P, GLM_MUTABLE, C, B) + +#define GLM_SWIZZLE_GEN_REF3_FROM_VEC3_SWIZZLE(T, P, A, B, C) \ + GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, GLM_MUTABLE, A, B, C) \ + GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, GLM_MUTABLE, A, C, B) \ + GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, GLM_MUTABLE, B, A, C) \ + GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, GLM_MUTABLE, B, C, A) \ + GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, GLM_MUTABLE, C, A, B) \ + GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, GLM_MUTABLE, C, B, A) + +#define GLM_SWIZZLE_GEN_REF_FROM_VEC3_COMP(T, P, A, B, C) \ + GLM_SWIZZLE_GEN_REF3_FROM_VEC3_SWIZZLE(T, P, A, B, C) \ + GLM_SWIZZLE_GEN_REF2_FROM_VEC3_SWIZZLE(T, P, A, B, C) + +#define GLM_SWIZZLE_GEN_REF_FROM_VEC3(T, P) \ + GLM_SWIZZLE_GEN_REF_FROM_VEC3_COMP(T, P, x, y, z) \ + GLM_SWIZZLE_GEN_REF_FROM_VEC3_COMP(T, P, r, g, b) \ + GLM_SWIZZLE_GEN_REF_FROM_VEC3_COMP(T, P, s, t, p) + +#define GLM_SWIZZLE_GEN_REF2_FROM_VEC4_SWIZZLE(T, P, A, B, C, D) \ + GLM_SWIZZLE_GEN_VEC2_ENTRY(T, P, GLM_MUTABLE, A, B) \ + GLM_SWIZZLE_GEN_VEC2_ENTRY(T, P, GLM_MUTABLE, A, C) \ + GLM_SWIZZLE_GEN_VEC2_ENTRY(T, P, GLM_MUTABLE, A, D) \ + GLM_SWIZZLE_GEN_VEC2_ENTRY(T, P, GLM_MUTABLE, B, A) \ + GLM_SWIZZLE_GEN_VEC2_ENTRY(T, P, GLM_MUTABLE, B, C) \ + GLM_SWIZZLE_GEN_VEC2_ENTRY(T, P, GLM_MUTABLE, B, D) \ + GLM_SWIZZLE_GEN_VEC2_ENTRY(T, P, GLM_MUTABLE, C, A) \ + GLM_SWIZZLE_GEN_VEC2_ENTRY(T, P, GLM_MUTABLE, C, B) \ + GLM_SWIZZLE_GEN_VEC2_ENTRY(T, P, GLM_MUTABLE, C, D) \ + GLM_SWIZZLE_GEN_VEC2_ENTRY(T, P, GLM_MUTABLE, D, A) \ + GLM_SWIZZLE_GEN_VEC2_ENTRY(T, P, GLM_MUTABLE, D, B) \ + GLM_SWIZZLE_GEN_VEC2_ENTRY(T, P, GLM_MUTABLE, D, C) + +#define GLM_SWIZZLE_GEN_REF3_FROM_VEC4_SWIZZLE(T, P, A, B, C, D) \ + GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, , A, B, C) \ + GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, , A, B, D) \ + GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, , A, C, B) \ + GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, , A, C, D) \ + GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, , A, D, B) \ + GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, , A, D, C) \ + GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, , B, A, C) \ + GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, , B, A, D) \ + GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, , B, C, A) \ + GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, , B, C, D) \ + GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, , B, D, A) \ + GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, , B, D, C) \ + GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, , C, A, B) \ + GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, , C, A, D) \ + GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, , C, B, A) \ + GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, , C, B, D) \ + GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, , C, D, A) \ + GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, , C, D, B) \ + GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, , D, A, B) \ + GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, , D, A, C) \ + GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, , D, B, A) \ + GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, , D, B, C) \ + GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, , D, C, A) \ + GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, , D, C, B) + +#define GLM_SWIZZLE_GEN_REF4_FROM_VEC4_SWIZZLE(T, P, A, B, C, D) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, , A, C, B, D) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, , A, C, D, B) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, , A, D, B, C) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, , A, D, C, B) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, , A, B, D, C) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, , A, B, C, D) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, , B, C, A, D) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, , B, C, D, A) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, , B, D, A, C) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, , B, D, C, A) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, , B, A, D, C) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, , B, A, C, D) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, , C, B, A, D) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, , C, B, D, A) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, , C, D, A, B) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, , C, D, B, A) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, , C, A, D, B) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, , C, A, B, D) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, , D, C, B, A) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, , D, C, A, B) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, , D, A, B, C) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, , D, A, C, B) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, , D, B, A, C) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, , D, B, C, A) + +#define GLM_SWIZZLE_GEN_REF_FROM_VEC4_COMP(T, P, A, B, C, D) \ + GLM_SWIZZLE_GEN_REF2_FROM_VEC4_SWIZZLE(T, P, A, B, C, D) \ + GLM_SWIZZLE_GEN_REF3_FROM_VEC4_SWIZZLE(T, P, A, B, C, D) \ + GLM_SWIZZLE_GEN_REF4_FROM_VEC4_SWIZZLE(T, P, A, B, C, D) + +#define GLM_SWIZZLE_GEN_REF_FROM_VEC4(T, P) \ + GLM_SWIZZLE_GEN_REF_FROM_VEC4_COMP(T, P, x, y, z, w) \ + GLM_SWIZZLE_GEN_REF_FROM_VEC4_COMP(T, P, r, g, b, a) \ + GLM_SWIZZLE_GEN_REF_FROM_VEC4_COMP(T, P, s, t, p, q) + +#define GLM_SWIZZLE_GEN_VEC2_FROM_VEC2_SWIZZLE(T, P, A, B) \ + GLM_SWIZZLE_GEN_VEC2_ENTRY(T, P, const, A, A) \ + GLM_SWIZZLE_GEN_VEC2_ENTRY(T, P, const, A, B) \ + GLM_SWIZZLE_GEN_VEC2_ENTRY(T, P, const, B, A) \ + GLM_SWIZZLE_GEN_VEC2_ENTRY(T, P, const, B, B) + +#define GLM_SWIZZLE_GEN_VEC3_FROM_VEC2_SWIZZLE(T, P, A, B) \ + GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, A, A, A) \ + GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, A, A, B) \ + GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, A, B, A) \ + GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, A, B, B) \ + GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, B, A, A) \ + GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, B, A, B) \ + GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, B, B, A) \ + GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, B, B, B) + +#define GLM_SWIZZLE_GEN_VEC4_FROM_VEC2_SWIZZLE(T, P, A, B) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, A, A, A) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, A, A, B) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, A, B, A) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, A, B, B) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, B, A, A) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, B, A, B) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, B, B, A) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, B, B, B) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, A, A, A) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, A, A, B) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, A, B, A) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, A, B, B) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, B, A, A) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, B, A, B) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, B, B, A) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, B, B, B) + +#define GLM_SWIZZLE_GEN_VEC_FROM_VEC2_COMP(T, P, A, B) \ + GLM_SWIZZLE_GEN_VEC2_FROM_VEC2_SWIZZLE(T, P, A, B) \ + GLM_SWIZZLE_GEN_VEC3_FROM_VEC2_SWIZZLE(T, P, A, B) \ + GLM_SWIZZLE_GEN_VEC4_FROM_VEC2_SWIZZLE(T, P, A, B) + +#define GLM_SWIZZLE_GEN_VEC_FROM_VEC2(T, P) \ + GLM_SWIZZLE_GEN_VEC_FROM_VEC2_COMP(T, P, x, y) \ + GLM_SWIZZLE_GEN_VEC_FROM_VEC2_COMP(T, P, r, g) \ + GLM_SWIZZLE_GEN_VEC_FROM_VEC2_COMP(T, P, s, t) + +#define GLM_SWIZZLE_GEN_VEC2_FROM_VEC3_SWIZZLE(T, P, A, B, C) \ + GLM_SWIZZLE_GEN_VEC2_ENTRY(T, P, const, A, A) \ + GLM_SWIZZLE_GEN_VEC2_ENTRY(T, P, const, A, B) \ + GLM_SWIZZLE_GEN_VEC2_ENTRY(T, P, const, A, C) \ + GLM_SWIZZLE_GEN_VEC2_ENTRY(T, P, const, B, A) \ + GLM_SWIZZLE_GEN_VEC2_ENTRY(T, P, const, B, B) \ + GLM_SWIZZLE_GEN_VEC2_ENTRY(T, P, const, B, C) \ + GLM_SWIZZLE_GEN_VEC2_ENTRY(T, P, const, C, A) \ + GLM_SWIZZLE_GEN_VEC2_ENTRY(T, P, const, C, B) \ + GLM_SWIZZLE_GEN_VEC2_ENTRY(T, P, const, C, C) + +#define GLM_SWIZZLE_GEN_VEC3_FROM_VEC3_SWIZZLE(T, P, A, B, C) \ + GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, A, A, A) \ + GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, A, A, B) \ + GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, A, A, C) \ + GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, A, B, A) \ + GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, A, B, B) \ + GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, A, B, C) \ + GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, A, C, A) \ + GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, A, C, B) \ + GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, A, C, C) \ + GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, B, A, A) \ + GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, B, A, B) \ + GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, B, A, C) \ + GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, B, B, A) \ + GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, B, B, B) \ + GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, B, B, C) \ + GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, B, C, A) \ + GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, B, C, B) \ + GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, B, C, C) \ + GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, C, A, A) \ + GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, C, A, B) \ + GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, C, A, C) \ + GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, C, B, A) \ + GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, C, B, B) \ + GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, C, B, C) \ + GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, C, C, A) \ + GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, C, C, B) \ + GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, C, C, C) + +#define GLM_SWIZZLE_GEN_VEC4_FROM_VEC3_SWIZZLE(T, P, A, B, C) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, A, A, A) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, A, A, B) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, A, A, C) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, A, B, A) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, A, B, B) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, A, B, C) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, A, C, A) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, A, C, B) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, A, C, C) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, B, A, A) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, B, A, B) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, B, A, C) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, B, B, A) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, B, B, B) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, B, B, C) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, B, C, A) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, B, C, B) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, B, C, C) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, C, A, A) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, C, A, B) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, C, A, C) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, C, B, A) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, C, B, B) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, C, B, C) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, C, C, A) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, C, C, B) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, C, C, C) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, A, A, A) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, A, A, B) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, A, A, C) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, A, B, A) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, A, B, B) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, A, B, C) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, A, C, A) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, A, C, B) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, A, C, C) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, B, A, A) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, B, A, B) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, B, A, C) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, B, B, A) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, B, B, B) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, B, B, C) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, B, C, A) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, B, C, B) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, B, C, C) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, C, A, A) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, C, A, B) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, C, A, C) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, C, B, A) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, C, B, B) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, C, B, C) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, C, C, A) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, C, C, B) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, C, C, C) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, C, A, A, A) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, C, A, A, B) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, C, A, A, C) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, C, A, B, A) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, C, A, B, B) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, C, A, B, C) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, C, A, C, A) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, C, A, C, B) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, C, A, C, C) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, C, B, A, A) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, C, B, A, B) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, C, B, A, C) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, C, B, B, A) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, C, B, B, B) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, C, B, B, C) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, C, B, C, A) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, C, B, C, B) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, C, B, C, C) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, C, C, A, A) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, C, C, A, B) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, C, C, A, C) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, C, C, B, A) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, C, C, B, B) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, C, C, B, C) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, C, C, C, A) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, C, C, C, B) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, C, C, C, C) + +#define GLM_SWIZZLE_GEN_VEC_FROM_VEC3_COMP(T, P, A, B, C) \ + GLM_SWIZZLE_GEN_VEC2_FROM_VEC3_SWIZZLE(T, P, A, B, C) \ + GLM_SWIZZLE_GEN_VEC3_FROM_VEC3_SWIZZLE(T, P, A, B, C) \ + GLM_SWIZZLE_GEN_VEC4_FROM_VEC3_SWIZZLE(T, P, A, B, C) + +#define GLM_SWIZZLE_GEN_VEC_FROM_VEC3(T, P) \ + GLM_SWIZZLE_GEN_VEC_FROM_VEC3_COMP(T, P, x, y, z) \ + GLM_SWIZZLE_GEN_VEC_FROM_VEC3_COMP(T, P, r, g, b) \ + GLM_SWIZZLE_GEN_VEC_FROM_VEC3_COMP(T, P, s, t, p) + +#define GLM_SWIZZLE_GEN_VEC2_FROM_VEC4_SWIZZLE(T, P, A, B, C, D) \ + GLM_SWIZZLE_GEN_VEC2_ENTRY(T, P, const, A, A) \ + GLM_SWIZZLE_GEN_VEC2_ENTRY(T, P, const, A, B) \ + GLM_SWIZZLE_GEN_VEC2_ENTRY(T, P, const, A, C) \ + GLM_SWIZZLE_GEN_VEC2_ENTRY(T, P, const, A, D) \ + GLM_SWIZZLE_GEN_VEC2_ENTRY(T, P, const, B, A) \ + GLM_SWIZZLE_GEN_VEC2_ENTRY(T, P, const, B, B) \ + GLM_SWIZZLE_GEN_VEC2_ENTRY(T, P, const, B, C) \ + GLM_SWIZZLE_GEN_VEC2_ENTRY(T, P, const, B, D) \ + GLM_SWIZZLE_GEN_VEC2_ENTRY(T, P, const, C, A) \ + GLM_SWIZZLE_GEN_VEC2_ENTRY(T, P, const, C, B) \ + GLM_SWIZZLE_GEN_VEC2_ENTRY(T, P, const, C, C) \ + GLM_SWIZZLE_GEN_VEC2_ENTRY(T, P, const, C, D) \ + GLM_SWIZZLE_GEN_VEC2_ENTRY(T, P, const, D, A) \ + GLM_SWIZZLE_GEN_VEC2_ENTRY(T, P, const, D, B) \ + GLM_SWIZZLE_GEN_VEC2_ENTRY(T, P, const, D, C) \ + GLM_SWIZZLE_GEN_VEC2_ENTRY(T, P, const, D, D) + +#define GLM_SWIZZLE_GEN_VEC3_FROM_VEC4_SWIZZLE(T, P, A, B, C, D) \ + GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, A, A, A) \ + GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, A, A, B) \ + GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, A, A, C) \ + GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, A, A, D) \ + GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, A, B, A) \ + GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, A, B, B) \ + GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, A, B, C) \ + GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, A, B, D) \ + GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, A, C, A) \ + GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, A, C, B) \ + GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, A, C, C) \ + GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, A, C, D) \ + GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, A, D, A) \ + GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, A, D, B) \ + GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, A, D, C) \ + GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, A, D, D) \ + GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, B, A, A) \ + GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, B, A, B) \ + GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, B, A, C) \ + GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, B, A, D) \ + GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, B, B, A) \ + GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, B, B, B) \ + GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, B, B, C) \ + GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, B, B, D) \ + GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, B, C, A) \ + GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, B, C, B) \ + GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, B, C, C) \ + GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, B, C, D) \ + GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, B, D, A) \ + GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, B, D, B) \ + GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, B, D, C) \ + GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, B, D, D) \ + GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, C, A, A) \ + GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, C, A, B) \ + GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, C, A, C) \ + GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, C, A, D) \ + GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, C, B, A) \ + GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, C, B, B) \ + GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, C, B, C) \ + GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, C, B, D) \ + GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, C, C, A) \ + GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, C, C, B) \ + GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, C, C, C) \ + GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, C, C, D) \ + GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, C, D, A) \ + GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, C, D, B) \ + GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, C, D, C) \ + GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, C, D, D) \ + GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, D, A, A) \ + GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, D, A, B) \ + GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, D, A, C) \ + GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, D, A, D) \ + GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, D, B, A) \ + GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, D, B, B) \ + GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, D, B, C) \ + GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, D, B, D) \ + GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, D, C, A) \ + GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, D, C, B) \ + GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, D, C, C) \ + GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, D, C, D) \ + GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, D, D, A) \ + GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, D, D, B) \ + GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, D, D, C) \ + GLM_SWIZZLE_GEN_VEC3_ENTRY(T, P, const, D, D, D) + +#define GLM_SWIZZLE_GEN_VEC4_FROM_VEC4_SWIZZLE(T, P, A, B, C, D) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, A, A, A) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, A, A, B) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, A, A, C) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, A, A, D) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, A, B, A) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, A, B, B) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, A, B, C) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, A, B, D) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, A, C, A) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, A, C, B) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, A, C, C) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, A, C, D) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, A, D, A) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, A, D, B) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, A, D, C) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, A, D, D) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, B, A, A) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, B, A, B) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, B, A, C) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, B, A, D) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, B, B, A) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, B, B, B) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, B, B, C) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, B, B, D) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, B, C, A) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, B, C, B) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, B, C, C) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, B, C, D) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, B, D, A) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, B, D, B) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, B, D, C) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, B, D, D) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, C, A, A) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, C, A, B) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, C, A, C) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, C, A, D) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, C, B, A) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, C, B, B) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, C, B, C) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, C, B, D) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, C, C, A) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, C, C, B) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, C, C, C) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, C, C, D) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, C, D, A) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, C, D, B) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, C, D, C) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, C, D, D) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, D, A, A) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, D, A, B) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, D, A, C) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, D, A, D) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, D, B, A) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, D, B, B) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, D, B, C) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, D, B, D) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, D, C, A) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, D, C, B) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, D, C, C) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, D, C, D) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, D, D, A) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, D, D, B) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, D, D, C) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, A, D, D, D) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, A, A, A) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, A, A, B) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, A, A, C) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, A, A, D) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, A, B, A) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, A, B, B) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, A, B, C) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, A, B, D) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, A, C, A) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, A, C, B) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, A, C, C) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, A, C, D) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, A, D, A) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, A, D, B) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, A, D, C) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, A, D, D) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, B, A, A) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, B, A, B) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, B, A, C) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, B, A, D) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, B, B, A) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, B, B, B) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, B, B, C) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, B, B, D) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, B, C, A) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, B, C, B) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, B, C, C) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, B, C, D) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, B, D, A) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, B, D, B) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, B, D, C) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, B, D, D) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, C, A, A) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, C, A, B) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, C, A, C) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, C, A, D) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, C, B, A) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, C, B, B) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, C, B, C) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, C, B, D) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, C, C, A) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, C, C, B) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, C, C, C) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, C, C, D) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, C, D, A) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, C, D, B) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, C, D, C) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, C, D, D) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, D, A, A) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, D, A, B) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, D, A, C) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, D, A, D) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, D, B, A) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, D, B, B) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, D, B, C) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, D, B, D) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, D, C, A) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, D, C, B) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, D, C, C) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, D, C, D) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, D, D, A) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, D, D, B) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, D, D, C) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, B, D, D, D) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, C, A, A, A) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, C, A, A, B) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, C, A, A, C) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, C, A, A, D) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, C, A, B, A) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, C, A, B, B) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, C, A, B, C) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, C, A, B, D) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, C, A, C, A) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, C, A, C, B) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, C, A, C, C) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, C, A, C, D) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, C, A, D, A) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, C, A, D, B) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, C, A, D, C) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, C, A, D, D) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, C, B, A, A) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, C, B, A, B) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, C, B, A, C) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, C, B, A, D) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, C, B, B, A) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, C, B, B, B) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, C, B, B, C) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, C, B, B, D) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, C, B, C, A) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, C, B, C, B) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, C, B, C, C) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, C, B, C, D) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, C, B, D, A) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, C, B, D, B) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, C, B, D, C) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, C, B, D, D) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, C, C, A, A) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, C, C, A, B) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, C, C, A, C) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, C, C, A, D) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, C, C, B, A) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, C, C, B, B) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, C, C, B, C) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, C, C, B, D) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, C, C, C, A) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, C, C, C, B) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, C, C, C, C) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, C, C, C, D) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, C, C, D, A) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, C, C, D, B) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, C, C, D, C) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, C, C, D, D) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, C, D, A, A) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, C, D, A, B) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, C, D, A, C) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, C, D, A, D) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, C, D, B, A) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, C, D, B, B) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, C, D, B, C) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, C, D, B, D) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, C, D, C, A) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, C, D, C, B) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, C, D, C, C) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, C, D, C, D) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, C, D, D, A) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, C, D, D, B) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, C, D, D, C) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, C, D, D, D) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, D, A, A, A) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, D, A, A, B) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, D, A, A, C) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, D, A, A, D) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, D, A, B, A) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, D, A, B, B) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, D, A, B, C) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, D, A, B, D) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, D, A, C, A) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, D, A, C, B) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, D, A, C, C) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, D, A, C, D) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, D, A, D, A) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, D, A, D, B) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, D, A, D, C) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, D, A, D, D) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, D, B, A, A) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, D, B, A, B) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, D, B, A, C) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, D, B, A, D) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, D, B, B, A) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, D, B, B, B) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, D, B, B, C) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, D, B, B, D) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, D, B, C, A) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, D, B, C, B) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, D, B, C, C) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, D, B, C, D) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, D, B, D, A) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, D, B, D, B) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, D, B, D, C) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, D, B, D, D) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, D, C, A, A) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, D, C, A, B) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, D, C, A, C) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, D, C, A, D) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, D, C, B, A) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, D, C, B, B) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, D, C, B, C) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, D, C, B, D) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, D, C, C, A) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, D, C, C, B) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, D, C, C, C) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, D, C, C, D) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, D, C, D, A) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, D, C, D, B) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, D, C, D, C) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, D, C, D, D) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, D, D, A, A) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, D, D, A, B) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, D, D, A, C) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, D, D, A, D) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, D, D, B, A) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, D, D, B, B) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, D, D, B, C) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, D, D, B, D) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, D, D, C, A) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, D, D, C, B) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, D, D, C, C) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, D, D, C, D) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, D, D, D, A) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, D, D, D, B) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, D, D, D, C) \ + GLM_SWIZZLE_GEN_VEC4_ENTRY(T, P, const, D, D, D, D) + +#define GLM_SWIZZLE_GEN_VEC_FROM_VEC4_COMP(T, P, A, B, C, D) \ + GLM_SWIZZLE_GEN_VEC2_FROM_VEC4_SWIZZLE(T, P, A, B, C, D) \ + GLM_SWIZZLE_GEN_VEC3_FROM_VEC4_SWIZZLE(T, P, A, B, C, D) \ + GLM_SWIZZLE_GEN_VEC4_FROM_VEC4_SWIZZLE(T, P, A, B, C, D) + +#define GLM_SWIZZLE_GEN_VEC_FROM_VEC4(T, P) \ + GLM_SWIZZLE_GEN_VEC_FROM_VEC4_COMP(T, P, x, y, z, w) \ + GLM_SWIZZLE_GEN_VEC_FROM_VEC4_COMP(T, P, r, g, b, a) \ + GLM_SWIZZLE_GEN_VEC_FROM_VEC4_COMP(T, P, s, t, p, q) + diff --git a/MacroLibX/third_party/glm/detail/_vectorize.hpp b/MacroLibX/third_party/glm/detail/_vectorize.hpp new file mode 100644 index 0000000..1fcaec3 --- /dev/null +++ b/MacroLibX/third_party/glm/detail/_vectorize.hpp @@ -0,0 +1,162 @@ +#pragma once + +namespace glm{ +namespace detail +{ + template class vec, length_t L, typename R, typename T, qualifier Q> + struct functor1{}; + + template class vec, typename R, typename T, qualifier Q> + struct functor1 + { + GLM_FUNC_QUALIFIER GLM_CONSTEXPR static vec<1, R, Q> call(R (*Func) (T x), vec<1, T, Q> const& v) + { + return vec<1, R, Q>(Func(v.x)); + } + }; + + template class vec, typename R, typename T, qualifier Q> + struct functor1 + { + GLM_FUNC_QUALIFIER GLM_CONSTEXPR static vec<2, R, Q> call(R (*Func) (T x), vec<2, T, Q> const& v) + { + return vec<2, R, Q>(Func(v.x), Func(v.y)); + } + }; + + template class vec, typename R, typename T, qualifier Q> + struct functor1 + { + GLM_FUNC_QUALIFIER GLM_CONSTEXPR static vec<3, R, Q> call(R (*Func) (T x), vec<3, T, Q> const& v) + { + return vec<3, R, Q>(Func(v.x), Func(v.y), Func(v.z)); + } + }; + + template class vec, typename R, typename T, qualifier Q> + struct functor1 + { + GLM_FUNC_QUALIFIER GLM_CONSTEXPR static vec<4, R, Q> call(R (*Func) (T x), vec<4, T, Q> const& v) + { + return vec<4, R, Q>(Func(v.x), Func(v.y), Func(v.z), Func(v.w)); + } + }; + + template class vec, length_t L, typename T, qualifier Q> + struct functor2{}; + + template class vec, typename T, qualifier Q> + struct functor2 + { + GLM_FUNC_QUALIFIER static vec<1, T, Q> call(T (*Func) (T x, T y), vec<1, T, Q> const& a, vec<1, T, Q> const& b) + { + return vec<1, T, Q>(Func(a.x, b.x)); + } + }; + + template class vec, typename T, qualifier Q> + struct functor2 + { + GLM_FUNC_QUALIFIER static vec<2, T, Q> call(T (*Func) (T x, T y), vec<2, T, Q> const& a, vec<2, T, Q> const& b) + { + return vec<2, T, Q>(Func(a.x, b.x), Func(a.y, b.y)); + } + }; + + template class vec, typename T, qualifier Q> + struct functor2 + { + GLM_FUNC_QUALIFIER static vec<3, T, Q> call(T (*Func) (T x, T y), vec<3, T, Q> const& a, vec<3, T, Q> const& b) + { + return vec<3, T, Q>(Func(a.x, b.x), Func(a.y, b.y), Func(a.z, b.z)); + } + }; + + template class vec, typename T, qualifier Q> + struct functor2 + { + GLM_FUNC_QUALIFIER static vec<4, T, Q> call(T (*Func) (T x, T y), vec<4, T, Q> const& a, vec<4, T, Q> const& b) + { + return vec<4, T, Q>(Func(a.x, b.x), Func(a.y, b.y), Func(a.z, b.z), Func(a.w, b.w)); + } + }; + + template class vec, length_t L, typename T, qualifier Q> + struct functor2_vec_sca{}; + + template class vec, typename T, qualifier Q> + struct functor2_vec_sca + { + GLM_FUNC_QUALIFIER static vec<1, T, Q> call(T (*Func) (T x, T y), vec<1, T, Q> const& a, T b) + { + return vec<1, T, Q>(Func(a.x, b)); + } + }; + + template class vec, typename T, qualifier Q> + struct functor2_vec_sca + { + GLM_FUNC_QUALIFIER static vec<2, T, Q> call(T (*Func) (T x, T y), vec<2, T, Q> const& a, T b) + { + return vec<2, T, Q>(Func(a.x, b), Func(a.y, b)); + } + }; + + template class vec, typename T, qualifier Q> + struct functor2_vec_sca + { + GLM_FUNC_QUALIFIER static vec<3, T, Q> call(T (*Func) (T x, T y), vec<3, T, Q> const& a, T b) + { + return vec<3, T, Q>(Func(a.x, b), Func(a.y, b), Func(a.z, b)); + } + }; + + template class vec, typename T, qualifier Q> + struct functor2_vec_sca + { + GLM_FUNC_QUALIFIER static vec<4, T, Q> call(T (*Func) (T x, T y), vec<4, T, Q> const& a, T b) + { + return vec<4, T, Q>(Func(a.x, b), Func(a.y, b), Func(a.z, b), Func(a.w, b)); + } + }; + + template + struct functor2_vec_int {}; + + template + struct functor2_vec_int<1, T, Q> + { + GLM_FUNC_QUALIFIER static vec<1, int, Q> call(int (*Func) (T x, int y), vec<1, T, Q> const& a, vec<1, int, Q> const& b) + { + return vec<1, int, Q>(Func(a.x, b.x)); + } + }; + + template + struct functor2_vec_int<2, T, Q> + { + GLM_FUNC_QUALIFIER static vec<2, int, Q> call(int (*Func) (T x, int y), vec<2, T, Q> const& a, vec<2, int, Q> const& b) + { + return vec<2, int, Q>(Func(a.x, b.x), Func(a.y, b.y)); + } + }; + + template + struct functor2_vec_int<3, T, Q> + { + GLM_FUNC_QUALIFIER static vec<3, int, Q> call(int (*Func) (T x, int y), vec<3, T, Q> const& a, vec<3, int, Q> const& b) + { + return vec<3, int, Q>(Func(a.x, b.x), Func(a.y, b.y), Func(a.z, b.z)); + } + }; + + template + struct functor2_vec_int<4, T, Q> + { + GLM_FUNC_QUALIFIER static vec<4, int, Q> call(int (*Func) (T x, int y), vec<4, T, Q> const& a, vec<4, int, Q> const& b) + { + return vec<4, int, Q>(Func(a.x, b.x), Func(a.y, b.y), Func(a.z, b.z), Func(a.w, b.w)); + } + }; +}//namespace detail +}//namespace glm diff --git a/MacroLibX/third_party/glm/detail/compute_common.hpp b/MacroLibX/third_party/glm/detail/compute_common.hpp new file mode 100644 index 0000000..cc24b9e --- /dev/null +++ b/MacroLibX/third_party/glm/detail/compute_common.hpp @@ -0,0 +1,50 @@ +#pragma once + +#include "setup.hpp" +#include + +namespace glm{ +namespace detail +{ + template + struct compute_abs + {}; + + template + struct compute_abs + { + GLM_FUNC_QUALIFIER GLM_CONSTEXPR static genFIType call(genFIType x) + { + GLM_STATIC_ASSERT( + std::numeric_limits::is_iec559 || std::numeric_limits::is_signed, + "'abs' only accept floating-point and integer scalar or vector inputs"); + + return x >= genFIType(0) ? x : -x; + // TODO, perf comp with: *(((int *) &x) + 1) &= 0x7fffffff; + } + }; + +#if GLM_COMPILER & GLM_COMPILER_CUDA + template<> + struct compute_abs + { + GLM_FUNC_QUALIFIER GLM_CONSTEXPR static float call(float x) + { + return fabsf(x); + } + }; +#endif + + template + struct compute_abs + { + GLM_FUNC_QUALIFIER GLM_CONSTEXPR static genFIType call(genFIType x) + { + GLM_STATIC_ASSERT( + (!std::numeric_limits::is_signed && std::numeric_limits::is_integer), + "'abs' only accept floating-point and integer scalar or vector inputs"); + return x; + } + }; +}//namespace detail +}//namespace glm diff --git a/MacroLibX/third_party/glm/detail/compute_vector_relational.hpp b/MacroLibX/third_party/glm/detail/compute_vector_relational.hpp new file mode 100644 index 0000000..167b634 --- /dev/null +++ b/MacroLibX/third_party/glm/detail/compute_vector_relational.hpp @@ -0,0 +1,30 @@ +#pragma once + +//#include "compute_common.hpp" +#include "setup.hpp" +#include + +namespace glm{ +namespace detail +{ + template + struct compute_equal + { + GLM_FUNC_QUALIFIER GLM_CONSTEXPR static bool call(T a, T b) + { + return a == b; + } + }; +/* + template + struct compute_equal + { + GLM_FUNC_QUALIFIER GLM_CONSTEXPR static bool call(T a, T b) + { + return detail::compute_abs::is_signed>::call(b - a) <= static_cast(0); + //return std::memcmp(&a, &b, sizeof(T)) == 0; + } + }; +*/ +}//namespace detail +}//namespace glm diff --git a/MacroLibX/third_party/glm/detail/func_common.inl b/MacroLibX/third_party/glm/detail/func_common.inl new file mode 100644 index 0000000..4b5f144 --- /dev/null +++ b/MacroLibX/third_party/glm/detail/func_common.inl @@ -0,0 +1,792 @@ +/// @ref core +/// @file glm/detail/func_common.inl + +#include "../vector_relational.hpp" +#include "compute_common.hpp" +#include "type_vec1.hpp" +#include "type_vec2.hpp" +#include "type_vec3.hpp" +#include "type_vec4.hpp" +#include "_vectorize.hpp" +#include + +namespace glm +{ + // min + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR genType min(genType x, genType y) + { + GLM_STATIC_ASSERT(std::numeric_limits::is_iec559 || std::numeric_limits::is_integer, "'min' only accept floating-point or integer inputs"); + return (y < x) ? y : x; + } + + // max + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR genType max(genType x, genType y) + { + GLM_STATIC_ASSERT(std::numeric_limits::is_iec559 || std::numeric_limits::is_integer, "'max' only accept floating-point or integer inputs"); + + return (x < y) ? y : x; + } + + // abs + template<> + GLM_FUNC_QUALIFIER GLM_CONSTEXPR int abs(int x) + { + int const y = x >> (sizeof(int) * 8 - 1); + return (x ^ y) - y; + } + + // round +# if GLM_HAS_CXX11_STL + using ::std::round; +# else + template + GLM_FUNC_QUALIFIER genType round(genType x) + { + GLM_STATIC_ASSERT(std::numeric_limits::is_iec559, "'round' only accept floating-point inputs"); + + return x < static_cast(0) ? static_cast(int(x - static_cast(0.5))) : static_cast(int(x + static_cast(0.5))); + } +# endif + + // trunc +# if GLM_HAS_CXX11_STL + using ::std::trunc; +# else + template + GLM_FUNC_QUALIFIER genType trunc(genType x) + { + GLM_STATIC_ASSERT(std::numeric_limits::is_iec559, "'trunc' only accept floating-point inputs"); + + return x < static_cast(0) ? -std::floor(-x) : std::floor(x); + } +# endif + +}//namespace glm + +namespace glm{ +namespace detail +{ + template + struct compute_abs_vector + { + GLM_FUNC_QUALIFIER GLM_CONSTEXPR static vec call(vec const& x) + { + return detail::functor1::call(abs, x); + } + }; + + template + struct compute_mix_vector + { + GLM_FUNC_QUALIFIER static vec call(vec const& x, vec const& y, vec const& a) + { + GLM_STATIC_ASSERT(std::numeric_limits::is_iec559 || GLM_CONFIG_UNRESTRICTED_GENTYPE, "'mix' only accept floating-point inputs for the interpolator a"); + + return vec(vec(x) * (static_cast(1) - a) + vec(y) * a); + } + }; + + template + struct compute_mix_vector + { + GLM_FUNC_QUALIFIER static vec call(vec const& x, vec const& y, vec const& a) + { + vec Result; + for(length_t i = 0; i < x.length(); ++i) + Result[i] = a[i] ? y[i] : x[i]; + return Result; + } + }; + + template + struct compute_mix_scalar + { + GLM_FUNC_QUALIFIER static vec call(vec const& x, vec const& y, U const& a) + { + GLM_STATIC_ASSERT(std::numeric_limits::is_iec559 || GLM_CONFIG_UNRESTRICTED_GENTYPE, "'mix' only accept floating-point inputs for the interpolator a"); + + return vec(vec(x) * (static_cast(1) - a) + vec(y) * a); + } + }; + + template + struct compute_mix_scalar + { + GLM_FUNC_QUALIFIER static vec call(vec const& x, vec const& y, bool const& a) + { + return a ? y : x; + } + }; + + template + struct compute_mix + { + GLM_FUNC_QUALIFIER static T call(T const& x, T const& y, U const& a) + { + GLM_STATIC_ASSERT(std::numeric_limits::is_iec559 || GLM_CONFIG_UNRESTRICTED_GENTYPE, "'mix' only accept floating-point inputs for the interpolator a"); + + return static_cast(static_cast(x) * (static_cast(1) - a) + static_cast(y) * a); + } + }; + + template + struct compute_mix + { + GLM_FUNC_QUALIFIER static T call(T const& x, T const& y, bool const& a) + { + return a ? y : x; + } + }; + + template + struct compute_sign + { + GLM_FUNC_QUALIFIER static vec call(vec const& x) + { + return vec(glm::lessThan(vec(0), x)) - vec(glm::lessThan(x, vec(0))); + } + }; + +# if GLM_ARCH == GLM_ARCH_X86 + template + struct compute_sign + { + GLM_FUNC_QUALIFIER static vec call(vec const& x) + { + T const Shift(static_cast(sizeof(T) * 8 - 1)); + vec const y(vec::type, Q>(-x) >> typename detail::make_unsigned::type(Shift)); + + return (x >> Shift) | y; + } + }; +# endif + + template + struct compute_floor + { + GLM_FUNC_QUALIFIER static vec call(vec const& x) + { + return detail::functor1::call(std::floor, x); + } + }; + + template + struct compute_ceil + { + GLM_FUNC_QUALIFIER static vec call(vec const& x) + { + return detail::functor1::call(std::ceil, x); + } + }; + + template + struct compute_fract + { + GLM_FUNC_QUALIFIER static vec call(vec const& x) + { + return x - floor(x); + } + }; + + template + struct compute_trunc + { + GLM_FUNC_QUALIFIER static vec call(vec const& x) + { + return detail::functor1::call(trunc, x); + } + }; + + template + struct compute_round + { + GLM_FUNC_QUALIFIER static vec call(vec const& x) + { + return detail::functor1::call(round, x); + } + }; + + template + struct compute_mod + { + GLM_FUNC_QUALIFIER static vec call(vec const& a, vec const& b) + { + GLM_STATIC_ASSERT(std::numeric_limits::is_iec559, "'mod' only accept floating-point inputs. Include for integer inputs."); + return a - b * floor(a / b); + } + }; + + template + struct compute_min_vector + { + GLM_FUNC_QUALIFIER static vec call(vec const& x, vec const& y) + { + return detail::functor2::call(min, x, y); + } + }; + + template + struct compute_max_vector + { + GLM_FUNC_QUALIFIER static vec call(vec const& x, vec const& y) + { + return detail::functor2::call(max, x, y); + } + }; + + template + struct compute_clamp_vector + { + GLM_FUNC_QUALIFIER static vec call(vec const& x, vec const& minVal, vec const& maxVal) + { + return min(max(x, minVal), maxVal); + } + }; + + template + struct compute_step_vector + { + GLM_FUNC_QUALIFIER static vec call(vec const& edge, vec const& x) + { + return mix(vec(1), vec(0), glm::lessThan(x, edge)); + } + }; + + template + struct compute_smoothstep_vector + { + GLM_FUNC_QUALIFIER static vec call(vec const& edge0, vec const& edge1, vec const& x) + { + GLM_STATIC_ASSERT(std::numeric_limits::is_iec559 || GLM_CONFIG_UNRESTRICTED_GENTYPE, "'smoothstep' only accept floating-point inputs"); + vec const tmp(clamp((x - edge0) / (edge1 - edge0), static_cast(0), static_cast(1))); + return tmp * tmp * (static_cast(3) - static_cast(2) * tmp); + } + }; +}//namespace detail + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR genFIType abs(genFIType x) + { + return detail::compute_abs::is_signed>::call(x); + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec abs(vec const& x) + { + return detail::compute_abs_vector::value>::call(x); + } + + // sign + // fast and works for any type + template + GLM_FUNC_QUALIFIER genFIType sign(genFIType x) + { + GLM_STATIC_ASSERT( + std::numeric_limits::is_iec559 || (std::numeric_limits::is_signed && std::numeric_limits::is_integer), + "'sign' only accept signed inputs"); + + return detail::compute_sign<1, genFIType, defaultp, + std::numeric_limits::is_iec559, detail::is_aligned::value>::call(vec<1, genFIType>(x)).x; + } + + template + GLM_FUNC_QUALIFIER vec sign(vec const& x) + { + GLM_STATIC_ASSERT( + std::numeric_limits::is_iec559 || (std::numeric_limits::is_signed && std::numeric_limits::is_integer), + "'sign' only accept signed inputs"); + + return detail::compute_sign::is_iec559, detail::is_aligned::value>::call(x); + } + + // floor + using ::std::floor; + template + GLM_FUNC_QUALIFIER vec floor(vec const& x) + { + GLM_STATIC_ASSERT(std::numeric_limits::is_iec559, "'floor' only accept floating-point inputs."); + return detail::compute_floor::value>::call(x); + } + + template + GLM_FUNC_QUALIFIER vec trunc(vec const& x) + { + GLM_STATIC_ASSERT(std::numeric_limits::is_iec559, "'trunc' only accept floating-point inputs"); + return detail::compute_trunc::value>::call(x); + } + + template + GLM_FUNC_QUALIFIER vec round(vec const& x) + { + GLM_STATIC_ASSERT(std::numeric_limits::is_iec559, "'round' only accept floating-point inputs"); + return detail::compute_round::value>::call(x); + } + +/* + // roundEven + template + GLM_FUNC_QUALIFIER genType roundEven(genType const& x) + { + GLM_STATIC_ASSERT(std::numeric_limits::is_iec559, "'roundEven' only accept floating-point inputs"); + + return genType(int(x + genType(int(x) % 2))); + } +*/ + + // roundEven + template + GLM_FUNC_QUALIFIER genType roundEven(genType x) + { + GLM_STATIC_ASSERT(std::numeric_limits::is_iec559, "'roundEven' only accept floating-point inputs"); + + int Integer = static_cast(x); + genType IntegerPart = static_cast(Integer); + genType FractionalPart = fract(x); + + if(FractionalPart > static_cast(0.5) || FractionalPart < static_cast(0.5)) + { + return round(x); + } + else if((Integer % 2) == 0) + { + return IntegerPart; + } + else if(x <= static_cast(0)) // Work around... + { + return IntegerPart - static_cast(1); + } + else + { + return IntegerPart + static_cast(1); + } + //else // Bug on MinGW 4.5.2 + //{ + // return mix(IntegerPart + genType(-1), IntegerPart + genType(1), x <= genType(0)); + //} + } + + template + GLM_FUNC_QUALIFIER vec roundEven(vec const& x) + { + GLM_STATIC_ASSERT(std::numeric_limits::is_iec559, "'roundEven' only accept floating-point inputs"); + return detail::functor1::call(roundEven, x); + } + + // ceil + using ::std::ceil; + template + GLM_FUNC_QUALIFIER vec ceil(vec const& x) + { + GLM_STATIC_ASSERT(std::numeric_limits::is_iec559, "'ceil' only accept floating-point inputs"); + return detail::compute_ceil::value>::call(x); + } + + // fract + template + GLM_FUNC_QUALIFIER genType fract(genType x) + { + return fract(vec<1, genType>(x)).x; + } + + template + GLM_FUNC_QUALIFIER vec fract(vec const& x) + { + GLM_STATIC_ASSERT(std::numeric_limits::is_iec559, "'fract' only accept floating-point inputs"); + return detail::compute_fract::value>::call(x); + } + + // mod + template + GLM_FUNC_QUALIFIER genType mod(genType x, genType y) + { +# if GLM_COMPILER & GLM_COMPILER_CUDA + // Another Cuda compiler bug https://github.com/g-truc/glm/issues/530 + vec<1, genType, defaultp> Result(mod(vec<1, genType, defaultp>(x), y)); + return Result.x; +# else + return mod(vec<1, genType, defaultp>(x), y).x; +# endif + } + + template + GLM_FUNC_QUALIFIER vec mod(vec const& x, T y) + { + return detail::compute_mod::value>::call(x, vec(y)); + } + + template + GLM_FUNC_QUALIFIER vec mod(vec const& x, vec const& y) + { + return detail::compute_mod::value>::call(x, y); + } + + // modf + template + GLM_FUNC_QUALIFIER genType modf(genType x, genType & i) + { + GLM_STATIC_ASSERT(std::numeric_limits::is_iec559, "'modf' only accept floating-point inputs"); + return std::modf(x, &i); + } + + template + GLM_FUNC_QUALIFIER vec<1, T, Q> modf(vec<1, T, Q> const& x, vec<1, T, Q> & i) + { + return vec<1, T, Q>( + modf(x.x, i.x)); + } + + template + GLM_FUNC_QUALIFIER vec<2, T, Q> modf(vec<2, T, Q> const& x, vec<2, T, Q> & i) + { + return vec<2, T, Q>( + modf(x.x, i.x), + modf(x.y, i.y)); + } + + template + GLM_FUNC_QUALIFIER vec<3, T, Q> modf(vec<3, T, Q> const& x, vec<3, T, Q> & i) + { + return vec<3, T, Q>( + modf(x.x, i.x), + modf(x.y, i.y), + modf(x.z, i.z)); + } + + template + GLM_FUNC_QUALIFIER vec<4, T, Q> modf(vec<4, T, Q> const& x, vec<4, T, Q> & i) + { + return vec<4, T, Q>( + modf(x.x, i.x), + modf(x.y, i.y), + modf(x.z, i.z), + modf(x.w, i.w)); + } + + //// Only valid if (INT_MIN <= x-y <= INT_MAX) + //// min(x,y) + //r = y + ((x - y) & ((x - y) >> (sizeof(int) * + //CHAR_BIT - 1))); + //// max(x,y) + //r = x - ((x - y) & ((x - y) >> (sizeof(int) * + //CHAR_BIT - 1))); + + // min + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec min(vec const& a, T b) + { + GLM_STATIC_ASSERT(std::numeric_limits::is_iec559 || std::numeric_limits::is_integer, "'min' only accept floating-point or integer inputs"); + return detail::compute_min_vector::value>::call(a, vec(b)); + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec min(vec const& a, vec const& b) + { + return detail::compute_min_vector::value>::call(a, b); + } + + // max + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec max(vec const& a, T b) + { + GLM_STATIC_ASSERT(std::numeric_limits::is_iec559 || std::numeric_limits::is_integer, "'max' only accept floating-point or integer inputs"); + return detail::compute_max_vector::value>::call(a, vec(b)); + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec max(vec const& a, vec const& b) + { + return detail::compute_max_vector::value>::call(a, b); + } + + // clamp + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR genType clamp(genType x, genType minVal, genType maxVal) + { + GLM_STATIC_ASSERT(std::numeric_limits::is_iec559 || std::numeric_limits::is_integer, "'clamp' only accept floating-point or integer inputs"); + return min(max(x, minVal), maxVal); + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec clamp(vec const& x, T minVal, T maxVal) + { + GLM_STATIC_ASSERT(std::numeric_limits::is_iec559 || std::numeric_limits::is_integer, "'clamp' only accept floating-point or integer inputs"); + return detail::compute_clamp_vector::value>::call(x, vec(minVal), vec(maxVal)); + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec clamp(vec const& x, vec const& minVal, vec const& maxVal) + { + GLM_STATIC_ASSERT(std::numeric_limits::is_iec559 || std::numeric_limits::is_integer, "'clamp' only accept floating-point or integer inputs"); + return detail::compute_clamp_vector::value>::call(x, minVal, maxVal); + } + + template + GLM_FUNC_QUALIFIER genTypeT mix(genTypeT x, genTypeT y, genTypeU a) + { + return detail::compute_mix::call(x, y, a); + } + + template + GLM_FUNC_QUALIFIER vec mix(vec const& x, vec const& y, U a) + { + return detail::compute_mix_scalar::value>::call(x, y, a); + } + + template + GLM_FUNC_QUALIFIER vec mix(vec const& x, vec const& y, vec const& a) + { + return detail::compute_mix_vector::value>::call(x, y, a); + } + + // step + template + GLM_FUNC_QUALIFIER genType step(genType edge, genType x) + { + return mix(static_cast(1), static_cast(0), x < edge); + } + + template + GLM_FUNC_QUALIFIER vec step(T edge, vec const& x) + { + return detail::compute_step_vector::value>::call(vec(edge), x); + } + + template + GLM_FUNC_QUALIFIER vec step(vec const& edge, vec const& x) + { + return detail::compute_step_vector::value>::call(edge, x); + } + + // smoothstep + template + GLM_FUNC_QUALIFIER genType smoothstep(genType edge0, genType edge1, genType x) + { + GLM_STATIC_ASSERT(std::numeric_limits::is_iec559 || GLM_CONFIG_UNRESTRICTED_GENTYPE, "'smoothstep' only accept floating-point inputs"); + + genType const tmp(clamp((x - edge0) / (edge1 - edge0), genType(0), genType(1))); + return tmp * tmp * (genType(3) - genType(2) * tmp); + } + + template + GLM_FUNC_QUALIFIER vec smoothstep(T edge0, T edge1, vec const& x) + { + return detail::compute_smoothstep_vector::value>::call(vec(edge0), vec(edge1), x); + } + + template + GLM_FUNC_QUALIFIER vec smoothstep(vec const& edge0, vec const& edge1, vec const& x) + { + return detail::compute_smoothstep_vector::value>::call(edge0, edge1, x); + } + +# if GLM_HAS_CXX11_STL + using std::isnan; +# else + template + GLM_FUNC_QUALIFIER bool isnan(genType x) + { + GLM_STATIC_ASSERT(std::numeric_limits::is_iec559, "'isnan' only accept floating-point inputs"); + +# if GLM_HAS_CXX11_STL + return std::isnan(x); +# elif GLM_COMPILER & GLM_COMPILER_VC + return _isnan(x) != 0; +# elif GLM_COMPILER & GLM_COMPILER_INTEL +# if GLM_PLATFORM & GLM_PLATFORM_WINDOWS + return _isnan(x) != 0; +# else + return ::isnan(x) != 0; +# endif +# elif (GLM_COMPILER & (GLM_COMPILER_GCC | GLM_COMPILER_CLANG)) && (GLM_PLATFORM & GLM_PLATFORM_ANDROID) && __cplusplus < 201103L + return _isnan(x) != 0; +# elif GLM_COMPILER & GLM_COMPILER_CUDA + return ::isnan(x) != 0; +# else + return std::isnan(x); +# endif + } +# endif + + template + GLM_FUNC_QUALIFIER vec isnan(vec const& v) + { + GLM_STATIC_ASSERT(std::numeric_limits::is_iec559, "'isnan' only accept floating-point inputs"); + + vec Result; + for (length_t l = 0; l < v.length(); ++l) + Result[l] = glm::isnan(v[l]); + return Result; + } + +# if GLM_HAS_CXX11_STL + using std::isinf; +# else + template + GLM_FUNC_QUALIFIER bool isinf(genType x) + { + GLM_STATIC_ASSERT(std::numeric_limits::is_iec559, "'isinf' only accept floating-point inputs"); + +# if GLM_HAS_CXX11_STL + return std::isinf(x); +# elif GLM_COMPILER & (GLM_COMPILER_INTEL | GLM_COMPILER_VC) +# if(GLM_PLATFORM & GLM_PLATFORM_WINDOWS) + return _fpclass(x) == _FPCLASS_NINF || _fpclass(x) == _FPCLASS_PINF; +# else + return ::isinf(x); +# endif +# elif GLM_COMPILER & (GLM_COMPILER_GCC | GLM_COMPILER_CLANG) +# if(GLM_PLATFORM & GLM_PLATFORM_ANDROID && __cplusplus < 201103L) + return _isinf(x) != 0; +# else + return std::isinf(x); +# endif +# elif GLM_COMPILER & GLM_COMPILER_CUDA + // http://developer.download.nvidia.com/compute/cuda/4_2/rel/toolkit/docs/online/group__CUDA__MATH__DOUBLE_g13431dd2b40b51f9139cbb7f50c18fab.html#g13431dd2b40b51f9139cbb7f50c18fab + return ::isinf(double(x)) != 0; +# else + return std::isinf(x); +# endif + } +# endif + + template + GLM_FUNC_QUALIFIER vec isinf(vec const& v) + { + GLM_STATIC_ASSERT(std::numeric_limits::is_iec559, "'isinf' only accept floating-point inputs"); + + vec Result; + for (length_t l = 0; l < v.length(); ++l) + Result[l] = glm::isinf(v[l]); + return Result; + } + + GLM_FUNC_QUALIFIER int floatBitsToInt(float const& v) + { + union + { + float in; + int out; + } u; + + u.in = v; + + return u.out; + } + + template + GLM_FUNC_QUALIFIER vec floatBitsToInt(vec const& v) + { + return reinterpret_cast&>(const_cast&>(v)); + } + + GLM_FUNC_QUALIFIER uint floatBitsToUint(float const& v) + { + union + { + float in; + uint out; + } u; + + u.in = v; + + return u.out; + } + + template + GLM_FUNC_QUALIFIER vec floatBitsToUint(vec const& v) + { + return reinterpret_cast&>(const_cast&>(v)); + } + + GLM_FUNC_QUALIFIER float intBitsToFloat(int const& v) + { + union + { + int in; + float out; + } u; + + u.in = v; + + return u.out; + } + + template + GLM_FUNC_QUALIFIER vec intBitsToFloat(vec const& v) + { + return reinterpret_cast&>(const_cast&>(v)); + } + + GLM_FUNC_QUALIFIER float uintBitsToFloat(uint const& v) + { + union + { + uint in; + float out; + } u; + + u.in = v; + + return u.out; + } + + template + GLM_FUNC_QUALIFIER vec uintBitsToFloat(vec const& v) + { + return reinterpret_cast&>(const_cast&>(v)); + } + +# if GLM_HAS_CXX11_STL + using std::fma; +# else + template + GLM_FUNC_QUALIFIER genType fma(genType const& a, genType const& b, genType const& c) + { + return a * b + c; + } +# endif + + template + GLM_FUNC_QUALIFIER genType frexp(genType x, int& exp) + { + GLM_STATIC_ASSERT(std::numeric_limits::is_iec559, "'frexp' only accept floating-point inputs"); + + return std::frexp(x, &exp); + } + + template + GLM_FUNC_QUALIFIER vec frexp(vec const& v, vec& exp) + { + GLM_STATIC_ASSERT(std::numeric_limits::is_iec559, "'frexp' only accept floating-point inputs"); + + vec Result; + for (length_t l = 0; l < v.length(); ++l) + Result[l] = std::frexp(v[l], &exp[l]); + return Result; + } + + template + GLM_FUNC_QUALIFIER genType ldexp(genType const& x, int const& exp) + { + GLM_STATIC_ASSERT(std::numeric_limits::is_iec559, "'ldexp' only accept floating-point inputs"); + + return std::ldexp(x, exp); + } + + template + GLM_FUNC_QUALIFIER vec ldexp(vec const& v, vec const& exp) + { + GLM_STATIC_ASSERT(std::numeric_limits::is_iec559, "'ldexp' only accept floating-point inputs"); + + vec Result; + for (length_t l = 0; l < v.length(); ++l) + Result[l] = std::ldexp(v[l], exp[l]); + return Result; + } +}//namespace glm + +#if GLM_CONFIG_SIMD == GLM_ENABLE +# include "func_common_simd.inl" +#endif diff --git a/MacroLibX/third_party/glm/detail/func_common_simd.inl b/MacroLibX/third_party/glm/detail/func_common_simd.inl new file mode 100644 index 0000000..ce0032d --- /dev/null +++ b/MacroLibX/third_party/glm/detail/func_common_simd.inl @@ -0,0 +1,231 @@ +/// @ref core +/// @file glm/detail/func_common_simd.inl + +#if GLM_ARCH & GLM_ARCH_SSE2_BIT + +#include "../simd/common.h" + +#include + +namespace glm{ +namespace detail +{ + template + struct compute_abs_vector<4, float, Q, true> + { + GLM_FUNC_QUALIFIER static vec<4, float, Q> call(vec<4, float, Q> const& v) + { + vec<4, float, Q> result; + result.data = glm_vec4_abs(v.data); + return result; + } + }; + + template + struct compute_abs_vector<4, int, Q, true> + { + GLM_FUNC_QUALIFIER static vec<4, int, Q> call(vec<4, int, Q> const& v) + { + vec<4, int, Q> result; + result.data = glm_ivec4_abs(v.data); + return result; + } + }; + + template + struct compute_floor<4, float, Q, true> + { + GLM_FUNC_QUALIFIER static vec<4, float, Q> call(vec<4, float, Q> const& v) + { + vec<4, float, Q> result; + result.data = glm_vec4_floor(v.data); + return result; + } + }; + + template + struct compute_ceil<4, float, Q, true> + { + GLM_FUNC_QUALIFIER static vec<4, float, Q> call(vec<4, float, Q> const& v) + { + vec<4, float, Q> result; + result.data = glm_vec4_ceil(v.data); + return result; + } + }; + + template + struct compute_fract<4, float, Q, true> + { + GLM_FUNC_QUALIFIER static vec<4, float, Q> call(vec<4, float, Q> const& v) + { + vec<4, float, Q> result; + result.data = glm_vec4_fract(v.data); + return result; + } + }; + + template + struct compute_round<4, float, Q, true> + { + GLM_FUNC_QUALIFIER static vec<4, float, Q> call(vec<4, float, Q> const& v) + { + vec<4, float, Q> result; + result.data = glm_vec4_round(v.data); + return result; + } + }; + + template + struct compute_mod<4, float, Q, true> + { + GLM_FUNC_QUALIFIER static vec<4, float, Q> call(vec<4, float, Q> const& x, vec<4, float, Q> const& y) + { + vec<4, float, Q> result; + result.data = glm_vec4_mod(x.data, y.data); + return result; + } + }; + + template + struct compute_min_vector<4, float, Q, true> + { + GLM_FUNC_QUALIFIER static vec<4, float, Q> call(vec<4, float, Q> const& v1, vec<4, float, Q> const& v2) + { + vec<4, float, Q> result; + result.data = _mm_min_ps(v1.data, v2.data); + return result; + } + }; + + template + struct compute_min_vector<4, int, Q, true> + { + GLM_FUNC_QUALIFIER static vec<4, int, Q> call(vec<4, int, Q> const& v1, vec<4, int, Q> const& v2) + { + vec<4, int, Q> result; + result.data = _mm_min_epi32(v1.data, v2.data); + return result; + } + }; + + template + struct compute_min_vector<4, uint, Q, true> + { + GLM_FUNC_QUALIFIER static vec<4, uint, Q> call(vec<4, uint, Q> const& v1, vec<4, uint, Q> const& v2) + { + vec<4, uint, Q> result; + result.data = _mm_min_epu32(v1.data, v2.data); + return result; + } + }; + + template + struct compute_max_vector<4, float, Q, true> + { + GLM_FUNC_QUALIFIER static vec<4, float, Q> call(vec<4, float, Q> const& v1, vec<4, float, Q> const& v2) + { + vec<4, float, Q> result; + result.data = _mm_max_ps(v1.data, v2.data); + return result; + } + }; + + template + struct compute_max_vector<4, int, Q, true> + { + GLM_FUNC_QUALIFIER static vec<4, int, Q> call(vec<4, int, Q> const& v1, vec<4, int, Q> const& v2) + { + vec<4, int, Q> result; + result.data = _mm_max_epi32(v1.data, v2.data); + return result; + } + }; + + template + struct compute_max_vector<4, uint, Q, true> + { + GLM_FUNC_QUALIFIER static vec<4, uint, Q> call(vec<4, uint, Q> const& v1, vec<4, uint, Q> const& v2) + { + vec<4, uint, Q> result; + result.data = _mm_max_epu32(v1.data, v2.data); + return result; + } + }; + + template + struct compute_clamp_vector<4, float, Q, true> + { + GLM_FUNC_QUALIFIER static vec<4, float, Q> call(vec<4, float, Q> const& x, vec<4, float, Q> const& minVal, vec<4, float, Q> const& maxVal) + { + vec<4, float, Q> result; + result.data = _mm_min_ps(_mm_max_ps(x.data, minVal.data), maxVal.data); + return result; + } + }; + + template + struct compute_clamp_vector<4, int, Q, true> + { + GLM_FUNC_QUALIFIER static vec<4, int, Q> call(vec<4, int, Q> const& x, vec<4, int, Q> const& minVal, vec<4, int, Q> const& maxVal) + { + vec<4, int, Q> result; + result.data = _mm_min_epi32(_mm_max_epi32(x.data, minVal.data), maxVal.data); + return result; + } + }; + + template + struct compute_clamp_vector<4, uint, Q, true> + { + GLM_FUNC_QUALIFIER static vec<4, uint, Q> call(vec<4, uint, Q> const& x, vec<4, uint, Q> const& minVal, vec<4, uint, Q> const& maxVal) + { + vec<4, uint, Q> result; + result.data = _mm_min_epu32(_mm_max_epu32(x.data, minVal.data), maxVal.data); + return result; + } + }; + + template + struct compute_mix_vector<4, float, bool, Q, true> + { + GLM_FUNC_QUALIFIER static vec<4, float, Q> call(vec<4, float, Q> const& x, vec<4, float, Q> const& y, vec<4, bool, Q> const& a) + { + __m128i const Load = _mm_set_epi32(-static_cast(a.w), -static_cast(a.z), -static_cast(a.y), -static_cast(a.x)); + __m128 const Mask = _mm_castsi128_ps(Load); + + vec<4, float, Q> Result; +# if 0 && GLM_ARCH & GLM_ARCH_AVX + Result.data = _mm_blendv_ps(x.data, y.data, Mask); +# else + Result.data = _mm_or_ps(_mm_and_ps(Mask, y.data), _mm_andnot_ps(Mask, x.data)); +# endif + return Result; + } + }; +/* FIXME + template + struct compute_step_vector + { + GLM_FUNC_QUALIFIER static vec<4, float, Q> call(vec<4, float, Q> const& edge, vec<4, float, Q> const& x) + { + vec<4, float, Q> Result; + result.data = glm_vec4_step(edge.data, x.data); + return result; + } + }; +*/ + template + struct compute_smoothstep_vector<4, float, Q, true> + { + GLM_FUNC_QUALIFIER static vec<4, float, Q> call(vec<4, float, Q> const& edge0, vec<4, float, Q> const& edge1, vec<4, float, Q> const& x) + { + vec<4, float, Q> Result; + Result.data = glm_vec4_smoothstep(edge0.data, edge1.data, x.data); + return Result; + } + }; +}//namespace detail +}//namespace glm + +#endif//GLM_ARCH & GLM_ARCH_SSE2_BIT diff --git a/MacroLibX/third_party/glm/detail/func_exponential.inl b/MacroLibX/third_party/glm/detail/func_exponential.inl new file mode 100644 index 0000000..2040d41 --- /dev/null +++ b/MacroLibX/third_party/glm/detail/func_exponential.inl @@ -0,0 +1,152 @@ +/// @ref core +/// @file glm/detail/func_exponential.inl + +#include "../vector_relational.hpp" +#include "_vectorize.hpp" +#include +#include +#include + +namespace glm{ +namespace detail +{ +# if GLM_HAS_CXX11_STL + using std::log2; +# else + template + genType log2(genType Value) + { + return std::log(Value) * static_cast(1.4426950408889634073599246810019); + } +# endif + + template + struct compute_log2 + { + GLM_FUNC_QUALIFIER static vec call(vec const& v) + { + GLM_STATIC_ASSERT(std::numeric_limits::is_iec559, "'log2' only accept floating-point inputs. Include for integer inputs."); + + return detail::functor1::call(log2, v); + } + }; + + template + struct compute_sqrt + { + GLM_FUNC_QUALIFIER static vec call(vec const& x) + { + return detail::functor1::call(std::sqrt, x); + } + }; + + template + struct compute_inversesqrt + { + GLM_FUNC_QUALIFIER static vec call(vec const& x) + { + return static_cast(1) / sqrt(x); + } + }; + + template + struct compute_inversesqrt + { + GLM_FUNC_QUALIFIER static vec call(vec const& x) + { + vec tmp(x); + vec xhalf(tmp * 0.5f); + vec* p = reinterpret_cast*>(const_cast*>(&x)); + vec i = vec(0x5f375a86) - (*p >> vec(1)); + vec* ptmp = reinterpret_cast*>(&i); + tmp = *ptmp; + tmp = tmp * (1.5f - xhalf * tmp * tmp); + return tmp; + } + }; +}//namespace detail + + // pow + using std::pow; + template + GLM_FUNC_QUALIFIER vec pow(vec const& base, vec const& exponent) + { + return detail::functor2::call(pow, base, exponent); + } + + // exp + using std::exp; + template + GLM_FUNC_QUALIFIER vec exp(vec const& x) + { + return detail::functor1::call(exp, x); + } + + // log + using std::log; + template + GLM_FUNC_QUALIFIER vec log(vec const& x) + { + return detail::functor1::call(log, x); + } + +# if GLM_HAS_CXX11_STL + using std::exp2; +# else + //exp2, ln2 = 0.69314718055994530941723212145818f + template + GLM_FUNC_QUALIFIER genType exp2(genType x) + { + GLM_STATIC_ASSERT(std::numeric_limits::is_iec559, "'exp2' only accept floating-point inputs"); + + return std::exp(static_cast(0.69314718055994530941723212145818) * x); + } +# endif + + template + GLM_FUNC_QUALIFIER vec exp2(vec const& x) + { + return detail::functor1::call(exp2, x); + } + + // log2, ln2 = 0.69314718055994530941723212145818f + template + GLM_FUNC_QUALIFIER genType log2(genType x) + { + return log2(vec<1, genType>(x)).x; + } + + template + GLM_FUNC_QUALIFIER vec log2(vec const& x) + { + return detail::compute_log2::is_iec559, detail::is_aligned::value>::call(x); + } + + // sqrt + using std::sqrt; + template + GLM_FUNC_QUALIFIER vec sqrt(vec const& x) + { + GLM_STATIC_ASSERT(std::numeric_limits::is_iec559, "'sqrt' only accept floating-point inputs"); + return detail::compute_sqrt::value>::call(x); + } + + // inversesqrt + template + GLM_FUNC_QUALIFIER genType inversesqrt(genType x) + { + return static_cast(1) / sqrt(x); + } + + template + GLM_FUNC_QUALIFIER vec inversesqrt(vec const& x) + { + GLM_STATIC_ASSERT(std::numeric_limits::is_iec559, "'inversesqrt' only accept floating-point inputs"); + return detail::compute_inversesqrt::value>::call(x); + } +}//namespace glm + +#if GLM_CONFIG_SIMD == GLM_ENABLE +# include "func_exponential_simd.inl" +#endif + diff --git a/MacroLibX/third_party/glm/detail/func_exponential_simd.inl b/MacroLibX/third_party/glm/detail/func_exponential_simd.inl new file mode 100644 index 0000000..fb78951 --- /dev/null +++ b/MacroLibX/third_party/glm/detail/func_exponential_simd.inl @@ -0,0 +1,37 @@ +/// @ref core +/// @file glm/detail/func_exponential_simd.inl + +#include "../simd/exponential.h" + +#if GLM_ARCH & GLM_ARCH_SSE2_BIT + +namespace glm{ +namespace detail +{ + template + struct compute_sqrt<4, float, Q, true> + { + GLM_FUNC_QUALIFIER static vec<4, float, Q> call(vec<4, float, Q> const& v) + { + vec<4, float, Q> Result; + Result.data = _mm_sqrt_ps(v.data); + return Result; + } + }; + +# if GLM_CONFIG_ALIGNED_GENTYPES == GLM_ENABLE + template<> + struct compute_sqrt<4, float, aligned_lowp, true> + { + GLM_FUNC_QUALIFIER static vec<4, float, aligned_lowp> call(vec<4, float, aligned_lowp> const& v) + { + vec<4, float, aligned_lowp> Result; + Result.data = glm_vec4_sqrt_lowp(v.data); + return Result; + } + }; +# endif +}//namespace detail +}//namespace glm + +#endif//GLM_ARCH & GLM_ARCH_SSE2_BIT diff --git a/MacroLibX/third_party/glm/detail/func_geometric.inl b/MacroLibX/third_party/glm/detail/func_geometric.inl new file mode 100644 index 0000000..9cde28f --- /dev/null +++ b/MacroLibX/third_party/glm/detail/func_geometric.inl @@ -0,0 +1,243 @@ +#include "../exponential.hpp" +#include "../common.hpp" + +namespace glm{ +namespace detail +{ + template + struct compute_length + { + GLM_FUNC_QUALIFIER static T call(vec const& v) + { + return sqrt(dot(v, v)); + } + }; + + template + struct compute_distance + { + GLM_FUNC_QUALIFIER static T call(vec const& p0, vec const& p1) + { + return length(p1 - p0); + } + }; + + template + struct compute_dot{}; + + template + struct compute_dot, T, Aligned> + { + GLM_FUNC_QUALIFIER static T call(vec<1, T, Q> const& a, vec<1, T, Q> const& b) + { + return a.x * b.x; + } + }; + + template + struct compute_dot, T, Aligned> + { + GLM_FUNC_QUALIFIER static T call(vec<2, T, Q> const& a, vec<2, T, Q> const& b) + { + vec<2, T, Q> tmp(a * b); + return tmp.x + tmp.y; + } + }; + + template + struct compute_dot, T, Aligned> + { + GLM_FUNC_QUALIFIER static T call(vec<3, T, Q> const& a, vec<3, T, Q> const& b) + { + vec<3, T, Q> tmp(a * b); + return tmp.x + tmp.y + tmp.z; + } + }; + + template + struct compute_dot, T, Aligned> + { + GLM_FUNC_QUALIFIER static T call(vec<4, T, Q> const& a, vec<4, T, Q> const& b) + { + vec<4, T, Q> tmp(a * b); + return (tmp.x + tmp.y) + (tmp.z + tmp.w); + } + }; + + template + struct compute_cross + { + GLM_FUNC_QUALIFIER static vec<3, T, Q> call(vec<3, T, Q> const& x, vec<3, T, Q> const& y) + { + GLM_STATIC_ASSERT(std::numeric_limits::is_iec559, "'cross' accepts only floating-point inputs"); + + return vec<3, T, Q>( + x.y * y.z - y.y * x.z, + x.z * y.x - y.z * x.x, + x.x * y.y - y.x * x.y); + } + }; + + template + struct compute_normalize + { + GLM_FUNC_QUALIFIER static vec call(vec const& v) + { + GLM_STATIC_ASSERT(std::numeric_limits::is_iec559, "'normalize' accepts only floating-point inputs"); + + return v * inversesqrt(dot(v, v)); + } + }; + + template + struct compute_faceforward + { + GLM_FUNC_QUALIFIER static vec call(vec const& N, vec const& I, vec const& Nref) + { + GLM_STATIC_ASSERT(std::numeric_limits::is_iec559, "'normalize' accepts only floating-point inputs"); + + return dot(Nref, I) < static_cast(0) ? N : -N; + } + }; + + template + struct compute_reflect + { + GLM_FUNC_QUALIFIER static vec call(vec const& I, vec const& N) + { + return I - N * dot(N, I) * static_cast(2); + } + }; + + template + struct compute_refract + { + GLM_FUNC_QUALIFIER static vec call(vec const& I, vec const& N, T eta) + { + T const dotValue(dot(N, I)); + T const k(static_cast(1) - eta * eta * (static_cast(1) - dotValue * dotValue)); + vec const Result = + (k >= static_cast(0)) ? (eta * I - (eta * dotValue + std::sqrt(k)) * N) : vec(0); + return Result; + } + }; +}//namespace detail + + // length + template + GLM_FUNC_QUALIFIER genType length(genType x) + { + GLM_STATIC_ASSERT(std::numeric_limits::is_iec559, "'length' accepts only floating-point inputs"); + + return abs(x); + } + + template + GLM_FUNC_QUALIFIER T length(vec const& v) + { + GLM_STATIC_ASSERT(std::numeric_limits::is_iec559, "'length' accepts only floating-point inputs"); + + return detail::compute_length::value>::call(v); + } + + // distance + template + GLM_FUNC_QUALIFIER genType distance(genType const& p0, genType const& p1) + { + GLM_STATIC_ASSERT(std::numeric_limits::is_iec559, "'distance' accepts only floating-point inputs"); + + return length(p1 - p0); + } + + template + GLM_FUNC_QUALIFIER T distance(vec const& p0, vec const& p1) + { + return detail::compute_distance::value>::call(p0, p1); + } + + // dot + template + GLM_FUNC_QUALIFIER T dot(T x, T y) + { + GLM_STATIC_ASSERT(std::numeric_limits::is_iec559, "'dot' accepts only floating-point inputs"); + return x * y; + } + + template + GLM_FUNC_QUALIFIER T dot(vec const& x, vec const& y) + { + GLM_STATIC_ASSERT(std::numeric_limits::is_iec559, "'dot' accepts only floating-point inputs"); + return detail::compute_dot, T, detail::is_aligned::value>::call(x, y); + } + + // cross + template + GLM_FUNC_QUALIFIER vec<3, T, Q> cross(vec<3, T, Q> const& x, vec<3, T, Q> const& y) + { + return detail::compute_cross::value>::call(x, y); + } +/* + // normalize + template + GLM_FUNC_QUALIFIER genType normalize(genType const& x) + { + GLM_STATIC_ASSERT(std::numeric_limits::is_iec559, "'normalize' accepts only floating-point inputs"); + + return x < genType(0) ? genType(-1) : genType(1); + } +*/ + template + GLM_FUNC_QUALIFIER vec normalize(vec const& x) + { + GLM_STATIC_ASSERT(std::numeric_limits::is_iec559, "'normalize' accepts only floating-point inputs"); + + return detail::compute_normalize::value>::call(x); + } + + // faceforward + template + GLM_FUNC_QUALIFIER genType faceforward(genType const& N, genType const& I, genType const& Nref) + { + return dot(Nref, I) < static_cast(0) ? N : -N; + } + + template + GLM_FUNC_QUALIFIER vec faceforward(vec const& N, vec const& I, vec const& Nref) + { + return detail::compute_faceforward::value>::call(N, I, Nref); + } + + // reflect + template + GLM_FUNC_QUALIFIER genType reflect(genType const& I, genType const& N) + { + return I - N * dot(N, I) * genType(2); + } + + template + GLM_FUNC_QUALIFIER vec reflect(vec const& I, vec const& N) + { + return detail::compute_reflect::value>::call(I, N); + } + + // refract + template + GLM_FUNC_QUALIFIER genType refract(genType const& I, genType const& N, genType eta) + { + GLM_STATIC_ASSERT(std::numeric_limits::is_iec559, "'refract' accepts only floating-point inputs"); + genType const dotValue(dot(N, I)); + genType const k(static_cast(1) - eta * eta * (static_cast(1) - dotValue * dotValue)); + return (eta * I - (eta * dotValue + sqrt(k)) * N) * static_cast(k >= static_cast(0)); + } + + template + GLM_FUNC_QUALIFIER vec refract(vec const& I, vec const& N, T eta) + { + GLM_STATIC_ASSERT(std::numeric_limits::is_iec559, "'refract' accepts only floating-point inputs"); + return detail::compute_refract::value>::call(I, N, eta); + } +}//namespace glm + +#if GLM_CONFIG_SIMD == GLM_ENABLE +# include "func_geometric_simd.inl" +#endif diff --git a/MacroLibX/third_party/glm/detail/func_geometric_simd.inl b/MacroLibX/third_party/glm/detail/func_geometric_simd.inl new file mode 100644 index 0000000..dfe3f4c --- /dev/null +++ b/MacroLibX/third_party/glm/detail/func_geometric_simd.inl @@ -0,0 +1,165 @@ +/// @ref core +/// @file glm/detail/func_geometric_simd.inl + +#include "../simd/geometric.h" + +#if GLM_ARCH & GLM_ARCH_SSE2_BIT + +namespace glm{ +namespace detail +{ + template + struct compute_length<4, float, Q, true> + { + GLM_FUNC_QUALIFIER static float call(vec<4, float, Q> const& v) + { + return _mm_cvtss_f32(glm_vec4_length(v.data)); + } + }; + + template + struct compute_distance<4, float, Q, true> + { + GLM_FUNC_QUALIFIER static float call(vec<4, float, Q> const& p0, vec<4, float, Q> const& p1) + { + return _mm_cvtss_f32(glm_vec4_distance(p0.data, p1.data)); + } + }; + + template + struct compute_dot, float, true> + { + GLM_FUNC_QUALIFIER static float call(vec<4, float, Q> const& x, vec<4, float, Q> const& y) + { + return _mm_cvtss_f32(glm_vec1_dot(x.data, y.data)); + } + }; + + template + struct compute_cross + { + GLM_FUNC_QUALIFIER static vec<3, float, Q> call(vec<3, float, Q> const& a, vec<3, float, Q> const& b) + { + __m128 const set0 = _mm_set_ps(0.0f, a.z, a.y, a.x); + __m128 const set1 = _mm_set_ps(0.0f, b.z, b.y, b.x); + __m128 const xpd0 = glm_vec4_cross(set0, set1); + + vec<4, float, Q> Result; + Result.data = xpd0; + return vec<3, float, Q>(Result); + } + }; + + template + struct compute_normalize<4, float, Q, true> + { + GLM_FUNC_QUALIFIER static vec<4, float, Q> call(vec<4, float, Q> const& v) + { + vec<4, float, Q> Result; + Result.data = glm_vec4_normalize(v.data); + return Result; + } + }; + + template + struct compute_faceforward<4, float, Q, true> + { + GLM_FUNC_QUALIFIER static vec<4, float, Q> call(vec<4, float, Q> const& N, vec<4, float, Q> const& I, vec<4, float, Q> const& Nref) + { + vec<4, float, Q> Result; + Result.data = glm_vec4_faceforward(N.data, I.data, Nref.data); + return Result; + } + }; + + template + struct compute_reflect<4, float, Q, true> + { + GLM_FUNC_QUALIFIER static vec<4, float, Q> call(vec<4, float, Q> const& I, vec<4, float, Q> const& N) + { + vec<4, float, Q> Result; + Result.data = glm_vec4_reflect(I.data, N.data); + return Result; + } + }; + + template + struct compute_refract<4, float, Q, true> + { + GLM_FUNC_QUALIFIER static vec<4, float, Q> call(vec<4, float, Q> const& I, vec<4, float, Q> const& N, float eta) + { + vec<4, float, Q> Result; + Result.data = glm_vec4_refract(I.data, N.data, _mm_set1_ps(eta)); + return Result; + } + }; +}//namespace detail +}//namespace glm + +#elif GLM_ARCH & GLM_ARCH_NEON_BIT +namespace glm{ +namespace detail +{ + template + struct compute_length<4, float, Q, true> + { + GLM_FUNC_QUALIFIER static float call(vec<4, float, Q> const& v) + { + return compute_dot, float, true>::call(v, v); + } + }; + + template + struct compute_distance<4, float, Q, true> + { + GLM_FUNC_QUALIFIER static float call(vec<4, float, Q> const& p0, vec<4, float, Q> const& p1) + { + return compute_length<4, float, Q, true>::call(p1 - p0); + } + }; + + + template + struct compute_dot, float, true> + { + GLM_FUNC_QUALIFIER static float call(vec<4, float, Q> const& x, vec<4, float, Q> const& y) + { +#if GLM_ARCH & GLM_ARCH_ARMV8_BIT + float32x4_t v = vmulq_f32(x.data, y.data); + v = vpaddq_f32(v, v); + v = vpaddq_f32(v, v); + return vgetq_lane_f32(v, 0); +#else // Armv7a with Neon + float32x4_t p = vmulq_f32(x.data, y.data); + float32x2_t v = vpadd_f32(vget_low_f32(p), vget_high_f32(p)); + v = vpadd_f32(v, v); + return vget_lane_f32(v, 0); +#endif + } + }; + + template + struct compute_normalize<4, float, Q, true> + { + GLM_FUNC_QUALIFIER static vec<4, float, Q> call(vec<4, float, Q> const& v) + { + float32x4_t p = vmulq_f32(v.data, v.data); +#if GLM_ARCH & GLM_ARCH_ARMV8_BIT + p = vpaddq_f32(p, p); + p = vpaddq_f32(p, p); +#else + float32x2_t t = vpadd_f32(vget_low_f32(p), vget_high_f32(p)); + t = vpadd_f32(t, t); + p = vcombine_f32(t, t); +#endif + + float32x4_t vd = vrsqrteq_f32(p); + vec<4, float, Q> Result; + Result.data = vmulq_f32(v.data, vd); + return Result; + } + }; +}//namespace detail +}//namespace glm + +#endif//GLM_ARCH & GLM_ARCH_SSE2_BIT diff --git a/MacroLibX/third_party/glm/detail/func_integer.inl b/MacroLibX/third_party/glm/detail/func_integer.inl new file mode 100644 index 0000000..091e1e0 --- /dev/null +++ b/MacroLibX/third_party/glm/detail/func_integer.inl @@ -0,0 +1,372 @@ +/// @ref core + +#include "_vectorize.hpp" +#if(GLM_ARCH & GLM_ARCH_X86 && GLM_COMPILER & GLM_COMPILER_VC) +# include +# pragma intrinsic(_BitScanReverse) +#endif//(GLM_ARCH & GLM_ARCH_X86 && GLM_COMPILER & GLM_COMPILER_VC) +#include + +#if !GLM_HAS_EXTENDED_INTEGER_TYPE +# if GLM_COMPILER & GLM_COMPILER_GCC +# pragma GCC diagnostic ignored "-Wlong-long" +# endif +# if (GLM_COMPILER & GLM_COMPILER_CLANG) +# pragma clang diagnostic ignored "-Wc++11-long-long" +# endif +#endif + +namespace glm{ +namespace detail +{ + template + GLM_FUNC_QUALIFIER T mask(T Bits) + { + return Bits >= static_cast(sizeof(T) * 8) ? ~static_cast(0) : (static_cast(1) << Bits) - static_cast(1); + } + + template + struct compute_bitfieldReverseStep + { + GLM_FUNC_QUALIFIER static vec call(vec const& v, T, T) + { + return v; + } + }; + + template + struct compute_bitfieldReverseStep + { + GLM_FUNC_QUALIFIER static vec call(vec const& v, T Mask, T Shift) + { + return (v & Mask) << Shift | (v & (~Mask)) >> Shift; + } + }; + + template + struct compute_bitfieldBitCountStep + { + GLM_FUNC_QUALIFIER static vec call(vec const& v, T, T) + { + return v; + } + }; + + template + struct compute_bitfieldBitCountStep + { + GLM_FUNC_QUALIFIER static vec call(vec const& v, T Mask, T Shift) + { + return (v & Mask) + ((v >> Shift) & Mask); + } + }; + + template + struct compute_findLSB + { + GLM_FUNC_QUALIFIER static int call(genIUType Value) + { + if(Value == 0) + return -1; + + return glm::bitCount(~Value & (Value - static_cast(1))); + } + }; + +# if GLM_HAS_BITSCAN_WINDOWS + template + struct compute_findLSB + { + GLM_FUNC_QUALIFIER static int call(genIUType Value) + { + unsigned long Result(0); + unsigned char IsNotNull = _BitScanForward(&Result, *reinterpret_cast(&Value)); + return IsNotNull ? int(Result) : -1; + } + }; + +# if !((GLM_COMPILER & GLM_COMPILER_VC) && (GLM_MODEL == GLM_MODEL_32)) + template + struct compute_findLSB + { + GLM_FUNC_QUALIFIER static int call(genIUType Value) + { + unsigned long Result(0); + unsigned char IsNotNull = _BitScanForward64(&Result, *reinterpret_cast(&Value)); + return IsNotNull ? int(Result) : -1; + } + }; +# endif +# endif//GLM_HAS_BITSCAN_WINDOWS + + template + struct compute_findMSB_step_vec + { + GLM_FUNC_QUALIFIER static vec call(vec const& x, T Shift) + { + return x | (x >> Shift); + } + }; + + template + struct compute_findMSB_step_vec + { + GLM_FUNC_QUALIFIER static vec call(vec const& x, T) + { + return x; + } + }; + + template + struct compute_findMSB_vec + { + GLM_FUNC_QUALIFIER static vec call(vec const& v) + { + vec x(v); + x = compute_findMSB_step_vec= 8>::call(x, static_cast( 1)); + x = compute_findMSB_step_vec= 8>::call(x, static_cast( 2)); + x = compute_findMSB_step_vec= 8>::call(x, static_cast( 4)); + x = compute_findMSB_step_vec= 16>::call(x, static_cast( 8)); + x = compute_findMSB_step_vec= 32>::call(x, static_cast(16)); + x = compute_findMSB_step_vec= 64>::call(x, static_cast(32)); + return vec(sizeof(T) * 8 - 1) - glm::bitCount(~x); + } + }; + +# if GLM_HAS_BITSCAN_WINDOWS + template + GLM_FUNC_QUALIFIER int compute_findMSB_32(genIUType Value) + { + unsigned long Result(0); + unsigned char IsNotNull = _BitScanReverse(&Result, *reinterpret_cast(&Value)); + return IsNotNull ? int(Result) : -1; + } + + template + struct compute_findMSB_vec + { + GLM_FUNC_QUALIFIER static vec call(vec const& x) + { + return detail::functor1::call(compute_findMSB_32, x); + } + }; + +# if !((GLM_COMPILER & GLM_COMPILER_VC) && (GLM_MODEL == GLM_MODEL_32)) + template + GLM_FUNC_QUALIFIER int compute_findMSB_64(genIUType Value) + { + unsigned long Result(0); + unsigned char IsNotNull = _BitScanReverse64(&Result, *reinterpret_cast(&Value)); + return IsNotNull ? int(Result) : -1; + } + + template + struct compute_findMSB_vec + { + GLM_FUNC_QUALIFIER static vec call(vec const& x) + { + return detail::functor1::call(compute_findMSB_64, x); + } + }; +# endif +# endif//GLM_HAS_BITSCAN_WINDOWS +}//namespace detail + + // uaddCarry + GLM_FUNC_QUALIFIER uint uaddCarry(uint const& x, uint const& y, uint & Carry) + { + detail::uint64 const Value64(static_cast(x) + static_cast(y)); + detail::uint64 const Max32((static_cast(1) << static_cast(32)) - static_cast(1)); + Carry = Value64 > Max32 ? 1u : 0u; + return static_cast(Value64 % (Max32 + static_cast(1))); + } + + template + GLM_FUNC_QUALIFIER vec uaddCarry(vec const& x, vec const& y, vec& Carry) + { + vec Value64(vec(x) + vec(y)); + vec Max32((static_cast(1) << static_cast(32)) - static_cast(1)); + Carry = mix(vec(0), vec(1), greaterThan(Value64, Max32)); + return vec(Value64 % (Max32 + static_cast(1))); + } + + // usubBorrow + GLM_FUNC_QUALIFIER uint usubBorrow(uint const& x, uint const& y, uint & Borrow) + { + Borrow = x >= y ? static_cast(0) : static_cast(1); + if(y >= x) + return y - x; + else + return static_cast((static_cast(1) << static_cast(32)) + (static_cast(y) - static_cast(x))); + } + + template + GLM_FUNC_QUALIFIER vec usubBorrow(vec const& x, vec const& y, vec& Borrow) + { + Borrow = mix(vec(1), vec(0), greaterThanEqual(x, y)); + vec const YgeX(y - x); + vec const XgeY(vec((static_cast(1) << static_cast(32)) + (vec(y) - vec(x)))); + return mix(XgeY, YgeX, greaterThanEqual(y, x)); + } + + // umulExtended + GLM_FUNC_QUALIFIER void umulExtended(uint const& x, uint const& y, uint & msb, uint & lsb) + { + detail::uint64 Value64 = static_cast(x) * static_cast(y); + msb = static_cast(Value64 >> static_cast(32)); + lsb = static_cast(Value64); + } + + template + GLM_FUNC_QUALIFIER void umulExtended(vec const& x, vec const& y, vec& msb, vec& lsb) + { + vec Value64(vec(x) * vec(y)); + msb = vec(Value64 >> static_cast(32)); + lsb = vec(Value64); + } + + // imulExtended + GLM_FUNC_QUALIFIER void imulExtended(int x, int y, int& msb, int& lsb) + { + detail::int64 Value64 = static_cast(x) * static_cast(y); + msb = static_cast(Value64 >> static_cast(32)); + lsb = static_cast(Value64); + } + + template + GLM_FUNC_QUALIFIER void imulExtended(vec const& x, vec const& y, vec& msb, vec& lsb) + { + vec Value64(vec(x) * vec(y)); + lsb = vec(Value64 & static_cast(0xFFFFFFFF)); + msb = vec((Value64 >> static_cast(32)) & static_cast(0xFFFFFFFF)); + } + + // bitfieldExtract + template + GLM_FUNC_QUALIFIER genIUType bitfieldExtract(genIUType Value, int Offset, int Bits) + { + return bitfieldExtract(vec<1, genIUType>(Value), Offset, Bits).x; + } + + template + GLM_FUNC_QUALIFIER vec bitfieldExtract(vec const& Value, int Offset, int Bits) + { + GLM_STATIC_ASSERT(std::numeric_limits::is_integer, "'bitfieldExtract' only accept integer inputs"); + + return (Value >> static_cast(Offset)) & static_cast(detail::mask(Bits)); + } + + // bitfieldInsert + template + GLM_FUNC_QUALIFIER genIUType bitfieldInsert(genIUType const& Base, genIUType const& Insert, int Offset, int Bits) + { + GLM_STATIC_ASSERT(std::numeric_limits::is_integer, "'bitfieldInsert' only accept integer values"); + + return bitfieldInsert(vec<1, genIUType>(Base), vec<1, genIUType>(Insert), Offset, Bits).x; + } + + template + GLM_FUNC_QUALIFIER vec bitfieldInsert(vec const& Base, vec const& Insert, int Offset, int Bits) + { + GLM_STATIC_ASSERT(std::numeric_limits::is_integer, "'bitfieldInsert' only accept integer values"); + + T const Mask = static_cast(detail::mask(Bits) << Offset); + return (Base & ~Mask) | ((Insert << static_cast(Offset)) & Mask); + } + + // bitfieldReverse + template + GLM_FUNC_QUALIFIER genIUType bitfieldReverse(genIUType x) + { + GLM_STATIC_ASSERT(std::numeric_limits::is_integer, "'bitfieldReverse' only accept integer values"); + + return bitfieldReverse(glm::vec<1, genIUType, glm::defaultp>(x)).x; + } + + template + GLM_FUNC_QUALIFIER vec bitfieldReverse(vec const& v) + { + GLM_STATIC_ASSERT(std::numeric_limits::is_integer, "'bitfieldReverse' only accept integer values"); + + vec x(v); + x = detail::compute_bitfieldReverseStep::value, sizeof(T) * 8>= 2>::call(x, static_cast(0x5555555555555555ull), static_cast( 1)); + x = detail::compute_bitfieldReverseStep::value, sizeof(T) * 8>= 4>::call(x, static_cast(0x3333333333333333ull), static_cast( 2)); + x = detail::compute_bitfieldReverseStep::value, sizeof(T) * 8>= 8>::call(x, static_cast(0x0F0F0F0F0F0F0F0Full), static_cast( 4)); + x = detail::compute_bitfieldReverseStep::value, sizeof(T) * 8>= 16>::call(x, static_cast(0x00FF00FF00FF00FFull), static_cast( 8)); + x = detail::compute_bitfieldReverseStep::value, sizeof(T) * 8>= 32>::call(x, static_cast(0x0000FFFF0000FFFFull), static_cast(16)); + x = detail::compute_bitfieldReverseStep::value, sizeof(T) * 8>= 64>::call(x, static_cast(0x00000000FFFFFFFFull), static_cast(32)); + return x; + } + + // bitCount + template + GLM_FUNC_QUALIFIER int bitCount(genIUType x) + { + GLM_STATIC_ASSERT(std::numeric_limits::is_integer, "'bitCount' only accept integer values"); + + return bitCount(glm::vec<1, genIUType, glm::defaultp>(x)).x; + } + + template + GLM_FUNC_QUALIFIER vec bitCount(vec const& v) + { + GLM_STATIC_ASSERT(std::numeric_limits::is_integer, "'bitCount' only accept integer values"); + +# if GLM_COMPILER & GLM_COMPILER_VC +# pragma warning(push) +# pragma warning(disable : 4310) //cast truncates constant value +# endif + + vec::type, Q> x(*reinterpret_cast::type, Q> const *>(&v)); + x = detail::compute_bitfieldBitCountStep::type, Q, detail::is_aligned::value, sizeof(T) * 8>= 2>::call(x, typename detail::make_unsigned::type(0x5555555555555555ull), typename detail::make_unsigned::type( 1)); + x = detail::compute_bitfieldBitCountStep::type, Q, detail::is_aligned::value, sizeof(T) * 8>= 4>::call(x, typename detail::make_unsigned::type(0x3333333333333333ull), typename detail::make_unsigned::type( 2)); + x = detail::compute_bitfieldBitCountStep::type, Q, detail::is_aligned::value, sizeof(T) * 8>= 8>::call(x, typename detail::make_unsigned::type(0x0F0F0F0F0F0F0F0Full), typename detail::make_unsigned::type( 4)); + x = detail::compute_bitfieldBitCountStep::type, Q, detail::is_aligned::value, sizeof(T) * 8>= 16>::call(x, typename detail::make_unsigned::type(0x00FF00FF00FF00FFull), typename detail::make_unsigned::type( 8)); + x = detail::compute_bitfieldBitCountStep::type, Q, detail::is_aligned::value, sizeof(T) * 8>= 32>::call(x, typename detail::make_unsigned::type(0x0000FFFF0000FFFFull), typename detail::make_unsigned::type(16)); + x = detail::compute_bitfieldBitCountStep::type, Q, detail::is_aligned::value, sizeof(T) * 8>= 64>::call(x, typename detail::make_unsigned::type(0x00000000FFFFFFFFull), typename detail::make_unsigned::type(32)); + return vec(x); + +# if GLM_COMPILER & GLM_COMPILER_VC +# pragma warning(pop) +# endif + } + + // findLSB + template + GLM_FUNC_QUALIFIER int findLSB(genIUType Value) + { + GLM_STATIC_ASSERT(std::numeric_limits::is_integer, "'findLSB' only accept integer values"); + + return detail::compute_findLSB::call(Value); + } + + template + GLM_FUNC_QUALIFIER vec findLSB(vec const& x) + { + GLM_STATIC_ASSERT(std::numeric_limits::is_integer, "'findLSB' only accept integer values"); + + return detail::functor1::call(findLSB, x); + } + + // findMSB + template + GLM_FUNC_QUALIFIER int findMSB(genIUType v) + { + GLM_STATIC_ASSERT(std::numeric_limits::is_integer, "'findMSB' only accept integer values"); + + return findMSB(vec<1, genIUType>(v)).x; + } + + template + GLM_FUNC_QUALIFIER vec findMSB(vec const& v) + { + GLM_STATIC_ASSERT(std::numeric_limits::is_integer, "'findMSB' only accept integer values"); + + return detail::compute_findMSB_vec::call(v); + } +}//namespace glm + +#if GLM_CONFIG_SIMD == GLM_ENABLE +# include "func_integer_simd.inl" +#endif + diff --git a/MacroLibX/third_party/glm/detail/func_integer_simd.inl b/MacroLibX/third_party/glm/detail/func_integer_simd.inl new file mode 100644 index 0000000..8be6c9c --- /dev/null +++ b/MacroLibX/third_party/glm/detail/func_integer_simd.inl @@ -0,0 +1,65 @@ +#include "../simd/integer.h" + +#if GLM_ARCH & GLM_ARCH_SSE2_BIT + +namespace glm{ +namespace detail +{ + template + struct compute_bitfieldReverseStep<4, uint, Q, true, true> + { + GLM_FUNC_QUALIFIER static vec<4, uint, Q> call(vec<4, uint, Q> const& v, uint Mask, uint Shift) + { + __m128i const set0 = v.data; + + __m128i const set1 = _mm_set1_epi32(static_cast(Mask)); + __m128i const and1 = _mm_and_si128(set0, set1); + __m128i const sft1 = _mm_slli_epi32(and1, Shift); + + __m128i const set2 = _mm_andnot_si128(set0, _mm_set1_epi32(-1)); + __m128i const and2 = _mm_and_si128(set0, set2); + __m128i const sft2 = _mm_srai_epi32(and2, Shift); + + __m128i const or0 = _mm_or_si128(sft1, sft2); + + return or0; + } + }; + + template + struct compute_bitfieldBitCountStep<4, uint, Q, true, true> + { + GLM_FUNC_QUALIFIER static vec<4, uint, Q> call(vec<4, uint, Q> const& v, uint Mask, uint Shift) + { + __m128i const set0 = v.data; + + __m128i const set1 = _mm_set1_epi32(static_cast(Mask)); + __m128i const and0 = _mm_and_si128(set0, set1); + __m128i const sft0 = _mm_slli_epi32(set0, Shift); + __m128i const and1 = _mm_and_si128(sft0, set1); + __m128i const add0 = _mm_add_epi32(and0, and1); + + return add0; + } + }; +}//namespace detail + +# if GLM_ARCH & GLM_ARCH_AVX_BIT + template<> + GLM_FUNC_QUALIFIER int bitCount(uint x) + { + return _mm_popcnt_u32(x); + } + +# if(GLM_MODEL == GLM_MODEL_64) + template<> + GLM_FUNC_QUALIFIER int bitCount(detail::uint64 x) + { + return static_cast(_mm_popcnt_u64(x)); + } +# endif//GLM_MODEL +# endif//GLM_ARCH + +}//namespace glm + +#endif//GLM_ARCH & GLM_ARCH_SSE2_BIT diff --git a/MacroLibX/third_party/glm/detail/func_matrix.inl b/MacroLibX/third_party/glm/detail/func_matrix.inl new file mode 100644 index 0000000..d980c6d --- /dev/null +++ b/MacroLibX/third_party/glm/detail/func_matrix.inl @@ -0,0 +1,398 @@ +#include "../geometric.hpp" +#include + +namespace glm{ +namespace detail +{ + template + struct compute_matrixCompMult + { + GLM_FUNC_QUALIFIER static mat call(mat const& x, mat const& y) + { + mat Result; + for(length_t i = 0; i < Result.length(); ++i) + Result[i] = x[i] * y[i]; + return Result; + } + }; + + template + struct compute_transpose{}; + + template + struct compute_transpose<2, 2, T, Q, Aligned> + { + GLM_FUNC_QUALIFIER static mat<2, 2, T, Q> call(mat<2, 2, T, Q> const& m) + { + mat<2, 2, T, Q> Result; + Result[0][0] = m[0][0]; + Result[0][1] = m[1][0]; + Result[1][0] = m[0][1]; + Result[1][1] = m[1][1]; + return Result; + } + }; + + template + struct compute_transpose<2, 3, T, Q, Aligned> + { + GLM_FUNC_QUALIFIER static mat<3, 2, T, Q> call(mat<2, 3, T, Q> const& m) + { + mat<3,2, T, Q> Result; + Result[0][0] = m[0][0]; + Result[0][1] = m[1][0]; + Result[1][0] = m[0][1]; + Result[1][1] = m[1][1]; + Result[2][0] = m[0][2]; + Result[2][1] = m[1][2]; + return Result; + } + }; + + template + struct compute_transpose<2, 4, T, Q, Aligned> + { + GLM_FUNC_QUALIFIER static mat<4, 2, T, Q> call(mat<2, 4, T, Q> const& m) + { + mat<4, 2, T, Q> Result; + Result[0][0] = m[0][0]; + Result[0][1] = m[1][0]; + Result[1][0] = m[0][1]; + Result[1][1] = m[1][1]; + Result[2][0] = m[0][2]; + Result[2][1] = m[1][2]; + Result[3][0] = m[0][3]; + Result[3][1] = m[1][3]; + return Result; + } + }; + + template + struct compute_transpose<3, 2, T, Q, Aligned> + { + GLM_FUNC_QUALIFIER static mat<2, 3, T, Q> call(mat<3, 2, T, Q> const& m) + { + mat<2, 3, T, Q> Result; + Result[0][0] = m[0][0]; + Result[0][1] = m[1][0]; + Result[0][2] = m[2][0]; + Result[1][0] = m[0][1]; + Result[1][1] = m[1][1]; + Result[1][2] = m[2][1]; + return Result; + } + }; + + template + struct compute_transpose<3, 3, T, Q, Aligned> + { + GLM_FUNC_QUALIFIER static mat<3, 3, T, Q> call(mat<3, 3, T, Q> const& m) + { + mat<3, 3, T, Q> Result; + Result[0][0] = m[0][0]; + Result[0][1] = m[1][0]; + Result[0][2] = m[2][0]; + + Result[1][0] = m[0][1]; + Result[1][1] = m[1][1]; + Result[1][2] = m[2][1]; + + Result[2][0] = m[0][2]; + Result[2][1] = m[1][2]; + Result[2][2] = m[2][2]; + return Result; + } + }; + + template + struct compute_transpose<3, 4, T, Q, Aligned> + { + GLM_FUNC_QUALIFIER static mat<4, 3, T, Q> call(mat<3, 4, T, Q> const& m) + { + mat<4, 3, T, Q> Result; + Result[0][0] = m[0][0]; + Result[0][1] = m[1][0]; + Result[0][2] = m[2][0]; + Result[1][0] = m[0][1]; + Result[1][1] = m[1][1]; + Result[1][2] = m[2][1]; + Result[2][0] = m[0][2]; + Result[2][1] = m[1][2]; + Result[2][2] = m[2][2]; + Result[3][0] = m[0][3]; + Result[3][1] = m[1][3]; + Result[3][2] = m[2][3]; + return Result; + } + }; + + template + struct compute_transpose<4, 2, T, Q, Aligned> + { + GLM_FUNC_QUALIFIER static mat<2, 4, T, Q> call(mat<4, 2, T, Q> const& m) + { + mat<2, 4, T, Q> Result; + Result[0][0] = m[0][0]; + Result[0][1] = m[1][0]; + Result[0][2] = m[2][0]; + Result[0][3] = m[3][0]; + Result[1][0] = m[0][1]; + Result[1][1] = m[1][1]; + Result[1][2] = m[2][1]; + Result[1][3] = m[3][1]; + return Result; + } + }; + + template + struct compute_transpose<4, 3, T, Q, Aligned> + { + GLM_FUNC_QUALIFIER static mat<3, 4, T, Q> call(mat<4, 3, T, Q> const& m) + { + mat<3, 4, T, Q> Result; + Result[0][0] = m[0][0]; + Result[0][1] = m[1][0]; + Result[0][2] = m[2][0]; + Result[0][3] = m[3][0]; + Result[1][0] = m[0][1]; + Result[1][1] = m[1][1]; + Result[1][2] = m[2][1]; + Result[1][3] = m[3][1]; + Result[2][0] = m[0][2]; + Result[2][1] = m[1][2]; + Result[2][2] = m[2][2]; + Result[2][3] = m[3][2]; + return Result; + } + }; + + template + struct compute_transpose<4, 4, T, Q, Aligned> + { + GLM_FUNC_QUALIFIER static mat<4, 4, T, Q> call(mat<4, 4, T, Q> const& m) + { + mat<4, 4, T, Q> Result; + Result[0][0] = m[0][0]; + Result[0][1] = m[1][0]; + Result[0][2] = m[2][0]; + Result[0][3] = m[3][0]; + + Result[1][0] = m[0][1]; + Result[1][1] = m[1][1]; + Result[1][2] = m[2][1]; + Result[1][3] = m[3][1]; + + Result[2][0] = m[0][2]; + Result[2][1] = m[1][2]; + Result[2][2] = m[2][2]; + Result[2][3] = m[3][2]; + + Result[3][0] = m[0][3]; + Result[3][1] = m[1][3]; + Result[3][2] = m[2][3]; + Result[3][3] = m[3][3]; + return Result; + } + }; + + template + struct compute_determinant{}; + + template + struct compute_determinant<2, 2, T, Q, Aligned> + { + GLM_FUNC_QUALIFIER static T call(mat<2, 2, T, Q> const& m) + { + return m[0][0] * m[1][1] - m[1][0] * m[0][1]; + } + }; + + template + struct compute_determinant<3, 3, T, Q, Aligned> + { + GLM_FUNC_QUALIFIER static T call(mat<3, 3, T, Q> const& m) + { + return + + m[0][0] * (m[1][1] * m[2][2] - m[2][1] * m[1][2]) + - m[1][0] * (m[0][1] * m[2][2] - m[2][1] * m[0][2]) + + m[2][0] * (m[0][1] * m[1][2] - m[1][1] * m[0][2]); + } + }; + + template + struct compute_determinant<4, 4, T, Q, Aligned> + { + GLM_FUNC_QUALIFIER static T call(mat<4, 4, T, Q> const& m) + { + T SubFactor00 = m[2][2] * m[3][3] - m[3][2] * m[2][3]; + T SubFactor01 = m[2][1] * m[3][3] - m[3][1] * m[2][3]; + T SubFactor02 = m[2][1] * m[3][2] - m[3][1] * m[2][2]; + T SubFactor03 = m[2][0] * m[3][3] - m[3][0] * m[2][3]; + T SubFactor04 = m[2][0] * m[3][2] - m[3][0] * m[2][2]; + T SubFactor05 = m[2][0] * m[3][1] - m[3][0] * m[2][1]; + + vec<4, T, Q> DetCof( + + (m[1][1] * SubFactor00 - m[1][2] * SubFactor01 + m[1][3] * SubFactor02), + - (m[1][0] * SubFactor00 - m[1][2] * SubFactor03 + m[1][3] * SubFactor04), + + (m[1][0] * SubFactor01 - m[1][1] * SubFactor03 + m[1][3] * SubFactor05), + - (m[1][0] * SubFactor02 - m[1][1] * SubFactor04 + m[1][2] * SubFactor05)); + + return + m[0][0] * DetCof[0] + m[0][1] * DetCof[1] + + m[0][2] * DetCof[2] + m[0][3] * DetCof[3]; + } + }; + + template + struct compute_inverse{}; + + template + struct compute_inverse<2, 2, T, Q, Aligned> + { + GLM_FUNC_QUALIFIER static mat<2, 2, T, Q> call(mat<2, 2, T, Q> const& m) + { + T OneOverDeterminant = static_cast(1) / ( + + m[0][0] * m[1][1] + - m[1][0] * m[0][1]); + + mat<2, 2, T, Q> Inverse( + + m[1][1] * OneOverDeterminant, + - m[0][1] * OneOverDeterminant, + - m[1][0] * OneOverDeterminant, + + m[0][0] * OneOverDeterminant); + + return Inverse; + } + }; + + template + struct compute_inverse<3, 3, T, Q, Aligned> + { + GLM_FUNC_QUALIFIER static mat<3, 3, T, Q> call(mat<3, 3, T, Q> const& m) + { + T OneOverDeterminant = static_cast(1) / ( + + m[0][0] * (m[1][1] * m[2][2] - m[2][1] * m[1][2]) + - m[1][0] * (m[0][1] * m[2][2] - m[2][1] * m[0][2]) + + m[2][0] * (m[0][1] * m[1][2] - m[1][1] * m[0][2])); + + mat<3, 3, T, Q> Inverse; + Inverse[0][0] = + (m[1][1] * m[2][2] - m[2][1] * m[1][2]) * OneOverDeterminant; + Inverse[1][0] = - (m[1][0] * m[2][2] - m[2][0] * m[1][2]) * OneOverDeterminant; + Inverse[2][0] = + (m[1][0] * m[2][1] - m[2][0] * m[1][1]) * OneOverDeterminant; + Inverse[0][1] = - (m[0][1] * m[2][2] - m[2][1] * m[0][2]) * OneOverDeterminant; + Inverse[1][1] = + (m[0][0] * m[2][2] - m[2][0] * m[0][2]) * OneOverDeterminant; + Inverse[2][1] = - (m[0][0] * m[2][1] - m[2][0] * m[0][1]) * OneOverDeterminant; + Inverse[0][2] = + (m[0][1] * m[1][2] - m[1][1] * m[0][2]) * OneOverDeterminant; + Inverse[1][2] = - (m[0][0] * m[1][2] - m[1][0] * m[0][2]) * OneOverDeterminant; + Inverse[2][2] = + (m[0][0] * m[1][1] - m[1][0] * m[0][1]) * OneOverDeterminant; + + return Inverse; + } + }; + + template + struct compute_inverse<4, 4, T, Q, Aligned> + { + GLM_FUNC_QUALIFIER static mat<4, 4, T, Q> call(mat<4, 4, T, Q> const& m) + { + T Coef00 = m[2][2] * m[3][3] - m[3][2] * m[2][3]; + T Coef02 = m[1][2] * m[3][3] - m[3][2] * m[1][3]; + T Coef03 = m[1][2] * m[2][3] - m[2][2] * m[1][3]; + + T Coef04 = m[2][1] * m[3][3] - m[3][1] * m[2][3]; + T Coef06 = m[1][1] * m[3][3] - m[3][1] * m[1][3]; + T Coef07 = m[1][1] * m[2][3] - m[2][1] * m[1][3]; + + T Coef08 = m[2][1] * m[3][2] - m[3][1] * m[2][2]; + T Coef10 = m[1][1] * m[3][2] - m[3][1] * m[1][2]; + T Coef11 = m[1][1] * m[2][2] - m[2][1] * m[1][2]; + + T Coef12 = m[2][0] * m[3][3] - m[3][0] * m[2][3]; + T Coef14 = m[1][0] * m[3][3] - m[3][0] * m[1][3]; + T Coef15 = m[1][0] * m[2][3] - m[2][0] * m[1][3]; + + T Coef16 = m[2][0] * m[3][2] - m[3][0] * m[2][2]; + T Coef18 = m[1][0] * m[3][2] - m[3][0] * m[1][2]; + T Coef19 = m[1][0] * m[2][2] - m[2][0] * m[1][2]; + + T Coef20 = m[2][0] * m[3][1] - m[3][0] * m[2][1]; + T Coef22 = m[1][0] * m[3][1] - m[3][0] * m[1][1]; + T Coef23 = m[1][0] * m[2][1] - m[2][0] * m[1][1]; + + vec<4, T, Q> Fac0(Coef00, Coef00, Coef02, Coef03); + vec<4, T, Q> Fac1(Coef04, Coef04, Coef06, Coef07); + vec<4, T, Q> Fac2(Coef08, Coef08, Coef10, Coef11); + vec<4, T, Q> Fac3(Coef12, Coef12, Coef14, Coef15); + vec<4, T, Q> Fac4(Coef16, Coef16, Coef18, Coef19); + vec<4, T, Q> Fac5(Coef20, Coef20, Coef22, Coef23); + + vec<4, T, Q> Vec0(m[1][0], m[0][0], m[0][0], m[0][0]); + vec<4, T, Q> Vec1(m[1][1], m[0][1], m[0][1], m[0][1]); + vec<4, T, Q> Vec2(m[1][2], m[0][2], m[0][2], m[0][2]); + vec<4, T, Q> Vec3(m[1][3], m[0][3], m[0][3], m[0][3]); + + vec<4, T, Q> Inv0(Vec1 * Fac0 - Vec2 * Fac1 + Vec3 * Fac2); + vec<4, T, Q> Inv1(Vec0 * Fac0 - Vec2 * Fac3 + Vec3 * Fac4); + vec<4, T, Q> Inv2(Vec0 * Fac1 - Vec1 * Fac3 + Vec3 * Fac5); + vec<4, T, Q> Inv3(Vec0 * Fac2 - Vec1 * Fac4 + Vec2 * Fac5); + + vec<4, T, Q> SignA(+1, -1, +1, -1); + vec<4, T, Q> SignB(-1, +1, -1, +1); + mat<4, 4, T, Q> Inverse(Inv0 * SignA, Inv1 * SignB, Inv2 * SignA, Inv3 * SignB); + + vec<4, T, Q> Row0(Inverse[0][0], Inverse[1][0], Inverse[2][0], Inverse[3][0]); + + vec<4, T, Q> Dot0(m[0] * Row0); + T Dot1 = (Dot0.x + Dot0.y) + (Dot0.z + Dot0.w); + + T OneOverDeterminant = static_cast(1) / Dot1; + + return Inverse * OneOverDeterminant; + } + }; +}//namespace detail + + template + GLM_FUNC_QUALIFIER mat matrixCompMult(mat const& x, mat const& y) + { + GLM_STATIC_ASSERT(std::numeric_limits::is_iec559 || GLM_CONFIG_UNRESTRICTED_GENTYPE, "'matrixCompMult' only accept floating-point inputs"); + return detail::compute_matrixCompMult::value>::call(x, y); + } + + template + GLM_FUNC_QUALIFIER typename detail::outerProduct_trait::type outerProduct(vec const& c, vec const& r) + { + GLM_STATIC_ASSERT(std::numeric_limits::is_iec559 || GLM_CONFIG_UNRESTRICTED_GENTYPE, "'outerProduct' only accept floating-point inputs"); + + typename detail::outerProduct_trait::type m; + for(length_t i = 0; i < m.length(); ++i) + m[i] = c * r[i]; + return m; + } + + template + GLM_FUNC_QUALIFIER typename mat::transpose_type transpose(mat const& m) + { + GLM_STATIC_ASSERT(std::numeric_limits::is_iec559 || GLM_CONFIG_UNRESTRICTED_GENTYPE, "'transpose' only accept floating-point inputs"); + return detail::compute_transpose::value>::call(m); + } + + template + GLM_FUNC_QUALIFIER T determinant(mat const& m) + { + GLM_STATIC_ASSERT(std::numeric_limits::is_iec559 || GLM_CONFIG_UNRESTRICTED_GENTYPE, "'determinant' only accept floating-point inputs"); + return detail::compute_determinant::value>::call(m); + } + + template + GLM_FUNC_QUALIFIER mat inverse(mat const& m) + { + GLM_STATIC_ASSERT(std::numeric_limits::is_iec559 || GLM_CONFIG_UNRESTRICTED_GENTYPE, "'inverse' only accept floating-point inputs"); + return detail::compute_inverse::value>::call(m); + } +}//namespace glm + +#if GLM_CONFIG_SIMD == GLM_ENABLE +# include "func_matrix_simd.inl" +#endif + diff --git a/MacroLibX/third_party/glm/detail/func_matrix_simd.inl b/MacroLibX/third_party/glm/detail/func_matrix_simd.inl new file mode 100644 index 0000000..f67ac66 --- /dev/null +++ b/MacroLibX/third_party/glm/detail/func_matrix_simd.inl @@ -0,0 +1,249 @@ +#if GLM_ARCH & GLM_ARCH_SSE2_BIT + +#include "type_mat4x4.hpp" +#include "../geometric.hpp" +#include "../simd/matrix.h" +#include + +namespace glm{ +namespace detail +{ +# if GLM_CONFIG_ALIGNED_GENTYPES == GLM_ENABLE + template + struct compute_matrixCompMult<4, 4, float, Q, true> + { + GLM_STATIC_ASSERT(detail::is_aligned::value, "Specialization requires aligned"); + + GLM_FUNC_QUALIFIER static mat<4, 4, float, Q> call(mat<4, 4, float, Q> const& x, mat<4, 4, float, Q> const& y) + { + mat<4, 4, float, Q> Result; + glm_mat4_matrixCompMult( + *static_cast(&x[0].data), + *static_cast(&y[0].data), + *static_cast(&Result[0].data)); + return Result; + } + }; +# endif + + template + struct compute_transpose<4, 4, float, Q, true> + { + GLM_FUNC_QUALIFIER static mat<4, 4, float, Q> call(mat<4, 4, float, Q> const& m) + { + mat<4, 4, float, Q> Result; + glm_mat4_transpose(&m[0].data, &Result[0].data); + return Result; + } + }; + + template + struct compute_determinant<4, 4, float, Q, true> + { + GLM_FUNC_QUALIFIER static float call(mat<4, 4, float, Q> const& m) + { + return _mm_cvtss_f32(glm_mat4_determinant(&m[0].data)); + } + }; + + template + struct compute_inverse<4, 4, float, Q, true> + { + GLM_FUNC_QUALIFIER static mat<4, 4, float, Q> call(mat<4, 4, float, Q> const& m) + { + mat<4, 4, float, Q> Result; + glm_mat4_inverse(&m[0].data, &Result[0].data); + return Result; + } + }; +}//namespace detail + +# if GLM_CONFIG_ALIGNED_GENTYPES == GLM_ENABLE + template<> + GLM_FUNC_QUALIFIER mat<4, 4, float, aligned_lowp> outerProduct<4, 4, float, aligned_lowp>(vec<4, float, aligned_lowp> const& c, vec<4, float, aligned_lowp> const& r) + { + __m128 NativeResult[4]; + glm_mat4_outerProduct(c.data, r.data, NativeResult); + mat<4, 4, float, aligned_lowp> Result; + std::memcpy(&Result[0], &NativeResult[0], sizeof(Result)); + return Result; + } + + template<> + GLM_FUNC_QUALIFIER mat<4, 4, float, aligned_mediump> outerProduct<4, 4, float, aligned_mediump>(vec<4, float, aligned_mediump> const& c, vec<4, float, aligned_mediump> const& r) + { + __m128 NativeResult[4]; + glm_mat4_outerProduct(c.data, r.data, NativeResult); + mat<4, 4, float, aligned_mediump> Result; + std::memcpy(&Result[0], &NativeResult[0], sizeof(Result)); + return Result; + } + + template<> + GLM_FUNC_QUALIFIER mat<4, 4, float, aligned_highp> outerProduct<4, 4, float, aligned_highp>(vec<4, float, aligned_highp> const& c, vec<4, float, aligned_highp> const& r) + { + __m128 NativeResult[4]; + glm_mat4_outerProduct(c.data, r.data, NativeResult); + mat<4, 4, float, aligned_highp> Result; + std::memcpy(&Result[0], &NativeResult[0], sizeof(Result)); + return Result; + } +# endif +}//namespace glm + +#elif GLM_ARCH & GLM_ARCH_NEON_BIT + +namespace glm { +#if GLM_LANG & GLM_LANG_CXX11_FLAG + template + GLM_FUNC_QUALIFIER + typename std::enable_if::value, mat<4, 4, float, Q>>::type + operator*(mat<4, 4, float, Q> const & m1, mat<4, 4, float, Q> const & m2) + { + auto MulRow = [&](int l) { + float32x4_t const SrcA = m2[l].data; + + float32x4_t r = neon::mul_lane(m1[0].data, SrcA, 0); + r = neon::madd_lane(r, m1[1].data, SrcA, 1); + r = neon::madd_lane(r, m1[2].data, SrcA, 2); + r = neon::madd_lane(r, m1[3].data, SrcA, 3); + + return r; + }; + + mat<4, 4, float, aligned_highp> Result; + Result[0].data = MulRow(0); + Result[1].data = MulRow(1); + Result[2].data = MulRow(2); + Result[3].data = MulRow(3); + + return Result; + } +#endif // CXX11 + + template + struct detail::compute_inverse<4, 4, float, Q, true> + { + GLM_FUNC_QUALIFIER static mat<4, 4, float, Q> call(mat<4, 4, float, Q> const& m) + { + float32x4_t const& m0 = m[0].data; + float32x4_t const& m1 = m[1].data; + float32x4_t const& m2 = m[2].data; + float32x4_t const& m3 = m[3].data; + + // m[2][2] * m[3][3] - m[3][2] * m[2][3]; + // m[2][2] * m[3][3] - m[3][2] * m[2][3]; + // m[1][2] * m[3][3] - m[3][2] * m[1][3]; + // m[1][2] * m[2][3] - m[2][2] * m[1][3]; + + float32x4_t Fac0; + { + float32x4_t w0 = vcombine_f32(neon::dup_lane(m2, 2), neon::dup_lane(m1, 2)); + float32x4_t w1 = neon::copy_lane(neon::dupq_lane(m3, 3), 3, m2, 3); + float32x4_t w2 = neon::copy_lane(neon::dupq_lane(m3, 2), 3, m2, 2); + float32x4_t w3 = vcombine_f32(neon::dup_lane(m2, 3), neon::dup_lane(m1, 3)); + Fac0 = w0 * w1 - w2 * w3; + } + + // m[2][1] * m[3][3] - m[3][1] * m[2][3]; + // m[2][1] * m[3][3] - m[3][1] * m[2][3]; + // m[1][1] * m[3][3] - m[3][1] * m[1][3]; + // m[1][1] * m[2][3] - m[2][1] * m[1][3]; + + float32x4_t Fac1; + { + float32x4_t w0 = vcombine_f32(neon::dup_lane(m2, 1), neon::dup_lane(m1, 1)); + float32x4_t w1 = neon::copy_lane(neon::dupq_lane(m3, 3), 3, m2, 3); + float32x4_t w2 = neon::copy_lane(neon::dupq_lane(m3, 1), 3, m2, 1); + float32x4_t w3 = vcombine_f32(neon::dup_lane(m2, 3), neon::dup_lane(m1, 3)); + Fac1 = w0 * w1 - w2 * w3; + } + + // m[2][1] * m[3][2] - m[3][1] * m[2][2]; + // m[2][1] * m[3][2] - m[3][1] * m[2][2]; + // m[1][1] * m[3][2] - m[3][1] * m[1][2]; + // m[1][1] * m[2][2] - m[2][1] * m[1][2]; + + float32x4_t Fac2; + { + float32x4_t w0 = vcombine_f32(neon::dup_lane(m2, 1), neon::dup_lane(m1, 1)); + float32x4_t w1 = neon::copy_lane(neon::dupq_lane(m3, 2), 3, m2, 2); + float32x4_t w2 = neon::copy_lane(neon::dupq_lane(m3, 1), 3, m2, 1); + float32x4_t w3 = vcombine_f32(neon::dup_lane(m2, 2), neon::dup_lane(m1, 2)); + Fac2 = w0 * w1 - w2 * w3; + } + + // m[2][0] * m[3][3] - m[3][0] * m[2][3]; + // m[2][0] * m[3][3] - m[3][0] * m[2][3]; + // m[1][0] * m[3][3] - m[3][0] * m[1][3]; + // m[1][0] * m[2][3] - m[2][0] * m[1][3]; + + float32x4_t Fac3; + { + float32x4_t w0 = vcombine_f32(neon::dup_lane(m2, 0), neon::dup_lane(m1, 0)); + float32x4_t w1 = neon::copy_lane(neon::dupq_lane(m3, 3), 3, m2, 3); + float32x4_t w2 = neon::copy_lane(neon::dupq_lane(m3, 0), 3, m2, 0); + float32x4_t w3 = vcombine_f32(neon::dup_lane(m2, 3), neon::dup_lane(m1, 3)); + Fac3 = w0 * w1 - w2 * w3; + } + + // m[2][0] * m[3][2] - m[3][0] * m[2][2]; + // m[2][0] * m[3][2] - m[3][0] * m[2][2]; + // m[1][0] * m[3][2] - m[3][0] * m[1][2]; + // m[1][0] * m[2][2] - m[2][0] * m[1][2]; + + float32x4_t Fac4; + { + float32x4_t w0 = vcombine_f32(neon::dup_lane(m2, 0), neon::dup_lane(m1, 0)); + float32x4_t w1 = neon::copy_lane(neon::dupq_lane(m3, 2), 3, m2, 2); + float32x4_t w2 = neon::copy_lane(neon::dupq_lane(m3, 0), 3, m2, 0); + float32x4_t w3 = vcombine_f32(neon::dup_lane(m2, 2), neon::dup_lane(m1, 2)); + Fac4 = w0 * w1 - w2 * w3; + } + + // m[2][0] * m[3][1] - m[3][0] * m[2][1]; + // m[2][0] * m[3][1] - m[3][0] * m[2][1]; + // m[1][0] * m[3][1] - m[3][0] * m[1][1]; + // m[1][0] * m[2][1] - m[2][0] * m[1][1]; + + float32x4_t Fac5; + { + float32x4_t w0 = vcombine_f32(neon::dup_lane(m2, 0), neon::dup_lane(m1, 0)); + float32x4_t w1 = neon::copy_lane(neon::dupq_lane(m3, 1), 3, m2, 1); + float32x4_t w2 = neon::copy_lane(neon::dupq_lane(m3, 0), 3, m2, 0); + float32x4_t w3 = vcombine_f32(neon::dup_lane(m2, 1), neon::dup_lane(m1, 1)); + Fac5 = w0 * w1 - w2 * w3; + } + + float32x4_t Vec0 = neon::copy_lane(neon::dupq_lane(m0, 0), 0, m1, 0); // (m[1][0], m[0][0], m[0][0], m[0][0]); + float32x4_t Vec1 = neon::copy_lane(neon::dupq_lane(m0, 1), 0, m1, 1); // (m[1][1], m[0][1], m[0][1], m[0][1]); + float32x4_t Vec2 = neon::copy_lane(neon::dupq_lane(m0, 2), 0, m1, 2); // (m[1][2], m[0][2], m[0][2], m[0][2]); + float32x4_t Vec3 = neon::copy_lane(neon::dupq_lane(m0, 3), 0, m1, 3); // (m[1][3], m[0][3], m[0][3], m[0][3]); + + float32x4_t Inv0 = Vec1 * Fac0 - Vec2 * Fac1 + Vec3 * Fac2; + float32x4_t Inv1 = Vec0 * Fac0 - Vec2 * Fac3 + Vec3 * Fac4; + float32x4_t Inv2 = Vec0 * Fac1 - Vec1 * Fac3 + Vec3 * Fac5; + float32x4_t Inv3 = Vec0 * Fac2 - Vec1 * Fac4 + Vec2 * Fac5; + + float32x4_t r0 = float32x4_t{-1, +1, -1, +1} * Inv0; + float32x4_t r1 = float32x4_t{+1, -1, +1, -1} * Inv1; + float32x4_t r2 = float32x4_t{-1, +1, -1, +1} * Inv2; + float32x4_t r3 = float32x4_t{+1, -1, +1, -1} * Inv3; + + float32x4_t det = neon::mul_lane(r0, m0, 0); + det = neon::madd_lane(det, r1, m0, 1); + det = neon::madd_lane(det, r2, m0, 2); + det = neon::madd_lane(det, r3, m0, 3); + + float32x4_t rdet = vdupq_n_f32(1 / vgetq_lane_f32(det, 0)); + + mat<4, 4, float, Q> r; + r[0].data = vmulq_f32(r0, rdet); + r[1].data = vmulq_f32(r1, rdet); + r[2].data = vmulq_f32(r2, rdet); + r[3].data = vmulq_f32(r3, rdet); + return r; + } + }; +}//namespace glm +#endif diff --git a/MacroLibX/third_party/glm/detail/func_packing.inl b/MacroLibX/third_party/glm/detail/func_packing.inl new file mode 100644 index 0000000..234b093 --- /dev/null +++ b/MacroLibX/third_party/glm/detail/func_packing.inl @@ -0,0 +1,189 @@ +/// @ref core +/// @file glm/detail/func_packing.inl + +#include "../common.hpp" +#include "type_half.hpp" + +namespace glm +{ + GLM_FUNC_QUALIFIER uint packUnorm2x16(vec2 const& v) + { + union + { + unsigned short in[2]; + uint out; + } u; + + vec<2, unsigned short, defaultp> result(round(clamp(v, 0.0f, 1.0f) * 65535.0f)); + + u.in[0] = result[0]; + u.in[1] = result[1]; + + return u.out; + } + + GLM_FUNC_QUALIFIER vec2 unpackUnorm2x16(uint p) + { + union + { + uint in; + unsigned short out[2]; + } u; + + u.in = p; + + return vec2(u.out[0], u.out[1]) * 1.5259021896696421759365224689097e-5f; + } + + GLM_FUNC_QUALIFIER uint packSnorm2x16(vec2 const& v) + { + union + { + signed short in[2]; + uint out; + } u; + + vec<2, short, defaultp> result(round(clamp(v, -1.0f, 1.0f) * 32767.0f)); + + u.in[0] = result[0]; + u.in[1] = result[1]; + + return u.out; + } + + GLM_FUNC_QUALIFIER vec2 unpackSnorm2x16(uint p) + { + union + { + uint in; + signed short out[2]; + } u; + + u.in = p; + + return clamp(vec2(u.out[0], u.out[1]) * 3.0518509475997192297128208258309e-5f, -1.0f, 1.0f); + } + + GLM_FUNC_QUALIFIER uint packUnorm4x8(vec4 const& v) + { + union + { + unsigned char in[4]; + uint out; + } u; + + vec<4, unsigned char, defaultp> result(round(clamp(v, 0.0f, 1.0f) * 255.0f)); + + u.in[0] = result[0]; + u.in[1] = result[1]; + u.in[2] = result[2]; + u.in[3] = result[3]; + + return u.out; + } + + GLM_FUNC_QUALIFIER vec4 unpackUnorm4x8(uint p) + { + union + { + uint in; + unsigned char out[4]; + } u; + + u.in = p; + + return vec4(u.out[0], u.out[1], u.out[2], u.out[3]) * 0.0039215686274509803921568627451f; + } + + GLM_FUNC_QUALIFIER uint packSnorm4x8(vec4 const& v) + { + union + { + signed char in[4]; + uint out; + } u; + + vec<4, signed char, defaultp> result(round(clamp(v, -1.0f, 1.0f) * 127.0f)); + + u.in[0] = result[0]; + u.in[1] = result[1]; + u.in[2] = result[2]; + u.in[3] = result[3]; + + return u.out; + } + + GLM_FUNC_QUALIFIER glm::vec4 unpackSnorm4x8(uint p) + { + union + { + uint in; + signed char out[4]; + } u; + + u.in = p; + + return clamp(vec4(u.out[0], u.out[1], u.out[2], u.out[3]) * 0.0078740157480315f, -1.0f, 1.0f); + } + + GLM_FUNC_QUALIFIER double packDouble2x32(uvec2 const& v) + { + union + { + uint in[2]; + double out; + } u; + + u.in[0] = v[0]; + u.in[1] = v[1]; + + return u.out; + } + + GLM_FUNC_QUALIFIER uvec2 unpackDouble2x32(double v) + { + union + { + double in; + uint out[2]; + } u; + + u.in = v; + + return uvec2(u.out[0], u.out[1]); + } + + GLM_FUNC_QUALIFIER uint packHalf2x16(vec2 const& v) + { + union + { + signed short in[2]; + uint out; + } u; + + u.in[0] = detail::toFloat16(v.x); + u.in[1] = detail::toFloat16(v.y); + + return u.out; + } + + GLM_FUNC_QUALIFIER vec2 unpackHalf2x16(uint v) + { + union + { + uint in; + signed short out[2]; + } u; + + u.in = v; + + return vec2( + detail::toFloat32(u.out[0]), + detail::toFloat32(u.out[1])); + } +}//namespace glm + +#if GLM_CONFIG_SIMD == GLM_ENABLE +# include "func_packing_simd.inl" +#endif + diff --git a/MacroLibX/third_party/glm/detail/func_packing_simd.inl b/MacroLibX/third_party/glm/detail/func_packing_simd.inl new file mode 100644 index 0000000..fd0fe8b --- /dev/null +++ b/MacroLibX/third_party/glm/detail/func_packing_simd.inl @@ -0,0 +1,6 @@ +namespace glm{ +namespace detail +{ + +}//namespace detail +}//namespace glm diff --git a/MacroLibX/third_party/glm/detail/func_trigonometric.inl b/MacroLibX/third_party/glm/detail/func_trigonometric.inl new file mode 100644 index 0000000..e129dce --- /dev/null +++ b/MacroLibX/third_party/glm/detail/func_trigonometric.inl @@ -0,0 +1,197 @@ +#include "_vectorize.hpp" +#include +#include + +namespace glm +{ + // radians + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR genType radians(genType degrees) + { + GLM_STATIC_ASSERT(std::numeric_limits::is_iec559, "'radians' only accept floating-point input"); + + return degrees * static_cast(0.01745329251994329576923690768489); + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec radians(vec const& v) + { + return detail::functor1::call(radians, v); + } + + // degrees + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR genType degrees(genType radians) + { + GLM_STATIC_ASSERT(std::numeric_limits::is_iec559, "'degrees' only accept floating-point input"); + + return radians * static_cast(57.295779513082320876798154814105); + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec degrees(vec const& v) + { + return detail::functor1::call(degrees, v); + } + + // sin + using ::std::sin; + + template + GLM_FUNC_QUALIFIER vec sin(vec const& v) + { + return detail::functor1::call(sin, v); + } + + // cos + using std::cos; + + template + GLM_FUNC_QUALIFIER vec cos(vec const& v) + { + return detail::functor1::call(cos, v); + } + + // tan + using std::tan; + + template + GLM_FUNC_QUALIFIER vec tan(vec const& v) + { + return detail::functor1::call(tan, v); + } + + // asin + using std::asin; + + template + GLM_FUNC_QUALIFIER vec asin(vec const& v) + { + return detail::functor1::call(asin, v); + } + + // acos + using std::acos; + + template + GLM_FUNC_QUALIFIER vec acos(vec const& v) + { + return detail::functor1::call(acos, v); + } + + // atan + template + GLM_FUNC_QUALIFIER genType atan(genType y, genType x) + { + GLM_STATIC_ASSERT(std::numeric_limits::is_iec559, "'atan' only accept floating-point input"); + + return ::std::atan2(y, x); + } + + template + GLM_FUNC_QUALIFIER vec atan(vec const& a, vec const& b) + { + return detail::functor2::call(::std::atan2, a, b); + } + + using std::atan; + + template + GLM_FUNC_QUALIFIER vec atan(vec const& v) + { + return detail::functor1::call(atan, v); + } + + // sinh + using std::sinh; + + template + GLM_FUNC_QUALIFIER vec sinh(vec const& v) + { + return detail::functor1::call(sinh, v); + } + + // cosh + using std::cosh; + + template + GLM_FUNC_QUALIFIER vec cosh(vec const& v) + { + return detail::functor1::call(cosh, v); + } + + // tanh + using std::tanh; + + template + GLM_FUNC_QUALIFIER vec tanh(vec const& v) + { + return detail::functor1::call(tanh, v); + } + + // asinh +# if GLM_HAS_CXX11_STL + using std::asinh; +# else + template + GLM_FUNC_QUALIFIER genType asinh(genType x) + { + GLM_STATIC_ASSERT(std::numeric_limits::is_iec559, "'asinh' only accept floating-point input"); + + return (x < static_cast(0) ? static_cast(-1) : (x > static_cast(0) ? static_cast(1) : static_cast(0))) * log(std::abs(x) + sqrt(static_cast(1) + x * x)); + } +# endif + + template + GLM_FUNC_QUALIFIER vec asinh(vec const& v) + { + return detail::functor1::call(asinh, v); + } + + // acosh +# if GLM_HAS_CXX11_STL + using std::acosh; +# else + template + GLM_FUNC_QUALIFIER genType acosh(genType x) + { + GLM_STATIC_ASSERT(std::numeric_limits::is_iec559, "'acosh' only accept floating-point input"); + + if(x < static_cast(1)) + return static_cast(0); + return log(x + sqrt(x * x - static_cast(1))); + } +# endif + + template + GLM_FUNC_QUALIFIER vec acosh(vec const& v) + { + return detail::functor1::call(acosh, v); + } + + // atanh +# if GLM_HAS_CXX11_STL + using std::atanh; +# else + template + GLM_FUNC_QUALIFIER genType atanh(genType x) + { + GLM_STATIC_ASSERT(std::numeric_limits::is_iec559, "'atanh' only accept floating-point input"); + + if(std::abs(x) >= static_cast(1)) + return 0; + return static_cast(0.5) * log((static_cast(1) + x) / (static_cast(1) - x)); + } +# endif + + template + GLM_FUNC_QUALIFIER vec atanh(vec const& v) + { + return detail::functor1::call(atanh, v); + } +}//namespace glm + +#if GLM_CONFIG_SIMD == GLM_ENABLE +# include "func_trigonometric_simd.inl" +#endif + diff --git a/MacroLibX/third_party/glm/detail/func_trigonometric_simd.inl b/MacroLibX/third_party/glm/detail/func_trigonometric_simd.inl new file mode 100644 index 0000000..e69de29 diff --git a/MacroLibX/third_party/glm/detail/func_vector_relational.inl b/MacroLibX/third_party/glm/detail/func_vector_relational.inl new file mode 100644 index 0000000..80c9e87 --- /dev/null +++ b/MacroLibX/third_party/glm/detail/func_vector_relational.inl @@ -0,0 +1,87 @@ +namespace glm +{ + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec lessThan(vec const& x, vec const& y) + { + vec Result(true); + for(length_t i = 0; i < L; ++i) + Result[i] = x[i] < y[i]; + return Result; + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec lessThanEqual(vec const& x, vec const& y) + { + vec Result(true); + for(length_t i = 0; i < L; ++i) + Result[i] = x[i] <= y[i]; + return Result; + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec greaterThan(vec const& x, vec const& y) + { + vec Result(true); + for(length_t i = 0; i < L; ++i) + Result[i] = x[i] > y[i]; + return Result; + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec greaterThanEqual(vec const& x, vec const& y) + { + vec Result(true); + for(length_t i = 0; i < L; ++i) + Result[i] = x[i] >= y[i]; + return Result; + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec equal(vec const& x, vec const& y) + { + vec Result(true); + for(length_t i = 0; i < L; ++i) + Result[i] = x[i] == y[i]; + return Result; + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec notEqual(vec const& x, vec const& y) + { + vec Result(true); + for(length_t i = 0; i < L; ++i) + Result[i] = x[i] != y[i]; + return Result; + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR bool any(vec const& v) + { + bool Result = false; + for(length_t i = 0; i < L; ++i) + Result = Result || v[i]; + return Result; + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR bool all(vec const& v) + { + bool Result = true; + for(length_t i = 0; i < L; ++i) + Result = Result && v[i]; + return Result; + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec not_(vec const& v) + { + vec Result(true); + for(length_t i = 0; i < L; ++i) + Result[i] = !v[i]; + return Result; + } +}//namespace glm + +#if GLM_CONFIG_SIMD == GLM_ENABLE +# include "func_vector_relational_simd.inl" +#endif diff --git a/MacroLibX/third_party/glm/detail/func_vector_relational_simd.inl b/MacroLibX/third_party/glm/detail/func_vector_relational_simd.inl new file mode 100644 index 0000000..fd0fe8b --- /dev/null +++ b/MacroLibX/third_party/glm/detail/func_vector_relational_simd.inl @@ -0,0 +1,6 @@ +namespace glm{ +namespace detail +{ + +}//namespace detail +}//namespace glm diff --git a/MacroLibX/third_party/glm/detail/glm.cpp b/MacroLibX/third_party/glm/detail/glm.cpp new file mode 100644 index 0000000..e0755bd --- /dev/null +++ b/MacroLibX/third_party/glm/detail/glm.cpp @@ -0,0 +1,263 @@ +/// @ref core +/// @file glm/glm.cpp + +#ifndef GLM_ENABLE_EXPERIMENTAL +#define GLM_ENABLE_EXPERIMENTAL +#endif +#include +#include +#include +#include +#include +#include + +namespace glm +{ +// tvec1 type explicit instantiation +template struct vec<1, uint8, lowp>; +template struct vec<1, uint16, lowp>; +template struct vec<1, uint32, lowp>; +template struct vec<1, uint64, lowp>; +template struct vec<1, int8, lowp>; +template struct vec<1, int16, lowp>; +template struct vec<1, int32, lowp>; +template struct vec<1, int64, lowp>; +template struct vec<1, float32, lowp>; +template struct vec<1, float64, lowp>; + +template struct vec<1, uint8, mediump>; +template struct vec<1, uint16, mediump>; +template struct vec<1, uint32, mediump>; +template struct vec<1, uint64, mediump>; +template struct vec<1, int8, mediump>; +template struct vec<1, int16, mediump>; +template struct vec<1, int32, mediump>; +template struct vec<1, int64, mediump>; +template struct vec<1, float32, mediump>; +template struct vec<1, float64, mediump>; + +template struct vec<1, uint8, highp>; +template struct vec<1, uint16, highp>; +template struct vec<1, uint32, highp>; +template struct vec<1, uint64, highp>; +template struct vec<1, int8, highp>; +template struct vec<1, int16, highp>; +template struct vec<1, int32, highp>; +template struct vec<1, int64, highp>; +template struct vec<1, float32, highp>; +template struct vec<1, float64, highp>; + +// tvec2 type explicit instantiation +template struct vec<2, uint8, lowp>; +template struct vec<2, uint16, lowp>; +template struct vec<2, uint32, lowp>; +template struct vec<2, uint64, lowp>; +template struct vec<2, int8, lowp>; +template struct vec<2, int16, lowp>; +template struct vec<2, int32, lowp>; +template struct vec<2, int64, lowp>; +template struct vec<2, float32, lowp>; +template struct vec<2, float64, lowp>; + +template struct vec<2, uint8, mediump>; +template struct vec<2, uint16, mediump>; +template struct vec<2, uint32, mediump>; +template struct vec<2, uint64, mediump>; +template struct vec<2, int8, mediump>; +template struct vec<2, int16, mediump>; +template struct vec<2, int32, mediump>; +template struct vec<2, int64, mediump>; +template struct vec<2, float32, mediump>; +template struct vec<2, float64, mediump>; + +template struct vec<2, uint8, highp>; +template struct vec<2, uint16, highp>; +template struct vec<2, uint32, highp>; +template struct vec<2, uint64, highp>; +template struct vec<2, int8, highp>; +template struct vec<2, int16, highp>; +template struct vec<2, int32, highp>; +template struct vec<2, int64, highp>; +template struct vec<2, float32, highp>; +template struct vec<2, float64, highp>; + +// tvec3 type explicit instantiation +template struct vec<3, uint8, lowp>; +template struct vec<3, uint16, lowp>; +template struct vec<3, uint32, lowp>; +template struct vec<3, uint64, lowp>; +template struct vec<3, int8, lowp>; +template struct vec<3, int16, lowp>; +template struct vec<3, int32, lowp>; +template struct vec<3, int64, lowp>; +template struct vec<3, float32, lowp>; +template struct vec<3, float64, lowp>; + +template struct vec<3, uint8, mediump>; +template struct vec<3, uint16, mediump>; +template struct vec<3, uint32, mediump>; +template struct vec<3, uint64, mediump>; +template struct vec<3, int8, mediump>; +template struct vec<3, int16, mediump>; +template struct vec<3, int32, mediump>; +template struct vec<3, int64, mediump>; +template struct vec<3, float32, mediump>; +template struct vec<3, float64, mediump>; + +template struct vec<3, uint8, highp>; +template struct vec<3, uint16, highp>; +template struct vec<3, uint32, highp>; +template struct vec<3, uint64, highp>; +template struct vec<3, int8, highp>; +template struct vec<3, int16, highp>; +template struct vec<3, int32, highp>; +template struct vec<3, int64, highp>; +template struct vec<3, float32, highp>; +template struct vec<3, float64, highp>; + +// tvec4 type explicit instantiation +template struct vec<4, uint8, lowp>; +template struct vec<4, uint16, lowp>; +template struct vec<4, uint32, lowp>; +template struct vec<4, uint64, lowp>; +template struct vec<4, int8, lowp>; +template struct vec<4, int16, lowp>; +template struct vec<4, int32, lowp>; +template struct vec<4, int64, lowp>; +template struct vec<4, float32, lowp>; +template struct vec<4, float64, lowp>; + +template struct vec<4, uint8, mediump>; +template struct vec<4, uint16, mediump>; +template struct vec<4, uint32, mediump>; +template struct vec<4, uint64, mediump>; +template struct vec<4, int8, mediump>; +template struct vec<4, int16, mediump>; +template struct vec<4, int32, mediump>; +template struct vec<4, int64, mediump>; +template struct vec<4, float32, mediump>; +template struct vec<4, float64, mediump>; + +template struct vec<4, uint8, highp>; +template struct vec<4, uint16, highp>; +template struct vec<4, uint32, highp>; +template struct vec<4, uint64, highp>; +template struct vec<4, int8, highp>; +template struct vec<4, int16, highp>; +template struct vec<4, int32, highp>; +template struct vec<4, int64, highp>; +template struct vec<4, float32, highp>; +template struct vec<4, float64, highp>; + +// tmat2x2 type explicit instantiation +template struct mat<2, 2, float32, lowp>; +template struct mat<2, 2, float64, lowp>; + +template struct mat<2, 2, float32, mediump>; +template struct mat<2, 2, float64, mediump>; + +template struct mat<2, 2, float32, highp>; +template struct mat<2, 2, float64, highp>; + +// tmat2x3 type explicit instantiation +template struct mat<2, 3, float32, lowp>; +template struct mat<2, 3, float64, lowp>; + +template struct mat<2, 3, float32, mediump>; +template struct mat<2, 3, float64, mediump>; + +template struct mat<2, 3, float32, highp>; +template struct mat<2, 3, float64, highp>; + +// tmat2x4 type explicit instantiation +template struct mat<2, 4, float32, lowp>; +template struct mat<2, 4, float64, lowp>; + +template struct mat<2, 4, float32, mediump>; +template struct mat<2, 4, float64, mediump>; + +template struct mat<2, 4, float32, highp>; +template struct mat<2, 4, float64, highp>; + +// tmat3x2 type explicit instantiation +template struct mat<3, 2, float32, lowp>; +template struct mat<3, 2, float64, lowp>; + +template struct mat<3, 2, float32, mediump>; +template struct mat<3, 2, float64, mediump>; + +template struct mat<3, 2, float32, highp>; +template struct mat<3, 2, float64, highp>; + +// tmat3x3 type explicit instantiation +template struct mat<3, 3, float32, lowp>; +template struct mat<3, 3, float64, lowp>; + +template struct mat<3, 3, float32, mediump>; +template struct mat<3, 3, float64, mediump>; + +template struct mat<3, 3, float32, highp>; +template struct mat<3, 3, float64, highp>; + +// tmat3x4 type explicit instantiation +template struct mat<3, 4, float32, lowp>; +template struct mat<3, 4, float64, lowp>; + +template struct mat<3, 4, float32, mediump>; +template struct mat<3, 4, float64, mediump>; + +template struct mat<3, 4, float32, highp>; +template struct mat<3, 4, float64, highp>; + +// tmat4x2 type explicit instantiation +template struct mat<4, 2, float32, lowp>; +template struct mat<4, 2, float64, lowp>; + +template struct mat<4, 2, float32, mediump>; +template struct mat<4, 2, float64, mediump>; + +template struct mat<4, 2, float32, highp>; +template struct mat<4, 2, float64, highp>; + +// tmat4x3 type explicit instantiation +template struct mat<4, 3, float32, lowp>; +template struct mat<4, 3, float64, lowp>; + +template struct mat<4, 3, float32, mediump>; +template struct mat<4, 3, float64, mediump>; + +template struct mat<4, 3, float32, highp>; +template struct mat<4, 3, float64, highp>; + +// tmat4x4 type explicit instantiation +template struct mat<4, 4, float32, lowp>; +template struct mat<4, 4, float64, lowp>; + +template struct mat<4, 4, float32, mediump>; +template struct mat<4, 4, float64, mediump>; + +template struct mat<4, 4, float32, highp>; +template struct mat<4, 4, float64, highp>; + +// tquat type explicit instantiation +template struct qua; +template struct qua; + +template struct qua; +template struct qua; + +template struct qua; +template struct qua; + +//tdualquat type explicit instantiation +template struct tdualquat; +template struct tdualquat; + +template struct tdualquat; +template struct tdualquat; + +template struct tdualquat; +template struct tdualquat; + +}//namespace glm + diff --git a/MacroLibX/third_party/glm/detail/qualifier.hpp b/MacroLibX/third_party/glm/detail/qualifier.hpp new file mode 100644 index 0000000..b6c9df0 --- /dev/null +++ b/MacroLibX/third_party/glm/detail/qualifier.hpp @@ -0,0 +1,230 @@ +#pragma once + +#include "setup.hpp" + +namespace glm +{ + /// Qualify GLM types in term of alignment (packed, aligned) and precision in term of ULPs (lowp, mediump, highp) + enum qualifier + { + packed_highp, ///< Typed data is tightly packed in memory and operations are executed with high precision in term of ULPs + packed_mediump, ///< Typed data is tightly packed in memory and operations are executed with medium precision in term of ULPs for higher performance + packed_lowp, ///< Typed data is tightly packed in memory and operations are executed with low precision in term of ULPs to maximize performance + +# if GLM_CONFIG_ALIGNED_GENTYPES == GLM_ENABLE + aligned_highp, ///< Typed data is aligned in memory allowing SIMD optimizations and operations are executed with high precision in term of ULPs + aligned_mediump, ///< Typed data is aligned in memory allowing SIMD optimizations and operations are executed with high precision in term of ULPs for higher performance + aligned_lowp, // ///< Typed data is aligned in memory allowing SIMD optimizations and operations are executed with high precision in term of ULPs to maximize performance + aligned = aligned_highp, ///< By default aligned qualifier is also high precision +# endif + + highp = packed_highp, ///< By default highp qualifier is also packed + mediump = packed_mediump, ///< By default mediump qualifier is also packed + lowp = packed_lowp, ///< By default lowp qualifier is also packed + packed = packed_highp, ///< By default packed qualifier is also high precision + +# if GLM_CONFIG_ALIGNED_GENTYPES == GLM_ENABLE && defined(GLM_FORCE_DEFAULT_ALIGNED_GENTYPES) + defaultp = aligned_highp +# else + defaultp = highp +# endif + }; + + typedef qualifier precision; + + template struct vec; + template struct mat; + template struct qua; + +# if GLM_HAS_TEMPLATE_ALIASES + template using tvec1 = vec<1, T, Q>; + template using tvec2 = vec<2, T, Q>; + template using tvec3 = vec<3, T, Q>; + template using tvec4 = vec<4, T, Q>; + template using tmat2x2 = mat<2, 2, T, Q>; + template using tmat2x3 = mat<2, 3, T, Q>; + template using tmat2x4 = mat<2, 4, T, Q>; + template using tmat3x2 = mat<3, 2, T, Q>; + template using tmat3x3 = mat<3, 3, T, Q>; + template using tmat3x4 = mat<3, 4, T, Q>; + template using tmat4x2 = mat<4, 2, T, Q>; + template using tmat4x3 = mat<4, 3, T, Q>; + template using tmat4x4 = mat<4, 4, T, Q>; + template using tquat = qua; +# endif + +namespace detail +{ + template + struct is_aligned + { + static const bool value = false; + }; + +# if GLM_CONFIG_ALIGNED_GENTYPES == GLM_ENABLE + template<> + struct is_aligned + { + static const bool value = true; + }; + + template<> + struct is_aligned + { + static const bool value = true; + }; + + template<> + struct is_aligned + { + static const bool value = true; + }; +# endif + + template + struct storage + { + typedef struct type { + T data[L]; + } type; + }; + +# if GLM_HAS_ALIGNOF + template + struct storage + { + typedef struct alignas(L * sizeof(T)) type { + T data[L]; + } type; + }; + + template + struct storage<3, T, true> + { + typedef struct alignas(4 * sizeof(T)) type { + T data[4]; + } type; + }; +# endif + +# if GLM_ARCH & GLM_ARCH_SSE2_BIT + template<> + struct storage<4, float, true> + { + typedef glm_f32vec4 type; + }; + + template<> + struct storage<4, int, true> + { + typedef glm_i32vec4 type; + }; + + template<> + struct storage<4, unsigned int, true> + { + typedef glm_u32vec4 type; + }; + + template<> + struct storage<2, double, true> + { + typedef glm_f64vec2 type; + }; + + template<> + struct storage<2, detail::int64, true> + { + typedef glm_i64vec2 type; + }; + + template<> + struct storage<2, detail::uint64, true> + { + typedef glm_u64vec2 type; + }; +# endif + +# if (GLM_ARCH & GLM_ARCH_AVX_BIT) + template<> + struct storage<4, double, true> + { + typedef glm_f64vec4 type; + }; +# endif + +# if (GLM_ARCH & GLM_ARCH_AVX2_BIT) + template<> + struct storage<4, detail::int64, true> + { + typedef glm_i64vec4 type; + }; + + template<> + struct storage<4, detail::uint64, true> + { + typedef glm_u64vec4 type; + }; +# endif + +# if GLM_ARCH & GLM_ARCH_NEON_BIT + template<> + struct storage<4, float, true> + { + typedef glm_f32vec4 type; + }; + + template<> + struct storage<4, int, true> + { + typedef glm_i32vec4 type; + }; + + template<> + struct storage<4, unsigned int, true> + { + typedef glm_u32vec4 type; + }; +# endif + + enum genTypeEnum + { + GENTYPE_VEC, + GENTYPE_MAT, + GENTYPE_QUAT + }; + + template + struct genTypeTrait + {}; + + template + struct genTypeTrait > + { + static const genTypeEnum GENTYPE = GENTYPE_MAT; + }; + + template + struct init_gentype + { + }; + + template + struct init_gentype + { + GLM_FUNC_QUALIFIER GLM_CONSTEXPR static genType identity() + { + return genType(1, 0, 0, 0); + } + }; + + template + struct init_gentype + { + GLM_FUNC_QUALIFIER GLM_CONSTEXPR static genType identity() + { + return genType(1); + } + }; +}//namespace detail +}//namespace glm diff --git a/MacroLibX/third_party/glm/detail/setup.hpp b/MacroLibX/third_party/glm/detail/setup.hpp new file mode 100644 index 0000000..07db656 --- /dev/null +++ b/MacroLibX/third_party/glm/detail/setup.hpp @@ -0,0 +1,1135 @@ +#ifndef GLM_SETUP_INCLUDED + +#include +#include + +#define GLM_VERSION_MAJOR 0 +#define GLM_VERSION_MINOR 9 +#define GLM_VERSION_PATCH 9 +#define GLM_VERSION_REVISION 7 +#define GLM_VERSION 997 +#define GLM_VERSION_MESSAGE "GLM: version 0.9.9.7" + +#define GLM_SETUP_INCLUDED GLM_VERSION + +/////////////////////////////////////////////////////////////////////////////////// +// Active states + +#define GLM_DISABLE 0 +#define GLM_ENABLE 1 + +/////////////////////////////////////////////////////////////////////////////////// +// Messages + +#if defined(GLM_FORCE_MESSAGES) +# define GLM_MESSAGES GLM_ENABLE +#else +# define GLM_MESSAGES GLM_DISABLE +#endif + +/////////////////////////////////////////////////////////////////////////////////// +// Detect the platform + +#include "../simd/platform.h" + +/////////////////////////////////////////////////////////////////////////////////// +// Build model + +#if defined(_M_ARM64) || defined(__LP64__) || defined(_M_X64) || defined(__ppc64__) || defined(__x86_64__) +# define GLM_MODEL GLM_MODEL_64 +#elif defined(__i386__) || defined(__ppc__) || defined(__ILP32__) || defined(_M_ARM) +# define GLM_MODEL GLM_MODEL_32 +#else +# define GLM_MODEL GLM_MODEL_32 +#endif// + +#if !defined(GLM_MODEL) && GLM_COMPILER != 0 +# error "GLM_MODEL undefined, your compiler may not be supported by GLM. Add #define GLM_MODEL 0 to ignore this message." +#endif//GLM_MODEL + +/////////////////////////////////////////////////////////////////////////////////// +// C++ Version + +// User defines: GLM_FORCE_CXX98, GLM_FORCE_CXX03, GLM_FORCE_CXX11, GLM_FORCE_CXX14, GLM_FORCE_CXX17, GLM_FORCE_CXX2A + +#define GLM_LANG_CXX98_FLAG (1 << 1) +#define GLM_LANG_CXX03_FLAG (1 << 2) +#define GLM_LANG_CXX0X_FLAG (1 << 3) +#define GLM_LANG_CXX11_FLAG (1 << 4) +#define GLM_LANG_CXX14_FLAG (1 << 5) +#define GLM_LANG_CXX17_FLAG (1 << 6) +#define GLM_LANG_CXX2A_FLAG (1 << 7) +#define GLM_LANG_CXXMS_FLAG (1 << 8) +#define GLM_LANG_CXXGNU_FLAG (1 << 9) + +#define GLM_LANG_CXX98 GLM_LANG_CXX98_FLAG +#define GLM_LANG_CXX03 (GLM_LANG_CXX98 | GLM_LANG_CXX03_FLAG) +#define GLM_LANG_CXX0X (GLM_LANG_CXX03 | GLM_LANG_CXX0X_FLAG) +#define GLM_LANG_CXX11 (GLM_LANG_CXX0X | GLM_LANG_CXX11_FLAG) +#define GLM_LANG_CXX14 (GLM_LANG_CXX11 | GLM_LANG_CXX14_FLAG) +#define GLM_LANG_CXX17 (GLM_LANG_CXX14 | GLM_LANG_CXX17_FLAG) +#define GLM_LANG_CXX2A (GLM_LANG_CXX17 | GLM_LANG_CXX2A_FLAG) +#define GLM_LANG_CXXMS GLM_LANG_CXXMS_FLAG +#define GLM_LANG_CXXGNU GLM_LANG_CXXGNU_FLAG + +#if (defined(_MSC_EXTENSIONS)) +# define GLM_LANG_EXT GLM_LANG_CXXMS_FLAG +#elif ((GLM_COMPILER & (GLM_COMPILER_CLANG | GLM_COMPILER_GCC)) && (GLM_ARCH & GLM_ARCH_SIMD_BIT)) +# define GLM_LANG_EXT GLM_LANG_CXXMS_FLAG +#else +# define GLM_LANG_EXT 0 +#endif + +#if (defined(GLM_FORCE_CXX_UNKNOWN)) +# define GLM_LANG 0 +#elif defined(GLM_FORCE_CXX2A) +# define GLM_LANG (GLM_LANG_CXX2A | GLM_LANG_EXT) +# define GLM_LANG_STL11_FORCED +#elif defined(GLM_FORCE_CXX17) +# define GLM_LANG (GLM_LANG_CXX17 | GLM_LANG_EXT) +# define GLM_LANG_STL11_FORCED +#elif defined(GLM_FORCE_CXX14) +# define GLM_LANG (GLM_LANG_CXX14 | GLM_LANG_EXT) +# define GLM_LANG_STL11_FORCED +#elif defined(GLM_FORCE_CXX11) +# define GLM_LANG (GLM_LANG_CXX11 | GLM_LANG_EXT) +# define GLM_LANG_STL11_FORCED +#elif defined(GLM_FORCE_CXX03) +# define GLM_LANG (GLM_LANG_CXX03 | GLM_LANG_EXT) +#elif defined(GLM_FORCE_CXX98) +# define GLM_LANG (GLM_LANG_CXX98 | GLM_LANG_EXT) +#else +# if GLM_COMPILER & GLM_COMPILER_VC && defined(_MSVC_LANG) +# if GLM_COMPILER >= GLM_COMPILER_VC15_7 +# define GLM_LANG_PLATFORM _MSVC_LANG +# elif GLM_COMPILER >= GLM_COMPILER_VC15 +# if _MSVC_LANG > 201402L +# define GLM_LANG_PLATFORM 201402L +# else +# define GLM_LANG_PLATFORM _MSVC_LANG +# endif +# else +# define GLM_LANG_PLATFORM 0 +# endif +# else +# define GLM_LANG_PLATFORM 0 +# endif + +# if __cplusplus > 201703L || GLM_LANG_PLATFORM > 201703L +# define GLM_LANG (GLM_LANG_CXX2A | GLM_LANG_EXT) +# elif __cplusplus == 201703L || GLM_LANG_PLATFORM == 201703L +# define GLM_LANG (GLM_LANG_CXX17 | GLM_LANG_EXT) +# elif __cplusplus == 201402L || __cplusplus == 201500L || GLM_LANG_PLATFORM == 201402L +# define GLM_LANG (GLM_LANG_CXX14 | GLM_LANG_EXT) +# elif __cplusplus == 201103L || GLM_LANG_PLATFORM == 201103L +# define GLM_LANG (GLM_LANG_CXX11 | GLM_LANG_EXT) +# elif defined(__INTEL_CXX11_MODE__) || defined(_MSC_VER) || defined(__GXX_EXPERIMENTAL_CXX0X__) +# define GLM_LANG (GLM_LANG_CXX0X | GLM_LANG_EXT) +# elif __cplusplus == 199711L +# define GLM_LANG (GLM_LANG_CXX98 | GLM_LANG_EXT) +# else +# define GLM_LANG (0 | GLM_LANG_EXT) +# endif +#endif + +/////////////////////////////////////////////////////////////////////////////////// +// Has of C++ features + +// http://clang.llvm.org/cxx_status.html +// http://gcc.gnu.org/projects/cxx0x.html +// http://msdn.microsoft.com/en-us/library/vstudio/hh567368(v=vs.120).aspx + +// Android has multiple STLs but C++11 STL detection doesn't always work #284 #564 +#if GLM_PLATFORM == GLM_PLATFORM_ANDROID && !defined(GLM_LANG_STL11_FORCED) +# define GLM_HAS_CXX11_STL 0 +#elif GLM_COMPILER & GLM_COMPILER_CLANG +# if (defined(_LIBCPP_VERSION) || (GLM_LANG & GLM_LANG_CXX11_FLAG) || defined(GLM_LANG_STL11_FORCED)) +# define GLM_HAS_CXX11_STL 1 +# else +# define GLM_HAS_CXX11_STL 0 +# endif +#elif GLM_LANG & GLM_LANG_CXX11_FLAG +# define GLM_HAS_CXX11_STL 1 +#else +# define GLM_HAS_CXX11_STL ((GLM_LANG & GLM_LANG_CXX0X_FLAG) && (\ + ((GLM_COMPILER & GLM_COMPILER_GCC) && (GLM_COMPILER >= GLM_COMPILER_GCC48)) || \ + ((GLM_COMPILER & GLM_COMPILER_VC) && (GLM_COMPILER >= GLM_COMPILER_VC12)) || \ + ((GLM_PLATFORM != GLM_PLATFORM_WINDOWS) && (GLM_COMPILER & GLM_COMPILER_INTEL) && (GLM_COMPILER >= GLM_COMPILER_INTEL15)))) +#endif + +// N1720 +#if GLM_COMPILER & GLM_COMPILER_CLANG +# define GLM_HAS_STATIC_ASSERT __has_feature(cxx_static_assert) +#elif GLM_LANG & GLM_LANG_CXX11_FLAG +# define GLM_HAS_STATIC_ASSERT 1 +#else +# define GLM_HAS_STATIC_ASSERT ((GLM_LANG & GLM_LANG_CXX0X_FLAG) && (\ + ((GLM_COMPILER & GLM_COMPILER_CUDA)) || \ + ((GLM_COMPILER & GLM_COMPILER_VC)))) +#endif + +// N1988 +#if GLM_LANG & GLM_LANG_CXX11_FLAG +# define GLM_HAS_EXTENDED_INTEGER_TYPE 1 +#else +# define GLM_HAS_EXTENDED_INTEGER_TYPE (\ + ((GLM_LANG & GLM_LANG_CXX0X_FLAG) && (GLM_COMPILER & GLM_COMPILER_VC)) || \ + ((GLM_LANG & GLM_LANG_CXX0X_FLAG) && (GLM_COMPILER & GLM_COMPILER_CUDA)) || \ + ((GLM_LANG & GLM_LANG_CXX0X_FLAG) && (GLM_COMPILER & GLM_COMPILER_CLANG))) +#endif + +// N2672 Initializer lists http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2672.htm +#if GLM_COMPILER & GLM_COMPILER_CLANG +# define GLM_HAS_INITIALIZER_LISTS __has_feature(cxx_generalized_initializers) +#elif GLM_LANG & GLM_LANG_CXX11_FLAG +# define GLM_HAS_INITIALIZER_LISTS 1 +#else +# define GLM_HAS_INITIALIZER_LISTS ((GLM_LANG & GLM_LANG_CXX0X_FLAG) && (\ + ((GLM_COMPILER & GLM_COMPILER_VC) && (GLM_COMPILER >= GLM_COMPILER_VC15)) || \ + ((GLM_COMPILER & GLM_COMPILER_INTEL) && (GLM_COMPILER >= GLM_COMPILER_INTEL14)) || \ + ((GLM_COMPILER & GLM_COMPILER_CUDA)))) +#endif + +// N2544 Unrestricted unions http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2544.pdf +#if GLM_COMPILER & GLM_COMPILER_CLANG +# define GLM_HAS_UNRESTRICTED_UNIONS __has_feature(cxx_unrestricted_unions) +#elif GLM_LANG & GLM_LANG_CXX11_FLAG +# define GLM_HAS_UNRESTRICTED_UNIONS 1 +#else +# define GLM_HAS_UNRESTRICTED_UNIONS (GLM_LANG & GLM_LANG_CXX0X_FLAG) && (\ + (GLM_COMPILER & GLM_COMPILER_VC) || \ + ((GLM_COMPILER & GLM_COMPILER_CUDA))) +#endif + +// N2346 +#if GLM_COMPILER & GLM_COMPILER_CLANG +# define GLM_HAS_DEFAULTED_FUNCTIONS __has_feature(cxx_defaulted_functions) +#elif GLM_LANG & GLM_LANG_CXX11_FLAG +# define GLM_HAS_DEFAULTED_FUNCTIONS 1 +#else +# define GLM_HAS_DEFAULTED_FUNCTIONS ((GLM_LANG & GLM_LANG_CXX0X_FLAG) && (\ + ((GLM_COMPILER & GLM_COMPILER_VC) && (GLM_COMPILER >= GLM_COMPILER_VC12)) || \ + ((GLM_COMPILER & GLM_COMPILER_INTEL)) || \ + (GLM_COMPILER & GLM_COMPILER_CUDA))) +#endif + +// N2118 +#if GLM_COMPILER & GLM_COMPILER_CLANG +# define GLM_HAS_RVALUE_REFERENCES __has_feature(cxx_rvalue_references) +#elif GLM_LANG & GLM_LANG_CXX11_FLAG +# define GLM_HAS_RVALUE_REFERENCES 1 +#else +# define GLM_HAS_RVALUE_REFERENCES ((GLM_LANG & GLM_LANG_CXX0X_FLAG) && (\ + ((GLM_COMPILER & GLM_COMPILER_VC)) || \ + ((GLM_COMPILER & GLM_COMPILER_CUDA)))) +#endif + +// N2437 http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2437.pdf +#if GLM_COMPILER & GLM_COMPILER_CLANG +# define GLM_HAS_EXPLICIT_CONVERSION_OPERATORS __has_feature(cxx_explicit_conversions) +#elif GLM_LANG & GLM_LANG_CXX11_FLAG +# define GLM_HAS_EXPLICIT_CONVERSION_OPERATORS 1 +#else +# define GLM_HAS_EXPLICIT_CONVERSION_OPERATORS ((GLM_LANG & GLM_LANG_CXX0X_FLAG) && (\ + ((GLM_COMPILER & GLM_COMPILER_INTEL) && (GLM_COMPILER >= GLM_COMPILER_INTEL14)) || \ + ((GLM_COMPILER & GLM_COMPILER_VC) && (GLM_COMPILER >= GLM_COMPILER_VC12)) || \ + ((GLM_COMPILER & GLM_COMPILER_CUDA)))) +#endif + +// N2258 http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2258.pdf +#if GLM_COMPILER & GLM_COMPILER_CLANG +# define GLM_HAS_TEMPLATE_ALIASES __has_feature(cxx_alias_templates) +#elif GLM_LANG & GLM_LANG_CXX11_FLAG +# define GLM_HAS_TEMPLATE_ALIASES 1 +#else +# define GLM_HAS_TEMPLATE_ALIASES ((GLM_LANG & GLM_LANG_CXX0X_FLAG) && (\ + ((GLM_COMPILER & GLM_COMPILER_INTEL)) || \ + ((GLM_COMPILER & GLM_COMPILER_VC) && (GLM_COMPILER >= GLM_COMPILER_VC12)) || \ + ((GLM_COMPILER & GLM_COMPILER_CUDA)))) +#endif + +// N2930 http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2009/n2930.html +#if GLM_COMPILER & GLM_COMPILER_CLANG +# define GLM_HAS_RANGE_FOR __has_feature(cxx_range_for) +#elif GLM_LANG & GLM_LANG_CXX11_FLAG +# define GLM_HAS_RANGE_FOR 1 +#else +# define GLM_HAS_RANGE_FOR ((GLM_LANG & GLM_LANG_CXX0X_FLAG) && (\ + ((GLM_COMPILER & GLM_COMPILER_INTEL)) || \ + ((GLM_COMPILER & GLM_COMPILER_VC)) || \ + ((GLM_COMPILER & GLM_COMPILER_CUDA)))) +#endif + +// N2341 http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2341.pdf +#if GLM_COMPILER & GLM_COMPILER_CLANG +# define GLM_HAS_ALIGNOF __has_feature(cxx_alignas) +#elif GLM_LANG & GLM_LANG_CXX11_FLAG +# define GLM_HAS_ALIGNOF 1 +#else +# define GLM_HAS_ALIGNOF ((GLM_LANG & GLM_LANG_CXX0X_FLAG) && (\ + ((GLM_COMPILER & GLM_COMPILER_INTEL) && (GLM_COMPILER >= GLM_COMPILER_INTEL15)) || \ + ((GLM_COMPILER & GLM_COMPILER_VC) && (GLM_COMPILER >= GLM_COMPILER_VC14)) || \ + ((GLM_COMPILER & GLM_COMPILER_CUDA)))) +#endif + +// N2235 Generalized Constant Expressions http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2235.pdf +// N3652 Extended Constant Expressions http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2013/n3652.html +#if (GLM_ARCH & GLM_ARCH_SIMD_BIT) // Compiler SIMD intrinsics don't support constexpr... +# define GLM_HAS_CONSTEXPR 0 +#elif (GLM_COMPILER & GLM_COMPILER_CLANG) +# define GLM_HAS_CONSTEXPR __has_feature(cxx_relaxed_constexpr) +#elif (GLM_LANG & GLM_LANG_CXX14_FLAG) +# define GLM_HAS_CONSTEXPR 1 +#else +# define GLM_HAS_CONSTEXPR ((GLM_LANG & GLM_LANG_CXX0X_FLAG) && GLM_HAS_INITIALIZER_LISTS && (\ + ((GLM_COMPILER & GLM_COMPILER_INTEL) && (GLM_COMPILER >= GLM_COMPILER_INTEL17)) || \ + ((GLM_COMPILER & GLM_COMPILER_VC) && (GLM_COMPILER >= GLM_COMPILER_VC15)))) +#endif + +#if GLM_HAS_CONSTEXPR +# define GLM_CONSTEXPR constexpr +#else +# define GLM_CONSTEXPR +#endif + +// +#if GLM_HAS_CONSTEXPR +# if (GLM_COMPILER & GLM_COMPILER_CLANG) +# if __has_feature(cxx_if_constexpr) +# define GLM_HAS_IF_CONSTEXPR 1 +# else +# define GLM_HAS_IF_CONSTEXPR 0 +# endif +# elif (GLM_LANG & GLM_LANG_CXX17_FLAG) +# define GLM_HAS_IF_CONSTEXPR 1 +# else +# define GLM_HAS_IF_CONSTEXPR 0 +# endif +#else +# define GLM_HAS_IF_CONSTEXPR 0 +#endif + +#if GLM_HAS_IF_CONSTEXPR +# define GLM_IF_CONSTEXPR if constexpr +#else +# define GLM_IF_CONSTEXPR if +#endif + +// +#if GLM_LANG & GLM_LANG_CXX11_FLAG +# define GLM_HAS_ASSIGNABLE 1 +#else +# define GLM_HAS_ASSIGNABLE ((GLM_LANG & GLM_LANG_CXX0X_FLAG) && (\ + ((GLM_COMPILER & GLM_COMPILER_VC) && (GLM_COMPILER >= GLM_COMPILER_VC15)) || \ + ((GLM_COMPILER & GLM_COMPILER_GCC) && (GLM_COMPILER >= GLM_COMPILER_GCC49)))) +#endif + +// +#define GLM_HAS_TRIVIAL_QUERIES 0 + +// +#if GLM_LANG & GLM_LANG_CXX11_FLAG +# define GLM_HAS_MAKE_SIGNED 1 +#else +# define GLM_HAS_MAKE_SIGNED ((GLM_LANG & GLM_LANG_CXX0X_FLAG) && (\ + ((GLM_COMPILER & GLM_COMPILER_VC) && (GLM_COMPILER >= GLM_COMPILER_VC12)) || \ + ((GLM_COMPILER & GLM_COMPILER_CUDA)))) +#endif + +// +#if defined(GLM_FORCE_INTRINSICS) +# define GLM_HAS_BITSCAN_WINDOWS ((GLM_PLATFORM & GLM_PLATFORM_WINDOWS) && (\ + ((GLM_COMPILER & GLM_COMPILER_INTEL)) || \ + ((GLM_COMPILER & GLM_COMPILER_VC) && (GLM_COMPILER >= GLM_COMPILER_VC14) && (GLM_ARCH & GLM_ARCH_X86_BIT)))) +#else +# define GLM_HAS_BITSCAN_WINDOWS 0 +#endif + +/////////////////////////////////////////////////////////////////////////////////// +// OpenMP +#ifdef _OPENMP +# if GLM_COMPILER & GLM_COMPILER_GCC +# if GLM_COMPILER >= GLM_COMPILER_GCC61 +# define GLM_HAS_OPENMP 45 +# elif GLM_COMPILER >= GLM_COMPILER_GCC49 +# define GLM_HAS_OPENMP 40 +# elif GLM_COMPILER >= GLM_COMPILER_GCC47 +# define GLM_HAS_OPENMP 31 +# else +# define GLM_HAS_OPENMP 0 +# endif +# elif GLM_COMPILER & GLM_COMPILER_CLANG +# if GLM_COMPILER >= GLM_COMPILER_CLANG38 +# define GLM_HAS_OPENMP 31 +# else +# define GLM_HAS_OPENMP 0 +# endif +# elif GLM_COMPILER & GLM_COMPILER_VC +# define GLM_HAS_OPENMP 20 +# elif GLM_COMPILER & GLM_COMPILER_INTEL +# if GLM_COMPILER >= GLM_COMPILER_INTEL16 +# define GLM_HAS_OPENMP 40 +# else +# define GLM_HAS_OPENMP 0 +# endif +# else +# define GLM_HAS_OPENMP 0 +# endif +#else +# define GLM_HAS_OPENMP 0 +#endif + +/////////////////////////////////////////////////////////////////////////////////// +// nullptr + +#if GLM_LANG & GLM_LANG_CXX0X_FLAG +# define GLM_CONFIG_NULLPTR GLM_ENABLE +#else +# define GLM_CONFIG_NULLPTR GLM_DISABLE +#endif + +#if GLM_CONFIG_NULLPTR == GLM_ENABLE +# define GLM_NULLPTR nullptr +#else +# define GLM_NULLPTR 0 +#endif + +/////////////////////////////////////////////////////////////////////////////////// +// Static assert + +#if GLM_HAS_STATIC_ASSERT +# define GLM_STATIC_ASSERT(x, message) static_assert(x, message) +#elif GLM_COMPILER & GLM_COMPILER_VC +# define GLM_STATIC_ASSERT(x, message) typedef char __CASSERT__##__LINE__[(x) ? 1 : -1] +#else +# define GLM_STATIC_ASSERT(x, message) assert(x) +#endif//GLM_LANG + +/////////////////////////////////////////////////////////////////////////////////// +// Qualifiers + +#if GLM_COMPILER & GLM_COMPILER_CUDA +# define GLM_CUDA_FUNC_DEF __device__ __host__ +# define GLM_CUDA_FUNC_DECL __device__ __host__ +#else +# define GLM_CUDA_FUNC_DEF +# define GLM_CUDA_FUNC_DECL +#endif + +#if defined(GLM_FORCE_INLINE) +# if GLM_COMPILER & GLM_COMPILER_VC +# define GLM_INLINE __forceinline +# define GLM_NEVER_INLINE __declspec((noinline)) +# elif GLM_COMPILER & (GLM_COMPILER_GCC | GLM_COMPILER_CLANG) +# define GLM_INLINE inline __attribute__((__always_inline__)) +# define GLM_NEVER_INLINE __attribute__((__noinline__)) +# elif GLM_COMPILER & GLM_COMPILER_CUDA +# define GLM_INLINE __forceinline__ +# define GLM_NEVER_INLINE __noinline__ +# else +# define GLM_INLINE inline +# define GLM_NEVER_INLINE +# endif//GLM_COMPILER +#else +# define GLM_INLINE inline +# define GLM_NEVER_INLINE +#endif//defined(GLM_FORCE_INLINE) + +#define GLM_FUNC_DECL GLM_CUDA_FUNC_DECL +#define GLM_FUNC_QUALIFIER GLM_CUDA_FUNC_DEF GLM_INLINE + +/////////////////////////////////////////////////////////////////////////////////// +// Swizzle operators + +// User defines: GLM_FORCE_SWIZZLE + +#define GLM_SWIZZLE_DISABLED 0 +#define GLM_SWIZZLE_OPERATOR 1 +#define GLM_SWIZZLE_FUNCTION 2 + +#if defined(GLM_FORCE_XYZW_ONLY) +# undef GLM_FORCE_SWIZZLE +#endif + +#if defined(GLM_SWIZZLE) +# pragma message("GLM: GLM_SWIZZLE is deprecated, use GLM_FORCE_SWIZZLE instead.") +# define GLM_FORCE_SWIZZLE +#endif + +#if defined(GLM_FORCE_SWIZZLE) && (GLM_LANG & GLM_LANG_CXXMS_FLAG) +# define GLM_CONFIG_SWIZZLE GLM_SWIZZLE_OPERATOR +#elif defined(GLM_FORCE_SWIZZLE) +# define GLM_CONFIG_SWIZZLE GLM_SWIZZLE_FUNCTION +#else +# define GLM_CONFIG_SWIZZLE GLM_SWIZZLE_DISABLED +#endif + +/////////////////////////////////////////////////////////////////////////////////// +// Allows using not basic types as genType + +// #define GLM_FORCE_UNRESTRICTED_GENTYPE + +#ifdef GLM_FORCE_UNRESTRICTED_GENTYPE +# define GLM_CONFIG_UNRESTRICTED_GENTYPE GLM_ENABLE +#else +# define GLM_CONFIG_UNRESTRICTED_GENTYPE GLM_DISABLE +#endif + +/////////////////////////////////////////////////////////////////////////////////// +// Clip control, define GLM_FORCE_DEPTH_ZERO_TO_ONE before including GLM +// to use a clip space between 0 to 1. +// Coordinate system, define GLM_FORCE_LEFT_HANDED before including GLM +// to use left handed coordinate system by default. + +#define GLM_CLIP_CONTROL_ZO_BIT (1 << 0) // ZERO_TO_ONE +#define GLM_CLIP_CONTROL_NO_BIT (1 << 1) // NEGATIVE_ONE_TO_ONE +#define GLM_CLIP_CONTROL_LH_BIT (1 << 2) // LEFT_HANDED, For DirectX, Metal, Vulkan +#define GLM_CLIP_CONTROL_RH_BIT (1 << 3) // RIGHT_HANDED, For OpenGL, default in GLM + +#define GLM_CLIP_CONTROL_LH_ZO (GLM_CLIP_CONTROL_LH_BIT | GLM_CLIP_CONTROL_ZO_BIT) +#define GLM_CLIP_CONTROL_LH_NO (GLM_CLIP_CONTROL_LH_BIT | GLM_CLIP_CONTROL_NO_BIT) +#define GLM_CLIP_CONTROL_RH_ZO (GLM_CLIP_CONTROL_RH_BIT | GLM_CLIP_CONTROL_ZO_BIT) +#define GLM_CLIP_CONTROL_RH_NO (GLM_CLIP_CONTROL_RH_BIT | GLM_CLIP_CONTROL_NO_BIT) + +#ifdef GLM_FORCE_DEPTH_ZERO_TO_ONE +# ifdef GLM_FORCE_LEFT_HANDED +# define GLM_CONFIG_CLIP_CONTROL GLM_CLIP_CONTROL_LH_ZO +# else +# define GLM_CONFIG_CLIP_CONTROL GLM_CLIP_CONTROL_RH_ZO +# endif +#else +# ifdef GLM_FORCE_LEFT_HANDED +# define GLM_CONFIG_CLIP_CONTROL GLM_CLIP_CONTROL_LH_NO +# else +# define GLM_CONFIG_CLIP_CONTROL GLM_CLIP_CONTROL_RH_NO +# endif +#endif + +/////////////////////////////////////////////////////////////////////////////////// +// Qualifiers + +#if (GLM_COMPILER & GLM_COMPILER_VC) || ((GLM_COMPILER & GLM_COMPILER_INTEL) && (GLM_PLATFORM & GLM_PLATFORM_WINDOWS)) +# define GLM_DEPRECATED __declspec(deprecated) +# define GLM_ALIGNED_TYPEDEF(type, name, alignment) typedef __declspec(align(alignment)) type name +#elif GLM_COMPILER & (GLM_COMPILER_GCC | GLM_COMPILER_CLANG | GLM_COMPILER_INTEL) +# define GLM_DEPRECATED __attribute__((__deprecated__)) +# define GLM_ALIGNED_TYPEDEF(type, name, alignment) typedef type name __attribute__((aligned(alignment))) +#elif GLM_COMPILER & GLM_COMPILER_CUDA +# define GLM_DEPRECATED +# define GLM_ALIGNED_TYPEDEF(type, name, alignment) typedef type name __align__(x) +#else +# define GLM_DEPRECATED +# define GLM_ALIGNED_TYPEDEF(type, name, alignment) typedef type name +#endif + +/////////////////////////////////////////////////////////////////////////////////// + +#ifdef GLM_FORCE_EXPLICIT_CTOR +# define GLM_EXPLICIT explicit +#else +# define GLM_EXPLICIT +#endif + +/////////////////////////////////////////////////////////////////////////////////// +// SYCL + +#if GLM_COMPILER==GLM_COMPILER_SYCL + +#include +#include + +namespace glm { +namespace std { + // Import SYCL's functions into the namespace glm::std to force their usages. + // It's important to use the math built-in function (sin, exp, ...) + // of SYCL instead the std ones. + using namespace cl::sycl; + + /////////////////////////////////////////////////////////////////////////////// + // Import some "harmless" std's stuffs used by glm into + // the new glm::std namespace. + template + using numeric_limits = ::std::numeric_limits; + + using ::std::size_t; + + using ::std::uint8_t; + using ::std::uint16_t; + using ::std::uint32_t; + using ::std::uint64_t; + + using ::std::int8_t; + using ::std::int16_t; + using ::std::int32_t; + using ::std::int64_t; + + using ::std::make_unsigned; + /////////////////////////////////////////////////////////////////////////////// +} //namespace std +} //namespace glm + +#endif + +/////////////////////////////////////////////////////////////////////////////////// + +/////////////////////////////////////////////////////////////////////////////////// +// Length type: all length functions returns a length_t type. +// When GLM_FORCE_SIZE_T_LENGTH is defined, length_t is a typedef of size_t otherwise +// length_t is a typedef of int like GLSL defines it. + +#define GLM_LENGTH_INT 1 +#define GLM_LENGTH_SIZE_T 2 + +#ifdef GLM_FORCE_SIZE_T_LENGTH +# define GLM_CONFIG_LENGTH_TYPE GLM_LENGTH_SIZE_T +#else +# define GLM_CONFIG_LENGTH_TYPE GLM_LENGTH_INT +#endif + +namespace glm +{ + using std::size_t; +# if GLM_CONFIG_LENGTH_TYPE == GLM_LENGTH_SIZE_T + typedef size_t length_t; +# else + typedef int length_t; +# endif +}//namespace glm + +/////////////////////////////////////////////////////////////////////////////////// +// constexpr + +#if GLM_HAS_CONSTEXPR +# define GLM_CONFIG_CONSTEXP GLM_ENABLE + + namespace glm + { + template + constexpr std::size_t countof(T const (&)[N]) + { + return N; + } + }//namespace glm +# define GLM_COUNTOF(arr) glm::countof(arr) +#elif defined(_MSC_VER) +# define GLM_CONFIG_CONSTEXP GLM_DISABLE + +# define GLM_COUNTOF(arr) _countof(arr) +#else +# define GLM_CONFIG_CONSTEXP GLM_DISABLE + +# define GLM_COUNTOF(arr) sizeof(arr) / sizeof(arr[0]) +#endif + +/////////////////////////////////////////////////////////////////////////////////// +// uint + +namespace glm{ +namespace detail +{ + template + struct is_int + { + enum test {value = 0}; + }; + + template<> + struct is_int + { + enum test {value = ~0}; + }; + + template<> + struct is_int + { + enum test {value = ~0}; + }; +}//namespace detail + + typedef unsigned int uint; +}//namespace glm + +/////////////////////////////////////////////////////////////////////////////////// +// 64-bit int + +#if GLM_HAS_EXTENDED_INTEGER_TYPE +# include +#endif + +namespace glm{ +namespace detail +{ +# if GLM_HAS_EXTENDED_INTEGER_TYPE + typedef std::uint64_t uint64; + typedef std::int64_t int64; +# elif (defined(__STDC_VERSION__) && (__STDC_VERSION__ >= 199901L)) // C99 detected, 64 bit types available + typedef uint64_t uint64; + typedef int64_t int64; +# elif GLM_COMPILER & GLM_COMPILER_VC + typedef unsigned __int64 uint64; + typedef signed __int64 int64; +# elif GLM_COMPILER & GLM_COMPILER_GCC +# pragma GCC diagnostic ignored "-Wlong-long" + __extension__ typedef unsigned long long uint64; + __extension__ typedef signed long long int64; +# elif (GLM_COMPILER & GLM_COMPILER_CLANG) +# pragma clang diagnostic ignored "-Wc++11-long-long" + typedef unsigned long long uint64; + typedef signed long long int64; +# else//unknown compiler + typedef unsigned long long uint64; + typedef signed long long int64; +# endif +}//namespace detail +}//namespace glm + +/////////////////////////////////////////////////////////////////////////////////// +// make_unsigned + +#if GLM_HAS_MAKE_SIGNED +# include + +namespace glm{ +namespace detail +{ + using std::make_unsigned; +}//namespace detail +}//namespace glm + +#else + +namespace glm{ +namespace detail +{ + template + struct make_unsigned + {}; + + template<> + struct make_unsigned + { + typedef unsigned char type; + }; + + template<> + struct make_unsigned + { + typedef unsigned char type; + }; + + template<> + struct make_unsigned + { + typedef unsigned short type; + }; + + template<> + struct make_unsigned + { + typedef unsigned int type; + }; + + template<> + struct make_unsigned + { + typedef unsigned long type; + }; + + template<> + struct make_unsigned + { + typedef uint64 type; + }; + + template<> + struct make_unsigned + { + typedef unsigned char type; + }; + + template<> + struct make_unsigned + { + typedef unsigned short type; + }; + + template<> + struct make_unsigned + { + typedef unsigned int type; + }; + + template<> + struct make_unsigned + { + typedef unsigned long type; + }; + + template<> + struct make_unsigned + { + typedef uint64 type; + }; +}//namespace detail +}//namespace glm +#endif + +/////////////////////////////////////////////////////////////////////////////////// +// Only use x, y, z, w as vector type components + +#ifdef GLM_FORCE_XYZW_ONLY +# define GLM_CONFIG_XYZW_ONLY GLM_ENABLE +#else +# define GLM_CONFIG_XYZW_ONLY GLM_DISABLE +#endif + +/////////////////////////////////////////////////////////////////////////////////// +// Configure the use of defaulted initialized types + +#define GLM_CTOR_INIT_DISABLE 0 +#define GLM_CTOR_INITIALIZER_LIST 1 +#define GLM_CTOR_INITIALISATION 2 + +#if defined(GLM_FORCE_CTOR_INIT) && GLM_HAS_INITIALIZER_LISTS +# define GLM_CONFIG_CTOR_INIT GLM_CTOR_INITIALIZER_LIST +#elif defined(GLM_FORCE_CTOR_INIT) && !GLM_HAS_INITIALIZER_LISTS +# define GLM_CONFIG_CTOR_INIT GLM_CTOR_INITIALISATION +#else +# define GLM_CONFIG_CTOR_INIT GLM_CTOR_INIT_DISABLE +#endif + +/////////////////////////////////////////////////////////////////////////////////// +// Use SIMD instruction sets + +#if GLM_HAS_ALIGNOF && (GLM_LANG & GLM_LANG_CXXMS_FLAG) && (GLM_ARCH & GLM_ARCH_SIMD_BIT) +# define GLM_CONFIG_SIMD GLM_ENABLE +#else +# define GLM_CONFIG_SIMD GLM_DISABLE +#endif + +/////////////////////////////////////////////////////////////////////////////////// +// Configure the use of defaulted function + +#if GLM_HAS_DEFAULTED_FUNCTIONS && GLM_CONFIG_CTOR_INIT == GLM_CTOR_INIT_DISABLE +# define GLM_CONFIG_DEFAULTED_FUNCTIONS GLM_ENABLE +# define GLM_DEFAULT = default +#else +# define GLM_CONFIG_DEFAULTED_FUNCTIONS GLM_DISABLE +# define GLM_DEFAULT +#endif + +/////////////////////////////////////////////////////////////////////////////////// +// Configure the use of aligned gentypes + +#ifdef GLM_FORCE_ALIGNED // Legacy define +# define GLM_FORCE_DEFAULT_ALIGNED_GENTYPES +#endif + +#ifdef GLM_FORCE_DEFAULT_ALIGNED_GENTYPES +# define GLM_FORCE_ALIGNED_GENTYPES +#endif + +#if GLM_HAS_ALIGNOF && (GLM_LANG & GLM_LANG_CXXMS_FLAG) && (defined(GLM_FORCE_ALIGNED_GENTYPES) || (GLM_CONFIG_SIMD == GLM_ENABLE)) +# define GLM_CONFIG_ALIGNED_GENTYPES GLM_ENABLE +#else +# define GLM_CONFIG_ALIGNED_GENTYPES GLM_DISABLE +#endif + +/////////////////////////////////////////////////////////////////////////////////// +// Configure the use of anonymous structure as implementation detail + +#if ((GLM_CONFIG_SIMD == GLM_ENABLE) || (GLM_CONFIG_SWIZZLE == GLM_SWIZZLE_OPERATOR) || (GLM_CONFIG_ALIGNED_GENTYPES == GLM_ENABLE)) +# define GLM_CONFIG_ANONYMOUS_STRUCT GLM_ENABLE +#else +# define GLM_CONFIG_ANONYMOUS_STRUCT GLM_DISABLE +#endif + +/////////////////////////////////////////////////////////////////////////////////// +// Silent warnings + +#ifdef GLM_FORCE_SILENT_WARNINGS +# define GLM_SILENT_WARNINGS GLM_ENABLE +#else +# define GLM_SILENT_WARNINGS GLM_DISABLE +#endif + +/////////////////////////////////////////////////////////////////////////////////// +// Precision + +#define GLM_HIGHP 1 +#define GLM_MEDIUMP 2 +#define GLM_LOWP 3 + +#if defined(GLM_FORCE_PRECISION_HIGHP_BOOL) || defined(GLM_PRECISION_HIGHP_BOOL) +# define GLM_CONFIG_PRECISION_BOOL GLM_HIGHP +#elif defined(GLM_FORCE_PRECISION_MEDIUMP_BOOL) || defined(GLM_PRECISION_MEDIUMP_BOOL) +# define GLM_CONFIG_PRECISION_BOOL GLM_MEDIUMP +#elif defined(GLM_FORCE_PRECISION_LOWP_BOOL) || defined(GLM_PRECISION_LOWP_BOOL) +# define GLM_CONFIG_PRECISION_BOOL GLM_LOWP +#else +# define GLM_CONFIG_PRECISION_BOOL GLM_HIGHP +#endif + +#if defined(GLM_FORCE_PRECISION_HIGHP_INT) || defined(GLM_PRECISION_HIGHP_INT) +# define GLM_CONFIG_PRECISION_INT GLM_HIGHP +#elif defined(GLM_FORCE_PRECISION_MEDIUMP_INT) || defined(GLM_PRECISION_MEDIUMP_INT) +# define GLM_CONFIG_PRECISION_INT GLM_MEDIUMP +#elif defined(GLM_FORCE_PRECISION_LOWP_INT) || defined(GLM_PRECISION_LOWP_INT) +# define GLM_CONFIG_PRECISION_INT GLM_LOWP +#else +# define GLM_CONFIG_PRECISION_INT GLM_HIGHP +#endif + +#if defined(GLM_FORCE_PRECISION_HIGHP_UINT) || defined(GLM_PRECISION_HIGHP_UINT) +# define GLM_CONFIG_PRECISION_UINT GLM_HIGHP +#elif defined(GLM_FORCE_PRECISION_MEDIUMP_UINT) || defined(GLM_PRECISION_MEDIUMP_UINT) +# define GLM_CONFIG_PRECISION_UINT GLM_MEDIUMP +#elif defined(GLM_FORCE_PRECISION_LOWP_UINT) || defined(GLM_PRECISION_LOWP_UINT) +# define GLM_CONFIG_PRECISION_UINT GLM_LOWP +#else +# define GLM_CONFIG_PRECISION_UINT GLM_HIGHP +#endif + +#if defined(GLM_FORCE_PRECISION_HIGHP_FLOAT) || defined(GLM_PRECISION_HIGHP_FLOAT) +# define GLM_CONFIG_PRECISION_FLOAT GLM_HIGHP +#elif defined(GLM_FORCE_PRECISION_MEDIUMP_FLOAT) || defined(GLM_PRECISION_MEDIUMP_FLOAT) +# define GLM_CONFIG_PRECISION_FLOAT GLM_MEDIUMP +#elif defined(GLM_FORCE_PRECISION_LOWP_FLOAT) || defined(GLM_PRECISION_LOWP_FLOAT) +# define GLM_CONFIG_PRECISION_FLOAT GLM_LOWP +#else +# define GLM_CONFIG_PRECISION_FLOAT GLM_HIGHP +#endif + +#if defined(GLM_FORCE_PRECISION_HIGHP_DOUBLE) || defined(GLM_PRECISION_HIGHP_DOUBLE) +# define GLM_CONFIG_PRECISION_DOUBLE GLM_HIGHP +#elif defined(GLM_FORCE_PRECISION_MEDIUMP_DOUBLE) || defined(GLM_PRECISION_MEDIUMP_DOUBLE) +# define GLM_CONFIG_PRECISION_DOUBLE GLM_MEDIUMP +#elif defined(GLM_FORCE_PRECISION_LOWP_DOUBLE) || defined(GLM_PRECISION_LOWP_DOUBLE) +# define GLM_CONFIG_PRECISION_DOUBLE GLM_LOWP +#else +# define GLM_CONFIG_PRECISION_DOUBLE GLM_HIGHP +#endif + +/////////////////////////////////////////////////////////////////////////////////// +// Check inclusions of different versions of GLM + +#elif ((GLM_SETUP_INCLUDED != GLM_VERSION) && !defined(GLM_FORCE_IGNORE_VERSION)) +# error "GLM error: A different version of GLM is already included. Define GLM_FORCE_IGNORE_VERSION before including GLM headers to ignore this error." +#elif GLM_SETUP_INCLUDED == GLM_VERSION + +/////////////////////////////////////////////////////////////////////////////////// +// Messages + +#if GLM_MESSAGES == GLM_ENABLE && !defined(GLM_MESSAGE_DISPLAYED) +# define GLM_MESSAGE_DISPLAYED +# define GLM_STR_HELPER(x) #x +# define GLM_STR(x) GLM_STR_HELPER(x) + + // Report GLM version +# pragma message (GLM_STR(GLM_VERSION_MESSAGE)) + + // Report C++ language +# if (GLM_LANG & GLM_LANG_CXX2A_FLAG) && (GLM_LANG & GLM_LANG_EXT) +# pragma message("GLM: C++ 2A with extensions") +# elif (GLM_LANG & GLM_LANG_CXX2A_FLAG) +# pragma message("GLM: C++ 2A") +# elif (GLM_LANG & GLM_LANG_CXX17_FLAG) && (GLM_LANG & GLM_LANG_EXT) +# pragma message("GLM: C++ 17 with extensions") +# elif (GLM_LANG & GLM_LANG_CXX17_FLAG) +# pragma message("GLM: C++ 17") +# elif (GLM_LANG & GLM_LANG_CXX14_FLAG) && (GLM_LANG & GLM_LANG_EXT) +# pragma message("GLM: C++ 14 with extensions") +# elif (GLM_LANG & GLM_LANG_CXX14_FLAG) +# pragma message("GLM: C++ 14") +# elif (GLM_LANG & GLM_LANG_CXX11_FLAG) && (GLM_LANG & GLM_LANG_EXT) +# pragma message("GLM: C++ 11 with extensions") +# elif (GLM_LANG & GLM_LANG_CXX11_FLAG) +# pragma message("GLM: C++ 11") +# elif (GLM_LANG & GLM_LANG_CXX0X_FLAG) && (GLM_LANG & GLM_LANG_EXT) +# pragma message("GLM: C++ 0x with extensions") +# elif (GLM_LANG & GLM_LANG_CXX0X_FLAG) +# pragma message("GLM: C++ 0x") +# elif (GLM_LANG & GLM_LANG_CXX03_FLAG) && (GLM_LANG & GLM_LANG_EXT) +# pragma message("GLM: C++ 03 with extensions") +# elif (GLM_LANG & GLM_LANG_CXX03_FLAG) +# pragma message("GLM: C++ 03") +# elif (GLM_LANG & GLM_LANG_CXX98_FLAG) && (GLM_LANG & GLM_LANG_EXT) +# pragma message("GLM: C++ 98 with extensions") +# elif (GLM_LANG & GLM_LANG_CXX98_FLAG) +# pragma message("GLM: C++ 98") +# else +# pragma message("GLM: C++ language undetected") +# endif//GLM_LANG + + // Report compiler detection +# if GLM_COMPILER & GLM_COMPILER_CUDA +# pragma message("GLM: CUDA compiler detected") +# elif GLM_COMPILER & GLM_COMPILER_VC +# pragma message("GLM: Visual C++ compiler detected") +# elif GLM_COMPILER & GLM_COMPILER_CLANG +# pragma message("GLM: Clang compiler detected") +# elif GLM_COMPILER & GLM_COMPILER_INTEL +# pragma message("GLM: Intel Compiler detected") +# elif GLM_COMPILER & GLM_COMPILER_GCC +# pragma message("GLM: GCC compiler detected") +# else +# pragma message("GLM: Compiler not detected") +# endif + + // Report build target +# if (GLM_ARCH & GLM_ARCH_AVX2_BIT) && (GLM_MODEL == GLM_MODEL_64) +# pragma message("GLM: x86 64 bits with AVX2 instruction set build target") +# elif (GLM_ARCH & GLM_ARCH_AVX2_BIT) && (GLM_MODEL == GLM_MODEL_32) +# pragma message("GLM: x86 32 bits with AVX2 instruction set build target") + +# elif (GLM_ARCH & GLM_ARCH_AVX_BIT) && (GLM_MODEL == GLM_MODEL_64) +# pragma message("GLM: x86 64 bits with AVX instruction set build target") +# elif (GLM_ARCH & GLM_ARCH_AVX_BIT) && (GLM_MODEL == GLM_MODEL_32) +# pragma message("GLM: x86 32 bits with AVX instruction set build target") + +# elif (GLM_ARCH & GLM_ARCH_SSE42_BIT) && (GLM_MODEL == GLM_MODEL_64) +# pragma message("GLM: x86 64 bits with SSE4.2 instruction set build target") +# elif (GLM_ARCH & GLM_ARCH_SSE42_BIT) && (GLM_MODEL == GLM_MODEL_32) +# pragma message("GLM: x86 32 bits with SSE4.2 instruction set build target") + +# elif (GLM_ARCH & GLM_ARCH_SSE41_BIT) && (GLM_MODEL == GLM_MODEL_64) +# pragma message("GLM: x86 64 bits with SSE4.1 instruction set build target") +# elif (GLM_ARCH & GLM_ARCH_SSE41_BIT) && (GLM_MODEL == GLM_MODEL_32) +# pragma message("GLM: x86 32 bits with SSE4.1 instruction set build target") + +# elif (GLM_ARCH & GLM_ARCH_SSSE3_BIT) && (GLM_MODEL == GLM_MODEL_64) +# pragma message("GLM: x86 64 bits with SSSE3 instruction set build target") +# elif (GLM_ARCH & GLM_ARCH_SSSE3_BIT) && (GLM_MODEL == GLM_MODEL_32) +# pragma message("GLM: x86 32 bits with SSSE3 instruction set build target") + +# elif (GLM_ARCH & GLM_ARCH_SSE3_BIT) && (GLM_MODEL == GLM_MODEL_64) +# pragma message("GLM: x86 64 bits with SSE3 instruction set build target") +# elif (GLM_ARCH & GLM_ARCH_SSE3_BIT) && (GLM_MODEL == GLM_MODEL_32) +# pragma message("GLM: x86 32 bits with SSE3 instruction set build target") + +# elif (GLM_ARCH & GLM_ARCH_SSE2_BIT) && (GLM_MODEL == GLM_MODEL_64) +# pragma message("GLM: x86 64 bits with SSE2 instruction set build target") +# elif (GLM_ARCH & GLM_ARCH_SSE2_BIT) && (GLM_MODEL == GLM_MODEL_32) +# pragma message("GLM: x86 32 bits with SSE2 instruction set build target") + +# elif (GLM_ARCH & GLM_ARCH_X86_BIT) && (GLM_MODEL == GLM_MODEL_64) +# pragma message("GLM: x86 64 bits build target") +# elif (GLM_ARCH & GLM_ARCH_X86_BIT) && (GLM_MODEL == GLM_MODEL_32) +# pragma message("GLM: x86 32 bits build target") + +# elif (GLM_ARCH & GLM_ARCH_NEON_BIT) && (GLM_MODEL == GLM_MODEL_64) +# pragma message("GLM: ARM 64 bits with Neon instruction set build target") +# elif (GLM_ARCH & GLM_ARCH_NEON_BIT) && (GLM_MODEL == GLM_MODEL_32) +# pragma message("GLM: ARM 32 bits with Neon instruction set build target") + +# elif (GLM_ARCH & GLM_ARCH_ARM_BIT) && (GLM_MODEL == GLM_MODEL_64) +# pragma message("GLM: ARM 64 bits build target") +# elif (GLM_ARCH & GLM_ARCH_ARM_BIT) && (GLM_MODEL == GLM_MODEL_32) +# pragma message("GLM: ARM 32 bits build target") + +# elif (GLM_ARCH & GLM_ARCH_MIPS_BIT) && (GLM_MODEL == GLM_MODEL_64) +# pragma message("GLM: MIPS 64 bits build target") +# elif (GLM_ARCH & GLM_ARCH_MIPS_BIT) && (GLM_MODEL == GLM_MODEL_32) +# pragma message("GLM: MIPS 32 bits build target") + +# elif (GLM_ARCH & GLM_ARCH_PPC_BIT) && (GLM_MODEL == GLM_MODEL_64) +# pragma message("GLM: PowerPC 64 bits build target") +# elif (GLM_ARCH & GLM_ARCH_PPC_BIT) && (GLM_MODEL == GLM_MODEL_32) +# pragma message("GLM: PowerPC 32 bits build target") +# else +# pragma message("GLM: Unknown build target") +# endif//GLM_ARCH + + // Report platform name +# if(GLM_PLATFORM & GLM_PLATFORM_QNXNTO) +# pragma message("GLM: QNX platform detected") +//# elif(GLM_PLATFORM & GLM_PLATFORM_IOS) +//# pragma message("GLM: iOS platform detected") +# elif(GLM_PLATFORM & GLM_PLATFORM_APPLE) +# pragma message("GLM: Apple platform detected") +# elif(GLM_PLATFORM & GLM_PLATFORM_WINCE) +# pragma message("GLM: WinCE platform detected") +# elif(GLM_PLATFORM & GLM_PLATFORM_WINDOWS) +# pragma message("GLM: Windows platform detected") +# elif(GLM_PLATFORM & GLM_PLATFORM_CHROME_NACL) +# pragma message("GLM: Native Client detected") +# elif(GLM_PLATFORM & GLM_PLATFORM_ANDROID) +# pragma message("GLM: Android platform detected") +# elif(GLM_PLATFORM & GLM_PLATFORM_LINUX) +# pragma message("GLM: Linux platform detected") +# elif(GLM_PLATFORM & GLM_PLATFORM_UNIX) +# pragma message("GLM: UNIX platform detected") +# elif(GLM_PLATFORM & GLM_PLATFORM_UNKNOWN) +# pragma message("GLM: platform unknown") +# else +# pragma message("GLM: platform not detected") +# endif + + // Report whether only xyzw component are used +# if defined GLM_FORCE_XYZW_ONLY +# pragma message("GLM: GLM_FORCE_XYZW_ONLY is defined. Only x, y, z and w component are available in vector type. This define disables swizzle operators and SIMD instruction sets.") +# endif + + // Report swizzle operator support +# if GLM_CONFIG_SWIZZLE == GLM_SWIZZLE_OPERATOR +# pragma message("GLM: GLM_FORCE_SWIZZLE is defined, swizzling operators enabled.") +# elif GLM_CONFIG_SWIZZLE == GLM_SWIZZLE_FUNCTION +# pragma message("GLM: GLM_FORCE_SWIZZLE is defined, swizzling functions enabled. Enable compiler C++ language extensions to enable swizzle operators.") +# else +# pragma message("GLM: GLM_FORCE_SWIZZLE is undefined. swizzling functions or operators are disabled.") +# endif + + // Report .length() type +# if GLM_CONFIG_LENGTH_TYPE == GLM_LENGTH_SIZE_T +# pragma message("GLM: GLM_FORCE_SIZE_T_LENGTH is defined. .length() returns a glm::length_t, a typedef of std::size_t.") +# else +# pragma message("GLM: GLM_FORCE_SIZE_T_LENGTH is undefined. .length() returns a glm::length_t, a typedef of int following GLSL.") +# endif + +# if GLM_CONFIG_UNRESTRICTED_GENTYPE == GLM_ENABLE +# pragma message("GLM: GLM_FORCE_UNRESTRICTED_GENTYPE is defined. Removes GLSL restrictions on valid function genTypes.") +# else +# pragma message("GLM: GLM_FORCE_UNRESTRICTED_GENTYPE is undefined. Follows strictly GLSL on valid function genTypes.") +# endif + +# if GLM_SILENT_WARNINGS == GLM_ENABLE +# pragma message("GLM: GLM_FORCE_SILENT_WARNINGS is defined. Ignores C++ warnings from using C++ language extensions.") +# else +# pragma message("GLM: GLM_FORCE_SILENT_WARNINGS is undefined. Shows C++ warnings from using C++ language extensions.") +# endif + +# ifdef GLM_FORCE_SINGLE_ONLY +# pragma message("GLM: GLM_FORCE_SINGLE_ONLY is defined. Using only single precision floating-point types.") +# endif + +# if defined(GLM_FORCE_ALIGNED_GENTYPES) && (GLM_CONFIG_ALIGNED_GENTYPES == GLM_ENABLE) +# undef GLM_FORCE_ALIGNED_GENTYPES +# pragma message("GLM: GLM_FORCE_ALIGNED_GENTYPES is defined, allowing aligned types. This prevents the use of C++ constexpr.") +# elif defined(GLM_FORCE_ALIGNED_GENTYPES) && (GLM_CONFIG_ALIGNED_GENTYPES == GLM_DISABLE) +# undef GLM_FORCE_ALIGNED_GENTYPES +# pragma message("GLM: GLM_FORCE_ALIGNED_GENTYPES is defined but is disabled. It requires C++11 and language extensions.") +# endif + +# if defined(GLM_FORCE_DEFAULT_ALIGNED_GENTYPES) +# if GLM_CONFIG_ALIGNED_GENTYPES == GLM_DISABLE +# undef GLM_FORCE_DEFAULT_ALIGNED_GENTYPES +# pragma message("GLM: GLM_FORCE_DEFAULT_ALIGNED_GENTYPES is defined but is disabled. It requires C++11 and language extensions.") +# elif GLM_CONFIG_ALIGNED_GENTYPES == GLM_ENABLE +# pragma message("GLM: GLM_FORCE_DEFAULT_ALIGNED_GENTYPES is defined. All gentypes (e.g. vec3) will be aligned and padded by default.") +# endif +# endif + +# if GLM_CONFIG_CLIP_CONTROL & GLM_CLIP_CONTROL_ZO_BIT +# pragma message("GLM: GLM_FORCE_DEPTH_ZERO_TO_ONE is defined. Using zero to one depth clip space.") +# else +# pragma message("GLM: GLM_FORCE_DEPTH_ZERO_TO_ONE is undefined. Using negative one to one depth clip space.") +# endif + +# if GLM_CONFIG_CLIP_CONTROL & GLM_CLIP_CONTROL_LH_BIT +# pragma message("GLM: GLM_FORCE_LEFT_HANDED is defined. Using left handed coordinate system.") +# else +# pragma message("GLM: GLM_FORCE_LEFT_HANDED is undefined. Using right handed coordinate system.") +# endif +#endif//GLM_MESSAGES + +#endif//GLM_SETUP_INCLUDED diff --git a/MacroLibX/third_party/glm/detail/type_float.hpp b/MacroLibX/third_party/glm/detail/type_float.hpp new file mode 100644 index 0000000..c8037eb --- /dev/null +++ b/MacroLibX/third_party/glm/detail/type_float.hpp @@ -0,0 +1,68 @@ +#pragma once + +#include "setup.hpp" + +#if GLM_COMPILER == GLM_COMPILER_VC12 +# pragma warning(push) +# pragma warning(disable: 4512) // assignment operator could not be generated +#endif + +namespace glm{ +namespace detail +{ + template + union float_t + {}; + + // https://randomascii.wordpress.com/2012/02/25/comparing-floating-point-numbers-2012-edition/ + template <> + union float_t + { + typedef int int_type; + typedef float float_type; + + GLM_CONSTEXPR float_t(float_type Num = 0.0f) : f(Num) {} + + GLM_CONSTEXPR float_t& operator=(float_t const& x) + { + f = x.f; + return *this; + } + + // Portable extraction of components. + GLM_CONSTEXPR bool negative() const { return i < 0; } + GLM_CONSTEXPR int_type mantissa() const { return i & ((1 << 23) - 1); } + GLM_CONSTEXPR int_type exponent() const { return (i >> 23) & ((1 << 8) - 1); } + + int_type i; + float_type f; + }; + + template <> + union float_t + { + typedef detail::int64 int_type; + typedef double float_type; + + GLM_CONSTEXPR float_t(float_type Num = static_cast(0)) : f(Num) {} + + GLM_CONSTEXPR float_t& operator=(float_t const& x) + { + f = x.f; + return *this; + } + + // Portable extraction of components. + GLM_CONSTEXPR bool negative() const { return i < 0; } + GLM_CONSTEXPR int_type mantissa() const { return i & ((int_type(1) << 52) - 1); } + GLM_CONSTEXPR int_type exponent() const { return (i >> 52) & ((int_type(1) << 11) - 1); } + + int_type i; + float_type f; + }; +}//namespace detail +}//namespace glm + +#if GLM_COMPILER == GLM_COMPILER_VC12 +# pragma warning(pop) +#endif diff --git a/MacroLibX/third_party/glm/detail/type_half.hpp b/MacroLibX/third_party/glm/detail/type_half.hpp new file mode 100644 index 0000000..40b8bec --- /dev/null +++ b/MacroLibX/third_party/glm/detail/type_half.hpp @@ -0,0 +1,16 @@ +#pragma once + +#include "setup.hpp" + +namespace glm{ +namespace detail +{ + typedef short hdata; + + GLM_FUNC_DECL float toFloat32(hdata value); + GLM_FUNC_DECL hdata toFloat16(float const& value); + +}//namespace detail +}//namespace glm + +#include "type_half.inl" diff --git a/MacroLibX/third_party/glm/detail/type_half.inl b/MacroLibX/third_party/glm/detail/type_half.inl new file mode 100644 index 0000000..b0723e3 --- /dev/null +++ b/MacroLibX/third_party/glm/detail/type_half.inl @@ -0,0 +1,241 @@ +namespace glm{ +namespace detail +{ + GLM_FUNC_QUALIFIER float overflow() + { + volatile float f = 1e10; + + for(int i = 0; i < 10; ++i) + f *= f; // this will overflow before the for loop terminates + return f; + } + + union uif32 + { + GLM_FUNC_QUALIFIER uif32() : + i(0) + {} + + GLM_FUNC_QUALIFIER uif32(float f_) : + f(f_) + {} + + GLM_FUNC_QUALIFIER uif32(unsigned int i_) : + i(i_) + {} + + float f; + unsigned int i; + }; + + GLM_FUNC_QUALIFIER float toFloat32(hdata value) + { + int s = (value >> 15) & 0x00000001; + int e = (value >> 10) & 0x0000001f; + int m = value & 0x000003ff; + + if(e == 0) + { + if(m == 0) + { + // + // Plus or minus zero + // + + detail::uif32 result; + result.i = static_cast(s << 31); + return result.f; + } + else + { + // + // Denormalized number -- renormalize it + // + + while(!(m & 0x00000400)) + { + m <<= 1; + e -= 1; + } + + e += 1; + m &= ~0x00000400; + } + } + else if(e == 31) + { + if(m == 0) + { + // + // Positive or negative infinity + // + + uif32 result; + result.i = static_cast((s << 31) | 0x7f800000); + return result.f; + } + else + { + // + // Nan -- preserve sign and significand bits + // + + uif32 result; + result.i = static_cast((s << 31) | 0x7f800000 | (m << 13)); + return result.f; + } + } + + // + // Normalized number + // + + e = e + (127 - 15); + m = m << 13; + + // + // Assemble s, e and m. + // + + uif32 Result; + Result.i = static_cast((s << 31) | (e << 23) | m); + return Result.f; + } + + GLM_FUNC_QUALIFIER hdata toFloat16(float const& f) + { + uif32 Entry; + Entry.f = f; + int i = static_cast(Entry.i); + + // + // Our floating point number, f, is represented by the bit + // pattern in integer i. Disassemble that bit pattern into + // the sign, s, the exponent, e, and the significand, m. + // Shift s into the position where it will go in the + // resulting half number. + // Adjust e, accounting for the different exponent bias + // of float and half (127 versus 15). + // + + int s = (i >> 16) & 0x00008000; + int e = ((i >> 23) & 0x000000ff) - (127 - 15); + int m = i & 0x007fffff; + + // + // Now reassemble s, e and m into a half: + // + + if(e <= 0) + { + if(e < -10) + { + // + // E is less than -10. The absolute value of f is + // less than half_MIN (f may be a small normalized + // float, a denormalized float or a zero). + // + // We convert f to a half zero. + // + + return hdata(s); + } + + // + // E is between -10 and 0. F is a normalized float, + // whose magnitude is less than __half_NRM_MIN. + // + // We convert f to a denormalized half. + // + + m = (m | 0x00800000) >> (1 - e); + + // + // Round to nearest, round "0.5" up. + // + // Rounding may cause the significand to overflow and make + // our number normalized. Because of the way a half's bits + // are laid out, we don't have to treat this case separately; + // the code below will handle it correctly. + // + + if(m & 0x00001000) + m += 0x00002000; + + // + // Assemble the half from s, e (zero) and m. + // + + return hdata(s | (m >> 13)); + } + else if(e == 0xff - (127 - 15)) + { + if(m == 0) + { + // + // F is an infinity; convert f to a half + // infinity with the same sign as f. + // + + return hdata(s | 0x7c00); + } + else + { + // + // F is a NAN; we produce a half NAN that preserves + // the sign bit and the 10 leftmost bits of the + // significand of f, with one exception: If the 10 + // leftmost bits are all zero, the NAN would turn + // into an infinity, so we have to set at least one + // bit in the significand. + // + + m >>= 13; + + return hdata(s | 0x7c00 | m | (m == 0)); + } + } + else + { + // + // E is greater than zero. F is a normalized float. + // We try to convert f to a normalized half. + // + + // + // Round to nearest, round "0.5" up + // + + if(m & 0x00001000) + { + m += 0x00002000; + + if(m & 0x00800000) + { + m = 0; // overflow in significand, + e += 1; // adjust exponent + } + } + + // + // Handle exponent overflow + // + + if (e > 30) + { + overflow(); // Cause a hardware floating point overflow; + + return hdata(s | 0x7c00); + // if this returns, the half becomes an + } // infinity with the same sign as f. + + // + // Assemble the half from s, e and m. + // + + return hdata(s | (e << 10) | (m >> 13)); + } + } + +}//namespace detail +}//namespace glm diff --git a/MacroLibX/third_party/glm/detail/type_mat2x2.hpp b/MacroLibX/third_party/glm/detail/type_mat2x2.hpp new file mode 100644 index 0000000..033908f --- /dev/null +++ b/MacroLibX/third_party/glm/detail/type_mat2x2.hpp @@ -0,0 +1,177 @@ +/// @ref core +/// @file glm/detail/type_mat2x2.hpp + +#pragma once + +#include "type_vec2.hpp" +#include +#include + +namespace glm +{ + template + struct mat<2, 2, T, Q> + { + typedef vec<2, T, Q> col_type; + typedef vec<2, T, Q> row_type; + typedef mat<2, 2, T, Q> type; + typedef mat<2, 2, T, Q> transpose_type; + typedef T value_type; + + private: + col_type value[2]; + + public: + // -- Accesses -- + + typedef length_t length_type; + GLM_FUNC_DECL static GLM_CONSTEXPR length_type length() { return 2; } + + GLM_FUNC_DECL col_type & operator[](length_type i); + GLM_FUNC_DECL GLM_CONSTEXPR col_type const& operator[](length_type i) const; + + // -- Constructors -- + + GLM_FUNC_DECL GLM_CONSTEXPR mat() GLM_DEFAULT; + template + GLM_FUNC_DECL GLM_CONSTEXPR mat(mat<2, 2, T, P> const& m); + + GLM_FUNC_DECL explicit GLM_CONSTEXPR mat(T scalar); + GLM_FUNC_DECL GLM_CONSTEXPR mat( + T const& x1, T const& y1, + T const& x2, T const& y2); + GLM_FUNC_DECL GLM_CONSTEXPR mat( + col_type const& v1, + col_type const& v2); + + // -- Conversions -- + + template + GLM_FUNC_DECL GLM_CONSTEXPR mat( + U const& x1, V const& y1, + M const& x2, N const& y2); + + template + GLM_FUNC_DECL GLM_CONSTEXPR mat( + vec<2, U, Q> const& v1, + vec<2, V, Q> const& v2); + + // -- Matrix conversions -- + + template + GLM_FUNC_DECL GLM_EXPLICIT GLM_CONSTEXPR mat(mat<2, 2, U, P> const& m); + + GLM_FUNC_DECL GLM_EXPLICIT GLM_CONSTEXPR mat(mat<3, 3, T, Q> const& x); + GLM_FUNC_DECL GLM_EXPLICIT GLM_CONSTEXPR mat(mat<4, 4, T, Q> const& x); + GLM_FUNC_DECL GLM_EXPLICIT GLM_CONSTEXPR mat(mat<2, 3, T, Q> const& x); + GLM_FUNC_DECL GLM_EXPLICIT GLM_CONSTEXPR mat(mat<3, 2, T, Q> const& x); + GLM_FUNC_DECL GLM_EXPLICIT GLM_CONSTEXPR mat(mat<2, 4, T, Q> const& x); + GLM_FUNC_DECL GLM_EXPLICIT GLM_CONSTEXPR mat(mat<4, 2, T, Q> const& x); + GLM_FUNC_DECL GLM_EXPLICIT GLM_CONSTEXPR mat(mat<3, 4, T, Q> const& x); + GLM_FUNC_DECL GLM_EXPLICIT GLM_CONSTEXPR mat(mat<4, 3, T, Q> const& x); + + // -- Unary arithmetic operators -- + + template + GLM_FUNC_DECL mat<2, 2, T, Q> & operator=(mat<2, 2, U, Q> const& m); + template + GLM_FUNC_DECL mat<2, 2, T, Q> & operator+=(U s); + template + GLM_FUNC_DECL mat<2, 2, T, Q> & operator+=(mat<2, 2, U, Q> const& m); + template + GLM_FUNC_DECL mat<2, 2, T, Q> & operator-=(U s); + template + GLM_FUNC_DECL mat<2, 2, T, Q> & operator-=(mat<2, 2, U, Q> const& m); + template + GLM_FUNC_DECL mat<2, 2, T, Q> & operator*=(U s); + template + GLM_FUNC_DECL mat<2, 2, T, Q> & operator*=(mat<2, 2, U, Q> const& m); + template + GLM_FUNC_DECL mat<2, 2, T, Q> & operator/=(U s); + template + GLM_FUNC_DECL mat<2, 2, T, Q> & operator/=(mat<2, 2, U, Q> const& m); + + // -- Increment and decrement operators -- + + GLM_FUNC_DECL mat<2, 2, T, Q> & operator++ (); + GLM_FUNC_DECL mat<2, 2, T, Q> & operator-- (); + GLM_FUNC_DECL mat<2, 2, T, Q> operator++(int); + GLM_FUNC_DECL mat<2, 2, T, Q> operator--(int); + }; + + // -- Unary operators -- + + template + GLM_FUNC_DECL mat<2, 2, T, Q> operator+(mat<2, 2, T, Q> const& m); + + template + GLM_FUNC_DECL mat<2, 2, T, Q> operator-(mat<2, 2, T, Q> const& m); + + // -- Binary operators -- + + template + GLM_FUNC_DECL mat<2, 2, T, Q> operator+(mat<2, 2, T, Q> const& m, T scalar); + + template + GLM_FUNC_DECL mat<2, 2, T, Q> operator+(T scalar, mat<2, 2, T, Q> const& m); + + template + GLM_FUNC_DECL mat<2, 2, T, Q> operator+(mat<2, 2, T, Q> const& m1, mat<2, 2, T, Q> const& m2); + + template + GLM_FUNC_DECL mat<2, 2, T, Q> operator-(mat<2, 2, T, Q> const& m, T scalar); + + template + GLM_FUNC_DECL mat<2, 2, T, Q> operator-(T scalar, mat<2, 2, T, Q> const& m); + + template + GLM_FUNC_DECL mat<2, 2, T, Q> operator-(mat<2, 2, T, Q> const& m1, mat<2, 2, T, Q> const& m2); + + template + GLM_FUNC_DECL mat<2, 2, T, Q> operator*(mat<2, 2, T, Q> const& m, T scalar); + + template + GLM_FUNC_DECL mat<2, 2, T, Q> operator*(T scalar, mat<2, 2, T, Q> const& m); + + template + GLM_FUNC_DECL typename mat<2, 2, T, Q>::col_type operator*(mat<2, 2, T, Q> const& m, typename mat<2, 2, T, Q>::row_type const& v); + + template + GLM_FUNC_DECL typename mat<2, 2, T, Q>::row_type operator*(typename mat<2, 2, T, Q>::col_type const& v, mat<2, 2, T, Q> const& m); + + template + GLM_FUNC_DECL mat<2, 2, T, Q> operator*(mat<2, 2, T, Q> const& m1, mat<2, 2, T, Q> const& m2); + + template + GLM_FUNC_DECL mat<3, 2, T, Q> operator*(mat<2, 2, T, Q> const& m1, mat<3, 2, T, Q> const& m2); + + template + GLM_FUNC_DECL mat<4, 2, T, Q> operator*(mat<2, 2, T, Q> const& m1, mat<4, 2, T, Q> const& m2); + + template + GLM_FUNC_DECL mat<2, 2, T, Q> operator/(mat<2, 2, T, Q> const& m, T scalar); + + template + GLM_FUNC_DECL mat<2, 2, T, Q> operator/(T scalar, mat<2, 2, T, Q> const& m); + + template + GLM_FUNC_DECL typename mat<2, 2, T, Q>::col_type operator/(mat<2, 2, T, Q> const& m, typename mat<2, 2, T, Q>::row_type const& v); + + template + GLM_FUNC_DECL typename mat<2, 2, T, Q>::row_type operator/(typename mat<2, 2, T, Q>::col_type const& v, mat<2, 2, T, Q> const& m); + + template + GLM_FUNC_DECL mat<2, 2, T, Q> operator/(mat<2, 2, T, Q> const& m1, mat<2, 2, T, Q> const& m2); + + // -- Boolean operators -- + + template + GLM_FUNC_DECL bool operator==(mat<2, 2, T, Q> const& m1, mat<2, 2, T, Q> const& m2); + + template + GLM_FUNC_DECL bool operator!=(mat<2, 2, T, Q> const& m1, mat<2, 2, T, Q> const& m2); +} //namespace glm + +#ifndef GLM_EXTERNAL_TEMPLATE +#include "type_mat2x2.inl" +#endif diff --git a/MacroLibX/third_party/glm/detail/type_mat2x2.inl b/MacroLibX/third_party/glm/detail/type_mat2x2.inl new file mode 100644 index 0000000..fe5d1aa --- /dev/null +++ b/MacroLibX/third_party/glm/detail/type_mat2x2.inl @@ -0,0 +1,536 @@ +#include "../matrix.hpp" + +namespace glm +{ + // -- Constructors -- + +# if GLM_CONFIG_DEFAULTED_FUNCTIONS == GLM_DISABLE + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR mat<2, 2, T, Q>::mat() +# if GLM_CONFIG_CTOR_INIT == GLM_CTOR_INITIALIZER_LIST + : value{col_type(1, 0), col_type(0, 1)} +# endif + { +# if GLM_CONFIG_CTOR_INIT == GLM_CTOR_INITIALISATION + this->value[0] = col_type(1, 0); + this->value[1] = col_type(0, 1); +# endif + } +# endif + + template + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR mat<2, 2, T, Q>::mat(mat<2, 2, T, P> const& m) +# if GLM_HAS_INITIALIZER_LISTS + : value{m[0], m[1]} +# endif + { +# if !GLM_HAS_INITIALIZER_LISTS + this->value[0] = m[0]; + this->value[1] = m[1]; +# endif + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR mat<2, 2, T, Q>::mat(T scalar) +# if GLM_HAS_INITIALIZER_LISTS + : value{col_type(scalar, 0), col_type(0, scalar)} +# endif + { +# if !GLM_HAS_INITIALIZER_LISTS + this->value[0] = col_type(scalar, 0); + this->value[1] = col_type(0, scalar); +# endif + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR mat<2, 2, T, Q>::mat + ( + T const& x0, T const& y0, + T const& x1, T const& y1 + ) +# if GLM_HAS_INITIALIZER_LISTS + : value{col_type(x0, y0), col_type(x1, y1)} +# endif + { +# if !GLM_HAS_INITIALIZER_LISTS + this->value[0] = col_type(x0, y0); + this->value[1] = col_type(x1, y1); +# endif + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR mat<2, 2, T, Q>::mat(col_type const& v0, col_type const& v1) +# if GLM_HAS_INITIALIZER_LISTS + : value{v0, v1} +# endif + { +# if !GLM_HAS_INITIALIZER_LISTS + this->value[0] = v0; + this->value[1] = v1; +# endif + } + + // -- Conversion constructors -- + + template + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR mat<2, 2, T, Q>::mat + ( + X1 const& x1, Y1 const& y1, + X2 const& x2, Y2 const& y2 + ) +# if GLM_HAS_INITIALIZER_LISTS + : value{col_type(static_cast(x1), value_type(y1)), col_type(static_cast(x2), value_type(y2)) } +# endif + { +# if !GLM_HAS_INITIALIZER_LISTS + this->value[0] = col_type(static_cast(x1), value_type(y1)); + this->value[1] = col_type(static_cast(x2), value_type(y2)); +# endif + } + + template + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR mat<2, 2, T, Q>::mat(vec<2, V1, Q> const& v1, vec<2, V2, Q> const& v2) +# if GLM_HAS_INITIALIZER_LISTS + : value{col_type(v1), col_type(v2)} +# endif + { +# if !GLM_HAS_INITIALIZER_LISTS + this->value[0] = col_type(v1); + this->value[1] = col_type(v2); +# endif + } + + // -- mat2x2 matrix conversions -- + + template + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR mat<2, 2, T, Q>::mat(mat<2, 2, U, P> const& m) +# if GLM_HAS_INITIALIZER_LISTS + : value{col_type(m[0]), col_type(m[1])} +# endif + { +# if !GLM_HAS_INITIALIZER_LISTS + this->value[0] = col_type(m[0]); + this->value[1] = col_type(m[1]); +# endif + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR mat<2, 2, T, Q>::mat(mat<3, 3, T, Q> const& m) +# if GLM_HAS_INITIALIZER_LISTS + : value{col_type(m[0]), col_type(m[1])} +# endif + { +# if !GLM_HAS_INITIALIZER_LISTS + this->value[0] = col_type(m[0]); + this->value[1] = col_type(m[1]); +# endif + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR mat<2, 2, T, Q>::mat(mat<4, 4, T, Q> const& m) +# if GLM_HAS_INITIALIZER_LISTS + : value{col_type(m[0]), col_type(m[1])} +# endif + { +# if !GLM_HAS_INITIALIZER_LISTS + this->value[0] = col_type(m[0]); + this->value[1] = col_type(m[1]); +# endif + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR mat<2, 2, T, Q>::mat(mat<2, 3, T, Q> const& m) +# if GLM_HAS_INITIALIZER_LISTS + : value{col_type(m[0]), col_type(m[1])} +# endif + { +# if !GLM_HAS_INITIALIZER_LISTS + this->value[0] = col_type(m[0]); + this->value[1] = col_type(m[1]); +# endif + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR mat<2, 2, T, Q>::mat(mat<3, 2, T, Q> const& m) +# if GLM_HAS_INITIALIZER_LISTS + : value{col_type(m[0]), col_type(m[1])} +# endif + { +# if !GLM_HAS_INITIALIZER_LISTS + this->value[0] = col_type(m[0]); + this->value[1] = col_type(m[1]); +# endif + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR mat<2, 2, T, Q>::mat(mat<2, 4, T, Q> const& m) +# if GLM_HAS_INITIALIZER_LISTS + : value{col_type(m[0]), col_type(m[1])} +# endif + { +# if !GLM_HAS_INITIALIZER_LISTS + this->value[0] = col_type(m[0]); + this->value[1] = col_type(m[1]); +# endif + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR mat<2, 2, T, Q>::mat(mat<4, 2, T, Q> const& m) +# if GLM_HAS_INITIALIZER_LISTS + : value{col_type(m[0]), col_type(m[1])} +# endif + { +# if !GLM_HAS_INITIALIZER_LISTS + this->value[0] = col_type(m[0]); + this->value[1] = col_type(m[1]); +# endif + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR mat<2, 2, T, Q>::mat(mat<3, 4, T, Q> const& m) +# if GLM_HAS_INITIALIZER_LISTS + : value{col_type(m[0]), col_type(m[1])} +# endif + { +# if !GLM_HAS_INITIALIZER_LISTS + this->value[0] = col_type(m[0]); + this->value[1] = col_type(m[1]); +# endif + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR mat<2, 2, T, Q>::mat(mat<4, 3, T, Q> const& m) +# if GLM_HAS_INITIALIZER_LISTS + : value{col_type(m[0]), col_type(m[1])} +# endif + { +# if !GLM_HAS_INITIALIZER_LISTS + this->value[0] = col_type(m[0]); + this->value[1] = col_type(m[1]); +# endif + } + + // -- Accesses -- + + template + GLM_FUNC_QUALIFIER typename mat<2, 2, T, Q>::col_type& mat<2, 2, T, Q>::operator[](typename mat<2, 2, T, Q>::length_type i) + { + assert(i < this->length()); + return this->value[i]; + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR typename mat<2, 2, T, Q>::col_type const& mat<2, 2, T, Q>::operator[](typename mat<2, 2, T, Q>::length_type i) const + { + assert(i < this->length()); + return this->value[i]; + } + + // -- Unary updatable operators -- + + template + template + GLM_FUNC_QUALIFIER mat<2, 2, T, Q>& mat<2, 2, T, Q>::operator=(mat<2, 2, U, Q> const& m) + { + this->value[0] = m[0]; + this->value[1] = m[1]; + return *this; + } + + template + template + GLM_FUNC_QUALIFIER mat<2, 2, T, Q>& mat<2, 2, T, Q>::operator+=(U scalar) + { + this->value[0] += scalar; + this->value[1] += scalar; + return *this; + } + + template + template + GLM_FUNC_QUALIFIER mat<2, 2, T, Q>& mat<2, 2, T, Q>::operator+=(mat<2, 2, U, Q> const& m) + { + this->value[0] += m[0]; + this->value[1] += m[1]; + return *this; + } + + template + template + GLM_FUNC_QUALIFIER mat<2, 2, T, Q>& mat<2, 2, T, Q>::operator-=(U scalar) + { + this->value[0] -= scalar; + this->value[1] -= scalar; + return *this; + } + + template + template + GLM_FUNC_QUALIFIER mat<2, 2, T, Q>& mat<2, 2, T, Q>::operator-=(mat<2, 2, U, Q> const& m) + { + this->value[0] -= m[0]; + this->value[1] -= m[1]; + return *this; + } + + template + template + GLM_FUNC_QUALIFIER mat<2, 2, T, Q>& mat<2, 2, T, Q>::operator*=(U scalar) + { + this->value[0] *= scalar; + this->value[1] *= scalar; + return *this; + } + + template + template + GLM_FUNC_QUALIFIER mat<2, 2, T, Q>& mat<2, 2, T, Q>::operator*=(mat<2, 2, U, Q> const& m) + { + return (*this = *this * m); + } + + template + template + GLM_FUNC_QUALIFIER mat<2, 2, T, Q>& mat<2, 2, T, Q>::operator/=(U scalar) + { + this->value[0] /= scalar; + this->value[1] /= scalar; + return *this; + } + + template + template + GLM_FUNC_QUALIFIER mat<2, 2, T, Q>& mat<2, 2, T, Q>::operator/=(mat<2, 2, U, Q> const& m) + { + return *this *= inverse(m); + } + + // -- Increment and decrement operators -- + + template + GLM_FUNC_QUALIFIER mat<2, 2, T, Q>& mat<2, 2, T, Q>::operator++() + { + ++this->value[0]; + ++this->value[1]; + return *this; + } + + template + GLM_FUNC_QUALIFIER mat<2, 2, T, Q>& mat<2, 2, T, Q>::operator--() + { + --this->value[0]; + --this->value[1]; + return *this; + } + + template + GLM_FUNC_QUALIFIER mat<2, 2, T, Q> mat<2, 2, T, Q>::operator++(int) + { + mat<2, 2, T, Q> Result(*this); + ++*this; + return Result; + } + + template + GLM_FUNC_QUALIFIER mat<2, 2, T, Q> mat<2, 2, T, Q>::operator--(int) + { + mat<2, 2, T, Q> Result(*this); + --*this; + return Result; + } + + // -- Unary arithmetic operators -- + + template + GLM_FUNC_QUALIFIER mat<2, 2, T, Q> operator+(mat<2, 2, T, Q> const& m) + { + return m; + } + + template + GLM_FUNC_QUALIFIER mat<2, 2, T, Q> operator-(mat<2, 2, T, Q> const& m) + { + return mat<2, 2, T, Q>( + -m[0], + -m[1]); + } + + // -- Binary arithmetic operators -- + + template + GLM_FUNC_QUALIFIER mat<2, 2, T, Q> operator+(mat<2, 2, T, Q> const& m, T scalar) + { + return mat<2, 2, T, Q>( + m[0] + scalar, + m[1] + scalar); + } + + template + GLM_FUNC_QUALIFIER mat<2, 2, T, Q> operator+(T scalar, mat<2, 2, T, Q> const& m) + { + return mat<2, 2, T, Q>( + m[0] + scalar, + m[1] + scalar); + } + + template + GLM_FUNC_QUALIFIER mat<2, 2, T, Q> operator+(mat<2, 2, T, Q> const& m1, mat<2, 2, T, Q> const& m2) + { + return mat<2, 2, T, Q>( + m1[0] + m2[0], + m1[1] + m2[1]); + } + + template + GLM_FUNC_QUALIFIER mat<2, 2, T, Q> operator-(mat<2, 2, T, Q> const& m, T scalar) + { + return mat<2, 2, T, Q>( + m[0] - scalar, + m[1] - scalar); + } + + template + GLM_FUNC_QUALIFIER mat<2, 2, T, Q> operator-(T scalar, mat<2, 2, T, Q> const& m) + { + return mat<2, 2, T, Q>( + scalar - m[0], + scalar - m[1]); + } + + template + GLM_FUNC_QUALIFIER mat<2, 2, T, Q> operator-(mat<2, 2, T, Q> const& m1, mat<2, 2, T, Q> const& m2) + { + return mat<2, 2, T, Q>( + m1[0] - m2[0], + m1[1] - m2[1]); + } + + template + GLM_FUNC_QUALIFIER mat<2, 2, T, Q> operator*(mat<2, 2, T, Q> const& m, T scalar) + { + return mat<2, 2, T, Q>( + m[0] * scalar, + m[1] * scalar); + } + + template + GLM_FUNC_QUALIFIER mat<2, 2, T, Q> operator*(T scalar, mat<2, 2, T, Q> const& m) + { + return mat<2, 2, T, Q>( + m[0] * scalar, + m[1] * scalar); + } + + template + GLM_FUNC_QUALIFIER typename mat<2, 2, T, Q>::col_type operator* + ( + mat<2, 2, T, Q> const& m, + typename mat<2, 2, T, Q>::row_type const& v + ) + { + return vec<2, T, Q>( + m[0][0] * v.x + m[1][0] * v.y, + m[0][1] * v.x + m[1][1] * v.y); + } + + template + GLM_FUNC_QUALIFIER typename mat<2, 2, T, Q>::row_type operator* + ( + typename mat<2, 2, T, Q>::col_type const& v, + mat<2, 2, T, Q> const& m + ) + { + return vec<2, T, Q>( + v.x * m[0][0] + v.y * m[0][1], + v.x * m[1][0] + v.y * m[1][1]); + } + + template + GLM_FUNC_QUALIFIER mat<2, 2, T, Q> operator*(mat<2, 2, T, Q> const& m1, mat<2, 2, T, Q> const& m2) + { + return mat<2, 2, T, Q>( + m1[0][0] * m2[0][0] + m1[1][0] * m2[0][1], + m1[0][1] * m2[0][0] + m1[1][1] * m2[0][1], + m1[0][0] * m2[1][0] + m1[1][0] * m2[1][1], + m1[0][1] * m2[1][0] + m1[1][1] * m2[1][1]); + } + + template + GLM_FUNC_QUALIFIER mat<3, 2, T, Q> operator*(mat<2, 2, T, Q> const& m1, mat<3, 2, T, Q> const& m2) + { + return mat<3, 2, T, Q>( + m1[0][0] * m2[0][0] + m1[1][0] * m2[0][1], + m1[0][1] * m2[0][0] + m1[1][1] * m2[0][1], + m1[0][0] * m2[1][0] + m1[1][0] * m2[1][1], + m1[0][1] * m2[1][0] + m1[1][1] * m2[1][1], + m1[0][0] * m2[2][0] + m1[1][0] * m2[2][1], + m1[0][1] * m2[2][0] + m1[1][1] * m2[2][1]); + } + + template + GLM_FUNC_QUALIFIER mat<4, 2, T, Q> operator*(mat<2, 2, T, Q> const& m1, mat<4, 2, T, Q> const& m2) + { + return mat<4, 2, T, Q>( + m1[0][0] * m2[0][0] + m1[1][0] * m2[0][1], + m1[0][1] * m2[0][0] + m1[1][1] * m2[0][1], + m1[0][0] * m2[1][0] + m1[1][0] * m2[1][1], + m1[0][1] * m2[1][0] + m1[1][1] * m2[1][1], + m1[0][0] * m2[2][0] + m1[1][0] * m2[2][1], + m1[0][1] * m2[2][0] + m1[1][1] * m2[2][1], + m1[0][0] * m2[3][0] + m1[1][0] * m2[3][1], + m1[0][1] * m2[3][0] + m1[1][1] * m2[3][1]); + } + + template + GLM_FUNC_QUALIFIER mat<2, 2, T, Q> operator/(mat<2, 2, T, Q> const& m, T scalar) + { + return mat<2, 2, T, Q>( + m[0] / scalar, + m[1] / scalar); + } + + template + GLM_FUNC_QUALIFIER mat<2, 2, T, Q> operator/(T scalar, mat<2, 2, T, Q> const& m) + { + return mat<2, 2, T, Q>( + scalar / m[0], + scalar / m[1]); + } + + template + GLM_FUNC_QUALIFIER typename mat<2, 2, T, Q>::col_type operator/(mat<2, 2, T, Q> const& m, typename mat<2, 2, T, Q>::row_type const& v) + { + return inverse(m) * v; + } + + template + GLM_FUNC_QUALIFIER typename mat<2, 2, T, Q>::row_type operator/(typename mat<2, 2, T, Q>::col_type const& v, mat<2, 2, T, Q> const& m) + { + return v * inverse(m); + } + + template + GLM_FUNC_QUALIFIER mat<2, 2, T, Q> operator/(mat<2, 2, T, Q> const& m1, mat<2, 2, T, Q> const& m2) + { + mat<2, 2, T, Q> m1_copy(m1); + return m1_copy /= m2; + } + + // -- Boolean operators -- + + template + GLM_FUNC_QUALIFIER bool operator==(mat<2, 2, T, Q> const& m1, mat<2, 2, T, Q> const& m2) + { + return (m1[0] == m2[0]) && (m1[1] == m2[1]); + } + + template + GLM_FUNC_QUALIFIER bool operator!=(mat<2, 2, T, Q> const& m1, mat<2, 2, T, Q> const& m2) + { + return (m1[0] != m2[0]) || (m1[1] != m2[1]); + } +} //namespace glm diff --git a/MacroLibX/third_party/glm/detail/type_mat2x3.hpp b/MacroLibX/third_party/glm/detail/type_mat2x3.hpp new file mode 100644 index 0000000..d6596e4 --- /dev/null +++ b/MacroLibX/third_party/glm/detail/type_mat2x3.hpp @@ -0,0 +1,159 @@ +/// @ref core +/// @file glm/detail/type_mat2x3.hpp + +#pragma once + +#include "type_vec2.hpp" +#include "type_vec3.hpp" +#include +#include + +namespace glm +{ + template + struct mat<2, 3, T, Q> + { + typedef vec<3, T, Q> col_type; + typedef vec<2, T, Q> row_type; + typedef mat<2, 3, T, Q> type; + typedef mat<3, 2, T, Q> transpose_type; + typedef T value_type; + + private: + col_type value[2]; + + public: + // -- Accesses -- + + typedef length_t length_type; + GLM_FUNC_DECL static GLM_CONSTEXPR length_type length() { return 2; } + + GLM_FUNC_DECL col_type & operator[](length_type i); + GLM_FUNC_DECL GLM_CONSTEXPR col_type const& operator[](length_type i) const; + + // -- Constructors -- + + GLM_FUNC_DECL GLM_CONSTEXPR mat() GLM_DEFAULT; + template + GLM_FUNC_DECL GLM_CONSTEXPR mat(mat<2, 3, T, P> const& m); + + GLM_FUNC_DECL explicit GLM_CONSTEXPR mat(T scalar); + GLM_FUNC_DECL GLM_CONSTEXPR mat( + T x0, T y0, T z0, + T x1, T y1, T z1); + GLM_FUNC_DECL GLM_CONSTEXPR mat( + col_type const& v0, + col_type const& v1); + + // -- Conversions -- + + template + GLM_FUNC_DECL GLM_CONSTEXPR mat( + X1 x1, Y1 y1, Z1 z1, + X2 x2, Y2 y2, Z2 z2); + + template + GLM_FUNC_DECL GLM_CONSTEXPR mat( + vec<3, U, Q> const& v1, + vec<3, V, Q> const& v2); + + // -- Matrix conversions -- + + template + GLM_FUNC_DECL GLM_EXPLICIT GLM_CONSTEXPR mat(mat<2, 3, U, P> const& m); + + GLM_FUNC_DECL GLM_EXPLICIT GLM_CONSTEXPR mat(mat<2, 2, T, Q> const& x); + GLM_FUNC_DECL GLM_EXPLICIT GLM_CONSTEXPR mat(mat<3, 3, T, Q> const& x); + GLM_FUNC_DECL GLM_EXPLICIT GLM_CONSTEXPR mat(mat<4, 4, T, Q> const& x); + GLM_FUNC_DECL GLM_EXPLICIT GLM_CONSTEXPR mat(mat<2, 4, T, Q> const& x); + GLM_FUNC_DECL GLM_EXPLICIT GLM_CONSTEXPR mat(mat<3, 2, T, Q> const& x); + GLM_FUNC_DECL GLM_EXPLICIT GLM_CONSTEXPR mat(mat<3, 4, T, Q> const& x); + GLM_FUNC_DECL GLM_EXPLICIT GLM_CONSTEXPR mat(mat<4, 2, T, Q> const& x); + GLM_FUNC_DECL GLM_EXPLICIT GLM_CONSTEXPR mat(mat<4, 3, T, Q> const& x); + + // -- Unary arithmetic operators -- + + template + GLM_FUNC_DECL mat<2, 3, T, Q> & operator=(mat<2, 3, U, Q> const& m); + template + GLM_FUNC_DECL mat<2, 3, T, Q> & operator+=(U s); + template + GLM_FUNC_DECL mat<2, 3, T, Q> & operator+=(mat<2, 3, U, Q> const& m); + template + GLM_FUNC_DECL mat<2, 3, T, Q> & operator-=(U s); + template + GLM_FUNC_DECL mat<2, 3, T, Q> & operator-=(mat<2, 3, U, Q> const& m); + template + GLM_FUNC_DECL mat<2, 3, T, Q> & operator*=(U s); + template + GLM_FUNC_DECL mat<2, 3, T, Q> & operator/=(U s); + + // -- Increment and decrement operators -- + + GLM_FUNC_DECL mat<2, 3, T, Q> & operator++ (); + GLM_FUNC_DECL mat<2, 3, T, Q> & operator-- (); + GLM_FUNC_DECL mat<2, 3, T, Q> operator++(int); + GLM_FUNC_DECL mat<2, 3, T, Q> operator--(int); + }; + + // -- Unary operators -- + + template + GLM_FUNC_DECL mat<2, 3, T, Q> operator+(mat<2, 3, T, Q> const& m); + + template + GLM_FUNC_DECL mat<2, 3, T, Q> operator-(mat<2, 3, T, Q> const& m); + + // -- Binary operators -- + + template + GLM_FUNC_DECL mat<2, 3, T, Q> operator+(mat<2, 3, T, Q> const& m, T scalar); + + template + GLM_FUNC_DECL mat<2, 3, T, Q> operator+(mat<2, 3, T, Q> const& m1, mat<2, 3, T, Q> const& m2); + + template + GLM_FUNC_DECL mat<2, 3, T, Q> operator-(mat<2, 3, T, Q> const& m, T scalar); + + template + GLM_FUNC_DECL mat<2, 3, T, Q> operator-(mat<2, 3, T, Q> const& m1, mat<2, 3, T, Q> const& m2); + + template + GLM_FUNC_DECL mat<2, 3, T, Q> operator*(mat<2, 3, T, Q> const& m, T scalar); + + template + GLM_FUNC_DECL mat<2, 3, T, Q> operator*(T scalar, mat<2, 3, T, Q> const& m); + + template + GLM_FUNC_DECL typename mat<2, 3, T, Q>::col_type operator*(mat<2, 3, T, Q> const& m, typename mat<2, 3, T, Q>::row_type const& v); + + template + GLM_FUNC_DECL typename mat<2, 3, T, Q>::row_type operator*(typename mat<2, 3, T, Q>::col_type const& v, mat<2, 3, T, Q> const& m); + + template + GLM_FUNC_DECL mat<2, 3, T, Q> operator*(mat<2, 3, T, Q> const& m1, mat<2, 2, T, Q> const& m2); + + template + GLM_FUNC_DECL mat<3, 3, T, Q> operator*(mat<2, 3, T, Q> const& m1, mat<3, 2, T, Q> const& m2); + + template + GLM_FUNC_DECL mat<4, 3, T, Q> operator*(mat<2, 3, T, Q> const& m1, mat<4, 2, T, Q> const& m2); + + template + GLM_FUNC_DECL mat<2, 3, T, Q> operator/(mat<2, 3, T, Q> const& m, T scalar); + + template + GLM_FUNC_DECL mat<2, 3, T, Q> operator/(T scalar, mat<2, 3, T, Q> const& m); + + // -- Boolean operators -- + + template + GLM_FUNC_DECL bool operator==(mat<2, 3, T, Q> const& m1, mat<2, 3, T, Q> const& m2); + + template + GLM_FUNC_DECL bool operator!=(mat<2, 3, T, Q> const& m1, mat<2, 3, T, Q> const& m2); +}//namespace glm + +#ifndef GLM_EXTERNAL_TEMPLATE +#include "type_mat2x3.inl" +#endif diff --git a/MacroLibX/third_party/glm/detail/type_mat2x3.inl b/MacroLibX/third_party/glm/detail/type_mat2x3.inl new file mode 100644 index 0000000..5fec17e --- /dev/null +++ b/MacroLibX/third_party/glm/detail/type_mat2x3.inl @@ -0,0 +1,510 @@ +namespace glm +{ + // -- Constructors -- + +# if GLM_CONFIG_DEFAULTED_FUNCTIONS == GLM_DISABLE + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR mat<2, 3, T, Q>::mat() +# if GLM_CONFIG_CTOR_INIT == GLM_CTOR_INITIALIZER_LIST + : value{col_type(1, 0, 0), col_type(0, 1, 0)} +# endif + { +# if GLM_CONFIG_CTOR_INIT == GLM_CTOR_INITIALISATION + this->value[0] = col_type(1, 0, 0); + this->value[1] = col_type(0, 1, 0); +# endif + } +# endif + + template + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR mat<2, 3, T, Q>::mat(mat<2, 3, T, P> const& m) +# if GLM_HAS_INITIALIZER_LISTS + : value{m.value[0], m.value[1]} +# endif + { +# if !GLM_HAS_INITIALIZER_LISTS + this->value[0] = m.value[0]; + this->value[1] = m.value[1]; +# endif + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR mat<2, 3, T, Q>::mat(T scalar) +# if GLM_HAS_INITIALIZER_LISTS + : value{col_type(scalar, 0, 0), col_type(0, scalar, 0)} +# endif + { +# if !GLM_HAS_INITIALIZER_LISTS + this->value[0] = col_type(scalar, 0, 0); + this->value[1] = col_type(0, scalar, 0); +# endif + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR mat<2, 3, T, Q>::mat + ( + T x0, T y0, T z0, + T x1, T y1, T z1 + ) +# if GLM_HAS_INITIALIZER_LISTS + : value{col_type(x0, y0, z0), col_type(x1, y1, z1)} +# endif + { +# if !GLM_HAS_INITIALIZER_LISTS + this->value[0] = col_type(x0, y0, z0); + this->value[1] = col_type(x1, y1, z1); +# endif + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR mat<2, 3, T, Q>::mat(col_type const& v0, col_type const& v1) +# if GLM_HAS_INITIALIZER_LISTS + : value{col_type(v0), col_type(v1)} +# endif + { +# if !GLM_HAS_INITIALIZER_LISTS + this->value[0] = col_type(v0); + this->value[1] = col_type(v1); +# endif + } + + // -- Conversion constructors -- + + template + template< + typename X1, typename Y1, typename Z1, + typename X2, typename Y2, typename Z2> + GLM_FUNC_QUALIFIER GLM_CONSTEXPR mat<2, 3, T, Q>::mat + ( + X1 x1, Y1 y1, Z1 z1, + X2 x2, Y2 y2, Z2 z2 + ) +# if GLM_HAS_INITIALIZER_LISTS + : value{col_type(x1, y1, z1), col_type(x2, y2, z2)} +# endif + { +# if !GLM_HAS_INITIALIZER_LISTS + this->value[0] = col_type(x1, y1, z1); + this->value[1] = col_type(x2, y2, z2); +# endif + } + + template + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR mat<2, 3, T, Q>::mat(vec<3, V1, Q> const& v1, vec<3, V2, Q> const& v2) +# if GLM_HAS_INITIALIZER_LISTS + : value{col_type(v1), col_type(v2)} +# endif + { +# if !GLM_HAS_INITIALIZER_LISTS + this->value[0] = col_type(v1); + this->value[1] = col_type(v2); +# endif + } + + // -- Matrix conversions -- + + template + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR mat<2, 3, T, Q>::mat(mat<2, 3, U, P> const& m) +# if GLM_HAS_INITIALIZER_LISTS + : value{col_type(m[0]), col_type(m[1])} +# endif + { +# if !GLM_HAS_INITIALIZER_LISTS + this->value[0] = col_type(m[0]); + this->value[1] = col_type(m[1]); +# endif + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR mat<2, 3, T, Q>::mat(mat<2, 2, T, Q> const& m) +# if GLM_HAS_INITIALIZER_LISTS + : value{col_type(m[0], 0), col_type(m[1], 0)} +# endif + { +# if !GLM_HAS_INITIALIZER_LISTS + this->value[0] = col_type(m[0], 0); + this->value[1] = col_type(m[1], 0); +# endif + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR mat<2, 3, T, Q>::mat(mat<3, 3, T, Q> const& m) +# if GLM_HAS_INITIALIZER_LISTS + : value{col_type(m[0]), col_type(m[1])} +# endif + { +# if !GLM_HAS_INITIALIZER_LISTS + this->value[0] = col_type(m[0]); + this->value[1] = col_type(m[1]); +# endif + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR mat<2, 3, T, Q>::mat(mat<4, 4, T, Q> const& m) +# if GLM_HAS_INITIALIZER_LISTS + : value{col_type(m[0]), col_type(m[1])} +# endif + { +# if !GLM_HAS_INITIALIZER_LISTS + this->value[0] = col_type(m[0]); + this->value[1] = col_type(m[1]); +# endif + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR mat<2, 3, T, Q>::mat(mat<2, 4, T, Q> const& m) +# if GLM_HAS_INITIALIZER_LISTS + : value{col_type(m[0]), col_type(m[1])} +# endif + { +# if !GLM_HAS_INITIALIZER_LISTS + this->value[0] = col_type(m[0]); + this->value[1] = col_type(m[1]); +# endif + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR mat<2, 3, T, Q>::mat(mat<3, 2, T, Q> const& m) +# if GLM_HAS_INITIALIZER_LISTS + : value{col_type(m[0], 0), col_type(m[1], 0)} +# endif + { +# if !GLM_HAS_INITIALIZER_LISTS + this->value[0] = col_type(m[0], 0); + this->value[1] = col_type(m[1], 0); +# endif + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR mat<2, 3, T, Q>::mat(mat<3, 4, T, Q> const& m) +# if GLM_HAS_INITIALIZER_LISTS + : value{col_type(m[0]), col_type(m[1])} +# endif + { +# if !GLM_HAS_INITIALIZER_LISTS + this->value[0] = col_type(m[0]); + this->value[1] = col_type(m[1]); +# endif + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR mat<2, 3, T, Q>::mat(mat<4, 2, T, Q> const& m) +# if GLM_HAS_INITIALIZER_LISTS + : value{col_type(m[0], 0), col_type(m[1], 0)} +# endif + { +# if !GLM_HAS_INITIALIZER_LISTS + this->value[0] = col_type(m[0], 0); + this->value[1] = col_type(m[1], 0); +# endif + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR mat<2, 3, T, Q>::mat(mat<4, 3, T, Q> const& m) +# if GLM_HAS_INITIALIZER_LISTS + : value{col_type(m[0]), col_type(m[1])} +# endif + { +# if !GLM_HAS_INITIALIZER_LISTS + this->value[0] = col_type(m[0]); + this->value[1] = col_type(m[1]); +# endif + } + + // -- Accesses -- + + template + GLM_FUNC_QUALIFIER typename mat<2, 3, T, Q>::col_type & mat<2, 3, T, Q>::operator[](typename mat<2, 3, T, Q>::length_type i) + { + assert(i < this->length()); + return this->value[i]; + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR typename mat<2, 3, T, Q>::col_type const& mat<2, 3, T, Q>::operator[](typename mat<2, 3, T, Q>::length_type i) const + { + assert(i < this->length()); + return this->value[i]; + } + + // -- Unary updatable operators -- + + template + template + GLM_FUNC_QUALIFIER mat<2, 3, T, Q>& mat<2, 3, T, Q>::operator=(mat<2, 3, U, Q> const& m) + { + this->value[0] = m[0]; + this->value[1] = m[1]; + return *this; + } + + template + template + GLM_FUNC_QUALIFIER mat<2, 3, T, Q> & mat<2, 3, T, Q>::operator+=(U s) + { + this->value[0] += s; + this->value[1] += s; + return *this; + } + + template + template + GLM_FUNC_QUALIFIER mat<2, 3, T, Q>& mat<2, 3, T, Q>::operator+=(mat<2, 3, U, Q> const& m) + { + this->value[0] += m[0]; + this->value[1] += m[1]; + return *this; + } + + template + template + GLM_FUNC_QUALIFIER mat<2, 3, T, Q>& mat<2, 3, T, Q>::operator-=(U s) + { + this->value[0] -= s; + this->value[1] -= s; + return *this; + } + + template + template + GLM_FUNC_QUALIFIER mat<2, 3, T, Q>& mat<2, 3, T, Q>::operator-=(mat<2, 3, U, Q> const& m) + { + this->value[0] -= m[0]; + this->value[1] -= m[1]; + return *this; + } + + template + template + GLM_FUNC_QUALIFIER mat<2, 3, T, Q>& mat<2, 3, T, Q>::operator*=(U s) + { + this->value[0] *= s; + this->value[1] *= s; + return *this; + } + + template + template + GLM_FUNC_QUALIFIER mat<2, 3, T, Q> & mat<2, 3, T, Q>::operator/=(U s) + { + this->value[0] /= s; + this->value[1] /= s; + return *this; + } + + // -- Increment and decrement operators -- + + template + GLM_FUNC_QUALIFIER mat<2, 3, T, Q> & mat<2, 3, T, Q>::operator++() + { + ++this->value[0]; + ++this->value[1]; + return *this; + } + + template + GLM_FUNC_QUALIFIER mat<2, 3, T, Q> & mat<2, 3, T, Q>::operator--() + { + --this->value[0]; + --this->value[1]; + return *this; + } + + template + GLM_FUNC_QUALIFIER mat<2, 3, T, Q> mat<2, 3, T, Q>::operator++(int) + { + mat<2, 3, T, Q> Result(*this); + ++*this; + return Result; + } + + template + GLM_FUNC_QUALIFIER mat<2, 3, T, Q> mat<2, 3, T, Q>::operator--(int) + { + mat<2, 3, T, Q> Result(*this); + --*this; + return Result; + } + + // -- Unary arithmetic operators -- + + template + GLM_FUNC_QUALIFIER mat<2, 3, T, Q> operator+(mat<2, 3, T, Q> const& m) + { + return m; + } + + template + GLM_FUNC_QUALIFIER mat<2, 3, T, Q> operator-(mat<2, 3, T, Q> const& m) + { + return mat<2, 3, T, Q>( + -m[0], + -m[1]); + } + + // -- Binary arithmetic operators -- + + template + GLM_FUNC_QUALIFIER mat<2, 3, T, Q> operator+(mat<2, 3, T, Q> const& m, T scalar) + { + return mat<2, 3, T, Q>( + m[0] + scalar, + m[1] + scalar); + } + + template + GLM_FUNC_QUALIFIER mat<2, 3, T, Q> operator+(mat<2, 3, T, Q> const& m1, mat<2, 3, T, Q> const& m2) + { + return mat<2, 3, T, Q>( + m1[0] + m2[0], + m1[1] + m2[1]); + } + + template + GLM_FUNC_QUALIFIER mat<2, 3, T, Q> operator-(mat<2, 3, T, Q> const& m, T scalar) + { + return mat<2, 3, T, Q>( + m[0] - scalar, + m[1] - scalar); + } + + template + GLM_FUNC_QUALIFIER mat<2, 3, T, Q> operator-(mat<2, 3, T, Q> const& m1, mat<2, 3, T, Q> const& m2) + { + return mat<2, 3, T, Q>( + m1[0] - m2[0], + m1[1] - m2[1]); + } + + template + GLM_FUNC_QUALIFIER mat<2, 3, T, Q> operator*(mat<2, 3, T, Q> const& m, T scalar) + { + return mat<2, 3, T, Q>( + m[0] * scalar, + m[1] * scalar); + } + + template + GLM_FUNC_QUALIFIER mat<2, 3, T, Q> operator*(T scalar, mat<2, 3, T, Q> const& m) + { + return mat<2, 3, T, Q>( + m[0] * scalar, + m[1] * scalar); + } + + template + GLM_FUNC_QUALIFIER typename mat<2, 3, T, Q>::col_type operator* + ( + mat<2, 3, T, Q> const& m, + typename mat<2, 3, T, Q>::row_type const& v) + { + return typename mat<2, 3, T, Q>::col_type( + m[0][0] * v.x + m[1][0] * v.y, + m[0][1] * v.x + m[1][1] * v.y, + m[0][2] * v.x + m[1][2] * v.y); + } + + template + GLM_FUNC_QUALIFIER typename mat<2, 3, T, Q>::row_type operator* + ( + typename mat<2, 3, T, Q>::col_type const& v, + mat<2, 3, T, Q> const& m) + { + return typename mat<2, 3, T, Q>::row_type( + v.x * m[0][0] + v.y * m[0][1] + v.z * m[0][2], + v.x * m[1][0] + v.y * m[1][1] + v.z * m[1][2]); + } + + template + GLM_FUNC_QUALIFIER mat<2, 3, T, Q> operator*(mat<2, 3, T, Q> const& m1, mat<2, 2, T, Q> const& m2) + { + return mat<2, 3, T, Q>( + m1[0][0] * m2[0][0] + m1[1][0] * m2[0][1], + m1[0][1] * m2[0][0] + m1[1][1] * m2[0][1], + m1[0][2] * m2[0][0] + m1[1][2] * m2[0][1], + m1[0][0] * m2[1][0] + m1[1][0] * m2[1][1], + m1[0][1] * m2[1][0] + m1[1][1] * m2[1][1], + m1[0][2] * m2[1][0] + m1[1][2] * m2[1][1]); + } + + template + GLM_FUNC_QUALIFIER mat<3, 3, T, Q> operator*(mat<2, 3, T, Q> const& m1, mat<3, 2, T, Q> const& m2) + { + T SrcA00 = m1[0][0]; + T SrcA01 = m1[0][1]; + T SrcA02 = m1[0][2]; + T SrcA10 = m1[1][0]; + T SrcA11 = m1[1][1]; + T SrcA12 = m1[1][2]; + + T SrcB00 = m2[0][0]; + T SrcB01 = m2[0][1]; + T SrcB10 = m2[1][0]; + T SrcB11 = m2[1][1]; + T SrcB20 = m2[2][0]; + T SrcB21 = m2[2][1]; + + mat<3, 3, T, Q> Result; + Result[0][0] = SrcA00 * SrcB00 + SrcA10 * SrcB01; + Result[0][1] = SrcA01 * SrcB00 + SrcA11 * SrcB01; + Result[0][2] = SrcA02 * SrcB00 + SrcA12 * SrcB01; + Result[1][0] = SrcA00 * SrcB10 + SrcA10 * SrcB11; + Result[1][1] = SrcA01 * SrcB10 + SrcA11 * SrcB11; + Result[1][2] = SrcA02 * SrcB10 + SrcA12 * SrcB11; + Result[2][0] = SrcA00 * SrcB20 + SrcA10 * SrcB21; + Result[2][1] = SrcA01 * SrcB20 + SrcA11 * SrcB21; + Result[2][2] = SrcA02 * SrcB20 + SrcA12 * SrcB21; + return Result; + } + + template + GLM_FUNC_QUALIFIER mat<4, 3, T, Q> operator*(mat<2, 3, T, Q> const& m1, mat<4, 2, T, Q> const& m2) + { + return mat<4, 3, T, Q>( + m1[0][0] * m2[0][0] + m1[1][0] * m2[0][1], + m1[0][1] * m2[0][0] + m1[1][1] * m2[0][1], + m1[0][2] * m2[0][0] + m1[1][2] * m2[0][1], + m1[0][0] * m2[1][0] + m1[1][0] * m2[1][1], + m1[0][1] * m2[1][0] + m1[1][1] * m2[1][1], + m1[0][2] * m2[1][0] + m1[1][2] * m2[1][1], + m1[0][0] * m2[2][0] + m1[1][0] * m2[2][1], + m1[0][1] * m2[2][0] + m1[1][1] * m2[2][1], + m1[0][2] * m2[2][0] + m1[1][2] * m2[2][1], + m1[0][0] * m2[3][0] + m1[1][0] * m2[3][1], + m1[0][1] * m2[3][0] + m1[1][1] * m2[3][1], + m1[0][2] * m2[3][0] + m1[1][2] * m2[3][1]); + } + + template + GLM_FUNC_QUALIFIER mat<2, 3, T, Q> operator/(mat<2, 3, T, Q> const& m, T scalar) + { + return mat<2, 3, T, Q>( + m[0] / scalar, + m[1] / scalar); + } + + template + GLM_FUNC_QUALIFIER mat<2, 3, T, Q> operator/(T scalar, mat<2, 3, T, Q> const& m) + { + return mat<2, 3, T, Q>( + scalar / m[0], + scalar / m[1]); + } + + // -- Boolean operators -- + + template + GLM_FUNC_QUALIFIER bool operator==(mat<2, 3, T, Q> const& m1, mat<2, 3, T, Q> const& m2) + { + return (m1[0] == m2[0]) && (m1[1] == m2[1]); + } + + template + GLM_FUNC_QUALIFIER bool operator!=(mat<2, 3, T, Q> const& m1, mat<2, 3, T, Q> const& m2) + { + return (m1[0] != m2[0]) || (m1[1] != m2[1]); + } +} //namespace glm diff --git a/MacroLibX/third_party/glm/detail/type_mat2x4.hpp b/MacroLibX/third_party/glm/detail/type_mat2x4.hpp new file mode 100644 index 0000000..ff03e21 --- /dev/null +++ b/MacroLibX/third_party/glm/detail/type_mat2x4.hpp @@ -0,0 +1,161 @@ +/// @ref core +/// @file glm/detail/type_mat2x4.hpp + +#pragma once + +#include "type_vec2.hpp" +#include "type_vec4.hpp" +#include +#include + +namespace glm +{ + template + struct mat<2, 4, T, Q> + { + typedef vec<4, T, Q> col_type; + typedef vec<2, T, Q> row_type; + typedef mat<2, 4, T, Q> type; + typedef mat<4, 2, T, Q> transpose_type; + typedef T value_type; + + private: + col_type value[2]; + + public: + // -- Accesses -- + + typedef length_t length_type; + GLM_FUNC_DECL static GLM_CONSTEXPR length_type length() { return 2; } + + GLM_FUNC_DECL col_type & operator[](length_type i); + GLM_FUNC_DECL GLM_CONSTEXPR col_type const& operator[](length_type i) const; + + // -- Constructors -- + + GLM_FUNC_DECL GLM_CONSTEXPR mat() GLM_DEFAULT; + template + GLM_FUNC_DECL GLM_CONSTEXPR mat(mat<2, 4, T, P> const& m); + + GLM_FUNC_DECL explicit GLM_CONSTEXPR mat(T scalar); + GLM_FUNC_DECL GLM_CONSTEXPR mat( + T x0, T y0, T z0, T w0, + T x1, T y1, T z1, T w1); + GLM_FUNC_DECL GLM_CONSTEXPR mat( + col_type const& v0, + col_type const& v1); + + // -- Conversions -- + + template< + typename X1, typename Y1, typename Z1, typename W1, + typename X2, typename Y2, typename Z2, typename W2> + GLM_FUNC_DECL GLM_CONSTEXPR mat( + X1 x1, Y1 y1, Z1 z1, W1 w1, + X2 x2, Y2 y2, Z2 z2, W2 w2); + + template + GLM_FUNC_DECL GLM_CONSTEXPR mat( + vec<4, U, Q> const& v1, + vec<4, V, Q> const& v2); + + // -- Matrix conversions -- + + template + GLM_FUNC_DECL GLM_EXPLICIT GLM_CONSTEXPR mat(mat<2, 4, U, P> const& m); + + GLM_FUNC_DECL GLM_EXPLICIT GLM_CONSTEXPR mat(mat<2, 2, T, Q> const& x); + GLM_FUNC_DECL GLM_EXPLICIT GLM_CONSTEXPR mat(mat<3, 3, T, Q> const& x); + GLM_FUNC_DECL GLM_EXPLICIT GLM_CONSTEXPR mat(mat<4, 4, T, Q> const& x); + GLM_FUNC_DECL GLM_EXPLICIT GLM_CONSTEXPR mat(mat<2, 3, T, Q> const& x); + GLM_FUNC_DECL GLM_EXPLICIT GLM_CONSTEXPR mat(mat<3, 2, T, Q> const& x); + GLM_FUNC_DECL GLM_EXPLICIT GLM_CONSTEXPR mat(mat<3, 4, T, Q> const& x); + GLM_FUNC_DECL GLM_EXPLICIT GLM_CONSTEXPR mat(mat<4, 2, T, Q> const& x); + GLM_FUNC_DECL GLM_EXPLICIT GLM_CONSTEXPR mat(mat<4, 3, T, Q> const& x); + + // -- Unary arithmetic operators -- + + template + GLM_FUNC_DECL mat<2, 4, T, Q> & operator=(mat<2, 4, U, Q> const& m); + template + GLM_FUNC_DECL mat<2, 4, T, Q> & operator+=(U s); + template + GLM_FUNC_DECL mat<2, 4, T, Q> & operator+=(mat<2, 4, U, Q> const& m); + template + GLM_FUNC_DECL mat<2, 4, T, Q> & operator-=(U s); + template + GLM_FUNC_DECL mat<2, 4, T, Q> & operator-=(mat<2, 4, U, Q> const& m); + template + GLM_FUNC_DECL mat<2, 4, T, Q> & operator*=(U s); + template + GLM_FUNC_DECL mat<2, 4, T, Q> & operator/=(U s); + + // -- Increment and decrement operators -- + + GLM_FUNC_DECL mat<2, 4, T, Q> & operator++ (); + GLM_FUNC_DECL mat<2, 4, T, Q> & operator-- (); + GLM_FUNC_DECL mat<2, 4, T, Q> operator++(int); + GLM_FUNC_DECL mat<2, 4, T, Q> operator--(int); + }; + + // -- Unary operators -- + + template + GLM_FUNC_DECL mat<2, 4, T, Q> operator+(mat<2, 4, T, Q> const& m); + + template + GLM_FUNC_DECL mat<2, 4, T, Q> operator-(mat<2, 4, T, Q> const& m); + + // -- Binary operators -- + + template + GLM_FUNC_DECL mat<2, 4, T, Q> operator+(mat<2, 4, T, Q> const& m, T scalar); + + template + GLM_FUNC_DECL mat<2, 4, T, Q> operator+(mat<2, 4, T, Q> const& m1, mat<2, 4, T, Q> const& m2); + + template + GLM_FUNC_DECL mat<2, 4, T, Q> operator-(mat<2, 4, T, Q> const& m, T scalar); + + template + GLM_FUNC_DECL mat<2, 4, T, Q> operator-(mat<2, 4, T, Q> const& m1, mat<2, 4, T, Q> const& m2); + + template + GLM_FUNC_DECL mat<2, 4, T, Q> operator*(mat<2, 4, T, Q> const& m, T scalar); + + template + GLM_FUNC_DECL mat<2, 4, T, Q> operator*(T scalar, mat<2, 4, T, Q> const& m); + + template + GLM_FUNC_DECL typename mat<2, 4, T, Q>::col_type operator*(mat<2, 4, T, Q> const& m, typename mat<2, 4, T, Q>::row_type const& v); + + template + GLM_FUNC_DECL typename mat<2, 4, T, Q>::row_type operator*(typename mat<2, 4, T, Q>::col_type const& v, mat<2, 4, T, Q> const& m); + + template + GLM_FUNC_DECL mat<4, 4, T, Q> operator*(mat<2, 4, T, Q> const& m1, mat<4, 2, T, Q> const& m2); + + template + GLM_FUNC_DECL mat<2, 4, T, Q> operator*(mat<2, 4, T, Q> const& m1, mat<2, 2, T, Q> const& m2); + + template + GLM_FUNC_DECL mat<3, 4, T, Q> operator*(mat<2, 4, T, Q> const& m1, mat<3, 2, T, Q> const& m2); + + template + GLM_FUNC_DECL mat<2, 4, T, Q> operator/(mat<2, 4, T, Q> const& m, T scalar); + + template + GLM_FUNC_DECL mat<2, 4, T, Q> operator/(T scalar, mat<2, 4, T, Q> const& m); + + // -- Boolean operators -- + + template + GLM_FUNC_DECL bool operator==(mat<2, 4, T, Q> const& m1, mat<2, 4, T, Q> const& m2); + + template + GLM_FUNC_DECL bool operator!=(mat<2, 4, T, Q> const& m1, mat<2, 4, T, Q> const& m2); +}//namespace glm + +#ifndef GLM_EXTERNAL_TEMPLATE +#include "type_mat2x4.inl" +#endif diff --git a/MacroLibX/third_party/glm/detail/type_mat2x4.inl b/MacroLibX/third_party/glm/detail/type_mat2x4.inl new file mode 100644 index 0000000..b6d2b9d --- /dev/null +++ b/MacroLibX/third_party/glm/detail/type_mat2x4.inl @@ -0,0 +1,520 @@ +namespace glm +{ + // -- Constructors -- + +# if GLM_CONFIG_DEFAULTED_FUNCTIONS == GLM_DISABLE + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR mat<2, 4, T, Q>::mat() +# if GLM_CONFIG_CTOR_INIT == GLM_CTOR_INITIALIZER_LIST + : value{col_type(1, 0, 0, 0), col_type(0, 1, 0, 0)} +# endif + { +# if GLM_CONFIG_CTOR_INIT == GLM_CTOR_INITIALISATION + this->value[0] = col_type(1, 0, 0, 0); + this->value[1] = col_type(0, 1, 0, 0); +# endif + } +# endif + + template + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR mat<2, 4, T, Q>::mat(mat<2, 4, T, P> const& m) +# if GLM_HAS_INITIALIZER_LISTS + : value{m[0], m[1]} +# endif + { +# if !GLM_HAS_INITIALIZER_LISTS + this->value[0] = m[0]; + this->value[1] = m[1]; +# endif + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR mat<2, 4, T, Q>::mat(T s) +# if GLM_HAS_INITIALIZER_LISTS + : value{col_type(s, 0, 0, 0), col_type(0, s, 0, 0)} +# endif + { +# if !GLM_HAS_INITIALIZER_LISTS + this->value[0] = col_type(s, 0, 0, 0); + this->value[1] = col_type(0, s, 0, 0); +# endif + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR mat<2, 4, T, Q>::mat + ( + T x0, T y0, T z0, T w0, + T x1, T y1, T z1, T w1 + ) +# if GLM_HAS_INITIALIZER_LISTS + : value{col_type(x0, y0, z0, w0), col_type(x1, y1, z1, w1)} +# endif + { +# if !GLM_HAS_INITIALIZER_LISTS + this->value[0] = col_type(x0, y0, z0, w0); + this->value[1] = col_type(x1, y1, z1, w1); +# endif + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR mat<2, 4, T, Q>::mat(col_type const& v0, col_type const& v1) +# if GLM_HAS_INITIALIZER_LISTS + : value{col_type(v0), col_type(v1)} +# endif + { +# if !GLM_HAS_INITIALIZER_LISTS + this->value[0] = v0; + this->value[1] = v1; +# endif + } + + // -- Conversion constructors -- + + template + template< + typename X1, typename Y1, typename Z1, typename W1, + typename X2, typename Y2, typename Z2, typename W2> + GLM_FUNC_QUALIFIER GLM_CONSTEXPR mat<2, 4, T, Q>::mat + ( + X1 x1, Y1 y1, Z1 z1, W1 w1, + X2 x2, Y2 y2, Z2 z2, W2 w2 + ) +# if GLM_HAS_INITIALIZER_LISTS + : value{ + col_type(x1, y1, z1, w1), + col_type(x2, y2, z2, w2)} +# endif + { +# if !GLM_HAS_INITIALIZER_LISTS + this->value[0] = col_type(x1, y1, z1, w1); + this->value[1] = col_type(x2, y2, z2, w2); +# endif + } + + template + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR mat<2, 4, T, Q>::mat(vec<4, V1, Q> const& v1, vec<4, V2, Q> const& v2) +# if GLM_HAS_INITIALIZER_LISTS + : value{col_type(v1), col_type(v2)} +# endif + { +# if !GLM_HAS_INITIALIZER_LISTS + this->value[0] = col_type(v1); + this->value[1] = col_type(v2); +# endif + } + + // -- Matrix conversions -- + + template + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR mat<2, 4, T, Q>::mat(mat<2, 4, U, P> const& m) +# if GLM_HAS_INITIALIZER_LISTS + : value{col_type(m[0]), col_type(m[1])} +# endif + { +# if !GLM_HAS_INITIALIZER_LISTS + this->value[0] = col_type(m[0]); + this->value[1] = col_type(m[1]); +# endif + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR mat<2, 4, T, Q>::mat(mat<2, 2, T, Q> const& m) +# if GLM_HAS_INITIALIZER_LISTS + : value{col_type(m[0], 0, 0), col_type(m[1], 0, 0)} +# endif + { +# if !GLM_HAS_INITIALIZER_LISTS + this->value[0] = col_type(m[0], 0, 0); + this->value[1] = col_type(m[1], 0, 0); +# endif + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR mat<2, 4, T, Q>::mat(mat<3, 3, T, Q> const& m) +# if GLM_HAS_INITIALIZER_LISTS + : value{col_type(m[0], 0), col_type(m[1], 0)} +# endif + { +# if !GLM_HAS_INITIALIZER_LISTS + this->value[0] = col_type(m[0], 0); + this->value[1] = col_type(m[1], 0); +# endif + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR mat<2, 4, T, Q>::mat(mat<4, 4, T, Q> const& m) +# if GLM_HAS_INITIALIZER_LISTS + : value{col_type(m[0]), col_type(m[1])} +# endif + { +# if !GLM_HAS_INITIALIZER_LISTS + this->value[0] = col_type(m[0]); + this->value[1] = col_type(m[1]); +# endif + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR mat<2, 4, T, Q>::mat(mat<2, 3, T, Q> const& m) +# if GLM_HAS_INITIALIZER_LISTS + : value{col_type(m[0], 0), col_type(m[1], 0)} +# endif + { +# if !GLM_HAS_INITIALIZER_LISTS + this->value[0] = col_type(m[0], 0); + this->value[1] = col_type(m[1], 0); +# endif + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR mat<2, 4, T, Q>::mat(mat<3, 2, T, Q> const& m) +# if GLM_HAS_INITIALIZER_LISTS + : value{col_type(m[0], 0, 0), col_type(m[1], 0, 0)} +# endif + { +# if !GLM_HAS_INITIALIZER_LISTS + this->value[0] = col_type(m[0], 0, 0); + this->value[1] = col_type(m[1], 0, 0); +# endif + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR mat<2, 4, T, Q>::mat(mat<3, 4, T, Q> const& m) +# if GLM_HAS_INITIALIZER_LISTS + : value{col_type(m[0]), col_type(m[1])} +# endif + { +# if !GLM_HAS_INITIALIZER_LISTS + this->value[0] = col_type(m[0]); + this->value[1] = col_type(m[1]); +# endif + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR mat<2, 4, T, Q>::mat(mat<4, 2, T, Q> const& m) +# if GLM_HAS_INITIALIZER_LISTS + : value{col_type(m[0], 0, 0), col_type(m[1], 0, 0)} +# endif + { +# if !GLM_HAS_INITIALIZER_LISTS + this->value[0] = col_type(m[0], 0, 0); + this->value[1] = col_type(m[1], 0, 0); +# endif + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR mat<2, 4, T, Q>::mat(mat<4, 3, T, Q> const& m) +# if GLM_HAS_INITIALIZER_LISTS + : value{col_type(m[0], 0), col_type(m[1], 0)} +# endif + { +# if !GLM_HAS_INITIALIZER_LISTS + this->value[0] = col_type(m[0], 0); + this->value[1] = col_type(m[1], 0); +# endif + } + + // -- Accesses -- + + template + GLM_FUNC_QUALIFIER typename mat<2, 4, T, Q>::col_type & mat<2, 4, T, Q>::operator[](typename mat<2, 4, T, Q>::length_type i) + { + assert(i < this->length()); + return this->value[i]; + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR typename mat<2, 4, T, Q>::col_type const& mat<2, 4, T, Q>::operator[](typename mat<2, 4, T, Q>::length_type i) const + { + assert(i < this->length()); + return this->value[i]; + } + + // -- Unary updatable operators -- + + template + template + GLM_FUNC_QUALIFIER mat<2, 4, T, Q>& mat<2, 4, T, Q>::operator=(mat<2, 4, U, Q> const& m) + { + this->value[0] = m[0]; + this->value[1] = m[1]; + return *this; + } + + template + template + GLM_FUNC_QUALIFIER mat<2, 4, T, Q>& mat<2, 4, T, Q>::operator+=(U s) + { + this->value[0] += s; + this->value[1] += s; + return *this; + } + + template + template + GLM_FUNC_QUALIFIER mat<2, 4, T, Q>& mat<2, 4, T, Q>::operator+=(mat<2, 4, U, Q> const& m) + { + this->value[0] += m[0]; + this->value[1] += m[1]; + return *this; + } + + template + template + GLM_FUNC_QUALIFIER mat<2, 4, T, Q>& mat<2, 4, T, Q>::operator-=(U s) + { + this->value[0] -= s; + this->value[1] -= s; + return *this; + } + + template + template + GLM_FUNC_QUALIFIER mat<2, 4, T, Q>& mat<2, 4, T, Q>::operator-=(mat<2, 4, U, Q> const& m) + { + this->value[0] -= m[0]; + this->value[1] -= m[1]; + return *this; + } + + template + template + GLM_FUNC_QUALIFIER mat<2, 4, T, Q>& mat<2, 4, T, Q>::operator*=(U s) + { + this->value[0] *= s; + this->value[1] *= s; + return *this; + } + + template + template + GLM_FUNC_QUALIFIER mat<2, 4, T, Q> & mat<2, 4, T, Q>::operator/=(U s) + { + this->value[0] /= s; + this->value[1] /= s; + return *this; + } + + // -- Increment and decrement operators -- + + template + GLM_FUNC_QUALIFIER mat<2, 4, T, Q>& mat<2, 4, T, Q>::operator++() + { + ++this->value[0]; + ++this->value[1]; + return *this; + } + + template + GLM_FUNC_QUALIFIER mat<2, 4, T, Q>& mat<2, 4, T, Q>::operator--() + { + --this->value[0]; + --this->value[1]; + return *this; + } + + template + GLM_FUNC_QUALIFIER mat<2, 4, T, Q> mat<2, 4, T, Q>::operator++(int) + { + mat<2, 4, T, Q> Result(*this); + ++*this; + return Result; + } + + template + GLM_FUNC_QUALIFIER mat<2, 4, T, Q> mat<2, 4, T, Q>::operator--(int) + { + mat<2, 4, T, Q> Result(*this); + --*this; + return Result; + } + + // -- Unary arithmetic operators -- + + template + GLM_FUNC_QUALIFIER mat<2, 4, T, Q> operator+(mat<2, 4, T, Q> const& m) + { + return m; + } + + template + GLM_FUNC_QUALIFIER mat<2, 4, T, Q> operator-(mat<2, 4, T, Q> const& m) + { + return mat<2, 4, T, Q>( + -m[0], + -m[1]); + } + + // -- Binary arithmetic operators -- + + template + GLM_FUNC_QUALIFIER mat<2, 4, T, Q> operator+(mat<2, 4, T, Q> const& m, T scalar) + { + return mat<2, 4, T, Q>( + m[0] + scalar, + m[1] + scalar); + } + + template + GLM_FUNC_QUALIFIER mat<2, 4, T, Q> operator+(mat<2, 4, T, Q> const& m1, mat<2, 4, T, Q> const& m2) + { + return mat<2, 4, T, Q>( + m1[0] + m2[0], + m1[1] + m2[1]); + } + + template + GLM_FUNC_QUALIFIER mat<2, 4, T, Q> operator-(mat<2, 4, T, Q> const& m, T scalar) + { + return mat<2, 4, T, Q>( + m[0] - scalar, + m[1] - scalar); + } + + template + GLM_FUNC_QUALIFIER mat<2, 4, T, Q> operator-(mat<2, 4, T, Q> const& m1, mat<2, 4, T, Q> const& m2) + { + return mat<2, 4, T, Q>( + m1[0] - m2[0], + m1[1] - m2[1]); + } + + template + GLM_FUNC_QUALIFIER mat<2, 4, T, Q> operator*(mat<2, 4, T, Q> const& m, T scalar) + { + return mat<2, 4, T, Q>( + m[0] * scalar, + m[1] * scalar); + } + + template + GLM_FUNC_QUALIFIER mat<2, 4, T, Q> operator*(T scalar, mat<2, 4, T, Q> const& m) + { + return mat<2, 4, T, Q>( + m[0] * scalar, + m[1] * scalar); + } + + template + GLM_FUNC_QUALIFIER typename mat<2, 4, T, Q>::col_type operator*(mat<2, 4, T, Q> const& m, typename mat<2, 4, T, Q>::row_type const& v) + { + return typename mat<2, 4, T, Q>::col_type( + m[0][0] * v.x + m[1][0] * v.y, + m[0][1] * v.x + m[1][1] * v.y, + m[0][2] * v.x + m[1][2] * v.y, + m[0][3] * v.x + m[1][3] * v.y); + } + + template + GLM_FUNC_QUALIFIER typename mat<2, 4, T, Q>::row_type operator*(typename mat<2, 4, T, Q>::col_type const& v, mat<2, 4, T, Q> const& m) + { + return typename mat<2, 4, T, Q>::row_type( + v.x * m[0][0] + v.y * m[0][1] + v.z * m[0][2] + v.w * m[0][3], + v.x * m[1][0] + v.y * m[1][1] + v.z * m[1][2] + v.w * m[1][3]); + } + + template + GLM_FUNC_QUALIFIER mat<4, 4, T, Q> operator*(mat<2, 4, T, Q> const& m1, mat<4, 2, T, Q> const& m2) + { + T SrcA00 = m1[0][0]; + T SrcA01 = m1[0][1]; + T SrcA02 = m1[0][2]; + T SrcA03 = m1[0][3]; + T SrcA10 = m1[1][0]; + T SrcA11 = m1[1][1]; + T SrcA12 = m1[1][2]; + T SrcA13 = m1[1][3]; + + T SrcB00 = m2[0][0]; + T SrcB01 = m2[0][1]; + T SrcB10 = m2[1][0]; + T SrcB11 = m2[1][1]; + T SrcB20 = m2[2][0]; + T SrcB21 = m2[2][1]; + T SrcB30 = m2[3][0]; + T SrcB31 = m2[3][1]; + + mat<4, 4, T, Q> Result; + Result[0][0] = SrcA00 * SrcB00 + SrcA10 * SrcB01; + Result[0][1] = SrcA01 * SrcB00 + SrcA11 * SrcB01; + Result[0][2] = SrcA02 * SrcB00 + SrcA12 * SrcB01; + Result[0][3] = SrcA03 * SrcB00 + SrcA13 * SrcB01; + Result[1][0] = SrcA00 * SrcB10 + SrcA10 * SrcB11; + Result[1][1] = SrcA01 * SrcB10 + SrcA11 * SrcB11; + Result[1][2] = SrcA02 * SrcB10 + SrcA12 * SrcB11; + Result[1][3] = SrcA03 * SrcB10 + SrcA13 * SrcB11; + Result[2][0] = SrcA00 * SrcB20 + SrcA10 * SrcB21; + Result[2][1] = SrcA01 * SrcB20 + SrcA11 * SrcB21; + Result[2][2] = SrcA02 * SrcB20 + SrcA12 * SrcB21; + Result[2][3] = SrcA03 * SrcB20 + SrcA13 * SrcB21; + Result[3][0] = SrcA00 * SrcB30 + SrcA10 * SrcB31; + Result[3][1] = SrcA01 * SrcB30 + SrcA11 * SrcB31; + Result[3][2] = SrcA02 * SrcB30 + SrcA12 * SrcB31; + Result[3][3] = SrcA03 * SrcB30 + SrcA13 * SrcB31; + return Result; + } + + template + GLM_FUNC_QUALIFIER mat<2, 4, T, Q> operator*(mat<2, 4, T, Q> const& m1, mat<2, 2, T, Q> const& m2) + { + return mat<2, 4, T, Q>( + m1[0][0] * m2[0][0] + m1[1][0] * m2[0][1], + m1[0][1] * m2[0][0] + m1[1][1] * m2[0][1], + m1[0][2] * m2[0][0] + m1[1][2] * m2[0][1], + m1[0][3] * m2[0][0] + m1[1][3] * m2[0][1], + m1[0][0] * m2[1][0] + m1[1][0] * m2[1][1], + m1[0][1] * m2[1][0] + m1[1][1] * m2[1][1], + m1[0][2] * m2[1][0] + m1[1][2] * m2[1][1], + m1[0][3] * m2[1][0] + m1[1][3] * m2[1][1]); + } + + template + GLM_FUNC_QUALIFIER mat<3, 4, T, Q> operator*(mat<2, 4, T, Q> const& m1, mat<3, 2, T, Q> const& m2) + { + return mat<3, 4, T, Q>( + m1[0][0] * m2[0][0] + m1[1][0] * m2[0][1], + m1[0][1] * m2[0][0] + m1[1][1] * m2[0][1], + m1[0][2] * m2[0][0] + m1[1][2] * m2[0][1], + m1[0][3] * m2[0][0] + m1[1][3] * m2[0][1], + m1[0][0] * m2[1][0] + m1[1][0] * m2[1][1], + m1[0][1] * m2[1][0] + m1[1][1] * m2[1][1], + m1[0][2] * m2[1][0] + m1[1][2] * m2[1][1], + m1[0][3] * m2[1][0] + m1[1][3] * m2[1][1], + m1[0][0] * m2[2][0] + m1[1][0] * m2[2][1], + m1[0][1] * m2[2][0] + m1[1][1] * m2[2][1], + m1[0][2] * m2[2][0] + m1[1][2] * m2[2][1], + m1[0][3] * m2[2][0] + m1[1][3] * m2[2][1]); + } + + template + GLM_FUNC_QUALIFIER mat<2, 4, T, Q> operator/(mat<2, 4, T, Q> const& m, T scalar) + { + return mat<2, 4, T, Q>( + m[0] / scalar, + m[1] / scalar); + } + + template + GLM_FUNC_QUALIFIER mat<2, 4, T, Q> operator/(T scalar, mat<2, 4, T, Q> const& m) + { + return mat<2, 4, T, Q>( + scalar / m[0], + scalar / m[1]); + } + + // -- Boolean operators -- + + template + GLM_FUNC_QUALIFIER bool operator==(mat<2, 4, T, Q> const& m1, mat<2, 4, T, Q> const& m2) + { + return (m1[0] == m2[0]) && (m1[1] == m2[1]); + } + + template + GLM_FUNC_QUALIFIER bool operator!=(mat<2, 4, T, Q> const& m1, mat<2, 4, T, Q> const& m2) + { + return (m1[0] != m2[0]) || (m1[1] != m2[1]); + } +} //namespace glm diff --git a/MacroLibX/third_party/glm/detail/type_mat3x2.hpp b/MacroLibX/third_party/glm/detail/type_mat3x2.hpp new file mode 100644 index 0000000..e166581 --- /dev/null +++ b/MacroLibX/third_party/glm/detail/type_mat3x2.hpp @@ -0,0 +1,167 @@ +/// @ref core +/// @file glm/detail/type_mat3x2.hpp + +#pragma once + +#include "type_vec2.hpp" +#include "type_vec3.hpp" +#include +#include + +namespace glm +{ + template + struct mat<3, 2, T, Q> + { + typedef vec<2, T, Q> col_type; + typedef vec<3, T, Q> row_type; + typedef mat<3, 2, T, Q> type; + typedef mat<2, 3, T, Q> transpose_type; + typedef T value_type; + + private: + col_type value[3]; + + public: + // -- Accesses -- + + typedef length_t length_type; + GLM_FUNC_DECL static GLM_CONSTEXPR length_type length() { return 3; } + + GLM_FUNC_DECL col_type & operator[](length_type i); + GLM_FUNC_DECL GLM_CONSTEXPR col_type const& operator[](length_type i) const; + + // -- Constructors -- + + GLM_FUNC_DECL GLM_CONSTEXPR mat() GLM_DEFAULT; + template + GLM_FUNC_DECL GLM_CONSTEXPR mat(mat<3, 2, T, P> const& m); + + GLM_FUNC_DECL explicit GLM_CONSTEXPR mat(T scalar); + GLM_FUNC_DECL GLM_CONSTEXPR mat( + T x0, T y0, + T x1, T y1, + T x2, T y2); + GLM_FUNC_DECL GLM_CONSTEXPR mat( + col_type const& v0, + col_type const& v1, + col_type const& v2); + + // -- Conversions -- + + template< + typename X1, typename Y1, + typename X2, typename Y2, + typename X3, typename Y3> + GLM_FUNC_DECL GLM_CONSTEXPR mat( + X1 x1, Y1 y1, + X2 x2, Y2 y2, + X3 x3, Y3 y3); + + template + GLM_FUNC_DECL GLM_CONSTEXPR mat( + vec<2, V1, Q> const& v1, + vec<2, V2, Q> const& v2, + vec<2, V3, Q> const& v3); + + // -- Matrix conversions -- + + template + GLM_FUNC_DECL GLM_EXPLICIT GLM_CONSTEXPR mat(mat<3, 2, U, P> const& m); + + GLM_FUNC_DECL GLM_EXPLICIT GLM_CONSTEXPR mat(mat<2, 2, T, Q> const& x); + GLM_FUNC_DECL GLM_EXPLICIT GLM_CONSTEXPR mat(mat<3, 3, T, Q> const& x); + GLM_FUNC_DECL GLM_EXPLICIT GLM_CONSTEXPR mat(mat<4, 4, T, Q> const& x); + GLM_FUNC_DECL GLM_EXPLICIT GLM_CONSTEXPR mat(mat<2, 3, T, Q> const& x); + GLM_FUNC_DECL GLM_EXPLICIT GLM_CONSTEXPR mat(mat<2, 4, T, Q> const& x); + GLM_FUNC_DECL GLM_EXPLICIT GLM_CONSTEXPR mat(mat<3, 4, T, Q> const& x); + GLM_FUNC_DECL GLM_EXPLICIT GLM_CONSTEXPR mat(mat<4, 2, T, Q> const& x); + GLM_FUNC_DECL GLM_EXPLICIT GLM_CONSTEXPR mat(mat<4, 3, T, Q> const& x); + + // -- Unary arithmetic operators -- + + template + GLM_FUNC_DECL mat<3, 2, T, Q> & operator=(mat<3, 2, U, Q> const& m); + template + GLM_FUNC_DECL mat<3, 2, T, Q> & operator+=(U s); + template + GLM_FUNC_DECL mat<3, 2, T, Q> & operator+=(mat<3, 2, U, Q> const& m); + template + GLM_FUNC_DECL mat<3, 2, T, Q> & operator-=(U s); + template + GLM_FUNC_DECL mat<3, 2, T, Q> & operator-=(mat<3, 2, U, Q> const& m); + template + GLM_FUNC_DECL mat<3, 2, T, Q> & operator*=(U s); + template + GLM_FUNC_DECL mat<3, 2, T, Q> & operator/=(U s); + + // -- Increment and decrement operators -- + + GLM_FUNC_DECL mat<3, 2, T, Q> & operator++ (); + GLM_FUNC_DECL mat<3, 2, T, Q> & operator-- (); + GLM_FUNC_DECL mat<3, 2, T, Q> operator++(int); + GLM_FUNC_DECL mat<3, 2, T, Q> operator--(int); + }; + + // -- Unary operators -- + + template + GLM_FUNC_DECL mat<3, 2, T, Q> operator+(mat<3, 2, T, Q> const& m); + + template + GLM_FUNC_DECL mat<3, 2, T, Q> operator-(mat<3, 2, T, Q> const& m); + + // -- Binary operators -- + + template + GLM_FUNC_DECL mat<3, 2, T, Q> operator+(mat<3, 2, T, Q> const& m, T scalar); + + template + GLM_FUNC_DECL mat<3, 2, T, Q> operator+(mat<3, 2, T, Q> const& m1, mat<3, 2, T, Q> const& m2); + + template + GLM_FUNC_DECL mat<3, 2, T, Q> operator-(mat<3, 2, T, Q> const& m, T scalar); + + template + GLM_FUNC_DECL mat<3, 2, T, Q> operator-(mat<3, 2, T, Q> const& m1, mat<3, 2, T, Q> const& m2); + + template + GLM_FUNC_DECL mat<3, 2, T, Q> operator*(mat<3, 2, T, Q> const& m, T scalar); + + template + GLM_FUNC_DECL mat<3, 2, T, Q> operator*(T scalar, mat<3, 2, T, Q> const& m); + + template + GLM_FUNC_DECL typename mat<3, 2, T, Q>::col_type operator*(mat<3, 2, T, Q> const& m, typename mat<3, 2, T, Q>::row_type const& v); + + template + GLM_FUNC_DECL typename mat<3, 2, T, Q>::row_type operator*(typename mat<3, 2, T, Q>::col_type const& v, mat<3, 2, T, Q> const& m); + + template + GLM_FUNC_DECL mat<2, 2, T, Q> operator*(mat<3, 2, T, Q> const& m1, mat<2, 3, T, Q> const& m2); + + template + GLM_FUNC_DECL mat<3, 2, T, Q> operator*(mat<3, 2, T, Q> const& m1, mat<3, 3, T, Q> const& m2); + + template + GLM_FUNC_DECL mat<4, 2, T, Q> operator*(mat<3, 2, T, Q> const& m1, mat<4, 3, T, Q> const& m2); + + template + GLM_FUNC_DECL mat<3, 2, T, Q> operator/(mat<3, 2, T, Q> const& m, T scalar); + + template + GLM_FUNC_DECL mat<3, 2, T, Q> operator/(T scalar, mat<3, 2, T, Q> const& m); + + // -- Boolean operators -- + + template + GLM_FUNC_DECL bool operator==(mat<3, 2, T, Q> const& m1, mat<3, 2, T, Q> const& m2); + + template + GLM_FUNC_DECL bool operator!=(mat<3, 2, T, Q> const& m1, mat<3, 2, T, Q> const& m2); + +}//namespace glm + +#ifndef GLM_EXTERNAL_TEMPLATE +#include "type_mat3x2.inl" +#endif diff --git a/MacroLibX/third_party/glm/detail/type_mat3x2.inl b/MacroLibX/third_party/glm/detail/type_mat3x2.inl new file mode 100644 index 0000000..b4b948b --- /dev/null +++ b/MacroLibX/third_party/glm/detail/type_mat3x2.inl @@ -0,0 +1,532 @@ +namespace glm +{ + // -- Constructors -- + +# if GLM_CONFIG_DEFAULTED_FUNCTIONS == GLM_DISABLE + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR mat<3, 2, T, Q>::mat() +# if GLM_CONFIG_CTOR_INIT == GLM_CTOR_INITIALIZER_LIST + : value{col_type(1, 0), col_type(0, 1), col_type(0, 0)} +# endif + { +# if GLM_CONFIG_CTOR_INIT == GLM_CTOR_INITIALISATION + this->value[0] = col_type(1, 0); + this->value[1] = col_type(0, 1); + this->value[2] = col_type(0, 0); +# endif + } +# endif + + template + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR mat<3, 2, T, Q>::mat(mat<3, 2, T, P> const& m) +# if GLM_HAS_INITIALIZER_LISTS + : value{col_type(m[0]), col_type(m[1]), col_type(m[2])} +# endif + { +# if !GLM_HAS_INITIALIZER_LISTS + this->value[0] = m[0]; + this->value[1] = m[1]; + this->value[2] = m[2]; +# endif + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR mat<3, 2, T, Q>::mat(T s) +# if GLM_HAS_INITIALIZER_LISTS + : value{col_type(s, 0), col_type(0, s), col_type(0, 0)} +# endif + { +# if !GLM_HAS_INITIALIZER_LISTS + this->value[0] = col_type(s, 0); + this->value[1] = col_type(0, s); + this->value[2] = col_type(0, 0); +# endif + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR mat<3, 2, T, Q>::mat + ( + T x0, T y0, + T x1, T y1, + T x2, T y2 + ) +# if GLM_HAS_INITIALIZER_LISTS + : value{col_type(x0, y0), col_type(x1, y1), col_type(x2, y2)} +# endif + { +# if !GLM_HAS_INITIALIZER_LISTS + this->value[0] = col_type(x0, y0); + this->value[1] = col_type(x1, y1); + this->value[2] = col_type(x2, y2); +# endif + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR mat<3, 2, T, Q>::mat(col_type const& v0, col_type const& v1, col_type const& v2) +# if GLM_HAS_INITIALIZER_LISTS + : value{col_type(v0), col_type(v1), col_type(v2)} +# endif + { +# if !GLM_HAS_INITIALIZER_LISTS + this->value[0] = v0; + this->value[1] = v1; + this->value[2] = v2; +# endif + } + + // -- Conversion constructors -- + + template + template< + typename X0, typename Y0, + typename X1, typename Y1, + typename X2, typename Y2> + GLM_FUNC_QUALIFIER GLM_CONSTEXPR mat<3, 2, T, Q>::mat + ( + X0 x0, Y0 y0, + X1 x1, Y1 y1, + X2 x2, Y2 y2 + ) +# if GLM_HAS_INITIALIZER_LISTS + : value{col_type(x0, y0), col_type(x1, y1), col_type(x2, y2)} +# endif + { +# if !GLM_HAS_INITIALIZER_LISTS + this->value[0] = col_type(x0, y0); + this->value[1] = col_type(x1, y1); + this->value[2] = col_type(x2, y2); +# endif + } + + template + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR mat<3, 2, T, Q>::mat(vec<2, V0, Q> const& v0, vec<2, V1, Q> const& v1, vec<2, V2, Q> const& v2) +# if GLM_HAS_INITIALIZER_LISTS + : value{col_type(v0), col_type(v1), col_type(v2)} +# endif + { +# if !GLM_HAS_INITIALIZER_LISTS + this->value[0] = col_type(v0); + this->value[1] = col_type(v1); + this->value[2] = col_type(v2); +# endif + } + + // -- Matrix conversions -- + + template + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR mat<3, 2, T, Q>::mat(mat<3, 2, U, P> const& m) +# if GLM_HAS_INITIALIZER_LISTS + : value{col_type(m[0]), col_type(m[1]), col_type(m[2])} +# endif + { +# if !GLM_HAS_INITIALIZER_LISTS + this->value[0] = col_type(m[0]); + this->value[1] = col_type(m[1]); + this->value[2] = col_type(m[2]); +# endif + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR mat<3, 2, T, Q>::mat(mat<2, 2, T, Q> const& m) +# if GLM_HAS_INITIALIZER_LISTS + : value{col_type(m[0]), col_type(m[1]), col_type(0)} +# endif + { +# if !GLM_HAS_INITIALIZER_LISTS + this->value[0] = m[0]; + this->value[1] = m[1]; + this->value[2] = col_type(0); +# endif + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR mat<3, 2, T, Q>::mat(mat<3, 3, T, Q> const& m) +# if GLM_HAS_INITIALIZER_LISTS + : value{col_type(m[0]), col_type(m[1]), col_type(m[2])} +# endif + { +# if !GLM_HAS_INITIALIZER_LISTS + this->value[0] = col_type(m[0]); + this->value[1] = col_type(m[1]); + this->value[2] = col_type(m[2]); +# endif + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR mat<3, 2, T, Q>::mat(mat<4, 4, T, Q> const& m) +# if GLM_HAS_INITIALIZER_LISTS + : value{col_type(m[0]), col_type(m[1]), col_type(m[2])} +# endif + { +# if !GLM_HAS_INITIALIZER_LISTS + this->value[0] = col_type(m[0]); + this->value[1] = col_type(m[1]); + this->value[2] = col_type(m[2]); +# endif + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR mat<3, 2, T, Q>::mat(mat<2, 3, T, Q> const& m) +# if GLM_HAS_INITIALIZER_LISTS + : value{col_type(m[0]), col_type(m[1]), col_type(0)} +# endif + { +# if !GLM_HAS_INITIALIZER_LISTS + this->value[0] = col_type(m[0]); + this->value[1] = col_type(m[1]); + this->value[2] = col_type(0); +# endif + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR mat<3, 2, T, Q>::mat(mat<2, 4, T, Q> const& m) +# if GLM_HAS_INITIALIZER_LISTS + : value{col_type(m[0]), col_type(m[1]), col_type(0)} +# endif + { +# if !GLM_HAS_INITIALIZER_LISTS + this->value[0] = col_type(m[0]); + this->value[1] = col_type(m[1]); + this->value[2] = col_type(0); +# endif + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR mat<3, 2, T, Q>::mat(mat<3, 4, T, Q> const& m) +# if GLM_HAS_INITIALIZER_LISTS + : value{col_type(m[0]), col_type(m[1]), col_type(m[2])} +# endif + { +# if !GLM_HAS_INITIALIZER_LISTS + this->value[0] = col_type(m[0]); + this->value[1] = col_type(m[1]); + this->value[2] = col_type(m[2]); +# endif + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR mat<3, 2, T, Q>::mat(mat<4, 2, T, Q> const& m) +# if GLM_HAS_INITIALIZER_LISTS + : value{col_type(m[0]), col_type(m[1]), col_type(m[2])} +# endif + { +# if !GLM_HAS_INITIALIZER_LISTS + this->value[0] = m[0]; + this->value[1] = m[1]; + this->value[2] = m[2]; +# endif + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR mat<3, 2, T, Q>::mat(mat<4, 3, T, Q> const& m) +# if GLM_HAS_INITIALIZER_LISTS + : value{col_type(m[0]), col_type(m[1]), col_type(m[2])} +# endif + { +# if !GLM_HAS_INITIALIZER_LISTS + this->value[0] = col_type(m[0]); + this->value[1] = col_type(m[1]); + this->value[2] = col_type(m[2]); +# endif + } + + // -- Accesses -- + + template + GLM_FUNC_QUALIFIER typename mat<3, 2, T, Q>::col_type & mat<3, 2, T, Q>::operator[](typename mat<3, 2, T, Q>::length_type i) + { + assert(i < this->length()); + return this->value[i]; + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR typename mat<3, 2, T, Q>::col_type const& mat<3, 2, T, Q>::operator[](typename mat<3, 2, T, Q>::length_type i) const + { + assert(i < this->length()); + return this->value[i]; + } + + // -- Unary updatable operators -- + + template + template + GLM_FUNC_QUALIFIER mat<3, 2, T, Q>& mat<3, 2, T, Q>::operator=(mat<3, 2, U, Q> const& m) + { + this->value[0] = m[0]; + this->value[1] = m[1]; + this->value[2] = m[2]; + return *this; + } + + template + template + GLM_FUNC_QUALIFIER mat<3, 2, T, Q>& mat<3, 2, T, Q>::operator+=(U s) + { + this->value[0] += s; + this->value[1] += s; + this->value[2] += s; + return *this; + } + + template + template + GLM_FUNC_QUALIFIER mat<3, 2, T, Q>& mat<3, 2, T, Q>::operator+=(mat<3, 2, U, Q> const& m) + { + this->value[0] += m[0]; + this->value[1] += m[1]; + this->value[2] += m[2]; + return *this; + } + + template + template + GLM_FUNC_QUALIFIER mat<3, 2, T, Q>& mat<3, 2, T, Q>::operator-=(U s) + { + this->value[0] -= s; + this->value[1] -= s; + this->value[2] -= s; + return *this; + } + + template + template + GLM_FUNC_QUALIFIER mat<3, 2, T, Q>& mat<3, 2, T, Q>::operator-=(mat<3, 2, U, Q> const& m) + { + this->value[0] -= m[0]; + this->value[1] -= m[1]; + this->value[2] -= m[2]; + return *this; + } + + template + template + GLM_FUNC_QUALIFIER mat<3, 2, T, Q>& mat<3, 2, T, Q>::operator*=(U s) + { + this->value[0] *= s; + this->value[1] *= s; + this->value[2] *= s; + return *this; + } + + template + template + GLM_FUNC_QUALIFIER mat<3, 2, T, Q> & mat<3, 2, T, Q>::operator/=(U s) + { + this->value[0] /= s; + this->value[1] /= s; + this->value[2] /= s; + return *this; + } + + // -- Increment and decrement operators -- + + template + GLM_FUNC_QUALIFIER mat<3, 2, T, Q>& mat<3, 2, T, Q>::operator++() + { + ++this->value[0]; + ++this->value[1]; + ++this->value[2]; + return *this; + } + + template + GLM_FUNC_QUALIFIER mat<3, 2, T, Q>& mat<3, 2, T, Q>::operator--() + { + --this->value[0]; + --this->value[1]; + --this->value[2]; + return *this; + } + + template + GLM_FUNC_QUALIFIER mat<3, 2, T, Q> mat<3, 2, T, Q>::operator++(int) + { + mat<3, 2, T, Q> Result(*this); + ++*this; + return Result; + } + + template + GLM_FUNC_QUALIFIER mat<3, 2, T, Q> mat<3, 2, T, Q>::operator--(int) + { + mat<3, 2, T, Q> Result(*this); + --*this; + return Result; + } + + // -- Unary arithmetic operators -- + + template + GLM_FUNC_QUALIFIER mat<3, 2, T, Q> operator+(mat<3, 2, T, Q> const& m) + { + return m; + } + + template + GLM_FUNC_QUALIFIER mat<3, 2, T, Q> operator-(mat<3, 2, T, Q> const& m) + { + return mat<3, 2, T, Q>( + -m[0], + -m[1], + -m[2]); + } + + // -- Binary arithmetic operators -- + + template + GLM_FUNC_QUALIFIER mat<3, 2, T, Q> operator+(mat<3, 2, T, Q> const& m, T scalar) + { + return mat<3, 2, T, Q>( + m[0] + scalar, + m[1] + scalar, + m[2] + scalar); + } + + template + GLM_FUNC_QUALIFIER mat<3, 2, T, Q> operator+(mat<3, 2, T, Q> const& m1, mat<3, 2, T, Q> const& m2) + { + return mat<3, 2, T, Q>( + m1[0] + m2[0], + m1[1] + m2[1], + m1[2] + m2[2]); + } + + template + GLM_FUNC_QUALIFIER mat<3, 2, T, Q> operator-(mat<3, 2, T, Q> const& m, T scalar) + { + return mat<3, 2, T, Q>( + m[0] - scalar, + m[1] - scalar, + m[2] - scalar); + } + + template + GLM_FUNC_QUALIFIER mat<3, 2, T, Q> operator-(mat<3, 2, T, Q> const& m1, mat<3, 2, T, Q> const& m2) + { + return mat<3, 2, T, Q>( + m1[0] - m2[0], + m1[1] - m2[1], + m1[2] - m2[2]); + } + + template + GLM_FUNC_QUALIFIER mat<3, 2, T, Q> operator*(mat<3, 2, T, Q> const& m, T scalar) + { + return mat<3, 2, T, Q>( + m[0] * scalar, + m[1] * scalar, + m[2] * scalar); + } + + template + GLM_FUNC_QUALIFIER mat<3, 2, T, Q> operator*(T scalar, mat<3, 2, T, Q> const& m) + { + return mat<3, 2, T, Q>( + m[0] * scalar, + m[1] * scalar, + m[2] * scalar); + } + + template + GLM_FUNC_QUALIFIER typename mat<3, 2, T, Q>::col_type operator*(mat<3, 2, T, Q> const& m, typename mat<3, 2, T, Q>::row_type const& v) + { + return typename mat<3, 2, T, Q>::col_type( + m[0][0] * v.x + m[1][0] * v.y + m[2][0] * v.z, + m[0][1] * v.x + m[1][1] * v.y + m[2][1] * v.z); + } + + template + GLM_FUNC_QUALIFIER typename mat<3, 2, T, Q>::row_type operator*(typename mat<3, 2, T, Q>::col_type const& v, mat<3, 2, T, Q> const& m) + { + return typename mat<3, 2, T, Q>::row_type( + v.x * m[0][0] + v.y * m[0][1], + v.x * m[1][0] + v.y * m[1][1], + v.x * m[2][0] + v.y * m[2][1]); + } + + template + GLM_FUNC_QUALIFIER mat<2, 2, T, Q> operator*(mat<3, 2, T, Q> const& m1, mat<2, 3, T, Q> const& m2) + { + const T SrcA00 = m1[0][0]; + const T SrcA01 = m1[0][1]; + const T SrcA10 = m1[1][0]; + const T SrcA11 = m1[1][1]; + const T SrcA20 = m1[2][0]; + const T SrcA21 = m1[2][1]; + + const T SrcB00 = m2[0][0]; + const T SrcB01 = m2[0][1]; + const T SrcB02 = m2[0][2]; + const T SrcB10 = m2[1][0]; + const T SrcB11 = m2[1][1]; + const T SrcB12 = m2[1][2]; + + mat<2, 2, T, Q> Result; + Result[0][0] = SrcA00 * SrcB00 + SrcA10 * SrcB01 + SrcA20 * SrcB02; + Result[0][1] = SrcA01 * SrcB00 + SrcA11 * SrcB01 + SrcA21 * SrcB02; + Result[1][0] = SrcA00 * SrcB10 + SrcA10 * SrcB11 + SrcA20 * SrcB12; + Result[1][1] = SrcA01 * SrcB10 + SrcA11 * SrcB11 + SrcA21 * SrcB12; + return Result; + } + + template + GLM_FUNC_QUALIFIER mat<3, 2, T, Q> operator*(mat<3, 2, T, Q> const& m1, mat<3, 3, T, Q> const& m2) + { + return mat<3, 2, T, Q>( + m1[0][0] * m2[0][0] + m1[1][0] * m2[0][1] + m1[2][0] * m2[0][2], + m1[0][1] * m2[0][0] + m1[1][1] * m2[0][1] + m1[2][1] * m2[0][2], + m1[0][0] * m2[1][0] + m1[1][0] * m2[1][1] + m1[2][0] * m2[1][2], + m1[0][1] * m2[1][0] + m1[1][1] * m2[1][1] + m1[2][1] * m2[1][2], + m1[0][0] * m2[2][0] + m1[1][0] * m2[2][1] + m1[2][0] * m2[2][2], + m1[0][1] * m2[2][0] + m1[1][1] * m2[2][1] + m1[2][1] * m2[2][2]); + } + + template + GLM_FUNC_QUALIFIER mat<4, 2, T, Q> operator*(mat<3, 2, T, Q> const& m1, mat<4, 3, T, Q> const& m2) + { + return mat<4, 2, T, Q>( + m1[0][0] * m2[0][0] + m1[1][0] * m2[0][1] + m1[2][0] * m2[0][2], + m1[0][1] * m2[0][0] + m1[1][1] * m2[0][1] + m1[2][1] * m2[0][2], + m1[0][0] * m2[1][0] + m1[1][0] * m2[1][1] + m1[2][0] * m2[1][2], + m1[0][1] * m2[1][0] + m1[1][1] * m2[1][1] + m1[2][1] * m2[1][2], + m1[0][0] * m2[2][0] + m1[1][0] * m2[2][1] + m1[2][0] * m2[2][2], + m1[0][1] * m2[2][0] + m1[1][1] * m2[2][1] + m1[2][1] * m2[2][2], + m1[0][0] * m2[3][0] + m1[1][0] * m2[3][1] + m1[2][0] * m2[3][2], + m1[0][1] * m2[3][0] + m1[1][1] * m2[3][1] + m1[2][1] * m2[3][2]); + } + + template + GLM_FUNC_QUALIFIER mat<3, 2, T, Q> operator/(mat<3, 2, T, Q> const& m, T scalar) + { + return mat<3, 2, T, Q>( + m[0] / scalar, + m[1] / scalar, + m[2] / scalar); + } + + template + GLM_FUNC_QUALIFIER mat<3, 2, T, Q> operator/(T scalar, mat<3, 2, T, Q> const& m) + { + return mat<3, 2, T, Q>( + scalar / m[0], + scalar / m[1], + scalar / m[2]); + } + + // -- Boolean operators -- + + template + GLM_FUNC_QUALIFIER bool operator==(mat<3, 2, T, Q> const& m1, mat<3, 2, T, Q> const& m2) + { + return (m1[0] == m2[0]) && (m1[1] == m2[1]) && (m1[2] == m2[2]); + } + + template + GLM_FUNC_QUALIFIER bool operator!=(mat<3, 2, T, Q> const& m1, mat<3, 2, T, Q> const& m2) + { + return (m1[0] != m2[0]) || (m1[1] != m2[1]) || (m1[2] != m2[2]); + } +} //namespace glm diff --git a/MacroLibX/third_party/glm/detail/type_mat3x3.hpp b/MacroLibX/third_party/glm/detail/type_mat3x3.hpp new file mode 100644 index 0000000..3174872 --- /dev/null +++ b/MacroLibX/third_party/glm/detail/type_mat3x3.hpp @@ -0,0 +1,184 @@ +/// @ref core +/// @file glm/detail/type_mat3x3.hpp + +#pragma once + +#include "type_vec3.hpp" +#include +#include + +namespace glm +{ + template + struct mat<3, 3, T, Q> + { + typedef vec<3, T, Q> col_type; + typedef vec<3, T, Q> row_type; + typedef mat<3, 3, T, Q> type; + typedef mat<3, 3, T, Q> transpose_type; + typedef T value_type; + + private: + col_type value[3]; + + public: + // -- Accesses -- + + typedef length_t length_type; + GLM_FUNC_DECL static GLM_CONSTEXPR length_type length() { return 3; } + + GLM_FUNC_DECL col_type & operator[](length_type i); + GLM_FUNC_DECL GLM_CONSTEXPR col_type const& operator[](length_type i) const; + + // -- Constructors -- + + GLM_FUNC_DECL GLM_CONSTEXPR mat() GLM_DEFAULT; + template + GLM_FUNC_DECL GLM_CONSTEXPR mat(mat<3, 3, T, P> const& m); + + GLM_FUNC_DECL explicit GLM_CONSTEXPR mat(T scalar); + GLM_FUNC_DECL GLM_CONSTEXPR mat( + T x0, T y0, T z0, + T x1, T y1, T z1, + T x2, T y2, T z2); + GLM_FUNC_DECL GLM_CONSTEXPR mat( + col_type const& v0, + col_type const& v1, + col_type const& v2); + + // -- Conversions -- + + template< + typename X1, typename Y1, typename Z1, + typename X2, typename Y2, typename Z2, + typename X3, typename Y3, typename Z3> + GLM_FUNC_DECL GLM_CONSTEXPR mat( + X1 x1, Y1 y1, Z1 z1, + X2 x2, Y2 y2, Z2 z2, + X3 x3, Y3 y3, Z3 z3); + + template + GLM_FUNC_DECL GLM_CONSTEXPR mat( + vec<3, V1, Q> const& v1, + vec<3, V2, Q> const& v2, + vec<3, V3, Q> const& v3); + + // -- Matrix conversions -- + + template + GLM_FUNC_DECL GLM_EXPLICIT GLM_CONSTEXPR mat(mat<3, 3, U, P> const& m); + + GLM_FUNC_DECL GLM_EXPLICIT GLM_CONSTEXPR mat(mat<2, 2, T, Q> const& x); + GLM_FUNC_DECL GLM_EXPLICIT GLM_CONSTEXPR mat(mat<4, 4, T, Q> const& x); + GLM_FUNC_DECL GLM_EXPLICIT GLM_CONSTEXPR mat(mat<2, 3, T, Q> const& x); + GLM_FUNC_DECL GLM_EXPLICIT GLM_CONSTEXPR mat(mat<3, 2, T, Q> const& x); + GLM_FUNC_DECL GLM_EXPLICIT GLM_CONSTEXPR mat(mat<2, 4, T, Q> const& x); + GLM_FUNC_DECL GLM_EXPLICIT GLM_CONSTEXPR mat(mat<4, 2, T, Q> const& x); + GLM_FUNC_DECL GLM_EXPLICIT GLM_CONSTEXPR mat(mat<3, 4, T, Q> const& x); + GLM_FUNC_DECL GLM_EXPLICIT GLM_CONSTEXPR mat(mat<4, 3, T, Q> const& x); + + // -- Unary arithmetic operators -- + + template + GLM_FUNC_DECL mat<3, 3, T, Q> & operator=(mat<3, 3, U, Q> const& m); + template + GLM_FUNC_DECL mat<3, 3, T, Q> & operator+=(U s); + template + GLM_FUNC_DECL mat<3, 3, T, Q> & operator+=(mat<3, 3, U, Q> const& m); + template + GLM_FUNC_DECL mat<3, 3, T, Q> & operator-=(U s); + template + GLM_FUNC_DECL mat<3, 3, T, Q> & operator-=(mat<3, 3, U, Q> const& m); + template + GLM_FUNC_DECL mat<3, 3, T, Q> & operator*=(U s); + template + GLM_FUNC_DECL mat<3, 3, T, Q> & operator*=(mat<3, 3, U, Q> const& m); + template + GLM_FUNC_DECL mat<3, 3, T, Q> & operator/=(U s); + template + GLM_FUNC_DECL mat<3, 3, T, Q> & operator/=(mat<3, 3, U, Q> const& m); + + // -- Increment and decrement operators -- + + GLM_FUNC_DECL mat<3, 3, T, Q> & operator++(); + GLM_FUNC_DECL mat<3, 3, T, Q> & operator--(); + GLM_FUNC_DECL mat<3, 3, T, Q> operator++(int); + GLM_FUNC_DECL mat<3, 3, T, Q> operator--(int); + }; + + // -- Unary operators -- + + template + GLM_FUNC_DECL mat<3, 3, T, Q> operator+(mat<3, 3, T, Q> const& m); + + template + GLM_FUNC_DECL mat<3, 3, T, Q> operator-(mat<3, 3, T, Q> const& m); + + // -- Binary operators -- + + template + GLM_FUNC_DECL mat<3, 3, T, Q> operator+(mat<3, 3, T, Q> const& m, T scalar); + + template + GLM_FUNC_DECL mat<3, 3, T, Q> operator+(T scalar, mat<3, 3, T, Q> const& m); + + template + GLM_FUNC_DECL mat<3, 3, T, Q> operator+(mat<3, 3, T, Q> const& m1, mat<3, 3, T, Q> const& m2); + + template + GLM_FUNC_DECL mat<3, 3, T, Q> operator-(mat<3, 3, T, Q> const& m, T scalar); + + template + GLM_FUNC_DECL mat<3, 3, T, Q> operator-(T scalar, mat<3, 3, T, Q> const& m); + + template + GLM_FUNC_DECL mat<3, 3, T, Q> operator-(mat<3, 3, T, Q> const& m1, mat<3, 3, T, Q> const& m2); + + template + GLM_FUNC_DECL mat<3, 3, T, Q> operator*(mat<3, 3, T, Q> const& m, T scalar); + + template + GLM_FUNC_DECL mat<3, 3, T, Q> operator*(T scalar, mat<3, 3, T, Q> const& m); + + template + GLM_FUNC_DECL typename mat<3, 3, T, Q>::col_type operator*(mat<3, 3, T, Q> const& m, typename mat<3, 3, T, Q>::row_type const& v); + + template + GLM_FUNC_DECL typename mat<3, 3, T, Q>::row_type operator*(typename mat<3, 3, T, Q>::col_type const& v, mat<3, 3, T, Q> const& m); + + template + GLM_FUNC_DECL mat<3, 3, T, Q> operator*(mat<3, 3, T, Q> const& m1, mat<3, 3, T, Q> const& m2); + + template + GLM_FUNC_DECL mat<2, 3, T, Q> operator*(mat<3, 3, T, Q> const& m1, mat<2, 3, T, Q> const& m2); + + template + GLM_FUNC_DECL mat<4, 3, T, Q> operator*(mat<3, 3, T, Q> const& m1, mat<4, 3, T, Q> const& m2); + + template + GLM_FUNC_DECL mat<3, 3, T, Q> operator/(mat<3, 3, T, Q> const& m, T scalar); + + template + GLM_FUNC_DECL mat<3, 3, T, Q> operator/(T scalar, mat<3, 3, T, Q> const& m); + + template + GLM_FUNC_DECL typename mat<3, 3, T, Q>::col_type operator/(mat<3, 3, T, Q> const& m, typename mat<3, 3, T, Q>::row_type const& v); + + template + GLM_FUNC_DECL typename mat<3, 3, T, Q>::row_type operator/(typename mat<3, 3, T, Q>::col_type const& v, mat<3, 3, T, Q> const& m); + + template + GLM_FUNC_DECL mat<3, 3, T, Q> operator/(mat<3, 3, T, Q> const& m1, mat<3, 3, T, Q> const& m2); + + // -- Boolean operators -- + + template + GLM_FUNC_DECL GLM_CONSTEXPR bool operator==(mat<3, 3, T, Q> const& m1, mat<3, 3, T, Q> const& m2); + + template + GLM_FUNC_DECL bool operator!=(mat<3, 3, T, Q> const& m1, mat<3, 3, T, Q> const& m2); +}//namespace glm + +#ifndef GLM_EXTERNAL_TEMPLATE +#include "type_mat3x3.inl" +#endif diff --git a/MacroLibX/third_party/glm/detail/type_mat3x3.inl b/MacroLibX/third_party/glm/detail/type_mat3x3.inl new file mode 100644 index 0000000..1ddaf99 --- /dev/null +++ b/MacroLibX/third_party/glm/detail/type_mat3x3.inl @@ -0,0 +1,601 @@ +#include "../matrix.hpp" + +namespace glm +{ + // -- Constructors -- + +# if GLM_CONFIG_DEFAULTED_FUNCTIONS == GLM_DISABLE + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR mat<3, 3, T, Q>::mat() +# if GLM_CONFIG_CTOR_INIT == GLM_CTOR_INITIALIZER_LIST + : value{col_type(1, 0, 0), col_type(0, 1, 0), col_type(0, 0, 1)} +# endif + { +# if GLM_CONFIG_CTOR_INIT == GLM_CTOR_INITIALISATION + this->value[0] = col_type(1, 0, 0); + this->value[1] = col_type(0, 1, 0); + this->value[2] = col_type(0, 0, 1); +# endif + } +# endif + + template + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR mat<3, 3, T, Q>::mat(mat<3, 3, T, P> const& m) +# if GLM_HAS_INITIALIZER_LISTS + : value{col_type(m[0]), col_type(m[1]), col_type(m[2])} +# endif + { +# if !GLM_HAS_INITIALIZER_LISTS + this->value[0] = col_type(m[0]); + this->value[1] = col_type(m[1]); + this->value[2] = col_type(m[2]); +# endif + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR mat<3, 3, T, Q>::mat(T s) +# if GLM_HAS_INITIALIZER_LISTS + : value{col_type(s, 0, 0), col_type(0, s, 0), col_type(0, 0, s)} +# endif + { +# if !GLM_HAS_INITIALIZER_LISTS + this->value[0] = col_type(s, 0, 0); + this->value[1] = col_type(0, s, 0); + this->value[2] = col_type(0, 0, s); +# endif + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR mat<3, 3, T, Q>::mat + ( + T x0, T y0, T z0, + T x1, T y1, T z1, + T x2, T y2, T z2 + ) +# if GLM_HAS_INITIALIZER_LISTS + : value{col_type(x0, y0, z0), col_type(x1, y1, z1), col_type(x2, y2, z2)} +# endif + { +# if !GLM_HAS_INITIALIZER_LISTS + this->value[0] = col_type(x0, y0, z0); + this->value[1] = col_type(x1, y1, z1); + this->value[2] = col_type(x2, y2, z2); +# endif + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR mat<3, 3, T, Q>::mat(col_type const& v0, col_type const& v1, col_type const& v2) +# if GLM_HAS_INITIALIZER_LISTS + : value{col_type(v0), col_type(v1), col_type(v2)} +# endif + { +# if !GLM_HAS_INITIALIZER_LISTS + this->value[0] = col_type(v0); + this->value[1] = col_type(v1); + this->value[2] = col_type(v2); +# endif + } + + // -- Conversion constructors -- + + template + template< + typename X1, typename Y1, typename Z1, + typename X2, typename Y2, typename Z2, + typename X3, typename Y3, typename Z3> + GLM_FUNC_QUALIFIER GLM_CONSTEXPR mat<3, 3, T, Q>::mat + ( + X1 x1, Y1 y1, Z1 z1, + X2 x2, Y2 y2, Z2 z2, + X3 x3, Y3 y3, Z3 z3 + ) +# if GLM_HAS_INITIALIZER_LISTS + : value{col_type(x1, y1, z1), col_type(x2, y2, z2), col_type(x3, y3, z3)} +# endif + { +# if !GLM_HAS_INITIALIZER_LISTS + this->value[0] = col_type(x1, y1, z1); + this->value[1] = col_type(x2, y2, z2); + this->value[2] = col_type(x3, y3, z3); +# endif + } + + template + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR mat<3, 3, T, Q>::mat(vec<3, V1, Q> const& v1, vec<3, V2, Q> const& v2, vec<3, V3, Q> const& v3) +# if GLM_HAS_INITIALIZER_LISTS + : value{col_type(v1), col_type(v2), col_type(v3)} +# endif + { +# if !GLM_HAS_INITIALIZER_LISTS + this->value[0] = col_type(v1); + this->value[1] = col_type(v2); + this->value[2] = col_type(v3); +# endif + } + + // -- Matrix conversions -- + + template + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR mat<3, 3, T, Q>::mat(mat<3, 3, U, P> const& m) +# if GLM_HAS_INITIALIZER_LISTS + : value{col_type(m[0]), col_type(m[1]), col_type(m[2])} +# endif + { +# if !GLM_HAS_INITIALIZER_LISTS + this->value[0] = col_type(m[0]); + this->value[1] = col_type(m[1]); + this->value[2] = col_type(m[2]); +# endif + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR mat<3, 3, T, Q>::mat(mat<2, 2, T, Q> const& m) +# if GLM_HAS_INITIALIZER_LISTS + : value{col_type(m[0], 0), col_type(m[1], 0), col_type(0, 0, 1)} +# endif + { +# if !GLM_HAS_INITIALIZER_LISTS + this->value[0] = col_type(m[0], 0); + this->value[1] = col_type(m[1], 0); + this->value[2] = col_type(0, 0, 1); +# endif + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR mat<3, 3, T, Q>::mat(mat<4, 4, T, Q> const& m) +# if GLM_HAS_INITIALIZER_LISTS + : value{col_type(m[0]), col_type(m[1]), col_type(m[2])} +# endif + { +# if !GLM_HAS_INITIALIZER_LISTS + this->value[0] = col_type(m[0]); + this->value[1] = col_type(m[1]); + this->value[2] = col_type(m[2]); +# endif + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR mat<3, 3, T, Q>::mat(mat<2, 3, T, Q> const& m) +# if GLM_HAS_INITIALIZER_LISTS + : value{col_type(m[0]), col_type(m[1]), col_type(0, 0, 1)} +# endif + { +# if !GLM_HAS_INITIALIZER_LISTS + this->value[0] = col_type(m[0]); + this->value[1] = col_type(m[1]); + this->value[2] = col_type(0, 0, 1); +# endif + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR mat<3, 3, T, Q>::mat(mat<3, 2, T, Q> const& m) +# if GLM_HAS_INITIALIZER_LISTS + : value{col_type(m[0], 0), col_type(m[1], 0), col_type(m[2], 1)} +# endif + { +# if !GLM_HAS_INITIALIZER_LISTS + this->value[0] = col_type(m[0], 0); + this->value[1] = col_type(m[1], 0); + this->value[2] = col_type(m[2], 1); +# endif + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR mat<3, 3, T, Q>::mat(mat<2, 4, T, Q> const& m) +# if GLM_HAS_INITIALIZER_LISTS + : value{col_type(m[0]), col_type(m[1]), col_type(0, 0, 1)} +# endif + { +# if !GLM_HAS_INITIALIZER_LISTS + this->value[0] = col_type(m[0]); + this->value[1] = col_type(m[1]); + this->value[2] = col_type(0, 0, 1); +# endif + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR mat<3, 3, T, Q>::mat(mat<4, 2, T, Q> const& m) +# if GLM_HAS_INITIALIZER_LISTS + : value{col_type(m[0], 0), col_type(m[1], 0), col_type(m[2], 1)} +# endif + { +# if !GLM_HAS_INITIALIZER_LISTS + this->value[0] = col_type(m[0], 0); + this->value[1] = col_type(m[1], 0); + this->value[2] = col_type(m[2], 1); +# endif + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR mat<3, 3, T, Q>::mat(mat<3, 4, T, Q> const& m) +# if GLM_HAS_INITIALIZER_LISTS + : value{col_type(m[0]), col_type(m[1]), col_type(m[2])} +# endif + { +# if !GLM_HAS_INITIALIZER_LISTS + this->value[0] = col_type(m[0]); + this->value[1] = col_type(m[1]); + this->value[2] = col_type(m[2]); +# endif + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR mat<3, 3, T, Q>::mat(mat<4, 3, T, Q> const& m) +# if GLM_HAS_INITIALIZER_LISTS + : value{col_type(m[0]), col_type(m[1]), col_type(m[2])} +# endif + { +# if !GLM_HAS_INITIALIZER_LISTS + this->value[0] = col_type(m[0]); + this->value[1] = col_type(m[1]); + this->value[2] = col_type(m[2]); +# endif + } + + // -- Accesses -- + + template + GLM_FUNC_QUALIFIER typename mat<3, 3, T, Q>::col_type & mat<3, 3, T, Q>::operator[](typename mat<3, 3, T, Q>::length_type i) + { + assert(i < this->length()); + return this->value[i]; + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR typename mat<3, 3, T, Q>::col_type const& mat<3, 3, T, Q>::operator[](typename mat<3, 3, T, Q>::length_type i) const + { + assert(i < this->length()); + return this->value[i]; + } + + // -- Unary updatable operators -- + + template + template + GLM_FUNC_QUALIFIER mat<3, 3, T, Q> & mat<3, 3, T, Q>::operator=(mat<3, 3, U, Q> const& m) + { + this->value[0] = m[0]; + this->value[1] = m[1]; + this->value[2] = m[2]; + return *this; + } + + template + template + GLM_FUNC_QUALIFIER mat<3, 3, T, Q> & mat<3, 3, T, Q>::operator+=(U s) + { + this->value[0] += s; + this->value[1] += s; + this->value[2] += s; + return *this; + } + + template + template + GLM_FUNC_QUALIFIER mat<3, 3, T, Q> & mat<3, 3, T, Q>::operator+=(mat<3, 3, U, Q> const& m) + { + this->value[0] += m[0]; + this->value[1] += m[1]; + this->value[2] += m[2]; + return *this; + } + + template + template + GLM_FUNC_QUALIFIER mat<3, 3, T, Q> & mat<3, 3, T, Q>::operator-=(U s) + { + this->value[0] -= s; + this->value[1] -= s; + this->value[2] -= s; + return *this; + } + + template + template + GLM_FUNC_QUALIFIER mat<3, 3, T, Q> & mat<3, 3, T, Q>::operator-=(mat<3, 3, U, Q> const& m) + { + this->value[0] -= m[0]; + this->value[1] -= m[1]; + this->value[2] -= m[2]; + return *this; + } + + template + template + GLM_FUNC_QUALIFIER mat<3, 3, T, Q> & mat<3, 3, T, Q>::operator*=(U s) + { + this->value[0] *= s; + this->value[1] *= s; + this->value[2] *= s; + return *this; + } + + template + template + GLM_FUNC_QUALIFIER mat<3, 3, T, Q> & mat<3, 3, T, Q>::operator*=(mat<3, 3, U, Q> const& m) + { + return (*this = *this * m); + } + + template + template + GLM_FUNC_QUALIFIER mat<3, 3, T, Q> & mat<3, 3, T, Q>::operator/=(U s) + { + this->value[0] /= s; + this->value[1] /= s; + this->value[2] /= s; + return *this; + } + + template + template + GLM_FUNC_QUALIFIER mat<3, 3, T, Q> & mat<3, 3, T, Q>::operator/=(mat<3, 3, U, Q> const& m) + { + return *this *= inverse(m); + } + + // -- Increment and decrement operators -- + + template + GLM_FUNC_QUALIFIER mat<3, 3, T, Q> & mat<3, 3, T, Q>::operator++() + { + ++this->value[0]; + ++this->value[1]; + ++this->value[2]; + return *this; + } + + template + GLM_FUNC_QUALIFIER mat<3, 3, T, Q> & mat<3, 3, T, Q>::operator--() + { + --this->value[0]; + --this->value[1]; + --this->value[2]; + return *this; + } + + template + GLM_FUNC_QUALIFIER mat<3, 3, T, Q> mat<3, 3, T, Q>::operator++(int) + { + mat<3, 3, T, Q> Result(*this); + ++*this; + return Result; + } + + template + GLM_FUNC_QUALIFIER mat<3, 3, T, Q> mat<3, 3, T, Q>::operator--(int) + { + mat<3, 3, T, Q> Result(*this); + --*this; + return Result; + } + + // -- Unary arithmetic operators -- + + template + GLM_FUNC_QUALIFIER mat<3, 3, T, Q> operator+(mat<3, 3, T, Q> const& m) + { + return m; + } + + template + GLM_FUNC_QUALIFIER mat<3, 3, T, Q> operator-(mat<3, 3, T, Q> const& m) + { + return mat<3, 3, T, Q>( + -m[0], + -m[1], + -m[2]); + } + + // -- Binary arithmetic operators -- + + template + GLM_FUNC_QUALIFIER mat<3, 3, T, Q> operator+(mat<3, 3, T, Q> const& m, T scalar) + { + return mat<3, 3, T, Q>( + m[0] + scalar, + m[1] + scalar, + m[2] + scalar); + } + + template + GLM_FUNC_QUALIFIER mat<3, 3, T, Q> operator+(T scalar, mat<3, 3, T, Q> const& m) + { + return mat<3, 3, T, Q>( + m[0] + scalar, + m[1] + scalar, + m[2] + scalar); + } + + template + GLM_FUNC_QUALIFIER mat<3, 3, T, Q> operator+(mat<3, 3, T, Q> const& m1, mat<3, 3, T, Q> const& m2) + { + return mat<3, 3, T, Q>( + m1[0] + m2[0], + m1[1] + m2[1], + m1[2] + m2[2]); + } + + template + GLM_FUNC_QUALIFIER mat<3, 3, T, Q> operator-(mat<3, 3, T, Q> const& m, T scalar) + { + return mat<3, 3, T, Q>( + m[0] - scalar, + m[1] - scalar, + m[2] - scalar); + } + + template + GLM_FUNC_QUALIFIER mat<3, 3, T, Q> operator-(T scalar, mat<3, 3, T, Q> const& m) + { + return mat<3, 3, T, Q>( + scalar - m[0], + scalar - m[1], + scalar - m[2]); + } + + template + GLM_FUNC_QUALIFIER mat<3, 3, T, Q> operator-(mat<3, 3, T, Q> const& m1, mat<3, 3, T, Q> const& m2) + { + return mat<3, 3, T, Q>( + m1[0] - m2[0], + m1[1] - m2[1], + m1[2] - m2[2]); + } + + template + GLM_FUNC_QUALIFIER mat<3, 3, T, Q> operator*(mat<3, 3, T, Q> const& m, T scalar) + { + return mat<3, 3, T, Q>( + m[0] * scalar, + m[1] * scalar, + m[2] * scalar); + } + + template + GLM_FUNC_QUALIFIER mat<3, 3, T, Q> operator*(T scalar, mat<3, 3, T, Q> const& m) + { + return mat<3, 3, T, Q>( + m[0] * scalar, + m[1] * scalar, + m[2] * scalar); + } + + template + GLM_FUNC_QUALIFIER typename mat<3, 3, T, Q>::col_type operator*(mat<3, 3, T, Q> const& m, typename mat<3, 3, T, Q>::row_type const& v) + { + return typename mat<3, 3, T, Q>::col_type( + m[0][0] * v.x + m[1][0] * v.y + m[2][0] * v.z, + m[0][1] * v.x + m[1][1] * v.y + m[2][1] * v.z, + m[0][2] * v.x + m[1][2] * v.y + m[2][2] * v.z); + } + + template + GLM_FUNC_QUALIFIER typename mat<3, 3, T, Q>::row_type operator*(typename mat<3, 3, T, Q>::col_type const& v, mat<3, 3, T, Q> const& m) + { + return typename mat<3, 3, T, Q>::row_type( + m[0][0] * v.x + m[0][1] * v.y + m[0][2] * v.z, + m[1][0] * v.x + m[1][1] * v.y + m[1][2] * v.z, + m[2][0] * v.x + m[2][1] * v.y + m[2][2] * v.z); + } + + template + GLM_FUNC_QUALIFIER mat<3, 3, T, Q> operator*(mat<3, 3, T, Q> const& m1, mat<3, 3, T, Q> const& m2) + { + T const SrcA00 = m1[0][0]; + T const SrcA01 = m1[0][1]; + T const SrcA02 = m1[0][2]; + T const SrcA10 = m1[1][0]; + T const SrcA11 = m1[1][1]; + T const SrcA12 = m1[1][2]; + T const SrcA20 = m1[2][0]; + T const SrcA21 = m1[2][1]; + T const SrcA22 = m1[2][2]; + + T const SrcB00 = m2[0][0]; + T const SrcB01 = m2[0][1]; + T const SrcB02 = m2[0][2]; + T const SrcB10 = m2[1][0]; + T const SrcB11 = m2[1][1]; + T const SrcB12 = m2[1][2]; + T const SrcB20 = m2[2][0]; + T const SrcB21 = m2[2][1]; + T const SrcB22 = m2[2][2]; + + mat<3, 3, T, Q> Result; + Result[0][0] = SrcA00 * SrcB00 + SrcA10 * SrcB01 + SrcA20 * SrcB02; + Result[0][1] = SrcA01 * SrcB00 + SrcA11 * SrcB01 + SrcA21 * SrcB02; + Result[0][2] = SrcA02 * SrcB00 + SrcA12 * SrcB01 + SrcA22 * SrcB02; + Result[1][0] = SrcA00 * SrcB10 + SrcA10 * SrcB11 + SrcA20 * SrcB12; + Result[1][1] = SrcA01 * SrcB10 + SrcA11 * SrcB11 + SrcA21 * SrcB12; + Result[1][2] = SrcA02 * SrcB10 + SrcA12 * SrcB11 + SrcA22 * SrcB12; + Result[2][0] = SrcA00 * SrcB20 + SrcA10 * SrcB21 + SrcA20 * SrcB22; + Result[2][1] = SrcA01 * SrcB20 + SrcA11 * SrcB21 + SrcA21 * SrcB22; + Result[2][2] = SrcA02 * SrcB20 + SrcA12 * SrcB21 + SrcA22 * SrcB22; + return Result; + } + + template + GLM_FUNC_QUALIFIER mat<2, 3, T, Q> operator*(mat<3, 3, T, Q> const& m1, mat<2, 3, T, Q> const& m2) + { + return mat<2, 3, T, Q>( + m1[0][0] * m2[0][0] + m1[1][0] * m2[0][1] + m1[2][0] * m2[0][2], + m1[0][1] * m2[0][0] + m1[1][1] * m2[0][1] + m1[2][1] * m2[0][2], + m1[0][2] * m2[0][0] + m1[1][2] * m2[0][1] + m1[2][2] * m2[0][2], + m1[0][0] * m2[1][0] + m1[1][0] * m2[1][1] + m1[2][0] * m2[1][2], + m1[0][1] * m2[1][0] + m1[1][1] * m2[1][1] + m1[2][1] * m2[1][2], + m1[0][2] * m2[1][0] + m1[1][2] * m2[1][1] + m1[2][2] * m2[1][2]); + } + + template + GLM_FUNC_QUALIFIER mat<4, 3, T, Q> operator*(mat<3, 3, T, Q> const& m1, mat<4, 3, T, Q> const& m2) + { + return mat<4, 3, T, Q>( + m1[0][0] * m2[0][0] + m1[1][0] * m2[0][1] + m1[2][0] * m2[0][2], + m1[0][1] * m2[0][0] + m1[1][1] * m2[0][1] + m1[2][1] * m2[0][2], + m1[0][2] * m2[0][0] + m1[1][2] * m2[0][1] + m1[2][2] * m2[0][2], + m1[0][0] * m2[1][0] + m1[1][0] * m2[1][1] + m1[2][0] * m2[1][2], + m1[0][1] * m2[1][0] + m1[1][1] * m2[1][1] + m1[2][1] * m2[1][2], + m1[0][2] * m2[1][0] + m1[1][2] * m2[1][1] + m1[2][2] * m2[1][2], + m1[0][0] * m2[2][0] + m1[1][0] * m2[2][1] + m1[2][0] * m2[2][2], + m1[0][1] * m2[2][0] + m1[1][1] * m2[2][1] + m1[2][1] * m2[2][2], + m1[0][2] * m2[2][0] + m1[1][2] * m2[2][1] + m1[2][2] * m2[2][2], + m1[0][0] * m2[3][0] + m1[1][0] * m2[3][1] + m1[2][0] * m2[3][2], + m1[0][1] * m2[3][0] + m1[1][1] * m2[3][1] + m1[2][1] * m2[3][2], + m1[0][2] * m2[3][0] + m1[1][2] * m2[3][1] + m1[2][2] * m2[3][2]); + } + + template + GLM_FUNC_QUALIFIER mat<3, 3, T, Q> operator/(mat<3, 3, T, Q> const& m, T scalar) + { + return mat<3, 3, T, Q>( + m[0] / scalar, + m[1] / scalar, + m[2] / scalar); + } + + template + GLM_FUNC_QUALIFIER mat<3, 3, T, Q> operator/(T scalar, mat<3, 3, T, Q> const& m) + { + return mat<3, 3, T, Q>( + scalar / m[0], + scalar / m[1], + scalar / m[2]); + } + + template + GLM_FUNC_QUALIFIER typename mat<3, 3, T, Q>::col_type operator/(mat<3, 3, T, Q> const& m, typename mat<3, 3, T, Q>::row_type const& v) + { + return inverse(m) * v; + } + + template + GLM_FUNC_QUALIFIER typename mat<3, 3, T, Q>::row_type operator/(typename mat<3, 3, T, Q>::col_type const& v, mat<3, 3, T, Q> const& m) + { + return v * inverse(m); + } + + template + GLM_FUNC_QUALIFIER mat<3, 3, T, Q> operator/(mat<3, 3, T, Q> const& m1, mat<3, 3, T, Q> const& m2) + { + mat<3, 3, T, Q> m1_copy(m1); + return m1_copy /= m2; + } + + // -- Boolean operators -- + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR bool operator==(mat<3, 3, T, Q> const& m1, mat<3, 3, T, Q> const& m2) + { + return (m1[0] == m2[0]) && (m1[1] == m2[1]) && (m1[2] == m2[2]); + } + + template + GLM_FUNC_QUALIFIER bool operator!=(mat<3, 3, T, Q> const& m1, mat<3, 3, T, Q> const& m2) + { + return (m1[0] != m2[0]) || (m1[1] != m2[1]) || (m1[2] != m2[2]); + } +} //namespace glm diff --git a/MacroLibX/third_party/glm/detail/type_mat3x4.hpp b/MacroLibX/third_party/glm/detail/type_mat3x4.hpp new file mode 100644 index 0000000..6e40b90 --- /dev/null +++ b/MacroLibX/third_party/glm/detail/type_mat3x4.hpp @@ -0,0 +1,166 @@ +/// @ref core +/// @file glm/detail/type_mat3x4.hpp + +#pragma once + +#include "type_vec3.hpp" +#include "type_vec4.hpp" +#include +#include + +namespace glm +{ + template + struct mat<3, 4, T, Q> + { + typedef vec<4, T, Q> col_type; + typedef vec<3, T, Q> row_type; + typedef mat<3, 4, T, Q> type; + typedef mat<4, 3, T, Q> transpose_type; + typedef T value_type; + + private: + col_type value[3]; + + public: + // -- Accesses -- + + typedef length_t length_type; + GLM_FUNC_DECL static GLM_CONSTEXPR length_type length() { return 3; } + + GLM_FUNC_DECL col_type & operator[](length_type i); + GLM_FUNC_DECL GLM_CONSTEXPR col_type const& operator[](length_type i) const; + + // -- Constructors -- + + GLM_FUNC_DECL GLM_CONSTEXPR mat() GLM_DEFAULT; + template + GLM_FUNC_DECL GLM_CONSTEXPR mat(mat<3, 4, T, P> const& m); + + GLM_FUNC_DECL explicit GLM_CONSTEXPR mat(T scalar); + GLM_FUNC_DECL GLM_CONSTEXPR mat( + T x0, T y0, T z0, T w0, + T x1, T y1, T z1, T w1, + T x2, T y2, T z2, T w2); + GLM_FUNC_DECL GLM_CONSTEXPR mat( + col_type const& v0, + col_type const& v1, + col_type const& v2); + + // -- Conversions -- + + template< + typename X1, typename Y1, typename Z1, typename W1, + typename X2, typename Y2, typename Z2, typename W2, + typename X3, typename Y3, typename Z3, typename W3> + GLM_FUNC_DECL GLM_CONSTEXPR mat( + X1 x1, Y1 y1, Z1 z1, W1 w1, + X2 x2, Y2 y2, Z2 z2, W2 w2, + X3 x3, Y3 y3, Z3 z3, W3 w3); + + template + GLM_FUNC_DECL GLM_CONSTEXPR mat( + vec<4, V1, Q> const& v1, + vec<4, V2, Q> const& v2, + vec<4, V3, Q> const& v3); + + // -- Matrix conversions -- + + template + GLM_FUNC_DECL GLM_EXPLICIT GLM_CONSTEXPR mat(mat<3, 4, U, P> const& m); + + GLM_FUNC_DECL GLM_EXPLICIT GLM_CONSTEXPR mat(mat<2, 2, T, Q> const& x); + GLM_FUNC_DECL GLM_EXPLICIT GLM_CONSTEXPR mat(mat<3, 3, T, Q> const& x); + GLM_FUNC_DECL GLM_EXPLICIT GLM_CONSTEXPR mat(mat<4, 4, T, Q> const& x); + GLM_FUNC_DECL GLM_EXPLICIT GLM_CONSTEXPR mat(mat<2, 3, T, Q> const& x); + GLM_FUNC_DECL GLM_EXPLICIT GLM_CONSTEXPR mat(mat<3, 2, T, Q> const& x); + GLM_FUNC_DECL GLM_EXPLICIT GLM_CONSTEXPR mat(mat<2, 4, T, Q> const& x); + GLM_FUNC_DECL GLM_EXPLICIT GLM_CONSTEXPR mat(mat<4, 2, T, Q> const& x); + GLM_FUNC_DECL GLM_EXPLICIT GLM_CONSTEXPR mat(mat<4, 3, T, Q> const& x); + + // -- Unary arithmetic operators -- + + template + GLM_FUNC_DECL mat<3, 4, T, Q> & operator=(mat<3, 4, U, Q> const& m); + template + GLM_FUNC_DECL mat<3, 4, T, Q> & operator+=(U s); + template + GLM_FUNC_DECL mat<3, 4, T, Q> & operator+=(mat<3, 4, U, Q> const& m); + template + GLM_FUNC_DECL mat<3, 4, T, Q> & operator-=(U s); + template + GLM_FUNC_DECL mat<3, 4, T, Q> & operator-=(mat<3, 4, U, Q> const& m); + template + GLM_FUNC_DECL mat<3, 4, T, Q> & operator*=(U s); + template + GLM_FUNC_DECL mat<3, 4, T, Q> & operator/=(U s); + + // -- Increment and decrement operators -- + + GLM_FUNC_DECL mat<3, 4, T, Q> & operator++(); + GLM_FUNC_DECL mat<3, 4, T, Q> & operator--(); + GLM_FUNC_DECL mat<3, 4, T, Q> operator++(int); + GLM_FUNC_DECL mat<3, 4, T, Q> operator--(int); + }; + + // -- Unary operators -- + + template + GLM_FUNC_DECL mat<3, 4, T, Q> operator+(mat<3, 4, T, Q> const& m); + + template + GLM_FUNC_DECL mat<3, 4, T, Q> operator-(mat<3, 4, T, Q> const& m); + + // -- Binary operators -- + + template + GLM_FUNC_DECL mat<3, 4, T, Q> operator+(mat<3, 4, T, Q> const& m, T scalar); + + template + GLM_FUNC_DECL mat<3, 4, T, Q> operator+(mat<3, 4, T, Q> const& m1, mat<3, 4, T, Q> const& m2); + + template + GLM_FUNC_DECL mat<3, 4, T, Q> operator-(mat<3, 4, T, Q> const& m, T scalar); + + template + GLM_FUNC_DECL mat<3, 4, T, Q> operator-(mat<3, 4, T, Q> const& m1, mat<3, 4, T, Q> const& m2); + + template + GLM_FUNC_DECL mat<3, 4, T, Q> operator*(mat<3, 4, T, Q> const& m, T scalar); + + template + GLM_FUNC_DECL mat<3, 4, T, Q> operator*(T scalar, mat<3, 4, T, Q> const& m); + + template + GLM_FUNC_DECL typename mat<3, 4, T, Q>::col_type operator*(mat<3, 4, T, Q> const& m, typename mat<3, 4, T, Q>::row_type const& v); + + template + GLM_FUNC_DECL typename mat<3, 4, T, Q>::row_type operator*(typename mat<3, 4, T, Q>::col_type const& v, mat<3, 4, T, Q> const& m); + + template + GLM_FUNC_DECL mat<4, 4, T, Q> operator*(mat<3, 4, T, Q> const& m1, mat<4, 3, T, Q> const& m2); + + template + GLM_FUNC_DECL mat<2, 4, T, Q> operator*(mat<3, 4, T, Q> const& m1, mat<2, 3, T, Q> const& m2); + + template + GLM_FUNC_DECL mat<3, 4, T, Q> operator*(mat<3, 4, T, Q> const& m1, mat<3, 3, T, Q> const& m2); + + template + GLM_FUNC_DECL mat<3, 4, T, Q> operator/(mat<3, 4, T, Q> const& m, T scalar); + + template + GLM_FUNC_DECL mat<3, 4, T, Q> operator/(T scalar, mat<3, 4, T, Q> const& m); + + // -- Boolean operators -- + + template + GLM_FUNC_DECL bool operator==(mat<3, 4, T, Q> const& m1, mat<3, 4, T, Q> const& m2); + + template + GLM_FUNC_DECL bool operator!=(mat<3, 4, T, Q> const& m1, mat<3, 4, T, Q> const& m2); +}//namespace glm + +#ifndef GLM_EXTERNAL_TEMPLATE +#include "type_mat3x4.inl" +#endif diff --git a/MacroLibX/third_party/glm/detail/type_mat3x4.inl b/MacroLibX/third_party/glm/detail/type_mat3x4.inl new file mode 100644 index 0000000..6ee416c --- /dev/null +++ b/MacroLibX/third_party/glm/detail/type_mat3x4.inl @@ -0,0 +1,578 @@ +namespace glm +{ + // -- Constructors -- + +# if GLM_CONFIG_DEFAULTED_FUNCTIONS == GLM_DISABLE + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR mat<3, 4, T, Q>::mat() +# if GLM_CONFIG_CTOR_INIT == GLM_CTOR_INITIALIZER_LIST + : value{col_type(1, 0, 0, 0), col_type(0, 1, 0, 0), col_type(0, 0, 1, 0)} +# endif + { +# if GLM_CONFIG_CTOR_INIT == GLM_CTOR_INITIALISATION + this->value[0] = col_type(1, 0, 0, 0); + this->value[1] = col_type(0, 1, 0, 0); + this->value[2] = col_type(0, 0, 1, 0); +# endif + } +# endif + + template + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR mat<3, 4, T, Q>::mat(mat<3, 4, T, P> const& m) +# if GLM_HAS_INITIALIZER_LISTS + : value{col_type(m[0]), col_type(m[1]), col_type(m[2])} +# endif + { +# if !GLM_HAS_INITIALIZER_LISTS + this->value[0] = m[0]; + this->value[1] = m[1]; + this->value[2] = m[2]; +# endif + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR mat<3, 4, T, Q>::mat(T s) +# if GLM_HAS_INITIALIZER_LISTS + : value{col_type(s, 0, 0, 0), col_type(0, s, 0, 0), col_type(0, 0, s, 0)} +# endif + { +# if !GLM_HAS_INITIALIZER_LISTS + this->value[0] = col_type(s, 0, 0, 0); + this->value[1] = col_type(0, s, 0, 0); + this->value[2] = col_type(0, 0, s, 0); +# endif + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR mat<3, 4, T, Q>::mat + ( + T x0, T y0, T z0, T w0, + T x1, T y1, T z1, T w1, + T x2, T y2, T z2, T w2 + ) +# if GLM_HAS_INITIALIZER_LISTS + : value{ + col_type(x0, y0, z0, w0), + col_type(x1, y1, z1, w1), + col_type(x2, y2, z2, w2)} +# endif + { +# if !GLM_HAS_INITIALIZER_LISTS + this->value[0] = col_type(x0, y0, z0, w0); + this->value[1] = col_type(x1, y1, z1, w1); + this->value[2] = col_type(x2, y2, z2, w2); +# endif + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR mat<3, 4, T, Q>::mat(col_type const& v0, col_type const& v1, col_type const& v2) +# if GLM_HAS_INITIALIZER_LISTS + : value{col_type(v0), col_type(v1), col_type(v2)} +# endif + { +# if !GLM_HAS_INITIALIZER_LISTS + this->value[0] = v0; + this->value[1] = v1; + this->value[2] = v2; +# endif + } + + // -- Conversion constructors -- + + template + template< + typename X0, typename Y0, typename Z0, typename W0, + typename X1, typename Y1, typename Z1, typename W1, + typename X2, typename Y2, typename Z2, typename W2> + GLM_FUNC_QUALIFIER GLM_CONSTEXPR mat<3, 4, T, Q>::mat + ( + X0 x0, Y0 y0, Z0 z0, W0 w0, + X1 x1, Y1 y1, Z1 z1, W1 w1, + X2 x2, Y2 y2, Z2 z2, W2 w2 + ) +# if GLM_HAS_INITIALIZER_LISTS + : value{ + col_type(x0, y0, z0, w0), + col_type(x1, y1, z1, w1), + col_type(x2, y2, z2, w2)} +# endif + { +# if !GLM_HAS_INITIALIZER_LISTS + this->value[0] = col_type(x0, y0, z0, w0); + this->value[1] = col_type(x1, y1, z1, w1); + this->value[2] = col_type(x2, y2, z2, w2); +# endif + } + + template + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR mat<3, 4, T, Q>::mat(vec<4, V1, Q> const& v0, vec<4, V2, Q> const& v1, vec<4, V3, Q> const& v2) +# if GLM_HAS_INITIALIZER_LISTS + : value{col_type(v0), col_type(v1), col_type(v2)} +# endif + { +# if !GLM_HAS_INITIALIZER_LISTS + this->value[0] = col_type(v0); + this->value[1] = col_type(v1); + this->value[2] = col_type(v2); +# endif + } + + // -- Matrix conversions -- + + template + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR mat<3, 4, T, Q>::mat(mat<3, 4, U, P> const& m) +# if GLM_HAS_INITIALIZER_LISTS + : value{col_type(m[0]), col_type(m[1]), col_type(m[2])} +# endif + { +# if !GLM_HAS_INITIALIZER_LISTS + this->value[0] = col_type(m[0]); + this->value[1] = col_type(m[1]); + this->value[2] = col_type(m[2]); +# endif + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR mat<3, 4, T, Q>::mat(mat<2, 2, T, Q> const& m) +# if GLM_HAS_INITIALIZER_LISTS + : value{col_type(m[0], 0, 0), col_type(m[1], 0, 0), col_type(0, 0, 1, 0)} +# endif + { +# if !GLM_HAS_INITIALIZER_LISTS + this->value[0] = col_type(m[0], 0, 0); + this->value[1] = col_type(m[1], 0, 0); + this->value[2] = col_type(0, 0, 1, 0); +# endif + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR mat<3, 4, T, Q>::mat(mat<3, 3, T, Q> const& m) +# if GLM_HAS_INITIALIZER_LISTS + : value{col_type(m[0], 0), col_type(m[1], 0), col_type(m[2], 0)} +# endif + { +# if !GLM_HAS_INITIALIZER_LISTS + this->value[0] = col_type(m[0], 0); + this->value[1] = col_type(m[1], 0); + this->value[2] = col_type(m[2], 0); +# endif + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR mat<3, 4, T, Q>::mat(mat<4, 4, T, Q> const& m) +# if GLM_HAS_INITIALIZER_LISTS + : value{col_type(m[0]), col_type(m[1]), col_type(m[2])} +# endif + { +# if !GLM_HAS_INITIALIZER_LISTS + this->value[0] = col_type(m[0]); + this->value[1] = col_type(m[1]); + this->value[2] = col_type(m[2]); +# endif + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR mat<3, 4, T, Q>::mat(mat<2, 3, T, Q> const& m) +# if GLM_HAS_INITIALIZER_LISTS + : value{col_type(m[0], 0), col_type(m[1], 0), col_type(0, 0, 1, 0)} +# endif + { +# if !GLM_HAS_INITIALIZER_LISTS + this->value[0] = col_type(m[0], 0); + this->value[1] = col_type(m[1], 0); + this->value[2] = col_type(0, 0, 1, 0); +# endif + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR mat<3, 4, T, Q>::mat(mat<3, 2, T, Q> const& m) +# if GLM_HAS_INITIALIZER_LISTS + : value{col_type(m[0], 0, 0), col_type(m[1], 0, 0), col_type(m[2], 1, 0)} +# endif + { +# if !GLM_HAS_INITIALIZER_LISTS + this->value[0] = col_type(m[0], 0, 0); + this->value[1] = col_type(m[1], 0, 0); + this->value[2] = col_type(m[2], 1, 0); +# endif + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR mat<3, 4, T, Q>::mat(mat<2, 4, T, Q> const& m) +# if GLM_HAS_INITIALIZER_LISTS + : value{col_type(m[0]), col_type(m[1]), col_type(0, 0, 1, 0)} +# endif + { +# if !GLM_HAS_INITIALIZER_LISTS + this->value[0] = col_type(m[0]); + this->value[1] = col_type(m[1]); + this->value[2] = col_type(0, 0, 1, 0); +# endif + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR mat<3, 4, T, Q>::mat(mat<4, 2, T, Q> const& m) +# if GLM_HAS_INITIALIZER_LISTS + : value{col_type(m[0], 0, 0), col_type(m[1], 0, 0), col_type(m[2], 1, 0)} +# endif + { +# if !GLM_HAS_INITIALIZER_LISTS + this->value[0] = col_type(m[0], 0, 0); + this->value[1] = col_type(m[1], 0, 0); + this->value[2] = col_type(m[2], 1, 0); +# endif + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR mat<3, 4, T, Q>::mat(mat<4, 3, T, Q> const& m) +# if GLM_HAS_INITIALIZER_LISTS + : value{col_type(m[0], 0), col_type(m[1], 0), col_type(m[2], 0)} +# endif + { +# if !GLM_HAS_INITIALIZER_LISTS + this->value[0] = col_type(m[0], 0); + this->value[1] = col_type(m[1], 0); + this->value[2] = col_type(m[2], 0); +# endif + } + + // -- Accesses -- + + template + GLM_FUNC_QUALIFIER typename mat<3, 4, T, Q>::col_type & mat<3, 4, T, Q>::operator[](typename mat<3, 4, T, Q>::length_type i) + { + assert(i < this->length()); + return this->value[i]; + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR typename mat<3, 4, T, Q>::col_type const& mat<3, 4, T, Q>::operator[](typename mat<3, 4, T, Q>::length_type i) const + { + assert(i < this->length()); + return this->value[i]; + } + + // -- Unary updatable operators -- + + template + template + GLM_FUNC_QUALIFIER mat<3, 4, T, Q>& mat<3, 4, T, Q>::operator=(mat<3, 4, U, Q> const& m) + { + this->value[0] = m[0]; + this->value[1] = m[1]; + this->value[2] = m[2]; + return *this; + } + + template + template + GLM_FUNC_QUALIFIER mat<3, 4, T, Q>& mat<3, 4, T, Q>::operator+=(U s) + { + this->value[0] += s; + this->value[1] += s; + this->value[2] += s; + return *this; + } + + template + template + GLM_FUNC_QUALIFIER mat<3, 4, T, Q>& mat<3, 4, T, Q>::operator+=(mat<3, 4, U, Q> const& m) + { + this->value[0] += m[0]; + this->value[1] += m[1]; + this->value[2] += m[2]; + return *this; + } + + template + template + GLM_FUNC_QUALIFIER mat<3, 4, T, Q>& mat<3, 4, T, Q>::operator-=(U s) + { + this->value[0] -= s; + this->value[1] -= s; + this->value[2] -= s; + return *this; + } + + template + template + GLM_FUNC_QUALIFIER mat<3, 4, T, Q>& mat<3, 4, T, Q>::operator-=(mat<3, 4, U, Q> const& m) + { + this->value[0] -= m[0]; + this->value[1] -= m[1]; + this->value[2] -= m[2]; + return *this; + } + + template + template + GLM_FUNC_QUALIFIER mat<3, 4, T, Q>& mat<3, 4, T, Q>::operator*=(U s) + { + this->value[0] *= s; + this->value[1] *= s; + this->value[2] *= s; + return *this; + } + + template + template + GLM_FUNC_QUALIFIER mat<3, 4, T, Q> & mat<3, 4, T, Q>::operator/=(U s) + { + this->value[0] /= s; + this->value[1] /= s; + this->value[2] /= s; + return *this; + } + + // -- Increment and decrement operators -- + + template + GLM_FUNC_QUALIFIER mat<3, 4, T, Q>& mat<3, 4, T, Q>::operator++() + { + ++this->value[0]; + ++this->value[1]; + ++this->value[2]; + return *this; + } + + template + GLM_FUNC_QUALIFIER mat<3, 4, T, Q>& mat<3, 4, T, Q>::operator--() + { + --this->value[0]; + --this->value[1]; + --this->value[2]; + return *this; + } + + template + GLM_FUNC_QUALIFIER mat<3, 4, T, Q> mat<3, 4, T, Q>::operator++(int) + { + mat<3, 4, T, Q> Result(*this); + ++*this; + return Result; + } + + template + GLM_FUNC_QUALIFIER mat<3, 4, T, Q> mat<3, 4, T, Q>::operator--(int) + { + mat<3, 4, T, Q> Result(*this); + --*this; + return Result; + } + + // -- Unary arithmetic operators -- + + template + GLM_FUNC_QUALIFIER mat<3, 4, T, Q> operator+(mat<3, 4, T, Q> const& m) + { + return m; + } + + template + GLM_FUNC_QUALIFIER mat<3, 4, T, Q> operator-(mat<3, 4, T, Q> const& m) + { + return mat<3, 4, T, Q>( + -m[0], + -m[1], + -m[2]); + } + + // -- Binary arithmetic operators -- + + template + GLM_FUNC_QUALIFIER mat<3, 4, T, Q> operator+(mat<3, 4, T, Q> const& m, T scalar) + { + return mat<3, 4, T, Q>( + m[0] + scalar, + m[1] + scalar, + m[2] + scalar); + } + + template + GLM_FUNC_QUALIFIER mat<3, 4, T, Q> operator+(mat<3, 4, T, Q> const& m1, mat<3, 4, T, Q> const& m2) + { + return mat<3, 4, T, Q>( + m1[0] + m2[0], + m1[1] + m2[1], + m1[2] + m2[2]); + } + + template + GLM_FUNC_QUALIFIER mat<3, 4, T, Q> operator-(mat<3, 4, T, Q> const& m, T scalar) + { + return mat<3, 4, T, Q>( + m[0] - scalar, + m[1] - scalar, + m[2] - scalar); + } + + template + GLM_FUNC_QUALIFIER mat<3, 4, T, Q> operator-(mat<3, 4, T, Q> const& m1, mat<3, 4, T, Q> const& m2) + { + return mat<3, 4, T, Q>( + m1[0] - m2[0], + m1[1] - m2[1], + m1[2] - m2[2]); + } + + template + GLM_FUNC_QUALIFIER mat<3, 4, T, Q> operator*(mat<3, 4, T, Q> const& m, T scalar) + { + return mat<3, 4, T, Q>( + m[0] * scalar, + m[1] * scalar, + m[2] * scalar); + } + + template + GLM_FUNC_QUALIFIER mat<3, 4, T, Q> operator*(T scalar, mat<3, 4, T, Q> const& m) + { + return mat<3, 4, T, Q>( + m[0] * scalar, + m[1] * scalar, + m[2] * scalar); + } + + template + GLM_FUNC_QUALIFIER typename mat<3, 4, T, Q>::col_type operator* + ( + mat<3, 4, T, Q> const& m, + typename mat<3, 4, T, Q>::row_type const& v + ) + { + return typename mat<3, 4, T, Q>::col_type( + m[0][0] * v.x + m[1][0] * v.y + m[2][0] * v.z, + m[0][1] * v.x + m[1][1] * v.y + m[2][1] * v.z, + m[0][2] * v.x + m[1][2] * v.y + m[2][2] * v.z, + m[0][3] * v.x + m[1][3] * v.y + m[2][3] * v.z); + } + + template + GLM_FUNC_QUALIFIER typename mat<3, 4, T, Q>::row_type operator* + ( + typename mat<3, 4, T, Q>::col_type const& v, + mat<3, 4, T, Q> const& m + ) + { + return typename mat<3, 4, T, Q>::row_type( + v.x * m[0][0] + v.y * m[0][1] + v.z * m[0][2] + v.w * m[0][3], + v.x * m[1][0] + v.y * m[1][1] + v.z * m[1][2] + v.w * m[1][3], + v.x * m[2][0] + v.y * m[2][1] + v.z * m[2][2] + v.w * m[2][3]); + } + + template + GLM_FUNC_QUALIFIER mat<4, 4, T, Q> operator*(mat<3, 4, T, Q> const& m1, mat<4, 3, T, Q> const& m2) + { + const T SrcA00 = m1[0][0]; + const T SrcA01 = m1[0][1]; + const T SrcA02 = m1[0][2]; + const T SrcA03 = m1[0][3]; + const T SrcA10 = m1[1][0]; + const T SrcA11 = m1[1][1]; + const T SrcA12 = m1[1][2]; + const T SrcA13 = m1[1][3]; + const T SrcA20 = m1[2][0]; + const T SrcA21 = m1[2][1]; + const T SrcA22 = m1[2][2]; + const T SrcA23 = m1[2][3]; + + const T SrcB00 = m2[0][0]; + const T SrcB01 = m2[0][1]; + const T SrcB02 = m2[0][2]; + const T SrcB10 = m2[1][0]; + const T SrcB11 = m2[1][1]; + const T SrcB12 = m2[1][2]; + const T SrcB20 = m2[2][0]; + const T SrcB21 = m2[2][1]; + const T SrcB22 = m2[2][2]; + const T SrcB30 = m2[3][0]; + const T SrcB31 = m2[3][1]; + const T SrcB32 = m2[3][2]; + + mat<4, 4, T, Q> Result; + Result[0][0] = SrcA00 * SrcB00 + SrcA10 * SrcB01 + SrcA20 * SrcB02; + Result[0][1] = SrcA01 * SrcB00 + SrcA11 * SrcB01 + SrcA21 * SrcB02; + Result[0][2] = SrcA02 * SrcB00 + SrcA12 * SrcB01 + SrcA22 * SrcB02; + Result[0][3] = SrcA03 * SrcB00 + SrcA13 * SrcB01 + SrcA23 * SrcB02; + Result[1][0] = SrcA00 * SrcB10 + SrcA10 * SrcB11 + SrcA20 * SrcB12; + Result[1][1] = SrcA01 * SrcB10 + SrcA11 * SrcB11 + SrcA21 * SrcB12; + Result[1][2] = SrcA02 * SrcB10 + SrcA12 * SrcB11 + SrcA22 * SrcB12; + Result[1][3] = SrcA03 * SrcB10 + SrcA13 * SrcB11 + SrcA23 * SrcB12; + Result[2][0] = SrcA00 * SrcB20 + SrcA10 * SrcB21 + SrcA20 * SrcB22; + Result[2][1] = SrcA01 * SrcB20 + SrcA11 * SrcB21 + SrcA21 * SrcB22; + Result[2][2] = SrcA02 * SrcB20 + SrcA12 * SrcB21 + SrcA22 * SrcB22; + Result[2][3] = SrcA03 * SrcB20 + SrcA13 * SrcB21 + SrcA23 * SrcB22; + Result[3][0] = SrcA00 * SrcB30 + SrcA10 * SrcB31 + SrcA20 * SrcB32; + Result[3][1] = SrcA01 * SrcB30 + SrcA11 * SrcB31 + SrcA21 * SrcB32; + Result[3][2] = SrcA02 * SrcB30 + SrcA12 * SrcB31 + SrcA22 * SrcB32; + Result[3][3] = SrcA03 * SrcB30 + SrcA13 * SrcB31 + SrcA23 * SrcB32; + return Result; + } + + template + GLM_FUNC_QUALIFIER mat<2, 4, T, Q> operator*(mat<3, 4, T, Q> const& m1, mat<2, 3, T, Q> const& m2) + { + return mat<2, 4, T, Q>( + m1[0][0] * m2[0][0] + m1[1][0] * m2[0][1] + m1[2][0] * m2[0][2], + m1[0][1] * m2[0][0] + m1[1][1] * m2[0][1] + m1[2][1] * m2[0][2], + m1[0][2] * m2[0][0] + m1[1][2] * m2[0][1] + m1[2][2] * m2[0][2], + m1[0][3] * m2[0][0] + m1[1][3] * m2[0][1] + m1[2][3] * m2[0][2], + m1[0][0] * m2[1][0] + m1[1][0] * m2[1][1] + m1[2][0] * m2[1][2], + m1[0][1] * m2[1][0] + m1[1][1] * m2[1][1] + m1[2][1] * m2[1][2], + m1[0][2] * m2[1][0] + m1[1][2] * m2[1][1] + m1[2][2] * m2[1][2], + m1[0][3] * m2[1][0] + m1[1][3] * m2[1][1] + m1[2][3] * m2[1][2]); + } + + template + GLM_FUNC_QUALIFIER mat<3, 4, T, Q> operator*(mat<3, 4, T, Q> const& m1, mat<3, 3, T, Q> const& m2) + { + return mat<3, 4, T, Q>( + m1[0][0] * m2[0][0] + m1[1][0] * m2[0][1] + m1[2][0] * m2[0][2], + m1[0][1] * m2[0][0] + m1[1][1] * m2[0][1] + m1[2][1] * m2[0][2], + m1[0][2] * m2[0][0] + m1[1][2] * m2[0][1] + m1[2][2] * m2[0][2], + m1[0][3] * m2[0][0] + m1[1][3] * m2[0][1] + m1[2][3] * m2[0][2], + m1[0][0] * m2[1][0] + m1[1][0] * m2[1][1] + m1[2][0] * m2[1][2], + m1[0][1] * m2[1][0] + m1[1][1] * m2[1][1] + m1[2][1] * m2[1][2], + m1[0][2] * m2[1][0] + m1[1][2] * m2[1][1] + m1[2][2] * m2[1][2], + m1[0][3] * m2[1][0] + m1[1][3] * m2[1][1] + m1[2][3] * m2[1][2], + m1[0][0] * m2[2][0] + m1[1][0] * m2[2][1] + m1[2][0] * m2[2][2], + m1[0][1] * m2[2][0] + m1[1][1] * m2[2][1] + m1[2][1] * m2[2][2], + m1[0][2] * m2[2][0] + m1[1][2] * m2[2][1] + m1[2][2] * m2[2][2], + m1[0][3] * m2[2][0] + m1[1][3] * m2[2][1] + m1[2][3] * m2[2][2]); + } + + template + GLM_FUNC_QUALIFIER mat<3, 4, T, Q> operator/(mat<3, 4, T, Q> const& m, T scalar) + { + return mat<3, 4, T, Q>( + m[0] / scalar, + m[1] / scalar, + m[2] / scalar); + } + + template + GLM_FUNC_QUALIFIER mat<3, 4, T, Q> operator/(T scalar, mat<3, 4, T, Q> const& m) + { + return mat<3, 4, T, Q>( + scalar / m[0], + scalar / m[1], + scalar / m[2]); + } + + // -- Boolean operators -- + + template + GLM_FUNC_QUALIFIER bool operator==(mat<3, 4, T, Q> const& m1, mat<3, 4, T, Q> const& m2) + { + return (m1[0] == m2[0]) && (m1[1] == m2[1]) && (m1[2] == m2[2]); + } + + template + GLM_FUNC_QUALIFIER bool operator!=(mat<3, 4, T, Q> const& m1, mat<3, 4, T, Q> const& m2) + { + return (m1[0] != m2[0]) || (m1[1] != m2[1]) || (m1[2] != m2[2]); + } +} //namespace glm diff --git a/MacroLibX/third_party/glm/detail/type_mat4x2.hpp b/MacroLibX/third_party/glm/detail/type_mat4x2.hpp new file mode 100644 index 0000000..8d34352 --- /dev/null +++ b/MacroLibX/third_party/glm/detail/type_mat4x2.hpp @@ -0,0 +1,171 @@ +/// @ref core +/// @file glm/detail/type_mat4x2.hpp + +#pragma once + +#include "type_vec2.hpp" +#include "type_vec4.hpp" +#include +#include + +namespace glm +{ + template + struct mat<4, 2, T, Q> + { + typedef vec<2, T, Q> col_type; + typedef vec<4, T, Q> row_type; + typedef mat<4, 2, T, Q> type; + typedef mat<2, 4, T, Q> transpose_type; + typedef T value_type; + + private: + col_type value[4]; + + public: + // -- Accesses -- + + typedef length_t length_type; + GLM_FUNC_DECL static GLM_CONSTEXPR length_type length() { return 4; } + + GLM_FUNC_DECL col_type & operator[](length_type i); + GLM_FUNC_DECL GLM_CONSTEXPR col_type const& operator[](length_type i) const; + + // -- Constructors -- + + GLM_FUNC_DECL GLM_CONSTEXPR mat() GLM_DEFAULT; + template + GLM_FUNC_DECL GLM_CONSTEXPR mat(mat<4, 2, T, P> const& m); + + GLM_FUNC_DECL explicit GLM_CONSTEXPR mat(T scalar); + GLM_FUNC_DECL GLM_CONSTEXPR mat( + T x0, T y0, + T x1, T y1, + T x2, T y2, + T x3, T y3); + GLM_FUNC_DECL GLM_CONSTEXPR mat( + col_type const& v0, + col_type const& v1, + col_type const& v2, + col_type const& v3); + + // -- Conversions -- + + template< + typename X0, typename Y0, + typename X1, typename Y1, + typename X2, typename Y2, + typename X3, typename Y3> + GLM_FUNC_DECL GLM_CONSTEXPR mat( + X0 x0, Y0 y0, + X1 x1, Y1 y1, + X2 x2, Y2 y2, + X3 x3, Y3 y3); + + template + GLM_FUNC_DECL GLM_CONSTEXPR mat( + vec<2, V1, Q> const& v1, + vec<2, V2, Q> const& v2, + vec<2, V3, Q> const& v3, + vec<2, V4, Q> const& v4); + + // -- Matrix conversions -- + + template + GLM_FUNC_DECL GLM_EXPLICIT GLM_CONSTEXPR mat(mat<4, 2, U, P> const& m); + + GLM_FUNC_DECL GLM_EXPLICIT GLM_CONSTEXPR mat(mat<2, 2, T, Q> const& x); + GLM_FUNC_DECL GLM_EXPLICIT GLM_CONSTEXPR mat(mat<3, 3, T, Q> const& x); + GLM_FUNC_DECL GLM_EXPLICIT GLM_CONSTEXPR mat(mat<4, 4, T, Q> const& x); + GLM_FUNC_DECL GLM_EXPLICIT GLM_CONSTEXPR mat(mat<2, 3, T, Q> const& x); + GLM_FUNC_DECL GLM_EXPLICIT GLM_CONSTEXPR mat(mat<3, 2, T, Q> const& x); + GLM_FUNC_DECL GLM_EXPLICIT GLM_CONSTEXPR mat(mat<2, 4, T, Q> const& x); + GLM_FUNC_DECL GLM_EXPLICIT GLM_CONSTEXPR mat(mat<4, 3, T, Q> const& x); + GLM_FUNC_DECL GLM_EXPLICIT GLM_CONSTEXPR mat(mat<3, 4, T, Q> const& x); + + // -- Unary arithmetic operators -- + + template + GLM_FUNC_DECL mat<4, 2, T, Q> & operator=(mat<4, 2, U, Q> const& m); + template + GLM_FUNC_DECL mat<4, 2, T, Q> & operator+=(U s); + template + GLM_FUNC_DECL mat<4, 2, T, Q> & operator+=(mat<4, 2, U, Q> const& m); + template + GLM_FUNC_DECL mat<4, 2, T, Q> & operator-=(U s); + template + GLM_FUNC_DECL mat<4, 2, T, Q> & operator-=(mat<4, 2, U, Q> const& m); + template + GLM_FUNC_DECL mat<4, 2, T, Q> & operator*=(U s); + template + GLM_FUNC_DECL mat<4, 2, T, Q> & operator/=(U s); + + // -- Increment and decrement operators -- + + GLM_FUNC_DECL mat<4, 2, T, Q> & operator++ (); + GLM_FUNC_DECL mat<4, 2, T, Q> & operator-- (); + GLM_FUNC_DECL mat<4, 2, T, Q> operator++(int); + GLM_FUNC_DECL mat<4, 2, T, Q> operator--(int); + }; + + // -- Unary operators -- + + template + GLM_FUNC_DECL mat<4, 2, T, Q> operator+(mat<4, 2, T, Q> const& m); + + template + GLM_FUNC_DECL mat<4, 2, T, Q> operator-(mat<4, 2, T, Q> const& m); + + // -- Binary operators -- + + template + GLM_FUNC_DECL mat<4, 2, T, Q> operator+(mat<4, 2, T, Q> const& m, T scalar); + + template + GLM_FUNC_DECL mat<4, 2, T, Q> operator+(mat<4, 2, T, Q> const& m1, mat<4, 2, T, Q> const& m2); + + template + GLM_FUNC_DECL mat<4, 2, T, Q> operator-(mat<4, 2, T, Q> const& m, T scalar); + + template + GLM_FUNC_DECL mat<4, 2, T, Q> operator-(mat<4, 2, T, Q> const& m1, mat<4, 2, T, Q> const& m2); + + template + GLM_FUNC_DECL mat<4, 2, T, Q> operator*(mat<4, 2, T, Q> const& m, T scalar); + + template + GLM_FUNC_DECL mat<4, 2, T, Q> operator*(T scalar, mat<4, 2, T, Q> const& m); + + template + GLM_FUNC_DECL typename mat<4, 2, T, Q>::col_type operator*(mat<4, 2, T, Q> const& m, typename mat<4, 2, T, Q>::row_type const& v); + + template + GLM_FUNC_DECL typename mat<4, 2, T, Q>::row_type operator*(typename mat<4, 2, T, Q>::col_type const& v, mat<4, 2, T, Q> const& m); + + template + GLM_FUNC_DECL mat<2, 2, T, Q> operator*(mat<4, 2, T, Q> const& m1, mat<2, 4, T, Q> const& m2); + + template + GLM_FUNC_DECL mat<3, 2, T, Q> operator*(mat<4, 2, T, Q> const& m1, mat<3, 4, T, Q> const& m2); + + template + GLM_FUNC_DECL mat<4, 2, T, Q> operator*(mat<4, 2, T, Q> const& m1, mat<4, 4, T, Q> const& m2); + + template + GLM_FUNC_DECL mat<4, 2, T, Q> operator/(mat<4, 2, T, Q> const& m, T scalar); + + template + GLM_FUNC_DECL mat<4, 2, T, Q> operator/(T scalar, mat<4, 2, T, Q> const& m); + + // -- Boolean operators -- + + template + GLM_FUNC_DECL bool operator==(mat<4, 2, T, Q> const& m1, mat<4, 2, T, Q> const& m2); + + template + GLM_FUNC_DECL bool operator!=(mat<4, 2, T, Q> const& m1, mat<4, 2, T, Q> const& m2); +}//namespace glm + +#ifndef GLM_EXTERNAL_TEMPLATE +#include "type_mat4x2.inl" +#endif diff --git a/MacroLibX/third_party/glm/detail/type_mat4x2.inl b/MacroLibX/third_party/glm/detail/type_mat4x2.inl new file mode 100644 index 0000000..419c80c --- /dev/null +++ b/MacroLibX/third_party/glm/detail/type_mat4x2.inl @@ -0,0 +1,574 @@ +namespace glm +{ + // -- Constructors -- + +# if GLM_CONFIG_DEFAULTED_FUNCTIONS == GLM_DISABLE + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR mat<4, 2, T, Q>::mat() +# if GLM_CONFIG_CTOR_INIT == GLM_CTOR_INITIALIZER_LIST + : value{col_type(1, 0), col_type(0, 1), col_type(0, 0), col_type(0, 0)} +# endif + { +# if GLM_CONFIG_CTOR_INIT == GLM_CTOR_INITIALISATION + this->value[0] = col_type(1, 0); + this->value[1] = col_type(0, 1); + this->value[2] = col_type(0, 0); + this->value[3] = col_type(0, 0); +# endif + } +# endif + + template + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR mat<4, 2, T, Q>::mat(mat<4, 2, T, P> const& m) +# if GLM_HAS_INITIALIZER_LISTS + : value{col_type(m[0]), col_type(m[1]), col_type(m[2]), col_type(m[3])} +# endif + { +# if !GLM_HAS_INITIALIZER_LISTS + this->value[0] = m[0]; + this->value[1] = m[1]; + this->value[2] = m[2]; + this->value[3] = m[3]; +# endif + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR mat<4, 2, T, Q>::mat(T s) +# if GLM_HAS_INITIALIZER_LISTS + : value{col_type(s, 0), col_type(0, s), col_type(0, 0), col_type(0, 0)} +# endif + { +# if !GLM_HAS_INITIALIZER_LISTS + this->value[0] = col_type(s, 0); + this->value[1] = col_type(0, s); + this->value[2] = col_type(0, 0); + this->value[3] = col_type(0, 0); +# endif + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR mat<4, 2, T, Q>::mat + ( + T x0, T y0, + T x1, T y1, + T x2, T y2, + T x3, T y3 + ) +# if GLM_HAS_INITIALIZER_LISTS + : value{col_type(x0, y0), col_type(x1, y1), col_type(x2, y2), col_type(x3, y3)} +# endif + { +# if !GLM_HAS_INITIALIZER_LISTS + this->value[0] = col_type(x0, y0); + this->value[1] = col_type(x1, y1); + this->value[2] = col_type(x2, y2); + this->value[3] = col_type(x3, y3); +# endif + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR mat<4, 2, T, Q>::mat(col_type const& v0, col_type const& v1, col_type const& v2, col_type const& v3) +# if GLM_HAS_INITIALIZER_LISTS + : value{col_type(v0), col_type(v1), col_type(v2), col_type(v3)} +# endif + { +# if !GLM_HAS_INITIALIZER_LISTS + this->value[0] = v0; + this->value[1] = v1; + this->value[2] = v2; + this->value[3] = v3; +# endif + } + + // -- Conversion constructors -- + + template + template< + typename X0, typename Y0, + typename X1, typename Y1, + typename X2, typename Y2, + typename X3, typename Y3> + GLM_FUNC_QUALIFIER GLM_CONSTEXPR mat<4, 2, T, Q>::mat + ( + X0 x0, Y0 y0, + X1 x1, Y1 y1, + X2 x2, Y2 y2, + X3 x3, Y3 y3 + ) +# if GLM_HAS_INITIALIZER_LISTS + : value{col_type(x0, y0), col_type(x1, y1), col_type(x2, y2), col_type(x3, y3)} +# endif + { +# if !GLM_HAS_INITIALIZER_LISTS + this->value[0] = col_type(x0, y0); + this->value[1] = col_type(x1, y1); + this->value[2] = col_type(x2, y2); + this->value[3] = col_type(x3, y3); +# endif + } + + template + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR mat<4, 2, T, Q>::mat(vec<2, V0, Q> const& v0, vec<2, V1, Q> const& v1, vec<2, V2, Q> const& v2, vec<2, V3, Q> const& v3) +# if GLM_HAS_INITIALIZER_LISTS + : value{col_type(v0), col_type(v1), col_type(v2), col_type(v3)} +# endif + { +# if !GLM_HAS_INITIALIZER_LISTS + this->value[0] = col_type(v0); + this->value[1] = col_type(v1); + this->value[2] = col_type(v2); + this->value[3] = col_type(v3); +# endif + } + + // -- Conversion -- + + template + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR mat<4, 2, T, Q>::mat(mat<4, 2, U, P> const& m) +# if GLM_HAS_INITIALIZER_LISTS + : value{col_type(m[0]), col_type(m[1]), col_type(m[2]), col_type(m[3])} +# endif + { +# if !GLM_HAS_INITIALIZER_LISTS + this->value[0] = col_type(m[0]); + this->value[1] = col_type(m[1]); + this->value[2] = col_type(m[2]); + this->value[3] = col_type(m[3]); +# endif + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR mat<4, 2, T, Q>::mat(mat<2, 2, T, Q> const& m) +# if GLM_HAS_INITIALIZER_LISTS + : value{col_type(m[0]), col_type(m[1]), col_type(0), col_type(0)} +# endif + { +# if !GLM_HAS_INITIALIZER_LISTS + this->value[0] = col_type(m[0]); + this->value[1] = col_type(m[1]); + this->value[2] = col_type(0); + this->value[3] = col_type(0); +# endif + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR mat<4, 2, T, Q>::mat(mat<3, 3, T, Q> const& m) +# if GLM_HAS_INITIALIZER_LISTS + : value{col_type(m[0]), col_type(m[1]), col_type(m[2]), col_type(0)} +# endif + { +# if !GLM_HAS_INITIALIZER_LISTS + this->value[0] = col_type(m[0]); + this->value[1] = col_type(m[1]); + this->value[2] = col_type(m[2]); + this->value[3] = col_type(0); +# endif + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR mat<4, 2, T, Q>::mat(mat<4, 4, T, Q> const& m) +# if GLM_HAS_INITIALIZER_LISTS + : value{col_type(m[0]), col_type(m[1]), col_type(m[2]), col_type(m[3])} +# endif + { +# if !GLM_HAS_INITIALIZER_LISTS + this->value[0] = col_type(m[0]); + this->value[1] = col_type(m[1]); + this->value[2] = col_type(m[2]); + this->value[3] = col_type(m[3]); +# endif + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR mat<4, 2, T, Q>::mat(mat<2, 3, T, Q> const& m) +# if GLM_HAS_INITIALIZER_LISTS + : value{col_type(m[0]), col_type(m[1]), col_type(0), col_type(0)} +# endif + { +# if !GLM_HAS_INITIALIZER_LISTS + this->value[0] = col_type(m[0]); + this->value[1] = col_type(m[1]); + this->value[2] = col_type(0); + this->value[3] = col_type(0); +# endif + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR mat<4, 2, T, Q>::mat(mat<3, 2, T, Q> const& m) +# if GLM_HAS_INITIALIZER_LISTS + : value{col_type(m[0]), col_type(m[1]), col_type(m[2]), col_type(0)} +# endif + { +# if !GLM_HAS_INITIALIZER_LISTS + this->value[0] = col_type(m[0]); + this->value[1] = col_type(m[1]); + this->value[2] = col_type(m[2]); + this->value[3] = col_type(0); +# endif + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR mat<4, 2, T, Q>::mat(mat<2, 4, T, Q> const& m) +# if GLM_HAS_INITIALIZER_LISTS + : value{col_type(m[0]), col_type(m[1]), col_type(0), col_type(0)} +# endif + { +# if !GLM_HAS_INITIALIZER_LISTS + this->value[0] = col_type(m[0]); + this->value[1] = col_type(m[1]); + this->value[2] = col_type(0); + this->value[3] = col_type(0); +# endif + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR mat<4, 2, T, Q>::mat(mat<4, 3, T, Q> const& m) +# if GLM_HAS_INITIALIZER_LISTS + : value{col_type(m[0]), col_type(m[1]), col_type(m[2]), col_type(m[3])} +# endif + { +# if !GLM_HAS_INITIALIZER_LISTS + this->value[0] = col_type(m[0]); + this->value[1] = col_type(m[1]); + this->value[2] = col_type(m[2]); + this->value[3] = col_type(m[3]); +# endif + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR mat<4, 2, T, Q>::mat(mat<3, 4, T, Q> const& m) +# if GLM_HAS_INITIALIZER_LISTS + : value{col_type(m[0]), col_type(m[1]), col_type(m[2]), col_type(0)} +# endif + { +# if !GLM_HAS_INITIALIZER_LISTS + this->value[0] = col_type(m[0]); + this->value[1] = col_type(m[1]); + this->value[2] = col_type(m[2]); + this->value[3] = col_type(0); +# endif + } + + // -- Accesses -- + + template + GLM_FUNC_QUALIFIER typename mat<4, 2, T, Q>::col_type & mat<4, 2, T, Q>::operator[](typename mat<4, 2, T, Q>::length_type i) + { + assert(i < this->length()); + return this->value[i]; + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR typename mat<4, 2, T, Q>::col_type const& mat<4, 2, T, Q>::operator[](typename mat<4, 2, T, Q>::length_type i) const + { + assert(i < this->length()); + return this->value[i]; + } + + // -- Unary updatable operators -- + + template + template + GLM_FUNC_QUALIFIER mat<4, 2, T, Q>& mat<4, 2, T, Q>::operator=(mat<4, 2, U, Q> const& m) + { + this->value[0] = m[0]; + this->value[1] = m[1]; + this->value[2] = m[2]; + this->value[3] = m[3]; + return *this; + } + + template + template + GLM_FUNC_QUALIFIER mat<4, 2, T, Q> & mat<4, 2, T, Q>::operator+=(U s) + { + this->value[0] += s; + this->value[1] += s; + this->value[2] += s; + this->value[3] += s; + return *this; + } + + template + template + GLM_FUNC_QUALIFIER mat<4, 2, T, Q> & mat<4, 2, T, Q>::operator+=(mat<4, 2, U, Q> const& m) + { + this->value[0] += m[0]; + this->value[1] += m[1]; + this->value[2] += m[2]; + this->value[3] += m[3]; + return *this; + } + + template + template + GLM_FUNC_QUALIFIER mat<4, 2, T, Q> & mat<4, 2, T, Q>::operator-=(U s) + { + this->value[0] -= s; + this->value[1] -= s; + this->value[2] -= s; + this->value[3] -= s; + return *this; + } + + template + template + GLM_FUNC_QUALIFIER mat<4, 2, T, Q> & mat<4, 2, T, Q>::operator-=(mat<4, 2, U, Q> const& m) + { + this->value[0] -= m[0]; + this->value[1] -= m[1]; + this->value[2] -= m[2]; + this->value[3] -= m[3]; + return *this; + } + + template + template + GLM_FUNC_QUALIFIER mat<4, 2, T, Q> & mat<4, 2, T, Q>::operator*=(U s) + { + this->value[0] *= s; + this->value[1] *= s; + this->value[2] *= s; + this->value[3] *= s; + return *this; + } + + template + template + GLM_FUNC_QUALIFIER mat<4, 2, T, Q> & mat<4, 2, T, Q>::operator/=(U s) + { + this->value[0] /= s; + this->value[1] /= s; + this->value[2] /= s; + this->value[3] /= s; + return *this; + } + + // -- Increment and decrement operators -- + + template + GLM_FUNC_QUALIFIER mat<4, 2, T, Q> & mat<4, 2, T, Q>::operator++() + { + ++this->value[0]; + ++this->value[1]; + ++this->value[2]; + ++this->value[3]; + return *this; + } + + template + GLM_FUNC_QUALIFIER mat<4, 2, T, Q> & mat<4, 2, T, Q>::operator--() + { + --this->value[0]; + --this->value[1]; + --this->value[2]; + --this->value[3]; + return *this; + } + + template + GLM_FUNC_QUALIFIER mat<4, 2, T, Q> mat<4, 2, T, Q>::operator++(int) + { + mat<4, 2, T, Q> Result(*this); + ++*this; + return Result; + } + + template + GLM_FUNC_QUALIFIER mat<4, 2, T, Q> mat<4, 2, T, Q>::operator--(int) + { + mat<4, 2, T, Q> Result(*this); + --*this; + return Result; + } + + // -- Unary arithmetic operators -- + + template + GLM_FUNC_QUALIFIER mat<4, 2, T, Q> operator+(mat<4, 2, T, Q> const& m) + { + return m; + } + + template + GLM_FUNC_QUALIFIER mat<4, 2, T, Q> operator-(mat<4, 2, T, Q> const& m) + { + return mat<4, 2, T, Q>( + -m[0], + -m[1], + -m[2], + -m[3]); + } + + // -- Binary arithmetic operators -- + + template + GLM_FUNC_QUALIFIER mat<4, 2, T, Q> operator+(mat<4, 2, T, Q> const& m, T scalar) + { + return mat<4, 2, T, Q>( + m[0] + scalar, + m[1] + scalar, + m[2] + scalar, + m[3] + scalar); + } + + template + GLM_FUNC_QUALIFIER mat<4, 2, T, Q> operator+(mat<4, 2, T, Q> const& m1, mat<4, 2, T, Q> const& m2) + { + return mat<4, 2, T, Q>( + m1[0] + m2[0], + m1[1] + m2[1], + m1[2] + m2[2], + m1[3] + m2[3]); + } + + template + GLM_FUNC_QUALIFIER mat<4, 2, T, Q> operator-(mat<4, 2, T, Q> const& m, T scalar) + { + return mat<4, 2, T, Q>( + m[0] - scalar, + m[1] - scalar, + m[2] - scalar, + m[3] - scalar); + } + + template + GLM_FUNC_QUALIFIER mat<4, 2, T, Q> operator-(mat<4, 2, T, Q> const& m1, mat<4, 2, T, Q> const& m2) + { + return mat<4, 2, T, Q>( + m1[0] - m2[0], + m1[1] - m2[1], + m1[2] - m2[2], + m1[3] - m2[3]); + } + + template + GLM_FUNC_QUALIFIER mat<4, 2, T, Q> operator*(mat<4, 2, T, Q> const& m, T scalar) + { + return mat<4, 2, T, Q>( + m[0] * scalar, + m[1] * scalar, + m[2] * scalar, + m[3] * scalar); + } + + template + GLM_FUNC_QUALIFIER mat<4, 2, T, Q> operator*(T scalar, mat<4, 2, T, Q> const& m) + { + return mat<4, 2, T, Q>( + m[0] * scalar, + m[1] * scalar, + m[2] * scalar, + m[3] * scalar); + } + + template + GLM_FUNC_QUALIFIER typename mat<4, 2, T, Q>::col_type operator*(mat<4, 2, T, Q> const& m, typename mat<4, 2, T, Q>::row_type const& v) + { + return typename mat<4, 2, T, Q>::col_type( + m[0][0] * v.x + m[1][0] * v.y + m[2][0] * v.z + m[3][0] * v.w, + m[0][1] * v.x + m[1][1] * v.y + m[2][1] * v.z + m[3][1] * v.w); + } + + template + GLM_FUNC_QUALIFIER typename mat<4, 2, T, Q>::row_type operator*(typename mat<4, 2, T, Q>::col_type const& v, mat<4, 2, T, Q> const& m) + { + return typename mat<4, 2, T, Q>::row_type( + v.x * m[0][0] + v.y * m[0][1], + v.x * m[1][0] + v.y * m[1][1], + v.x * m[2][0] + v.y * m[2][1], + v.x * m[3][0] + v.y * m[3][1]); + } + + template + GLM_FUNC_QUALIFIER mat<2, 2, T, Q> operator*(mat<4, 2, T, Q> const& m1, mat<2, 4, T, Q> const& m2) + { + T const SrcA00 = m1[0][0]; + T const SrcA01 = m1[0][1]; + T const SrcA10 = m1[1][0]; + T const SrcA11 = m1[1][1]; + T const SrcA20 = m1[2][0]; + T const SrcA21 = m1[2][1]; + T const SrcA30 = m1[3][0]; + T const SrcA31 = m1[3][1]; + + T const SrcB00 = m2[0][0]; + T const SrcB01 = m2[0][1]; + T const SrcB02 = m2[0][2]; + T const SrcB03 = m2[0][3]; + T const SrcB10 = m2[1][0]; + T const SrcB11 = m2[1][1]; + T const SrcB12 = m2[1][2]; + T const SrcB13 = m2[1][3]; + + mat<2, 2, T, Q> Result; + Result[0][0] = SrcA00 * SrcB00 + SrcA10 * SrcB01 + SrcA20 * SrcB02 + SrcA30 * SrcB03; + Result[0][1] = SrcA01 * SrcB00 + SrcA11 * SrcB01 + SrcA21 * SrcB02 + SrcA31 * SrcB03; + Result[1][0] = SrcA00 * SrcB10 + SrcA10 * SrcB11 + SrcA20 * SrcB12 + SrcA30 * SrcB13; + Result[1][1] = SrcA01 * SrcB10 + SrcA11 * SrcB11 + SrcA21 * SrcB12 + SrcA31 * SrcB13; + return Result; + } + + template + GLM_FUNC_QUALIFIER mat<3, 2, T, Q> operator*(mat<4, 2, T, Q> const& m1, mat<3, 4, T, Q> const& m2) + { + return mat<3, 2, T, Q>( + m1[0][0] * m2[0][0] + m1[1][0] * m2[0][1] + m1[2][0] * m2[0][2] + m1[3][0] * m2[0][3], + m1[0][1] * m2[0][0] + m1[1][1] * m2[0][1] + m1[2][1] * m2[0][2] + m1[3][1] * m2[0][3], + m1[0][0] * m2[1][0] + m1[1][0] * m2[1][1] + m1[2][0] * m2[1][2] + m1[3][0] * m2[1][3], + m1[0][1] * m2[1][0] + m1[1][1] * m2[1][1] + m1[2][1] * m2[1][2] + m1[3][1] * m2[1][3], + m1[0][0] * m2[2][0] + m1[1][0] * m2[2][1] + m1[2][0] * m2[2][2] + m1[3][0] * m2[2][3], + m1[0][1] * m2[2][0] + m1[1][1] * m2[2][1] + m1[2][1] * m2[2][2] + m1[3][1] * m2[2][3]); + } + + template + GLM_FUNC_QUALIFIER mat<4, 2, T, Q> operator*(mat<4, 2, T, Q> const& m1, mat<4, 4, T, Q> const& m2) + { + return mat<4, 2, T, Q>( + m1[0][0] * m2[0][0] + m1[1][0] * m2[0][1] + m1[2][0] * m2[0][2] + m1[3][0] * m2[0][3], + m1[0][1] * m2[0][0] + m1[1][1] * m2[0][1] + m1[2][1] * m2[0][2] + m1[3][1] * m2[0][3], + m1[0][0] * m2[1][0] + m1[1][0] * m2[1][1] + m1[2][0] * m2[1][2] + m1[3][0] * m2[1][3], + m1[0][1] * m2[1][0] + m1[1][1] * m2[1][1] + m1[2][1] * m2[1][2] + m1[3][1] * m2[1][3], + m1[0][0] * m2[2][0] + m1[1][0] * m2[2][1] + m1[2][0] * m2[2][2] + m1[3][0] * m2[2][3], + m1[0][1] * m2[2][0] + m1[1][1] * m2[2][1] + m1[2][1] * m2[2][2] + m1[3][1] * m2[2][3], + m1[0][0] * m2[3][0] + m1[1][0] * m2[3][1] + m1[2][0] * m2[3][2] + m1[3][0] * m2[3][3], + m1[0][1] * m2[3][0] + m1[1][1] * m2[3][1] + m1[2][1] * m2[3][2] + m1[3][1] * m2[3][3]); + } + + template + GLM_FUNC_QUALIFIER mat<4, 2, T, Q> operator/(mat<4, 2, T, Q> const& m, T scalar) + { + return mat<4, 2, T, Q>( + m[0] / scalar, + m[1] / scalar, + m[2] / scalar, + m[3] / scalar); + } + + template + GLM_FUNC_QUALIFIER mat<4, 2, T, Q> operator/(T scalar, mat<4, 2, T, Q> const& m) + { + return mat<4, 2, T, Q>( + scalar / m[0], + scalar / m[1], + scalar / m[2], + scalar / m[3]); + } + + // -- Boolean operators -- + + template + GLM_FUNC_QUALIFIER bool operator==(mat<4, 2, T, Q> const& m1, mat<4, 2, T, Q> const& m2) + { + return (m1[0] == m2[0]) && (m1[1] == m2[1]) && (m1[2] == m2[2]) && (m1[3] == m2[3]); + } + + template + GLM_FUNC_QUALIFIER bool operator!=(mat<4, 2, T, Q> const& m1, mat<4, 2, T, Q> const& m2) + { + return (m1[0] != m2[0]) || (m1[1] != m2[1]) || (m1[2] != m2[2]) || (m1[3] != m2[3]); + } +} //namespace glm diff --git a/MacroLibX/third_party/glm/detail/type_mat4x3.hpp b/MacroLibX/third_party/glm/detail/type_mat4x3.hpp new file mode 100644 index 0000000..16e4270 --- /dev/null +++ b/MacroLibX/third_party/glm/detail/type_mat4x3.hpp @@ -0,0 +1,171 @@ +/// @ref core +/// @file glm/detail/type_mat4x3.hpp + +#pragma once + +#include "type_vec3.hpp" +#include "type_vec4.hpp" +#include +#include + +namespace glm +{ + template + struct mat<4, 3, T, Q> + { + typedef vec<3, T, Q> col_type; + typedef vec<4, T, Q> row_type; + typedef mat<4, 3, T, Q> type; + typedef mat<3, 4, T, Q> transpose_type; + typedef T value_type; + + private: + col_type value[4]; + + public: + // -- Accesses -- + + typedef length_t length_type; + GLM_FUNC_DECL static GLM_CONSTEXPR length_type length() { return 4; } + + GLM_FUNC_DECL col_type & operator[](length_type i); + GLM_FUNC_DECL GLM_CONSTEXPR col_type const& operator[](length_type i) const; + + // -- Constructors -- + + GLM_FUNC_DECL GLM_CONSTEXPR mat() GLM_DEFAULT; + template + GLM_FUNC_DECL GLM_CONSTEXPR mat(mat<4, 3, T, P> const& m); + + GLM_FUNC_DECL explicit GLM_CONSTEXPR mat(T const& x); + GLM_FUNC_DECL GLM_CONSTEXPR mat( + T const& x0, T const& y0, T const& z0, + T const& x1, T const& y1, T const& z1, + T const& x2, T const& y2, T const& z2, + T const& x3, T const& y3, T const& z3); + GLM_FUNC_DECL GLM_CONSTEXPR mat( + col_type const& v0, + col_type const& v1, + col_type const& v2, + col_type const& v3); + + // -- Conversions -- + + template< + typename X1, typename Y1, typename Z1, + typename X2, typename Y2, typename Z2, + typename X3, typename Y3, typename Z3, + typename X4, typename Y4, typename Z4> + GLM_FUNC_DECL GLM_CONSTEXPR mat( + X1 const& x1, Y1 const& y1, Z1 const& z1, + X2 const& x2, Y2 const& y2, Z2 const& z2, + X3 const& x3, Y3 const& y3, Z3 const& z3, + X4 const& x4, Y4 const& y4, Z4 const& z4); + + template + GLM_FUNC_DECL GLM_CONSTEXPR mat( + vec<3, V1, Q> const& v1, + vec<3, V2, Q> const& v2, + vec<3, V3, Q> const& v3, + vec<3, V4, Q> const& v4); + + // -- Matrix conversions -- + + template + GLM_FUNC_DECL GLM_EXPLICIT GLM_CONSTEXPR mat(mat<4, 3, U, P> const& m); + + GLM_FUNC_DECL GLM_EXPLICIT GLM_CONSTEXPR mat(mat<2, 2, T, Q> const& x); + GLM_FUNC_DECL GLM_EXPLICIT GLM_CONSTEXPR mat(mat<3, 3, T, Q> const& x); + GLM_FUNC_DECL GLM_EXPLICIT GLM_CONSTEXPR mat(mat<4, 4, T, Q> const& x); + GLM_FUNC_DECL GLM_EXPLICIT GLM_CONSTEXPR mat(mat<2, 3, T, Q> const& x); + GLM_FUNC_DECL GLM_EXPLICIT GLM_CONSTEXPR mat(mat<3, 2, T, Q> const& x); + GLM_FUNC_DECL GLM_EXPLICIT GLM_CONSTEXPR mat(mat<2, 4, T, Q> const& x); + GLM_FUNC_DECL GLM_EXPLICIT GLM_CONSTEXPR mat(mat<4, 2, T, Q> const& x); + GLM_FUNC_DECL GLM_EXPLICIT GLM_CONSTEXPR mat(mat<3, 4, T, Q> const& x); + + // -- Unary arithmetic operators -- + + template + GLM_FUNC_DECL mat<4, 3, T, Q> & operator=(mat<4, 3, U, Q> const& m); + template + GLM_FUNC_DECL mat<4, 3, T, Q> & operator+=(U s); + template + GLM_FUNC_DECL mat<4, 3, T, Q> & operator+=(mat<4, 3, U, Q> const& m); + template + GLM_FUNC_DECL mat<4, 3, T, Q> & operator-=(U s); + template + GLM_FUNC_DECL mat<4, 3, T, Q> & operator-=(mat<4, 3, U, Q> const& m); + template + GLM_FUNC_DECL mat<4, 3, T, Q> & operator*=(U s); + template + GLM_FUNC_DECL mat<4, 3, T, Q> & operator/=(U s); + + // -- Increment and decrement operators -- + + GLM_FUNC_DECL mat<4, 3, T, Q>& operator++(); + GLM_FUNC_DECL mat<4, 3, T, Q>& operator--(); + GLM_FUNC_DECL mat<4, 3, T, Q> operator++(int); + GLM_FUNC_DECL mat<4, 3, T, Q> operator--(int); + }; + + // -- Unary operators -- + + template + GLM_FUNC_DECL mat<4, 3, T, Q> operator+(mat<4, 3, T, Q> const& m); + + template + GLM_FUNC_DECL mat<4, 3, T, Q> operator-(mat<4, 3, T, Q> const& m); + + // -- Binary operators -- + + template + GLM_FUNC_DECL mat<4, 3, T, Q> operator+(mat<4, 3, T, Q> const& m, T const& s); + + template + GLM_FUNC_DECL mat<4, 3, T, Q> operator+(mat<4, 3, T, Q> const& m1, mat<4, 3, T, Q> const& m2); + + template + GLM_FUNC_DECL mat<4, 3, T, Q> operator-(mat<4, 3, T, Q> const& m, T const& s); + + template + GLM_FUNC_DECL mat<4, 3, T, Q> operator-(mat<4, 3, T, Q> const& m1, mat<4, 3, T, Q> const& m2); + + template + GLM_FUNC_DECL mat<4, 3, T, Q> operator*(mat<4, 3, T, Q> const& m, T const& s); + + template + GLM_FUNC_DECL mat<4, 3, T, Q> operator*(T const& s, mat<4, 3, T, Q> const& m); + + template + GLM_FUNC_DECL typename mat<4, 3, T, Q>::col_type operator*(mat<4, 3, T, Q> const& m, typename mat<4, 3, T, Q>::row_type const& v); + + template + GLM_FUNC_DECL typename mat<4, 3, T, Q>::row_type operator*(typename mat<4, 3, T, Q>::col_type const& v, mat<4, 3, T, Q> const& m); + + template + GLM_FUNC_DECL mat<2, 3, T, Q> operator*(mat<4, 3, T, Q> const& m1, mat<2, 4, T, Q> const& m2); + + template + GLM_FUNC_DECL mat<3, 3, T, Q> operator*(mat<4, 3, T, Q> const& m1, mat<3, 4, T, Q> const& m2); + + template + GLM_FUNC_DECL mat<4, 3, T, Q> operator*(mat<4, 3, T, Q> const& m1, mat<4, 4, T, Q> const& m2); + + template + GLM_FUNC_DECL mat<4, 3, T, Q> operator/(mat<4, 3, T, Q> const& m, T const& s); + + template + GLM_FUNC_DECL mat<4, 3, T, Q> operator/(T const& s, mat<4, 3, T, Q> const& m); + + // -- Boolean operators -- + + template + GLM_FUNC_DECL bool operator==(mat<4, 3, T, Q> const& m1, mat<4, 3, T, Q> const& m2); + + template + GLM_FUNC_DECL bool operator!=(mat<4, 3, T, Q> const& m1, mat<4, 3, T, Q> const& m2); +}//namespace glm + +#ifndef GLM_EXTERNAL_TEMPLATE +#include "type_mat4x3.inl" +#endif //GLM_EXTERNAL_TEMPLATE diff --git a/MacroLibX/third_party/glm/detail/type_mat4x3.inl b/MacroLibX/third_party/glm/detail/type_mat4x3.inl new file mode 100644 index 0000000..11b1ee3 --- /dev/null +++ b/MacroLibX/third_party/glm/detail/type_mat4x3.inl @@ -0,0 +1,598 @@ +namespace glm +{ + // -- Constructors -- + +# if GLM_CONFIG_DEFAULTED_FUNCTIONS == GLM_DISABLE + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR mat<4, 3, T, Q>::mat() +# if GLM_CONFIG_CTOR_INIT == GLM_CTOR_INITIALIZER_LIST + : value{col_type(1, 0, 0), col_type(0, 1, 0), col_type(0, 0, 1), col_type(0, 0, 0)} +# endif + { +# if GLM_CONFIG_CTOR_INIT == GLM_CTOR_INITIALISATION + this->value[0] = col_type(1, 0, 0); + this->value[1] = col_type(0, 1, 0); + this->value[2] = col_type(0, 0, 1); + this->value[3] = col_type(0, 0, 0); +# endif + } +# endif + + template + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR mat<4, 3, T, Q>::mat(mat<4, 3, T, P> const& m) +# if GLM_HAS_INITIALIZER_LISTS + : value{col_type(m[0]), col_type(m[1]), col_type(m[2]), col_type(m[3])} +# endif + { +# if !GLM_HAS_INITIALIZER_LISTS + this->value[0] = m[0]; + this->value[1] = m[1]; + this->value[2] = m[2]; + this->value[3] = m[3]; +# endif + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR mat<4, 3, T, Q>::mat(T const& s) +# if GLM_HAS_INITIALIZER_LISTS + : value{col_type(s, 0, 0), col_type(0, s, 0), col_type(0, 0, s), col_type(0, 0, 0)} +# endif + { +# if !GLM_HAS_INITIALIZER_LISTS + this->value[0] = col_type(s, 0, 0); + this->value[1] = col_type(0, s, 0); + this->value[2] = col_type(0, 0, s); + this->value[3] = col_type(0, 0, 0); +# endif + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR mat<4, 3, T, Q>::mat + ( + T const& x0, T const& y0, T const& z0, + T const& x1, T const& y1, T const& z1, + T const& x2, T const& y2, T const& z2, + T const& x3, T const& y3, T const& z3 + ) +# if GLM_HAS_INITIALIZER_LISTS + : value{col_type(x0, y0, z0), col_type(x1, y1, z1), col_type(x2, y2, z2), col_type(x3, y3, z3)} +# endif + { +# if !GLM_HAS_INITIALIZER_LISTS + this->value[0] = col_type(x0, y0, z0); + this->value[1] = col_type(x1, y1, z1); + this->value[2] = col_type(x2, y2, z2); + this->value[3] = col_type(x3, y3, z3); +# endif + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR mat<4, 3, T, Q>::mat(col_type const& v0, col_type const& v1, col_type const& v2, col_type const& v3) +# if GLM_HAS_INITIALIZER_LISTS + : value{col_type(v0), col_type(v1), col_type(v2), col_type(v3)} +# endif + { +# if !GLM_HAS_INITIALIZER_LISTS + this->value[0] = v0; + this->value[1] = v1; + this->value[2] = v2; + this->value[3] = v3; +# endif + } + + // -- Conversion constructors -- + + template + template< + typename X0, typename Y0, typename Z0, + typename X1, typename Y1, typename Z1, + typename X2, typename Y2, typename Z2, + typename X3, typename Y3, typename Z3> + GLM_FUNC_QUALIFIER GLM_CONSTEXPR mat<4, 3, T, Q>::mat + ( + X0 const& x0, Y0 const& y0, Z0 const& z0, + X1 const& x1, Y1 const& y1, Z1 const& z1, + X2 const& x2, Y2 const& y2, Z2 const& z2, + X3 const& x3, Y3 const& y3, Z3 const& z3 + ) +# if GLM_HAS_INITIALIZER_LISTS + : value{col_type(x0, y0, z0), col_type(x1, y1, z1), col_type(x2, y2, z2), col_type(x3, y3, z3)} +# endif + { +# if !GLM_HAS_INITIALIZER_LISTS + this->value[0] = col_type(x0, y0, z0); + this->value[1] = col_type(x1, y1, z1); + this->value[2] = col_type(x2, y2, z2); + this->value[3] = col_type(x3, y3, z3); +# endif + } + + template + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR mat<4, 3, T, Q>::mat(vec<3, V1, Q> const& v1, vec<3, V2, Q> const& v2, vec<3, V3, Q> const& v3, vec<3, V4, Q> const& v4) +# if GLM_HAS_INITIALIZER_LISTS + : value{col_type(v1), col_type(v2), col_type(v3), col_type(v4)} +# endif + { +# if !GLM_HAS_INITIALIZER_LISTS + this->value[0] = col_type(v1); + this->value[1] = col_type(v2); + this->value[2] = col_type(v3); + this->value[3] = col_type(v4); +# endif + } + + // -- Matrix conversions -- + + template + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR mat<4, 3, T, Q>::mat(mat<4, 3, U, P> const& m) +# if GLM_HAS_INITIALIZER_LISTS + : value{col_type(m[0]), col_type(m[1]), col_type(m[2]), col_type(m[3])} +# endif + { +# if !GLM_HAS_INITIALIZER_LISTS + this->value[0] = col_type(m[0]); + this->value[1] = col_type(m[1]); + this->value[2] = col_type(m[2]); + this->value[3] = col_type(m[3]); +# endif + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR mat<4, 3, T, Q>::mat(mat<2, 2, T, Q> const& m) +# if GLM_HAS_INITIALIZER_LISTS + : value{col_type(m[0], 0), col_type(m[1], 0), col_type(0, 0, 1), col_type(0)} +# endif + { +# if !GLM_HAS_INITIALIZER_LISTS + this->value[0] = col_type(m[0], 0); + this->value[1] = col_type(m[1], 0); + this->value[2] = col_type(0, 0, 1); + this->value[3] = col_type(0); +# endif + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR mat<4, 3, T, Q>::mat(mat<3, 3, T, Q> const& m) +# if GLM_HAS_INITIALIZER_LISTS + : value{col_type(m[0]), col_type(m[1]), col_type(m[2]), col_type(0)} +# endif + { +# if !GLM_HAS_INITIALIZER_LISTS + this->value[0] = col_type(m[0]); + this->value[1] = col_type(m[1]); + this->value[2] = col_type(m[2]); + this->value[3] = col_type(0); +# endif + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR mat<4, 3, T, Q>::mat(mat<4, 4, T, Q> const& m) +# if GLM_HAS_INITIALIZER_LISTS + : value{col_type(m[0]), col_type(m[1]), col_type(m[2]), col_type(m[3])} +# endif + { +# if !GLM_HAS_INITIALIZER_LISTS + this->value[0] = col_type(m[0]); + this->value[1] = col_type(m[1]); + this->value[2] = col_type(m[2]); + this->value[3] = col_type(m[3]); +# endif + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR mat<4, 3, T, Q>::mat(mat<2, 3, T, Q> const& m) +# if GLM_HAS_INITIALIZER_LISTS + : value{col_type(m[0]), col_type(m[1]), col_type(0, 0, 1), col_type(0)} +# endif + { +# if !GLM_HAS_INITIALIZER_LISTS + this->value[0] = col_type(m[0]); + this->value[1] = col_type(m[1]); + this->value[2] = col_type(0, 0, 1); + this->value[3] = col_type(0); +# endif + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR mat<4, 3, T, Q>::mat(mat<3, 2, T, Q> const& m) +# if GLM_HAS_INITIALIZER_LISTS + : value{col_type(m[0], 0), col_type(m[1], 0), col_type(m[2], 1), col_type(0)} +# endif + { +# if !GLM_HAS_INITIALIZER_LISTS + this->value[0] = col_type(m[0], 0); + this->value[1] = col_type(m[1], 0); + this->value[2] = col_type(m[2], 1); + this->value[3] = col_type(0); +# endif + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR mat<4, 3, T, Q>::mat(mat<2, 4, T, Q> const& m) +# if GLM_HAS_INITIALIZER_LISTS + : value{col_type(m[0]), col_type(m[1]), col_type(0, 0, 1), col_type(0)} +# endif + { +# if !GLM_HAS_INITIALIZER_LISTS + this->value[0] = col_type(m[0]); + this->value[1] = col_type(m[1]); + this->value[2] = col_type(0, 0, 1); + this->value[3] = col_type(0); +# endif + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR mat<4, 3, T, Q>::mat(mat<4, 2, T, Q> const& m) +# if GLM_HAS_INITIALIZER_LISTS + : value{col_type(m[0], 0), col_type(m[1], 0), col_type(m[2], 1), col_type(m[3], 0)} +# endif + { +# if !GLM_HAS_INITIALIZER_LISTS + this->value[0] = col_type(m[0], 0); + this->value[1] = col_type(m[1], 0); + this->value[2] = col_type(m[2], 1); + this->value[3] = col_type(m[3], 0); +# endif + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR mat<4, 3, T, Q>::mat(mat<3, 4, T, Q> const& m) +# if GLM_HAS_INITIALIZER_LISTS + : value{col_type(m[0]), col_type(m[1]), col_type(m[2]), col_type(0)} +# endif + { +# if !GLM_HAS_INITIALIZER_LISTS + this->value[0] = col_type(m[0]); + this->value[1] = col_type(m[1]); + this->value[2] = col_type(m[2]); + this->value[3] = col_type(0); +# endif + } + + // -- Accesses -- + + template + GLM_FUNC_QUALIFIER typename mat<4, 3, T, Q>::col_type & mat<4, 3, T, Q>::operator[](typename mat<4, 3, T, Q>::length_type i) + { + assert(i < this->length()); + return this->value[i]; + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR typename mat<4, 3, T, Q>::col_type const& mat<4, 3, T, Q>::operator[](typename mat<4, 3, T, Q>::length_type i) const + { + assert(i < this->length()); + return this->value[i]; + } + + // -- Unary updatable operators -- + + template + template + GLM_FUNC_QUALIFIER mat<4, 3, T, Q>& mat<4, 3, T, Q>::operator=(mat<4, 3, U, Q> const& m) + { + this->value[0] = m[0]; + this->value[1] = m[1]; + this->value[2] = m[2]; + this->value[3] = m[3]; + return *this; + } + + template + template + GLM_FUNC_QUALIFIER mat<4, 3, T, Q> & mat<4, 3, T, Q>::operator+=(U s) + { + this->value[0] += s; + this->value[1] += s; + this->value[2] += s; + this->value[3] += s; + return *this; + } + + template + template + GLM_FUNC_QUALIFIER mat<4, 3, T, Q> & mat<4, 3, T, Q>::operator+=(mat<4, 3, U, Q> const& m) + { + this->value[0] += m[0]; + this->value[1] += m[1]; + this->value[2] += m[2]; + this->value[3] += m[3]; + return *this; + } + + template + template + GLM_FUNC_QUALIFIER mat<4, 3, T, Q> & mat<4, 3, T, Q>::operator-=(U s) + { + this->value[0] -= s; + this->value[1] -= s; + this->value[2] -= s; + this->value[3] -= s; + return *this; + } + + template + template + GLM_FUNC_QUALIFIER mat<4, 3, T, Q> & mat<4, 3, T, Q>::operator-=(mat<4, 3, U, Q> const& m) + { + this->value[0] -= m[0]; + this->value[1] -= m[1]; + this->value[2] -= m[2]; + this->value[3] -= m[3]; + return *this; + } + + template + template + GLM_FUNC_QUALIFIER mat<4, 3, T, Q> & mat<4, 3, T, Q>::operator*=(U s) + { + this->value[0] *= s; + this->value[1] *= s; + this->value[2] *= s; + this->value[3] *= s; + return *this; + } + + template + template + GLM_FUNC_QUALIFIER mat<4, 3, T, Q> & mat<4, 3, T, Q>::operator/=(U s) + { + this->value[0] /= s; + this->value[1] /= s; + this->value[2] /= s; + this->value[3] /= s; + return *this; + } + + // -- Increment and decrement operators -- + + template + GLM_FUNC_QUALIFIER mat<4, 3, T, Q> & mat<4, 3, T, Q>::operator++() + { + ++this->value[0]; + ++this->value[1]; + ++this->value[2]; + ++this->value[3]; + return *this; + } + + template + GLM_FUNC_QUALIFIER mat<4, 3, T, Q> & mat<4, 3, T, Q>::operator--() + { + --this->value[0]; + --this->value[1]; + --this->value[2]; + --this->value[3]; + return *this; + } + + template + GLM_FUNC_QUALIFIER mat<4, 3, T, Q> mat<4, 3, T, Q>::operator++(int) + { + mat<4, 3, T, Q> Result(*this); + ++*this; + return Result; + } + + template + GLM_FUNC_QUALIFIER mat<4, 3, T, Q> mat<4, 3, T, Q>::operator--(int) + { + mat<4, 3, T, Q> Result(*this); + --*this; + return Result; + } + + // -- Unary arithmetic operators -- + + template + GLM_FUNC_QUALIFIER mat<4, 3, T, Q> operator+(mat<4, 3, T, Q> const& m) + { + return m; + } + + template + GLM_FUNC_QUALIFIER mat<4, 3, T, Q> operator-(mat<4, 3, T, Q> const& m) + { + return mat<4, 3, T, Q>( + -m[0], + -m[1], + -m[2], + -m[3]); + } + + // -- Binary arithmetic operators -- + + template + GLM_FUNC_QUALIFIER mat<4, 3, T, Q> operator+(mat<4, 3, T, Q> const& m, T const& s) + { + return mat<4, 3, T, Q>( + m[0] + s, + m[1] + s, + m[2] + s, + m[3] + s); + } + + template + GLM_FUNC_QUALIFIER mat<4, 3, T, Q> operator+(mat<4, 3, T, Q> const& m1, mat<4, 3, T, Q> const& m2) + { + return mat<4, 3, T, Q>( + m1[0] + m2[0], + m1[1] + m2[1], + m1[2] + m2[2], + m1[3] + m2[3]); + } + + template + GLM_FUNC_QUALIFIER mat<4, 3, T, Q> operator-(mat<4, 3, T, Q> const& m, T const& s) + { + return mat<4, 3, T, Q>( + m[0] - s, + m[1] - s, + m[2] - s, + m[3] - s); + } + + template + GLM_FUNC_QUALIFIER mat<4, 3, T, Q> operator-(mat<4, 3, T, Q> const& m1, mat<4, 3, T, Q> const& m2) + { + return mat<4, 3, T, Q>( + m1[0] - m2[0], + m1[1] - m2[1], + m1[2] - m2[2], + m1[3] - m2[3]); + } + + template + GLM_FUNC_QUALIFIER mat<4, 3, T, Q> operator*(mat<4, 3, T, Q> const& m, T const& s) + { + return mat<4, 3, T, Q>( + m[0] * s, + m[1] * s, + m[2] * s, + m[3] * s); + } + + template + GLM_FUNC_QUALIFIER mat<4, 3, T, Q> operator*(T const& s, mat<4, 3, T, Q> const& m) + { + return mat<4, 3, T, Q>( + m[0] * s, + m[1] * s, + m[2] * s, + m[3] * s); + } + + template + GLM_FUNC_QUALIFIER typename mat<4, 3, T, Q>::col_type operator* + ( + mat<4, 3, T, Q> const& m, + typename mat<4, 3, T, Q>::row_type const& v) + { + return typename mat<4, 3, T, Q>::col_type( + m[0][0] * v.x + m[1][0] * v.y + m[2][0] * v.z + m[3][0] * v.w, + m[0][1] * v.x + m[1][1] * v.y + m[2][1] * v.z + m[3][1] * v.w, + m[0][2] * v.x + m[1][2] * v.y + m[2][2] * v.z + m[3][2] * v.w); + } + + template + GLM_FUNC_QUALIFIER typename mat<4, 3, T, Q>::row_type operator* + ( + typename mat<4, 3, T, Q>::col_type const& v, + mat<4, 3, T, Q> const& m) + { + return typename mat<4, 3, T, Q>::row_type( + v.x * m[0][0] + v.y * m[0][1] + v.z * m[0][2], + v.x * m[1][0] + v.y * m[1][1] + v.z * m[1][2], + v.x * m[2][0] + v.y * m[2][1] + v.z * m[2][2], + v.x * m[3][0] + v.y * m[3][1] + v.z * m[3][2]); + } + + template + GLM_FUNC_QUALIFIER mat<2, 3, T, Q> operator*(mat<4, 3, T, Q> const& m1, mat<2, 4, T, Q> const& m2) + { + return mat<2, 3, T, Q>( + m1[0][0] * m2[0][0] + m1[1][0] * m2[0][1] + m1[2][0] * m2[0][2] + m1[3][0] * m2[0][3], + m1[0][1] * m2[0][0] + m1[1][1] * m2[0][1] + m1[2][1] * m2[0][2] + m1[3][1] * m2[0][3], + m1[0][2] * m2[0][0] + m1[1][2] * m2[0][1] + m1[2][2] * m2[0][2] + m1[3][2] * m2[0][3], + m1[0][0] * m2[1][0] + m1[1][0] * m2[1][1] + m1[2][0] * m2[1][2] + m1[3][0] * m2[1][3], + m1[0][1] * m2[1][0] + m1[1][1] * m2[1][1] + m1[2][1] * m2[1][2] + m1[3][1] * m2[1][3], + m1[0][2] * m2[1][0] + m1[1][2] * m2[1][1] + m1[2][2] * m2[1][2] + m1[3][2] * m2[1][3]); + } + + template + GLM_FUNC_QUALIFIER mat<3, 3, T, Q> operator*(mat<4, 3, T, Q> const& m1, mat<3, 4, T, Q> const& m2) + { + T const SrcA00 = m1[0][0]; + T const SrcA01 = m1[0][1]; + T const SrcA02 = m1[0][2]; + T const SrcA10 = m1[1][0]; + T const SrcA11 = m1[1][1]; + T const SrcA12 = m1[1][2]; + T const SrcA20 = m1[2][0]; + T const SrcA21 = m1[2][1]; + T const SrcA22 = m1[2][2]; + T const SrcA30 = m1[3][0]; + T const SrcA31 = m1[3][1]; + T const SrcA32 = m1[3][2]; + + T const SrcB00 = m2[0][0]; + T const SrcB01 = m2[0][1]; + T const SrcB02 = m2[0][2]; + T const SrcB03 = m2[0][3]; + T const SrcB10 = m2[1][0]; + T const SrcB11 = m2[1][1]; + T const SrcB12 = m2[1][2]; + T const SrcB13 = m2[1][3]; + T const SrcB20 = m2[2][0]; + T const SrcB21 = m2[2][1]; + T const SrcB22 = m2[2][2]; + T const SrcB23 = m2[2][3]; + + mat<3, 3, T, Q> Result; + Result[0][0] = SrcA00 * SrcB00 + SrcA10 * SrcB01 + SrcA20 * SrcB02 + SrcA30 * SrcB03; + Result[0][1] = SrcA01 * SrcB00 + SrcA11 * SrcB01 + SrcA21 * SrcB02 + SrcA31 * SrcB03; + Result[0][2] = SrcA02 * SrcB00 + SrcA12 * SrcB01 + SrcA22 * SrcB02 + SrcA32 * SrcB03; + Result[1][0] = SrcA00 * SrcB10 + SrcA10 * SrcB11 + SrcA20 * SrcB12 + SrcA30 * SrcB13; + Result[1][1] = SrcA01 * SrcB10 + SrcA11 * SrcB11 + SrcA21 * SrcB12 + SrcA31 * SrcB13; + Result[1][2] = SrcA02 * SrcB10 + SrcA12 * SrcB11 + SrcA22 * SrcB12 + SrcA32 * SrcB13; + Result[2][0] = SrcA00 * SrcB20 + SrcA10 * SrcB21 + SrcA20 * SrcB22 + SrcA30 * SrcB23; + Result[2][1] = SrcA01 * SrcB20 + SrcA11 * SrcB21 + SrcA21 * SrcB22 + SrcA31 * SrcB23; + Result[2][2] = SrcA02 * SrcB20 + SrcA12 * SrcB21 + SrcA22 * SrcB22 + SrcA32 * SrcB23; + return Result; + } + + template + GLM_FUNC_QUALIFIER mat<4, 3, T, Q> operator*(mat<4, 3, T, Q> const& m1, mat<4, 4, T, Q> const& m2) + { + return mat<4, 3, T, Q>( + m1[0][0] * m2[0][0] + m1[1][0] * m2[0][1] + m1[2][0] * m2[0][2] + m1[3][0] * m2[0][3], + m1[0][1] * m2[0][0] + m1[1][1] * m2[0][1] + m1[2][1] * m2[0][2] + m1[3][1] * m2[0][3], + m1[0][2] * m2[0][0] + m1[1][2] * m2[0][1] + m1[2][2] * m2[0][2] + m1[3][2] * m2[0][3], + m1[0][0] * m2[1][0] + m1[1][0] * m2[1][1] + m1[2][0] * m2[1][2] + m1[3][0] * m2[1][3], + m1[0][1] * m2[1][0] + m1[1][1] * m2[1][1] + m1[2][1] * m2[1][2] + m1[3][1] * m2[1][3], + m1[0][2] * m2[1][0] + m1[1][2] * m2[1][1] + m1[2][2] * m2[1][2] + m1[3][2] * m2[1][3], + m1[0][0] * m2[2][0] + m1[1][0] * m2[2][1] + m1[2][0] * m2[2][2] + m1[3][0] * m2[2][3], + m1[0][1] * m2[2][0] + m1[1][1] * m2[2][1] + m1[2][1] * m2[2][2] + m1[3][1] * m2[2][3], + m1[0][2] * m2[2][0] + m1[1][2] * m2[2][1] + m1[2][2] * m2[2][2] + m1[3][2] * m2[2][3], + m1[0][0] * m2[3][0] + m1[1][0] * m2[3][1] + m1[2][0] * m2[3][2] + m1[3][0] * m2[3][3], + m1[0][1] * m2[3][0] + m1[1][1] * m2[3][1] + m1[2][1] * m2[3][2] + m1[3][1] * m2[3][3], + m1[0][2] * m2[3][0] + m1[1][2] * m2[3][1] + m1[2][2] * m2[3][2] + m1[3][2] * m2[3][3]); + } + + template + GLM_FUNC_QUALIFIER mat<4, 3, T, Q> operator/(mat<4, 3, T, Q> const& m, T const& s) + { + return mat<4, 3, T, Q>( + m[0] / s, + m[1] / s, + m[2] / s, + m[3] / s); + } + + template + GLM_FUNC_QUALIFIER mat<4, 3, T, Q> operator/(T const& s, mat<4, 3, T, Q> const& m) + { + return mat<4, 3, T, Q>( + s / m[0], + s / m[1], + s / m[2], + s / m[3]); + } + + // -- Boolean operators -- + + template + GLM_FUNC_QUALIFIER bool operator==(mat<4, 3, T, Q> const& m1, mat<4, 3, T, Q> const& m2) + { + return (m1[0] == m2[0]) && (m1[1] == m2[1]) && (m1[2] == m2[2]) && (m1[3] == m2[3]); + } + + template + GLM_FUNC_QUALIFIER bool operator!=(mat<4, 3, T, Q> const& m1, mat<4, 3, T, Q> const& m2) + { + return (m1[0] != m2[0]) || (m1[1] != m2[1]) || (m1[2] != m2[2]) || (m1[3] != m2[3]); + } +} //namespace glm diff --git a/MacroLibX/third_party/glm/detail/type_mat4x4.hpp b/MacroLibX/third_party/glm/detail/type_mat4x4.hpp new file mode 100644 index 0000000..3517f9f --- /dev/null +++ b/MacroLibX/third_party/glm/detail/type_mat4x4.hpp @@ -0,0 +1,189 @@ +/// @ref core +/// @file glm/detail/type_mat4x4.hpp + +#pragma once + +#include "type_vec4.hpp" +#include +#include + +namespace glm +{ + template + struct mat<4, 4, T, Q> + { + typedef vec<4, T, Q> col_type; + typedef vec<4, T, Q> row_type; + typedef mat<4, 4, T, Q> type; + typedef mat<4, 4, T, Q> transpose_type; + typedef T value_type; + + private: + col_type value[4]; + + public: + // -- Accesses -- + + typedef length_t length_type; + GLM_FUNC_DECL static GLM_CONSTEXPR length_type length(){return 4;} + + GLM_FUNC_DECL col_type & operator[](length_type i); + GLM_FUNC_DECL GLM_CONSTEXPR col_type const& operator[](length_type i) const; + + // -- Constructors -- + + GLM_FUNC_DECL GLM_CONSTEXPR mat() GLM_DEFAULT; + template + GLM_FUNC_DECL GLM_CONSTEXPR mat(mat<4, 4, T, P> const& m); + + GLM_FUNC_DECL explicit GLM_CONSTEXPR mat(T const& x); + GLM_FUNC_DECL GLM_CONSTEXPR mat( + T const& x0, T const& y0, T const& z0, T const& w0, + T const& x1, T const& y1, T const& z1, T const& w1, + T const& x2, T const& y2, T const& z2, T const& w2, + T const& x3, T const& y3, T const& z3, T const& w3); + GLM_FUNC_DECL GLM_CONSTEXPR mat( + col_type const& v0, + col_type const& v1, + col_type const& v2, + col_type const& v3); + + // -- Conversions -- + + template< + typename X1, typename Y1, typename Z1, typename W1, + typename X2, typename Y2, typename Z2, typename W2, + typename X3, typename Y3, typename Z3, typename W3, + typename X4, typename Y4, typename Z4, typename W4> + GLM_FUNC_DECL GLM_CONSTEXPR mat( + X1 const& x1, Y1 const& y1, Z1 const& z1, W1 const& w1, + X2 const& x2, Y2 const& y2, Z2 const& z2, W2 const& w2, + X3 const& x3, Y3 const& y3, Z3 const& z3, W3 const& w3, + X4 const& x4, Y4 const& y4, Z4 const& z4, W4 const& w4); + + template + GLM_FUNC_DECL GLM_CONSTEXPR mat( + vec<4, V1, Q> const& v1, + vec<4, V2, Q> const& v2, + vec<4, V3, Q> const& v3, + vec<4, V4, Q> const& v4); + + // -- Matrix conversions -- + + template + GLM_FUNC_DECL GLM_EXPLICIT GLM_CONSTEXPR mat(mat<4, 4, U, P> const& m); + + GLM_FUNC_DECL GLM_EXPLICIT GLM_CONSTEXPR mat(mat<2, 2, T, Q> const& x); + GLM_FUNC_DECL GLM_EXPLICIT GLM_CONSTEXPR mat(mat<3, 3, T, Q> const& x); + GLM_FUNC_DECL GLM_EXPLICIT GLM_CONSTEXPR mat(mat<2, 3, T, Q> const& x); + GLM_FUNC_DECL GLM_EXPLICIT GLM_CONSTEXPR mat(mat<3, 2, T, Q> const& x); + GLM_FUNC_DECL GLM_EXPLICIT GLM_CONSTEXPR mat(mat<2, 4, T, Q> const& x); + GLM_FUNC_DECL GLM_EXPLICIT GLM_CONSTEXPR mat(mat<4, 2, T, Q> const& x); + GLM_FUNC_DECL GLM_EXPLICIT GLM_CONSTEXPR mat(mat<3, 4, T, Q> const& x); + GLM_FUNC_DECL GLM_EXPLICIT GLM_CONSTEXPR mat(mat<4, 3, T, Q> const& x); + + // -- Unary arithmetic operators -- + + template + GLM_FUNC_DECL mat<4, 4, T, Q> & operator=(mat<4, 4, U, Q> const& m); + template + GLM_FUNC_DECL mat<4, 4, T, Q> & operator+=(U s); + template + GLM_FUNC_DECL mat<4, 4, T, Q> & operator+=(mat<4, 4, U, Q> const& m); + template + GLM_FUNC_DECL mat<4, 4, T, Q> & operator-=(U s); + template + GLM_FUNC_DECL mat<4, 4, T, Q> & operator-=(mat<4, 4, U, Q> const& m); + template + GLM_FUNC_DECL mat<4, 4, T, Q> & operator*=(U s); + template + GLM_FUNC_DECL mat<4, 4, T, Q> & operator*=(mat<4, 4, U, Q> const& m); + template + GLM_FUNC_DECL mat<4, 4, T, Q> & operator/=(U s); + template + GLM_FUNC_DECL mat<4, 4, T, Q> & operator/=(mat<4, 4, U, Q> const& m); + + // -- Increment and decrement operators -- + + GLM_FUNC_DECL mat<4, 4, T, Q> & operator++(); + GLM_FUNC_DECL mat<4, 4, T, Q> & operator--(); + GLM_FUNC_DECL mat<4, 4, T, Q> operator++(int); + GLM_FUNC_DECL mat<4, 4, T, Q> operator--(int); + }; + + // -- Unary operators -- + + template + GLM_FUNC_DECL mat<4, 4, T, Q> operator+(mat<4, 4, T, Q> const& m); + + template + GLM_FUNC_DECL mat<4, 4, T, Q> operator-(mat<4, 4, T, Q> const& m); + + // -- Binary operators -- + + template + GLM_FUNC_DECL mat<4, 4, T, Q> operator+(mat<4, 4, T, Q> const& m, T const& s); + + template + GLM_FUNC_DECL mat<4, 4, T, Q> operator+(T const& s, mat<4, 4, T, Q> const& m); + + template + GLM_FUNC_DECL mat<4, 4, T, Q> operator+(mat<4, 4, T, Q> const& m1, mat<4, 4, T, Q> const& m2); + + template + GLM_FUNC_DECL mat<4, 4, T, Q> operator-(mat<4, 4, T, Q> const& m, T const& s); + + template + GLM_FUNC_DECL mat<4, 4, T, Q> operator-(T const& s, mat<4, 4, T, Q> const& m); + + template + GLM_FUNC_DECL mat<4, 4, T, Q> operator-(mat<4, 4, T, Q> const& m1, mat<4, 4, T, Q> const& m2); + + template + GLM_FUNC_DECL mat<4, 4, T, Q> operator*(mat<4, 4, T, Q> const& m, T const& s); + + template + GLM_FUNC_DECL mat<4, 4, T, Q> operator*(T const& s, mat<4, 4, T, Q> const& m); + + template + GLM_FUNC_DECL typename mat<4, 4, T, Q>::col_type operator*(mat<4, 4, T, Q> const& m, typename mat<4, 4, T, Q>::row_type const& v); + + template + GLM_FUNC_DECL typename mat<4, 4, T, Q>::row_type operator*(typename mat<4, 4, T, Q>::col_type const& v, mat<4, 4, T, Q> const& m); + + template + GLM_FUNC_DECL mat<2, 4, T, Q> operator*(mat<4, 4, T, Q> const& m1, mat<2, 4, T, Q> const& m2); + + template + GLM_FUNC_DECL mat<3, 4, T, Q> operator*(mat<4, 4, T, Q> const& m1, mat<3, 4, T, Q> const& m2); + + template + GLM_FUNC_DECL mat<4, 4, T, Q> operator*(mat<4, 4, T, Q> const& m1, mat<4, 4, T, Q> const& m2); + + template + GLM_FUNC_DECL mat<4, 4, T, Q> operator/(mat<4, 4, T, Q> const& m, T const& s); + + template + GLM_FUNC_DECL mat<4, 4, T, Q> operator/(T const& s, mat<4, 4, T, Q> const& m); + + template + GLM_FUNC_DECL typename mat<4, 4, T, Q>::col_type operator/(mat<4, 4, T, Q> const& m, typename mat<4, 4, T, Q>::row_type const& v); + + template + GLM_FUNC_DECL typename mat<4, 4, T, Q>::row_type operator/(typename mat<4, 4, T, Q>::col_type const& v, mat<4, 4, T, Q> const& m); + + template + GLM_FUNC_DECL mat<4, 4, T, Q> operator/(mat<4, 4, T, Q> const& m1, mat<4, 4, T, Q> const& m2); + + // -- Boolean operators -- + + template + GLM_FUNC_DECL bool operator==(mat<4, 4, T, Q> const& m1, mat<4, 4, T, Q> const& m2); + + template + GLM_FUNC_DECL bool operator!=(mat<4, 4, T, Q> const& m1, mat<4, 4, T, Q> const& m2); +}//namespace glm + +#ifndef GLM_EXTERNAL_TEMPLATE +#include "type_mat4x4.inl" +#endif//GLM_EXTERNAL_TEMPLATE diff --git a/MacroLibX/third_party/glm/detail/type_mat4x4.inl b/MacroLibX/third_party/glm/detail/type_mat4x4.inl new file mode 100644 index 0000000..e38b87f --- /dev/null +++ b/MacroLibX/third_party/glm/detail/type_mat4x4.inl @@ -0,0 +1,706 @@ +#include "../matrix.hpp" + +namespace glm +{ + // -- Constructors -- + +# if GLM_CONFIG_DEFAULTED_FUNCTIONS == GLM_DISABLE + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR mat<4, 4, T, Q>::mat() +# if GLM_CONFIG_CTOR_INIT == GLM_CTOR_INITIALIZER_LIST + : value{col_type(1, 0, 0, 0), col_type(0, 1, 0, 0), col_type(0, 0, 1, 0), col_type(0, 0, 0, 1)} +# endif + { +# if GLM_CONFIG_CTOR_INIT == GLM_CTOR_INITIALISATION + this->value[0] = col_type(1, 0, 0, 0); + this->value[1] = col_type(0, 1, 0, 0); + this->value[2] = col_type(0, 0, 1, 0); + this->value[3] = col_type(0, 0, 0, 1); +# endif + } +# endif + + template + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR mat<4, 4, T, Q>::mat(mat<4, 4, T, P> const& m) +# if GLM_HAS_INITIALIZER_LISTS + : value{col_type(m[0]), col_type(m[1]), col_type(m[2]), col_type(m[3])} +# endif + { +# if !GLM_HAS_INITIALIZER_LISTS + this->value[0] = m[0]; + this->value[1] = m[1]; + this->value[2] = m[2]; + this->value[3] = m[3]; +# endif + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR mat<4, 4, T, Q>::mat(T const& s) +# if GLM_HAS_INITIALIZER_LISTS + : value{col_type(s, 0, 0, 0), col_type(0, s, 0, 0), col_type(0, 0, s, 0), col_type(0, 0, 0, s)} +# endif + { +# if !GLM_HAS_INITIALIZER_LISTS + this->value[0] = col_type(s, 0, 0, 0); + this->value[1] = col_type(0, s, 0, 0); + this->value[2] = col_type(0, 0, s, 0); + this->value[3] = col_type(0, 0, 0, s); +# endif + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR mat<4, 4, T, Q>::mat + ( + T const& x0, T const& y0, T const& z0, T const& w0, + T const& x1, T const& y1, T const& z1, T const& w1, + T const& x2, T const& y2, T const& z2, T const& w2, + T const& x3, T const& y3, T const& z3, T const& w3 + ) +# if GLM_HAS_INITIALIZER_LISTS + : value{ + col_type(x0, y0, z0, w0), + col_type(x1, y1, z1, w1), + col_type(x2, y2, z2, w2), + col_type(x3, y3, z3, w3)} +# endif + { +# if !GLM_HAS_INITIALIZER_LISTS + this->value[0] = col_type(x0, y0, z0, w0); + this->value[1] = col_type(x1, y1, z1, w1); + this->value[2] = col_type(x2, y2, z2, w2); + this->value[3] = col_type(x3, y3, z3, w3); +# endif + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR mat<4, 4, T, Q>::mat(col_type const& v0, col_type const& v1, col_type const& v2, col_type const& v3) +# if GLM_HAS_INITIALIZER_LISTS + : value{col_type(v0), col_type(v1), col_type(v2), col_type(v3)} +# endif + { +# if !GLM_HAS_INITIALIZER_LISTS + this->value[0] = v0; + this->value[1] = v1; + this->value[2] = v2; + this->value[3] = v3; +# endif + } + + template + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR mat<4, 4, T, Q>::mat(mat<4, 4, U, P> const& m) +# if GLM_HAS_INITIALIZER_LISTS + : value{col_type(m[0]), col_type(m[1]), col_type(m[2]), col_type(m[3])} +# endif + { +# if !GLM_HAS_INITIALIZER_LISTS + this->value[0] = col_type(m[0]); + this->value[1] = col_type(m[1]); + this->value[2] = col_type(m[2]); + this->value[3] = col_type(m[3]); +# endif + } + + // -- Conversions -- + + template + template< + typename X1, typename Y1, typename Z1, typename W1, + typename X2, typename Y2, typename Z2, typename W2, + typename X3, typename Y3, typename Z3, typename W3, + typename X4, typename Y4, typename Z4, typename W4> + GLM_FUNC_QUALIFIER GLM_CONSTEXPR mat<4, 4, T, Q>::mat + ( + X1 const& x1, Y1 const& y1, Z1 const& z1, W1 const& w1, + X2 const& x2, Y2 const& y2, Z2 const& z2, W2 const& w2, + X3 const& x3, Y3 const& y3, Z3 const& z3, W3 const& w3, + X4 const& x4, Y4 const& y4, Z4 const& z4, W4 const& w4 + ) +# if GLM_HAS_INITIALIZER_LISTS + : value{col_type(x1, y1, z1, w1), col_type(x2, y2, z2, w2), col_type(x3, y3, z3, w3), col_type(x4, y4, z4, w4)} +# endif + { + GLM_STATIC_ASSERT(std::numeric_limits::is_iec559 || std::numeric_limits::is_integer || GLM_CONFIG_UNRESTRICTED_GENTYPE, "*mat4x4 constructor only takes float and integer types, 1st parameter type invalid."); + GLM_STATIC_ASSERT(std::numeric_limits::is_iec559 || std::numeric_limits::is_integer || GLM_CONFIG_UNRESTRICTED_GENTYPE, "*mat4x4 constructor only takes float and integer types, 2nd parameter type invalid."); + GLM_STATIC_ASSERT(std::numeric_limits::is_iec559 || std::numeric_limits::is_integer || GLM_CONFIG_UNRESTRICTED_GENTYPE, "*mat4x4 constructor only takes float and integer types, 3rd parameter type invalid."); + GLM_STATIC_ASSERT(std::numeric_limits::is_iec559 || std::numeric_limits::is_integer || GLM_CONFIG_UNRESTRICTED_GENTYPE, "*mat4x4 constructor only takes float and integer types, 4th parameter type invalid."); + + GLM_STATIC_ASSERT(std::numeric_limits::is_iec559 || std::numeric_limits::is_integer || GLM_CONFIG_UNRESTRICTED_GENTYPE, "*mat4x4 constructor only takes float and integer types, 5th parameter type invalid."); + GLM_STATIC_ASSERT(std::numeric_limits::is_iec559 || std::numeric_limits::is_integer || GLM_CONFIG_UNRESTRICTED_GENTYPE, "*mat4x4 constructor only takes float and integer types, 6th parameter type invalid."); + GLM_STATIC_ASSERT(std::numeric_limits::is_iec559 || std::numeric_limits::is_integer || GLM_CONFIG_UNRESTRICTED_GENTYPE, "*mat4x4 constructor only takes float and integer types, 7th parameter type invalid."); + GLM_STATIC_ASSERT(std::numeric_limits::is_iec559 || std::numeric_limits::is_integer || GLM_CONFIG_UNRESTRICTED_GENTYPE, "*mat4x4 constructor only takes float and integer types, 8th parameter type invalid."); + + GLM_STATIC_ASSERT(std::numeric_limits::is_iec559 || std::numeric_limits::is_integer || GLM_CONFIG_UNRESTRICTED_GENTYPE, "*mat4x4 constructor only takes float and integer types, 9th parameter type invalid."); + GLM_STATIC_ASSERT(std::numeric_limits::is_iec559 || std::numeric_limits::is_integer || GLM_CONFIG_UNRESTRICTED_GENTYPE, "*mat4x4 constructor only takes float and integer types, 10th parameter type invalid."); + GLM_STATIC_ASSERT(std::numeric_limits::is_iec559 || std::numeric_limits::is_integer || GLM_CONFIG_UNRESTRICTED_GENTYPE, "*mat4x4 constructor only takes float and integer types, 11th parameter type invalid."); + GLM_STATIC_ASSERT(std::numeric_limits::is_iec559 || std::numeric_limits::is_integer || GLM_CONFIG_UNRESTRICTED_GENTYPE, "*mat4x4 constructor only takes float and integer types, 12th parameter type invalid."); + + GLM_STATIC_ASSERT(std::numeric_limits::is_iec559 || std::numeric_limits::is_integer || GLM_CONFIG_UNRESTRICTED_GENTYPE, "*mat4x4 constructor only takes float and integer types, 13th parameter type invalid."); + GLM_STATIC_ASSERT(std::numeric_limits::is_iec559 || std::numeric_limits::is_integer || GLM_CONFIG_UNRESTRICTED_GENTYPE, "*mat4x4 constructor only takes float and integer types, 14th parameter type invalid."); + GLM_STATIC_ASSERT(std::numeric_limits::is_iec559 || std::numeric_limits::is_integer || GLM_CONFIG_UNRESTRICTED_GENTYPE, "*mat4x4 constructor only takes float and integer types, 15th parameter type invalid."); + GLM_STATIC_ASSERT(std::numeric_limits::is_iec559 || std::numeric_limits::is_integer || GLM_CONFIG_UNRESTRICTED_GENTYPE, "*mat4x4 constructor only takes float and integer types, 16th parameter type invalid."); + +# if !GLM_HAS_INITIALIZER_LISTS + this->value[0] = col_type(x1, y1, z1, w1); + this->value[1] = col_type(x2, y2, z2, w2); + this->value[2] = col_type(x3, y3, z3, w3); + this->value[3] = col_type(x4, y4, z4, w4); +# endif + } + + template + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR mat<4, 4, T, Q>::mat(vec<4, V1, Q> const& v1, vec<4, V2, Q> const& v2, vec<4, V3, Q> const& v3, vec<4, V4, Q> const& v4) +# if GLM_HAS_INITIALIZER_LISTS + : value{col_type(v1), col_type(v2), col_type(v3), col_type(v4)} +# endif + { + GLM_STATIC_ASSERT(std::numeric_limits::is_iec559 || std::numeric_limits::is_integer || GLM_CONFIG_UNRESTRICTED_GENTYPE, "*mat4x4 constructor only takes float and integer types, 1st parameter type invalid."); + GLM_STATIC_ASSERT(std::numeric_limits::is_iec559 || std::numeric_limits::is_integer || GLM_CONFIG_UNRESTRICTED_GENTYPE, "*mat4x4 constructor only takes float and integer types, 2nd parameter type invalid."); + GLM_STATIC_ASSERT(std::numeric_limits::is_iec559 || std::numeric_limits::is_integer || GLM_CONFIG_UNRESTRICTED_GENTYPE, "*mat4x4 constructor only takes float and integer types, 3rd parameter type invalid."); + GLM_STATIC_ASSERT(std::numeric_limits::is_iec559 || std::numeric_limits::is_integer || GLM_CONFIG_UNRESTRICTED_GENTYPE, "*mat4x4 constructor only takes float and integer types, 4th parameter type invalid."); + +# if !GLM_HAS_INITIALIZER_LISTS + this->value[0] = col_type(v1); + this->value[1] = col_type(v2); + this->value[2] = col_type(v3); + this->value[3] = col_type(v4); +# endif + } + + // -- Matrix conversions -- + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR mat<4, 4, T, Q>::mat(mat<2, 2, T, Q> const& m) +# if GLM_HAS_INITIALIZER_LISTS + : value{col_type(m[0], 0, 0), col_type(m[1], 0, 0), col_type(0, 0, 1, 0), col_type(0, 0, 0, 1)} +# endif + { +# if !GLM_HAS_INITIALIZER_LISTS + this->value[0] = col_type(m[0], 0, 0); + this->value[1] = col_type(m[1], 0, 0); + this->value[2] = col_type(0, 0, 1, 0); + this->value[3] = col_type(0, 0, 0, 1); +# endif + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR mat<4, 4, T, Q>::mat(mat<3, 3, T, Q> const& m) +# if GLM_HAS_INITIALIZER_LISTS + : value{col_type(m[0], 0), col_type(m[1], 0), col_type(m[2], 0), col_type(0, 0, 0, 1)} +# endif + { +# if !GLM_HAS_INITIALIZER_LISTS + this->value[0] = col_type(m[0], 0); + this->value[1] = col_type(m[1], 0); + this->value[2] = col_type(m[2], 0); + this->value[3] = col_type(0, 0, 0, 1); +# endif + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR mat<4, 4, T, Q>::mat(mat<2, 3, T, Q> const& m) +# if GLM_HAS_INITIALIZER_LISTS + : value{col_type(m[0], 0), col_type(m[1], 0), col_type(0, 0, 1, 0), col_type(0, 0, 0, 1)} +# endif + { +# if !GLM_HAS_INITIALIZER_LISTS + this->value[0] = col_type(m[0], 0); + this->value[1] = col_type(m[1], 0); + this->value[2] = col_type(0, 0, 1, 0); + this->value[3] = col_type(0, 0, 0, 1); +# endif + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR mat<4, 4, T, Q>::mat(mat<3, 2, T, Q> const& m) +# if GLM_HAS_INITIALIZER_LISTS + : value{col_type(m[0], 0, 0), col_type(m[1], 0, 0), col_type(m[2], 1, 0), col_type(0, 0, 0, 1)} +# endif + { +# if !GLM_HAS_INITIALIZER_LISTS + this->value[0] = col_type(m[0], 0, 0); + this->value[1] = col_type(m[1], 0, 0); + this->value[2] = col_type(m[2], 1, 0); + this->value[3] = col_type(0, 0, 0, 1); +# endif + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR mat<4, 4, T, Q>::mat(mat<2, 4, T, Q> const& m) +# if GLM_HAS_INITIALIZER_LISTS + : value{col_type(m[0]), col_type(m[1]), col_type(0, 0, 1, 0), col_type(0, 0, 0, 1)} +# endif + { +# if !GLM_HAS_INITIALIZER_LISTS + this->value[0] = m[0]; + this->value[1] = m[1]; + this->value[2] = col_type(0, 0, 1, 0); + this->value[3] = col_type(0, 0, 0, 1); +# endif + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR mat<4, 4, T, Q>::mat(mat<4, 2, T, Q> const& m) +# if GLM_HAS_INITIALIZER_LISTS + : value{col_type(m[0], 0, 0), col_type(m[1], 0, 0), col_type(0, 0, 1, 0), col_type(0, 0, 0, 1)} +# endif + { +# if !GLM_HAS_INITIALIZER_LISTS + this->value[0] = col_type(m[0], 0, 0); + this->value[1] = col_type(m[1], 0, 0); + this->value[2] = col_type(0, 0, 1, 0); + this->value[3] = col_type(0, 0, 0, 1); +# endif + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR mat<4, 4, T, Q>::mat(mat<3, 4, T, Q> const& m) +# if GLM_HAS_INITIALIZER_LISTS + : value{col_type(m[0]), col_type(m[1]), col_type(m[2]), col_type(0, 0, 0, 1)} +# endif + { +# if !GLM_HAS_INITIALIZER_LISTS + this->value[0] = m[0]; + this->value[1] = m[1]; + this->value[2] = m[2]; + this->value[3] = col_type(0, 0, 0, 1); +# endif + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR mat<4, 4, T, Q>::mat(mat<4, 3, T, Q> const& m) +# if GLM_HAS_INITIALIZER_LISTS + : value{col_type(m[0], 0), col_type(m[1], 0), col_type(m[2], 0), col_type(m[3], 1)} +# endif + { +# if !GLM_HAS_INITIALIZER_LISTS + this->value[0] = col_type(m[0], 0); + this->value[1] = col_type(m[1], 0); + this->value[2] = col_type(m[2], 0); + this->value[3] = col_type(m[3], 1); +# endif + } + + // -- Accesses -- + + template + GLM_FUNC_QUALIFIER typename mat<4, 4, T, Q>::col_type & mat<4, 4, T, Q>::operator[](typename mat<4, 4, T, Q>::length_type i) + { + assert(i < this->length()); + return this->value[i]; + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR typename mat<4, 4, T, Q>::col_type const& mat<4, 4, T, Q>::operator[](typename mat<4, 4, T, Q>::length_type i) const + { + assert(i < this->length()); + return this->value[i]; + } + + // -- Unary arithmetic operators -- + + template + template + GLM_FUNC_QUALIFIER mat<4, 4, T, Q>& mat<4, 4, T, Q>::operator=(mat<4, 4, U, Q> const& m) + { + //memcpy could be faster + //memcpy(&this->value, &m.value, 16 * sizeof(valType)); + this->value[0] = m[0]; + this->value[1] = m[1]; + this->value[2] = m[2]; + this->value[3] = m[3]; + return *this; + } + + template + template + GLM_FUNC_QUALIFIER mat<4, 4, T, Q>& mat<4, 4, T, Q>::operator+=(U s) + { + this->value[0] += s; + this->value[1] += s; + this->value[2] += s; + this->value[3] += s; + return *this; + } + + template + template + GLM_FUNC_QUALIFIER mat<4, 4, T, Q>& mat<4, 4, T, Q>::operator+=(mat<4, 4, U, Q> const& m) + { + this->value[0] += m[0]; + this->value[1] += m[1]; + this->value[2] += m[2]; + this->value[3] += m[3]; + return *this; + } + + template + template + GLM_FUNC_QUALIFIER mat<4, 4, T, Q> & mat<4, 4, T, Q>::operator-=(U s) + { + this->value[0] -= s; + this->value[1] -= s; + this->value[2] -= s; + this->value[3] -= s; + return *this; + } + + template + template + GLM_FUNC_QUALIFIER mat<4, 4, T, Q> & mat<4, 4, T, Q>::operator-=(mat<4, 4, U, Q> const& m) + { + this->value[0] -= m[0]; + this->value[1] -= m[1]; + this->value[2] -= m[2]; + this->value[3] -= m[3]; + return *this; + } + + template + template + GLM_FUNC_QUALIFIER mat<4, 4, T, Q> & mat<4, 4, T, Q>::operator*=(U s) + { + this->value[0] *= s; + this->value[1] *= s; + this->value[2] *= s; + this->value[3] *= s; + return *this; + } + + template + template + GLM_FUNC_QUALIFIER mat<4, 4, T, Q> & mat<4, 4, T, Q>::operator*=(mat<4, 4, U, Q> const& m) + { + return (*this = *this * m); + } + + template + template + GLM_FUNC_QUALIFIER mat<4, 4, T, Q> & mat<4, 4, T, Q>::operator/=(U s) + { + this->value[0] /= s; + this->value[1] /= s; + this->value[2] /= s; + this->value[3] /= s; + return *this; + } + + template + template + GLM_FUNC_QUALIFIER mat<4, 4, T, Q> & mat<4, 4, T, Q>::operator/=(mat<4, 4, U, Q> const& m) + { + return *this *= inverse(m); + } + + // -- Increment and decrement operators -- + + template + GLM_FUNC_QUALIFIER mat<4, 4, T, Q> & mat<4, 4, T, Q>::operator++() + { + ++this->value[0]; + ++this->value[1]; + ++this->value[2]; + ++this->value[3]; + return *this; + } + + template + GLM_FUNC_QUALIFIER mat<4, 4, T, Q> & mat<4, 4, T, Q>::operator--() + { + --this->value[0]; + --this->value[1]; + --this->value[2]; + --this->value[3]; + return *this; + } + + template + GLM_FUNC_QUALIFIER mat<4, 4, T, Q> mat<4, 4, T, Q>::operator++(int) + { + mat<4, 4, T, Q> Result(*this); + ++*this; + return Result; + } + + template + GLM_FUNC_QUALIFIER mat<4, 4, T, Q> mat<4, 4, T, Q>::operator--(int) + { + mat<4, 4, T, Q> Result(*this); + --*this; + return Result; + } + + // -- Unary constant operators -- + + template + GLM_FUNC_QUALIFIER mat<4, 4, T, Q> operator+(mat<4, 4, T, Q> const& m) + { + return m; + } + + template + GLM_FUNC_QUALIFIER mat<4, 4, T, Q> operator-(mat<4, 4, T, Q> const& m) + { + return mat<4, 4, T, Q>( + -m[0], + -m[1], + -m[2], + -m[3]); + } + + // -- Binary arithmetic operators -- + + template + GLM_FUNC_QUALIFIER mat<4, 4, T, Q> operator+(mat<4, 4, T, Q> const& m, T const& s) + { + return mat<4, 4, T, Q>( + m[0] + s, + m[1] + s, + m[2] + s, + m[3] + s); + } + + template + GLM_FUNC_QUALIFIER mat<4, 4, T, Q> operator+(T const& s, mat<4, 4, T, Q> const& m) + { + return mat<4, 4, T, Q>( + m[0] + s, + m[1] + s, + m[2] + s, + m[3] + s); + } + + template + GLM_FUNC_QUALIFIER mat<4, 4, T, Q> operator+(mat<4, 4, T, Q> const& m1, mat<4, 4, T, Q> const& m2) + { + return mat<4, 4, T, Q>( + m1[0] + m2[0], + m1[1] + m2[1], + m1[2] + m2[2], + m1[3] + m2[3]); + } + + template + GLM_FUNC_QUALIFIER mat<4, 4, T, Q> operator-(mat<4, 4, T, Q> const& m, T const& s) + { + return mat<4, 4, T, Q>( + m[0] - s, + m[1] - s, + m[2] - s, + m[3] - s); + } + + template + GLM_FUNC_QUALIFIER mat<4, 4, T, Q> operator-(T const& s, mat<4, 4, T, Q> const& m) + { + return mat<4, 4, T, Q>( + s - m[0], + s - m[1], + s - m[2], + s - m[3]); + } + + template + GLM_FUNC_QUALIFIER mat<4, 4, T, Q> operator-(mat<4, 4, T, Q> const& m1, mat<4, 4, T, Q> const& m2) + { + return mat<4, 4, T, Q>( + m1[0] - m2[0], + m1[1] - m2[1], + m1[2] - m2[2], + m1[3] - m2[3]); + } + + template + GLM_FUNC_QUALIFIER mat<4, 4, T, Q> operator*(mat<4, 4, T, Q> const& m, T const & s) + { + return mat<4, 4, T, Q>( + m[0] * s, + m[1] * s, + m[2] * s, + m[3] * s); + } + + template + GLM_FUNC_QUALIFIER mat<4, 4, T, Q> operator*(T const& s, mat<4, 4, T, Q> const& m) + { + return mat<4, 4, T, Q>( + m[0] * s, + m[1] * s, + m[2] * s, + m[3] * s); + } + + template + GLM_FUNC_QUALIFIER typename mat<4, 4, T, Q>::col_type operator* + ( + mat<4, 4, T, Q> const& m, + typename mat<4, 4, T, Q>::row_type const& v + ) + { +/* + __m128 v0 = _mm_shuffle_ps(v.data, v.data, _MM_SHUFFLE(0, 0, 0, 0)); + __m128 v1 = _mm_shuffle_ps(v.data, v.data, _MM_SHUFFLE(1, 1, 1, 1)); + __m128 v2 = _mm_shuffle_ps(v.data, v.data, _MM_SHUFFLE(2, 2, 2, 2)); + __m128 v3 = _mm_shuffle_ps(v.data, v.data, _MM_SHUFFLE(3, 3, 3, 3)); + + __m128 m0 = _mm_mul_ps(m[0].data, v0); + __m128 m1 = _mm_mul_ps(m[1].data, v1); + __m128 a0 = _mm_add_ps(m0, m1); + + __m128 m2 = _mm_mul_ps(m[2].data, v2); + __m128 m3 = _mm_mul_ps(m[3].data, v3); + __m128 a1 = _mm_add_ps(m2, m3); + + __m128 a2 = _mm_add_ps(a0, a1); + + return typename mat<4, 4, T, Q>::col_type(a2); +*/ + + typename mat<4, 4, T, Q>::col_type const Mov0(v[0]); + typename mat<4, 4, T, Q>::col_type const Mov1(v[1]); + typename mat<4, 4, T, Q>::col_type const Mul0 = m[0] * Mov0; + typename mat<4, 4, T, Q>::col_type const Mul1 = m[1] * Mov1; + typename mat<4, 4, T, Q>::col_type const Add0 = Mul0 + Mul1; + typename mat<4, 4, T, Q>::col_type const Mov2(v[2]); + typename mat<4, 4, T, Q>::col_type const Mov3(v[3]); + typename mat<4, 4, T, Q>::col_type const Mul2 = m[2] * Mov2; + typename mat<4, 4, T, Q>::col_type const Mul3 = m[3] * Mov3; + typename mat<4, 4, T, Q>::col_type const Add1 = Mul2 + Mul3; + typename mat<4, 4, T, Q>::col_type const Add2 = Add0 + Add1; + return Add2; + +/* + return typename mat<4, 4, T, Q>::col_type( + m[0][0] * v[0] + m[1][0] * v[1] + m[2][0] * v[2] + m[3][0] * v[3], + m[0][1] * v[0] + m[1][1] * v[1] + m[2][1] * v[2] + m[3][1] * v[3], + m[0][2] * v[0] + m[1][2] * v[1] + m[2][2] * v[2] + m[3][2] * v[3], + m[0][3] * v[0] + m[1][3] * v[1] + m[2][3] * v[2] + m[3][3] * v[3]); +*/ + } + + template + GLM_FUNC_QUALIFIER typename mat<4, 4, T, Q>::row_type operator* + ( + typename mat<4, 4, T, Q>::col_type const& v, + mat<4, 4, T, Q> const& m + ) + { + return typename mat<4, 4, T, Q>::row_type( + m[0][0] * v[0] + m[0][1] * v[1] + m[0][2] * v[2] + m[0][3] * v[3], + m[1][0] * v[0] + m[1][1] * v[1] + m[1][2] * v[2] + m[1][3] * v[3], + m[2][0] * v[0] + m[2][1] * v[1] + m[2][2] * v[2] + m[2][3] * v[3], + m[3][0] * v[0] + m[3][1] * v[1] + m[3][2] * v[2] + m[3][3] * v[3]); + } + + template + GLM_FUNC_QUALIFIER mat<2, 4, T, Q> operator*(mat<4, 4, T, Q> const& m1, mat<2, 4, T, Q> const& m2) + { + return mat<2, 4, T, Q>( + m1[0][0] * m2[0][0] + m1[1][0] * m2[0][1] + m1[2][0] * m2[0][2] + m1[3][0] * m2[0][3], + m1[0][1] * m2[0][0] + m1[1][1] * m2[0][1] + m1[2][1] * m2[0][2] + m1[3][1] * m2[0][3], + m1[0][2] * m2[0][0] + m1[1][2] * m2[0][1] + m1[2][2] * m2[0][2] + m1[3][2] * m2[0][3], + m1[0][3] * m2[0][0] + m1[1][3] * m2[0][1] + m1[2][3] * m2[0][2] + m1[3][3] * m2[0][3], + m1[0][0] * m2[1][0] + m1[1][0] * m2[1][1] + m1[2][0] * m2[1][2] + m1[3][0] * m2[1][3], + m1[0][1] * m2[1][0] + m1[1][1] * m2[1][1] + m1[2][1] * m2[1][2] + m1[3][1] * m2[1][3], + m1[0][2] * m2[1][0] + m1[1][2] * m2[1][1] + m1[2][2] * m2[1][2] + m1[3][2] * m2[1][3], + m1[0][3] * m2[1][0] + m1[1][3] * m2[1][1] + m1[2][3] * m2[1][2] + m1[3][3] * m2[1][3]); + } + + template + GLM_FUNC_QUALIFIER mat<3, 4, T, Q> operator*(mat<4, 4, T, Q> const& m1, mat<3, 4, T, Q> const& m2) + { + return mat<3, 4, T, Q>( + m1[0][0] * m2[0][0] + m1[1][0] * m2[0][1] + m1[2][0] * m2[0][2] + m1[3][0] * m2[0][3], + m1[0][1] * m2[0][0] + m1[1][1] * m2[0][1] + m1[2][1] * m2[0][2] + m1[3][1] * m2[0][3], + m1[0][2] * m2[0][0] + m1[1][2] * m2[0][1] + m1[2][2] * m2[0][2] + m1[3][2] * m2[0][3], + m1[0][3] * m2[0][0] + m1[1][3] * m2[0][1] + m1[2][3] * m2[0][2] + m1[3][3] * m2[0][3], + m1[0][0] * m2[1][0] + m1[1][0] * m2[1][1] + m1[2][0] * m2[1][2] + m1[3][0] * m2[1][3], + m1[0][1] * m2[1][0] + m1[1][1] * m2[1][1] + m1[2][1] * m2[1][2] + m1[3][1] * m2[1][3], + m1[0][2] * m2[1][0] + m1[1][2] * m2[1][1] + m1[2][2] * m2[1][2] + m1[3][2] * m2[1][3], + m1[0][3] * m2[1][0] + m1[1][3] * m2[1][1] + m1[2][3] * m2[1][2] + m1[3][3] * m2[1][3], + m1[0][0] * m2[2][0] + m1[1][0] * m2[2][1] + m1[2][0] * m2[2][2] + m1[3][0] * m2[2][3], + m1[0][1] * m2[2][0] + m1[1][1] * m2[2][1] + m1[2][1] * m2[2][2] + m1[3][1] * m2[2][3], + m1[0][2] * m2[2][0] + m1[1][2] * m2[2][1] + m1[2][2] * m2[2][2] + m1[3][2] * m2[2][3], + m1[0][3] * m2[2][0] + m1[1][3] * m2[2][1] + m1[2][3] * m2[2][2] + m1[3][3] * m2[2][3]); + } + + template + GLM_FUNC_QUALIFIER mat<4, 4, T, Q> operator*(mat<4, 4, T, Q> const& m1, mat<4, 4, T, Q> const& m2) + { + typename mat<4, 4, T, Q>::col_type const SrcA0 = m1[0]; + typename mat<4, 4, T, Q>::col_type const SrcA1 = m1[1]; + typename mat<4, 4, T, Q>::col_type const SrcA2 = m1[2]; + typename mat<4, 4, T, Q>::col_type const SrcA3 = m1[3]; + + typename mat<4, 4, T, Q>::col_type const SrcB0 = m2[0]; + typename mat<4, 4, T, Q>::col_type const SrcB1 = m2[1]; + typename mat<4, 4, T, Q>::col_type const SrcB2 = m2[2]; + typename mat<4, 4, T, Q>::col_type const SrcB3 = m2[3]; + + mat<4, 4, T, Q> Result; + Result[0] = SrcA0 * SrcB0[0] + SrcA1 * SrcB0[1] + SrcA2 * SrcB0[2] + SrcA3 * SrcB0[3]; + Result[1] = SrcA0 * SrcB1[0] + SrcA1 * SrcB1[1] + SrcA2 * SrcB1[2] + SrcA3 * SrcB1[3]; + Result[2] = SrcA0 * SrcB2[0] + SrcA1 * SrcB2[1] + SrcA2 * SrcB2[2] + SrcA3 * SrcB2[3]; + Result[3] = SrcA0 * SrcB3[0] + SrcA1 * SrcB3[1] + SrcA2 * SrcB3[2] + SrcA3 * SrcB3[3]; + return Result; + } + + template + GLM_FUNC_QUALIFIER mat<4, 4, T, Q> operator/(mat<4, 4, T, Q> const& m, T const& s) + { + return mat<4, 4, T, Q>( + m[0] / s, + m[1] / s, + m[2] / s, + m[3] / s); + } + + template + GLM_FUNC_QUALIFIER mat<4, 4, T, Q> operator/(T const& s, mat<4, 4, T, Q> const& m) + { + return mat<4, 4, T, Q>( + s / m[0], + s / m[1], + s / m[2], + s / m[3]); + } + + template + GLM_FUNC_QUALIFIER typename mat<4, 4, T, Q>::col_type operator/(mat<4, 4, T, Q> const& m, typename mat<4, 4, T, Q>::row_type const& v) + { + return inverse(m) * v; + } + + template + GLM_FUNC_QUALIFIER typename mat<4, 4, T, Q>::row_type operator/(typename mat<4, 4, T, Q>::col_type const& v, mat<4, 4, T, Q> const& m) + { + return v * inverse(m); + } + + template + GLM_FUNC_QUALIFIER mat<4, 4, T, Q> operator/(mat<4, 4, T, Q> const& m1, mat<4, 4, T, Q> const& m2) + { + mat<4, 4, T, Q> m1_copy(m1); + return m1_copy /= m2; + } + + // -- Boolean operators -- + + template + GLM_FUNC_QUALIFIER bool operator==(mat<4, 4, T, Q> const& m1, mat<4, 4, T, Q> const& m2) + { + return (m1[0] == m2[0]) && (m1[1] == m2[1]) && (m1[2] == m2[2]) && (m1[3] == m2[3]); + } + + template + GLM_FUNC_QUALIFIER bool operator!=(mat<4, 4, T, Q> const& m1, mat<4, 4, T, Q> const& m2) + { + return (m1[0] != m2[0]) || (m1[1] != m2[1]) || (m1[2] != m2[2]) || (m1[3] != m2[3]); + } +}//namespace glm + +#if GLM_CONFIG_SIMD == GLM_ENABLE +# include "type_mat4x4_simd.inl" +#endif diff --git a/MacroLibX/third_party/glm/detail/type_mat4x4_simd.inl b/MacroLibX/third_party/glm/detail/type_mat4x4_simd.inl new file mode 100644 index 0000000..fb3a16f --- /dev/null +++ b/MacroLibX/third_party/glm/detail/type_mat4x4_simd.inl @@ -0,0 +1,6 @@ +/// @ref core + +namespace glm +{ + +}//namespace glm diff --git a/MacroLibX/third_party/glm/detail/type_quat.hpp b/MacroLibX/third_party/glm/detail/type_quat.hpp new file mode 100644 index 0000000..0e60bc3 --- /dev/null +++ b/MacroLibX/third_party/glm/detail/type_quat.hpp @@ -0,0 +1,186 @@ +/// @ref core +/// @file glm/detail/type_quat.hpp + +#pragma once + +// Dependency: +#include "../detail/type_mat3x3.hpp" +#include "../detail/type_mat4x4.hpp" +#include "../detail/type_vec3.hpp" +#include "../detail/type_vec4.hpp" +#include "../ext/vector_relational.hpp" +#include "../ext/quaternion_relational.hpp" +#include "../gtc/constants.hpp" +#include "../gtc/matrix_transform.hpp" + +namespace glm +{ + template + struct qua + { + // -- Implementation detail -- + + typedef qua type; + typedef T value_type; + + // -- Data -- + +# if GLM_SILENT_WARNINGS == GLM_ENABLE +# if GLM_COMPILER & GLM_COMPILER_GCC +# pragma GCC diagnostic push +# pragma GCC diagnostic ignored "-Wpedantic" +# elif GLM_COMPILER & GLM_COMPILER_CLANG +# pragma clang diagnostic push +# pragma clang diagnostic ignored "-Wgnu-anonymous-struct" +# pragma clang diagnostic ignored "-Wnested-anon-types" +# elif GLM_COMPILER & GLM_COMPILER_VC +# pragma warning(push) +# pragma warning(disable: 4201) // nonstandard extension used : nameless struct/union +# endif +# endif + +# if GLM_LANG & GLM_LANG_CXXMS_FLAG + union + { +# ifdef GLM_FORCE_QUAT_DATA_WXYZ + struct { T w, x, y, z; }; +# else + struct { T x, y, z, w; }; +# endif + + typename detail::storage<4, T, detail::is_aligned::value>::type data; + }; +# else +# ifdef GLM_FORCE_QUAT_DATA_WXYZ + T w, x, y, z; +# else + T x, y, z, w; +# endif +# endif + +# if GLM_SILENT_WARNINGS == GLM_ENABLE +# if GLM_COMPILER & GLM_COMPILER_CLANG +# pragma clang diagnostic pop +# elif GLM_COMPILER & GLM_COMPILER_GCC +# pragma GCC diagnostic pop +# elif GLM_COMPILER & GLM_COMPILER_VC +# pragma warning(pop) +# endif +# endif + + // -- Component accesses -- + + typedef length_t length_type; + + /// Return the count of components of a quaternion + GLM_FUNC_DECL static GLM_CONSTEXPR length_type length(){return 4;} + + GLM_FUNC_DECL GLM_CONSTEXPR T & operator[](length_type i); + GLM_FUNC_DECL GLM_CONSTEXPR T const& operator[](length_type i) const; + + // -- Implicit basic constructors -- + + GLM_FUNC_DECL GLM_CONSTEXPR qua() GLM_DEFAULT; + GLM_FUNC_DECL GLM_CONSTEXPR qua(qua const& q) GLM_DEFAULT; + template + GLM_FUNC_DECL GLM_CONSTEXPR qua(qua const& q); + + // -- Explicit basic constructors -- + + GLM_FUNC_DECL GLM_CONSTEXPR qua(T s, vec<3, T, Q> const& v); + GLM_FUNC_DECL GLM_CONSTEXPR qua(T w, T x, T y, T z); + + // -- Conversion constructors -- + + template + GLM_FUNC_DECL GLM_CONSTEXPR GLM_EXPLICIT qua(qua const& q); + + /// Explicit conversion operators +# if GLM_HAS_EXPLICIT_CONVERSION_OPERATORS + GLM_FUNC_DECL explicit operator mat<3, 3, T, Q>() const; + GLM_FUNC_DECL explicit operator mat<4, 4, T, Q>() const; +# endif + + /// Create a quaternion from two normalized axis + /// + /// @param u A first normalized axis + /// @param v A second normalized axis + /// @see gtc_quaternion + /// @see http://lolengine.net/blog/2013/09/18/beautiful-maths-quaternion-from-vectors + GLM_FUNC_DECL qua(vec<3, T, Q> const& u, vec<3, T, Q> const& v); + + /// Build a quaternion from euler angles (pitch, yaw, roll), in radians. + GLM_FUNC_DECL GLM_CONSTEXPR GLM_EXPLICIT qua(vec<3, T, Q> const& eulerAngles); + GLM_FUNC_DECL GLM_EXPLICIT qua(mat<3, 3, T, Q> const& q); + GLM_FUNC_DECL GLM_EXPLICIT qua(mat<4, 4, T, Q> const& q); + + // -- Unary arithmetic operators -- + + GLM_FUNC_DECL GLM_CONSTEXPR qua& operator=(qua const& q) GLM_DEFAULT; + + template + GLM_FUNC_DECL GLM_CONSTEXPR qua& operator=(qua const& q); + template + GLM_FUNC_DECL GLM_CONSTEXPR qua& operator+=(qua const& q); + template + GLM_FUNC_DECL GLM_CONSTEXPR qua& operator-=(qua const& q); + template + GLM_FUNC_DECL GLM_CONSTEXPR qua& operator*=(qua const& q); + template + GLM_FUNC_DECL GLM_CONSTEXPR qua& operator*=(U s); + template + GLM_FUNC_DECL GLM_CONSTEXPR qua& operator/=(U s); + }; + + // -- Unary bit operators -- + + template + GLM_FUNC_DECL GLM_CONSTEXPR qua operator+(qua const& q); + + template + GLM_FUNC_DECL GLM_CONSTEXPR qua operator-(qua const& q); + + // -- Binary operators -- + + template + GLM_FUNC_DECL GLM_CONSTEXPR qua operator+(qua const& q, qua const& p); + + template + GLM_FUNC_DECL GLM_CONSTEXPR qua operator-(qua const& q, qua const& p); + + template + GLM_FUNC_DECL GLM_CONSTEXPR qua operator*(qua const& q, qua const& p); + + template + GLM_FUNC_DECL GLM_CONSTEXPR vec<3, T, Q> operator*(qua const& q, vec<3, T, Q> const& v); + + template + GLM_FUNC_DECL GLM_CONSTEXPR vec<3, T, Q> operator*(vec<3, T, Q> const& v, qua const& q); + + template + GLM_FUNC_DECL GLM_CONSTEXPR vec<4, T, Q> operator*(qua const& q, vec<4, T, Q> const& v); + + template + GLM_FUNC_DECL GLM_CONSTEXPR vec<4, T, Q> operator*(vec<4, T, Q> const& v, qua const& q); + + template + GLM_FUNC_DECL GLM_CONSTEXPR qua operator*(qua const& q, T const& s); + + template + GLM_FUNC_DECL GLM_CONSTEXPR qua operator*(T const& s, qua const& q); + + template + GLM_FUNC_DECL GLM_CONSTEXPR qua operator/(qua const& q, T const& s); + + // -- Boolean operators -- + + template + GLM_FUNC_DECL GLM_CONSTEXPR bool operator==(qua const& q1, qua const& q2); + + template + GLM_FUNC_DECL GLM_CONSTEXPR bool operator!=(qua const& q1, qua const& q2); +} //namespace glm + +#ifndef GLM_EXTERNAL_TEMPLATE +#include "type_quat.inl" +#endif//GLM_EXTERNAL_TEMPLATE diff --git a/MacroLibX/third_party/glm/detail/type_quat.inl b/MacroLibX/third_party/glm/detail/type_quat.inl new file mode 100644 index 0000000..67b9310 --- /dev/null +++ b/MacroLibX/third_party/glm/detail/type_quat.inl @@ -0,0 +1,408 @@ +#include "../trigonometric.hpp" +#include "../exponential.hpp" +#include "../ext/quaternion_geometric.hpp" +#include + +namespace glm{ +namespace detail +{ + template + struct genTypeTrait > + { + static const genTypeEnum GENTYPE = GENTYPE_QUAT; + }; + + template + struct compute_dot, T, Aligned> + { + GLM_FUNC_QUALIFIER GLM_CONSTEXPR static T call(qua const& a, qua const& b) + { + vec<4, T, Q> tmp(a.w * b.w, a.x * b.x, a.y * b.y, a.z * b.z); + return (tmp.x + tmp.y) + (tmp.z + tmp.w); + } + }; + + template + struct compute_quat_add + { + GLM_FUNC_QUALIFIER GLM_CONSTEXPR static qua call(qua const& q, qua const& p) + { + return qua(q.w + p.w, q.x + p.x, q.y + p.y, q.z + p.z); + } + }; + + template + struct compute_quat_sub + { + GLM_FUNC_QUALIFIER GLM_CONSTEXPR static qua call(qua const& q, qua const& p) + { + return qua(q.w - p.w, q.x - p.x, q.y - p.y, q.z - p.z); + } + }; + + template + struct compute_quat_mul_scalar + { + GLM_FUNC_QUALIFIER GLM_CONSTEXPR static qua call(qua const& q, T s) + { + return qua(q.w * s, q.x * s, q.y * s, q.z * s); + } + }; + + template + struct compute_quat_div_scalar + { + GLM_FUNC_QUALIFIER GLM_CONSTEXPR static qua call(qua const& q, T s) + { + return qua(q.w / s, q.x / s, q.y / s, q.z / s); + } + }; + + template + struct compute_quat_mul_vec4 + { + GLM_FUNC_QUALIFIER GLM_CONSTEXPR static vec<4, T, Q> call(qua const& q, vec<4, T, Q> const& v) + { + return vec<4, T, Q>(q * vec<3, T, Q>(v), v.w); + } + }; +}//namespace detail + + // -- Component accesses -- + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR T & qua::operator[](typename qua::length_type i) + { + assert(i >= 0 && i < this->length()); +# ifdef GLM_FORCE_QUAT_DATA_WXYZ + return (&w)[i]; +# else + return (&x)[i]; +# endif + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR T const& qua::operator[](typename qua::length_type i) const + { + assert(i >= 0 && i < this->length()); +# ifdef GLM_FORCE_QUAT_DATA_WXYZ + return (&w)[i]; +# else + return (&x)[i]; +# endif + } + + // -- Implicit basic constructors -- + +# if GLM_CONFIG_DEFAULTED_FUNCTIONS == GLM_DISABLE + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR qua::qua() +# if GLM_CONFIG_CTOR_INIT != GLM_CTOR_INIT_DISABLE +# ifdef GLM_FORCE_QUAT_DATA_WXYZ + : w(1), x(0), y(0), z(0) +# else + : x(0), y(0), z(0), w(1) +# endif +# endif + {} + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR qua::qua(qua const& q) +# ifdef GLM_FORCE_QUAT_DATA_WXYZ + : w(q.w), x(q.x), y(q.y), z(q.z) +# else + : x(q.x), y(q.y), z(q.z), w(q.w) +# endif + {} +# endif + + template + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR qua::qua(qua const& q) +# ifdef GLM_FORCE_QUAT_DATA_WXYZ + : w(q.w), x(q.x), y(q.y), z(q.z) +# else + : x(q.x), y(q.y), z(q.z), w(q.w) +# endif + {} + + // -- Explicit basic constructors -- + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR qua::qua(T s, vec<3, T, Q> const& v) +# ifdef GLM_FORCE_QUAT_DATA_WXYZ + : w(s), x(v.x), y(v.y), z(v.z) +# else + : x(v.x), y(v.y), z(v.z), w(s) +# endif + {} + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR qua::qua(T _w, T _x, T _y, T _z) +# ifdef GLM_FORCE_QUAT_DATA_WXYZ + : w(_w), x(_x), y(_y), z(_z) +# else + : x(_x), y(_y), z(_z), w(_w) +# endif + {} + + // -- Conversion constructors -- + + template + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR qua::qua(qua const& q) +# ifdef GLM_FORCE_QUAT_DATA_WXYZ + : w(static_cast(q.w)), x(static_cast(q.x)), y(static_cast(q.y)), z(static_cast(q.z)) +# else + : x(static_cast(q.x)), y(static_cast(q.y)), z(static_cast(q.z)), w(static_cast(q.w)) +# endif + {} + + //template + //GLM_FUNC_QUALIFIER qua::qua + //( + // valType const& pitch, + // valType const& yaw, + // valType const& roll + //) + //{ + // vec<3, valType> eulerAngle(pitch * valType(0.5), yaw * valType(0.5), roll * valType(0.5)); + // vec<3, valType> c = glm::cos(eulerAngle * valType(0.5)); + // vec<3, valType> s = glm::sin(eulerAngle * valType(0.5)); + // + // this->w = c.x * c.y * c.z + s.x * s.y * s.z; + // this->x = s.x * c.y * c.z - c.x * s.y * s.z; + // this->y = c.x * s.y * c.z + s.x * c.y * s.z; + // this->z = c.x * c.y * s.z - s.x * s.y * c.z; + //} + + template + GLM_FUNC_QUALIFIER qua::qua(vec<3, T, Q> const& u, vec<3, T, Q> const& v) + { + T norm_u_norm_v = sqrt(dot(u, u) * dot(v, v)); + T real_part = norm_u_norm_v + dot(u, v); + vec<3, T, Q> t; + + if(real_part < static_cast(1.e-6f) * norm_u_norm_v) + { + // If u and v are exactly opposite, rotate 180 degrees + // around an arbitrary orthogonal axis. Axis normalisation + // can happen later, when we normalise the quaternion. + real_part = static_cast(0); + t = abs(u.x) > abs(u.z) ? vec<3, T, Q>(-u.y, u.x, static_cast(0)) : vec<3, T, Q>(static_cast(0), -u.z, u.y); + } + else + { + // Otherwise, build quaternion the standard way. + t = cross(u, v); + } + + *this = normalize(qua(real_part, t.x, t.y, t.z)); + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR qua::qua(vec<3, T, Q> const& eulerAngle) + { + vec<3, T, Q> c = glm::cos(eulerAngle * T(0.5)); + vec<3, T, Q> s = glm::sin(eulerAngle * T(0.5)); + + this->w = c.x * c.y * c.z + s.x * s.y * s.z; + this->x = s.x * c.y * c.z - c.x * s.y * s.z; + this->y = c.x * s.y * c.z + s.x * c.y * s.z; + this->z = c.x * c.y * s.z - s.x * s.y * c.z; + } + + template + GLM_FUNC_QUALIFIER qua::qua(mat<3, 3, T, Q> const& m) + { + *this = quat_cast(m); + } + + template + GLM_FUNC_QUALIFIER qua::qua(mat<4, 4, T, Q> const& m) + { + *this = quat_cast(m); + } + +# if GLM_HAS_EXPLICIT_CONVERSION_OPERATORS + template + GLM_FUNC_QUALIFIER qua::operator mat<3, 3, T, Q>() const + { + return mat3_cast(*this); + } + + template + GLM_FUNC_QUALIFIER qua::operator mat<4, 4, T, Q>() const + { + return mat4_cast(*this); + } +# endif//GLM_HAS_EXPLICIT_CONVERSION_OPERATORS + + // -- Unary arithmetic operators -- + +# if GLM_CONFIG_DEFAULTED_FUNCTIONS == GLM_DISABLE + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR qua & qua::operator=(qua const& q) + { + this->w = q.w; + this->x = q.x; + this->y = q.y; + this->z = q.z; + return *this; + } +# endif + + template + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR qua & qua::operator=(qua const& q) + { + this->w = static_cast(q.w); + this->x = static_cast(q.x); + this->y = static_cast(q.y); + this->z = static_cast(q.z); + return *this; + } + + template + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR qua & qua::operator+=(qua const& q) + { + return (*this = detail::compute_quat_add::value>::call(*this, qua(q))); + } + + template + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR qua & qua::operator-=(qua const& q) + { + return (*this = detail::compute_quat_sub::value>::call(*this, qua(q))); + } + + template + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR qua & qua::operator*=(qua const& r) + { + qua const p(*this); + qua const q(r); + + this->w = p.w * q.w - p.x * q.x - p.y * q.y - p.z * q.z; + this->x = p.w * q.x + p.x * q.w + p.y * q.z - p.z * q.y; + this->y = p.w * q.y + p.y * q.w + p.z * q.x - p.x * q.z; + this->z = p.w * q.z + p.z * q.w + p.x * q.y - p.y * q.x; + return *this; + } + + template + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR qua & qua::operator*=(U s) + { + return (*this = detail::compute_quat_mul_scalar::value>::call(*this, static_cast(s))); + } + + template + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR qua & qua::operator/=(U s) + { + return (*this = detail::compute_quat_div_scalar::value>::call(*this, static_cast(s))); + } + + // -- Unary bit operators -- + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR qua operator+(qua const& q) + { + return q; + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR qua operator-(qua const& q) + { + return qua(-q.w, -q.x, -q.y, -q.z); + } + + // -- Binary operators -- + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR qua operator+(qua const& q, qua const& p) + { + return qua(q) += p; + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR qua operator-(qua const& q, qua const& p) + { + return qua(q) -= p; + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR qua operator*(qua const& q, qua const& p) + { + return qua(q) *= p; + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<3, T, Q> operator*(qua const& q, vec<3, T, Q> const& v) + { + vec<3, T, Q> const QuatVector(q.x, q.y, q.z); + vec<3, T, Q> const uv(glm::cross(QuatVector, v)); + vec<3, T, Q> const uuv(glm::cross(QuatVector, uv)); + + return v + ((uv * q.w) + uuv) * static_cast(2); + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<3, T, Q> operator*(vec<3, T, Q> const& v, qua const& q) + { + return glm::inverse(q) * v; + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<4, T, Q> operator*(qua const& q, vec<4, T, Q> const& v) + { + return detail::compute_quat_mul_vec4::value>::call(q, v); + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<4, T, Q> operator*(vec<4, T, Q> const& v, qua const& q) + { + return glm::inverse(q) * v; + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR qua operator*(qua const& q, T const& s) + { + return qua( + q.w * s, q.x * s, q.y * s, q.z * s); + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR qua operator*(T const& s, qua const& q) + { + return q * s; + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR qua operator/(qua const& q, T const& s) + { + return qua( + q.w / s, q.x / s, q.y / s, q.z / s); + } + + // -- Boolean operators -- + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR bool operator==(qua const& q1, qua const& q2) + { + return q1.x == q2.x && q1.y == q2.y && q1.z == q2.z && q1.w == q2.w; + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR bool operator!=(qua const& q1, qua const& q2) + { + return q1.x != q2.x || q1.y != q2.y || q1.z != q2.z || q1.w != q2.w; + } +}//namespace glm + +#if GLM_CONFIG_SIMD == GLM_ENABLE +# include "type_quat_simd.inl" +#endif + diff --git a/MacroLibX/third_party/glm/detail/type_quat_simd.inl b/MacroLibX/third_party/glm/detail/type_quat_simd.inl new file mode 100644 index 0000000..3333e59 --- /dev/null +++ b/MacroLibX/third_party/glm/detail/type_quat_simd.inl @@ -0,0 +1,188 @@ +/// @ref core + +#if GLM_ARCH & GLM_ARCH_SSE2_BIT + +namespace glm{ +namespace detail +{ +/* + template + struct compute_quat_mul + { + static qua call(qua const& q1, qua const& q2) + { + // SSE2 STATS: 11 shuffle, 8 mul, 8 add + // SSE4 STATS: 3 shuffle, 4 mul, 4 dpps + + __m128 const mul0 = _mm_mul_ps(q1.Data, _mm_shuffle_ps(q2.Data, q2.Data, _MM_SHUFFLE(0, 1, 2, 3))); + __m128 const mul1 = _mm_mul_ps(q1.Data, _mm_shuffle_ps(q2.Data, q2.Data, _MM_SHUFFLE(1, 0, 3, 2))); + __m128 const mul2 = _mm_mul_ps(q1.Data, _mm_shuffle_ps(q2.Data, q2.Data, _MM_SHUFFLE(2, 3, 0, 1))); + __m128 const mul3 = _mm_mul_ps(q1.Data, q2.Data); + +# if GLM_ARCH & GLM_ARCH_SSE41_BIT + __m128 const add0 = _mm_dp_ps(mul0, _mm_set_ps(1.0f, -1.0f, 1.0f, 1.0f), 0xff); + __m128 const add1 = _mm_dp_ps(mul1, _mm_set_ps(1.0f, 1.0f, 1.0f, -1.0f), 0xff); + __m128 const add2 = _mm_dp_ps(mul2, _mm_set_ps(1.0f, 1.0f, -1.0f, 1.0f), 0xff); + __m128 const add3 = _mm_dp_ps(mul3, _mm_set_ps(1.0f, -1.0f, -1.0f, -1.0f), 0xff); +# else + __m128 const mul4 = _mm_mul_ps(mul0, _mm_set_ps(1.0f, -1.0f, 1.0f, 1.0f)); + __m128 const add0 = _mm_add_ps(mul0, _mm_movehl_ps(mul4, mul4)); + __m128 const add4 = _mm_add_ss(add0, _mm_shuffle_ps(add0, add0, 1)); + + __m128 const mul5 = _mm_mul_ps(mul1, _mm_set_ps(1.0f, 1.0f, 1.0f, -1.0f)); + __m128 const add1 = _mm_add_ps(mul1, _mm_movehl_ps(mul5, mul5)); + __m128 const add5 = _mm_add_ss(add1, _mm_shuffle_ps(add1, add1, 1)); + + __m128 const mul6 = _mm_mul_ps(mul2, _mm_set_ps(1.0f, 1.0f, -1.0f, 1.0f)); + __m128 const add2 = _mm_add_ps(mul6, _mm_movehl_ps(mul6, mul6)); + __m128 const add6 = _mm_add_ss(add2, _mm_shuffle_ps(add2, add2, 1)); + + __m128 const mul7 = _mm_mul_ps(mul3, _mm_set_ps(1.0f, -1.0f, -1.0f, -1.0f)); + __m128 const add3 = _mm_add_ps(mul3, _mm_movehl_ps(mul7, mul7)); + __m128 const add7 = _mm_add_ss(add3, _mm_shuffle_ps(add3, add3, 1)); + #endif + + // This SIMD code is a politically correct way of doing this, but in every test I've tried it has been slower than + // the final code below. I'll keep this here for reference - maybe somebody else can do something better... + // + //__m128 xxyy = _mm_shuffle_ps(add4, add5, _MM_SHUFFLE(0, 0, 0, 0)); + //__m128 zzww = _mm_shuffle_ps(add6, add7, _MM_SHUFFLE(0, 0, 0, 0)); + // + //return _mm_shuffle_ps(xxyy, zzww, _MM_SHUFFLE(2, 0, 2, 0)); + + qua Result; + _mm_store_ss(&Result.x, add4); + _mm_store_ss(&Result.y, add5); + _mm_store_ss(&Result.z, add6); + _mm_store_ss(&Result.w, add7); + return Result; + } + }; +*/ + + template + struct compute_quat_add + { + static qua call(qua const& q, qua const& p) + { + qua Result; + Result.data = _mm_add_ps(q.data, p.data); + return Result; + } + }; + +# if GLM_ARCH & GLM_ARCH_AVX_BIT + template + struct compute_quat_add + { + static qua call(qua const& a, qua const& b) + { + qua Result; + Result.data = _mm256_add_pd(a.data, b.data); + return Result; + } + }; +# endif + + template + struct compute_quat_sub + { + static qua call(qua const& q, qua const& p) + { + vec<4, float, Q> Result; + Result.data = _mm_sub_ps(q.data, p.data); + return Result; + } + }; + +# if GLM_ARCH & GLM_ARCH_AVX_BIT + template + struct compute_quat_sub + { + static qua call(qua const& a, qua const& b) + { + qua Result; + Result.data = _mm256_sub_pd(a.data, b.data); + return Result; + } + }; +# endif + + template + struct compute_quat_mul_scalar + { + static qua call(qua const& q, float s) + { + vec<4, float, Q> Result; + Result.data = _mm_mul_ps(q.data, _mm_set_ps1(s)); + return Result; + } + }; + +# if GLM_ARCH & GLM_ARCH_AVX_BIT + template + struct compute_quat_mul_scalar + { + static qua call(qua const& q, double s) + { + qua Result; + Result.data = _mm256_mul_pd(q.data, _mm_set_ps1(s)); + return Result; + } + }; +# endif + + template + struct compute_quat_div_scalar + { + static qua call(qua const& q, float s) + { + vec<4, float, Q> Result; + Result.data = _mm_div_ps(q.data, _mm_set_ps1(s)); + return Result; + } + }; + +# if GLM_ARCH & GLM_ARCH_AVX_BIT + template + struct compute_quat_div_scalar + { + static qua call(qua const& q, double s) + { + qua Result; + Result.data = _mm256_div_pd(q.data, _mm_set_ps1(s)); + return Result; + } + }; +# endif + + template + struct compute_quat_mul_vec4 + { + static vec<4, float, Q> call(qua const& q, vec<4, float, Q> const& v) + { + __m128 const q_wwww = _mm_shuffle_ps(q.data, q.data, _MM_SHUFFLE(3, 3, 3, 3)); + __m128 const q_swp0 = _mm_shuffle_ps(q.data, q.data, _MM_SHUFFLE(3, 0, 2, 1)); + __m128 const q_swp1 = _mm_shuffle_ps(q.data, q.data, _MM_SHUFFLE(3, 1, 0, 2)); + __m128 const v_swp0 = _mm_shuffle_ps(v.data, v.data, _MM_SHUFFLE(3, 0, 2, 1)); + __m128 const v_swp1 = _mm_shuffle_ps(v.data, v.data, _MM_SHUFFLE(3, 1, 0, 2)); + + __m128 uv = _mm_sub_ps(_mm_mul_ps(q_swp0, v_swp1), _mm_mul_ps(q_swp1, v_swp0)); + __m128 uv_swp0 = _mm_shuffle_ps(uv, uv, _MM_SHUFFLE(3, 0, 2, 1)); + __m128 uv_swp1 = _mm_shuffle_ps(uv, uv, _MM_SHUFFLE(3, 1, 0, 2)); + __m128 uuv = _mm_sub_ps(_mm_mul_ps(q_swp0, uv_swp1), _mm_mul_ps(q_swp1, uv_swp0)); + + __m128 const two = _mm_set1_ps(2.0f); + uv = _mm_mul_ps(uv, _mm_mul_ps(q_wwww, two)); + uuv = _mm_mul_ps(uuv, two); + + vec<4, float, Q> Result; + Result.data = _mm_add_ps(v.Data, _mm_add_ps(uv, uuv)); + return Result; + } + }; +}//namespace detail +}//namespace glm + +#endif//GLM_ARCH & GLM_ARCH_SSE2_BIT + diff --git a/MacroLibX/third_party/glm/detail/type_vec1.hpp b/MacroLibX/third_party/glm/detail/type_vec1.hpp new file mode 100644 index 0000000..51163f1 --- /dev/null +++ b/MacroLibX/third_party/glm/detail/type_vec1.hpp @@ -0,0 +1,308 @@ +/// @ref core +/// @file glm/detail/type_vec1.hpp + +#pragma once + +#include "qualifier.hpp" +#if GLM_CONFIG_SWIZZLE == GLM_SWIZZLE_OPERATOR +# include "_swizzle.hpp" +#elif GLM_CONFIG_SWIZZLE == GLM_SWIZZLE_FUNCTION +# include "_swizzle_func.hpp" +#endif +#include + +namespace glm +{ + template + struct vec<1, T, Q> + { + // -- Implementation detail -- + + typedef T value_type; + typedef vec<1, T, Q> type; + typedef vec<1, bool, Q> bool_type; + + // -- Data -- + +# if GLM_SILENT_WARNINGS == GLM_ENABLE +# if GLM_COMPILER & GLM_COMPILER_GCC +# pragma GCC diagnostic push +# pragma GCC diagnostic ignored "-Wpedantic" +# elif GLM_COMPILER & GLM_COMPILER_CLANG +# pragma clang diagnostic push +# pragma clang diagnostic ignored "-Wgnu-anonymous-struct" +# pragma clang diagnostic ignored "-Wnested-anon-types" +# elif GLM_COMPILER & GLM_COMPILER_VC +# pragma warning(push) +# pragma warning(disable: 4201) // nonstandard extension used : nameless struct/union +# endif +# endif + +# if GLM_CONFIG_XYZW_ONLY + T x; +# elif GLM_CONFIG_ANONYMOUS_STRUCT == GLM_ENABLE + union + { + T x; + T r; + T s; + + typename detail::storage<1, T, detail::is_aligned::value>::type data; +/* +# if GLM_CONFIG_SWIZZLE == GLM_SWIZZLE_OPERATOR + _GLM_SWIZZLE1_2_MEMBERS(T, Q, x) + _GLM_SWIZZLE1_2_MEMBERS(T, Q, r) + _GLM_SWIZZLE1_2_MEMBERS(T, Q, s) + _GLM_SWIZZLE1_3_MEMBERS(T, Q, x) + _GLM_SWIZZLE1_3_MEMBERS(T, Q, r) + _GLM_SWIZZLE1_3_MEMBERS(T, Q, s) + _GLM_SWIZZLE1_4_MEMBERS(T, Q, x) + _GLM_SWIZZLE1_4_MEMBERS(T, Q, r) + _GLM_SWIZZLE1_4_MEMBERS(T, Q, s) +# endif +*/ + }; +# else + union {T x, r, s;}; +/* +# if GLM_CONFIG_SWIZZLE == GLM_SWIZZLE_FUNCTION + GLM_SWIZZLE_GEN_VEC_FROM_VEC1(T, Q) +# endif +*/ +# endif + +# if GLM_SILENT_WARNINGS == GLM_ENABLE +# if GLM_COMPILER & GLM_COMPILER_CLANG +# pragma clang diagnostic pop +# elif GLM_COMPILER & GLM_COMPILER_GCC +# pragma GCC diagnostic pop +# elif GLM_COMPILER & GLM_COMPILER_VC +# pragma warning(pop) +# endif +# endif + + // -- Component accesses -- + + /// Return the count of components of the vector + typedef length_t length_type; + GLM_FUNC_DECL static GLM_CONSTEXPR length_type length(){return 1;} + + GLM_FUNC_DECL GLM_CONSTEXPR T & operator[](length_type i); + GLM_FUNC_DECL GLM_CONSTEXPR T const& operator[](length_type i) const; + + // -- Implicit basic constructors -- + + GLM_FUNC_DECL GLM_CONSTEXPR vec() GLM_DEFAULT; + GLM_FUNC_DECL GLM_CONSTEXPR vec(vec const& v) GLM_DEFAULT; + template + GLM_FUNC_DECL GLM_CONSTEXPR vec(vec<1, T, P> const& v); + + // -- Explicit basic constructors -- + + GLM_FUNC_DECL GLM_CONSTEXPR explicit vec(T scalar); + + // -- Conversion vector constructors -- + + /// Explicit conversions (From section 5.4.1 Conversion and scalar constructors of GLSL 1.30.08 specification) + template + GLM_FUNC_DECL GLM_CONSTEXPR GLM_EXPLICIT vec(vec<2, U, P> const& v); + /// Explicit conversions (From section 5.4.1 Conversion and scalar constructors of GLSL 1.30.08 specification) + template + GLM_FUNC_DECL GLM_CONSTEXPR GLM_EXPLICIT vec(vec<3, U, P> const& v); + /// Explicit conversions (From section 5.4.1 Conversion and scalar constructors of GLSL 1.30.08 specification) + template + GLM_FUNC_DECL GLM_CONSTEXPR GLM_EXPLICIT vec(vec<4, U, P> const& v); + + /// Explicit conversions (From section 5.4.1 Conversion and scalar constructors of GLSL 1.30.08 specification) + template + GLM_FUNC_DECL GLM_CONSTEXPR GLM_EXPLICIT vec(vec<1, U, P> const& v); + + // -- Swizzle constructors -- +/* +# if GLM_CONFIG_SWIZZLE == GLM_SWIZZLE_OPERATOR + template + GLM_FUNC_DECL GLM_CONSTEXPR vec(detail::_swizzle<1, T, Q, E0, -1,-2,-3> const& that) + { + *this = that(); + } +# endif//GLM_CONFIG_SWIZZLE == GLM_SWIZZLE_OPERATOR +*/ + // -- Unary arithmetic operators -- + + GLM_FUNC_DECL GLM_CONSTEXPR vec<1, T, Q> & operator=(vec const& v) GLM_DEFAULT; + + template + GLM_FUNC_DECL GLM_CONSTEXPR vec<1, T, Q> & operator=(vec<1, U, Q> const& v); + template + GLM_FUNC_DECL GLM_CONSTEXPR vec<1, T, Q> & operator+=(U scalar); + template + GLM_FUNC_DECL GLM_CONSTEXPR vec<1, T, Q> & operator+=(vec<1, U, Q> const& v); + template + GLM_FUNC_DECL GLM_CONSTEXPR vec<1, T, Q> & operator-=(U scalar); + template + GLM_FUNC_DECL GLM_CONSTEXPR vec<1, T, Q> & operator-=(vec<1, U, Q> const& v); + template + GLM_FUNC_DECL GLM_CONSTEXPR vec<1, T, Q> & operator*=(U scalar); + template + GLM_FUNC_DECL GLM_CONSTEXPR vec<1, T, Q> & operator*=(vec<1, U, Q> const& v); + template + GLM_FUNC_DECL GLM_CONSTEXPR vec<1, T, Q> & operator/=(U scalar); + template + GLM_FUNC_DECL GLM_CONSTEXPR vec<1, T, Q> & operator/=(vec<1, U, Q> const& v); + + // -- Increment and decrement operators -- + + GLM_FUNC_DECL GLM_CONSTEXPR vec<1, T, Q> & operator++(); + GLM_FUNC_DECL GLM_CONSTEXPR vec<1, T, Q> & operator--(); + GLM_FUNC_DECL GLM_CONSTEXPR vec<1, T, Q> operator++(int); + GLM_FUNC_DECL GLM_CONSTEXPR vec<1, T, Q> operator--(int); + + // -- Unary bit operators -- + + template + GLM_FUNC_DECL GLM_CONSTEXPR vec<1, T, Q> & operator%=(U scalar); + template + GLM_FUNC_DECL GLM_CONSTEXPR vec<1, T, Q> & operator%=(vec<1, U, Q> const& v); + template + GLM_FUNC_DECL GLM_CONSTEXPR vec<1, T, Q> & operator&=(U scalar); + template + GLM_FUNC_DECL GLM_CONSTEXPR vec<1, T, Q> & operator&=(vec<1, U, Q> const& v); + template + GLM_FUNC_DECL GLM_CONSTEXPR vec<1, T, Q> & operator|=(U scalar); + template + GLM_FUNC_DECL GLM_CONSTEXPR vec<1, T, Q> & operator|=(vec<1, U, Q> const& v); + template + GLM_FUNC_DECL GLM_CONSTEXPR vec<1, T, Q> & operator^=(U scalar); + template + GLM_FUNC_DECL GLM_CONSTEXPR vec<1, T, Q> & operator^=(vec<1, U, Q> const& v); + template + GLM_FUNC_DECL GLM_CONSTEXPR vec<1, T, Q> & operator<<=(U scalar); + template + GLM_FUNC_DECL GLM_CONSTEXPR vec<1, T, Q> & operator<<=(vec<1, U, Q> const& v); + template + GLM_FUNC_DECL GLM_CONSTEXPR vec<1, T, Q> & operator>>=(U scalar); + template + GLM_FUNC_DECL GLM_CONSTEXPR vec<1, T, Q> & operator>>=(vec<1, U, Q> const& v); + }; + + // -- Unary operators -- + + template + GLM_FUNC_DECL GLM_CONSTEXPR vec<1, T, Q> operator+(vec<1, T, Q> const& v); + + template + GLM_FUNC_DECL GLM_CONSTEXPR vec<1, T, Q> operator-(vec<1, T, Q> const& v); + + // -- Binary operators -- + + template + GLM_FUNC_DECL GLM_CONSTEXPR vec<1, T, Q> operator+(vec<1, T, Q> const& v, T scalar); + + template + GLM_FUNC_DECL GLM_CONSTEXPR vec<1, T, Q> operator+(T scalar, vec<1, T, Q> const& v); + + template + GLM_FUNC_DECL GLM_CONSTEXPR vec<1, T, Q> operator+(vec<1, T, Q> const& v1, vec<1, T, Q> const& v2); + + template + GLM_FUNC_DECL GLM_CONSTEXPR vec<1, T, Q> operator-(vec<1, T, Q> const& v, T scalar); + + template + GLM_FUNC_DECL GLM_CONSTEXPR vec<1, T, Q> operator-(T scalar, vec<1, T, Q> const& v); + + template + GLM_FUNC_DECL GLM_CONSTEXPR vec<1, T, Q> operator-(vec<1, T, Q> const& v1, vec<1, T, Q> const& v2); + + template + GLM_FUNC_DECL GLM_CONSTEXPR vec<1, T, Q> operator*(vec<1, T, Q> const& v, T scalar); + + template + GLM_FUNC_DECL GLM_CONSTEXPR vec<1, T, Q> operator*(T scalar, vec<1, T, Q> const& v); + + template + GLM_FUNC_DECL GLM_CONSTEXPR vec<1, T, Q> operator*(vec<1, T, Q> const& v1, vec<1, T, Q> const& v2); + + template + GLM_FUNC_DECL GLM_CONSTEXPR vec<1, T, Q> operator/(vec<1, T, Q> const& v, T scalar); + + template + GLM_FUNC_DECL GLM_CONSTEXPR vec<1, T, Q> operator/(T scalar, vec<1, T, Q> const& v); + + template + GLM_FUNC_DECL GLM_CONSTEXPR vec<1, T, Q> operator/(vec<1, T, Q> const& v1, vec<1, T, Q> const& v2); + + template + GLM_FUNC_DECL GLM_CONSTEXPR vec<1, T, Q> operator%(vec<1, T, Q> const& v, T scalar); + + template + GLM_FUNC_DECL GLM_CONSTEXPR vec<1, T, Q> operator%(T scalar, vec<1, T, Q> const& v); + + template + GLM_FUNC_DECL GLM_CONSTEXPR vec<1, T, Q> operator%(vec<1, T, Q> const& v1, vec<1, T, Q> const& v2); + + template + GLM_FUNC_DECL GLM_CONSTEXPR vec<1, T, Q> operator&(vec<1, T, Q> const& v, T scalar); + + template + GLM_FUNC_DECL GLM_CONSTEXPR vec<1, T, Q> operator&(T scalar, vec<1, T, Q> const& v); + + template + GLM_FUNC_DECL GLM_CONSTEXPR vec<1, T, Q> operator&(vec<1, T, Q> const& v1, vec<1, T, Q> const& v2); + + template + GLM_FUNC_DECL GLM_CONSTEXPR vec<1, T, Q> operator|(vec<1, T, Q> const& v, T scalar); + + template + GLM_FUNC_DECL GLM_CONSTEXPR vec<1, T, Q> operator|(T scalar, vec<1, T, Q> const& v); + + template + GLM_FUNC_DECL GLM_CONSTEXPR vec<1, T, Q> operator|(vec<1, T, Q> const& v1, vec<1, T, Q> const& v2); + + template + GLM_FUNC_DECL GLM_CONSTEXPR vec<1, T, Q> operator^(vec<1, T, Q> const& v, T scalar); + + template + GLM_FUNC_DECL GLM_CONSTEXPR vec<1, T, Q> operator^(T scalar, vec<1, T, Q> const& v); + + template + GLM_FUNC_DECL GLM_CONSTEXPR vec<1, T, Q> operator^(vec<1, T, Q> const& v1, vec<1, T, Q> const& v2); + + template + GLM_FUNC_DECL GLM_CONSTEXPR vec<1, T, Q> operator<<(vec<1, T, Q> const& v, T scalar); + + template + GLM_FUNC_DECL GLM_CONSTEXPR vec<1, T, Q> operator<<(T scalar, vec<1, T, Q> const& v); + + template + GLM_FUNC_DECL GLM_CONSTEXPR vec<1, T, Q> operator<<(vec<1, T, Q> const& v1, vec<1, T, Q> const& v2); + + template + GLM_FUNC_DECL GLM_CONSTEXPR vec<1, T, Q> operator>>(vec<1, T, Q> const& v, T scalar); + + template + GLM_FUNC_DECL GLM_CONSTEXPR vec<1, T, Q> operator>>(T scalar, vec<1, T, Q> const& v); + + template + GLM_FUNC_DECL GLM_CONSTEXPR vec<1, T, Q> operator>>(vec<1, T, Q> const& v1, vec<1, T, Q> const& v2); + + template + GLM_FUNC_DECL GLM_CONSTEXPR vec<1, T, Q> operator~(vec<1, T, Q> const& v); + + // -- Boolean operators -- + + template + GLM_FUNC_DECL GLM_CONSTEXPR bool operator==(vec<1, T, Q> const& v1, vec<1, T, Q> const& v2); + + template + GLM_FUNC_DECL GLM_CONSTEXPR bool operator!=(vec<1, T, Q> const& v1, vec<1, T, Q> const& v2); + + template + GLM_FUNC_DECL GLM_CONSTEXPR vec<1, bool, Q> operator&&(vec<1, bool, Q> const& v1, vec<1, bool, Q> const& v2); + + template + GLM_FUNC_DECL GLM_CONSTEXPR vec<1, bool, Q> operator||(vec<1, bool, Q> const& v1, vec<1, bool, Q> const& v2); +}//namespace glm + +#ifndef GLM_EXTERNAL_TEMPLATE +#include "type_vec1.inl" +#endif//GLM_EXTERNAL_TEMPLATE diff --git a/MacroLibX/third_party/glm/detail/type_vec1.inl b/MacroLibX/third_party/glm/detail/type_vec1.inl new file mode 100644 index 0000000..d0f49fd --- /dev/null +++ b/MacroLibX/third_party/glm/detail/type_vec1.inl @@ -0,0 +1,551 @@ +/// @ref core + +#include "./compute_vector_relational.hpp" + +namespace glm +{ + // -- Implicit basic constructors -- + +# if GLM_CONFIG_DEFAULTED_FUNCTIONS == GLM_DISABLE + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<1, T, Q>::vec() +# if GLM_CONFIG_CTOR_INIT != GLM_CTOR_INIT_DISABLE + : x(0) +# endif + {} + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<1, T, Q>::vec(vec<1, T, Q> const& v) + : x(v.x) + {} +# endif + + template + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<1, T, Q>::vec(vec<1, T, P> const& v) + : x(v.x) + {} + + // -- Explicit basic constructors -- + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<1, T, Q>::vec(T scalar) + : x(scalar) + {} + + // -- Conversion vector constructors -- + + template + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<1, T, Q>::vec(vec<1, U, P> const& v) + : x(static_cast(v.x)) + {} + + template + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<1, T, Q>::vec(vec<2, U, P> const& v) + : x(static_cast(v.x)) + {} + + template + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<1, T, Q>::vec(vec<3, U, P> const& v) + : x(static_cast(v.x)) + {} + + template + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<1, T, Q>::vec(vec<4, U, P> const& v) + : x(static_cast(v.x)) + {} + + // -- Component accesses -- + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR T & vec<1, T, Q>::operator[](typename vec<1, T, Q>::length_type) + { + return x; + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR T const& vec<1, T, Q>::operator[](typename vec<1, T, Q>::length_type) const + { + return x; + } + + // -- Unary arithmetic operators -- + +# if GLM_CONFIG_DEFAULTED_FUNCTIONS == GLM_DISABLE + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<1, T, Q> & vec<1, T, Q>::operator=(vec<1, T, Q> const& v) + { + this->x = v.x; + return *this; + } +# endif + + template + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<1, T, Q> & vec<1, T, Q>::operator=(vec<1, U, Q> const& v) + { + this->x = static_cast(v.x); + return *this; + } + + template + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<1, T, Q> & vec<1, T, Q>::operator+=(U scalar) + { + this->x += static_cast(scalar); + return *this; + } + + template + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<1, T, Q> & vec<1, T, Q>::operator+=(vec<1, U, Q> const& v) + { + this->x += static_cast(v.x); + return *this; + } + + template + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<1, T, Q> & vec<1, T, Q>::operator-=(U scalar) + { + this->x -= static_cast(scalar); + return *this; + } + + template + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<1, T, Q> & vec<1, T, Q>::operator-=(vec<1, U, Q> const& v) + { + this->x -= static_cast(v.x); + return *this; + } + + template + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<1, T, Q> & vec<1, T, Q>::operator*=(U scalar) + { + this->x *= static_cast(scalar); + return *this; + } + + template + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<1, T, Q> & vec<1, T, Q>::operator*=(vec<1, U, Q> const& v) + { + this->x *= static_cast(v.x); + return *this; + } + + template + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<1, T, Q> & vec<1, T, Q>::operator/=(U scalar) + { + this->x /= static_cast(scalar); + return *this; + } + + template + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<1, T, Q> & vec<1, T, Q>::operator/=(vec<1, U, Q> const& v) + { + this->x /= static_cast(v.x); + return *this; + } + + // -- Increment and decrement operators -- + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<1, T, Q> & vec<1, T, Q>::operator++() + { + ++this->x; + return *this; + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<1, T, Q> & vec<1, T, Q>::operator--() + { + --this->x; + return *this; + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<1, T, Q> vec<1, T, Q>::operator++(int) + { + vec<1, T, Q> Result(*this); + ++*this; + return Result; + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<1, T, Q> vec<1, T, Q>::operator--(int) + { + vec<1, T, Q> Result(*this); + --*this; + return Result; + } + + // -- Unary bit operators -- + + template + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<1, T, Q> & vec<1, T, Q>::operator%=(U scalar) + { + this->x %= static_cast(scalar); + return *this; + } + + template + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<1, T, Q> & vec<1, T, Q>::operator%=(vec<1, U, Q> const& v) + { + this->x %= static_cast(v.x); + return *this; + } + + template + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<1, T, Q> & vec<1, T, Q>::operator&=(U scalar) + { + this->x &= static_cast(scalar); + return *this; + } + + template + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<1, T, Q> & vec<1, T, Q>::operator&=(vec<1, U, Q> const& v) + { + this->x &= static_cast(v.x); + return *this; + } + + template + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<1, T, Q> & vec<1, T, Q>::operator|=(U scalar) + { + this->x |= static_cast(scalar); + return *this; + } + + template + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<1, T, Q> & vec<1, T, Q>::operator|=(vec<1, U, Q> const& v) + { + this->x |= U(v.x); + return *this; + } + + template + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<1, T, Q> & vec<1, T, Q>::operator^=(U scalar) + { + this->x ^= static_cast(scalar); + return *this; + } + + template + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<1, T, Q> & vec<1, T, Q>::operator^=(vec<1, U, Q> const& v) + { + this->x ^= static_cast(v.x); + return *this; + } + + template + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<1, T, Q> & vec<1, T, Q>::operator<<=(U scalar) + { + this->x <<= static_cast(scalar); + return *this; + } + + template + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<1, T, Q> & vec<1, T, Q>::operator<<=(vec<1, U, Q> const& v) + { + this->x <<= static_cast(v.x); + return *this; + } + + template + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<1, T, Q> & vec<1, T, Q>::operator>>=(U scalar) + { + this->x >>= static_cast(scalar); + return *this; + } + + template + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<1, T, Q> & vec<1, T, Q>::operator>>=(vec<1, U, Q> const& v) + { + this->x >>= static_cast(v.x); + return *this; + } + + // -- Unary constant operators -- + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<1, T, Q> operator+(vec<1, T, Q> const& v) + { + return v; + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<1, T, Q> operator-(vec<1, T, Q> const& v) + { + return vec<1, T, Q>( + -v.x); + } + + // -- Binary arithmetic operators -- + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<1, T, Q> operator+(vec<1, T, Q> const& v, T scalar) + { + return vec<1, T, Q>( + v.x + scalar); + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<1, T, Q> operator+(T scalar, vec<1, T, Q> const& v) + { + return vec<1, T, Q>( + scalar + v.x); + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<1, T, Q> operator+(vec<1, T, Q> const& v1, vec<1, T, Q> const& v2) + { + return vec<1, T, Q>( + v1.x + v2.x); + } + + //operator- + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<1, T, Q> operator-(vec<1, T, Q> const& v, T scalar) + { + return vec<1, T, Q>( + v.x - scalar); + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<1, T, Q> operator-(T scalar, vec<1, T, Q> const& v) + { + return vec<1, T, Q>( + scalar - v.x); + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<1, T, Q> operator-(vec<1, T, Q> const& v1, vec<1, T, Q> const& v2) + { + return vec<1, T, Q>( + v1.x - v2.x); + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<1, T, Q> operator*(vec<1, T, Q> const& v, T scalar) + { + return vec<1, T, Q>( + v.x * scalar); + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<1, T, Q> operator*(T scalar, vec<1, T, Q> const& v) + { + return vec<1, T, Q>( + scalar * v.x); + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<1, T, Q> operator*(vec<1, T, Q> const& v1, vec<1, T, Q> const& v2) + { + return vec<1, T, Q>( + v1.x * v2.x); + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<1, T, Q> operator/(vec<1, T, Q> const& v, T scalar) + { + return vec<1, T, Q>( + v.x / scalar); + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<1, T, Q> operator/(T scalar, vec<1, T, Q> const& v) + { + return vec<1, T, Q>( + scalar / v.x); + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<1, T, Q> operator/(vec<1, T, Q> const& v1, vec<1, T, Q> const& v2) + { + return vec<1, T, Q>( + v1.x / v2.x); + } + + // -- Binary bit operators -- + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<1, T, Q> operator%(vec<1, T, Q> const& v, T scalar) + { + return vec<1, T, Q>( + v.x % scalar); + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<1, T, Q> operator%(T scalar, vec<1, T, Q> const& v) + { + return vec<1, T, Q>( + scalar % v.x); + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<1, T, Q> operator%(vec<1, T, Q> const& v1, vec<1, T, Q> const& v2) + { + return vec<1, T, Q>( + v1.x % v2.x); + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<1, T, Q> operator&(vec<1, T, Q> const& v, T scalar) + { + return vec<1, T, Q>( + v.x & scalar); + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<1, T, Q> operator&(T scalar, vec<1, T, Q> const& v) + { + return vec<1, T, Q>( + scalar & v.x); + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<1, T, Q> operator&(vec<1, T, Q> const& v1, vec<1, T, Q> const& v2) + { + return vec<1, T, Q>( + v1.x & v2.x); + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<1, T, Q> operator|(vec<1, T, Q> const& v, T scalar) + { + return vec<1, T, Q>( + v.x | scalar); + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<1, T, Q> operator|(T scalar, vec<1, T, Q> const& v) + { + return vec<1, T, Q>( + scalar | v.x); + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<1, T, Q> operator|(vec<1, T, Q> const& v1, vec<1, T, Q> const& v2) + { + return vec<1, T, Q>( + v1.x | v2.x); + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<1, T, Q> operator^(vec<1, T, Q> const& v, T scalar) + { + return vec<1, T, Q>( + v.x ^ scalar); + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<1, T, Q> operator^(T scalar, vec<1, T, Q> const& v) + { + return vec<1, T, Q>( + scalar ^ v.x); + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<1, T, Q> operator^(vec<1, T, Q> const& v1, vec<1, T, Q> const& v2) + { + return vec<1, T, Q>( + v1.x ^ v2.x); + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<1, T, Q> operator<<(vec<1, T, Q> const& v, T scalar) + { + return vec<1, T, Q>( + static_cast(v.x << scalar)); + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<1, T, Q> operator<<(T scalar, vec<1, T, Q> const& v) + { + return vec<1, T, Q>( + scalar << v.x); + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<1, T, Q> operator<<(vec<1, T, Q> const& v1, vec<1, T, Q> const& v2) + { + return vec<1, T, Q>( + v1.x << v2.x); + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<1, T, Q> operator>>(vec<1, T, Q> const& v, T scalar) + { + return vec<1, T, Q>( + v.x >> scalar); + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<1, T, Q> operator>>(T scalar, vec<1, T, Q> const& v) + { + return vec<1, T, Q>( + scalar >> v.x); + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<1, T, Q> operator>>(vec<1, T, Q> const& v1, vec<1, T, Q> const& v2) + { + return vec<1, T, Q>( + v1.x >> v2.x); + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<1, T, Q> operator~(vec<1, T, Q> const& v) + { + return vec<1, T, Q>( + ~v.x); + } + + // -- Boolean operators -- + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR bool operator==(vec<1, T, Q> const& v1, vec<1, T, Q> const& v2) + { + return detail::compute_equal::is_iec559>::call(v1.x, v2.x); + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR bool operator!=(vec<1, T, Q> const& v1, vec<1, T, Q> const& v2) + { + return !(v1 == v2); + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<1, bool, Q> operator&&(vec<1, bool, Q> const& v1, vec<1, bool, Q> const& v2) + { + return vec<1, bool, Q>(v1.x && v2.x); + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<1, bool, Q> operator||(vec<1, bool, Q> const& v1, vec<1, bool, Q> const& v2) + { + return vec<1, bool, Q>(v1.x || v2.x); + } +}//namespace glm diff --git a/MacroLibX/third_party/glm/detail/type_vec2.hpp b/MacroLibX/third_party/glm/detail/type_vec2.hpp new file mode 100644 index 0000000..52ef408 --- /dev/null +++ b/MacroLibX/third_party/glm/detail/type_vec2.hpp @@ -0,0 +1,399 @@ +/// @ref core +/// @file glm/detail/type_vec2.hpp + +#pragma once + +#include "qualifier.hpp" +#if GLM_CONFIG_SWIZZLE == GLM_SWIZZLE_OPERATOR +# include "_swizzle.hpp" +#elif GLM_CONFIG_SWIZZLE == GLM_SWIZZLE_FUNCTION +# include "_swizzle_func.hpp" +#endif +#include + +namespace glm +{ + template + struct vec<2, T, Q> + { + // -- Implementation detail -- + + typedef T value_type; + typedef vec<2, T, Q> type; + typedef vec<2, bool, Q> bool_type; + + // -- Data -- + +# if GLM_SILENT_WARNINGS == GLM_ENABLE +# if GLM_COMPILER & GLM_COMPILER_GCC +# pragma GCC diagnostic push +# pragma GCC diagnostic ignored "-Wpedantic" +# elif GLM_COMPILER & GLM_COMPILER_CLANG +# pragma clang diagnostic push +# pragma clang diagnostic ignored "-Wgnu-anonymous-struct" +# pragma clang diagnostic ignored "-Wnested-anon-types" +# elif GLM_COMPILER & GLM_COMPILER_VC +# pragma warning(push) +# pragma warning(disable: 4201) // nonstandard extension used : nameless struct/union +# endif +# endif + +# if GLM_CONFIG_XYZW_ONLY + T x, y; +# elif GLM_CONFIG_ANONYMOUS_STRUCT == GLM_ENABLE + union + { + struct{ T x, y; }; + struct{ T r, g; }; + struct{ T s, t; }; + + typename detail::storage<2, T, detail::is_aligned::value>::type data; + +# if GLM_CONFIG_SWIZZLE == GLM_SWIZZLE_OPERATOR + GLM_SWIZZLE2_2_MEMBERS(T, Q, x, y) + GLM_SWIZZLE2_2_MEMBERS(T, Q, r, g) + GLM_SWIZZLE2_2_MEMBERS(T, Q, s, t) + GLM_SWIZZLE2_3_MEMBERS(T, Q, x, y) + GLM_SWIZZLE2_3_MEMBERS(T, Q, r, g) + GLM_SWIZZLE2_3_MEMBERS(T, Q, s, t) + GLM_SWIZZLE2_4_MEMBERS(T, Q, x, y) + GLM_SWIZZLE2_4_MEMBERS(T, Q, r, g) + GLM_SWIZZLE2_4_MEMBERS(T, Q, s, t) +# endif + }; +# else + union {T x, r, s;}; + union {T y, g, t;}; + +# if GLM_CONFIG_SWIZZLE == GLM_SWIZZLE_FUNCTION + GLM_SWIZZLE_GEN_VEC_FROM_VEC2(T, Q) +# endif//GLM_CONFIG_SWIZZLE +# endif + +# if GLM_SILENT_WARNINGS == GLM_ENABLE +# if GLM_COMPILER & GLM_COMPILER_CLANG +# pragma clang diagnostic pop +# elif GLM_COMPILER & GLM_COMPILER_GCC +# pragma GCC diagnostic pop +# elif GLM_COMPILER & GLM_COMPILER_VC +# pragma warning(pop) +# endif +# endif + + // -- Component accesses -- + + /// Return the count of components of the vector + typedef length_t length_type; + GLM_FUNC_DECL static GLM_CONSTEXPR length_type length(){return 2;} + + GLM_FUNC_DECL GLM_CONSTEXPR T& operator[](length_type i); + GLM_FUNC_DECL GLM_CONSTEXPR T const& operator[](length_type i) const; + + // -- Implicit basic constructors -- + + GLM_FUNC_DECL GLM_CONSTEXPR vec() GLM_DEFAULT; + GLM_FUNC_DECL GLM_CONSTEXPR vec(vec const& v) GLM_DEFAULT; + template + GLM_FUNC_DECL GLM_CONSTEXPR vec(vec<2, T, P> const& v); + + // -- Explicit basic constructors -- + + GLM_FUNC_DECL GLM_CONSTEXPR explicit vec(T scalar); + GLM_FUNC_DECL GLM_CONSTEXPR vec(T x, T y); + + // -- Conversion constructors -- + + template + GLM_FUNC_DECL GLM_CONSTEXPR explicit vec(vec<1, U, P> const& v); + + /// Explicit conversions (From section 5.4.1 Conversion and scalar constructors of GLSL 1.30.08 specification) + template + GLM_FUNC_DECL GLM_CONSTEXPR vec(A x, B y); + template + GLM_FUNC_DECL GLM_CONSTEXPR vec(vec<1, A, Q> const& x, B y); + template + GLM_FUNC_DECL GLM_CONSTEXPR vec(A x, vec<1, B, Q> const& y); + template + GLM_FUNC_DECL GLM_CONSTEXPR vec(vec<1, A, Q> const& x, vec<1, B, Q> const& y); + + // -- Conversion vector constructors -- + + /// Explicit conversions (From section 5.4.1 Conversion and scalar constructors of GLSL 1.30.08 specification) + template + GLM_FUNC_DECL GLM_CONSTEXPR GLM_EXPLICIT vec(vec<3, U, P> const& v); + /// Explicit conversions (From section 5.4.1 Conversion and scalar constructors of GLSL 1.30.08 specification) + template + GLM_FUNC_DECL GLM_CONSTEXPR GLM_EXPLICIT vec(vec<4, U, P> const& v); + + /// Explicit conversions (From section 5.4.1 Conversion and scalar constructors of GLSL 1.30.08 specification) + template + GLM_FUNC_DECL GLM_CONSTEXPR GLM_EXPLICIT vec(vec<2, U, P> const& v); + + // -- Swizzle constructors -- +# if GLM_CONFIG_SWIZZLE == GLM_SWIZZLE_OPERATOR + template + GLM_FUNC_DECL GLM_CONSTEXPR vec(detail::_swizzle<2, T, Q, E0, E1,-1,-2> const& that) + { + *this = that(); + } +# endif//GLM_CONFIG_SWIZZLE == GLM_SWIZZLE_OPERATOR + + // -- Unary arithmetic operators -- + + GLM_FUNC_DECL GLM_CONSTEXPR vec<2, T, Q> & operator=(vec const& v) GLM_DEFAULT; + + template + GLM_FUNC_DECL GLM_CONSTEXPR vec<2, T, Q> & operator=(vec<2, U, Q> const& v); + template + GLM_FUNC_DECL GLM_CONSTEXPR vec<2, T, Q> & operator+=(U scalar); + template + GLM_FUNC_DECL GLM_CONSTEXPR vec<2, T, Q> & operator+=(vec<1, U, Q> const& v); + template + GLM_FUNC_DECL GLM_CONSTEXPR vec<2, T, Q> & operator+=(vec<2, U, Q> const& v); + template + GLM_FUNC_DECL GLM_CONSTEXPR vec<2, T, Q> & operator-=(U scalar); + template + GLM_FUNC_DECL GLM_CONSTEXPR vec<2, T, Q> & operator-=(vec<1, U, Q> const& v); + template + GLM_FUNC_DECL GLM_CONSTEXPR vec<2, T, Q> & operator-=(vec<2, U, Q> const& v); + template + GLM_FUNC_DECL GLM_CONSTEXPR vec<2, T, Q> & operator*=(U scalar); + template + GLM_FUNC_DECL GLM_CONSTEXPR vec<2, T, Q> & operator*=(vec<1, U, Q> const& v); + template + GLM_FUNC_DECL GLM_CONSTEXPR vec<2, T, Q> & operator*=(vec<2, U, Q> const& v); + template + GLM_FUNC_DECL GLM_CONSTEXPR vec<2, T, Q> & operator/=(U scalar); + template + GLM_FUNC_DECL GLM_CONSTEXPR vec<2, T, Q> & operator/=(vec<1, U, Q> const& v); + template + GLM_FUNC_DECL GLM_CONSTEXPR vec<2, T, Q> & operator/=(vec<2, U, Q> const& v); + + // -- Increment and decrement operators -- + + GLM_FUNC_DECL GLM_CONSTEXPR vec<2, T, Q> & operator++(); + GLM_FUNC_DECL GLM_CONSTEXPR vec<2, T, Q> & operator--(); + GLM_FUNC_DECL GLM_CONSTEXPR vec<2, T, Q> operator++(int); + GLM_FUNC_DECL GLM_CONSTEXPR vec<2, T, Q> operator--(int); + + // -- Unary bit operators -- + + template + GLM_FUNC_DECL GLM_CONSTEXPR vec<2, T, Q> & operator%=(U scalar); + template + GLM_FUNC_DECL GLM_CONSTEXPR vec<2, T, Q> & operator%=(vec<1, U, Q> const& v); + template + GLM_FUNC_DECL GLM_CONSTEXPR vec<2, T, Q> & operator%=(vec<2, U, Q> const& v); + template + GLM_FUNC_DECL GLM_CONSTEXPR vec<2, T, Q> & operator&=(U scalar); + template + GLM_FUNC_DECL GLM_CONSTEXPR vec<2, T, Q> & operator&=(vec<1, U, Q> const& v); + template + GLM_FUNC_DECL GLM_CONSTEXPR vec<2, T, Q> & operator&=(vec<2, U, Q> const& v); + template + GLM_FUNC_DECL GLM_CONSTEXPR vec<2, T, Q> & operator|=(U scalar); + template + GLM_FUNC_DECL GLM_CONSTEXPR vec<2, T, Q> & operator|=(vec<1, U, Q> const& v); + template + GLM_FUNC_DECL GLM_CONSTEXPR vec<2, T, Q> & operator|=(vec<2, U, Q> const& v); + template + GLM_FUNC_DECL GLM_CONSTEXPR vec<2, T, Q> & operator^=(U scalar); + template + GLM_FUNC_DECL GLM_CONSTEXPR vec<2, T, Q> & operator^=(vec<1, U, Q> const& v); + template + GLM_FUNC_DECL GLM_CONSTEXPR vec<2, T, Q> & operator^=(vec<2, U, Q> const& v); + template + GLM_FUNC_DECL GLM_CONSTEXPR vec<2, T, Q> & operator<<=(U scalar); + template + GLM_FUNC_DECL GLM_CONSTEXPR vec<2, T, Q> & operator<<=(vec<1, U, Q> const& v); + template + GLM_FUNC_DECL GLM_CONSTEXPR vec<2, T, Q> & operator<<=(vec<2, U, Q> const& v); + template + GLM_FUNC_DECL GLM_CONSTEXPR vec<2, T, Q> & operator>>=(U scalar); + template + GLM_FUNC_DECL GLM_CONSTEXPR vec<2, T, Q> & operator>>=(vec<1, U, Q> const& v); + template + GLM_FUNC_DECL GLM_CONSTEXPR vec<2, T, Q> & operator>>=(vec<2, U, Q> const& v); + }; + + // -- Unary operators -- + + template + GLM_FUNC_DECL GLM_CONSTEXPR vec<2, T, Q> operator+(vec<2, T, Q> const& v); + + template + GLM_FUNC_DECL GLM_CONSTEXPR vec<2, T, Q> operator-(vec<2, T, Q> const& v); + + // -- Binary operators -- + + template + GLM_FUNC_DECL GLM_CONSTEXPR vec<2, T, Q> operator+(vec<2, T, Q> const& v, T scalar); + + template + GLM_FUNC_DECL GLM_CONSTEXPR vec<2, T, Q> operator+(vec<2, T, Q> const& v1, vec<1, T, Q> const& v2); + + template + GLM_FUNC_DECL GLM_CONSTEXPR vec<2, T, Q> operator+(T scalar, vec<2, T, Q> const& v); + + template + GLM_FUNC_DECL GLM_CONSTEXPR vec<2, T, Q> operator+(vec<1, T, Q> const& v1, vec<2, T, Q> const& v2); + + template + GLM_FUNC_DECL GLM_CONSTEXPR vec<2, T, Q> operator+(vec<2, T, Q> const& v1, vec<2, T, Q> const& v2); + + template + GLM_FUNC_DECL GLM_CONSTEXPR vec<2, T, Q> operator-(vec<2, T, Q> const& v, T scalar); + + template + GLM_FUNC_DECL GLM_CONSTEXPR vec<2, T, Q> operator-(vec<2, T, Q> const& v1, vec<1, T, Q> const& v2); + + template + GLM_FUNC_DECL GLM_CONSTEXPR vec<2, T, Q> operator-(T scalar, vec<2, T, Q> const& v); + + template + GLM_FUNC_DECL GLM_CONSTEXPR vec<2, T, Q> operator-(vec<1, T, Q> const& v1, vec<2, T, Q> const& v2); + + template + GLM_FUNC_DECL GLM_CONSTEXPR vec<2, T, Q> operator-(vec<2, T, Q> const& v1, vec<2, T, Q> const& v2); + + template + GLM_FUNC_DECL GLM_CONSTEXPR vec<2, T, Q> operator*(vec<2, T, Q> const& v, T scalar); + + template + GLM_FUNC_DECL GLM_CONSTEXPR vec<2, T, Q> operator*(vec<2, T, Q> const& v1, vec<1, T, Q> const& v2); + + template + GLM_FUNC_DECL GLM_CONSTEXPR vec<2, T, Q> operator*(T scalar, vec<2, T, Q> const& v); + + template + GLM_FUNC_DECL GLM_CONSTEXPR vec<2, T, Q> operator*(vec<1, T, Q> const& v1, vec<2, T, Q> const& v2); + + template + GLM_FUNC_DECL GLM_CONSTEXPR vec<2, T, Q> operator*(vec<2, T, Q> const& v1, vec<2, T, Q> const& v2); + + template + GLM_FUNC_DECL GLM_CONSTEXPR vec<2, T, Q> operator/(vec<2, T, Q> const& v, T scalar); + + template + GLM_FUNC_DECL GLM_CONSTEXPR vec<2, T, Q> operator/(vec<2, T, Q> const& v1, vec<1, T, Q> const& v2); + + template + GLM_FUNC_DECL GLM_CONSTEXPR vec<2, T, Q> operator/(T scalar, vec<2, T, Q> const& v); + + template + GLM_FUNC_DECL GLM_CONSTEXPR vec<2, T, Q> operator/(vec<1, T, Q> const& v1, vec<2, T, Q> const& v2); + + template + GLM_FUNC_DECL GLM_CONSTEXPR vec<2, T, Q> operator/(vec<2, T, Q> const& v1, vec<2, T, Q> const& v2); + + template + GLM_FUNC_DECL GLM_CONSTEXPR vec<2, T, Q> operator%(vec<2, T, Q> const& v, T scalar); + + template + GLM_FUNC_DECL GLM_CONSTEXPR vec<2, T, Q> operator%(vec<2, T, Q> const& v1, vec<1, T, Q> const& v2); + + template + GLM_FUNC_DECL GLM_CONSTEXPR vec<2, T, Q> operator%(T scalar, vec<2, T, Q> const& v); + + template + GLM_FUNC_DECL GLM_CONSTEXPR vec<2, T, Q> operator%(vec<1, T, Q> const& v1, vec<2, T, Q> const& v2); + + template + GLM_FUNC_DECL GLM_CONSTEXPR vec<2, T, Q> operator%(vec<2, T, Q> const& v1, vec<2, T, Q> const& v2); + + template + GLM_FUNC_DECL GLM_CONSTEXPR vec<2, T, Q> operator&(vec<2, T, Q> const& v, T scalar); + + template + GLM_FUNC_DECL GLM_CONSTEXPR vec<2, T, Q> operator&(vec<2, T, Q> const& v1, vec<1, T, Q> const& v2); + + template + GLM_FUNC_DECL GLM_CONSTEXPR vec<2, T, Q> operator&(T scalar, vec<2, T, Q> const& v); + + template + GLM_FUNC_DECL GLM_CONSTEXPR vec<2, T, Q> operator&(vec<1, T, Q> const& v1, vec<2, T, Q> const& v2); + + template + GLM_FUNC_DECL GLM_CONSTEXPR vec<2, T, Q> operator&(vec<2, T, Q> const& v1, vec<2, T, Q> const& v2); + + template + GLM_FUNC_DECL GLM_CONSTEXPR vec<2, T, Q> operator|(vec<2, T, Q> const& v, T scalar); + + template + GLM_FUNC_DECL GLM_CONSTEXPR vec<2, T, Q> operator|(vec<2, T, Q> const& v1, vec<1, T, Q> const& v2); + + template + GLM_FUNC_DECL GLM_CONSTEXPR vec<2, T, Q> operator|(T scalar, vec<2, T, Q> const& v); + + template + GLM_FUNC_DECL GLM_CONSTEXPR vec<2, T, Q> operator|(vec<1, T, Q> const& v1, vec<2, T, Q> const& v2); + + template + GLM_FUNC_DECL GLM_CONSTEXPR vec<2, T, Q> operator|(vec<2, T, Q> const& v1, vec<2, T, Q> const& v2); + + template + GLM_FUNC_DECL GLM_CONSTEXPR vec<2, T, Q> operator^(vec<2, T, Q> const& v, T scalar); + + template + GLM_FUNC_DECL GLM_CONSTEXPR vec<2, T, Q> operator^(vec<2, T, Q> const& v1, vec<1, T, Q> const& v2); + + template + GLM_FUNC_DECL GLM_CONSTEXPR vec<2, T, Q> operator^(T scalar, vec<2, T, Q> const& v); + + template + GLM_FUNC_DECL GLM_CONSTEXPR vec<2, T, Q> operator^(vec<1, T, Q> const& v1, vec<2, T, Q> const& v2); + + template + GLM_FUNC_DECL GLM_CONSTEXPR vec<2, T, Q> operator^(vec<2, T, Q> const& v1, vec<2, T, Q> const& v2); + + template + GLM_FUNC_DECL GLM_CONSTEXPR vec<2, T, Q> operator<<(vec<2, T, Q> const& v, T scalar); + + template + GLM_FUNC_DECL GLM_CONSTEXPR vec<2, T, Q> operator<<(vec<2, T, Q> const& v1, vec<1, T, Q> const& v2); + + template + GLM_FUNC_DECL GLM_CONSTEXPR vec<2, T, Q> operator<<(T scalar, vec<2, T, Q> const& v); + + template + GLM_FUNC_DECL GLM_CONSTEXPR vec<2, T, Q> operator<<(vec<1, T, Q> const& v1, vec<2, T, Q> const& v2); + + template + GLM_FUNC_DECL GLM_CONSTEXPR vec<2, T, Q> operator<<(vec<2, T, Q> const& v1, vec<2, T, Q> const& v2); + + template + GLM_FUNC_DECL GLM_CONSTEXPR vec<2, T, Q> operator>>(vec<2, T, Q> const& v, T scalar); + + template + GLM_FUNC_DECL GLM_CONSTEXPR vec<2, T, Q> operator>>(vec<2, T, Q> const& v1, vec<1, T, Q> const& v2); + + template + GLM_FUNC_DECL GLM_CONSTEXPR vec<2, T, Q> operator>>(T scalar, vec<2, T, Q> const& v); + + template + GLM_FUNC_DECL GLM_CONSTEXPR vec<2, T, Q> operator>>(vec<1, T, Q> const& v1, vec<2, T, Q> const& v2); + + template + GLM_FUNC_DECL GLM_CONSTEXPR vec<2, T, Q> operator>>(vec<2, T, Q> const& v1, vec<2, T, Q> const& v2); + + template + GLM_FUNC_DECL GLM_CONSTEXPR vec<2, T, Q> operator~(vec<2, T, Q> const& v); + + // -- Boolean operators -- + + template + GLM_FUNC_DECL GLM_CONSTEXPR bool operator==(vec<2, T, Q> const& v1, vec<2, T, Q> const& v2); + + template + GLM_FUNC_DECL GLM_CONSTEXPR bool operator!=(vec<2, T, Q> const& v1, vec<2, T, Q> const& v2); + + template + GLM_FUNC_DECL GLM_CONSTEXPR vec<2, bool, Q> operator&&(vec<2, bool, Q> const& v1, vec<2, bool, Q> const& v2); + + template + GLM_FUNC_DECL GLM_CONSTEXPR vec<2, bool, Q> operator||(vec<2, bool, Q> const& v1, vec<2, bool, Q> const& v2); +}//namespace glm + +#ifndef GLM_EXTERNAL_TEMPLATE +#include "type_vec2.inl" +#endif//GLM_EXTERNAL_TEMPLATE diff --git a/MacroLibX/third_party/glm/detail/type_vec2.inl b/MacroLibX/third_party/glm/detail/type_vec2.inl new file mode 100644 index 0000000..8e65d6b --- /dev/null +++ b/MacroLibX/third_party/glm/detail/type_vec2.inl @@ -0,0 +1,913 @@ +/// @ref core + +#include "./compute_vector_relational.hpp" + +namespace glm +{ + // -- Implicit basic constructors -- + +# if GLM_CONFIG_DEFAULTED_FUNCTIONS == GLM_DISABLE + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<2, T, Q>::vec() +# if GLM_CONFIG_CTOR_INIT != GLM_CTOR_INIT_DISABLE + : x(0), y(0) +# endif + {} + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<2, T, Q>::vec(vec<2, T, Q> const& v) + : x(v.x), y(v.y) + {} +# endif + + template + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<2, T, Q>::vec(vec<2, T, P> const& v) + : x(v.x), y(v.y) + {} + + // -- Explicit basic constructors -- + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<2, T, Q>::vec(T scalar) + : x(scalar), y(scalar) + {} + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<2, T, Q>::vec(T _x, T _y) + : x(_x), y(_y) + {} + + // -- Conversion scalar constructors -- + + template + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<2, T, Q>::vec(vec<1, U, P> const& v) + : x(static_cast(v.x)) + , y(static_cast(v.x)) + {} + + template + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<2, T, Q>::vec(A _x, B _y) + : x(static_cast(_x)) + , y(static_cast(_y)) + {} + + template + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<2, T, Q>::vec(vec<1, A, Q> const& _x, B _y) + : x(static_cast(_x.x)) + , y(static_cast(_y)) + {} + + template + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<2, T, Q>::vec(A _x, vec<1, B, Q> const& _y) + : x(static_cast(_x)) + , y(static_cast(_y.x)) + {} + + template + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<2, T, Q>::vec(vec<1, A, Q> const& _x, vec<1, B, Q> const& _y) + : x(static_cast(_x.x)) + , y(static_cast(_y.x)) + {} + + // -- Conversion vector constructors -- + + template + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<2, T, Q>::vec(vec<2, U, P> const& v) + : x(static_cast(v.x)) + , y(static_cast(v.y)) + {} + + template + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<2, T, Q>::vec(vec<3, U, P> const& v) + : x(static_cast(v.x)) + , y(static_cast(v.y)) + {} + + template + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<2, T, Q>::vec(vec<4, U, P> const& v) + : x(static_cast(v.x)) + , y(static_cast(v.y)) + {} + + // -- Component accesses -- + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR T & vec<2, T, Q>::operator[](typename vec<2, T, Q>::length_type i) + { + assert(i >= 0 && i < this->length()); + switch(i) + { + default: + case 0: + return x; + case 1: + return y; + } + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR T const& vec<2, T, Q>::operator[](typename vec<2, T, Q>::length_type i) const + { + assert(i >= 0 && i < this->length()); + switch(i) + { + default: + case 0: + return x; + case 1: + return y; + } + } + + // -- Unary arithmetic operators -- + +# if GLM_CONFIG_DEFAULTED_FUNCTIONS == GLM_DISABLE + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<2, T, Q> & vec<2, T, Q>::operator=(vec<2, T, Q> const& v) + { + this->x = v.x; + this->y = v.y; + return *this; + } +# endif + + template + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<2, T, Q> & vec<2, T, Q>::operator=(vec<2, U, Q> const& v) + { + this->x = static_cast(v.x); + this->y = static_cast(v.y); + return *this; + } + + template + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<2, T, Q> & vec<2, T, Q>::operator+=(U scalar) + { + this->x += static_cast(scalar); + this->y += static_cast(scalar); + return *this; + } + + template + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<2, T, Q> & vec<2, T, Q>::operator+=(vec<1, U, Q> const& v) + { + this->x += static_cast(v.x); + this->y += static_cast(v.x); + return *this; + } + + template + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<2, T, Q> & vec<2, T, Q>::operator+=(vec<2, U, Q> const& v) + { + this->x += static_cast(v.x); + this->y += static_cast(v.y); + return *this; + } + + template + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<2, T, Q> & vec<2, T, Q>::operator-=(U scalar) + { + this->x -= static_cast(scalar); + this->y -= static_cast(scalar); + return *this; + } + + template + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<2, T, Q> & vec<2, T, Q>::operator-=(vec<1, U, Q> const& v) + { + this->x -= static_cast(v.x); + this->y -= static_cast(v.x); + return *this; + } + + template + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<2, T, Q> & vec<2, T, Q>::operator-=(vec<2, U, Q> const& v) + { + this->x -= static_cast(v.x); + this->y -= static_cast(v.y); + return *this; + } + + template + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<2, T, Q> & vec<2, T, Q>::operator*=(U scalar) + { + this->x *= static_cast(scalar); + this->y *= static_cast(scalar); + return *this; + } + + template + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<2, T, Q> & vec<2, T, Q>::operator*=(vec<1, U, Q> const& v) + { + this->x *= static_cast(v.x); + this->y *= static_cast(v.x); + return *this; + } + + template + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<2, T, Q> & vec<2, T, Q>::operator*=(vec<2, U, Q> const& v) + { + this->x *= static_cast(v.x); + this->y *= static_cast(v.y); + return *this; + } + + template + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<2, T, Q> & vec<2, T, Q>::operator/=(U scalar) + { + this->x /= static_cast(scalar); + this->y /= static_cast(scalar); + return *this; + } + + template + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<2, T, Q> & vec<2, T, Q>::operator/=(vec<1, U, Q> const& v) + { + this->x /= static_cast(v.x); + this->y /= static_cast(v.x); + return *this; + } + + template + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<2, T, Q> & vec<2, T, Q>::operator/=(vec<2, U, Q> const& v) + { + this->x /= static_cast(v.x); + this->y /= static_cast(v.y); + return *this; + } + + // -- Increment and decrement operators -- + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<2, T, Q> & vec<2, T, Q>::operator++() + { + ++this->x; + ++this->y; + return *this; + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<2, T, Q> & vec<2, T, Q>::operator--() + { + --this->x; + --this->y; + return *this; + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<2, T, Q> vec<2, T, Q>::operator++(int) + { + vec<2, T, Q> Result(*this); + ++*this; + return Result; + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<2, T, Q> vec<2, T, Q>::operator--(int) + { + vec<2, T, Q> Result(*this); + --*this; + return Result; + } + + // -- Unary bit operators -- + + template + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<2, T, Q> & vec<2, T, Q>::operator%=(U scalar) + { + this->x %= static_cast(scalar); + this->y %= static_cast(scalar); + return *this; + } + + template + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<2, T, Q> & vec<2, T, Q>::operator%=(vec<1, U, Q> const& v) + { + this->x %= static_cast(v.x); + this->y %= static_cast(v.x); + return *this; + } + + template + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<2, T, Q> & vec<2, T, Q>::operator%=(vec<2, U, Q> const& v) + { + this->x %= static_cast(v.x); + this->y %= static_cast(v.y); + return *this; + } + + template + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<2, T, Q> & vec<2, T, Q>::operator&=(U scalar) + { + this->x &= static_cast(scalar); + this->y &= static_cast(scalar); + return *this; + } + + template + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<2, T, Q> & vec<2, T, Q>::operator&=(vec<1, U, Q> const& v) + { + this->x &= static_cast(v.x); + this->y &= static_cast(v.x); + return *this; + } + + template + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<2, T, Q> & vec<2, T, Q>::operator&=(vec<2, U, Q> const& v) + { + this->x &= static_cast(v.x); + this->y &= static_cast(v.y); + return *this; + } + + template + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<2, T, Q> & vec<2, T, Q>::operator|=(U scalar) + { + this->x |= static_cast(scalar); + this->y |= static_cast(scalar); + return *this; + } + + template + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<2, T, Q> & vec<2, T, Q>::operator|=(vec<1, U, Q> const& v) + { + this->x |= static_cast(v.x); + this->y |= static_cast(v.x); + return *this; + } + + template + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<2, T, Q> & vec<2, T, Q>::operator|=(vec<2, U, Q> const& v) + { + this->x |= static_cast(v.x); + this->y |= static_cast(v.y); + return *this; + } + + template + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<2, T, Q> & vec<2, T, Q>::operator^=(U scalar) + { + this->x ^= static_cast(scalar); + this->y ^= static_cast(scalar); + return *this; + } + + template + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<2, T, Q> & vec<2, T, Q>::operator^=(vec<1, U, Q> const& v) + { + this->x ^= static_cast(v.x); + this->y ^= static_cast(v.x); + return *this; + } + + template + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<2, T, Q> & vec<2, T, Q>::operator^=(vec<2, U, Q> const& v) + { + this->x ^= static_cast(v.x); + this->y ^= static_cast(v.y); + return *this; + } + + template + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<2, T, Q> & vec<2, T, Q>::operator<<=(U scalar) + { + this->x <<= static_cast(scalar); + this->y <<= static_cast(scalar); + return *this; + } + + template + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<2, T, Q> & vec<2, T, Q>::operator<<=(vec<1, U, Q> const& v) + { + this->x <<= static_cast(v.x); + this->y <<= static_cast(v.x); + return *this; + } + + template + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<2, T, Q> & vec<2, T, Q>::operator<<=(vec<2, U, Q> const& v) + { + this->x <<= static_cast(v.x); + this->y <<= static_cast(v.y); + return *this; + } + + template + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<2, T, Q> & vec<2, T, Q>::operator>>=(U scalar) + { + this->x >>= static_cast(scalar); + this->y >>= static_cast(scalar); + return *this; + } + + template + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<2, T, Q> & vec<2, T, Q>::operator>>=(vec<1, U, Q> const& v) + { + this->x >>= static_cast(v.x); + this->y >>= static_cast(v.x); + return *this; + } + + template + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<2, T, Q> & vec<2, T, Q>::operator>>=(vec<2, U, Q> const& v) + { + this->x >>= static_cast(v.x); + this->y >>= static_cast(v.y); + return *this; + } + + // -- Unary arithmetic operators -- + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<2, T, Q> operator+(vec<2, T, Q> const& v) + { + return v; + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<2, T, Q> operator-(vec<2, T, Q> const& v) + { + return vec<2, T, Q>( + -v.x, + -v.y); + } + + // -- Binary arithmetic operators -- + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<2, T, Q> operator+(vec<2, T, Q> const& v, T scalar) + { + return vec<2, T, Q>( + v.x + scalar, + v.y + scalar); + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<2, T, Q> operator+(vec<2, T, Q> const& v1, vec<1, T, Q> const& v2) + { + return vec<2, T, Q>( + v1.x + v2.x, + v1.y + v2.x); + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<2, T, Q> operator+(T scalar, vec<2, T, Q> const& v) + { + return vec<2, T, Q>( + scalar + v.x, + scalar + v.y); + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<2, T, Q> operator+(vec<1, T, Q> const& v1, vec<2, T, Q> const& v2) + { + return vec<2, T, Q>( + v1.x + v2.x, + v1.x + v2.y); + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<2, T, Q> operator+(vec<2, T, Q> const& v1, vec<2, T, Q> const& v2) + { + return vec<2, T, Q>( + v1.x + v2.x, + v1.y + v2.y); + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<2, T, Q> operator-(vec<2, T, Q> const& v, T scalar) + { + return vec<2, T, Q>( + v.x - scalar, + v.y - scalar); + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<2, T, Q> operator-(vec<2, T, Q> const& v1, vec<1, T, Q> const& v2) + { + return vec<2, T, Q>( + v1.x - v2.x, + v1.y - v2.x); + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<2, T, Q> operator-(T scalar, vec<2, T, Q> const& v) + { + return vec<2, T, Q>( + scalar - v.x, + scalar - v.y); + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<2, T, Q> operator-(vec<1, T, Q> const& v1, vec<2, T, Q> const& v2) + { + return vec<2, T, Q>( + v1.x - v2.x, + v1.x - v2.y); + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<2, T, Q> operator-(vec<2, T, Q> const& v1, vec<2, T, Q> const& v2) + { + return vec<2, T, Q>( + v1.x - v2.x, + v1.y - v2.y); + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<2, T, Q> operator*(vec<2, T, Q> const& v, T scalar) + { + return vec<2, T, Q>( + v.x * scalar, + v.y * scalar); + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<2, T, Q> operator*(vec<2, T, Q> const& v1, vec<1, T, Q> const& v2) + { + return vec<2, T, Q>( + v1.x * v2.x, + v1.y * v2.x); + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<2, T, Q> operator*(T scalar, vec<2, T, Q> const& v) + { + return vec<2, T, Q>( + scalar * v.x, + scalar * v.y); + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<2, T, Q> operator*(vec<1, T, Q> const& v1, vec<2, T, Q> const& v2) + { + return vec<2, T, Q>( + v1.x * v2.x, + v1.x * v2.y); + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<2, T, Q> operator*(vec<2, T, Q> const& v1, vec<2, T, Q> const& v2) + { + return vec<2, T, Q>( + v1.x * v2.x, + v1.y * v2.y); + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<2, T, Q> operator/(vec<2, T, Q> const& v, T scalar) + { + return vec<2, T, Q>( + v.x / scalar, + v.y / scalar); + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<2, T, Q> operator/(vec<2, T, Q> const& v1, vec<1, T, Q> const& v2) + { + return vec<2, T, Q>( + v1.x / v2.x, + v1.y / v2.x); + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<2, T, Q> operator/(T scalar, vec<2, T, Q> const& v) + { + return vec<2, T, Q>( + scalar / v.x, + scalar / v.y); + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<2, T, Q> operator/(vec<1, T, Q> const& v1, vec<2, T, Q> const& v2) + { + return vec<2, T, Q>( + v1.x / v2.x, + v1.x / v2.y); + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<2, T, Q> operator/(vec<2, T, Q> const& v1, vec<2, T, Q> const& v2) + { + return vec<2, T, Q>( + v1.x / v2.x, + v1.y / v2.y); + } + + // -- Binary bit operators -- + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<2, T, Q> operator%(vec<2, T, Q> const& v, T scalar) + { + return vec<2, T, Q>( + v.x % scalar, + v.y % scalar); + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<2, T, Q> operator%(vec<2, T, Q> const& v1, vec<1, T, Q> const& v2) + { + return vec<2, T, Q>( + v1.x % v2.x, + v1.y % v2.x); + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<2, T, Q> operator%(T scalar, vec<2, T, Q> const& v) + { + return vec<2, T, Q>( + scalar % v.x, + scalar % v.y); + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<2, T, Q> operator%(vec<1, T, Q> const& v1, vec<2, T, Q> const& v2) + { + return vec<2, T, Q>( + v1.x % v2.x, + v1.x % v2.y); + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<2, T, Q> operator%(vec<2, T, Q> const& v1, vec<2, T, Q> const& v2) + { + return vec<2, T, Q>( + v1.x % v2.x, + v1.y % v2.y); + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<2, T, Q> operator&(vec<2, T, Q> const& v, T scalar) + { + return vec<2, T, Q>( + v.x & scalar, + v.y & scalar); + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<2, T, Q> operator&(vec<2, T, Q> const& v1, vec<1, T, Q> const& v2) + { + return vec<2, T, Q>( + v1.x & v2.x, + v1.y & v2.x); + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<2, T, Q> operator&(T scalar, vec<2, T, Q> const& v) + { + return vec<2, T, Q>( + scalar & v.x, + scalar & v.y); + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<2, T, Q> operator&(vec<1, T, Q> const& v1, vec<2, T, Q> const& v2) + { + return vec<2, T, Q>( + v1.x & v2.x, + v1.x & v2.y); + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<2, T, Q> operator&(vec<2, T, Q> const& v1, vec<2, T, Q> const& v2) + { + return vec<2, T, Q>( + v1.x & v2.x, + v1.y & v2.y); + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<2, T, Q> operator|(vec<2, T, Q> const& v, T scalar) + { + return vec<2, T, Q>( + v.x | scalar, + v.y | scalar); + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<2, T, Q> operator|(vec<2, T, Q> const& v1, vec<1, T, Q> const& v2) + { + return vec<2, T, Q>( + v1.x | v2.x, + v1.y | v2.x); + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<2, T, Q> operator|(T scalar, vec<2, T, Q> const& v) + { + return vec<2, T, Q>( + scalar | v.x, + scalar | v.y); + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<2, T, Q> operator|(vec<1, T, Q> const& v1, vec<2, T, Q> const& v2) + { + return vec<2, T, Q>( + v1.x | v2.x, + v1.x | v2.y); + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<2, T, Q> operator|(vec<2, T, Q> const& v1, vec<2, T, Q> const& v2) + { + return vec<2, T, Q>( + v1.x | v2.x, + v1.y | v2.y); + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<2, T, Q> operator^(vec<2, T, Q> const& v, T scalar) + { + return vec<2, T, Q>( + v.x ^ scalar, + v.y ^ scalar); + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<2, T, Q> operator^(vec<2, T, Q> const& v1, vec<1, T, Q> const& v2) + { + return vec<2, T, Q>( + v1.x ^ v2.x, + v1.y ^ v2.x); + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<2, T, Q> operator^(T scalar, vec<2, T, Q> const& v) + { + return vec<2, T, Q>( + scalar ^ v.x, + scalar ^ v.y); + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<2, T, Q> operator^(vec<1, T, Q> const& v1, vec<2, T, Q> const& v2) + { + return vec<2, T, Q>( + v1.x ^ v2.x, + v1.x ^ v2.y); + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<2, T, Q> operator^(vec<2, T, Q> const& v1, vec<2, T, Q> const& v2) + { + return vec<2, T, Q>( + v1.x ^ v2.x, + v1.y ^ v2.y); + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<2, T, Q> operator<<(vec<2, T, Q> const& v, T scalar) + { + return vec<2, T, Q>( + v.x << scalar, + v.y << scalar); + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<2, T, Q> operator<<(vec<2, T, Q> const& v1, vec<1, T, Q> const& v2) + { + return vec<2, T, Q>( + v1.x << v2.x, + v1.y << v2.x); + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<2, T, Q> operator<<(T scalar, vec<2, T, Q> const& v) + { + return vec<2, T, Q>( + scalar << v.x, + scalar << v.y); + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<2, T, Q> operator<<(vec<1, T, Q> const& v1, vec<2, T, Q> const& v2) + { + return vec<2, T, Q>( + v1.x << v2.x, + v1.x << v2.y); + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<2, T, Q> operator<<(vec<2, T, Q> const& v1, vec<2, T, Q> const& v2) + { + return vec<2, T, Q>( + v1.x << v2.x, + v1.y << v2.y); + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<2, T, Q> operator>>(vec<2, T, Q> const& v, T scalar) + { + return vec<2, T, Q>( + v.x >> scalar, + v.y >> scalar); + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<2, T, Q> operator>>(vec<2, T, Q> const& v1, vec<1, T, Q> const& v2) + { + return vec<2, T, Q>( + v1.x >> v2.x, + v1.y >> v2.x); + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<2, T, Q> operator>>(T scalar, vec<2, T, Q> const& v) + { + return vec<2, T, Q>( + scalar >> v.x, + scalar >> v.y); + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<2, T, Q> operator>>(vec<1, T, Q> const& v1, vec<2, T, Q> const& v2) + { + return vec<2, T, Q>( + v1.x >> v2.x, + v1.x >> v2.y); + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<2, T, Q> operator>>(vec<2, T, Q> const& v1, vec<2, T, Q> const& v2) + { + return vec<2, T, Q>( + v1.x >> v2.x, + v1.y >> v2.y); + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<2, T, Q> operator~(vec<2, T, Q> const& v) + { + return vec<2, T, Q>( + ~v.x, + ~v.y); + } + + // -- Boolean operators -- + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR bool operator==(vec<2, T, Q> const& v1, vec<2, T, Q> const& v2) + { + return + detail::compute_equal::is_iec559>::call(v1.x, v2.x) && + detail::compute_equal::is_iec559>::call(v1.y, v2.y); + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR bool operator!=(vec<2, T, Q> const& v1, vec<2, T, Q> const& v2) + { + return !(v1 == v2); + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<2, bool, Q> operator&&(vec<2, bool, Q> const& v1, vec<2, bool, Q> const& v2) + { + return vec<2, bool, Q>(v1.x && v2.x, v1.y && v2.y); + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<2, bool, Q> operator||(vec<2, bool, Q> const& v1, vec<2, bool, Q> const& v2) + { + return vec<2, bool, Q>(v1.x || v2.x, v1.y || v2.y); + } +}//namespace glm diff --git a/MacroLibX/third_party/glm/detail/type_vec3.hpp b/MacroLibX/third_party/glm/detail/type_vec3.hpp new file mode 100644 index 0000000..d83cde6 --- /dev/null +++ b/MacroLibX/third_party/glm/detail/type_vec3.hpp @@ -0,0 +1,432 @@ +/// @ref core +/// @file glm/detail/type_vec3.hpp + +#pragma once + +#include "qualifier.hpp" +#if GLM_CONFIG_SWIZZLE == GLM_SWIZZLE_OPERATOR +# include "_swizzle.hpp" +#elif GLM_CONFIG_SWIZZLE == GLM_SWIZZLE_FUNCTION +# include "_swizzle_func.hpp" +#endif +#include + +namespace glm +{ + template + struct vec<3, T, Q> + { + // -- Implementation detail -- + + typedef T value_type; + typedef vec<3, T, Q> type; + typedef vec<3, bool, Q> bool_type; + + // -- Data -- + +# if GLM_SILENT_WARNINGS == GLM_ENABLE +# if GLM_COMPILER & GLM_COMPILER_GCC +# pragma GCC diagnostic push +# pragma GCC diagnostic ignored "-Wpedantic" +# elif GLM_COMPILER & GLM_COMPILER_CLANG +# pragma clang diagnostic push +# pragma clang diagnostic ignored "-Wgnu-anonymous-struct" +# pragma clang diagnostic ignored "-Wnested-anon-types" +# elif GLM_COMPILER & GLM_COMPILER_VC +# pragma warning(push) +# pragma warning(disable: 4201) // nonstandard extension used : nameless struct/union +# if GLM_CONFIG_ALIGNED_GENTYPES == GLM_ENABLE +# pragma warning(disable: 4324) // structure was padded due to alignment specifier +# endif +# endif +# endif + +# if GLM_CONFIG_XYZW_ONLY + T x, y, z; +# elif GLM_CONFIG_ANONYMOUS_STRUCT == GLM_ENABLE + union + { + struct{ T x, y, z; }; + struct{ T r, g, b; }; + struct{ T s, t, p; }; + + typename detail::storage<3, T, detail::is_aligned::value>::type data; + +# if GLM_CONFIG_SWIZZLE == GLM_SWIZZLE_OPERATOR + GLM_SWIZZLE3_2_MEMBERS(T, Q, x, y, z) + GLM_SWIZZLE3_2_MEMBERS(T, Q, r, g, b) + GLM_SWIZZLE3_2_MEMBERS(T, Q, s, t, p) + GLM_SWIZZLE3_3_MEMBERS(T, Q, x, y, z) + GLM_SWIZZLE3_3_MEMBERS(T, Q, r, g, b) + GLM_SWIZZLE3_3_MEMBERS(T, Q, s, t, p) + GLM_SWIZZLE3_4_MEMBERS(T, Q, x, y, z) + GLM_SWIZZLE3_4_MEMBERS(T, Q, r, g, b) + GLM_SWIZZLE3_4_MEMBERS(T, Q, s, t, p) +# endif + }; +# else + union { T x, r, s; }; + union { T y, g, t; }; + union { T z, b, p; }; + +# if GLM_CONFIG_SWIZZLE == GLM_SWIZZLE_FUNCTION + GLM_SWIZZLE_GEN_VEC_FROM_VEC3(T, Q) +# endif//GLM_CONFIG_SWIZZLE +# endif//GLM_LANG + +# if GLM_SILENT_WARNINGS == GLM_ENABLE +# if GLM_COMPILER & GLM_COMPILER_CLANG +# pragma clang diagnostic pop +# elif GLM_COMPILER & GLM_COMPILER_GCC +# pragma GCC diagnostic pop +# elif GLM_COMPILER & GLM_COMPILER_VC +# pragma warning(pop) +# endif +# endif + + // -- Component accesses -- + + /// Return the count of components of the vector + typedef length_t length_type; + GLM_FUNC_DECL static GLM_CONSTEXPR length_type length(){return 3;} + + GLM_FUNC_DECL GLM_CONSTEXPR T & operator[](length_type i); + GLM_FUNC_DECL GLM_CONSTEXPR T const& operator[](length_type i) const; + + // -- Implicit basic constructors -- + + GLM_FUNC_DECL GLM_CONSTEXPR vec() GLM_DEFAULT; + GLM_FUNC_DECL GLM_CONSTEXPR vec(vec const& v) GLM_DEFAULT; + template + GLM_FUNC_DECL GLM_CONSTEXPR vec(vec<3, T, P> const& v); + + // -- Explicit basic constructors -- + + GLM_FUNC_DECL GLM_CONSTEXPR explicit vec(T scalar); + GLM_FUNC_DECL GLM_CONSTEXPR vec(T a, T b, T c); + + // -- Conversion scalar constructors -- + + template + GLM_FUNC_DECL GLM_CONSTEXPR explicit vec(vec<1, U, P> const& v); + + /// Explicit conversions (From section 5.4.1 Conversion and scalar constructors of GLSL 1.30.08 specification) + template + GLM_FUNC_DECL GLM_CONSTEXPR vec(X x, Y y, Z z); + template + GLM_FUNC_DECL GLM_CONSTEXPR vec(vec<1, X, Q> const& _x, Y _y, Z _z); + template + GLM_FUNC_DECL GLM_CONSTEXPR vec(X _x, vec<1, Y, Q> const& _y, Z _z); + template + GLM_FUNC_DECL GLM_CONSTEXPR vec(vec<1, X, Q> const& _x, vec<1, Y, Q> const& _y, Z _z); + template + GLM_FUNC_DECL GLM_CONSTEXPR vec(X _x, Y _y, vec<1, Z, Q> const& _z); + template + GLM_FUNC_DECL GLM_CONSTEXPR vec(vec<1, X, Q> const& _x, Y _y, vec<1, Z, Q> const& _z); + template + GLM_FUNC_DECL GLM_CONSTEXPR vec(X _x, vec<1, Y, Q> const& _y, vec<1, Z, Q> const& _z); + template + GLM_FUNC_DECL GLM_CONSTEXPR vec(vec<1, X, Q> const& _x, vec<1, Y, Q> const& _y, vec<1, Z, Q> const& _z); + + // -- Conversion vector constructors -- + + /// Explicit conversions (From section 5.4.1 Conversion and scalar constructors of GLSL 1.30.08 specification) + template + GLM_FUNC_DECL GLM_CONSTEXPR vec(vec<2, A, P> const& _xy, B _z); + /// Explicit conversions (From section 5.4.1 Conversion and scalar constructors of GLSL 1.30.08 specification) + template + GLM_FUNC_DECL GLM_CONSTEXPR vec(vec<2, A, P> const& _xy, vec<1, B, P> const& _z); + /// Explicit conversions (From section 5.4.1 Conversion and scalar constructors of GLSL 1.30.08 specification) + template + GLM_FUNC_DECL GLM_CONSTEXPR vec(A _x, vec<2, B, P> const& _yz); + /// Explicit conversions (From section 5.4.1 Conversion and scalar constructors of GLSL 1.30.08 specification) + template + GLM_FUNC_DECL GLM_CONSTEXPR vec(vec<1, A, P> const& _x, vec<2, B, P> const& _yz); + /// Explicit conversions (From section 5.4.1 Conversion and scalar constructors of GLSL 1.30.08 specification) + template + GLM_FUNC_DECL GLM_CONSTEXPR GLM_EXPLICIT vec(vec<4, U, P> const& v); + + /// Explicit conversions (From section 5.4.1 Conversion and scalar constructors of GLSL 1.30.08 specification) + template + GLM_FUNC_DECL GLM_CONSTEXPR GLM_EXPLICIT vec(vec<3, U, P> const& v); + + // -- Swizzle constructors -- +# if GLM_CONFIG_SWIZZLE == GLM_SWIZZLE_OPERATOR + template + GLM_FUNC_DECL GLM_CONSTEXPR vec(detail::_swizzle<3, T, Q, E0, E1, E2, -1> const& that) + { + *this = that(); + } + + template + GLM_FUNC_DECL GLM_CONSTEXPR vec(detail::_swizzle<2, T, Q, E0, E1, -1, -2> const& v, T const& scalar) + { + *this = vec(v(), scalar); + } + + template + GLM_FUNC_DECL GLM_CONSTEXPR vec(T const& scalar, detail::_swizzle<2, T, Q, E0, E1, -1, -2> const& v) + { + *this = vec(scalar, v()); + } +# endif//GLM_CONFIG_SWIZZLE == GLM_SWIZZLE_OPERATOR + + // -- Unary arithmetic operators -- + + GLM_FUNC_DECL GLM_CONSTEXPR vec<3, T, Q>& operator=(vec<3, T, Q> const& v) GLM_DEFAULT; + + template + GLM_FUNC_DECL GLM_CONSTEXPR vec<3, T, Q> & operator=(vec<3, U, Q> const& v); + template + GLM_FUNC_DECL GLM_CONSTEXPR vec<3, T, Q> & operator+=(U scalar); + template + GLM_FUNC_DECL GLM_CONSTEXPR vec<3, T, Q> & operator+=(vec<1, U, Q> const& v); + template + GLM_FUNC_DECL GLM_CONSTEXPR vec<3, T, Q> & operator+=(vec<3, U, Q> const& v); + template + GLM_FUNC_DECL GLM_CONSTEXPR vec<3, T, Q> & operator-=(U scalar); + template + GLM_FUNC_DECL GLM_CONSTEXPR vec<3, T, Q> & operator-=(vec<1, U, Q> const& v); + template + GLM_FUNC_DECL GLM_CONSTEXPR vec<3, T, Q> & operator-=(vec<3, U, Q> const& v); + template + GLM_FUNC_DECL GLM_CONSTEXPR vec<3, T, Q> & operator*=(U scalar); + template + GLM_FUNC_DECL GLM_CONSTEXPR vec<3, T, Q> & operator*=(vec<1, U, Q> const& v); + template + GLM_FUNC_DECL GLM_CONSTEXPR vec<3, T, Q> & operator*=(vec<3, U, Q> const& v); + template + GLM_FUNC_DECL GLM_CONSTEXPR vec<3, T, Q> & operator/=(U scalar); + template + GLM_FUNC_DECL GLM_CONSTEXPR vec<3, T, Q> & operator/=(vec<1, U, Q> const& v); + template + GLM_FUNC_DECL GLM_CONSTEXPR vec<3, T, Q> & operator/=(vec<3, U, Q> const& v); + + // -- Increment and decrement operators -- + + GLM_FUNC_DECL GLM_CONSTEXPR vec<3, T, Q> & operator++(); + GLM_FUNC_DECL GLM_CONSTEXPR vec<3, T, Q> & operator--(); + GLM_FUNC_DECL GLM_CONSTEXPR vec<3, T, Q> operator++(int); + GLM_FUNC_DECL GLM_CONSTEXPR vec<3, T, Q> operator--(int); + + // -- Unary bit operators -- + + template + GLM_FUNC_DECL GLM_CONSTEXPR vec<3, T, Q> & operator%=(U scalar); + template + GLM_FUNC_DECL GLM_CONSTEXPR vec<3, T, Q> & operator%=(vec<1, U, Q> const& v); + template + GLM_FUNC_DECL GLM_CONSTEXPR vec<3, T, Q> & operator%=(vec<3, U, Q> const& v); + template + GLM_FUNC_DECL GLM_CONSTEXPR vec<3, T, Q> & operator&=(U scalar); + template + GLM_FUNC_DECL GLM_CONSTEXPR vec<3, T, Q> & operator&=(vec<1, U, Q> const& v); + template + GLM_FUNC_DECL GLM_CONSTEXPR vec<3, T, Q> & operator&=(vec<3, U, Q> const& v); + template + GLM_FUNC_DECL GLM_CONSTEXPR vec<3, T, Q> & operator|=(U scalar); + template + GLM_FUNC_DECL GLM_CONSTEXPR vec<3, T, Q> & operator|=(vec<1, U, Q> const& v); + template + GLM_FUNC_DECL GLM_CONSTEXPR vec<3, T, Q> & operator|=(vec<3, U, Q> const& v); + template + GLM_FUNC_DECL GLM_CONSTEXPR vec<3, T, Q> & operator^=(U scalar); + template + GLM_FUNC_DECL GLM_CONSTEXPR vec<3, T, Q> & operator^=(vec<1, U, Q> const& v); + template + GLM_FUNC_DECL GLM_CONSTEXPR vec<3, T, Q> & operator^=(vec<3, U, Q> const& v); + template + GLM_FUNC_DECL GLM_CONSTEXPR vec<3, T, Q> & operator<<=(U scalar); + template + GLM_FUNC_DECL GLM_CONSTEXPR vec<3, T, Q> & operator<<=(vec<1, U, Q> const& v); + template + GLM_FUNC_DECL GLM_CONSTEXPR vec<3, T, Q> & operator<<=(vec<3, U, Q> const& v); + template + GLM_FUNC_DECL GLM_CONSTEXPR vec<3, T, Q> & operator>>=(U scalar); + template + GLM_FUNC_DECL GLM_CONSTEXPR vec<3, T, Q> & operator>>=(vec<1, U, Q> const& v); + template + GLM_FUNC_DECL GLM_CONSTEXPR vec<3, T, Q> & operator>>=(vec<3, U, Q> const& v); + }; + + // -- Unary operators -- + + template + GLM_FUNC_DECL GLM_CONSTEXPR vec<3, T, Q> operator+(vec<3, T, Q> const& v); + + template + GLM_FUNC_DECL GLM_CONSTEXPR vec<3, T, Q> operator-(vec<3, T, Q> const& v); + + // -- Binary operators -- + + template + GLM_FUNC_DECL GLM_CONSTEXPR vec<3, T, Q> operator+(vec<3, T, Q> const& v, T scalar); + + template + GLM_FUNC_DECL GLM_CONSTEXPR vec<3, T, Q> operator+(vec<3, T, Q> const& v, vec<1, T, Q> const& scalar); + + template + GLM_FUNC_DECL GLM_CONSTEXPR vec<3, T, Q> operator+(T scalar, vec<3, T, Q> const& v); + + template + GLM_FUNC_DECL GLM_CONSTEXPR vec<3, T, Q> operator+(vec<1, T, Q> const& v1, vec<3, T, Q> const& v2); + + template + GLM_FUNC_DECL GLM_CONSTEXPR vec<3, T, Q> operator+(vec<3, T, Q> const& v1, vec<3, T, Q> const& v2); + + template + GLM_FUNC_DECL GLM_CONSTEXPR vec<3, T, Q> operator-(vec<3, T, Q> const& v, T scalar); + + template + GLM_FUNC_DECL GLM_CONSTEXPR vec<3, T, Q> operator-(vec<3, T, Q> const& v1, vec<1, T, Q> const& v2); + + template + GLM_FUNC_DECL GLM_CONSTEXPR vec<3, T, Q> operator-(T scalar, vec<3, T, Q> const& v); + + template + GLM_FUNC_DECL GLM_CONSTEXPR vec<3, T, Q> operator-(vec<1, T, Q> const& v1, vec<3, T, Q> const& v2); + + template + GLM_FUNC_DECL GLM_CONSTEXPR vec<3, T, Q> operator-(vec<3, T, Q> const& v1, vec<3, T, Q> const& v2); + + template + GLM_FUNC_DECL GLM_CONSTEXPR vec<3, T, Q> operator*(vec<3, T, Q> const& v, T scalar); + + template + GLM_FUNC_DECL GLM_CONSTEXPR vec<3, T, Q> operator*(vec<3, T, Q> const& v1, vec<1, T, Q> const& v2); + + template + GLM_FUNC_DECL GLM_CONSTEXPR vec<3, T, Q> operator*(T scalar, vec<3, T, Q> const& v); + + template + GLM_FUNC_DECL GLM_CONSTEXPR vec<3, T, Q> operator*(vec<1, T, Q> const& v1, vec<3, T, Q> const& v2); + + template + GLM_FUNC_DECL GLM_CONSTEXPR vec<3, T, Q> operator*(vec<3, T, Q> const& v1, vec<3, T, Q> const& v2); + + template + GLM_FUNC_DECL GLM_CONSTEXPR vec<3, T, Q> operator/(vec<3, T, Q> const& v, T scalar); + + template + GLM_FUNC_DECL GLM_CONSTEXPR vec<3, T, Q> operator/(vec<3, T, Q> const& v1, vec<1, T, Q> const& v2); + + template + GLM_FUNC_DECL GLM_CONSTEXPR vec<3, T, Q> operator/(T scalar, vec<3, T, Q> const& v); + + template + GLM_FUNC_DECL GLM_CONSTEXPR vec<3, T, Q> operator/(vec<1, T, Q> const& v1, vec<3, T, Q> const& v2); + + template + GLM_FUNC_DECL GLM_CONSTEXPR vec<3, T, Q> operator/(vec<3, T, Q> const& v1, vec<3, T, Q> const& v2); + + template + GLM_FUNC_DECL GLM_CONSTEXPR vec<3, T, Q> operator%(vec<3, T, Q> const& v, T scalar); + + template + GLM_FUNC_DECL GLM_CONSTEXPR vec<3, T, Q> operator%(vec<3, T, Q> const& v1, vec<1, T, Q> const& v2); + + template + GLM_FUNC_DECL GLM_CONSTEXPR vec<3, T, Q> operator%(T scalar, vec<3, T, Q> const& v); + + template + GLM_FUNC_DECL GLM_CONSTEXPR vec<3, T, Q> operator%(vec<1, T, Q> const& v1, vec<3, T, Q> const& v2); + + template + GLM_FUNC_DECL GLM_CONSTEXPR vec<3, T, Q> operator%(vec<3, T, Q> const& v1, vec<3, T, Q> const& v2); + + template + GLM_FUNC_DECL GLM_CONSTEXPR vec<3, T, Q> operator&(vec<3, T, Q> const& v1, T scalar); + + template + GLM_FUNC_DECL GLM_CONSTEXPR vec<3, T, Q> operator&(vec<3, T, Q> const& v1, vec<1, T, Q> const& v2); + + template + GLM_FUNC_DECL GLM_CONSTEXPR vec<3, T, Q> operator&(T scalar, vec<3, T, Q> const& v); + + template + GLM_FUNC_DECL GLM_CONSTEXPR vec<3, T, Q> operator&(vec<1, T, Q> const& v1, vec<3, T, Q> const& v2); + + template + GLM_FUNC_DECL GLM_CONSTEXPR vec<3, T, Q> operator&(vec<3, T, Q> const& v1, vec<3, T, Q> const& v2); + + template + GLM_FUNC_DECL GLM_CONSTEXPR vec<3, T, Q> operator|(vec<3, T, Q> const& v, T scalar); + + template + GLM_FUNC_DECL GLM_CONSTEXPR vec<3, T, Q> operator|(vec<3, T, Q> const& v1, vec<1, T, Q> const& v2); + + template + GLM_FUNC_DECL GLM_CONSTEXPR vec<3, T, Q> operator|(T scalar, vec<3, T, Q> const& v); + + template + GLM_FUNC_DECL GLM_CONSTEXPR vec<3, T, Q> operator|(vec<1, T, Q> const& v1, vec<3, T, Q> const& v2); + + template + GLM_FUNC_DECL GLM_CONSTEXPR vec<3, T, Q> operator|(vec<3, T, Q> const& v1, vec<3, T, Q> const& v2); + + template + GLM_FUNC_DECL GLM_CONSTEXPR vec<3, T, Q> operator^(vec<3, T, Q> const& v, T scalar); + + template + GLM_FUNC_DECL GLM_CONSTEXPR vec<3, T, Q> operator^(vec<3, T, Q> const& v1, vec<1, T, Q> const& v2); + + template + GLM_FUNC_DECL GLM_CONSTEXPR vec<3, T, Q> operator^(T scalar, vec<3, T, Q> const& v); + + template + GLM_FUNC_DECL GLM_CONSTEXPR vec<3, T, Q> operator^(vec<1, T, Q> const& v1, vec<3, T, Q> const& v2); + + template + GLM_FUNC_DECL GLM_CONSTEXPR vec<3, T, Q> operator^(vec<3, T, Q> const& v1, vec<3, T, Q> const& v2); + + template + GLM_FUNC_DECL GLM_CONSTEXPR vec<3, T, Q> operator<<(vec<3, T, Q> const& v, T scalar); + + template + GLM_FUNC_DECL GLM_CONSTEXPR vec<3, T, Q> operator<<(vec<3, T, Q> const& v1, vec<1, T, Q> const& v2); + + template + GLM_FUNC_DECL GLM_CONSTEXPR vec<3, T, Q> operator<<(T scalar, vec<3, T, Q> const& v); + + template + GLM_FUNC_DECL GLM_CONSTEXPR vec<3, T, Q> operator<<(vec<1, T, Q> const& v1, vec<3, T, Q> const& v2); + + template + GLM_FUNC_DECL GLM_CONSTEXPR vec<3, T, Q> operator<<(vec<3, T, Q> const& v1, vec<3, T, Q> const& v2); + + template + GLM_FUNC_DECL GLM_CONSTEXPR vec<3, T, Q> operator>>(vec<3, T, Q> const& v, T scalar); + + template + GLM_FUNC_DECL GLM_CONSTEXPR vec<3, T, Q> operator>>(vec<3, T, Q> const& v1, vec<1, T, Q> const& v2); + + template + GLM_FUNC_DECL GLM_CONSTEXPR vec<3, T, Q> operator>>(T scalar, vec<3, T, Q> const& v); + + template + GLM_FUNC_DECL GLM_CONSTEXPR vec<3, T, Q> operator>>(vec<1, T, Q> const& v1, vec<3, T, Q> const& v2); + + template + GLM_FUNC_DECL GLM_CONSTEXPR vec<3, T, Q> operator>>(vec<3, T, Q> const& v1, vec<3, T, Q> const& v2); + + template + GLM_FUNC_DECL GLM_CONSTEXPR vec<3, T, Q> operator~(vec<3, T, Q> const& v); + + // -- Boolean operators -- + + template + GLM_FUNC_DECL GLM_CONSTEXPR bool operator==(vec<3, T, Q> const& v1, vec<3, T, Q> const& v2); + + template + GLM_FUNC_DECL GLM_CONSTEXPR bool operator!=(vec<3, T, Q> const& v1, vec<3, T, Q> const& v2); + + template + GLM_FUNC_DECL GLM_CONSTEXPR vec<3, bool, Q> operator&&(vec<3, bool, Q> const& v1, vec<3, bool, Q> const& v2); + + template + GLM_FUNC_DECL GLM_CONSTEXPR vec<3, bool, Q> operator||(vec<3, bool, Q> const& v1, vec<3, bool, Q> const& v2); +}//namespace glm + +#ifndef GLM_EXTERNAL_TEMPLATE +#include "type_vec3.inl" +#endif//GLM_EXTERNAL_TEMPLATE diff --git a/MacroLibX/third_party/glm/detail/type_vec3.inl b/MacroLibX/third_party/glm/detail/type_vec3.inl new file mode 100644 index 0000000..6532c9e --- /dev/null +++ b/MacroLibX/third_party/glm/detail/type_vec3.inl @@ -0,0 +1,1068 @@ +/// @ref core + +#include "compute_vector_relational.hpp" + +namespace glm +{ + // -- Implicit basic constructors -- + +# if GLM_CONFIG_DEFAULTED_FUNCTIONS == GLM_DISABLE + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<3, T, Q>::vec() +# if GLM_CONFIG_CTOR_INIT != GLM_CTOR_INIT_DISABLE + : x(0), y(0), z(0) +# endif + {} + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<3, T, Q>::vec(vec<3, T, Q> const& v) + : x(v.x), y(v.y), z(v.z) + {} +# endif + + template + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<3, T, Q>::vec(vec<3, T, P> const& v) + : x(v.x), y(v.y), z(v.z) + {} + + // -- Explicit basic constructors -- + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<3, T, Q>::vec(T scalar) + : x(scalar), y(scalar), z(scalar) + {} + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<3, T, Q>::vec(T _x, T _y, T _z) + : x(_x), y(_y), z(_z) + {} + + // -- Conversion scalar constructors -- + + template + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<3, T, Q>::vec(vec<1, U, P> const& v) + : x(static_cast(v.x)) + , y(static_cast(v.x)) + , z(static_cast(v.x)) + {} + + template + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<3, T, Q>::vec(X _x, Y _y, Z _z) + : x(static_cast(_x)) + , y(static_cast(_y)) + , z(static_cast(_z)) + {} + + template + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<3, T, Q>::vec(vec<1, X, Q> const& _x, Y _y, Z _z) + : x(static_cast(_x.x)) + , y(static_cast(_y)) + , z(static_cast(_z)) + {} + + template + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<3, T, Q>::vec(X _x, vec<1, Y, Q> const& _y, Z _z) + : x(static_cast(_x)) + , y(static_cast(_y.x)) + , z(static_cast(_z)) + {} + + template + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<3, T, Q>::vec(vec<1, X, Q> const& _x, vec<1, Y, Q> const& _y, Z _z) + : x(static_cast(_x.x)) + , y(static_cast(_y.x)) + , z(static_cast(_z)) + {} + + template + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<3, T, Q>::vec(X _x, Y _y, vec<1, Z, Q> const& _z) + : x(static_cast(_x)) + , y(static_cast(_y)) + , z(static_cast(_z.x)) + {} + + template + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<3, T, Q>::vec(vec<1, X, Q> const& _x, Y _y, vec<1, Z, Q> const& _z) + : x(static_cast(_x.x)) + , y(static_cast(_y)) + , z(static_cast(_z.x)) + {} + + template + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<3, T, Q>::vec(X _x, vec<1, Y, Q> const& _y, vec<1, Z, Q> const& _z) + : x(static_cast(_x)) + , y(static_cast(_y.x)) + , z(static_cast(_z.x)) + {} + + template + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<3, T, Q>::vec(vec<1, X, Q> const& _x, vec<1, Y, Q> const& _y, vec<1, Z, Q> const& _z) + : x(static_cast(_x.x)) + , y(static_cast(_y.x)) + , z(static_cast(_z.x)) + {} + + // -- Conversion vector constructors -- + + template + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<3, T, Q>::vec(vec<2, A, P> const& _xy, B _z) + : x(static_cast(_xy.x)) + , y(static_cast(_xy.y)) + , z(static_cast(_z)) + {} + + template + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<3, T, Q>::vec(vec<2, A, P> const& _xy, vec<1, B, P> const& _z) + : x(static_cast(_xy.x)) + , y(static_cast(_xy.y)) + , z(static_cast(_z.x)) + {} + + template + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<3, T, Q>::vec(A _x, vec<2, B, P> const& _yz) + : x(static_cast(_x)) + , y(static_cast(_yz.x)) + , z(static_cast(_yz.y)) + {} + + template + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<3, T, Q>::vec(vec<1, A, P> const& _x, vec<2, B, P> const& _yz) + : x(static_cast(_x.x)) + , y(static_cast(_yz.x)) + , z(static_cast(_yz.y)) + {} + + template + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<3, T, Q>::vec(vec<3, U, P> const& v) + : x(static_cast(v.x)) + , y(static_cast(v.y)) + , z(static_cast(v.z)) + {} + + template + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<3, T, Q>::vec(vec<4, U, P> const& v) + : x(static_cast(v.x)) + , y(static_cast(v.y)) + , z(static_cast(v.z)) + {} + + // -- Component accesses -- + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR T & vec<3, T, Q>::operator[](typename vec<3, T, Q>::length_type i) + { + assert(i >= 0 && i < this->length()); + switch(i) + { + default: + case 0: + return x; + case 1: + return y; + case 2: + return z; + } + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR T const& vec<3, T, Q>::operator[](typename vec<3, T, Q>::length_type i) const + { + assert(i >= 0 && i < this->length()); + switch(i) + { + default: + case 0: + return x; + case 1: + return y; + case 2: + return z; + } + } + + // -- Unary arithmetic operators -- + +# if GLM_CONFIG_DEFAULTED_FUNCTIONS == GLM_DISABLE + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<3, T, Q>& vec<3, T, Q>::operator=(vec<3, T, Q> const& v) + { + this->x = v.x; + this->y = v.y; + this->z = v.z; + return *this; + } +# endif + + template + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<3, T, Q>& vec<3, T, Q>::operator=(vec<3, U, Q> const& v) + { + this->x = static_cast(v.x); + this->y = static_cast(v.y); + this->z = static_cast(v.z); + return *this; + } + + template + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<3, T, Q> & vec<3, T, Q>::operator+=(U scalar) + { + this->x += static_cast(scalar); + this->y += static_cast(scalar); + this->z += static_cast(scalar); + return *this; + } + + template + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<3, T, Q> & vec<3, T, Q>::operator+=(vec<1, U, Q> const& v) + { + this->x += static_cast(v.x); + this->y += static_cast(v.x); + this->z += static_cast(v.x); + return *this; + } + + template + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<3, T, Q> & vec<3, T, Q>::operator+=(vec<3, U, Q> const& v) + { + this->x += static_cast(v.x); + this->y += static_cast(v.y); + this->z += static_cast(v.z); + return *this; + } + + template + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<3, T, Q> & vec<3, T, Q>::operator-=(U scalar) + { + this->x -= static_cast(scalar); + this->y -= static_cast(scalar); + this->z -= static_cast(scalar); + return *this; + } + + template + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<3, T, Q> & vec<3, T, Q>::operator-=(vec<1, U, Q> const& v) + { + this->x -= static_cast(v.x); + this->y -= static_cast(v.x); + this->z -= static_cast(v.x); + return *this; + } + + template + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<3, T, Q> & vec<3, T, Q>::operator-=(vec<3, U, Q> const& v) + { + this->x -= static_cast(v.x); + this->y -= static_cast(v.y); + this->z -= static_cast(v.z); + return *this; + } + + template + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<3, T, Q> & vec<3, T, Q>::operator*=(U scalar) + { + this->x *= static_cast(scalar); + this->y *= static_cast(scalar); + this->z *= static_cast(scalar); + return *this; + } + + template + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<3, T, Q> & vec<3, T, Q>::operator*=(vec<1, U, Q> const& v) + { + this->x *= static_cast(v.x); + this->y *= static_cast(v.x); + this->z *= static_cast(v.x); + return *this; + } + + template + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<3, T, Q> & vec<3, T, Q>::operator*=(vec<3, U, Q> const& v) + { + this->x *= static_cast(v.x); + this->y *= static_cast(v.y); + this->z *= static_cast(v.z); + return *this; + } + + template + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<3, T, Q> & vec<3, T, Q>::operator/=(U v) + { + this->x /= static_cast(v); + this->y /= static_cast(v); + this->z /= static_cast(v); + return *this; + } + + template + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<3, T, Q> & vec<3, T, Q>::operator/=(vec<1, U, Q> const& v) + { + this->x /= static_cast(v.x); + this->y /= static_cast(v.x); + this->z /= static_cast(v.x); + return *this; + } + + template + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<3, T, Q> & vec<3, T, Q>::operator/=(vec<3, U, Q> const& v) + { + this->x /= static_cast(v.x); + this->y /= static_cast(v.y); + this->z /= static_cast(v.z); + return *this; + } + + // -- Increment and decrement operators -- + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<3, T, Q> & vec<3, T, Q>::operator++() + { + ++this->x; + ++this->y; + ++this->z; + return *this; + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<3, T, Q> & vec<3, T, Q>::operator--() + { + --this->x; + --this->y; + --this->z; + return *this; + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<3, T, Q> vec<3, T, Q>::operator++(int) + { + vec<3, T, Q> Result(*this); + ++*this; + return Result; + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<3, T, Q> vec<3, T, Q>::operator--(int) + { + vec<3, T, Q> Result(*this); + --*this; + return Result; + } + + // -- Unary bit operators -- + + template + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<3, T, Q> & vec<3, T, Q>::operator%=(U scalar) + { + this->x %= scalar; + this->y %= scalar; + this->z %= scalar; + return *this; + } + + template + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<3, T, Q> & vec<3, T, Q>::operator%=(vec<1, U, Q> const& v) + { + this->x %= v.x; + this->y %= v.x; + this->z %= v.x; + return *this; + } + + template + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<3, T, Q> & vec<3, T, Q>::operator%=(vec<3, U, Q> const& v) + { + this->x %= v.x; + this->y %= v.y; + this->z %= v.z; + return *this; + } + + template + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<3, T, Q> & vec<3, T, Q>::operator&=(U scalar) + { + this->x &= scalar; + this->y &= scalar; + this->z &= scalar; + return *this; + } + + template + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<3, T, Q> & vec<3, T, Q>::operator&=(vec<1, U, Q> const& v) + { + this->x &= v.x; + this->y &= v.x; + this->z &= v.x; + return *this; + } + + template + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<3, T, Q> & vec<3, T, Q>::operator&=(vec<3, U, Q> const& v) + { + this->x &= v.x; + this->y &= v.y; + this->z &= v.z; + return *this; + } + + template + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<3, T, Q> & vec<3, T, Q>::operator|=(U scalar) + { + this->x |= scalar; + this->y |= scalar; + this->z |= scalar; + return *this; + } + + template + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<3, T, Q> & vec<3, T, Q>::operator|=(vec<1, U, Q> const& v) + { + this->x |= v.x; + this->y |= v.x; + this->z |= v.x; + return *this; + } + + template + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<3, T, Q> & vec<3, T, Q>::operator|=(vec<3, U, Q> const& v) + { + this->x |= v.x; + this->y |= v.y; + this->z |= v.z; + return *this; + } + + template + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<3, T, Q> & vec<3, T, Q>::operator^=(U scalar) + { + this->x ^= scalar; + this->y ^= scalar; + this->z ^= scalar; + return *this; + } + + template + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<3, T, Q> & vec<3, T, Q>::operator^=(vec<1, U, Q> const& v) + { + this->x ^= v.x; + this->y ^= v.x; + this->z ^= v.x; + return *this; + } + + template + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<3, T, Q> & vec<3, T, Q>::operator^=(vec<3, U, Q> const& v) + { + this->x ^= v.x; + this->y ^= v.y; + this->z ^= v.z; + return *this; + } + + template + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<3, T, Q> & vec<3, T, Q>::operator<<=(U scalar) + { + this->x <<= scalar; + this->y <<= scalar; + this->z <<= scalar; + return *this; + } + + template + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<3, T, Q> & vec<3, T, Q>::operator<<=(vec<1, U, Q> const& v) + { + this->x <<= static_cast(v.x); + this->y <<= static_cast(v.x); + this->z <<= static_cast(v.x); + return *this; + } + + template + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<3, T, Q> & vec<3, T, Q>::operator<<=(vec<3, U, Q> const& v) + { + this->x <<= static_cast(v.x); + this->y <<= static_cast(v.y); + this->z <<= static_cast(v.z); + return *this; + } + + template + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<3, T, Q> & vec<3, T, Q>::operator>>=(U scalar) + { + this->x >>= static_cast(scalar); + this->y >>= static_cast(scalar); + this->z >>= static_cast(scalar); + return *this; + } + + template + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<3, T, Q> & vec<3, T, Q>::operator>>=(vec<1, U, Q> const& v) + { + this->x >>= static_cast(v.x); + this->y >>= static_cast(v.x); + this->z >>= static_cast(v.x); + return *this; + } + + template + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<3, T, Q> & vec<3, T, Q>::operator>>=(vec<3, U, Q> const& v) + { + this->x >>= static_cast(v.x); + this->y >>= static_cast(v.y); + this->z >>= static_cast(v.z); + return *this; + } + + // -- Unary arithmetic operators -- + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<3, T, Q> operator+(vec<3, T, Q> const& v) + { + return v; + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<3, T, Q> operator-(vec<3, T, Q> const& v) + { + return vec<3, T, Q>( + -v.x, + -v.y, + -v.z); + } + + // -- Binary arithmetic operators -- + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<3, T, Q> operator+(vec<3, T, Q> const& v, T scalar) + { + return vec<3, T, Q>( + v.x + scalar, + v.y + scalar, + v.z + scalar); + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<3, T, Q> operator+(vec<3, T, Q> const& v, vec<1, T, Q> const& scalar) + { + return vec<3, T, Q>( + v.x + scalar.x, + v.y + scalar.x, + v.z + scalar.x); + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<3, T, Q> operator+(T scalar, vec<3, T, Q> const& v) + { + return vec<3, T, Q>( + scalar + v.x, + scalar + v.y, + scalar + v.z); + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<3, T, Q> operator+(vec<1, T, Q> const& scalar, vec<3, T, Q> const& v) + { + return vec<3, T, Q>( + scalar.x + v.x, + scalar.x + v.y, + scalar.x + v.z); + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<3, T, Q> operator+(vec<3, T, Q> const& v1, vec<3, T, Q> const& v2) + { + return vec<3, T, Q>( + v1.x + v2.x, + v1.y + v2.y, + v1.z + v2.z); + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<3, T, Q> operator-(vec<3, T, Q> const& v, T scalar) + { + return vec<3, T, Q>( + v.x - scalar, + v.y - scalar, + v.z - scalar); + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<3, T, Q> operator-(vec<3, T, Q> const& v, vec<1, T, Q> const& scalar) + { + return vec<3, T, Q>( + v.x - scalar.x, + v.y - scalar.x, + v.z - scalar.x); + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<3, T, Q> operator-(T scalar, vec<3, T, Q> const& v) + { + return vec<3, T, Q>( + scalar - v.x, + scalar - v.y, + scalar - v.z); + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<3, T, Q> operator-(vec<1, T, Q> const& scalar, vec<3, T, Q> const& v) + { + return vec<3, T, Q>( + scalar.x - v.x, + scalar.x - v.y, + scalar.x - v.z); + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<3, T, Q> operator-(vec<3, T, Q> const& v1, vec<3, T, Q> const& v2) + { + return vec<3, T, Q>( + v1.x - v2.x, + v1.y - v2.y, + v1.z - v2.z); + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<3, T, Q> operator*(vec<3, T, Q> const& v, T scalar) + { + return vec<3, T, Q>( + v.x * scalar, + v.y * scalar, + v.z * scalar); + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<3, T, Q> operator*(vec<3, T, Q> const& v, vec<1, T, Q> const& scalar) + { + return vec<3, T, Q>( + v.x * scalar.x, + v.y * scalar.x, + v.z * scalar.x); + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<3, T, Q> operator*(T scalar, vec<3, T, Q> const& v) + { + return vec<3, T, Q>( + scalar * v.x, + scalar * v.y, + scalar * v.z); + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<3, T, Q> operator*(vec<1, T, Q> const& scalar, vec<3, T, Q> const& v) + { + return vec<3, T, Q>( + scalar.x * v.x, + scalar.x * v.y, + scalar.x * v.z); + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<3, T, Q> operator*(vec<3, T, Q> const& v1, vec<3, T, Q> const& v2) + { + return vec<3, T, Q>( + v1.x * v2.x, + v1.y * v2.y, + v1.z * v2.z); + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<3, T, Q> operator/(vec<3, T, Q> const& v, T scalar) + { + return vec<3, T, Q>( + v.x / scalar, + v.y / scalar, + v.z / scalar); + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<3, T, Q> operator/(vec<3, T, Q> const& v, vec<1, T, Q> const& scalar) + { + return vec<3, T, Q>( + v.x / scalar.x, + v.y / scalar.x, + v.z / scalar.x); + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<3, T, Q> operator/(T scalar, vec<3, T, Q> const& v) + { + return vec<3, T, Q>( + scalar / v.x, + scalar / v.y, + scalar / v.z); + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<3, T, Q> operator/(vec<1, T, Q> const& scalar, vec<3, T, Q> const& v) + { + return vec<3, T, Q>( + scalar.x / v.x, + scalar.x / v.y, + scalar.x / v.z); + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<3, T, Q> operator/(vec<3, T, Q> const& v1, vec<3, T, Q> const& v2) + { + return vec<3, T, Q>( + v1.x / v2.x, + v1.y / v2.y, + v1.z / v2.z); + } + + // -- Binary bit operators -- + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<3, T, Q> operator%(vec<3, T, Q> const& v, T scalar) + { + return vec<3, T, Q>( + v.x % scalar, + v.y % scalar, + v.z % scalar); + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<3, T, Q> operator%(vec<3, T, Q> const& v, vec<1, T, Q> const& scalar) + { + return vec<3, T, Q>( + v.x % scalar.x, + v.y % scalar.x, + v.z % scalar.x); + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<3, T, Q> operator%(T scalar, vec<3, T, Q> const& v) + { + return vec<3, T, Q>( + scalar % v.x, + scalar % v.y, + scalar % v.z); + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<3, T, Q> operator%(vec<1, T, Q> const& scalar, vec<3, T, Q> const& v) + { + return vec<3, T, Q>( + scalar.x % v.x, + scalar.x % v.y, + scalar.x % v.z); + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<3, T, Q> operator%(vec<3, T, Q> const& v1, vec<3, T, Q> const& v2) + { + return vec<3, T, Q>( + v1.x % v2.x, + v1.y % v2.y, + v1.z % v2.z); + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<3, T, Q> operator&(vec<3, T, Q> const& v, T scalar) + { + return vec<3, T, Q>( + v.x & scalar, + v.y & scalar, + v.z & scalar); + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<3, T, Q> operator&(vec<3, T, Q> const& v, vec<1, T, Q> const& scalar) + { + return vec<3, T, Q>( + v.x & scalar.x, + v.y & scalar.x, + v.z & scalar.x); + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<3, T, Q> operator&(T scalar, vec<3, T, Q> const& v) + { + return vec<3, T, Q>( + scalar & v.x, + scalar & v.y, + scalar & v.z); + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<3, T, Q> operator&(vec<1, T, Q> const& scalar, vec<3, T, Q> const& v) + { + return vec<3, T, Q>( + scalar.x & v.x, + scalar.x & v.y, + scalar.x & v.z); + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<3, T, Q> operator&(vec<3, T, Q> const& v1, vec<3, T, Q> const& v2) + { + return vec<3, T, Q>( + v1.x & v2.x, + v1.y & v2.y, + v1.z & v2.z); + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<3, T, Q> operator|(vec<3, T, Q> const& v, T scalar) + { + return vec<3, T, Q>( + v.x | scalar, + v.y | scalar, + v.z | scalar); + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<3, T, Q> operator|(vec<3, T, Q> const& v, vec<1, T, Q> const& scalar) + { + return vec<3, T, Q>( + v.x | scalar.x, + v.y | scalar.x, + v.z | scalar.x); + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<3, T, Q> operator|(T scalar, vec<3, T, Q> const& v) + { + return vec<3, T, Q>( + scalar | v.x, + scalar | v.y, + scalar | v.z); + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<3, T, Q> operator|(vec<1, T, Q> const& scalar, vec<3, T, Q> const& v) + { + return vec<3, T, Q>( + scalar.x | v.x, + scalar.x | v.y, + scalar.x | v.z); + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<3, T, Q> operator|(vec<3, T, Q> const& v1, vec<3, T, Q> const& v2) + { + return vec<3, T, Q>( + v1.x | v2.x, + v1.y | v2.y, + v1.z | v2.z); + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<3, T, Q> operator^(vec<3, T, Q> const& v, T scalar) + { + return vec<3, T, Q>( + v.x ^ scalar, + v.y ^ scalar, + v.z ^ scalar); + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<3, T, Q> operator^(vec<3, T, Q> const& v, vec<1, T, Q> const& scalar) + { + return vec<3, T, Q>( + v.x ^ scalar.x, + v.y ^ scalar.x, + v.z ^ scalar.x); + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<3, T, Q> operator^(T scalar, vec<3, T, Q> const& v) + { + return vec<3, T, Q>( + scalar ^ v.x, + scalar ^ v.y, + scalar ^ v.z); + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<3, T, Q> operator^(vec<1, T, Q> const& scalar, vec<3, T, Q> const& v) + { + return vec<3, T, Q>( + scalar.x ^ v.x, + scalar.x ^ v.y, + scalar.x ^ v.z); + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<3, T, Q> operator^(vec<3, T, Q> const& v1, vec<3, T, Q> const& v2) + { + return vec<3, T, Q>( + v1.x ^ v2.x, + v1.y ^ v2.y, + v1.z ^ v2.z); + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<3, T, Q> operator<<(vec<3, T, Q> const& v, T scalar) + { + return vec<3, T, Q>( + v.x << scalar, + v.y << scalar, + v.z << scalar); + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<3, T, Q> operator<<(vec<3, T, Q> const& v, vec<1, T, Q> const& scalar) + { + return vec<3, T, Q>( + v.x << scalar.x, + v.y << scalar.x, + v.z << scalar.x); + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<3, T, Q> operator<<(T scalar, vec<3, T, Q> const& v) + { + return vec<3, T, Q>( + scalar << v.x, + scalar << v.y, + scalar << v.z); + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<3, T, Q> operator<<(vec<1, T, Q> const& scalar, vec<3, T, Q> const& v) + { + return vec<3, T, Q>( + scalar.x << v.x, + scalar.x << v.y, + scalar.x << v.z); + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<3, T, Q> operator<<(vec<3, T, Q> const& v1, vec<3, T, Q> const& v2) + { + return vec<3, T, Q>( + v1.x << v2.x, + v1.y << v2.y, + v1.z << v2.z); + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<3, T, Q> operator>>(vec<3, T, Q> const& v, T scalar) + { + return vec<3, T, Q>( + v.x >> scalar, + v.y >> scalar, + v.z >> scalar); + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<3, T, Q> operator>>(vec<3, T, Q> const& v, vec<1, T, Q> const& scalar) + { + return vec<3, T, Q>( + v.x >> scalar.x, + v.y >> scalar.x, + v.z >> scalar.x); + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<3, T, Q> operator>>(T scalar, vec<3, T, Q> const& v) + { + return vec<3, T, Q>( + scalar >> v.x, + scalar >> v.y, + scalar >> v.z); + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<3, T, Q> operator>>(vec<1, T, Q> const& scalar, vec<3, T, Q> const& v) + { + return vec<3, T, Q>( + scalar.x >> v.x, + scalar.x >> v.y, + scalar.x >> v.z); + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<3, T, Q> operator>>(vec<3, T, Q> const& v1, vec<3, T, Q> const& v2) + { + return vec<3, T, Q>( + v1.x >> v2.x, + v1.y >> v2.y, + v1.z >> v2.z); + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<3, T, Q> operator~(vec<3, T, Q> const& v) + { + return vec<3, T, Q>( + ~v.x, + ~v.y, + ~v.z); + } + + // -- Boolean operators -- + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR bool operator==(vec<3, T, Q> const& v1, vec<3, T, Q> const& v2) + { + return + detail::compute_equal::is_iec559>::call(v1.x, v2.x) && + detail::compute_equal::is_iec559>::call(v1.y, v2.y) && + detail::compute_equal::is_iec559>::call(v1.z, v2.z); + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR bool operator!=(vec<3, T, Q> const& v1, vec<3, T, Q> const& v2) + { + return !(v1 == v2); + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<3, bool, Q> operator&&(vec<3, bool, Q> const& v1, vec<3, bool, Q> const& v2) + { + return vec<3, bool, Q>(v1.x && v2.x, v1.y && v2.y, v1.z && v2.z); + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<3, bool, Q> operator||(vec<3, bool, Q> const& v1, vec<3, bool, Q> const& v2) + { + return vec<3, bool, Q>(v1.x || v2.x, v1.y || v2.y, v1.z || v2.z); + } +}//namespace glm diff --git a/MacroLibX/third_party/glm/detail/type_vec4.hpp b/MacroLibX/third_party/glm/detail/type_vec4.hpp new file mode 100644 index 0000000..4a36434 --- /dev/null +++ b/MacroLibX/third_party/glm/detail/type_vec4.hpp @@ -0,0 +1,505 @@ +/// @ref core +/// @file glm/detail/type_vec4.hpp + +#pragma once + +#include "qualifier.hpp" +#if GLM_CONFIG_SWIZZLE == GLM_SWIZZLE_OPERATOR +# include "_swizzle.hpp" +#elif GLM_CONFIG_SWIZZLE == GLM_SWIZZLE_FUNCTION +# include "_swizzle_func.hpp" +#endif +#include + +namespace glm +{ + template + struct vec<4, T, Q> + { + // -- Implementation detail -- + + typedef T value_type; + typedef vec<4, T, Q> type; + typedef vec<4, bool, Q> bool_type; + + // -- Data -- + +# if GLM_SILENT_WARNINGS == GLM_ENABLE +# if GLM_COMPILER & GLM_COMPILER_GCC +# pragma GCC diagnostic push +# pragma GCC diagnostic ignored "-Wpedantic" +# elif GLM_COMPILER & GLM_COMPILER_CLANG +# pragma clang diagnostic push +# pragma clang diagnostic ignored "-Wgnu-anonymous-struct" +# pragma clang diagnostic ignored "-Wnested-anon-types" +# elif GLM_COMPILER & GLM_COMPILER_VC +# pragma warning(push) +# pragma warning(disable: 4201) // nonstandard extension used : nameless struct/union +# endif +# endif + +# if GLM_CONFIG_XYZW_ONLY + T x, y, z, w; +# elif GLM_CONFIG_ANONYMOUS_STRUCT == GLM_ENABLE + union + { + struct { T x, y, z, w; }; + struct { T r, g, b, a; }; + struct { T s, t, p, q; }; + + typename detail::storage<4, T, detail::is_aligned::value>::type data; + +# if GLM_CONFIG_SWIZZLE == GLM_SWIZZLE_OPERATOR + GLM_SWIZZLE4_2_MEMBERS(T, Q, x, y, z, w) + GLM_SWIZZLE4_2_MEMBERS(T, Q, r, g, b, a) + GLM_SWIZZLE4_2_MEMBERS(T, Q, s, t, p, q) + GLM_SWIZZLE4_3_MEMBERS(T, Q, x, y, z, w) + GLM_SWIZZLE4_3_MEMBERS(T, Q, r, g, b, a) + GLM_SWIZZLE4_3_MEMBERS(T, Q, s, t, p, q) + GLM_SWIZZLE4_4_MEMBERS(T, Q, x, y, z, w) + GLM_SWIZZLE4_4_MEMBERS(T, Q, r, g, b, a) + GLM_SWIZZLE4_4_MEMBERS(T, Q, s, t, p, q) +# endif + }; +# else + union { T x, r, s; }; + union { T y, g, t; }; + union { T z, b, p; }; + union { T w, a, q; }; + +# if GLM_CONFIG_SWIZZLE == GLM_SWIZZLE_FUNCTION + GLM_SWIZZLE_GEN_VEC_FROM_VEC4(T, Q) +# endif +# endif + +# if GLM_SILENT_WARNINGS == GLM_ENABLE +# if GLM_COMPILER & GLM_COMPILER_CLANG +# pragma clang diagnostic pop +# elif GLM_COMPILER & GLM_COMPILER_GCC +# pragma GCC diagnostic pop +# elif GLM_COMPILER & GLM_COMPILER_VC +# pragma warning(pop) +# endif +# endif + + // -- Component accesses -- + + typedef length_t length_type; + + /// Return the count of components of the vector + GLM_FUNC_DECL static GLM_CONSTEXPR length_type length(){return 4;} + + GLM_FUNC_DECL GLM_CONSTEXPR T & operator[](length_type i); + GLM_FUNC_DECL GLM_CONSTEXPR T const& operator[](length_type i) const; + + // -- Implicit basic constructors -- + + GLM_FUNC_DECL GLM_CONSTEXPR vec() GLM_DEFAULT; + GLM_FUNC_DECL GLM_CONSTEXPR vec(vec<4, T, Q> const& v) GLM_DEFAULT; + template + GLM_FUNC_DECL GLM_CONSTEXPR vec(vec<4, T, P> const& v); + + // -- Explicit basic constructors -- + + GLM_FUNC_DECL GLM_CONSTEXPR explicit vec(T scalar); + GLM_FUNC_DECL GLM_CONSTEXPR vec(T x, T y, T z, T w); + + // -- Conversion scalar constructors -- + + template + GLM_FUNC_DECL GLM_CONSTEXPR explicit vec(vec<1, U, P> const& v); + + /// Explicit conversions (From section 5.4.1 Conversion and scalar constructors of GLSL 1.30.08 specification) + template + GLM_FUNC_DECL GLM_CONSTEXPR vec(X _x, Y _y, Z _z, W _w); + template + GLM_FUNC_DECL GLM_CONSTEXPR vec(vec<1, X, Q> const& _x, Y _y, Z _z, W _w); + template + GLM_FUNC_DECL GLM_CONSTEXPR vec(X _x, vec<1, Y, Q> const& _y, Z _z, W _w); + template + GLM_FUNC_DECL GLM_CONSTEXPR vec(vec<1, X, Q> const& _x, vec<1, Y, Q> const& _y, Z _z, W _w); + template + GLM_FUNC_DECL GLM_CONSTEXPR vec(X _x, Y _y, vec<1, Z, Q> const& _z, W _w); + template + GLM_FUNC_DECL GLM_CONSTEXPR vec(vec<1, X, Q> const& _x, Y _y, vec<1, Z, Q> const& _z, W _w); + template + GLM_FUNC_DECL GLM_CONSTEXPR vec(X _x, vec<1, Y, Q> const& _y, vec<1, Z, Q> const& _z, W _w); + template + GLM_FUNC_DECL GLM_CONSTEXPR vec(vec<1, X, Q> const& _x, vec<1, Y, Q> const& _y, vec<1, Z, Q> const& _z, W _w); + template + GLM_FUNC_DECL GLM_CONSTEXPR vec(vec<1, X, Q> const& _x, Y _y, Z _z, vec<1, W, Q> const& _w); + template + GLM_FUNC_DECL GLM_CONSTEXPR vec(X _x, vec<1, Y, Q> const& _y, Z _z, vec<1, W, Q> const& _w); + template + GLM_FUNC_DECL GLM_CONSTEXPR vec(vec<1, X, Q> const& _x, vec<1, Y, Q> const& _y, Z _z, vec<1, W, Q> const& _w); + template + GLM_FUNC_DECL GLM_CONSTEXPR vec(X _x, Y _y, vec<1, Z, Q> const& _z, vec<1, W, Q> const& _w); + template + GLM_FUNC_DECL GLM_CONSTEXPR vec(vec<1, X, Q> const& _x, Y _y, vec<1, Z, Q> const& _z, vec<1, W, Q> const& _w); + template + GLM_FUNC_DECL GLM_CONSTEXPR vec(X _x, vec<1, Y, Q> const& _y, vec<1, Z, Q> const& _z, vec<1, W, Q> const& _w); + template + GLM_FUNC_DECL GLM_CONSTEXPR vec(vec<1, X, Q> const& _x, vec<1, Y, Q> const& _Y, vec<1, Z, Q> const& _z, vec<1, W, Q> const& _w); + + // -- Conversion vector constructors -- + + /// Explicit conversions (From section 5.4.1 Conversion and scalar constructors of GLSL 1.30.08 specification) + template + GLM_FUNC_DECL GLM_CONSTEXPR vec(vec<2, A, P> const& _xy, B _z, C _w); + /// Explicit conversions (From section 5.4.1 Conversion and scalar constructors of GLSL 1.30.08 specification) + template + GLM_FUNC_DECL GLM_CONSTEXPR vec(vec<2, A, P> const& _xy, vec<1, B, P> const& _z, C _w); + /// Explicit conversions (From section 5.4.1 Conversion and scalar constructors of GLSL 1.30.08 specification) + template + GLM_FUNC_DECL GLM_CONSTEXPR vec(vec<2, A, P> const& _xy, B _z, vec<1, C, P> const& _w); + /// Explicit conversions (From section 5.4.1 Conversion and scalar constructors of GLSL 1.30.08 specification) + template + GLM_FUNC_DECL GLM_CONSTEXPR vec(vec<2, A, P> const& _xy, vec<1, B, P> const& _z, vec<1, C, P> const& _w); + /// Explicit conversions (From section 5.4.1 Conversion and scalar constructors of GLSL 1.30.08 specification) + template + GLM_FUNC_DECL GLM_CONSTEXPR vec(A _x, vec<2, B, P> const& _yz, C _w); + /// Explicit conversions (From section 5.4.1 Conversion and scalar constructors of GLSL 1.30.08 specification) + template + GLM_FUNC_DECL GLM_CONSTEXPR vec(vec<1, A, P> const& _x, vec<2, B, P> const& _yz, C _w); + /// Explicit conversions (From section 5.4.1 Conversion and scalar constructors of GLSL 1.30.08 specification) + template + GLM_FUNC_DECL GLM_CONSTEXPR vec(A _x, vec<2, B, P> const& _yz, vec<1, C, P> const& _w); + /// Explicit conversions (From section 5.4.1 Conversion and scalar constructors of GLSL 1.30.08 specification) + template + GLM_FUNC_DECL GLM_CONSTEXPR vec(vec<1, A, P> const& _x, vec<2, B, P> const& _yz, vec<1, C, P> const& _w); + /// Explicit conversions (From section 5.4.1 Conversion and scalar constructors of GLSL 1.30.08 specification) + template + GLM_FUNC_DECL GLM_CONSTEXPR vec(A _x, B _y, vec<2, C, P> const& _zw); + /// Explicit conversions (From section 5.4.1 Conversion and scalar constructors of GLSL 1.30.08 specification) + template + GLM_FUNC_DECL GLM_CONSTEXPR vec(vec<1, A, P> const& _x, B _y, vec<2, C, P> const& _zw); + /// Explicit conversions (From section 5.4.1 Conversion and scalar constructors of GLSL 1.30.08 specification) + template + GLM_FUNC_DECL GLM_CONSTEXPR vec(A _x, vec<1, B, P> const& _y, vec<2, C, P> const& _zw); + /// Explicit conversions (From section 5.4.1 Conversion and scalar constructors of GLSL 1.30.08 specification) + template + GLM_FUNC_DECL GLM_CONSTEXPR vec(vec<1, A, P> const& _x, vec<1, B, P> const& _y, vec<2, C, P> const& _zw); + /// Explicit conversions (From section 5.4.1 Conversion and scalar constructors of GLSL 1.30.08 specification) + template + GLM_FUNC_DECL GLM_CONSTEXPR vec(vec<3, A, P> const& _xyz, B _w); + /// Explicit conversions (From section 5.4.1 Conversion and scalar constructors of GLSL 1.30.08 specification) + template + GLM_FUNC_DECL GLM_CONSTEXPR vec(vec<3, A, P> const& _xyz, vec<1, B, P> const& _w); + /// Explicit conversions (From section 5.4.1 Conversion and scalar constructors of GLSL 1.30.08 specification) + template + GLM_FUNC_DECL GLM_CONSTEXPR vec(A _x, vec<3, B, P> const& _yzw); + /// Explicit conversions (From section 5.4.1 Conversion and scalar constructors of GLSL 1.30.08 specification) + template + GLM_FUNC_DECL GLM_CONSTEXPR vec(vec<1, A, P> const& _x, vec<3, B, P> const& _yzw); + /// Explicit conversions (From section 5.4.1 Conversion and scalar constructors of GLSL 1.30.08 specification) + template + GLM_FUNC_DECL GLM_CONSTEXPR vec(vec<2, A, P> const& _xy, vec<2, B, P> const& _zw); + + /// Explicit conversions (From section 5.4.1 Conversion and scalar constructors of GLSL 1.30.08 specification) + template + GLM_FUNC_DECL GLM_CONSTEXPR GLM_EXPLICIT vec(vec<4, U, P> const& v); + + // -- Swizzle constructors -- +# if GLM_CONFIG_SWIZZLE == GLM_SWIZZLE_OPERATOR + template + GLM_FUNC_DECL GLM_CONSTEXPR vec(detail::_swizzle<4, T, Q, E0, E1, E2, E3> const& that) + { + *this = that(); + } + + template + GLM_FUNC_DECL GLM_CONSTEXPR vec(detail::_swizzle<2, T, Q, E0, E1, -1, -2> const& v, detail::_swizzle<2, T, Q, F0, F1, -1, -2> const& u) + { + *this = vec<4, T, Q>(v(), u()); + } + + template + GLM_FUNC_DECL GLM_CONSTEXPR vec(T const& x, T const& y, detail::_swizzle<2, T, Q, E0, E1, -1, -2> const& v) + { + *this = vec<4, T, Q>(x, y, v()); + } + + template + GLM_FUNC_DECL GLM_CONSTEXPR vec(T const& x, detail::_swizzle<2, T, Q, E0, E1, -1, -2> const& v, T const& w) + { + *this = vec<4, T, Q>(x, v(), w); + } + + template + GLM_FUNC_DECL GLM_CONSTEXPR vec(detail::_swizzle<2, T, Q, E0, E1, -1, -2> const& v, T const& z, T const& w) + { + *this = vec<4, T, Q>(v(), z, w); + } + + template + GLM_FUNC_DECL GLM_CONSTEXPR vec(detail::_swizzle<3, T, Q, E0, E1, E2, -1> const& v, T const& w) + { + *this = vec<4, T, Q>(v(), w); + } + + template + GLM_FUNC_DECL GLM_CONSTEXPR vec(T const& x, detail::_swizzle<3, T, Q, E0, E1, E2, -1> const& v) + { + *this = vec<4, T, Q>(x, v()); + } +# endif//GLM_CONFIG_SWIZZLE == GLM_SWIZZLE_OPERATOR + + // -- Unary arithmetic operators -- + + GLM_FUNC_DECL GLM_CONSTEXPR vec<4, T, Q>& operator=(vec<4, T, Q> const& v) GLM_DEFAULT; + + template + GLM_FUNC_DECL GLM_CONSTEXPR vec<4, T, Q>& operator=(vec<4, U, Q> const& v); + template + GLM_FUNC_DECL GLM_CONSTEXPR vec<4, T, Q>& operator+=(U scalar); + template + GLM_FUNC_DECL GLM_CONSTEXPR vec<4, T, Q>& operator+=(vec<1, U, Q> const& v); + template + GLM_FUNC_DECL GLM_CONSTEXPR vec<4, T, Q>& operator+=(vec<4, U, Q> const& v); + template + GLM_FUNC_DECL GLM_CONSTEXPR vec<4, T, Q>& operator-=(U scalar); + template + GLM_FUNC_DECL GLM_CONSTEXPR vec<4, T, Q>& operator-=(vec<1, U, Q> const& v); + template + GLM_FUNC_DECL GLM_CONSTEXPR vec<4, T, Q>& operator-=(vec<4, U, Q> const& v); + template + GLM_FUNC_DECL GLM_CONSTEXPR vec<4, T, Q>& operator*=(U scalar); + template + GLM_FUNC_DECL GLM_CONSTEXPR vec<4, T, Q>& operator*=(vec<1, U, Q> const& v); + template + GLM_FUNC_DECL GLM_CONSTEXPR vec<4, T, Q>& operator*=(vec<4, U, Q> const& v); + template + GLM_FUNC_DECL GLM_CONSTEXPR vec<4, T, Q>& operator/=(U scalar); + template + GLM_FUNC_DECL GLM_CONSTEXPR vec<4, T, Q>& operator/=(vec<1, U, Q> const& v); + template + GLM_FUNC_DECL GLM_CONSTEXPR vec<4, T, Q>& operator/=(vec<4, U, Q> const& v); + + // -- Increment and decrement operators -- + + GLM_FUNC_DECL GLM_CONSTEXPR vec<4, T, Q> & operator++(); + GLM_FUNC_DECL GLM_CONSTEXPR vec<4, T, Q> & operator--(); + GLM_FUNC_DECL GLM_CONSTEXPR vec<4, T, Q> operator++(int); + GLM_FUNC_DECL GLM_CONSTEXPR vec<4, T, Q> operator--(int); + + // -- Unary bit operators -- + + template + GLM_FUNC_DECL GLM_CONSTEXPR vec<4, T, Q> & operator%=(U scalar); + template + GLM_FUNC_DECL GLM_CONSTEXPR vec<4, T, Q> & operator%=(vec<1, U, Q> const& v); + template + GLM_FUNC_DECL GLM_CONSTEXPR vec<4, T, Q> & operator%=(vec<4, U, Q> const& v); + template + GLM_FUNC_DECL GLM_CONSTEXPR vec<4, T, Q> & operator&=(U scalar); + template + GLM_FUNC_DECL GLM_CONSTEXPR vec<4, T, Q> & operator&=(vec<1, U, Q> const& v); + template + GLM_FUNC_DECL GLM_CONSTEXPR vec<4, T, Q> & operator&=(vec<4, U, Q> const& v); + template + GLM_FUNC_DECL GLM_CONSTEXPR vec<4, T, Q> & operator|=(U scalar); + template + GLM_FUNC_DECL GLM_CONSTEXPR vec<4, T, Q> & operator|=(vec<1, U, Q> const& v); + template + GLM_FUNC_DECL GLM_CONSTEXPR vec<4, T, Q> & operator|=(vec<4, U, Q> const& v); + template + GLM_FUNC_DECL GLM_CONSTEXPR vec<4, T, Q> & operator^=(U scalar); + template + GLM_FUNC_DECL GLM_CONSTEXPR vec<4, T, Q> & operator^=(vec<1, U, Q> const& v); + template + GLM_FUNC_DECL GLM_CONSTEXPR vec<4, T, Q> & operator^=(vec<4, U, Q> const& v); + template + GLM_FUNC_DECL GLM_CONSTEXPR vec<4, T, Q> & operator<<=(U scalar); + template + GLM_FUNC_DECL GLM_CONSTEXPR vec<4, T, Q> & operator<<=(vec<1, U, Q> const& v); + template + GLM_FUNC_DECL GLM_CONSTEXPR vec<4, T, Q> & operator<<=(vec<4, U, Q> const& v); + template + GLM_FUNC_DECL GLM_CONSTEXPR vec<4, T, Q> & operator>>=(U scalar); + template + GLM_FUNC_DECL GLM_CONSTEXPR vec<4, T, Q> & operator>>=(vec<1, U, Q> const& v); + template + GLM_FUNC_DECL GLM_CONSTEXPR vec<4, T, Q> & operator>>=(vec<4, U, Q> const& v); + }; + + // -- Unary operators -- + + template + GLM_FUNC_DECL GLM_CONSTEXPR vec<4, T, Q> operator+(vec<4, T, Q> const& v); + + template + GLM_FUNC_DECL GLM_CONSTEXPR vec<4, T, Q> operator-(vec<4, T, Q> const& v); + + // -- Binary operators -- + + template + GLM_FUNC_DECL GLM_CONSTEXPR vec<4, T, Q> operator+(vec<4, T, Q> const& v, T const & scalar); + + template + GLM_FUNC_DECL GLM_CONSTEXPR vec<4, T, Q> operator+(vec<4, T, Q> const& v1, vec<1, T, Q> const& v2); + + template + GLM_FUNC_DECL GLM_CONSTEXPR vec<4, T, Q> operator+(T scalar, vec<4, T, Q> const& v); + + template + GLM_FUNC_DECL GLM_CONSTEXPR vec<4, T, Q> operator+(vec<1, T, Q> const& v1, vec<4, T, Q> const& v2); + + template + GLM_FUNC_DECL GLM_CONSTEXPR vec<4, T, Q> operator+(vec<4, T, Q> const& v1, vec<4, T, Q> const& v2); + + template + GLM_FUNC_DECL GLM_CONSTEXPR vec<4, T, Q> operator-(vec<4, T, Q> const& v, T const & scalar); + + template + GLM_FUNC_DECL GLM_CONSTEXPR vec<4, T, Q> operator-(vec<4, T, Q> const& v1, vec<1, T, Q> const& v2); + + template + GLM_FUNC_DECL GLM_CONSTEXPR vec<4, T, Q> operator-(T scalar, vec<4, T, Q> const& v); + + template + GLM_FUNC_DECL GLM_CONSTEXPR vec<4, T, Q> operator-(vec<1, T, Q> const& v1, vec<4, T, Q> const& v2); + + template + GLM_FUNC_DECL GLM_CONSTEXPR vec<4, T, Q> operator-(vec<4, T, Q> const& v1, vec<4, T, Q> const& v2); + + template + GLM_FUNC_DECL GLM_CONSTEXPR vec<4, T, Q> operator*(vec<4, T, Q> const& v, T const & scalar); + + template + GLM_FUNC_DECL GLM_CONSTEXPR vec<4, T, Q> operator*(vec<4, T, Q> const& v1, vec<1, T, Q> const& v2); + + template + GLM_FUNC_DECL GLM_CONSTEXPR vec<4, T, Q> operator*(T scalar, vec<4, T, Q> const& v); + + template + GLM_FUNC_DECL GLM_CONSTEXPR vec<4, T, Q> operator*(vec<1, T, Q> const& v1, vec<4, T, Q> const& v2); + + template + GLM_FUNC_DECL GLM_CONSTEXPR vec<4, T, Q> operator*(vec<4, T, Q> const& v1, vec<4, T, Q> const& v2); + + template + GLM_FUNC_DECL GLM_CONSTEXPR vec<4, T, Q> operator/(vec<4, T, Q> const& v, T const & scalar); + + template + GLM_FUNC_DECL GLM_CONSTEXPR vec<4, T, Q> operator/(vec<4, T, Q> const& v1, vec<1, T, Q> const& v2); + + template + GLM_FUNC_DECL GLM_CONSTEXPR vec<4, T, Q> operator/(T scalar, vec<4, T, Q> const& v); + + template + GLM_FUNC_DECL GLM_CONSTEXPR vec<4, T, Q> operator/(vec<1, T, Q> const& v1, vec<4, T, Q> const& v2); + + template + GLM_FUNC_DECL GLM_CONSTEXPR vec<4, T, Q> operator/(vec<4, T, Q> const& v1, vec<4, T, Q> const& v2); + + template + GLM_FUNC_DECL GLM_CONSTEXPR vec<4, T, Q> operator%(vec<4, T, Q> const& v, T scalar); + + template + GLM_FUNC_DECL GLM_CONSTEXPR vec<4, T, Q> operator%(vec<4, T, Q> const& v, vec<1, T, Q> const& scalar); + + template + GLM_FUNC_DECL GLM_CONSTEXPR vec<4, T, Q> operator%(T scalar, vec<4, T, Q> const& v); + + template + GLM_FUNC_DECL GLM_CONSTEXPR vec<4, T, Q> operator%(vec<1, T, Q> const& scalar, vec<4, T, Q> const& v); + + template + GLM_FUNC_DECL GLM_CONSTEXPR vec<4, T, Q> operator%(vec<4, T, Q> const& v1, vec<4, T, Q> const& v2); + + template + GLM_FUNC_DECL GLM_CONSTEXPR vec<4, T, Q> operator&(vec<4, T, Q> const& v, T scalar); + + template + GLM_FUNC_DECL GLM_CONSTEXPR vec<4, T, Q> operator&(vec<4, T, Q> const& v, vec<1, T, Q> const& scalar); + + template + GLM_FUNC_DECL GLM_CONSTEXPR vec<4, T, Q> operator&(T scalar, vec<4, T, Q> const& v); + + template + GLM_FUNC_DECL GLM_CONSTEXPR vec<4, T, Q> operator&(vec<1, T, Q> const& scalar, vec<4, T, Q> const& v); + + template + GLM_FUNC_DECL GLM_CONSTEXPR vec<4, T, Q> operator&(vec<4, T, Q> const& v1, vec<4, T, Q> const& v2); + + template + GLM_FUNC_DECL GLM_CONSTEXPR vec<4, T, Q> operator|(vec<4, T, Q> const& v, T scalar); + + template + GLM_FUNC_DECL GLM_CONSTEXPR vec<4, T, Q> operator|(vec<4, T, Q> const& v, vec<1, T, Q> const& scalar); + + template + GLM_FUNC_DECL GLM_CONSTEXPR vec<4, T, Q> operator|(T scalar, vec<4, T, Q> const& v); + + template + GLM_FUNC_DECL GLM_CONSTEXPR vec<4, T, Q> operator|(vec<1, T, Q> const& scalar, vec<4, T, Q> const& v); + + template + GLM_FUNC_DECL GLM_CONSTEXPR vec<4, T, Q> operator|(vec<4, T, Q> const& v1, vec<4, T, Q> const& v2); + + template + GLM_FUNC_DECL GLM_CONSTEXPR vec<4, T, Q> operator^(vec<4, T, Q> const& v, T scalar); + + template + GLM_FUNC_DECL GLM_CONSTEXPR vec<4, T, Q> operator^(vec<4, T, Q> const& v, vec<1, T, Q> const& scalar); + + template + GLM_FUNC_DECL GLM_CONSTEXPR vec<4, T, Q> operator^(T scalar, vec<4, T, Q> const& v); + + template + GLM_FUNC_DECL GLM_CONSTEXPR vec<4, T, Q> operator^(vec<1, T, Q> const& scalar, vec<4, T, Q> const& v); + + template + GLM_FUNC_DECL GLM_CONSTEXPR vec<4, T, Q> operator^(vec<4, T, Q> const& v1, vec<4, T, Q> const& v2); + + template + GLM_FUNC_DECL GLM_CONSTEXPR vec<4, T, Q> operator<<(vec<4, T, Q> const& v, T scalar); + + template + GLM_FUNC_DECL GLM_CONSTEXPR vec<4, T, Q> operator<<(vec<4, T, Q> const& v, vec<1, T, Q> const& scalar); + + template + GLM_FUNC_DECL GLM_CONSTEXPR vec<4, T, Q> operator<<(T scalar, vec<4, T, Q> const& v); + + template + GLM_FUNC_DECL GLM_CONSTEXPR vec<4, T, Q> operator<<(vec<1, T, Q> const& scalar, vec<4, T, Q> const& v); + + template + GLM_FUNC_DECL GLM_CONSTEXPR vec<4, T, Q> operator<<(vec<4, T, Q> const& v1, vec<4, T, Q> const& v2); + + template + GLM_FUNC_DECL GLM_CONSTEXPR vec<4, T, Q> operator>>(vec<4, T, Q> const& v, T scalar); + + template + GLM_FUNC_DECL GLM_CONSTEXPR vec<4, T, Q> operator>>(vec<4, T, Q> const& v, vec<1, T, Q> const& scalar); + + template + GLM_FUNC_DECL GLM_CONSTEXPR vec<4, T, Q> operator>>(T scalar, vec<4, T, Q> const& v); + + template + GLM_FUNC_DECL GLM_CONSTEXPR vec<4, T, Q> operator>>(vec<1, T, Q> const& scalar, vec<4, T, Q> const& v); + + template + GLM_FUNC_DECL GLM_CONSTEXPR vec<4, T, Q> operator>>(vec<4, T, Q> const& v1, vec<4, T, Q> const& v2); + + template + GLM_FUNC_DECL GLM_CONSTEXPR vec<4, T, Q> operator~(vec<4, T, Q> const& v); + + // -- Boolean operators -- + + template + GLM_FUNC_DECL GLM_CONSTEXPR bool operator==(vec<4, T, Q> const& v1, vec<4, T, Q> const& v2); + + template + GLM_FUNC_DECL GLM_CONSTEXPR bool operator!=(vec<4, T, Q> const& v1, vec<4, T, Q> const& v2); + + template + GLM_FUNC_DECL GLM_CONSTEXPR vec<4, bool, Q> operator&&(vec<4, bool, Q> const& v1, vec<4, bool, Q> const& v2); + + template + GLM_FUNC_DECL GLM_CONSTEXPR vec<4, bool, Q> operator||(vec<4, bool, Q> const& v1, vec<4, bool, Q> const& v2); +}//namespace glm + +#ifndef GLM_EXTERNAL_TEMPLATE +#include "type_vec4.inl" +#endif//GLM_EXTERNAL_TEMPLATE diff --git a/MacroLibX/third_party/glm/detail/type_vec4.inl b/MacroLibX/third_party/glm/detail/type_vec4.inl new file mode 100644 index 0000000..3c212d9 --- /dev/null +++ b/MacroLibX/third_party/glm/detail/type_vec4.inl @@ -0,0 +1,1140 @@ +/// @ref core + +#include "compute_vector_relational.hpp" + +namespace glm{ +namespace detail +{ + template + struct compute_vec4_add + { + GLM_FUNC_QUALIFIER GLM_CONSTEXPR static vec<4, T, Q> call(vec<4, T, Q> const& a, vec<4, T, Q> const& b) + { + return vec<4, T, Q>(a.x + b.x, a.y + b.y, a.z + b.z, a.w + b.w); + } + }; + + template + struct compute_vec4_sub + { + GLM_FUNC_QUALIFIER GLM_CONSTEXPR static vec<4, T, Q> call(vec<4, T, Q> const& a, vec<4, T, Q> const& b) + { + return vec<4, T, Q>(a.x - b.x, a.y - b.y, a.z - b.z, a.w - b.w); + } + }; + + template + struct compute_vec4_mul + { + GLM_FUNC_QUALIFIER GLM_CONSTEXPR static vec<4, T, Q> call(vec<4, T, Q> const& a, vec<4, T, Q> const& b) + { + return vec<4, T, Q>(a.x * b.x, a.y * b.y, a.z * b.z, a.w * b.w); + } + }; + + template + struct compute_vec4_div + { + GLM_FUNC_QUALIFIER GLM_CONSTEXPR static vec<4, T, Q> call(vec<4, T, Q> const& a, vec<4, T, Q> const& b) + { + return vec<4, T, Q>(a.x / b.x, a.y / b.y, a.z / b.z, a.w / b.w); + } + }; + + template + struct compute_vec4_mod + { + GLM_FUNC_QUALIFIER GLM_CONSTEXPR static vec<4, T, Q> call(vec<4, T, Q> const& a, vec<4, T, Q> const& b) + { + return vec<4, T, Q>(a.x % b.x, a.y % b.y, a.z % b.z, a.w % b.w); + } + }; + + template + struct compute_vec4_and + { + GLM_FUNC_QUALIFIER GLM_CONSTEXPR static vec<4, T, Q> call(vec<4, T, Q> const& a, vec<4, T, Q> const& b) + { + return vec<4, T, Q>(a.x & b.x, a.y & b.y, a.z & b.z, a.w & b.w); + } + }; + + template + struct compute_vec4_or + { + GLM_FUNC_QUALIFIER GLM_CONSTEXPR static vec<4, T, Q> call(vec<4, T, Q> const& a, vec<4, T, Q> const& b) + { + return vec<4, T, Q>(a.x | b.x, a.y | b.y, a.z | b.z, a.w | b.w); + } + }; + + template + struct compute_vec4_xor + { + GLM_FUNC_QUALIFIER GLM_CONSTEXPR static vec<4, T, Q> call(vec<4, T, Q> const& a, vec<4, T, Q> const& b) + { + return vec<4, T, Q>(a.x ^ b.x, a.y ^ b.y, a.z ^ b.z, a.w ^ b.w); + } + }; + + template + struct compute_vec4_shift_left + { + GLM_FUNC_QUALIFIER GLM_CONSTEXPR static vec<4, T, Q> call(vec<4, T, Q> const& a, vec<4, T, Q> const& b) + { + return vec<4, T, Q>(a.x << b.x, a.y << b.y, a.z << b.z, a.w << b.w); + } + }; + + template + struct compute_vec4_shift_right + { + GLM_FUNC_QUALIFIER GLM_CONSTEXPR static vec<4, T, Q> call(vec<4, T, Q> const& a, vec<4, T, Q> const& b) + { + return vec<4, T, Q>(a.x >> b.x, a.y >> b.y, a.z >> b.z, a.w >> b.w); + } + }; + + template + struct compute_vec4_equal + { + GLM_FUNC_QUALIFIER GLM_CONSTEXPR static bool call(vec<4, T, Q> const& v1, vec<4, T, Q> const& v2) + { + return + detail::compute_equal::is_iec559>::call(v1.x, v2.x) && + detail::compute_equal::is_iec559>::call(v1.y, v2.y) && + detail::compute_equal::is_iec559>::call(v1.z, v2.z) && + detail::compute_equal::is_iec559>::call(v1.w, v2.w); + } + }; + + template + struct compute_vec4_nequal + { + GLM_FUNC_QUALIFIER GLM_CONSTEXPR static bool call(vec<4, T, Q> const& v1, vec<4, T, Q> const& v2) + { + return !compute_vec4_equal::value, sizeof(T) * 8, detail::is_aligned::value>::call(v1, v2); + } + }; + + template + struct compute_vec4_bitwise_not + { + GLM_FUNC_QUALIFIER GLM_CONSTEXPR static vec<4, T, Q> call(vec<4, T, Q> const& v) + { + return vec<4, T, Q>(~v.x, ~v.y, ~v.z, ~v.w); + } + }; +}//namespace detail + + // -- Implicit basic constructors -- + +# if GLM_CONFIG_DEFAULTED_FUNCTIONS == GLM_DISABLE + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<4, T, Q>::vec() +# if GLM_CONFIG_CTOR_INIT != GLM_CTOR_INIT_DISABLE + : x(0), y(0), z(0), w(0) +# endif + {} + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<4, T, Q>::vec(vec<4, T, Q> const& v) + : x(v.x), y(v.y), z(v.z), w(v.w) + {} +# endif + + template + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<4, T, Q>::vec(vec<4, T, P> const& v) + : x(v.x), y(v.y), z(v.z), w(v.w) + {} + + // -- Explicit basic constructors -- + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<4, T, Q>::vec(T scalar) + : x(scalar), y(scalar), z(scalar), w(scalar) + {} + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<4, T, Q>::vec(T _x, T _y, T _z, T _w) + : x(_x), y(_y), z(_z), w(_w) + {} + + // -- Conversion scalar constructors -- + + template + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<4, T, Q>::vec(vec<1, U, P> const& v) + : x(static_cast(v.x)) + , y(static_cast(v.x)) + , z(static_cast(v.x)) + , w(static_cast(v.x)) + {} + + template + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<4, T, Q>::vec(X _x, Y _y, Z _z, W _w) + : x(static_cast(_x)) + , y(static_cast(_y)) + , z(static_cast(_z)) + , w(static_cast(_w)) + {} + + template + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<4, T, Q>::vec(vec<1, X, Q> const& _x, Y _y, Z _z, W _w) + : x(static_cast(_x.x)) + , y(static_cast(_y)) + , z(static_cast(_z)) + , w(static_cast(_w)) + {} + + template + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<4, T, Q>::vec(X _x, vec<1, Y, Q> const& _y, Z _z, W _w) + : x(static_cast(_x)) + , y(static_cast(_y.x)) + , z(static_cast(_z)) + , w(static_cast(_w)) + {} + + template + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<4, T, Q>::vec(vec<1, X, Q> const& _x, vec<1, Y, Q> const& _y, Z _z, W _w) + : x(static_cast(_x.x)) + , y(static_cast(_y.x)) + , z(static_cast(_z)) + , w(static_cast(_w)) + {} + + template + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<4, T, Q>::vec(X _x, Y _y, vec<1, Z, Q> const& _z, W _w) + : x(static_cast(_x)) + , y(static_cast(_y)) + , z(static_cast(_z.x)) + , w(static_cast(_w)) + {} + + template + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<4, T, Q>::vec(vec<1, X, Q> const& _x, Y _y, vec<1, Z, Q> const& _z, W _w) + : x(static_cast(_x.x)) + , y(static_cast(_y)) + , z(static_cast(_z.x)) + , w(static_cast(_w)) + {} + + template + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<4, T, Q>::vec(X _x, vec<1, Y, Q> const& _y, vec<1, Z, Q> const& _z, W _w) + : x(static_cast(_x)) + , y(static_cast(_y.x)) + , z(static_cast(_z.x)) + , w(static_cast(_w)) + {} + + template + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<4, T, Q>::vec(vec<1, X, Q> const& _x, vec<1, Y, Q> const& _y, vec<1, Z, Q> const& _z, W _w) + : x(static_cast(_x.x)) + , y(static_cast(_y.x)) + , z(static_cast(_z.x)) + , w(static_cast(_w)) + {} + + template + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<4, T, Q>::vec(vec<1, X, Q> const& _x, Y _y, Z _z, vec<1, W, Q> const& _w) + : x(static_cast(_x.x)) + , y(static_cast(_y)) + , z(static_cast(_z)) + , w(static_cast(_w.x)) + {} + + template + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<4, T, Q>::vec(X _x, vec<1, Y, Q> const& _y, Z _z, vec<1, W, Q> const& _w) + : x(static_cast(_x)) + , y(static_cast(_y.x)) + , z(static_cast(_z)) + , w(static_cast(_w.x)) + {} + + template + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<4, T, Q>::vec(vec<1, X, Q> const& _x, vec<1, Y, Q> const& _y, Z _z, vec<1, W, Q> const& _w) + : x(static_cast(_x.x)) + , y(static_cast(_y.x)) + , z(static_cast(_z)) + , w(static_cast(_w.x)) + {} + + template + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<4, T, Q>::vec(X _x, Y _y, vec<1, Z, Q> const& _z, vec<1, W, Q> const& _w) + : x(static_cast(_x)) + , y(static_cast(_y)) + , z(static_cast(_z.x)) + , w(static_cast(_w.x)) + {} + + template + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<4, T, Q>::vec(vec<1, X, Q> const& _x, Y _y, vec<1, Z, Q> const& _z, vec<1, W, Q> const& _w) + : x(static_cast(_x.x)) + , y(static_cast(_y)) + , z(static_cast(_z.x)) + , w(static_cast(_w.x)) + {} + + template + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<4, T, Q>::vec(X _x, vec<1, Y, Q> const& _y, vec<1, Z, Q> const& _z, vec<1, W, Q> const& _w) + : x(static_cast(_x)) + , y(static_cast(_y.x)) + , z(static_cast(_z.x)) + , w(static_cast(_w.x)) + {} + + template + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<4, T, Q>::vec(vec<1, X, Q> const& _x, vec<1, Y, Q> const& _y, vec<1, Z, Q> const& _z, vec<1, W, Q> const& _w) + : x(static_cast(_x.x)) + , y(static_cast(_y.x)) + , z(static_cast(_z.x)) + , w(static_cast(_w.x)) + {} + + // -- Conversion vector constructors -- + + template + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<4, T, Q>::vec(vec<2, A, P> const& _xy, B _z, C _w) + : x(static_cast(_xy.x)) + , y(static_cast(_xy.y)) + , z(static_cast(_z)) + , w(static_cast(_w)) + {} + + template + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<4, T, Q>::vec(vec<2, A, P> const& _xy, vec<1, B, P> const& _z, C _w) + : x(static_cast(_xy.x)) + , y(static_cast(_xy.y)) + , z(static_cast(_z.x)) + , w(static_cast(_w)) + {} + + template + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<4, T, Q>::vec(vec<2, A, P> const& _xy, B _z, vec<1, C, P> const& _w) + : x(static_cast(_xy.x)) + , y(static_cast(_xy.y)) + , z(static_cast(_z)) + , w(static_cast(_w.x)) + {} + + template + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<4, T, Q>::vec(vec<2, A, P> const& _xy, vec<1, B, P> const& _z, vec<1, C, P> const& _w) + : x(static_cast(_xy.x)) + , y(static_cast(_xy.y)) + , z(static_cast(_z.x)) + , w(static_cast(_w.x)) + {} + + template + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<4, T, Q>::vec(A _x, vec<2, B, P> const& _yz, C _w) + : x(static_cast(_x)) + , y(static_cast(_yz.x)) + , z(static_cast(_yz.y)) + , w(static_cast(_w)) + {} + + template + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<4, T, Q>::vec(vec<1, A, P> const& _x, vec<2, B, P> const& _yz, C _w) + : x(static_cast(_x.x)) + , y(static_cast(_yz.x)) + , z(static_cast(_yz.y)) + , w(static_cast(_w)) + {} + + template + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<4, T, Q>::vec(A _x, vec<2, B, P> const& _yz, vec<1, C, P> const& _w) + : x(static_cast(_x)) + , y(static_cast(_yz.x)) + , z(static_cast(_yz.y)) + , w(static_cast(_w.x)) + {} + + template + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<4, T, Q>::vec(vec<1, A, P> const& _x, vec<2, B, P> const& _yz, vec<1, C, P> const& _w) + : x(static_cast(_x.x)) + , y(static_cast(_yz.x)) + , z(static_cast(_yz.y)) + , w(static_cast(_w.x)) + {} + + template + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<4, T, Q>::vec(A _x, B _y, vec<2, C, P> const& _zw) + : x(static_cast(_x)) + , y(static_cast(_y)) + , z(static_cast(_zw.x)) + , w(static_cast(_zw.y)) + {} + + template + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<4, T, Q>::vec(vec<1, A, P> const& _x, B _y, vec<2, C, P> const& _zw) + : x(static_cast(_x.x)) + , y(static_cast(_y)) + , z(static_cast(_zw.x)) + , w(static_cast(_zw.y)) + {} + + template + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<4, T, Q>::vec(A _x, vec<1, B, P> const& _y, vec<2, C, P> const& _zw) + : x(static_cast(_x)) + , y(static_cast(_y.x)) + , z(static_cast(_zw.x)) + , w(static_cast(_zw.y)) + {} + + template + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<4, T, Q>::vec(vec<1, A, P> const& _x, vec<1, B, P> const& _y, vec<2, C, P> const& _zw) + : x(static_cast(_x.x)) + , y(static_cast(_y.x)) + , z(static_cast(_zw.x)) + , w(static_cast(_zw.y)) + {} + + template + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<4, T, Q>::vec(vec<3, A, P> const& _xyz, B _w) + : x(static_cast(_xyz.x)) + , y(static_cast(_xyz.y)) + , z(static_cast(_xyz.z)) + , w(static_cast(_w)) + {} + + template + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<4, T, Q>::vec(vec<3, A, P> const& _xyz, vec<1, B, P> const& _w) + : x(static_cast(_xyz.x)) + , y(static_cast(_xyz.y)) + , z(static_cast(_xyz.z)) + , w(static_cast(_w.x)) + {} + + template + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<4, T, Q>::vec(A _x, vec<3, B, P> const& _yzw) + : x(static_cast(_x)) + , y(static_cast(_yzw.x)) + , z(static_cast(_yzw.y)) + , w(static_cast(_yzw.z)) + {} + + template + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<4, T, Q>::vec(vec<1, A, P> const& _x, vec<3, B, P> const& _yzw) + : x(static_cast(_x.x)) + , y(static_cast(_yzw.x)) + , z(static_cast(_yzw.y)) + , w(static_cast(_yzw.z)) + {} + + template + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<4, T, Q>::vec(vec<2, A, P> const& _xy, vec<2, B, P> const& _zw) + : x(static_cast(_xy.x)) + , y(static_cast(_xy.y)) + , z(static_cast(_zw.x)) + , w(static_cast(_zw.y)) + {} + + template + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<4, T, Q>::vec(vec<4, U, P> const& v) + : x(static_cast(v.x)) + , y(static_cast(v.y)) + , z(static_cast(v.z)) + , w(static_cast(v.w)) + {} + + // -- Component accesses -- + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR T& vec<4, T, Q>::operator[](typename vec<4, T, Q>::length_type i) + { + assert(i >= 0 && i < this->length()); + switch(i) + { + default: + case 0: + return x; + case 1: + return y; + case 2: + return z; + case 3: + return w; + } + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR T const& vec<4, T, Q>::operator[](typename vec<4, T, Q>::length_type i) const + { + assert(i >= 0 && i < this->length()); + switch(i) + { + default: + case 0: + return x; + case 1: + return y; + case 2: + return z; + case 3: + return w; + } + } + + // -- Unary arithmetic operators -- + +# if GLM_CONFIG_DEFAULTED_FUNCTIONS == GLM_DISABLE + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<4, T, Q>& vec<4, T, Q>::operator=(vec<4, T, Q> const& v) + { + this->x = v.x; + this->y = v.y; + this->z = v.z; + this->w = v.w; + return *this; + } +# endif + + template + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<4, T, Q>& vec<4, T, Q>::operator=(vec<4, U, Q> const& v) + { + this->x = static_cast(v.x); + this->y = static_cast(v.y); + this->z = static_cast(v.z); + this->w = static_cast(v.w); + return *this; + } + + template + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<4, T, Q> & vec<4, T, Q>::operator+=(U scalar) + { + return (*this = detail::compute_vec4_add::value>::call(*this, vec<4, T, Q>(scalar))); + } + + template + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<4, T, Q> & vec<4, T, Q>::operator+=(vec<1, U, Q> const& v) + { + return (*this = detail::compute_vec4_add::value>::call(*this, vec<4, T, Q>(v.x))); + } + + template + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<4, T, Q> & vec<4, T, Q>::operator+=(vec<4, U, Q> const& v) + { + return (*this = detail::compute_vec4_add::value>::call(*this, vec<4, T, Q>(v))); + } + + template + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<4, T, Q> & vec<4, T, Q>::operator-=(U scalar) + { + return (*this = detail::compute_vec4_sub::value>::call(*this, vec<4, T, Q>(scalar))); + } + + template + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<4, T, Q> & vec<4, T, Q>::operator-=(vec<1, U, Q> const& v) + { + return (*this = detail::compute_vec4_sub::value>::call(*this, vec<4, T, Q>(v.x))); + } + + template + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<4, T, Q> & vec<4, T, Q>::operator-=(vec<4, U, Q> const& v) + { + return (*this = detail::compute_vec4_sub::value>::call(*this, vec<4, T, Q>(v))); + } + + template + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<4, T, Q> & vec<4, T, Q>::operator*=(U scalar) + { + return (*this = detail::compute_vec4_mul::value>::call(*this, vec<4, T, Q>(scalar))); + } + + template + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<4, T, Q> & vec<4, T, Q>::operator*=(vec<1, U, Q> const& v) + { + return (*this = detail::compute_vec4_mul::value>::call(*this, vec<4, T, Q>(v.x))); + } + + template + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<4, T, Q> & vec<4, T, Q>::operator*=(vec<4, U, Q> const& v) + { + return (*this = detail::compute_vec4_mul::value>::call(*this, vec<4, T, Q>(v))); + } + + template + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<4, T, Q> & vec<4, T, Q>::operator/=(U scalar) + { + return (*this = detail::compute_vec4_div::value>::call(*this, vec<4, T, Q>(scalar))); + } + + template + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<4, T, Q> & vec<4, T, Q>::operator/=(vec<1, U, Q> const& v) + { + return (*this = detail::compute_vec4_div::value>::call(*this, vec<4, T, Q>(v.x))); + } + + template + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<4, T, Q> & vec<4, T, Q>::operator/=(vec<4, U, Q> const& v) + { + return (*this = detail::compute_vec4_div::value>::call(*this, vec<4, T, Q>(v))); + } + + // -- Increment and decrement operators -- + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<4, T, Q> & vec<4, T, Q>::operator++() + { + ++this->x; + ++this->y; + ++this->z; + ++this->w; + return *this; + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<4, T, Q> & vec<4, T, Q>::operator--() + { + --this->x; + --this->y; + --this->z; + --this->w; + return *this; + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<4, T, Q> vec<4, T, Q>::operator++(int) + { + vec<4, T, Q> Result(*this); + ++*this; + return Result; + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<4, T, Q> vec<4, T, Q>::operator--(int) + { + vec<4, T, Q> Result(*this); + --*this; + return Result; + } + + // -- Unary bit operators -- + + template + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<4, T, Q> & vec<4, T, Q>::operator%=(U scalar) + { + return (*this = detail::compute_vec4_mod::value>::call(*this, vec<4, T, Q>(scalar))); + } + + template + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<4, T, Q> & vec<4, T, Q>::operator%=(vec<1, U, Q> const& v) + { + return (*this = detail::compute_vec4_mod::value>::call(*this, vec<4, T, Q>(v))); + } + + template + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<4, T, Q> & vec<4, T, Q>::operator%=(vec<4, U, Q> const& v) + { + return (*this = detail::compute_vec4_mod::value>::call(*this, vec<4, T, Q>(v))); + } + + template + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<4, T, Q> & vec<4, T, Q>::operator&=(U scalar) + { + return (*this = detail::compute_vec4_and::value, sizeof(T) * 8, detail::is_aligned::value>::call(*this, vec<4, T, Q>(scalar))); + } + + template + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<4, T, Q> & vec<4, T, Q>::operator&=(vec<1, U, Q> const& v) + { + return (*this = detail::compute_vec4_and::value, sizeof(T) * 8, detail::is_aligned::value>::call(*this, vec<4, T, Q>(v))); + } + + template + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<4, T, Q> & vec<4, T, Q>::operator&=(vec<4, U, Q> const& v) + { + return (*this = detail::compute_vec4_and::value, sizeof(T) * 8, detail::is_aligned::value>::call(*this, vec<4, T, Q>(v))); + } + + template + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<4, T, Q> & vec<4, T, Q>::operator|=(U scalar) + { + return (*this = detail::compute_vec4_or::value, sizeof(T) * 8, detail::is_aligned::value>::call(*this, vec<4, T, Q>(scalar))); + } + + template + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<4, T, Q> & vec<4, T, Q>::operator|=(vec<1, U, Q> const& v) + { + return (*this = detail::compute_vec4_or::value, sizeof(T) * 8, detail::is_aligned::value>::call(*this, vec<4, T, Q>(v))); + } + + template + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<4, T, Q> & vec<4, T, Q>::operator|=(vec<4, U, Q> const& v) + { + return (*this = detail::compute_vec4_or::value, sizeof(T) * 8, detail::is_aligned::value>::call(*this, vec<4, T, Q>(v))); + } + + template + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<4, T, Q> & vec<4, T, Q>::operator^=(U scalar) + { + return (*this = detail::compute_vec4_xor::value, sizeof(T) * 8, detail::is_aligned::value>::call(*this, vec<4, T, Q>(scalar))); + } + + template + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<4, T, Q> & vec<4, T, Q>::operator^=(vec<1, U, Q> const& v) + { + return (*this = detail::compute_vec4_xor::value, sizeof(T) * 8, detail::is_aligned::value>::call(*this, vec<4, T, Q>(v))); + } + + template + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<4, T, Q> & vec<4, T, Q>::operator^=(vec<4, U, Q> const& v) + { + return (*this = detail::compute_vec4_xor::value, sizeof(T) * 8, detail::is_aligned::value>::call(*this, vec<4, T, Q>(v))); + } + + template + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<4, T, Q> & vec<4, T, Q>::operator<<=(U scalar) + { + return (*this = detail::compute_vec4_shift_left::value, sizeof(T) * 8, detail::is_aligned::value>::call(*this, vec<4, T, Q>(scalar))); + } + + template + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<4, T, Q> & vec<4, T, Q>::operator<<=(vec<1, U, Q> const& v) + { + return (*this = detail::compute_vec4_shift_left::value, sizeof(T) * 8, detail::is_aligned::value>::call(*this, vec<4, T, Q>(v))); + } + + template + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<4, T, Q> & vec<4, T, Q>::operator<<=(vec<4, U, Q> const& v) + { + return (*this = detail::compute_vec4_shift_left::value, sizeof(T) * 8, detail::is_aligned::value>::call(*this, vec<4, T, Q>(v))); + } + + template + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<4, T, Q> & vec<4, T, Q>::operator>>=(U scalar) + { + return (*this = detail::compute_vec4_shift_right::value, sizeof(T) * 8, detail::is_aligned::value>::call(*this, vec<4, T, Q>(scalar))); + } + + template + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<4, T, Q> & vec<4, T, Q>::operator>>=(vec<1, U, Q> const& v) + { + return (*this = detail::compute_vec4_shift_right::value, sizeof(T) * 8, detail::is_aligned::value>::call(*this, vec<4, T, Q>(v))); + } + + template + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<4, T, Q> & vec<4, T, Q>::operator>>=(vec<4, U, Q> const& v) + { + return (*this = detail::compute_vec4_shift_right::value, sizeof(T) * 8, detail::is_aligned::value>::call(*this, vec<4, T, Q>(v))); + } + + // -- Unary constant operators -- + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<4, T, Q> operator+(vec<4, T, Q> const& v) + { + return v; + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<4, T, Q> operator-(vec<4, T, Q> const& v) + { + return vec<4, T, Q>(0) -= v; + } + + // -- Binary arithmetic operators -- + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<4, T, Q> operator+(vec<4, T, Q> const& v, T const & scalar) + { + return vec<4, T, Q>(v) += scalar; + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<4, T, Q> operator+(vec<4, T, Q> const& v1, vec<1, T, Q> const& v2) + { + return vec<4, T, Q>(v1) += v2; + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<4, T, Q> operator+(T scalar, vec<4, T, Q> const& v) + { + return vec<4, T, Q>(v) += scalar; + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<4, T, Q> operator+(vec<1, T, Q> const& v1, vec<4, T, Q> const& v2) + { + return vec<4, T, Q>(v2) += v1; + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<4, T, Q> operator+(vec<4, T, Q> const& v1, vec<4, T, Q> const& v2) + { + return vec<4, T, Q>(v1) += v2; + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<4, T, Q> operator-(vec<4, T, Q> const& v, T const & scalar) + { + return vec<4, T, Q>(v) -= scalar; + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<4, T, Q> operator-(vec<4, T, Q> const& v1, vec<1, T, Q> const& v2) + { + return vec<4, T, Q>(v1) -= v2; + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<4, T, Q> operator-(T scalar, vec<4, T, Q> const& v) + { + return vec<4, T, Q>(scalar) -= v; + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<4, T, Q> operator-(vec<1, T, Q> const& v1, vec<4, T, Q> const& v2) + { + return vec<4, T, Q>(v1.x) -= v2; + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<4, T, Q> operator-(vec<4, T, Q> const& v1, vec<4, T, Q> const& v2) + { + return vec<4, T, Q>(v1) -= v2; + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<4, T, Q> operator*(vec<4, T, Q> const& v, T const & scalar) + { + return vec<4, T, Q>(v) *= scalar; + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<4, T, Q> operator*(vec<4, T, Q> const& v1, vec<1, T, Q> const& v2) + { + return vec<4, T, Q>(v1) *= v2; + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<4, T, Q> operator*(T scalar, vec<4, T, Q> const& v) + { + return vec<4, T, Q>(v) *= scalar; + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<4, T, Q> operator*(vec<1, T, Q> const& v1, vec<4, T, Q> const& v2) + { + return vec<4, T, Q>(v2) *= v1; + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<4, T, Q> operator*(vec<4, T, Q> const& v1, vec<4, T, Q> const& v2) + { + return vec<4, T, Q>(v1) *= v2; + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<4, T, Q> operator/(vec<4, T, Q> const& v, T const & scalar) + { + return vec<4, T, Q>(v) /= scalar; + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<4, T, Q> operator/(vec<4, T, Q> const& v1, vec<1, T, Q> const& v2) + { + return vec<4, T, Q>(v1) /= v2; + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<4, T, Q> operator/(T scalar, vec<4, T, Q> const& v) + { + return vec<4, T, Q>(scalar) /= v; + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<4, T, Q> operator/(vec<1, T, Q> const& v1, vec<4, T, Q> const& v2) + { + return vec<4, T, Q>(v1.x) /= v2; + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<4, T, Q> operator/(vec<4, T, Q> const& v1, vec<4, T, Q> const& v2) + { + return vec<4, T, Q>(v1) /= v2; + } + + // -- Binary bit operators -- + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<4, T, Q> operator%(vec<4, T, Q> const& v, T scalar) + { + return vec<4, T, Q>(v) %= scalar; + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<4, T, Q> operator%(vec<4, T, Q> const& v1, vec<1, T, Q> const& v2) + { + return vec<4, T, Q>(v1) %= v2.x; + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<4, T, Q> operator%(T scalar, vec<4, T, Q> const& v) + { + return vec<4, T, Q>(scalar) %= v; + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<4, T, Q> operator%(vec<1, T, Q> const& scalar, vec<4, T, Q> const& v) + { + return vec<4, T, Q>(scalar.x) %= v; + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<4, T, Q> operator%(vec<4, T, Q> const& v1, vec<4, T, Q> const& v2) + { + return vec<4, T, Q>(v1) %= v2; + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<4, T, Q> operator&(vec<4, T, Q> const& v, T scalar) + { + return vec<4, T, Q>(v) &= scalar; + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<4, T, Q> operator&(vec<4, T, Q> const& v, vec<1, T, Q> const& scalar) + { + return vec<4, T, Q>(v) &= scalar; + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<4, T, Q> operator&(T scalar, vec<4, T, Q> const& v) + { + return vec<4, T, Q>(scalar) &= v; + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<4, T, Q> operator&(vec<1, T, Q> const& v1, vec<4, T, Q> const& v2) + { + return vec<4, T, Q>(v1.x) &= v2; + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<4, T, Q> operator&(vec<4, T, Q> const& v1, vec<4, T, Q> const& v2) + { + return vec<4, T, Q>(v1) &= v2; + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<4, T, Q> operator|(vec<4, T, Q> const& v, T scalar) + { + return vec<4, T, Q>(v) |= scalar; + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<4, T, Q> operator|(vec<4, T, Q> const& v1, vec<1, T, Q> const& v2) + { + return vec<4, T, Q>(v1) |= v2.x; + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<4, T, Q> operator|(T scalar, vec<4, T, Q> const& v) + { + return vec<4, T, Q>(scalar) |= v; + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<4, T, Q> operator|(vec<1, T, Q> const& v1, vec<4, T, Q> const& v2) + { + return vec<4, T, Q>(v1.x) |= v2; + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<4, T, Q> operator|(vec<4, T, Q> const& v1, vec<4, T, Q> const& v2) + { + return vec<4, T, Q>(v1) |= v2; + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<4, T, Q> operator^(vec<4, T, Q> const& v, T scalar) + { + return vec<4, T, Q>(v) ^= scalar; + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<4, T, Q> operator^(vec<4, T, Q> const& v1, vec<1, T, Q> const& v2) + { + return vec<4, T, Q>(v1) ^= v2.x; + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<4, T, Q> operator^(T scalar, vec<4, T, Q> const& v) + { + return vec<4, T, Q>(scalar) ^= v; + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<4, T, Q> operator^(vec<1, T, Q> const& v1, vec<4, T, Q> const& v2) + { + return vec<4, T, Q>(v1.x) ^= v2; + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<4, T, Q> operator^(vec<4, T, Q> const& v1, vec<4, T, Q> const& v2) + { + return vec<4, T, Q>(v1) ^= v2; + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<4, T, Q> operator<<(vec<4, T, Q> const& v, T scalar) + { + return vec<4, T, Q>(v) <<= scalar; + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<4, T, Q> operator<<(vec<4, T, Q> const& v1, vec<1, T, Q> const& v2) + { + return vec<4, T, Q>(v1) <<= v2.x; + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<4, T, Q> operator<<(T scalar, vec<4, T, Q> const& v) + { + return vec<4, T, Q>(scalar) <<= v; + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<4, T, Q> operator<<(vec<1, T, Q> const& v1, vec<4, T, Q> const& v2) + { + return vec<4, T, Q>(v1.x) <<= v2; + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<4, T, Q> operator<<(vec<4, T, Q> const& v1, vec<4, T, Q> const& v2) + { + return vec<4, T, Q>(v1) <<= v2; + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<4, T, Q> operator>>(vec<4, T, Q> const& v, T scalar) + { + return vec<4, T, Q>(v) >>= scalar; + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<4, T, Q> operator>>(vec<4, T, Q> const& v1, vec<1, T, Q> const& v2) + { + return vec<4, T, Q>(v1) >>= v2.x; + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<4, T, Q> operator>>(T scalar, vec<4, T, Q> const& v) + { + return vec<4, T, Q>(scalar) >>= v; + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<4, T, Q> operator>>(vec<1, T, Q> const& v1, vec<4, T, Q> const& v2) + { + return vec<4, T, Q>(v1.x) >>= v2; + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<4, T, Q> operator>>(vec<4, T, Q> const& v1, vec<4, T, Q> const& v2) + { + return vec<4, T, Q>(v1) >>= v2; + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<4, T, Q> operator~(vec<4, T, Q> const& v) + { + return detail::compute_vec4_bitwise_not::value, sizeof(T) * 8, detail::is_aligned::value>::call(v); + } + + // -- Boolean operators -- + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR bool operator==(vec<4, T, Q> const& v1, vec<4, T, Q> const& v2) + { + return detail::compute_vec4_equal::value, sizeof(T) * 8, detail::is_aligned::value>::call(v1, v2); + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR bool operator!=(vec<4, T, Q> const& v1, vec<4, T, Q> const& v2) + { + return detail::compute_vec4_nequal::value, sizeof(T) * 8, detail::is_aligned::value>::call(v1, v2); + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<4, bool, Q> operator&&(vec<4, bool, Q> const& v1, vec<4, bool, Q> const& v2) + { + return vec<4, bool, Q>(v1.x && v2.x, v1.y && v2.y, v1.z && v2.z, v1.w && v2.w); + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<4, bool, Q> operator||(vec<4, bool, Q> const& v1, vec<4, bool, Q> const& v2) + { + return vec<4, bool, Q>(v1.x || v2.x, v1.y || v2.y, v1.z || v2.z, v1.w || v2.w); + } +}//namespace glm + +#if GLM_CONFIG_SIMD == GLM_ENABLE +# include "type_vec4_simd.inl" +#endif diff --git a/MacroLibX/third_party/glm/detail/type_vec4_simd.inl b/MacroLibX/third_party/glm/detail/type_vec4_simd.inl new file mode 100644 index 0000000..29559b5 --- /dev/null +++ b/MacroLibX/third_party/glm/detail/type_vec4_simd.inl @@ -0,0 +1,775 @@ +#if GLM_ARCH & GLM_ARCH_SSE2_BIT + +namespace glm{ +namespace detail +{ +# if GLM_CONFIG_SWIZZLE == GLM_SWIZZLE_OPERATOR + template + struct _swizzle_base1<4, float, Q, E0,E1,E2,E3, true> : public _swizzle_base0 + { + GLM_FUNC_QUALIFIER vec<4, float, Q> operator ()() const + { + __m128 data = *reinterpret_cast<__m128 const*>(&this->_buffer); + + vec<4, float, Q> Result; +# if GLM_ARCH & GLM_ARCH_AVX_BIT + Result.data = _mm_permute_ps(data, _MM_SHUFFLE(E3, E2, E1, E0)); +# else + Result.data = _mm_shuffle_ps(data, data, _MM_SHUFFLE(E3, E2, E1, E0)); +# endif + return Result; + } + }; + + template + struct _swizzle_base1<4, int, Q, E0,E1,E2,E3, true> : public _swizzle_base0 + { + GLM_FUNC_QUALIFIER vec<4, int, Q> operator ()() const + { + __m128i data = *reinterpret_cast<__m128i const*>(&this->_buffer); + + vec<4, int, Q> Result; + Result.data = _mm_shuffle_epi32(data, _MM_SHUFFLE(E3, E2, E1, E0)); + return Result; + } + }; + + template + struct _swizzle_base1<4, uint, Q, E0,E1,E2,E3, true> : public _swizzle_base0 + { + GLM_FUNC_QUALIFIER vec<4, uint, Q> operator ()() const + { + __m128i data = *reinterpret_cast<__m128i const*>(&this->_buffer); + + vec<4, uint, Q> Result; + Result.data = _mm_shuffle_epi32(data, _MM_SHUFFLE(E3, E2, E1, E0)); + return Result; + } + }; +# endif// GLM_CONFIG_SWIZZLE == GLM_SWIZZLE_OPERATOR + + template + struct compute_vec4_add + { + static vec<4, float, Q> call(vec<4, float, Q> const& a, vec<4, float, Q> const& b) + { + vec<4, float, Q> Result; + Result.data = _mm_add_ps(a.data, b.data); + return Result; + } + }; + +# if GLM_ARCH & GLM_ARCH_AVX_BIT + template + struct compute_vec4_add + { + static vec<4, double, Q> call(vec<4, double, Q> const& a, vec<4, double, Q> const& b) + { + vec<4, double, Q> Result; + Result.data = _mm256_add_pd(a.data, b.data); + return Result; + } + }; +# endif + + template + struct compute_vec4_sub + { + static vec<4, float, Q> call(vec<4, float, Q> const& a, vec<4, float, Q> const& b) + { + vec<4, float, Q> Result; + Result.data = _mm_sub_ps(a.data, b.data); + return Result; + } + }; + +# if GLM_ARCH & GLM_ARCH_AVX_BIT + template + struct compute_vec4_sub + { + static vec<4, double, Q> call(vec<4, double, Q> const& a, vec<4, double, Q> const& b) + { + vec<4, double, Q> Result; + Result.data = _mm256_sub_pd(a.data, b.data); + return Result; + } + }; +# endif + + template + struct compute_vec4_mul + { + static vec<4, float, Q> call(vec<4, float, Q> const& a, vec<4, float, Q> const& b) + { + vec<4, float, Q> Result; + Result.data = _mm_mul_ps(a.data, b.data); + return Result; + } + }; + +# if GLM_ARCH & GLM_ARCH_AVX_BIT + template + struct compute_vec4_mul + { + static vec<4, double, Q> call(vec<4, double, Q> const& a, vec<4, double, Q> const& b) + { + vec<4, double, Q> Result; + Result.data = _mm256_mul_pd(a.data, b.data); + return Result; + } + }; +# endif + + template + struct compute_vec4_div + { + static vec<4, float, Q> call(vec<4, float, Q> const& a, vec<4, float, Q> const& b) + { + vec<4, float, Q> Result; + Result.data = _mm_div_ps(a.data, b.data); + return Result; + } + }; + + # if GLM_ARCH & GLM_ARCH_AVX_BIT + template + struct compute_vec4_div + { + static vec<4, double, Q> call(vec<4, double, Q> const& a, vec<4, double, Q> const& b) + { + vec<4, double, Q> Result; + Result.data = _mm256_div_pd(a.data, b.data); + return Result; + } + }; +# endif + + template<> + struct compute_vec4_div + { + static vec<4, float, aligned_lowp> call(vec<4, float, aligned_lowp> const& a, vec<4, float, aligned_lowp> const& b) + { + vec<4, float, aligned_lowp> Result; + Result.data = _mm_mul_ps(a.data, _mm_rcp_ps(b.data)); + return Result; + } + }; + + template + struct compute_vec4_and + { + static vec<4, T, Q> call(vec<4, T, Q> const& a, vec<4, T, Q> const& b) + { + vec<4, T, Q> Result; + Result.data = _mm_and_si128(a.data, b.data); + return Result; + } + }; + +# if GLM_ARCH & GLM_ARCH_AVX2_BIT + template + struct compute_vec4_and + { + static vec<4, T, Q> call(vec<4, T, Q> const& a, vec<4, T, Q> const& b) + { + vec<4, T, Q> Result; + Result.data = _mm256_and_si256(a.data, b.data); + return Result; + } + }; +# endif + + template + struct compute_vec4_or + { + static vec<4, T, Q> call(vec<4, T, Q> const& a, vec<4, T, Q> const& b) + { + vec<4, T, Q> Result; + Result.data = _mm_or_si128(a.data, b.data); + return Result; + } + }; + +# if GLM_ARCH & GLM_ARCH_AVX2_BIT + template + struct compute_vec4_or + { + static vec<4, T, Q> call(vec<4, T, Q> const& a, vec<4, T, Q> const& b) + { + vec<4, T, Q> Result; + Result.data = _mm256_or_si256(a.data, b.data); + return Result; + } + }; +# endif + + template + struct compute_vec4_xor + { + static vec<4, T, Q> call(vec<4, T, Q> const& a, vec<4, T, Q> const& b) + { + vec<4, T, Q> Result; + Result.data = _mm_xor_si128(a.data, b.data); + return Result; + } + }; + +# if GLM_ARCH & GLM_ARCH_AVX2_BIT + template + struct compute_vec4_xor + { + static vec<4, T, Q> call(vec<4, T, Q> const& a, vec<4, T, Q> const& b) + { + vec<4, T, Q> Result; + Result.data = _mm256_xor_si256(a.data, b.data); + return Result; + } + }; +# endif + + template + struct compute_vec4_shift_left + { + static vec<4, T, Q> call(vec<4, T, Q> const& a, vec<4, T, Q> const& b) + { + vec<4, T, Q> Result; + Result.data = _mm_sll_epi32(a.data, b.data); + return Result; + } + }; + +# if GLM_ARCH & GLM_ARCH_AVX2_BIT + template + struct compute_vec4_shift_left + { + static vec<4, T, Q> call(vec<4, T, Q> const& a, vec<4, T, Q> const& b) + { + vec<4, T, Q> Result; + Result.data = _mm256_sll_epi64(a.data, b.data); + return Result; + } + }; +# endif + + template + struct compute_vec4_shift_right + { + static vec<4, T, Q> call(vec<4, T, Q> const& a, vec<4, T, Q> const& b) + { + vec<4, T, Q> Result; + Result.data = _mm_srl_epi32(a.data, b.data); + return Result; + } + }; + +# if GLM_ARCH & GLM_ARCH_AVX2_BIT + template + struct compute_vec4_shift_right + { + static vec<4, T, Q> call(vec<4, T, Q> const& a, vec<4, T, Q> const& b) + { + vec<4, T, Q> Result; + Result.data = _mm256_srl_epi64(a.data, b.data); + return Result; + } + }; +# endif + + template + struct compute_vec4_bitwise_not + { + static vec<4, T, Q> call(vec<4, T, Q> const& v) + { + vec<4, T, Q> Result; + Result.data = _mm_xor_si128(v.data, _mm_set1_epi32(-1)); + return Result; + } + }; + +# if GLM_ARCH & GLM_ARCH_AVX2_BIT + template + struct compute_vec4_bitwise_not + { + static vec<4, T, Q> call(vec<4, T, Q> const& v) + { + vec<4, T, Q> Result; + Result.data = _mm256_xor_si256(v.data, _mm_set1_epi32(-1)); + return Result; + } + }; +# endif + + template + struct compute_vec4_equal + { + static bool call(vec<4, float, Q> const& v1, vec<4, float, Q> const& v2) + { + return _mm_movemask_ps(_mm_cmpeq_ps(v1.data, v2.data)) != 0; + } + }; + +# if GLM_ARCH & GLM_ARCH_SSE41_BIT + template + struct compute_vec4_equal + { + static bool call(vec<4, int, Q> const& v1, vec<4, int, Q> const& v2) + { + //return _mm_movemask_epi8(_mm_cmpeq_epi32(v1.data, v2.data)) != 0; + __m128i neq = _mm_xor_si128(v1.data, v2.data); + return _mm_test_all_zeros(neq, neq) == 0; + } + }; +# endif + + template + struct compute_vec4_nequal + { + static bool call(vec<4, float, Q> const& v1, vec<4, float, Q> const& v2) + { + return _mm_movemask_ps(_mm_cmpneq_ps(v1.data, v2.data)) != 0; + } + }; + +# if GLM_ARCH & GLM_ARCH_SSE41_BIT + template + struct compute_vec4_nequal + { + static bool call(vec<4, int, Q> const& v1, vec<4, int, Q> const& v2) + { + //return _mm_movemask_epi8(_mm_cmpneq_epi32(v1.data, v2.data)) != 0; + __m128i neq = _mm_xor_si128(v1.data, v2.data); + return _mm_test_all_zeros(neq, neq) != 0; + } + }; +# endif +}//namespace detail + + template<> + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<4, float, aligned_lowp>::vec(float _s) : + data(_mm_set1_ps(_s)) + {} + + template<> + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<4, float, aligned_mediump>::vec(float _s) : + data(_mm_set1_ps(_s)) + {} + + template<> + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<4, float, aligned_highp>::vec(float _s) : + data(_mm_set1_ps(_s)) + {} + +# if GLM_ARCH & GLM_ARCH_AVX_BIT + template<> + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<4, double, aligned_lowp>::vec(double _s) : + data(_mm256_set1_pd(_s)) + {} + + template<> + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<4, double, aligned_mediump>::vec(double _s) : + data(_mm256_set1_pd(_s)) + {} + + template<> + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<4, double, aligned_highp>::vec(double _s) : + data(_mm256_set1_pd(_s)) + {} +# endif + + template<> + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<4, int, aligned_lowp>::vec(int _s) : + data(_mm_set1_epi32(_s)) + {} + + template<> + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<4, int, aligned_mediump>::vec(int _s) : + data(_mm_set1_epi32(_s)) + {} + + template<> + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<4, int, aligned_highp>::vec(int _s) : + data(_mm_set1_epi32(_s)) + {} + +# if GLM_ARCH & GLM_ARCH_AVX2_BIT + template<> + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<4, detail::int64, aligned_lowp>::vec(detail::int64 _s) : + data(_mm256_set1_epi64x(_s)) + {} + + template<> + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<4, detail::int64, aligned_mediump>::vec(detail::int64 _s) : + data(_mm256_set1_epi64x(_s)) + {} + + template<> + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<4, detail::int64, aligned_highp>::vec(detail::int64 _s) : + data(_mm256_set1_epi64x(_s)) + {} +# endif + + template<> + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<4, float, aligned_lowp>::vec(float _x, float _y, float _z, float _w) : + data(_mm_set_ps(_w, _z, _y, _x)) + {} + + template<> + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<4, float, aligned_mediump>::vec(float _x, float _y, float _z, float _w) : + data(_mm_set_ps(_w, _z, _y, _x)) + {} + + template<> + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<4, float, aligned_highp>::vec(float _x, float _y, float _z, float _w) : + data(_mm_set_ps(_w, _z, _y, _x)) + {} + + template<> + template<> + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<4, int, aligned_lowp>::vec(int _x, int _y, int _z, int _w) : + data(_mm_set_epi32(_w, _z, _y, _x)) + {} + + template<> + template<> + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<4, int, aligned_mediump>::vec(int _x, int _y, int _z, int _w) : + data(_mm_set_epi32(_w, _z, _y, _x)) + {} + + template<> + template<> + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<4, int, aligned_highp>::vec(int _x, int _y, int _z, int _w) : + data(_mm_set_epi32(_w, _z, _y, _x)) + {} + + template<> + template<> + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<4, float, aligned_lowp>::vec(int _x, int _y, int _z, int _w) : + data(_mm_cvtepi32_ps(_mm_set_epi32(_w, _z, _y, _x))) + {} + + template<> + template<> + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<4, float, aligned_mediump>::vec(int _x, int _y, int _z, int _w) : + data(_mm_cvtepi32_ps(_mm_set_epi32(_w, _z, _y, _x))) + {} + + template<> + template<> + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<4, float, aligned_highp>::vec(int _x, int _y, int _z, int _w) : + data(_mm_cvtepi32_ps(_mm_set_epi32(_w, _z, _y, _x))) + {} +}//namespace glm + +#endif//GLM_ARCH & GLM_ARCH_SSE2_BIT + +#if GLM_ARCH & GLM_ARCH_NEON_BIT +namespace glm { +namespace detail { + + template + struct compute_vec4_add + { + static + vec<4, float, Q> + call(vec<4, float, Q> const& a, vec<4, float, Q> const& b) + { + vec<4, float, Q> Result; + Result.data = vaddq_f32(a.data, b.data); + return Result; + } + }; + + template + struct compute_vec4_add + { + static + vec<4, uint, Q> + call(vec<4, uint, Q> const& a, vec<4, uint, Q> const& b) + { + vec<4, uint, Q> Result; + Result.data = vaddq_u32(a.data, b.data); + return Result; + } + }; + + template + struct compute_vec4_add + { + static + vec<4, int, Q> + call(vec<4, int, Q> const& a, vec<4, int, Q> const& b) + { + vec<4, uint, Q> Result; + Result.data = vaddq_s32(a.data, b.data); + return Result; + } + }; + + template + struct compute_vec4_sub + { + static vec<4, float, Q> call(vec<4, float, Q> const& a, vec<4, float, Q> const& b) + { + vec<4, float, Q> Result; + Result.data = vsubq_f32(a.data, b.data); + return Result; + } + }; + + template + struct compute_vec4_sub + { + static vec<4, uint, Q> call(vec<4, uint, Q> const& a, vec<4, uint, Q> const& b) + { + vec<4, uint, Q> Result; + Result.data = vsubq_u32(a.data, b.data); + return Result; + } + }; + + template + struct compute_vec4_sub + { + static vec<4, int, Q> call(vec<4, int, Q> const& a, vec<4, int, Q> const& b) + { + vec<4, int, Q> Result; + Result.data = vsubq_s32(a.data, b.data); + return Result; + } + }; + + template + struct compute_vec4_mul + { + static vec<4, float, Q> call(vec<4, float, Q> const& a, vec<4, float, Q> const& b) + { + vec<4, float, Q> Result; + Result.data = vmulq_f32(a.data, b.data); + return Result; + } + }; + + template + struct compute_vec4_mul + { + static vec<4, uint, Q> call(vec<4, uint, Q> const& a, vec<4, uint, Q> const& b) + { + vec<4, uint, Q> Result; + Result.data = vmulq_u32(a.data, b.data); + return Result; + } + }; + + template + struct compute_vec4_mul + { + static vec<4, int, Q> call(vec<4, int, Q> const& a, vec<4, int, Q> const& b) + { + vec<4, int, Q> Result; + Result.data = vmulq_s32(a.data, b.data); + return Result; + } + }; + + template + struct compute_vec4_div + { + static vec<4, float, Q> call(vec<4, float, Q> const& a, vec<4, float, Q> const& b) + { + vec<4, float, Q> Result; + Result.data = vdivq_f32(a.data, b.data); + return Result; + } + }; + + template + struct compute_vec4_equal + { + static bool call(vec<4, float, Q> const& v1, vec<4, float, Q> const& v2) + { + uint32x4_t cmp = vceqq_f32(v1.data, v2.data); +#if GLM_ARCH & GLM_ARCH_ARMV8_BIT + cmp = vpminq_u32(cmp, cmp); + cmp = vpminq_u32(cmp, cmp); + uint32_t r = cmp[0]; +#else + uint32x2_t cmpx2 = vpmin_u32(vget_low_f32(cmp), vget_high_f32(cmp)); + cmpx2 = vpmin_u32(cmpx2, cmpx2); + uint32_t r = cmpx2[0]; +#endif + return r == ~0u; + } + }; + + template + struct compute_vec4_equal + { + static bool call(vec<4, uint, Q> const& v1, vec<4, uint, Q> const& v2) + { + uint32x4_t cmp = vceqq_u32(v1.data, v2.data); +#if GLM_ARCH & GLM_ARCH_ARMV8_BIT + cmp = vpminq_u32(cmp, cmp); + cmp = vpminq_u32(cmp, cmp); + uint32_t r = cmp[0]; +#else + uint32x2_t cmpx2 = vpmin_u32(vget_low_f32(cmp), vget_high_f32(cmp)); + cmpx2 = vpmin_u32(cmpx2, cmpx2); + uint32_t r = cmpx2[0]; +#endif + return r == ~0u; + } + }; + + template + struct compute_vec4_equal + { + static bool call(vec<4, int, Q> const& v1, vec<4, int, Q> const& v2) + { + uint32x4_t cmp = vceqq_s32(v1.data, v2.data); +#if GLM_ARCH & GLM_ARCH_ARMV8_BIT + cmp = vpminq_u32(cmp, cmp); + cmp = vpminq_u32(cmp, cmp); + uint32_t r = cmp[0]; +#else + uint32x2_t cmpx2 = vpmin_u32(vget_low_f32(cmp), vget_high_f32(cmp)); + cmpx2 = vpmin_u32(cmpx2, cmpx2); + uint32_t r = cmpx2[0]; +#endif + return r == ~0u; + } + }; + + template + struct compute_vec4_nequal + { + static bool call(vec<4, float, Q> const& v1, vec<4, float, Q> const& v2) + { + return !compute_vec4_equal::call(v1, v2); + } + }; + + template + struct compute_vec4_nequal + { + static bool call(vec<4, uint, Q> const& v1, vec<4, uint, Q> const& v2) + { + return !compute_vec4_equal::call(v1, v2); + } + }; + + template + struct compute_vec4_nequal + { + static bool call(vec<4, int, Q> const& v1, vec<4, int, Q> const& v2) + { + return !compute_vec4_equal::call(v1, v2); + } + }; + +}//namespace detail + +#if !GLM_CONFIG_XYZW_ONLY + template<> + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<4, float, aligned_lowp>::vec(float _s) : + data(vdupq_n_f32(_s)) + {} + + template<> + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<4, float, aligned_mediump>::vec(float _s) : + data(vdupq_n_f32(_s)) + {} + + template<> + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<4, float, aligned_highp>::vec(float _s) : + data(vdupq_n_f32(_s)) + {} + + template<> + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<4, int, aligned_lowp>::vec(int _s) : + data(vdupq_n_s32(_s)) + {} + + template<> + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<4, int, aligned_mediump>::vec(int _s) : + data(vdupq_n_s32(_s)) + {} + + template<> + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<4, int, aligned_highp>::vec(int _s) : + data(vdupq_n_s32(_s)) + {} + + template<> + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<4, uint, aligned_lowp>::vec(uint _s) : + data(vdupq_n_u32(_s)) + {} + + template<> + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<4, uint, aligned_mediump>::vec(uint _s) : + data(vdupq_n_u32(_s)) + {} + + template<> + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<4, uint, aligned_highp>::vec(uint _s) : + data(vdupq_n_u32(_s)) + {} + + template<> + template<> + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<4, float, aligned_highp>::vec(const vec<4, float, aligned_highp>& rhs) : + data(rhs.data) + {} + + template<> + template<> + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<4, float, aligned_highp>::vec(const vec<4, int, aligned_highp>& rhs) : + data(vcvtq_f32_s32(rhs.data)) + {} + + template<> + template<> + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<4, float, aligned_highp>::vec(const vec<4, uint, aligned_highp>& rhs) : + data(vcvtq_f32_u32(rhs.data)) + {} + + template<> + template<> + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<4, float, aligned_lowp>::vec(int _x, int _y, int _z, int _w) : + data(vcvtq_f32_s32(vec<4, int, aligned_lowp>(_x, _y, _z, _w).data)) + {} + + template<> + template<> + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<4, float, aligned_mediump>::vec(int _x, int _y, int _z, int _w) : + data(vcvtq_f32_s32(vec<4, int, aligned_mediump>(_x, _y, _z, _w).data)) + {} + + template<> + template<> + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<4, float, aligned_highp>::vec(int _x, int _y, int _z, int _w) : + data(vcvtq_f32_s32(vec<4, int, aligned_highp>(_x, _y, _z, _w).data)) + {} + + template<> + template<> + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<4, float, aligned_lowp>::vec(uint _x, uint _y, uint _z, uint _w) : + data(vcvtq_f32_u32(vec<4, uint, aligned_lowp>(_x, _y, _z, _w).data)) + {} + + template<> + template<> + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<4, float, aligned_mediump>::vec(uint _x, uint _y, uint _z, uint _w) : + data(vcvtq_f32_u32(vec<4, uint, aligned_mediump>(_x, _y, _z, _w).data)) + {} + + + template<> + template<> + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<4, float, aligned_highp>::vec(uint _x, uint _y, uint _z, uint _w) : + data(vcvtq_f32_u32(vec<4, uint, aligned_highp>(_x, _y, _z, _w).data)) + {} + +#endif +}//namespace glm + +#endif diff --git a/MacroLibX/third_party/glm/exponential.hpp b/MacroLibX/third_party/glm/exponential.hpp new file mode 100644 index 0000000..f8fb886 --- /dev/null +++ b/MacroLibX/third_party/glm/exponential.hpp @@ -0,0 +1,110 @@ +/// @ref core +/// @file glm/exponential.hpp +/// +/// @see GLSL 4.20.8 specification, section 8.2 Exponential Functions +/// +/// @defgroup core_func_exponential Exponential functions +/// @ingroup core +/// +/// Provides GLSL exponential functions +/// +/// These all operate component-wise. The description is per component. +/// +/// Include to use these core features. + +#pragma once + +#include "detail/type_vec1.hpp" +#include "detail/type_vec2.hpp" +#include "detail/type_vec3.hpp" +#include "detail/type_vec4.hpp" +#include + +namespace glm +{ + /// @addtogroup core_func_exponential + /// @{ + + /// Returns 'base' raised to the power 'exponent'. + /// + /// @param base Floating point value. pow function is defined for input values of 'base' defined in the range (inf-, inf+) in the limit of the type qualifier. + /// @param exponent Floating point value representing the 'exponent'. + /// + /// @see GLSL pow man page + /// @see GLSL 4.20.8 specification, section 8.2 Exponential Functions + template + GLM_FUNC_DECL vec pow(vec const& base, vec const& exponent); + + /// Returns the natural exponentiation of x, i.e., e^x. + /// + /// @param v exp function is defined for input values of v defined in the range (inf-, inf+) in the limit of the type qualifier. + /// @tparam L An integer between 1 and 4 included that qualify the dimension of the vector. + /// @tparam T Floating-point scalar types. + /// + /// @see GLSL exp man page + /// @see GLSL 4.20.8 specification, section 8.2 Exponential Functions + template + GLM_FUNC_DECL vec exp(vec const& v); + + /// Returns the natural logarithm of v, i.e., + /// returns the value y which satisfies the equation x = e^y. + /// Results are undefined if v <= 0. + /// + /// @param v log function is defined for input values of v defined in the range (0, inf+) in the limit of the type qualifier. + /// @tparam L An integer between 1 and 4 included that qualify the dimension of the vector. + /// @tparam T Floating-point scalar types. + /// + /// @see GLSL log man page + /// @see GLSL 4.20.8 specification, section 8.2 Exponential Functions + template + GLM_FUNC_DECL vec log(vec const& v); + + /// Returns 2 raised to the v power. + /// + /// @param v exp2 function is defined for input values of v defined in the range (inf-, inf+) in the limit of the type qualifier. + /// @tparam L An integer between 1 and 4 included that qualify the dimension of the vector. + /// @tparam T Floating-point scalar types. + /// + /// @see GLSL exp2 man page + /// @see GLSL 4.20.8 specification, section 8.2 Exponential Functions + template + GLM_FUNC_DECL vec exp2(vec const& v); + + /// Returns the base 2 log of x, i.e., returns the value y, + /// which satisfies the equation x = 2 ^ y. + /// + /// @param v log2 function is defined for input values of v defined in the range (0, inf+) in the limit of the type qualifier. + /// @tparam L An integer between 1 and 4 included that qualify the dimension of the vector. + /// @tparam T Floating-point scalar types. + /// + /// @see GLSL log2 man page + /// @see GLSL 4.20.8 specification, section 8.2 Exponential Functions + template + GLM_FUNC_DECL vec log2(vec const& v); + + /// Returns the positive square root of v. + /// + /// @param v sqrt function is defined for input values of v defined in the range [0, inf+) in the limit of the type qualifier. + /// @tparam L An integer between 1 and 4 included that qualify the dimension of the vector. + /// @tparam T Floating-point scalar types. + /// + /// @see GLSL sqrt man page + /// @see GLSL 4.20.8 specification, section 8.2 Exponential Functions + template + GLM_FUNC_DECL vec sqrt(vec const& v); + + /// Returns the reciprocal of the positive square root of v. + /// + /// @param v inversesqrt function is defined for input values of v defined in the range [0, inf+) in the limit of the type qualifier. + /// @tparam L An integer between 1 and 4 included that qualify the dimension of the vector. + /// @tparam T Floating-point scalar types. + /// + /// @see GLSL inversesqrt man page + /// @see GLSL 4.20.8 specification, section 8.2 Exponential Functions + template + GLM_FUNC_DECL vec inversesqrt(vec const& v); + + /// @} +}//namespace glm + +#include "detail/func_exponential.inl" diff --git a/MacroLibX/third_party/glm/ext.hpp b/MacroLibX/third_party/glm/ext.hpp new file mode 100644 index 0000000..3bc8db2 --- /dev/null +++ b/MacroLibX/third_party/glm/ext.hpp @@ -0,0 +1,196 @@ +/// @file glm/ext.hpp +/// +/// @ref core (Dependence) + +#include "detail/setup.hpp" + +#pragma once + +#include "glm.hpp" + +#if GLM_MESSAGES == GLM_ENABLE && !defined(GLM_MESSAGE_EXT_INCLUDED_DISPLAYED) +# define GLM_MESSAGE_EXT_INCLUDED_DISPLAYED +# pragma message("GLM: All extensions included (not recommended)") +#endif//GLM_MESSAGES + +#include "./ext/matrix_double2x2.hpp" +#include "./ext/matrix_double2x2_precision.hpp" +#include "./ext/matrix_double2x3.hpp" +#include "./ext/matrix_double2x3_precision.hpp" +#include "./ext/matrix_double2x4.hpp" +#include "./ext/matrix_double2x4_precision.hpp" +#include "./ext/matrix_double3x2.hpp" +#include "./ext/matrix_double3x2_precision.hpp" +#include "./ext/matrix_double3x3.hpp" +#include "./ext/matrix_double3x3_precision.hpp" +#include "./ext/matrix_double3x4.hpp" +#include "./ext/matrix_double3x4_precision.hpp" +#include "./ext/matrix_double4x2.hpp" +#include "./ext/matrix_double4x2_precision.hpp" +#include "./ext/matrix_double4x3.hpp" +#include "./ext/matrix_double4x3_precision.hpp" +#include "./ext/matrix_double4x4.hpp" +#include "./ext/matrix_double4x4_precision.hpp" + +#include "./ext/matrix_float2x2.hpp" +#include "./ext/matrix_float2x2_precision.hpp" +#include "./ext/matrix_float2x3.hpp" +#include "./ext/matrix_float2x3_precision.hpp" +#include "./ext/matrix_float2x4.hpp" +#include "./ext/matrix_float2x4_precision.hpp" +#include "./ext/matrix_float3x2.hpp" +#include "./ext/matrix_float3x2_precision.hpp" +#include "./ext/matrix_float3x3.hpp" +#include "./ext/matrix_float3x3_precision.hpp" +#include "./ext/matrix_float3x4.hpp" +#include "./ext/matrix_float3x4_precision.hpp" +#include "./ext/matrix_float4x2.hpp" +#include "./ext/matrix_float4x2_precision.hpp" +#include "./ext/matrix_float4x3.hpp" +#include "./ext/matrix_float4x3_precision.hpp" +#include "./ext/matrix_float4x4.hpp" +#include "./ext/matrix_float4x4_precision.hpp" + +#include "./ext/matrix_relational.hpp" + +#include "./ext/quaternion_double.hpp" +#include "./ext/quaternion_double_precision.hpp" +#include "./ext/quaternion_float.hpp" +#include "./ext/quaternion_float_precision.hpp" +#include "./ext/quaternion_geometric.hpp" +#include "./ext/quaternion_relational.hpp" + +#include "./ext/scalar_constants.hpp" +#include "./ext/scalar_int_sized.hpp" +#include "./ext/scalar_relational.hpp" + +#include "./ext/vector_bool1.hpp" +#include "./ext/vector_bool1_precision.hpp" +#include "./ext/vector_bool2.hpp" +#include "./ext/vector_bool2_precision.hpp" +#include "./ext/vector_bool3.hpp" +#include "./ext/vector_bool3_precision.hpp" +#include "./ext/vector_bool4.hpp" +#include "./ext/vector_bool4_precision.hpp" + +#include "./ext/vector_double1.hpp" +#include "./ext/vector_double1_precision.hpp" +#include "./ext/vector_double2.hpp" +#include "./ext/vector_double2_precision.hpp" +#include "./ext/vector_double3.hpp" +#include "./ext/vector_double3_precision.hpp" +#include "./ext/vector_double4.hpp" +#include "./ext/vector_double4_precision.hpp" + +#include "./ext/vector_float1.hpp" +#include "./ext/vector_float1_precision.hpp" +#include "./ext/vector_float2.hpp" +#include "./ext/vector_float2_precision.hpp" +#include "./ext/vector_float3.hpp" +#include "./ext/vector_float3_precision.hpp" +#include "./ext/vector_float4.hpp" +#include "./ext/vector_float4_precision.hpp" + +#include "./ext/vector_int1.hpp" +#include "./ext/vector_int1_precision.hpp" +#include "./ext/vector_int2.hpp" +#include "./ext/vector_int2_precision.hpp" +#include "./ext/vector_int3.hpp" +#include "./ext/vector_int3_precision.hpp" +#include "./ext/vector_int4.hpp" +#include "./ext/vector_int4_precision.hpp" + +#include "./ext/vector_relational.hpp" + +#include "./ext/vector_uint1.hpp" +#include "./ext/vector_uint1_precision.hpp" +#include "./ext/vector_uint2.hpp" +#include "./ext/vector_uint2_precision.hpp" +#include "./ext/vector_uint3.hpp" +#include "./ext/vector_uint3_precision.hpp" +#include "./ext/vector_uint4.hpp" +#include "./ext/vector_uint4_precision.hpp" + +#include "./gtc/bitfield.hpp" +#include "./gtc/color_space.hpp" +#include "./gtc/constants.hpp" +#include "./gtc/epsilon.hpp" +#include "./gtc/integer.hpp" +#include "./gtc/matrix_access.hpp" +#include "./gtc/matrix_integer.hpp" +#include "./gtc/matrix_inverse.hpp" +#include "./gtc/matrix_transform.hpp" +#include "./gtc/noise.hpp" +#include "./gtc/packing.hpp" +#include "./gtc/quaternion.hpp" +#include "./gtc/random.hpp" +#include "./gtc/reciprocal.hpp" +#include "./gtc/round.hpp" +#include "./gtc/type_precision.hpp" +#include "./gtc/type_ptr.hpp" +#include "./gtc/ulp.hpp" +#include "./gtc/vec1.hpp" +#if GLM_CONFIG_ALIGNED_GENTYPES == GLM_ENABLE +# include "./gtc/type_aligned.hpp" +#endif + +#ifdef GLM_ENABLE_EXPERIMENTAL +#include "./gtx/associated_min_max.hpp" +#include "./gtx/bit.hpp" +#include "./gtx/closest_point.hpp" +#include "./gtx/color_encoding.hpp" +#include "./gtx/color_space.hpp" +#include "./gtx/color_space_YCoCg.hpp" +#include "./gtx/compatibility.hpp" +#include "./gtx/component_wise.hpp" +#include "./gtx/dual_quaternion.hpp" +#include "./gtx/euler_angles.hpp" +#include "./gtx/extend.hpp" +#include "./gtx/extended_min_max.hpp" +#include "./gtx/fast_exponential.hpp" +#include "./gtx/fast_square_root.hpp" +#include "./gtx/fast_trigonometry.hpp" +#include "./gtx/functions.hpp" +#include "./gtx/gradient_paint.hpp" +#include "./gtx/handed_coordinate_space.hpp" +#include "./gtx/integer.hpp" +#include "./gtx/intersect.hpp" +#include "./gtx/log_base.hpp" +#include "./gtx/matrix_cross_product.hpp" +#include "./gtx/matrix_interpolation.hpp" +#include "./gtx/matrix_major_storage.hpp" +#include "./gtx/matrix_operation.hpp" +#include "./gtx/matrix_query.hpp" +#include "./gtx/mixed_product.hpp" +#include "./gtx/norm.hpp" +#include "./gtx/normal.hpp" +#include "./gtx/normalize_dot.hpp" +#include "./gtx/number_precision.hpp" +#include "./gtx/optimum_pow.hpp" +#include "./gtx/orthonormalize.hpp" +#include "./gtx/perpendicular.hpp" +#include "./gtx/polar_coordinates.hpp" +#include "./gtx/projection.hpp" +#include "./gtx/quaternion.hpp" +#include "./gtx/raw_data.hpp" +#include "./gtx/rotate_vector.hpp" +#include "./gtx/spline.hpp" +#include "./gtx/std_based_type.hpp" +#if !(GLM_COMPILER & GLM_COMPILER_CUDA) +# include "./gtx/string_cast.hpp" +#endif +#include "./gtx/transform.hpp" +#include "./gtx/transform2.hpp" +#include "./gtx/vec_swizzle.hpp" +#include "./gtx/vector_angle.hpp" +#include "./gtx/vector_query.hpp" +#include "./gtx/wrap.hpp" + +#if GLM_HAS_TEMPLATE_ALIASES +# include "./gtx/scalar_multiplication.hpp" +#endif + +#if GLM_HAS_RANGE_FOR +# include "./gtx/range.hpp" +#endif +#endif//GLM_ENABLE_EXPERIMENTAL diff --git a/MacroLibX/third_party/glm/ext/matrix_clip_space.hpp b/MacroLibX/third_party/glm/ext/matrix_clip_space.hpp new file mode 100644 index 0000000..c3874f2 --- /dev/null +++ b/MacroLibX/third_party/glm/ext/matrix_clip_space.hpp @@ -0,0 +1,522 @@ +/// @ref ext_matrix_clip_space +/// @file glm/ext/matrix_clip_space.hpp +/// +/// @defgroup ext_matrix_clip_space GLM_EXT_matrix_clip_space +/// @ingroup ext +/// +/// Defines functions that generate clip space transformation matrices. +/// +/// The matrices generated by this extension use standard OpenGL fixed-function +/// conventions. For example, the lookAt function generates a transform from world +/// space into the specific eye space that the projective matrix functions +/// (perspective, ortho, etc) are designed to expect. The OpenGL compatibility +/// specifications defines the particular layout of this eye space. +/// +/// Include to use the features of this extension. +/// +/// @see ext_matrix_transform +/// @see ext_matrix_projection + +#pragma once + +// Dependencies +#include "../ext/scalar_constants.hpp" +#include "../geometric.hpp" +#include "../trigonometric.hpp" + +#if GLM_MESSAGES == GLM_ENABLE && !defined(GLM_EXT_INCLUDED) +# pragma message("GLM: GLM_EXT_matrix_clip_space extension included") +#endif + +namespace glm +{ + /// @addtogroup ext_matrix_clip_space + /// @{ + + /// Creates a matrix for projecting two-dimensional coordinates onto the screen. + /// + /// @tparam T A floating-point scalar type + /// + /// @see - glm::ortho(T const& left, T const& right, T const& bottom, T const& top, T const& zNear, T const& zFar) + /// @see gluOrtho2D man page + template + GLM_FUNC_DECL mat<4, 4, T, defaultp> ortho( + T left, T right, T bottom, T top); + + /// Creates a matrix for an orthographic parallel viewing volume, using left-handed coordinates. + /// The near and far clip planes correspond to z normalized device coordinates of 0 and +1 respectively. (Direct3D clip volume definition) + /// + /// @tparam T A floating-point scalar type + /// + /// @see - glm::ortho(T const& left, T const& right, T const& bottom, T const& top) + template + GLM_FUNC_DECL mat<4, 4, T, defaultp> orthoLH_ZO( + T left, T right, T bottom, T top, T zNear, T zFar); + + /// Creates a matrix for an orthographic parallel viewing volume using right-handed coordinates. + /// The near and far clip planes correspond to z normalized device coordinates of -1 and +1 respectively. (OpenGL clip volume definition) + /// + /// @tparam T A floating-point scalar type + /// + /// @see - glm::ortho(T const& left, T const& right, T const& bottom, T const& top) + template + GLM_FUNC_DECL mat<4, 4, T, defaultp> orthoLH_NO( + T left, T right, T bottom, T top, T zNear, T zFar); + + /// Creates a matrix for an orthographic parallel viewing volume, using left-handed coordinates. + /// The near and far clip planes correspond to z normalized device coordinates of 0 and +1 respectively. (Direct3D clip volume definition) + /// + /// @tparam T A floating-point scalar type + /// + /// @see - glm::ortho(T const& left, T const& right, T const& bottom, T const& top) + template + GLM_FUNC_DECL mat<4, 4, T, defaultp> orthoRH_ZO( + T left, T right, T bottom, T top, T zNear, T zFar); + + /// Creates a matrix for an orthographic parallel viewing volume, using right-handed coordinates. + /// The near and far clip planes correspond to z normalized device coordinates of -1 and +1 respectively. (OpenGL clip volume definition) + /// + /// @tparam T A floating-point scalar type + /// + /// @see - glm::ortho(T const& left, T const& right, T const& bottom, T const& top) + template + GLM_FUNC_DECL mat<4, 4, T, defaultp> orthoRH_NO( + T left, T right, T bottom, T top, T zNear, T zFar); + + /// Creates a matrix for an orthographic parallel viewing volume, using left-handed coordinates. + /// The near and far clip planes correspond to z normalized device coordinates of 0 and +1 respectively. (Direct3D clip volume definition) + /// + /// @tparam T A floating-point scalar type + /// + /// @see - glm::ortho(T const& left, T const& right, T const& bottom, T const& top) + template + GLM_FUNC_DECL mat<4, 4, T, defaultp> orthoZO( + T left, T right, T bottom, T top, T zNear, T zFar); + + /// Creates a matrix for an orthographic parallel viewing volume, using left-handed coordinates if GLM_FORCE_LEFT_HANDED if defined or right-handed coordinates otherwise. + /// The near and far clip planes correspond to z normalized device coordinates of -1 and +1 respectively. (OpenGL clip volume definition) + /// + /// @tparam T A floating-point scalar type + /// + /// @see - glm::ortho(T const& left, T const& right, T const& bottom, T const& top) + template + GLM_FUNC_DECL mat<4, 4, T, defaultp> orthoNO( + T left, T right, T bottom, T top, T zNear, T zFar); + + /// Creates a matrix for an orthographic parallel viewing volume, using left-handed coordinates. + /// If GLM_FORCE_DEPTH_ZERO_TO_ONE is defined, the near and far clip planes correspond to z normalized device coordinates of 0 and +1 respectively. (Direct3D clip volume definition) + /// Otherwise, the near and far clip planes correspond to z normalized device coordinates of -1 and +1 respectively. (OpenGL clip volume definition) + /// + /// @tparam T A floating-point scalar type + /// + /// @see - glm::ortho(T const& left, T const& right, T const& bottom, T const& top) + template + GLM_FUNC_DECL mat<4, 4, T, defaultp> orthoLH( + T left, T right, T bottom, T top, T zNear, T zFar); + + /// Creates a matrix for an orthographic parallel viewing volume, using right-handed coordinates. + /// If GLM_FORCE_DEPTH_ZERO_TO_ONE is defined, the near and far clip planes correspond to z normalized device coordinates of 0 and +1 respectively. (Direct3D clip volume definition) + /// Otherwise, the near and far clip planes correspond to z normalized device coordinates of -1 and +1 respectively. (OpenGL clip volume definition) + /// + /// @tparam T A floating-point scalar type + /// + /// @see - glm::ortho(T const& left, T const& right, T const& bottom, T const& top) + template + GLM_FUNC_DECL mat<4, 4, T, defaultp> orthoRH( + T left, T right, T bottom, T top, T zNear, T zFar); + + /// Creates a matrix for an orthographic parallel viewing volume, using the default handedness and default near and far clip planes definition. + /// To change default handedness use GLM_FORCE_LEFT_HANDED. To change default near and far clip planes definition use GLM_FORCE_DEPTH_ZERO_TO_ONE. + /// + /// @tparam T A floating-point scalar type + /// + /// @see - glm::ortho(T const& left, T const& right, T const& bottom, T const& top) + /// @see glOrtho man page + template + GLM_FUNC_DECL mat<4, 4, T, defaultp> ortho( + T left, T right, T bottom, T top, T zNear, T zFar); + + /// Creates a left handed frustum matrix. + /// The near and far clip planes correspond to z normalized device coordinates of 0 and +1 respectively. (Direct3D clip volume definition) + /// + /// @tparam T A floating-point scalar type + template + GLM_FUNC_DECL mat<4, 4, T, defaultp> frustumLH_ZO( + T left, T right, T bottom, T top, T near, T far); + + /// Creates a left handed frustum matrix. + /// The near and far clip planes correspond to z normalized device coordinates of -1 and +1 respectively. (OpenGL clip volume definition) + /// + /// @tparam T A floating-point scalar type + template + GLM_FUNC_DECL mat<4, 4, T, defaultp> frustumLH_NO( + T left, T right, T bottom, T top, T near, T far); + + /// Creates a right handed frustum matrix. + /// The near and far clip planes correspond to z normalized device coordinates of 0 and +1 respectively. (Direct3D clip volume definition) + /// + /// @tparam T A floating-point scalar type + template + GLM_FUNC_DECL mat<4, 4, T, defaultp> frustumRH_ZO( + T left, T right, T bottom, T top, T near, T far); + + /// Creates a right handed frustum matrix. + /// The near and far clip planes correspond to z normalized device coordinates of -1 and +1 respectively. (OpenGL clip volume definition) + /// + /// @tparam T A floating-point scalar type + template + GLM_FUNC_DECL mat<4, 4, T, defaultp> frustumRH_NO( + T left, T right, T bottom, T top, T near, T far); + + /// Creates a frustum matrix using left-handed coordinates if GLM_FORCE_LEFT_HANDED if defined or right-handed coordinates otherwise. + /// The near and far clip planes correspond to z normalized device coordinates of 0 and +1 respectively. (Direct3D clip volume definition) + /// + /// @tparam T A floating-point scalar type + template + GLM_FUNC_DECL mat<4, 4, T, defaultp> frustumZO( + T left, T right, T bottom, T top, T near, T far); + + /// Creates a frustum matrix using left-handed coordinates if GLM_FORCE_LEFT_HANDED if defined or right-handed coordinates otherwise. + /// The near and far clip planes correspond to z normalized device coordinates of -1 and +1 respectively. (OpenGL clip volume definition) + /// + /// @tparam T A floating-point scalar type + template + GLM_FUNC_DECL mat<4, 4, T, defaultp> frustumNO( + T left, T right, T bottom, T top, T near, T far); + + /// Creates a left handed frustum matrix. + /// If GLM_FORCE_DEPTH_ZERO_TO_ONE is defined, the near and far clip planes correspond to z normalized device coordinates of 0 and +1 respectively. (Direct3D clip volume definition) + /// Otherwise, the near and far clip planes correspond to z normalized device coordinates of -1 and +1 respectively. (OpenGL clip volume definition) + /// + /// @tparam T A floating-point scalar type + template + GLM_FUNC_DECL mat<4, 4, T, defaultp> frustumLH( + T left, T right, T bottom, T top, T near, T far); + + /// Creates a right handed frustum matrix. + /// If GLM_FORCE_DEPTH_ZERO_TO_ONE is defined, the near and far clip planes correspond to z normalized device coordinates of 0 and +1 respectively. (Direct3D clip volume definition) + /// Otherwise, the near and far clip planes correspond to z normalized device coordinates of -1 and +1 respectively. (OpenGL clip volume definition) + /// + /// @tparam T A floating-point scalar type + template + GLM_FUNC_DECL mat<4, 4, T, defaultp> frustumRH( + T left, T right, T bottom, T top, T near, T far); + + /// Creates a frustum matrix with default handedness, using the default handedness and default near and far clip planes definition. + /// To change default handedness use GLM_FORCE_LEFT_HANDED. To change default near and far clip planes definition use GLM_FORCE_DEPTH_ZERO_TO_ONE. + /// + /// @tparam T A floating-point scalar type + /// @see glFrustum man page + template + GLM_FUNC_DECL mat<4, 4, T, defaultp> frustum( + T left, T right, T bottom, T top, T near, T far); + + + /// Creates a matrix for a right handed, symetric perspective-view frustum. + /// The near and far clip planes correspond to z normalized device coordinates of 0 and +1 respectively. (Direct3D clip volume definition) + /// + /// @param fovy Specifies the field of view angle, in degrees, in the y direction. Expressed in radians. + /// @param aspect Specifies the aspect ratio that determines the field of view in the x direction. The aspect ratio is the ratio of x (width) to y (height). + /// @param near Specifies the distance from the viewer to the near clipping plane (always positive). + /// @param far Specifies the distance from the viewer to the far clipping plane (always positive). + /// + /// @tparam T A floating-point scalar type + template + GLM_FUNC_DECL mat<4, 4, T, defaultp> perspectiveRH_ZO( + T fovy, T aspect, T near, T far); + + /// Creates a matrix for a right handed, symetric perspective-view frustum. + /// The near and far clip planes correspond to z normalized device coordinates of -1 and +1 respectively. (OpenGL clip volume definition) + /// + /// @param fovy Specifies the field of view angle, in degrees, in the y direction. Expressed in radians. + /// @param aspect Specifies the aspect ratio that determines the field of view in the x direction. The aspect ratio is the ratio of x (width) to y (height). + /// @param near Specifies the distance from the viewer to the near clipping plane (always positive). + /// @param far Specifies the distance from the viewer to the far clipping plane (always positive). + /// + /// @tparam T A floating-point scalar type + template + GLM_FUNC_DECL mat<4, 4, T, defaultp> perspectiveRH_NO( + T fovy, T aspect, T near, T far); + + /// Creates a matrix for a left handed, symetric perspective-view frustum. + /// The near and far clip planes correspond to z normalized device coordinates of 0 and +1 respectively. (Direct3D clip volume definition) + /// + /// @param fovy Specifies the field of view angle, in degrees, in the y direction. Expressed in radians. + /// @param aspect Specifies the aspect ratio that determines the field of view in the x direction. The aspect ratio is the ratio of x (width) to y (height). + /// @param near Specifies the distance from the viewer to the near clipping plane (always positive). + /// @param far Specifies the distance from the viewer to the far clipping plane (always positive). + /// + /// @tparam T A floating-point scalar type + template + GLM_FUNC_DECL mat<4, 4, T, defaultp> perspectiveLH_ZO( + T fovy, T aspect, T near, T far); + + /// Creates a matrix for a left handed, symetric perspective-view frustum. + /// The near and far clip planes correspond to z normalized device coordinates of -1 and +1 respectively. (OpenGL clip volume definition) + /// + /// @param fovy Specifies the field of view angle, in degrees, in the y direction. Expressed in radians. + /// @param aspect Specifies the aspect ratio that determines the field of view in the x direction. The aspect ratio is the ratio of x (width) to y (height). + /// @param near Specifies the distance from the viewer to the near clipping plane (always positive). + /// @param far Specifies the distance from the viewer to the far clipping plane (always positive). + /// + /// @tparam T A floating-point scalar type + template + GLM_FUNC_DECL mat<4, 4, T, defaultp> perspectiveLH_NO( + T fovy, T aspect, T near, T far); + + /// Creates a matrix for a symetric perspective-view frustum using left-handed coordinates if GLM_FORCE_LEFT_HANDED if defined or right-handed coordinates otherwise. + /// The near and far clip planes correspond to z normalized device coordinates of 0 and +1 respectively. (Direct3D clip volume definition) + /// + /// @param fovy Specifies the field of view angle, in degrees, in the y direction. Expressed in radians. + /// @param aspect Specifies the aspect ratio that determines the field of view in the x direction. The aspect ratio is the ratio of x (width) to y (height). + /// @param near Specifies the distance from the viewer to the near clipping plane (always positive). + /// @param far Specifies the distance from the viewer to the far clipping plane (always positive). + /// + /// @tparam T A floating-point scalar type + template + GLM_FUNC_DECL mat<4, 4, T, defaultp> perspectiveZO( + T fovy, T aspect, T near, T far); + + /// Creates a matrix for a symetric perspective-view frustum using left-handed coordinates if GLM_FORCE_LEFT_HANDED if defined or right-handed coordinates otherwise. + /// The near and far clip planes correspond to z normalized device coordinates of -1 and +1 respectively. (OpenGL clip volume definition) + /// + /// @param fovy Specifies the field of view angle, in degrees, in the y direction. Expressed in radians. + /// @param aspect Specifies the aspect ratio that determines the field of view in the x direction. The aspect ratio is the ratio of x (width) to y (height). + /// @param near Specifies the distance from the viewer to the near clipping plane (always positive). + /// @param far Specifies the distance from the viewer to the far clipping plane (always positive). + /// + /// @tparam T A floating-point scalar type + template + GLM_FUNC_DECL mat<4, 4, T, defaultp> perspectiveNO( + T fovy, T aspect, T near, T far); + + /// Creates a matrix for a right handed, symetric perspective-view frustum. + /// If GLM_FORCE_DEPTH_ZERO_TO_ONE is defined, the near and far clip planes correspond to z normalized device coordinates of 0 and +1 respectively. (Direct3D clip volume definition) + /// Otherwise, the near and far clip planes correspond to z normalized device coordinates of -1 and +1 respectively. (OpenGL clip volume definition) + /// + /// @param fovy Specifies the field of view angle, in degrees, in the y direction. Expressed in radians. + /// @param aspect Specifies the aspect ratio that determines the field of view in the x direction. The aspect ratio is the ratio of x (width) to y (height). + /// @param near Specifies the distance from the viewer to the near clipping plane (always positive). + /// @param far Specifies the distance from the viewer to the far clipping plane (always positive). + /// + /// @tparam T A floating-point scalar type + template + GLM_FUNC_DECL mat<4, 4, T, defaultp> perspectiveRH( + T fovy, T aspect, T near, T far); + + /// Creates a matrix for a left handed, symetric perspective-view frustum. + /// If GLM_FORCE_DEPTH_ZERO_TO_ONE is defined, the near and far clip planes correspond to z normalized device coordinates of 0 and +1 respectively. (Direct3D clip volume definition) + /// Otherwise, the near and far clip planes correspond to z normalized device coordinates of -1 and +1 respectively. (OpenGL clip volume definition) + /// + /// @param fovy Specifies the field of view angle, in degrees, in the y direction. Expressed in radians. + /// @param aspect Specifies the aspect ratio that determines the field of view in the x direction. The aspect ratio is the ratio of x (width) to y (height). + /// @param near Specifies the distance from the viewer to the near clipping plane (always positive). + /// @param far Specifies the distance from the viewer to the far clipping plane (always positive). + /// + /// @tparam T A floating-point scalar type + template + GLM_FUNC_DECL mat<4, 4, T, defaultp> perspectiveLH( + T fovy, T aspect, T near, T far); + + /// Creates a matrix for a symetric perspective-view frustum based on the default handedness and default near and far clip planes definition. + /// To change default handedness use GLM_FORCE_LEFT_HANDED. To change default near and far clip planes definition use GLM_FORCE_DEPTH_ZERO_TO_ONE. + /// + /// @param fovy Specifies the field of view angle in the y direction. Expressed in radians. + /// @param aspect Specifies the aspect ratio that determines the field of view in the x direction. The aspect ratio is the ratio of x (width) to y (height). + /// @param near Specifies the distance from the viewer to the near clipping plane (always positive). + /// @param far Specifies the distance from the viewer to the far clipping plane (always positive). + /// + /// @tparam T A floating-point scalar type + /// @see gluPerspective man page + template + GLM_FUNC_DECL mat<4, 4, T, defaultp> perspective( + T fovy, T aspect, T near, T far); + + /// Builds a perspective projection matrix based on a field of view using right-handed coordinates. + /// The near and far clip planes correspond to z normalized device coordinates of 0 and +1 respectively. (Direct3D clip volume definition) + /// + /// @param fov Expressed in radians. + /// @param width Width of the viewport + /// @param height Height of the viewport + /// @param near Specifies the distance from the viewer to the near clipping plane (always positive). + /// @param far Specifies the distance from the viewer to the far clipping plane (always positive). + /// + /// @tparam T A floating-point scalar type + template + GLM_FUNC_DECL mat<4, 4, T, defaultp> perspectiveFovRH_ZO( + T fov, T width, T height, T near, T far); + + /// Builds a perspective projection matrix based on a field of view using right-handed coordinates. + /// The near and far clip planes correspond to z normalized device coordinates of -1 and +1 respectively. (OpenGL clip volume definition) + /// + /// @param fov Expressed in radians. + /// @param width Width of the viewport + /// @param height Height of the viewport + /// @param near Specifies the distance from the viewer to the near clipping plane (always positive). + /// @param far Specifies the distance from the viewer to the far clipping plane (always positive). + /// + /// @tparam T A floating-point scalar type + template + GLM_FUNC_DECL mat<4, 4, T, defaultp> perspectiveFovRH_NO( + T fov, T width, T height, T near, T far); + + /// Builds a perspective projection matrix based on a field of view using left-handed coordinates. + /// The near and far clip planes correspond to z normalized device coordinates of 0 and +1 respectively. (Direct3D clip volume definition) + /// + /// @param fov Expressed in radians. + /// @param width Width of the viewport + /// @param height Height of the viewport + /// @param near Specifies the distance from the viewer to the near clipping plane (always positive). + /// @param far Specifies the distance from the viewer to the far clipping plane (always positive). + /// + /// @tparam T A floating-point scalar type + template + GLM_FUNC_DECL mat<4, 4, T, defaultp> perspectiveFovLH_ZO( + T fov, T width, T height, T near, T far); + + /// Builds a perspective projection matrix based on a field of view using left-handed coordinates. + /// The near and far clip planes correspond to z normalized device coordinates of -1 and +1 respectively. (OpenGL clip volume definition) + /// + /// @param fov Expressed in radians. + /// @param width Width of the viewport + /// @param height Height of the viewport + /// @param near Specifies the distance from the viewer to the near clipping plane (always positive). + /// @param far Specifies the distance from the viewer to the far clipping plane (always positive). + /// + /// @tparam T A floating-point scalar type + template + GLM_FUNC_DECL mat<4, 4, T, defaultp> perspectiveFovLH_NO( + T fov, T width, T height, T near, T far); + + /// Builds a perspective projection matrix based on a field of view using left-handed coordinates if GLM_FORCE_LEFT_HANDED if defined or right-handed coordinates otherwise. + /// The near and far clip planes correspond to z normalized device coordinates of 0 and +1 respectively. (Direct3D clip volume definition) + /// + /// @param fov Expressed in radians. + /// @param width Width of the viewport + /// @param height Height of the viewport + /// @param near Specifies the distance from the viewer to the near clipping plane (always positive). + /// @param far Specifies the distance from the viewer to the far clipping plane (always positive). + /// + /// @tparam T A floating-point scalar type + template + GLM_FUNC_DECL mat<4, 4, T, defaultp> perspectiveFovZO( + T fov, T width, T height, T near, T far); + + /// Builds a perspective projection matrix based on a field of view using left-handed coordinates if GLM_FORCE_LEFT_HANDED if defined or right-handed coordinates otherwise. + /// The near and far clip planes correspond to z normalized device coordinates of -1 and +1 respectively. (OpenGL clip volume definition) + /// + /// @param fov Expressed in radians. + /// @param width Width of the viewport + /// @param height Height of the viewport + /// @param near Specifies the distance from the viewer to the near clipping plane (always positive). + /// @param far Specifies the distance from the viewer to the far clipping plane (always positive). + /// + /// @tparam T A floating-point scalar type + template + GLM_FUNC_DECL mat<4, 4, T, defaultp> perspectiveFovNO( + T fov, T width, T height, T near, T far); + + /// Builds a right handed perspective projection matrix based on a field of view. + /// If GLM_FORCE_DEPTH_ZERO_TO_ONE is defined, the near and far clip planes correspond to z normalized device coordinates of 0 and +1 respectively. (Direct3D clip volume definition) + /// Otherwise, the near and far clip planes correspond to z normalized device coordinates of -1 and +1 respectively. (OpenGL clip volume definition) + /// + /// @param fov Expressed in radians. + /// @param width Width of the viewport + /// @param height Height of the viewport + /// @param near Specifies the distance from the viewer to the near clipping plane (always positive). + /// @param far Specifies the distance from the viewer to the far clipping plane (always positive). + /// + /// @tparam T A floating-point scalar type + template + GLM_FUNC_DECL mat<4, 4, T, defaultp> perspectiveFovRH( + T fov, T width, T height, T near, T far); + + /// Builds a left handed perspective projection matrix based on a field of view. + /// If GLM_FORCE_DEPTH_ZERO_TO_ONE is defined, the near and far clip planes correspond to z normalized device coordinates of 0 and +1 respectively. (Direct3D clip volume definition) + /// Otherwise, the near and far clip planes correspond to z normalized device coordinates of -1 and +1 respectively. (OpenGL clip volume definition) + /// + /// @param fov Expressed in radians. + /// @param width Width of the viewport + /// @param height Height of the viewport + /// @param near Specifies the distance from the viewer to the near clipping plane (always positive). + /// @param far Specifies the distance from the viewer to the far clipping plane (always positive). + /// + /// @tparam T A floating-point scalar type + template + GLM_FUNC_DECL mat<4, 4, T, defaultp> perspectiveFovLH( + T fov, T width, T height, T near, T far); + + /// Builds a perspective projection matrix based on a field of view and the default handedness and default near and far clip planes definition. + /// To change default handedness use GLM_FORCE_LEFT_HANDED. To change default near and far clip planes definition use GLM_FORCE_DEPTH_ZERO_TO_ONE. + /// + /// @param fov Expressed in radians. + /// @param width Width of the viewport + /// @param height Height of the viewport + /// @param near Specifies the distance from the viewer to the near clipping plane (always positive). + /// @param far Specifies the distance from the viewer to the far clipping plane (always positive). + /// + /// @tparam T A floating-point scalar type + template + GLM_FUNC_DECL mat<4, 4, T, defaultp> perspectiveFov( + T fov, T width, T height, T near, T far); + + /// Creates a matrix for a left handed, symmetric perspective-view frustum with far plane at infinite. + /// + /// @param fovy Specifies the field of view angle, in degrees, in the y direction. Expressed in radians. + /// @param aspect Specifies the aspect ratio that determines the field of view in the x direction. The aspect ratio is the ratio of x (width) to y (height). + /// @param near Specifies the distance from the viewer to the near clipping plane (always positive). + /// + /// @tparam T A floating-point scalar type + template + GLM_FUNC_DECL mat<4, 4, T, defaultp> infinitePerspectiveLH( + T fovy, T aspect, T near); + + /// Creates a matrix for a right handed, symmetric perspective-view frustum with far plane at infinite. + /// + /// @param fovy Specifies the field of view angle, in degrees, in the y direction. Expressed in radians. + /// @param aspect Specifies the aspect ratio that determines the field of view in the x direction. The aspect ratio is the ratio of x (width) to y (height). + /// @param near Specifies the distance from the viewer to the near clipping plane (always positive). + /// + /// @tparam T A floating-point scalar type + template + GLM_FUNC_DECL mat<4, 4, T, defaultp> infinitePerspectiveRH( + T fovy, T aspect, T near); + + /// Creates a matrix for a symmetric perspective-view frustum with far plane at infinite with default handedness. + /// + /// @param fovy Specifies the field of view angle, in degrees, in the y direction. Expressed in radians. + /// @param aspect Specifies the aspect ratio that determines the field of view in the x direction. The aspect ratio is the ratio of x (width) to y (height). + /// @param near Specifies the distance from the viewer to the near clipping plane (always positive). + /// + /// @tparam T A floating-point scalar type + template + GLM_FUNC_DECL mat<4, 4, T, defaultp> infinitePerspective( + T fovy, T aspect, T near); + + /// Creates a matrix for a symmetric perspective-view frustum with far plane at infinite for graphics hardware that doesn't support depth clamping. + /// + /// @param fovy Specifies the field of view angle, in degrees, in the y direction. Expressed in radians. + /// @param aspect Specifies the aspect ratio that determines the field of view in the x direction. The aspect ratio is the ratio of x (width) to y (height). + /// @param near Specifies the distance from the viewer to the near clipping plane (always positive). + /// + /// @tparam T A floating-point scalar type + template + GLM_FUNC_DECL mat<4, 4, T, defaultp> tweakedInfinitePerspective( + T fovy, T aspect, T near); + + /// Creates a matrix for a symmetric perspective-view frustum with far plane at infinite for graphics hardware that doesn't support depth clamping. + /// + /// @param fovy Specifies the field of view angle, in degrees, in the y direction. Expressed in radians. + /// @param aspect Specifies the aspect ratio that determines the field of view in the x direction. The aspect ratio is the ratio of x (width) to y (height). + /// @param near Specifies the distance from the viewer to the near clipping plane (always positive). + /// @param ep Epsilon + /// + /// @tparam T A floating-point scalar type + template + GLM_FUNC_DECL mat<4, 4, T, defaultp> tweakedInfinitePerspective( + T fovy, T aspect, T near, T ep); + + /// @} +}//namespace glm + +#include "matrix_clip_space.inl" diff --git a/MacroLibX/third_party/glm/ext/matrix_clip_space.inl b/MacroLibX/third_party/glm/ext/matrix_clip_space.inl new file mode 100644 index 0000000..7e4df33 --- /dev/null +++ b/MacroLibX/third_party/glm/ext/matrix_clip_space.inl @@ -0,0 +1,555 @@ +namespace glm +{ + template + GLM_FUNC_QUALIFIER mat<4, 4, T, defaultp> ortho(T left, T right, T bottom, T top) + { + mat<4, 4, T, defaultp> Result(static_cast(1)); + Result[0][0] = static_cast(2) / (right - left); + Result[1][1] = static_cast(2) / (top - bottom); + Result[2][2] = - static_cast(1); + Result[3][0] = - (right + left) / (right - left); + Result[3][1] = - (top + bottom) / (top - bottom); + return Result; + } + + template + GLM_FUNC_QUALIFIER mat<4, 4, T, defaultp> orthoLH_ZO(T left, T right, T bottom, T top, T zNear, T zFar) + { + mat<4, 4, T, defaultp> Result(1); + Result[0][0] = static_cast(2) / (right - left); + Result[1][1] = static_cast(2) / (top - bottom); + Result[2][2] = static_cast(1) / (zFar - zNear); + Result[3][0] = - (right + left) / (right - left); + Result[3][1] = - (top + bottom) / (top - bottom); + Result[3][2] = - zNear / (zFar - zNear); + return Result; + } + + template + GLM_FUNC_QUALIFIER mat<4, 4, T, defaultp> orthoLH_NO(T left, T right, T bottom, T top, T zNear, T zFar) + { + mat<4, 4, T, defaultp> Result(1); + Result[0][0] = static_cast(2) / (right - left); + Result[1][1] = static_cast(2) / (top - bottom); + Result[2][2] = static_cast(2) / (zFar - zNear); + Result[3][0] = - (right + left) / (right - left); + Result[3][1] = - (top + bottom) / (top - bottom); + Result[3][2] = - (zFar + zNear) / (zFar - zNear); + return Result; + } + + template + GLM_FUNC_QUALIFIER mat<4, 4, T, defaultp> orthoRH_ZO(T left, T right, T bottom, T top, T zNear, T zFar) + { + mat<4, 4, T, defaultp> Result(1); + Result[0][0] = static_cast(2) / (right - left); + Result[1][1] = static_cast(2) / (top - bottom); + Result[2][2] = - static_cast(1) / (zFar - zNear); + Result[3][0] = - (right + left) / (right - left); + Result[3][1] = - (top + bottom) / (top - bottom); + Result[3][2] = - zNear / (zFar - zNear); + return Result; + } + + template + GLM_FUNC_QUALIFIER mat<4, 4, T, defaultp> orthoRH_NO(T left, T right, T bottom, T top, T zNear, T zFar) + { + mat<4, 4, T, defaultp> Result(1); + Result[0][0] = static_cast(2) / (right - left); + Result[1][1] = static_cast(2) / (top - bottom); + Result[2][2] = - static_cast(2) / (zFar - zNear); + Result[3][0] = - (right + left) / (right - left); + Result[3][1] = - (top + bottom) / (top - bottom); + Result[3][2] = - (zFar + zNear) / (zFar - zNear); + return Result; + } + + template + GLM_FUNC_QUALIFIER mat<4, 4, T, defaultp> orthoZO(T left, T right, T bottom, T top, T zNear, T zFar) + { +# if GLM_CONFIG_CLIP_CONTROL & GLM_CLIP_CONTROL_LH_BIT + return orthoLH_ZO(left, right, bottom, top, zNear, zFar); +# else + return orthoRH_ZO(left, right, bottom, top, zNear, zFar); +# endif + } + + template + GLM_FUNC_QUALIFIER mat<4, 4, T, defaultp> orthoNO(T left, T right, T bottom, T top, T zNear, T zFar) + { +# if GLM_CONFIG_CLIP_CONTROL & GLM_CLIP_CONTROL_LH_BIT + return orthoLH_NO(left, right, bottom, top, zNear, zFar); +# else + return orthoRH_NO(left, right, bottom, top, zNear, zFar); +# endif + } + + template + GLM_FUNC_QUALIFIER mat<4, 4, T, defaultp> orthoLH(T left, T right, T bottom, T top, T zNear, T zFar) + { +# if GLM_CONFIG_CLIP_CONTROL & GLM_CLIP_CONTROL_ZO_BIT + return orthoLH_ZO(left, right, bottom, top, zNear, zFar); +# else + return orthoLH_NO(left, right, bottom, top, zNear, zFar); +# endif + + } + + template + GLM_FUNC_QUALIFIER mat<4, 4, T, defaultp> orthoRH(T left, T right, T bottom, T top, T zNear, T zFar) + { +# if GLM_CONFIG_CLIP_CONTROL & GLM_CLIP_CONTROL_ZO_BIT + return orthoRH_ZO(left, right, bottom, top, zNear, zFar); +# else + return orthoRH_NO(left, right, bottom, top, zNear, zFar); +# endif + } + + template + GLM_FUNC_QUALIFIER mat<4, 4, T, defaultp> ortho(T left, T right, T bottom, T top, T zNear, T zFar) + { +# if GLM_CONFIG_CLIP_CONTROL == GLM_CLIP_CONTROL_LH_ZO + return orthoLH_ZO(left, right, bottom, top, zNear, zFar); +# elif GLM_CONFIG_CLIP_CONTROL == GLM_CLIP_CONTROL_LH_NO + return orthoLH_NO(left, right, bottom, top, zNear, zFar); +# elif GLM_CONFIG_CLIP_CONTROL == GLM_CLIP_CONTROL_RH_ZO + return orthoRH_ZO(left, right, bottom, top, zNear, zFar); +# elif GLM_CONFIG_CLIP_CONTROL == GLM_CLIP_CONTROL_RH_NO + return orthoRH_NO(left, right, bottom, top, zNear, zFar); +# endif + } + + template + GLM_FUNC_QUALIFIER mat<4, 4, T, defaultp> frustumLH_ZO(T left, T right, T bottom, T top, T nearVal, T farVal) + { + mat<4, 4, T, defaultp> Result(0); + Result[0][0] = (static_cast(2) * nearVal) / (right - left); + Result[1][1] = (static_cast(2) * nearVal) / (top - bottom); + Result[2][0] = (right + left) / (right - left); + Result[2][1] = (top + bottom) / (top - bottom); + Result[2][2] = farVal / (farVal - nearVal); + Result[2][3] = static_cast(1); + Result[3][2] = -(farVal * nearVal) / (farVal - nearVal); + return Result; + } + + template + GLM_FUNC_QUALIFIER mat<4, 4, T, defaultp> frustumLH_NO(T left, T right, T bottom, T top, T nearVal, T farVal) + { + mat<4, 4, T, defaultp> Result(0); + Result[0][0] = (static_cast(2) * nearVal) / (right - left); + Result[1][1] = (static_cast(2) * nearVal) / (top - bottom); + Result[2][0] = (right + left) / (right - left); + Result[2][1] = (top + bottom) / (top - bottom); + Result[2][2] = (farVal + nearVal) / (farVal - nearVal); + Result[2][3] = static_cast(1); + Result[3][2] = - (static_cast(2) * farVal * nearVal) / (farVal - nearVal); + return Result; + } + + template + GLM_FUNC_QUALIFIER mat<4, 4, T, defaultp> frustumRH_ZO(T left, T right, T bottom, T top, T nearVal, T farVal) + { + mat<4, 4, T, defaultp> Result(0); + Result[0][0] = (static_cast(2) * nearVal) / (right - left); + Result[1][1] = (static_cast(2) * nearVal) / (top - bottom); + Result[2][0] = (right + left) / (right - left); + Result[2][1] = (top + bottom) / (top - bottom); + Result[2][2] = farVal / (nearVal - farVal); + Result[2][3] = static_cast(-1); + Result[3][2] = -(farVal * nearVal) / (farVal - nearVal); + return Result; + } + + template + GLM_FUNC_QUALIFIER mat<4, 4, T, defaultp> frustumRH_NO(T left, T right, T bottom, T top, T nearVal, T farVal) + { + mat<4, 4, T, defaultp> Result(0); + Result[0][0] = (static_cast(2) * nearVal) / (right - left); + Result[1][1] = (static_cast(2) * nearVal) / (top - bottom); + Result[2][0] = (right + left) / (right - left); + Result[2][1] = (top + bottom) / (top - bottom); + Result[2][2] = - (farVal + nearVal) / (farVal - nearVal); + Result[2][3] = static_cast(-1); + Result[3][2] = - (static_cast(2) * farVal * nearVal) / (farVal - nearVal); + return Result; + } + + template + GLM_FUNC_QUALIFIER mat<4, 4, T, defaultp> frustumZO(T left, T right, T bottom, T top, T nearVal, T farVal) + { +# if GLM_CONFIG_CLIP_CONTROL & GLM_CLIP_CONTROL_LH_BIT + return frustumLH_ZO(left, right, bottom, top, nearVal, farVal); +# else + return frustumRH_ZO(left, right, bottom, top, nearVal, farVal); +# endif + } + + template + GLM_FUNC_QUALIFIER mat<4, 4, T, defaultp> frustumNO(T left, T right, T bottom, T top, T nearVal, T farVal) + { +# if GLM_CONFIG_CLIP_CONTROL & GLM_CLIP_CONTROL_LH_BIT + return frustumLH_NO(left, right, bottom, top, nearVal, farVal); +# else + return frustumRH_NO(left, right, bottom, top, nearVal, farVal); +# endif + } + + template + GLM_FUNC_QUALIFIER mat<4, 4, T, defaultp> frustumLH(T left, T right, T bottom, T top, T nearVal, T farVal) + { +# if GLM_CONFIG_CLIP_CONTROL & GLM_CLIP_CONTROL_ZO_BIT + return frustumLH_ZO(left, right, bottom, top, nearVal, farVal); +# else + return frustumLH_NO(left, right, bottom, top, nearVal, farVal); +# endif + } + + template + GLM_FUNC_QUALIFIER mat<4, 4, T, defaultp> frustumRH(T left, T right, T bottom, T top, T nearVal, T farVal) + { +# if GLM_CONFIG_CLIP_CONTROL & GLM_CLIP_CONTROL_ZO_BIT + return frustumRH_ZO(left, right, bottom, top, nearVal, farVal); +# else + return frustumRH_NO(left, right, bottom, top, nearVal, farVal); +# endif + } + + template + GLM_FUNC_QUALIFIER mat<4, 4, T, defaultp> frustum(T left, T right, T bottom, T top, T nearVal, T farVal) + { +# if GLM_CONFIG_CLIP_CONTROL == GLM_CLIP_CONTROL_LH_ZO + return frustumLH_ZO(left, right, bottom, top, nearVal, farVal); +# elif GLM_CONFIG_CLIP_CONTROL == GLM_CLIP_CONTROL_LH_NO + return frustumLH_NO(left, right, bottom, top, nearVal, farVal); +# elif GLM_CONFIG_CLIP_CONTROL == GLM_CLIP_CONTROL_RH_ZO + return frustumRH_ZO(left, right, bottom, top, nearVal, farVal); +# elif GLM_CONFIG_CLIP_CONTROL == GLM_CLIP_CONTROL_RH_NO + return frustumRH_NO(left, right, bottom, top, nearVal, farVal); +# endif + } + + template + GLM_FUNC_QUALIFIER mat<4, 4, T, defaultp> perspectiveRH_ZO(T fovy, T aspect, T zNear, T zFar) + { + assert(abs(aspect - std::numeric_limits::epsilon()) > static_cast(0)); + + T const tanHalfFovy = tan(fovy / static_cast(2)); + + mat<4, 4, T, defaultp> Result(static_cast(0)); + Result[0][0] = static_cast(1) / (aspect * tanHalfFovy); + Result[1][1] = static_cast(1) / (tanHalfFovy); + Result[2][2] = zFar / (zNear - zFar); + Result[2][3] = - static_cast(1); + Result[3][2] = -(zFar * zNear) / (zFar - zNear); + return Result; + } + + template + GLM_FUNC_QUALIFIER mat<4, 4, T, defaultp> perspectiveRH_NO(T fovy, T aspect, T zNear, T zFar) + { + assert(abs(aspect - std::numeric_limits::epsilon()) > static_cast(0)); + + T const tanHalfFovy = tan(fovy / static_cast(2)); + + mat<4, 4, T, defaultp> Result(static_cast(0)); + Result[0][0] = static_cast(1) / (aspect * tanHalfFovy); + Result[1][1] = static_cast(1) / (tanHalfFovy); + Result[2][2] = - (zFar + zNear) / (zFar - zNear); + Result[2][3] = - static_cast(1); + Result[3][2] = - (static_cast(2) * zFar * zNear) / (zFar - zNear); + return Result; + } + + template + GLM_FUNC_QUALIFIER mat<4, 4, T, defaultp> perspectiveLH_ZO(T fovy, T aspect, T zNear, T zFar) + { + assert(abs(aspect - std::numeric_limits::epsilon()) > static_cast(0)); + + T const tanHalfFovy = tan(fovy / static_cast(2)); + + mat<4, 4, T, defaultp> Result(static_cast(0)); + Result[0][0] = static_cast(1) / (aspect * tanHalfFovy); + Result[1][1] = static_cast(1) / (tanHalfFovy); + Result[2][2] = zFar / (zFar - zNear); + Result[2][3] = static_cast(1); + Result[3][2] = -(zFar * zNear) / (zFar - zNear); + return Result; + } + + template + GLM_FUNC_QUALIFIER mat<4, 4, T, defaultp> perspectiveLH_NO(T fovy, T aspect, T zNear, T zFar) + { + assert(abs(aspect - std::numeric_limits::epsilon()) > static_cast(0)); + + T const tanHalfFovy = tan(fovy / static_cast(2)); + + mat<4, 4, T, defaultp> Result(static_cast(0)); + Result[0][0] = static_cast(1) / (aspect * tanHalfFovy); + Result[1][1] = static_cast(1) / (tanHalfFovy); + Result[2][2] = (zFar + zNear) / (zFar - zNear); + Result[2][3] = static_cast(1); + Result[3][2] = - (static_cast(2) * zFar * zNear) / (zFar - zNear); + return Result; + } + + template + GLM_FUNC_QUALIFIER mat<4, 4, T, defaultp> perspectiveZO(T fovy, T aspect, T zNear, T zFar) + { +# if GLM_CONFIG_CLIP_CONTROL & GLM_CLIP_CONTROL_LH_BIT + return perspectiveLH_ZO(fovy, aspect, zNear, zFar); +# else + return perspectiveRH_ZO(fovy, aspect, zNear, zFar); +# endif + } + + template + GLM_FUNC_QUALIFIER mat<4, 4, T, defaultp> perspectiveNO(T fovy, T aspect, T zNear, T zFar) + { +# if GLM_CONFIG_CLIP_CONTROL & GLM_CLIP_CONTROL_LH_BIT + return perspectiveLH_NO(fovy, aspect, zNear, zFar); +# else + return perspectiveRH_NO(fovy, aspect, zNear, zFar); +# endif + } + + template + GLM_FUNC_QUALIFIER mat<4, 4, T, defaultp> perspectiveLH(T fovy, T aspect, T zNear, T zFar) + { +# if GLM_CONFIG_CLIP_CONTROL & GLM_CLIP_CONTROL_ZO_BIT + return perspectiveLH_ZO(fovy, aspect, zNear, zFar); +# else + return perspectiveLH_NO(fovy, aspect, zNear, zFar); +# endif + + } + + template + GLM_FUNC_QUALIFIER mat<4, 4, T, defaultp> perspectiveRH(T fovy, T aspect, T zNear, T zFar) + { +# if GLM_CONFIG_CLIP_CONTROL & GLM_CLIP_CONTROL_ZO_BIT + return perspectiveRH_ZO(fovy, aspect, zNear, zFar); +# else + return perspectiveRH_NO(fovy, aspect, zNear, zFar); +# endif + } + + template + GLM_FUNC_QUALIFIER mat<4, 4, T, defaultp> perspective(T fovy, T aspect, T zNear, T zFar) + { +# if GLM_CONFIG_CLIP_CONTROL == GLM_CLIP_CONTROL_LH_ZO + return perspectiveLH_ZO(fovy, aspect, zNear, zFar); +# elif GLM_CONFIG_CLIP_CONTROL == GLM_CLIP_CONTROL_LH_NO + return perspectiveLH_NO(fovy, aspect, zNear, zFar); +# elif GLM_CONFIG_CLIP_CONTROL == GLM_CLIP_CONTROL_RH_ZO + return perspectiveRH_ZO(fovy, aspect, zNear, zFar); +# elif GLM_CONFIG_CLIP_CONTROL == GLM_CLIP_CONTROL_RH_NO + return perspectiveRH_NO(fovy, aspect, zNear, zFar); +# endif + } + + template + GLM_FUNC_QUALIFIER mat<4, 4, T, defaultp> perspectiveFovRH_ZO(T fov, T width, T height, T zNear, T zFar) + { + assert(width > static_cast(0)); + assert(height > static_cast(0)); + assert(fov > static_cast(0)); + + T const rad = fov; + T const h = glm::cos(static_cast(0.5) * rad) / glm::sin(static_cast(0.5) * rad); + T const w = h * height / width; ///todo max(width , Height) / min(width , Height)? + + mat<4, 4, T, defaultp> Result(static_cast(0)); + Result[0][0] = w; + Result[1][1] = h; + Result[2][2] = zFar / (zNear - zFar); + Result[2][3] = - static_cast(1); + Result[3][2] = -(zFar * zNear) / (zFar - zNear); + return Result; + } + + template + GLM_FUNC_QUALIFIER mat<4, 4, T, defaultp> perspectiveFovRH_NO(T fov, T width, T height, T zNear, T zFar) + { + assert(width > static_cast(0)); + assert(height > static_cast(0)); + assert(fov > static_cast(0)); + + T const rad = fov; + T const h = glm::cos(static_cast(0.5) * rad) / glm::sin(static_cast(0.5) * rad); + T const w = h * height / width; ///todo max(width , Height) / min(width , Height)? + + mat<4, 4, T, defaultp> Result(static_cast(0)); + Result[0][0] = w; + Result[1][1] = h; + Result[2][2] = - (zFar + zNear) / (zFar - zNear); + Result[2][3] = - static_cast(1); + Result[3][2] = - (static_cast(2) * zFar * zNear) / (zFar - zNear); + return Result; + } + + template + GLM_FUNC_QUALIFIER mat<4, 4, T, defaultp> perspectiveFovLH_ZO(T fov, T width, T height, T zNear, T zFar) + { + assert(width > static_cast(0)); + assert(height > static_cast(0)); + assert(fov > static_cast(0)); + + T const rad = fov; + T const h = glm::cos(static_cast(0.5) * rad) / glm::sin(static_cast(0.5) * rad); + T const w = h * height / width; ///todo max(width , Height) / min(width , Height)? + + mat<4, 4, T, defaultp> Result(static_cast(0)); + Result[0][0] = w; + Result[1][1] = h; + Result[2][2] = zFar / (zFar - zNear); + Result[2][3] = static_cast(1); + Result[3][2] = -(zFar * zNear) / (zFar - zNear); + return Result; + } + + template + GLM_FUNC_QUALIFIER mat<4, 4, T, defaultp> perspectiveFovLH_NO(T fov, T width, T height, T zNear, T zFar) + { + assert(width > static_cast(0)); + assert(height > static_cast(0)); + assert(fov > static_cast(0)); + + T const rad = fov; + T const h = glm::cos(static_cast(0.5) * rad) / glm::sin(static_cast(0.5) * rad); + T const w = h * height / width; ///todo max(width , Height) / min(width , Height)? + + mat<4, 4, T, defaultp> Result(static_cast(0)); + Result[0][0] = w; + Result[1][1] = h; + Result[2][2] = (zFar + zNear) / (zFar - zNear); + Result[2][3] = static_cast(1); + Result[3][2] = - (static_cast(2) * zFar * zNear) / (zFar - zNear); + return Result; + } + + template + GLM_FUNC_QUALIFIER mat<4, 4, T, defaultp> perspectiveFovZO(T fov, T width, T height, T zNear, T zFar) + { +# if GLM_CONFIG_CLIP_CONTROL & GLM_CLIP_CONTROL_LH_BIT + return perspectiveFovLH_ZO(fov, width, height, zNear, zFar); +# else + return perspectiveFovRH_ZO(fov, width, height, zNear, zFar); +# endif + } + + template + GLM_FUNC_QUALIFIER mat<4, 4, T, defaultp> perspectiveFovNO(T fov, T width, T height, T zNear, T zFar) + { +# if GLM_CONFIG_CLIP_CONTROL & GLM_CLIP_CONTROL_LH_BIT + return perspectiveFovLH_NO(fov, width, height, zNear, zFar); +# else + return perspectiveFovRH_NO(fov, width, height, zNear, zFar); +# endif + } + + template + GLM_FUNC_QUALIFIER mat<4, 4, T, defaultp> perspectiveFovLH(T fov, T width, T height, T zNear, T zFar) + { +# if GLM_CONFIG_CLIP_CONTROL & GLM_CLIP_CONTROL_ZO_BIT + return perspectiveFovLH_ZO(fov, width, height, zNear, zFar); +# else + return perspectiveFovLH_NO(fov, width, height, zNear, zFar); +# endif + } + + template + GLM_FUNC_QUALIFIER mat<4, 4, T, defaultp> perspectiveFovRH(T fov, T width, T height, T zNear, T zFar) + { +# if GLM_CONFIG_CLIP_CONTROL & GLM_CLIP_CONTROL_ZO_BIT + return perspectiveFovRH_ZO(fov, width, height, zNear, zFar); +# else + return perspectiveFovRH_NO(fov, width, height, zNear, zFar); +# endif + } + + template + GLM_FUNC_QUALIFIER mat<4, 4, T, defaultp> perspectiveFov(T fov, T width, T height, T zNear, T zFar) + { +# if GLM_CONFIG_CLIP_CONTROL == GLM_CLIP_CONTROL_LH_ZO + return perspectiveFovLH_ZO(fov, width, height, zNear, zFar); +# elif GLM_CONFIG_CLIP_CONTROL == GLM_CLIP_CONTROL_LH_NO + return perspectiveFovLH_NO(fov, width, height, zNear, zFar); +# elif GLM_CONFIG_CLIP_CONTROL == GLM_CLIP_CONTROL_RH_ZO + return perspectiveFovRH_ZO(fov, width, height, zNear, zFar); +# elif GLM_CONFIG_CLIP_CONTROL == GLM_CLIP_CONTROL_RH_NO + return perspectiveFovRH_NO(fov, width, height, zNear, zFar); +# endif + } + + template + GLM_FUNC_QUALIFIER mat<4, 4, T, defaultp> infinitePerspectiveRH(T fovy, T aspect, T zNear) + { + T const range = tan(fovy / static_cast(2)) * zNear; + T const left = -range * aspect; + T const right = range * aspect; + T const bottom = -range; + T const top = range; + + mat<4, 4, T, defaultp> Result(static_cast(0)); + Result[0][0] = (static_cast(2) * zNear) / (right - left); + Result[1][1] = (static_cast(2) * zNear) / (top - bottom); + Result[2][2] = - static_cast(1); + Result[2][3] = - static_cast(1); + Result[3][2] = - static_cast(2) * zNear; + return Result; + } + + template + GLM_FUNC_QUALIFIER mat<4, 4, T, defaultp> infinitePerspectiveLH(T fovy, T aspect, T zNear) + { + T const range = tan(fovy / static_cast(2)) * zNear; + T const left = -range * aspect; + T const right = range * aspect; + T const bottom = -range; + T const top = range; + + mat<4, 4, T, defaultp> Result(T(0)); + Result[0][0] = (static_cast(2) * zNear) / (right - left); + Result[1][1] = (static_cast(2) * zNear) / (top - bottom); + Result[2][2] = static_cast(1); + Result[2][3] = static_cast(1); + Result[3][2] = - static_cast(2) * zNear; + return Result; + } + + template + GLM_FUNC_QUALIFIER mat<4, 4, T, defaultp> infinitePerspective(T fovy, T aspect, T zNear) + { +# if GLM_CONFIG_CLIP_CONTROL & GLM_CLIP_CONTROL_LH_BIT + return infinitePerspectiveLH(fovy, aspect, zNear); +# else + return infinitePerspectiveRH(fovy, aspect, zNear); +# endif + } + + // Infinite projection matrix: http://www.terathon.com/gdc07_lengyel.pdf + template + GLM_FUNC_QUALIFIER mat<4, 4, T, defaultp> tweakedInfinitePerspective(T fovy, T aspect, T zNear, T ep) + { + T const range = tan(fovy / static_cast(2)) * zNear; + T const left = -range * aspect; + T const right = range * aspect; + T const bottom = -range; + T const top = range; + + mat<4, 4, T, defaultp> Result(static_cast(0)); + Result[0][0] = (static_cast(2) * zNear) / (right - left); + Result[1][1] = (static_cast(2) * zNear) / (top - bottom); + Result[2][2] = ep - static_cast(1); + Result[2][3] = static_cast(-1); + Result[3][2] = (ep - static_cast(2)) * zNear; + return Result; + } + + template + GLM_FUNC_QUALIFIER mat<4, 4, T, defaultp> tweakedInfinitePerspective(T fovy, T aspect, T zNear) + { + return tweakedInfinitePerspective(fovy, aspect, zNear, epsilon()); + } +}//namespace glm diff --git a/MacroLibX/third_party/glm/ext/matrix_common.hpp b/MacroLibX/third_party/glm/ext/matrix_common.hpp new file mode 100644 index 0000000..05c3799 --- /dev/null +++ b/MacroLibX/third_party/glm/ext/matrix_common.hpp @@ -0,0 +1,36 @@ +/// @ref ext_matrix_common +/// @file glm/ext/matrix_common.hpp +/// +/// @defgroup ext_matrix_common GLM_EXT_matrix_common +/// @ingroup ext +/// +/// Defines functions for common matrix operations. +/// +/// Include to use the features of this extension. +/// +/// @see ext_matrix_common + +#pragma once + +#include "../detail/qualifier.hpp" +#include "../detail/_fixes.hpp" + +#if GLM_MESSAGES == GLM_ENABLE && !defined(GLM_EXT_INCLUDED) +# pragma message("GLM: GLM_EXT_matrix_transform extension included") +#endif + +namespace glm +{ + /// @addtogroup ext_matrix_common + /// @{ + + template + GLM_FUNC_DECL mat mix(mat const& x, mat const& y, mat const& a); + + template + GLM_FUNC_DECL mat mix(mat const& x, mat const& y, U a); + + /// @} +}//namespace glm + +#include "matrix_common.inl" diff --git a/MacroLibX/third_party/glm/ext/matrix_common.inl b/MacroLibX/third_party/glm/ext/matrix_common.inl new file mode 100644 index 0000000..9d50848 --- /dev/null +++ b/MacroLibX/third_party/glm/ext/matrix_common.inl @@ -0,0 +1,16 @@ +#include "../matrix.hpp" + +namespace glm +{ + template + GLM_FUNC_QUALIFIER mat mix(mat const& x, mat const& y, U a) + { + return mat(x) * (static_cast(1) - a) + mat(y) * a; + } + + template + GLM_FUNC_QUALIFIER mat mix(mat const& x, mat const& y, mat const& a) + { + return matrixCompMult(mat(x), static_cast(1) - a) + matrixCompMult(mat(y), a); + } +}//namespace glm diff --git a/MacroLibX/third_party/glm/ext/matrix_double2x2.hpp b/MacroLibX/third_party/glm/ext/matrix_double2x2.hpp new file mode 100644 index 0000000..94dca54 --- /dev/null +++ b/MacroLibX/third_party/glm/ext/matrix_double2x2.hpp @@ -0,0 +1,23 @@ +/// @ref core +/// @file glm/ext/matrix_double2x2.hpp + +#pragma once +#include "../detail/type_mat2x2.hpp" + +namespace glm +{ + /// @addtogroup core_matrix + /// @{ + + /// 2 columns of 2 components matrix of double-precision floating-point numbers. + /// + /// @see GLSL 4.20.8 specification, section 4.1.6 Matrices + typedef mat<2, 2, double, defaultp> dmat2x2; + + /// 2 columns of 2 components matrix of double-precision floating-point numbers. + /// + /// @see GLSL 4.20.8 specification, section 4.1.6 Matrices + typedef mat<2, 2, double, defaultp> dmat2; + + /// @} +}//namespace glm diff --git a/MacroLibX/third_party/glm/ext/matrix_double2x2_precision.hpp b/MacroLibX/third_party/glm/ext/matrix_double2x2_precision.hpp new file mode 100644 index 0000000..9e2c174 --- /dev/null +++ b/MacroLibX/third_party/glm/ext/matrix_double2x2_precision.hpp @@ -0,0 +1,49 @@ +/// @ref core +/// @file glm/ext/matrix_double2x2_precision.hpp + +#pragma once +#include "../detail/type_mat2x2.hpp" + +namespace glm +{ + /// @addtogroup core_matrix_precision + /// @{ + + /// 2 columns of 2 components matrix of double-precision floating-point numbers using low precision arithmetic in term of ULPs. + /// + /// @see GLSL 4.20.8 specification, section 4.1.6 Matrices + /// @see GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier + typedef mat<2, 2, double, lowp> lowp_dmat2; + + /// 2 columns of 2 components matrix of double-precision floating-point numbers using medium precision arithmetic in term of ULPs. + /// + /// @see GLSL 4.20.8 specification, section 4.1.6 Matrices + /// @see GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier + typedef mat<2, 2, double, mediump> mediump_dmat2; + + /// 2 columns of 2 components matrix of double-precision floating-point numbers using medium precision arithmetic in term of ULPs. + /// + /// @see GLSL 4.20.8 specification, section 4.1.6 Matrices + /// @see GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier + typedef mat<2, 2, double, highp> highp_dmat2; + + /// 2 columns of 2 components matrix of double-precision floating-point numbers using low precision arithmetic in term of ULPs. + /// + /// @see GLSL 4.20.8 specification, section 4.1.6 Matrices + /// @see GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier + typedef mat<2, 2, double, lowp> lowp_dmat2x2; + + /// 2 columns of 2 components matrix of double-precision floating-point numbers using medium precision arithmetic in term of ULPs. + /// + /// @see GLSL 4.20.8 specification, section 4.1.6 Matrices + /// @see GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier + typedef mat<2, 2, double, mediump> mediump_dmat2x2; + + /// 2 columns of 2 components matrix of double-precision floating-point numbers using medium precision arithmetic in term of ULPs. + /// + /// @see GLSL 4.20.8 specification, section 4.1.6 Matrices + /// @see GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier + typedef mat<2, 2, double, highp> highp_dmat2x2; + + /// @} +}//namespace glm diff --git a/MacroLibX/third_party/glm/ext/matrix_double2x3.hpp b/MacroLibX/third_party/glm/ext/matrix_double2x3.hpp new file mode 100644 index 0000000..bfef87a --- /dev/null +++ b/MacroLibX/third_party/glm/ext/matrix_double2x3.hpp @@ -0,0 +1,18 @@ +/// @ref core +/// @file glm/ext/matrix_double2x3.hpp + +#pragma once +#include "../detail/type_mat2x3.hpp" + +namespace glm +{ + /// @addtogroup core_matrix + /// @{ + + /// 2 columns of 3 components matrix of double-precision floating-point numbers. + /// + /// @see GLSL 4.20.8 specification, section 4.1.6 Matrices + typedef mat<2, 3, double, defaultp> dmat2x3; + + /// @} +}//namespace glm diff --git a/MacroLibX/third_party/glm/ext/matrix_double2x3_precision.hpp b/MacroLibX/third_party/glm/ext/matrix_double2x3_precision.hpp new file mode 100644 index 0000000..098fb60 --- /dev/null +++ b/MacroLibX/third_party/glm/ext/matrix_double2x3_precision.hpp @@ -0,0 +1,31 @@ +/// @ref core +/// @file glm/ext/matrix_double2x3_precision.hpp + +#pragma once +#include "../detail/type_mat2x3.hpp" + +namespace glm +{ + /// @addtogroup core_matrix_precision + /// @{ + + /// 2 columns of 3 components matrix of double-precision floating-point numbers using low precision arithmetic in term of ULPs. + /// + /// @see GLSL 4.20.8 specification, section 4.1.6 Matrices + /// @see GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier + typedef mat<2, 3, double, lowp> lowp_dmat2x3; + + /// 2 columns of 3 components matrix of double-precision floating-point numbers using medium precision arithmetic in term of ULPs. + /// + /// @see GLSL 4.20.8 specification, section 4.1.6 Matrices + /// @see GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier + typedef mat<2, 3, double, mediump> mediump_dmat2x3; + + /// 2 columns of 3 components matrix of double-precision floating-point numbers using medium precision arithmetic in term of ULPs. + /// + /// @see GLSL 4.20.8 specification, section 4.1.6 Matrices + /// @see GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier + typedef mat<2, 3, double, highp> highp_dmat2x3; + + /// @} +}//namespace glm diff --git a/MacroLibX/third_party/glm/ext/matrix_double2x4.hpp b/MacroLibX/third_party/glm/ext/matrix_double2x4.hpp new file mode 100644 index 0000000..499284b --- /dev/null +++ b/MacroLibX/third_party/glm/ext/matrix_double2x4.hpp @@ -0,0 +1,18 @@ +/// @ref core +/// @file glm/ext/matrix_double2x4.hpp + +#pragma once +#include "../detail/type_mat2x4.hpp" + +namespace glm +{ + /// @addtogroup core_matrix + /// @{ + + /// 2 columns of 4 components matrix of double-precision floating-point numbers. + /// + /// @see GLSL 4.20.8 specification, section 4.1.6 Matrices + typedef mat<2, 4, double, defaultp> dmat2x4; + + /// @} +}//namespace glm diff --git a/MacroLibX/third_party/glm/ext/matrix_double2x4_precision.hpp b/MacroLibX/third_party/glm/ext/matrix_double2x4_precision.hpp new file mode 100644 index 0000000..9b61ebc --- /dev/null +++ b/MacroLibX/third_party/glm/ext/matrix_double2x4_precision.hpp @@ -0,0 +1,31 @@ +/// @ref core +/// @file glm/ext/matrix_double2x4_precision.hpp + +#pragma once +#include "../detail/type_mat2x4.hpp" + +namespace glm +{ + /// @addtogroup core_matrix_precision + /// @{ + + /// 2 columns of 4 components matrix of double-precision floating-point numbers using low precision arithmetic in term of ULPs. + /// + /// @see GLSL 4.20.8 specification, section 4.1.6 Matrices + /// @see GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier + typedef mat<2, 4, double, lowp> lowp_dmat2x4; + + /// 2 columns of 4 components matrix of double-precision floating-point numbers using medium precision arithmetic in term of ULPs. + /// + /// @see GLSL 4.20.8 specification, section 4.1.6 Matrices + /// @see GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier + typedef mat<2, 4, double, mediump> mediump_dmat2x4; + + /// 2 columns of 4 components matrix of double-precision floating-point numbers using medium precision arithmetic in term of ULPs. + /// + /// @see GLSL 4.20.8 specification, section 4.1.6 Matrices + /// @see GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier + typedef mat<2, 4, double, highp> highp_dmat2x4; + + /// @} +}//namespace glm diff --git a/MacroLibX/third_party/glm/ext/matrix_double3x2.hpp b/MacroLibX/third_party/glm/ext/matrix_double3x2.hpp new file mode 100644 index 0000000..dd23f36 --- /dev/null +++ b/MacroLibX/third_party/glm/ext/matrix_double3x2.hpp @@ -0,0 +1,18 @@ +/// @ref core +/// @file glm/ext/matrix_double3x2.hpp + +#pragma once +#include "../detail/type_mat3x2.hpp" + +namespace glm +{ + /// @addtogroup core_matrix + /// @{ + + /// 3 columns of 2 components matrix of double-precision floating-point numbers. + /// + /// @see GLSL 4.20.8 specification, section 4.1.6 Matrices + typedef mat<3, 2, double, defaultp> dmat3x2; + + /// @} +}//namespace glm diff --git a/MacroLibX/third_party/glm/ext/matrix_double3x2_precision.hpp b/MacroLibX/third_party/glm/ext/matrix_double3x2_precision.hpp new file mode 100644 index 0000000..068d9e9 --- /dev/null +++ b/MacroLibX/third_party/glm/ext/matrix_double3x2_precision.hpp @@ -0,0 +1,31 @@ +/// @ref core +/// @file glm/ext/matrix_double3x2_precision.hpp + +#pragma once +#include "../detail/type_mat3x2.hpp" + +namespace glm +{ + /// @addtogroup core_matrix_precision + /// @{ + + /// 3 columns of 2 components matrix of double-precision floating-point numbers using low precision arithmetic in term of ULPs. + /// + /// @see GLSL 4.20.8 specification, section 4.1.6 Matrices + /// @see GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier + typedef mat<3, 2, double, lowp> lowp_dmat3x2; + + /// 3 columns of 2 components matrix of double-precision floating-point numbers using medium precision arithmetic in term of ULPs. + /// + /// @see GLSL 4.20.8 specification, section 4.1.6 Matrices + /// @see GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier + typedef mat<3, 2, double, mediump> mediump_dmat3x2; + + /// 3 columns of 2 components matrix of double-precision floating-point numbers using medium precision arithmetic in term of ULPs. + /// + /// @see GLSL 4.20.8 specification, section 4.1.6 Matrices + /// @see GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier + typedef mat<3, 2, double, highp> highp_dmat3x2; + + /// @} +}//namespace glm diff --git a/MacroLibX/third_party/glm/ext/matrix_double3x3.hpp b/MacroLibX/third_party/glm/ext/matrix_double3x3.hpp new file mode 100644 index 0000000..53572b7 --- /dev/null +++ b/MacroLibX/third_party/glm/ext/matrix_double3x3.hpp @@ -0,0 +1,23 @@ +/// @ref core +/// @file glm/ext/matrix_double3x3.hpp + +#pragma once +#include "../detail/type_mat3x3.hpp" + +namespace glm +{ + /// @addtogroup core_matrix + /// @{ + + /// 3 columns of 3 components matrix of double-precision floating-point numbers. + /// + /// @see GLSL 4.20.8 specification, section 4.1.6 Matrices + typedef mat<3, 3, double, defaultp> dmat3x3; + + /// 3 columns of 3 components matrix of double-precision floating-point numbers. + /// + /// @see GLSL 4.20.8 specification, section 4.1.6 Matrices + typedef mat<3, 3, double, defaultp> dmat3; + + /// @} +}//namespace glm diff --git a/MacroLibX/third_party/glm/ext/matrix_double3x3_precision.hpp b/MacroLibX/third_party/glm/ext/matrix_double3x3_precision.hpp new file mode 100644 index 0000000..8691e78 --- /dev/null +++ b/MacroLibX/third_party/glm/ext/matrix_double3x3_precision.hpp @@ -0,0 +1,49 @@ +/// @ref core +/// @file glm/ext/matrix_double3x3_precision.hpp + +#pragma once +#include "../detail/type_mat3x3.hpp" + +namespace glm +{ + /// @addtogroup core_matrix_precision + /// @{ + + /// 3 columns of 3 components matrix of double-precision floating-point numbers using low precision arithmetic in term of ULPs. + /// + /// @see GLSL 4.20.8 specification, section 4.1.6 Matrices + /// @see GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier + typedef mat<3, 3, double, lowp> lowp_dmat3; + + /// 3 columns of 3 components matrix of double-precision floating-point numbers using medium precision arithmetic in term of ULPs. + /// + /// @see GLSL 4.20.8 specification, section 4.1.6 Matrices + /// @see GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier + typedef mat<3, 3, double, mediump> mediump_dmat3; + + /// 3 columns of 3 components matrix of double-precision floating-point numbers using medium precision arithmetic in term of ULPs. + /// + /// @see GLSL 4.20.8 specification, section 4.1.6 Matrices + /// @see GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier + typedef mat<3, 3, double, highp> highp_dmat3; + + /// 3 columns of 3 components matrix of double-precision floating-point numbers using low precision arithmetic in term of ULPs. + /// + /// @see GLSL 4.20.8 specification, section 4.1.6 Matrices + /// @see GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier + typedef mat<3, 3, double, lowp> lowp_dmat3x3; + + /// 3 columns of 3 components matrix of double-precision floating-point numbers using medium precision arithmetic in term of ULPs. + /// + /// @see GLSL 4.20.8 specification, section 4.1.6 Matrices + /// @see GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier + typedef mat<3, 3, double, mediump> mediump_dmat3x3; + + /// 3 columns of 3 components matrix of double-precision floating-point numbers using medium precision arithmetic in term of ULPs. + /// + /// @see GLSL 4.20.8 specification, section 4.1.6 Matrices + /// @see GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier + typedef mat<3, 3, double, highp> highp_dmat3x3; + + /// @} +}//namespace glm diff --git a/MacroLibX/third_party/glm/ext/matrix_double3x4.hpp b/MacroLibX/third_party/glm/ext/matrix_double3x4.hpp new file mode 100644 index 0000000..c572d63 --- /dev/null +++ b/MacroLibX/third_party/glm/ext/matrix_double3x4.hpp @@ -0,0 +1,18 @@ +/// @ref core +/// @file glm/ext/matrix_double3x4.hpp + +#pragma once +#include "../detail/type_mat3x4.hpp" + +namespace glm +{ + /// @addtogroup core_matrix + /// @{ + + /// 3 columns of 4 components matrix of double-precision floating-point numbers. + /// + /// @see GLSL 4.20.8 specification, section 4.1.6 Matrices + typedef mat<3, 4, double, defaultp> dmat3x4; + + /// @} +}//namespace glm diff --git a/MacroLibX/third_party/glm/ext/matrix_double3x4_precision.hpp b/MacroLibX/third_party/glm/ext/matrix_double3x4_precision.hpp new file mode 100644 index 0000000..f040217 --- /dev/null +++ b/MacroLibX/third_party/glm/ext/matrix_double3x4_precision.hpp @@ -0,0 +1,31 @@ +/// @ref core +/// @file glm/ext/matrix_double3x4_precision.hpp + +#pragma once +#include "../detail/type_mat3x4.hpp" + +namespace glm +{ + /// @addtogroup core_matrix_precision + /// @{ + + /// 3 columns of 4 components matrix of double-precision floating-point numbers using low precision arithmetic in term of ULPs. + /// + /// @see GLSL 4.20.8 specification, section 4.1.6 Matrices + /// @see GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier + typedef mat<3, 4, double, lowp> lowp_dmat3x4; + + /// 3 columns of 4 components matrix of double-precision floating-point numbers using medium precision arithmetic in term of ULPs. + /// + /// @see GLSL 4.20.8 specification, section 4.1.6 Matrices + /// @see GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier + typedef mat<3, 4, double, mediump> mediump_dmat3x4; + + /// 3 columns of 4 components matrix of double-precision floating-point numbers using medium precision arithmetic in term of ULPs. + /// + /// @see GLSL 4.20.8 specification, section 4.1.6 Matrices + /// @see GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier + typedef mat<3, 4, double, highp> highp_dmat3x4; + + /// @} +}//namespace glm diff --git a/MacroLibX/third_party/glm/ext/matrix_double4x2.hpp b/MacroLibX/third_party/glm/ext/matrix_double4x2.hpp new file mode 100644 index 0000000..9b229f4 --- /dev/null +++ b/MacroLibX/third_party/glm/ext/matrix_double4x2.hpp @@ -0,0 +1,18 @@ +/// @ref core +/// @file glm/ext/matrix_double4x2.hpp + +#pragma once +#include "../detail/type_mat4x2.hpp" + +namespace glm +{ + /// @addtogroup core_matrix + /// @{ + + /// 4 columns of 2 components matrix of double-precision floating-point numbers. + /// + /// @see GLSL 4.20.8 specification, section 4.1.6 Matrices + typedef mat<4, 2, double, defaultp> dmat4x2; + + /// @} +}//namespace glm diff --git a/MacroLibX/third_party/glm/ext/matrix_double4x2_precision.hpp b/MacroLibX/third_party/glm/ext/matrix_double4x2_precision.hpp new file mode 100644 index 0000000..6ad18ba --- /dev/null +++ b/MacroLibX/third_party/glm/ext/matrix_double4x2_precision.hpp @@ -0,0 +1,31 @@ +/// @ref core +/// @file glm/ext/matrix_double4x2_precision.hpp + +#pragma once +#include "../detail/type_mat4x2.hpp" + +namespace glm +{ + /// @addtogroup core_matrix_precision + /// @{ + + /// 4 columns of 2 components matrix of double-precision floating-point numbers using low precision arithmetic in term of ULPs. + /// + /// @see GLSL 4.20.8 specification, section 4.1.6 Matrices + /// @see GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier + typedef mat<4, 2, double, lowp> lowp_dmat4x2; + + /// 4 columns of 2 components matrix of double-precision floating-point numbers using medium precision arithmetic in term of ULPs. + /// + /// @see GLSL 4.20.8 specification, section 4.1.6 Matrices + /// @see GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier + typedef mat<4, 2, double, mediump> mediump_dmat4x2; + + /// 4 columns of 2 components matrix of double-precision floating-point numbers using medium precision arithmetic in term of ULPs. + /// + /// @see GLSL 4.20.8 specification, section 4.1.6 Matrices + /// @see GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier + typedef mat<4, 2, double, highp> highp_dmat4x2; + + /// @} +}//namespace glm diff --git a/MacroLibX/third_party/glm/ext/matrix_double4x3.hpp b/MacroLibX/third_party/glm/ext/matrix_double4x3.hpp new file mode 100644 index 0000000..dca4cf9 --- /dev/null +++ b/MacroLibX/third_party/glm/ext/matrix_double4x3.hpp @@ -0,0 +1,18 @@ +/// @ref core +/// @file glm/ext/matrix_double4x3.hpp + +#pragma once +#include "../detail/type_mat4x3.hpp" + +namespace glm +{ + /// @addtogroup core_matrix + /// @{ + + /// 4 columns of 3 components matrix of double-precision floating-point numbers. + /// + /// @see GLSL 4.20.8 specification, section 4.1.6 Matrices + typedef mat<4, 3, double, defaultp> dmat4x3; + + /// @} +}//namespace glm diff --git a/MacroLibX/third_party/glm/ext/matrix_double4x3_precision.hpp b/MacroLibX/third_party/glm/ext/matrix_double4x3_precision.hpp new file mode 100644 index 0000000..f7371de --- /dev/null +++ b/MacroLibX/third_party/glm/ext/matrix_double4x3_precision.hpp @@ -0,0 +1,31 @@ +/// @ref core +/// @file glm/ext/matrix_double4x3_precision.hpp + +#pragma once +#include "../detail/type_mat4x3.hpp" + +namespace glm +{ + /// @addtogroup core_matrix_precision + /// @{ + + /// 4 columns of 3 components matrix of double-precision floating-point numbers using low precision arithmetic in term of ULPs. + /// + /// @see GLSL 4.20.8 specification, section 4.1.6 Matrices + /// @see GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier + typedef mat<4, 3, double, lowp> lowp_dmat4x3; + + /// 4 columns of 3 components matrix of double-precision floating-point numbers using medium precision arithmetic in term of ULPs. + /// + /// @see GLSL 4.20.8 specification, section 4.1.6 Matrices + /// @see GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier + typedef mat<4, 3, double, mediump> mediump_dmat4x3; + + /// 4 columns of 3 components matrix of double-precision floating-point numbers using medium precision arithmetic in term of ULPs. + /// + /// @see GLSL 4.20.8 specification, section 4.1.6 Matrices + /// @see GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier + typedef mat<4, 3, double, highp> highp_dmat4x3; + + /// @} +}//namespace glm diff --git a/MacroLibX/third_party/glm/ext/matrix_double4x4.hpp b/MacroLibX/third_party/glm/ext/matrix_double4x4.hpp new file mode 100644 index 0000000..81e1bf6 --- /dev/null +++ b/MacroLibX/third_party/glm/ext/matrix_double4x4.hpp @@ -0,0 +1,23 @@ +/// @ref core +/// @file glm/ext/matrix_double4x4.hpp + +#pragma once +#include "../detail/type_mat4x4.hpp" + +namespace glm +{ + /// @addtogroup core_matrix + /// @{ + + /// 4 columns of 4 components matrix of double-precision floating-point numbers. + /// + /// @see GLSL 4.20.8 specification, section 4.1.6 Matrices + typedef mat<4, 4, double, defaultp> dmat4x4; + + /// 4 columns of 4 components matrix of double-precision floating-point numbers. + /// + /// @see GLSL 4.20.8 specification, section 4.1.6 Matrices + typedef mat<4, 4, double, defaultp> dmat4; + + /// @} +}//namespace glm diff --git a/MacroLibX/third_party/glm/ext/matrix_double4x4_precision.hpp b/MacroLibX/third_party/glm/ext/matrix_double4x4_precision.hpp new file mode 100644 index 0000000..4c36a84 --- /dev/null +++ b/MacroLibX/third_party/glm/ext/matrix_double4x4_precision.hpp @@ -0,0 +1,49 @@ +/// @ref core +/// @file glm/ext/matrix_double4x4_precision.hpp + +#pragma once +#include "../detail/type_mat4x4.hpp" + +namespace glm +{ + /// @addtogroup core_matrix_precision + /// @{ + + /// 4 columns of 4 components matrix of double-precision floating-point numbers using low precision arithmetic in term of ULPs. + /// + /// @see GLSL 4.20.8 specification, section 4.1.6 Matrices + /// @see GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier + typedef mat<4, 4, double, lowp> lowp_dmat4; + + /// 4 columns of 4 components matrix of double-precision floating-point numbers using medium precision arithmetic in term of ULPs. + /// + /// @see GLSL 4.20.8 specification, section 4.1.6 Matrices + /// @see GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier + typedef mat<4, 4, double, mediump> mediump_dmat4; + + /// 4 columns of 4 components matrix of double-precision floating-point numbers using medium precision arithmetic in term of ULPs. + /// + /// @see GLSL 4.20.8 specification, section 4.1.6 Matrices + /// @see GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier + typedef mat<4, 4, double, highp> highp_dmat4; + + /// 4 columns of 4 components matrix of double-precision floating-point numbers using low precision arithmetic in term of ULPs. + /// + /// @see GLSL 4.20.8 specification, section 4.1.6 Matrices + /// @see GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier + typedef mat<4, 4, double, lowp> lowp_dmat4x4; + + /// 4 columns of 4 components matrix of double-precision floating-point numbers using medium precision arithmetic in term of ULPs. + /// + /// @see GLSL 4.20.8 specification, section 4.1.6 Matrices + /// @see GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier + typedef mat<4, 4, double, mediump> mediump_dmat4x4; + + /// 4 columns of 4 components matrix of double-precision floating-point numbers using medium precision arithmetic in term of ULPs. + /// + /// @see GLSL 4.20.8 specification, section 4.1.6 Matrices + /// @see GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier + typedef mat<4, 4, double, highp> highp_dmat4x4; + + /// @} +}//namespace glm diff --git a/MacroLibX/third_party/glm/ext/matrix_float2x2.hpp b/MacroLibX/third_party/glm/ext/matrix_float2x2.hpp new file mode 100644 index 0000000..53df921 --- /dev/null +++ b/MacroLibX/third_party/glm/ext/matrix_float2x2.hpp @@ -0,0 +1,23 @@ +/// @ref core +/// @file glm/ext/matrix_float2x2.hpp + +#pragma once +#include "../detail/type_mat2x2.hpp" + +namespace glm +{ + /// @addtogroup core_matrix + /// @{ + + /// 2 columns of 2 components matrix of single-precision floating-point numbers. + /// + /// @see GLSL 4.20.8 specification, section 4.1.6 Matrices + typedef mat<2, 2, float, defaultp> mat2x2; + + /// 2 columns of 2 components matrix of single-precision floating-point numbers. + /// + /// @see GLSL 4.20.8 specification, section 4.1.6 Matrices + typedef mat<2, 2, float, defaultp> mat2; + + /// @} +}//namespace glm diff --git a/MacroLibX/third_party/glm/ext/matrix_float2x2_precision.hpp b/MacroLibX/third_party/glm/ext/matrix_float2x2_precision.hpp new file mode 100644 index 0000000..898b6db --- /dev/null +++ b/MacroLibX/third_party/glm/ext/matrix_float2x2_precision.hpp @@ -0,0 +1,49 @@ +/// @ref core +/// @file glm/ext/matrix_float2x2_precision.hpp + +#pragma once +#include "../detail/type_mat2x2.hpp" + +namespace glm +{ + /// @addtogroup core_matrix_precision + /// @{ + + /// 2 columns of 2 components matrix of single-precision floating-point numbers using low precision arithmetic in term of ULPs. + /// + /// @see GLSL 4.20.8 specification, section 4.1.6 Matrices + /// @see GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier + typedef mat<2, 2, float, lowp> lowp_mat2; + + /// 2 columns of 2 components matrix of single-precision floating-point numbers using medium precision arithmetic in term of ULPs. + /// + /// @see GLSL 4.20.8 specification, section 4.1.6 Matrices + /// @see GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier + typedef mat<2, 2, float, mediump> mediump_mat2; + + /// 2 columns of 2 components matrix of single-precision floating-point numbers using high precision arithmetic in term of ULPs. + /// + /// @see GLSL 4.20.8 specification, section 4.1.6 Matrices + /// @see GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier + typedef mat<2, 2, float, highp> highp_mat2; + + /// 2 columns of 2 components matrix of single-precision floating-point numbers using low precision arithmetic in term of ULPs. + /// + /// @see GLSL 4.20.8 specification, section 4.1.6 Matrices + /// @see GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier + typedef mat<2, 2, float, lowp> lowp_mat2x2; + + /// 2 columns of 2 components matrix of single-precision floating-point numbers using medium precision arithmetic in term of ULPs. + /// + /// @see GLSL 4.20.8 specification, section 4.1.6 Matrices + /// @see GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier + typedef mat<2, 2, float, mediump> mediump_mat2x2; + + /// 2 columns of 2 components matrix of single-precision floating-point numbers using high precision arithmetic in term of ULPs. + /// + /// @see GLSL 4.20.8 specification, section 4.1.6 Matrices + /// @see GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier + typedef mat<2, 2, float, highp> highp_mat2x2; + + /// @} +}//namespace glm diff --git a/MacroLibX/third_party/glm/ext/matrix_float2x3.hpp b/MacroLibX/third_party/glm/ext/matrix_float2x3.hpp new file mode 100644 index 0000000..6f68822 --- /dev/null +++ b/MacroLibX/third_party/glm/ext/matrix_float2x3.hpp @@ -0,0 +1,18 @@ +/// @ref core +/// @file glm/ext/matrix_float2x3.hpp + +#pragma once +#include "../detail/type_mat2x3.hpp" + +namespace glm +{ + /// @addtogroup core_matrix + /// @{ + + /// 2 columns of 3 components matrix of single-precision floating-point numbers. + /// + /// @see GLSL 4.20.8 specification, section 4.1.6 Matrices + typedef mat<2, 3, float, defaultp> mat2x3; + + /// @} +}//namespace glm diff --git a/MacroLibX/third_party/glm/ext/matrix_float2x3_precision.hpp b/MacroLibX/third_party/glm/ext/matrix_float2x3_precision.hpp new file mode 100644 index 0000000..50c1032 --- /dev/null +++ b/MacroLibX/third_party/glm/ext/matrix_float2x3_precision.hpp @@ -0,0 +1,31 @@ +/// @ref core +/// @file glm/ext/matrix_float2x3_precision.hpp + +#pragma once +#include "../detail/type_mat2x3.hpp" + +namespace glm +{ + /// @addtogroup core_matrix_precision + /// @{ + + /// 2 columns of 3 components matrix of single-precision floating-point numbers using low precision arithmetic in term of ULPs. + /// + /// @see GLSL 4.20.8 specification, section 4.1.6 Matrices + /// @see GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier + typedef mat<2, 3, float, lowp> lowp_mat2x3; + + /// 2 columns of 3 components matrix of single-precision floating-point numbers using medium precision arithmetic in term of ULPs. + /// + /// @see GLSL 4.20.8 specification, section 4.1.6 Matrices + /// @see GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier + typedef mat<2, 3, float, mediump> mediump_mat2x3; + + /// 2 columns of 3 components matrix of single-precision floating-point numbers using high precision arithmetic in term of ULPs. + /// + /// @see GLSL 4.20.8 specification, section 4.1.6 Matrices + /// @see GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier + typedef mat<2, 3, float, highp> highp_mat2x3; + + /// @} +}//namespace glm diff --git a/MacroLibX/third_party/glm/ext/matrix_float2x4.hpp b/MacroLibX/third_party/glm/ext/matrix_float2x4.hpp new file mode 100644 index 0000000..30f30de --- /dev/null +++ b/MacroLibX/third_party/glm/ext/matrix_float2x4.hpp @@ -0,0 +1,18 @@ +/// @ref core +/// @file glm/ext/matrix_float2x4.hpp + +#pragma once +#include "../detail/type_mat2x4.hpp" + +namespace glm +{ + /// @addtogroup core_matrix + /// @{ + + /// 2 columns of 4 components matrix of single-precision floating-point numbers. + /// + /// @see GLSL 4.20.8 specification, section 4.1.6 Matrices + typedef mat<2, 4, float, defaultp> mat2x4; + + /// @} +}//namespace glm diff --git a/MacroLibX/third_party/glm/ext/matrix_float2x4_precision.hpp b/MacroLibX/third_party/glm/ext/matrix_float2x4_precision.hpp new file mode 100644 index 0000000..079d638 --- /dev/null +++ b/MacroLibX/third_party/glm/ext/matrix_float2x4_precision.hpp @@ -0,0 +1,31 @@ +/// @ref core +/// @file glm/ext/matrix_float2x4_precision.hpp + +#pragma once +#include "../detail/type_mat2x4.hpp" + +namespace glm +{ + /// @addtogroup core_matrix_precision + /// @{ + + /// 2 columns of 4 components matrix of single-precision floating-point numbers using low precision arithmetic in term of ULPs. + /// + /// @see GLSL 4.20.8 specification, section 4.1.6 Matrices + /// @see GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier + typedef mat<2, 4, float, lowp> lowp_mat2x4; + + /// 2 columns of 4 components matrix of single-precision floating-point numbers using medium precision arithmetic in term of ULPs. + /// + /// @see GLSL 4.20.8 specification, section 4.1.6 Matrices + /// @see GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier + typedef mat<2, 4, float, mediump> mediump_mat2x4; + + /// 2 columns of 4 components matrix of single-precision floating-point numbers using high precision arithmetic in term of ULPs. + /// + /// @see GLSL 4.20.8 specification, section 4.1.6 Matrices + /// @see GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier + typedef mat<2, 4, float, highp> highp_mat2x4; + + /// @} +}//namespace glm diff --git a/MacroLibX/third_party/glm/ext/matrix_float3x2.hpp b/MacroLibX/third_party/glm/ext/matrix_float3x2.hpp new file mode 100644 index 0000000..d39dd2f --- /dev/null +++ b/MacroLibX/third_party/glm/ext/matrix_float3x2.hpp @@ -0,0 +1,18 @@ +/// @ref core +/// @file glm/ext/matrix_float3x2.hpp + +#pragma once +#include "../detail/type_mat3x2.hpp" + +namespace glm +{ + /// @addtogroup core + /// @{ + + /// 3 columns of 2 components matrix of single-precision floating-point numbers. + /// + /// @see GLSL 4.20.8 specification, section 4.1.6 Matrices + typedef mat<3, 2, float, defaultp> mat3x2; + + /// @} +}//namespace glm diff --git a/MacroLibX/third_party/glm/ext/matrix_float3x2_precision.hpp b/MacroLibX/third_party/glm/ext/matrix_float3x2_precision.hpp new file mode 100644 index 0000000..8572c2a --- /dev/null +++ b/MacroLibX/third_party/glm/ext/matrix_float3x2_precision.hpp @@ -0,0 +1,31 @@ +/// @ref core +/// @file glm/ext/matrix_float3x2_precision.hpp + +#pragma once +#include "../detail/type_mat3x2.hpp" + +namespace glm +{ + /// @addtogroup core_matrix_precision + /// @{ + + /// 3 columns of 2 components matrix of single-precision floating-point numbers using low precision arithmetic in term of ULPs. + /// + /// @see GLSL 4.20.8 specification, section 4.1.6 Matrices + /// @see GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier + typedef mat<3, 2, float, lowp> lowp_mat3x2; + + /// 3 columns of 2 components matrix of single-precision floating-point numbers using medium precision arithmetic in term of ULPs. + /// + /// @see GLSL 4.20.8 specification, section 4.1.6 Matrices + /// @see GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier + typedef mat<3, 2, float, mediump> mediump_mat3x2; + + /// 3 columns of 2 components matrix of single-precision floating-point numbers using high precision arithmetic in term of ULPs. + /// + /// @see GLSL 4.20.8 specification, section 4.1.6 Matrices + /// @see GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier + typedef mat<3, 2, float, highp> highp_mat3x2; + + /// @} +}//namespace glm diff --git a/MacroLibX/third_party/glm/ext/matrix_float3x3.hpp b/MacroLibX/third_party/glm/ext/matrix_float3x3.hpp new file mode 100644 index 0000000..177d809 --- /dev/null +++ b/MacroLibX/third_party/glm/ext/matrix_float3x3.hpp @@ -0,0 +1,23 @@ +/// @ref core +/// @file glm/ext/matrix_float3x3.hpp + +#pragma once +#include "../detail/type_mat3x3.hpp" + +namespace glm +{ + /// @addtogroup core_matrix + /// @{ + + /// 3 columns of 3 components matrix of single-precision floating-point numbers. + /// + /// @see GLSL 4.20.8 specification, section 4.1.6 Matrices + typedef mat<3, 3, float, defaultp> mat3x3; + + /// 3 columns of 3 components matrix of single-precision floating-point numbers. + /// + /// @see GLSL 4.20.8 specification, section 4.1.6 Matrices + typedef mat<3, 3, float, defaultp> mat3; + + /// @} +}//namespace glm diff --git a/MacroLibX/third_party/glm/ext/matrix_float3x3_precision.hpp b/MacroLibX/third_party/glm/ext/matrix_float3x3_precision.hpp new file mode 100644 index 0000000..8a900c1 --- /dev/null +++ b/MacroLibX/third_party/glm/ext/matrix_float3x3_precision.hpp @@ -0,0 +1,49 @@ +/// @ref core +/// @file glm/ext/matrix_float3x3_precision.hpp + +#pragma once +#include "../detail/type_mat3x3.hpp" + +namespace glm +{ + /// @addtogroup core_matrix_precision + /// @{ + + /// 3 columns of 3 components matrix of single-precision floating-point numbers using low precision arithmetic in term of ULPs. + /// + /// @see GLSL 4.20.8 specification, section 4.1.6 Matrices + /// @see GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier + typedef mat<3, 3, float, lowp> lowp_mat3; + + /// 3 columns of 3 components matrix of single-precision floating-point numbers using medium precision arithmetic in term of ULPs. + /// + /// @see GLSL 4.20.8 specification, section 4.1.6 Matrices + /// @see GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier + typedef mat<3, 3, float, mediump> mediump_mat3; + + /// 3 columns of 3 components matrix of single-precision floating-point numbers using high precision arithmetic in term of ULPs. + /// + /// @see GLSL 4.20.8 specification, section 4.1.6 Matrices + /// @see GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier + typedef mat<3, 3, float, highp> highp_mat3; + + /// 3 columns of 3 components matrix of single-precision floating-point numbers using low precision arithmetic in term of ULPs. + /// + /// @see GLSL 4.20.8 specification, section 4.1.6 Matrices + /// @see GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier + typedef mat<3, 3, float, lowp> lowp_mat3x3; + + /// 3 columns of 3 components matrix of single-precision floating-point numbers using medium precision arithmetic in term of ULPs. + /// + /// @see GLSL 4.20.8 specification, section 4.1.6 Matrices + /// @see GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier + typedef mat<3, 3, float, mediump> mediump_mat3x3; + + /// 3 columns of 3 components matrix of single-precision floating-point numbers using high precision arithmetic in term of ULPs. + /// + /// @see GLSL 4.20.8 specification, section 4.1.6 Matrices + /// @see GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier + typedef mat<3, 3, float, highp> highp_mat3x3; + + /// @} +}//namespace glm diff --git a/MacroLibX/third_party/glm/ext/matrix_float3x4.hpp b/MacroLibX/third_party/glm/ext/matrix_float3x4.hpp new file mode 100644 index 0000000..64b8459 --- /dev/null +++ b/MacroLibX/third_party/glm/ext/matrix_float3x4.hpp @@ -0,0 +1,18 @@ +/// @ref core +/// @file glm/ext/matrix_float3x4.hpp + +#pragma once +#include "../detail/type_mat3x4.hpp" + +namespace glm +{ + /// @addtogroup core_matrix + /// @{ + + /// 3 columns of 4 components matrix of single-precision floating-point numbers. + /// + /// @see GLSL 4.20.8 specification, section 4.1.6 Matrices + typedef mat<3, 4, float, defaultp> mat3x4; + + /// @} +}//namespace glm diff --git a/MacroLibX/third_party/glm/ext/matrix_float3x4_precision.hpp b/MacroLibX/third_party/glm/ext/matrix_float3x4_precision.hpp new file mode 100644 index 0000000..bc36bf1 --- /dev/null +++ b/MacroLibX/third_party/glm/ext/matrix_float3x4_precision.hpp @@ -0,0 +1,31 @@ +/// @ref core +/// @file glm/ext/matrix_float3x4_precision.hpp + +#pragma once +#include "../detail/type_mat3x4.hpp" + +namespace glm +{ + /// @addtogroup core_matrix_precision + /// @{ + + /// 3 columns of 4 components matrix of single-precision floating-point numbers using low precision arithmetic in term of ULPs. + /// + /// @see GLSL 4.20.8 specification, section 4.1.6 Matrices + /// @see GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier + typedef mat<3, 4, float, lowp> lowp_mat3x4; + + /// 3 columns of 4 components matrix of single-precision floating-point numbers using medium precision arithmetic in term of ULPs. + /// + /// @see GLSL 4.20.8 specification, section 4.1.6 Matrices + /// @see GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier + typedef mat<3, 4, float, mediump> mediump_mat3x4; + + /// 3 columns of 4 components matrix of single-precision floating-point numbers using high precision arithmetic in term of ULPs. + /// + /// @see GLSL 4.20.8 specification, section 4.1.6 Matrices + /// @see GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier + typedef mat<3, 4, float, highp> highp_mat3x4; + + /// @} +}//namespace glm diff --git a/MacroLibX/third_party/glm/ext/matrix_float4x2.hpp b/MacroLibX/third_party/glm/ext/matrix_float4x2.hpp new file mode 100644 index 0000000..1ed5227 --- /dev/null +++ b/MacroLibX/third_party/glm/ext/matrix_float4x2.hpp @@ -0,0 +1,18 @@ +/// @ref core +/// @file glm/ext/matrix_float4x2.hpp + +#pragma once +#include "../detail/type_mat4x2.hpp" + +namespace glm +{ + /// @addtogroup core_matrix + /// @{ + + /// 4 columns of 2 components matrix of single-precision floating-point numbers. + /// + /// @see GLSL 4.20.8 specification, section 4.1.6 Matrices + typedef mat<4, 2, float, defaultp> mat4x2; + + /// @} +}//namespace glm diff --git a/MacroLibX/third_party/glm/ext/matrix_float4x2_precision.hpp b/MacroLibX/third_party/glm/ext/matrix_float4x2_precision.hpp new file mode 100644 index 0000000..88fd069 --- /dev/null +++ b/MacroLibX/third_party/glm/ext/matrix_float4x2_precision.hpp @@ -0,0 +1,31 @@ +/// @ref core +/// @file glm/ext/matrix_float2x2_precision.hpp + +#pragma once +#include "../detail/type_mat2x2.hpp" + +namespace glm +{ + /// @addtogroup core_matrix_precision + /// @{ + + /// 4 columns of 2 components matrix of single-precision floating-point numbers using low precision arithmetic in term of ULPs. + /// + /// @see GLSL 4.20.8 specification, section 4.1.6 Matrices + /// @see GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier + typedef mat<4, 2, float, lowp> lowp_mat4x2; + + /// 4 columns of 2 components matrix of single-precision floating-point numbers using medium precision arithmetic in term of ULPs. + /// + /// @see GLSL 4.20.8 specification, section 4.1.6 Matrices + /// @see GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier + typedef mat<4, 2, float, mediump> mediump_mat4x2; + + /// 4 columns of 2 components matrix of single-precision floating-point numbers using high precision arithmetic in term of ULPs. + /// + /// @see GLSL 4.20.8 specification, section 4.1.6 Matrices + /// @see GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier + typedef mat<4, 2, float, highp> highp_mat4x2; + + /// @} +}//namespace glm diff --git a/MacroLibX/third_party/glm/ext/matrix_float4x3.hpp b/MacroLibX/third_party/glm/ext/matrix_float4x3.hpp new file mode 100644 index 0000000..5dbe765 --- /dev/null +++ b/MacroLibX/third_party/glm/ext/matrix_float4x3.hpp @@ -0,0 +1,18 @@ +/// @ref core +/// @file glm/ext/matrix_float4x3.hpp + +#pragma once +#include "../detail/type_mat4x3.hpp" + +namespace glm +{ + /// @addtogroup core_matrix + /// @{ + + /// 4 columns of 3 components matrix of single-precision floating-point numbers. + /// + /// @see GLSL 4.20.8 specification, section 4.1.6 Matrices + typedef mat<4, 3, float, defaultp> mat4x3; + + /// @} +}//namespace glm diff --git a/MacroLibX/third_party/glm/ext/matrix_float4x3_precision.hpp b/MacroLibX/third_party/glm/ext/matrix_float4x3_precision.hpp new file mode 100644 index 0000000..846ed4f --- /dev/null +++ b/MacroLibX/third_party/glm/ext/matrix_float4x3_precision.hpp @@ -0,0 +1,31 @@ +/// @ref core +/// @file glm/ext/matrix_float4x3_precision.hpp + +#pragma once +#include "../detail/type_mat4x3.hpp" + +namespace glm +{ + /// @addtogroup core_matrix_precision + /// @{ + + /// 4 columns of 3 components matrix of single-precision floating-point numbers using low precision arithmetic in term of ULPs. + /// + /// @see GLSL 4.20.8 specification, section 4.1.6 Matrices + /// @see GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier + typedef mat<4, 3, float, lowp> lowp_mat4x3; + + /// 4 columns of 3 components matrix of single-precision floating-point numbers using medium precision arithmetic in term of ULPs. + /// + /// @see GLSL 4.20.8 specification, section 4.1.6 Matrices + /// @see GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier + typedef mat<4, 3, float, mediump> mediump_mat4x3; + + /// 4 columns of 3 components matrix of single-precision floating-point numbers using high precision arithmetic in term of ULPs. + /// + /// @see GLSL 4.20.8 specification, section 4.1.6 Matrices + /// @see GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier + typedef mat<4, 3, float, highp> highp_mat4x3; + + /// @} +}//namespace glm diff --git a/MacroLibX/third_party/glm/ext/matrix_float4x4.hpp b/MacroLibX/third_party/glm/ext/matrix_float4x4.hpp new file mode 100644 index 0000000..5ba111d --- /dev/null +++ b/MacroLibX/third_party/glm/ext/matrix_float4x4.hpp @@ -0,0 +1,23 @@ +/// @ref core +/// @file glm/ext/matrix_float4x4.hpp + +#pragma once +#include "../detail/type_mat4x4.hpp" + +namespace glm +{ + /// @ingroup core_matrix + /// @{ + + /// 4 columns of 4 components matrix of single-precision floating-point numbers. + /// + /// @see GLSL 4.20.8 specification, section 4.1.6 Matrices + typedef mat<4, 4, float, defaultp> mat4x4; + + /// 4 columns of 4 components matrix of single-precision floating-point numbers. + /// + /// @see GLSL 4.20.8 specification, section 4.1.6 Matrices + typedef mat<4, 4, float, defaultp> mat4; + + /// @} +}//namespace glm diff --git a/MacroLibX/third_party/glm/ext/matrix_float4x4_precision.hpp b/MacroLibX/third_party/glm/ext/matrix_float4x4_precision.hpp new file mode 100644 index 0000000..597149b --- /dev/null +++ b/MacroLibX/third_party/glm/ext/matrix_float4x4_precision.hpp @@ -0,0 +1,49 @@ +/// @ref core +/// @file glm/ext/matrix_float4x4_precision.hpp + +#pragma once +#include "../detail/type_mat4x4.hpp" + +namespace glm +{ + /// @addtogroup core_matrix_precision + /// @{ + + /// 4 columns of 4 components matrix of single-precision floating-point numbers using low precision arithmetic in term of ULPs. + /// + /// @see GLSL 4.20.8 specification, section 4.1.6 Matrices + /// @see GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier + typedef mat<4, 4, float, lowp> lowp_mat4; + + /// 4 columns of 4 components matrix of single-precision floating-point numbers using medium precision arithmetic in term of ULPs. + /// + /// @see GLSL 4.20.8 specification, section 4.1.6 Matrices + /// @see GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier + typedef mat<4, 4, float, mediump> mediump_mat4; + + /// 4 columns of 4 components matrix of single-precision floating-point numbers using high precision arithmetic in term of ULPs. + /// + /// @see GLSL 4.20.8 specification, section 4.1.6 Matrices + /// @see GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier + typedef mat<4, 4, float, highp> highp_mat4; + + /// 4 columns of 4 components matrix of single-precision floating-point numbers using low precision arithmetic in term of ULPs. + /// + /// @see GLSL 4.20.8 specification, section 4.1.6 Matrices + /// @see GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier + typedef mat<4, 4, float, lowp> lowp_mat4x4; + + /// 4 columns of 4 components matrix of single-precision floating-point numbers using medium precision arithmetic in term of ULPs. + /// + /// @see GLSL 4.20.8 specification, section 4.1.6 Matrices + /// @see GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier + typedef mat<4, 4, float, mediump> mediump_mat4x4; + + /// 4 columns of 4 components matrix of single-precision floating-point numbers using high precision arithmetic in term of ULPs. + /// + /// @see GLSL 4.20.8 specification, section 4.1.6 Matrices + /// @see GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier + typedef mat<4, 4, float, highp> highp_mat4x4; + + /// @} +}//namespace glm diff --git a/MacroLibX/third_party/glm/ext/matrix_projection.hpp b/MacroLibX/third_party/glm/ext/matrix_projection.hpp new file mode 100644 index 0000000..51fd01b --- /dev/null +++ b/MacroLibX/third_party/glm/ext/matrix_projection.hpp @@ -0,0 +1,149 @@ +/// @ref ext_matrix_projection +/// @file glm/ext/matrix_projection.hpp +/// +/// @defgroup ext_matrix_projection GLM_EXT_matrix_projection +/// @ingroup ext +/// +/// Functions that generate common projection transformation matrices. +/// +/// The matrices generated by this extension use standard OpenGL fixed-function +/// conventions. For example, the lookAt function generates a transform from world +/// space into the specific eye space that the projective matrix functions +/// (perspective, ortho, etc) are designed to expect. The OpenGL compatibility +/// specifications defines the particular layout of this eye space. +/// +/// Include to use the features of this extension. +/// +/// @see ext_matrix_transform +/// @see ext_matrix_clip_space + +#pragma once + +// Dependencies +#include "../gtc/constants.hpp" +#include "../geometric.hpp" +#include "../trigonometric.hpp" +#include "../matrix.hpp" + +#if GLM_MESSAGES == GLM_ENABLE && !defined(GLM_EXT_INCLUDED) +# pragma message("GLM: GLM_EXT_matrix_projection extension included") +#endif + +namespace glm +{ + /// @addtogroup ext_matrix_projection + /// @{ + + /// Map the specified object coordinates (obj.x, obj.y, obj.z) into window coordinates. + /// The near and far clip planes correspond to z normalized device coordinates of 0 and +1 respectively. (Direct3D clip volume definition) + /// + /// @param obj Specify the object coordinates. + /// @param model Specifies the current modelview matrix + /// @param proj Specifies the current projection matrix + /// @param viewport Specifies the current viewport + /// @return Return the computed window coordinates. + /// @tparam T Native type used for the computation. Currently supported: half (not recommended), float or double. + /// @tparam U Currently supported: Floating-point types and integer types. + /// + /// @see gluProject man page + template + GLM_FUNC_DECL vec<3, T, Q> projectZO( + vec<3, T, Q> const& obj, mat<4, 4, T, Q> const& model, mat<4, 4, T, Q> const& proj, vec<4, U, Q> const& viewport); + + /// Map the specified object coordinates (obj.x, obj.y, obj.z) into window coordinates. + /// The near and far clip planes correspond to z normalized device coordinates of -1 and +1 respectively. (OpenGL clip volume definition) + /// + /// @param obj Specify the object coordinates. + /// @param model Specifies the current modelview matrix + /// @param proj Specifies the current projection matrix + /// @param viewport Specifies the current viewport + /// @return Return the computed window coordinates. + /// @tparam T Native type used for the computation. Currently supported: half (not recommended), float or double. + /// @tparam U Currently supported: Floating-point types and integer types. + /// + /// @see gluProject man page + template + GLM_FUNC_DECL vec<3, T, Q> projectNO( + vec<3, T, Q> const& obj, mat<4, 4, T, Q> const& model, mat<4, 4, T, Q> const& proj, vec<4, U, Q> const& viewport); + + /// Map the specified object coordinates (obj.x, obj.y, obj.z) into window coordinates using default near and far clip planes definition. + /// To change default near and far clip planes definition use GLM_FORCE_DEPTH_ZERO_TO_ONE. + /// + /// @param obj Specify the object coordinates. + /// @param model Specifies the current modelview matrix + /// @param proj Specifies the current projection matrix + /// @param viewport Specifies the current viewport + /// @return Return the computed window coordinates. + /// @tparam T Native type used for the computation. Currently supported: half (not recommended), float or double. + /// @tparam U Currently supported: Floating-point types and integer types. + /// + /// @see gluProject man page + template + GLM_FUNC_DECL vec<3, T, Q> project( + vec<3, T, Q> const& obj, mat<4, 4, T, Q> const& model, mat<4, 4, T, Q> const& proj, vec<4, U, Q> const& viewport); + + /// Map the specified window coordinates (win.x, win.y, win.z) into object coordinates. + /// The near and far clip planes correspond to z normalized device coordinates of 0 and +1 respectively. (Direct3D clip volume definition) + /// + /// @param win Specify the window coordinates to be mapped. + /// @param model Specifies the modelview matrix + /// @param proj Specifies the projection matrix + /// @param viewport Specifies the viewport + /// @return Returns the computed object coordinates. + /// @tparam T Native type used for the computation. Currently supported: half (not recommended), float or double. + /// @tparam U Currently supported: Floating-point types and integer types. + /// + /// @see gluUnProject man page + template + GLM_FUNC_DECL vec<3, T, Q> unProjectZO( + vec<3, T, Q> const& win, mat<4, 4, T, Q> const& model, mat<4, 4, T, Q> const& proj, vec<4, U, Q> const& viewport); + + /// Map the specified window coordinates (win.x, win.y, win.z) into object coordinates. + /// The near and far clip planes correspond to z normalized device coordinates of -1 and +1 respectively. (OpenGL clip volume definition) + /// + /// @param win Specify the window coordinates to be mapped. + /// @param model Specifies the modelview matrix + /// @param proj Specifies the projection matrix + /// @param viewport Specifies the viewport + /// @return Returns the computed object coordinates. + /// @tparam T Native type used for the computation. Currently supported: half (not recommended), float or double. + /// @tparam U Currently supported: Floating-point types and integer types. + /// + /// @see gluUnProject man page + template + GLM_FUNC_DECL vec<3, T, Q> unProjectNO( + vec<3, T, Q> const& win, mat<4, 4, T, Q> const& model, mat<4, 4, T, Q> const& proj, vec<4, U, Q> const& viewport); + + /// Map the specified window coordinates (win.x, win.y, win.z) into object coordinates using default near and far clip planes definition. + /// To change default near and far clip planes definition use GLM_FORCE_DEPTH_ZERO_TO_ONE. + /// + /// @param win Specify the window coordinates to be mapped. + /// @param model Specifies the modelview matrix + /// @param proj Specifies the projection matrix + /// @param viewport Specifies the viewport + /// @return Returns the computed object coordinates. + /// @tparam T Native type used for the computation. Currently supported: half (not recommended), float or double. + /// @tparam U Currently supported: Floating-point types and integer types. + /// + /// @see gluUnProject man page + template + GLM_FUNC_DECL vec<3, T, Q> unProject( + vec<3, T, Q> const& win, mat<4, 4, T, Q> const& model, mat<4, 4, T, Q> const& proj, vec<4, U, Q> const& viewport); + + /// Define a picking region + /// + /// @param center Specify the center of a picking region in window coordinates. + /// @param delta Specify the width and height, respectively, of the picking region in window coordinates. + /// @param viewport Rendering viewport + /// @tparam T Native type used for the computation. Currently supported: half (not recommended), float or double. + /// @tparam U Currently supported: Floating-point types and integer types. + /// + /// @see gluPickMatrix man page + template + GLM_FUNC_DECL mat<4, 4, T, Q> pickMatrix( + vec<2, T, Q> const& center, vec<2, T, Q> const& delta, vec<4, U, Q> const& viewport); + + /// @} +}//namespace glm + +#include "matrix_projection.inl" diff --git a/MacroLibX/third_party/glm/ext/matrix_projection.inl b/MacroLibX/third_party/glm/ext/matrix_projection.inl new file mode 100644 index 0000000..8b4eea9 --- /dev/null +++ b/MacroLibX/third_party/glm/ext/matrix_projection.inl @@ -0,0 +1,104 @@ +namespace glm +{ + template + GLM_FUNC_QUALIFIER vec<3, T, Q> projectZO(vec<3, T, Q> const& obj, mat<4, 4, T, Q> const& model, mat<4, 4, T, Q> const& proj, vec<4, U, Q> const& viewport) + { + vec<4, T, Q> tmp = vec<4, T, Q>(obj, static_cast(1)); + tmp = model * tmp; + tmp = proj * tmp; + + tmp /= tmp.w; + tmp.x = tmp.x * static_cast(0.5) + static_cast(0.5); + tmp.y = tmp.y * static_cast(0.5) + static_cast(0.5); + + tmp[0] = tmp[0] * T(viewport[2]) + T(viewport[0]); + tmp[1] = tmp[1] * T(viewport[3]) + T(viewport[1]); + + return vec<3, T, Q>(tmp); + } + + template + GLM_FUNC_QUALIFIER vec<3, T, Q> projectNO(vec<3, T, Q> const& obj, mat<4, 4, T, Q> const& model, mat<4, 4, T, Q> const& proj, vec<4, U, Q> const& viewport) + { + vec<4, T, Q> tmp = vec<4, T, Q>(obj, static_cast(1)); + tmp = model * tmp; + tmp = proj * tmp; + + tmp /= tmp.w; + tmp = tmp * static_cast(0.5) + static_cast(0.5); + tmp[0] = tmp[0] * T(viewport[2]) + T(viewport[0]); + tmp[1] = tmp[1] * T(viewport[3]) + T(viewport[1]); + + return vec<3, T, Q>(tmp); + } + + template + GLM_FUNC_QUALIFIER vec<3, T, Q> project(vec<3, T, Q> const& obj, mat<4, 4, T, Q> const& model, mat<4, 4, T, Q> const& proj, vec<4, U, Q> const& viewport) + { + if(GLM_CONFIG_CLIP_CONTROL & GLM_CLIP_CONTROL_ZO_BIT) + return projectZO(obj, model, proj, viewport); + else + return projectNO(obj, model, proj, viewport); + } + + template + GLM_FUNC_QUALIFIER vec<3, T, Q> unProjectZO(vec<3, T, Q> const& win, mat<4, 4, T, Q> const& model, mat<4, 4, T, Q> const& proj, vec<4, U, Q> const& viewport) + { + mat<4, 4, T, Q> Inverse = inverse(proj * model); + + vec<4, T, Q> tmp = vec<4, T, Q>(win, T(1)); + tmp.x = (tmp.x - T(viewport[0])) / T(viewport[2]); + tmp.y = (tmp.y - T(viewport[1])) / T(viewport[3]); + tmp.x = tmp.x * static_cast(2) - static_cast(1); + tmp.y = tmp.y * static_cast(2) - static_cast(1); + + vec<4, T, Q> obj = Inverse * tmp; + obj /= obj.w; + + return vec<3, T, Q>(obj); + } + + template + GLM_FUNC_QUALIFIER vec<3, T, Q> unProjectNO(vec<3, T, Q> const& win, mat<4, 4, T, Q> const& model, mat<4, 4, T, Q> const& proj, vec<4, U, Q> const& viewport) + { + mat<4, 4, T, Q> Inverse = inverse(proj * model); + + vec<4, T, Q> tmp = vec<4, T, Q>(win, T(1)); + tmp.x = (tmp.x - T(viewport[0])) / T(viewport[2]); + tmp.y = (tmp.y - T(viewport[1])) / T(viewport[3]); + tmp = tmp * static_cast(2) - static_cast(1); + + vec<4, T, Q> obj = Inverse * tmp; + obj /= obj.w; + + return vec<3, T, Q>(obj); + } + + template + GLM_FUNC_QUALIFIER vec<3, T, Q> unProject(vec<3, T, Q> const& win, mat<4, 4, T, Q> const& model, mat<4, 4, T, Q> const& proj, vec<4, U, Q> const& viewport) + { + if(GLM_CONFIG_CLIP_CONTROL & GLM_CLIP_CONTROL_ZO_BIT) + return unProjectZO(win, model, proj, viewport); + else + return unProjectNO(win, model, proj, viewport); + } + + template + GLM_FUNC_QUALIFIER mat<4, 4, T, Q> pickMatrix(vec<2, T, Q> const& center, vec<2, T, Q> const& delta, vec<4, U, Q> const& viewport) + { + assert(delta.x > static_cast(0) && delta.y > static_cast(0)); + mat<4, 4, T, Q> Result(static_cast(1)); + + if(!(delta.x > static_cast(0) && delta.y > static_cast(0))) + return Result; // Error + + vec<3, T, Q> Temp( + (static_cast(viewport[2]) - static_cast(2) * (center.x - static_cast(viewport[0]))) / delta.x, + (static_cast(viewport[3]) - static_cast(2) * (center.y - static_cast(viewport[1]))) / delta.y, + static_cast(0)); + + // Translate and scale the picked region to the entire window + Result = translate(Result, Temp); + return scale(Result, vec<3, T, Q>(static_cast(viewport[2]) / delta.x, static_cast(viewport[3]) / delta.y, static_cast(1))); + } +}//namespace glm diff --git a/MacroLibX/third_party/glm/ext/matrix_relational.hpp b/MacroLibX/third_party/glm/ext/matrix_relational.hpp new file mode 100644 index 0000000..20023ad --- /dev/null +++ b/MacroLibX/third_party/glm/ext/matrix_relational.hpp @@ -0,0 +1,132 @@ +/// @ref ext_matrix_relational +/// @file glm/ext/matrix_relational.hpp +/// +/// @defgroup ext_matrix_relational GLM_EXT_matrix_relational +/// @ingroup ext +/// +/// Exposes comparison functions for matrix types that take a user defined epsilon values. +/// +/// Include to use the features of this extension. +/// +/// @see ext_vector_relational +/// @see ext_scalar_relational +/// @see ext_quaternion_relational + +#pragma once + +// Dependencies +#include "../detail/qualifier.hpp" + +#if GLM_MESSAGES == GLM_ENABLE && !defined(GLM_EXT_INCLUDED) +# pragma message("GLM: GLM_EXT_matrix_relational extension included") +#endif + +namespace glm +{ + /// @addtogroup ext_matrix_relational + /// @{ + + /// Perform a component-wise equal-to comparison of two matrices. + /// Return a boolean vector which components value is True if this expression is satisfied per column of the matrices. + /// + /// @tparam C Integer between 1 and 4 included that qualify the number of columns of the matrix + /// @tparam R Integer between 1 and 4 included that qualify the number of rows of the matrix + /// @tparam T Floating-point or integer scalar types + /// @tparam Q Value from qualifier enum + template + GLM_FUNC_DECL GLM_CONSTEXPR vec equal(mat const& x, mat const& y); + + /// Perform a component-wise not-equal-to comparison of two matrices. + /// Return a boolean vector which components value is True if this expression is satisfied per column of the matrices. + /// + /// @tparam C Integer between 1 and 4 included that qualify the number of columns of the matrix + /// @tparam R Integer between 1 and 4 included that qualify the number of rows of the matrix + /// @tparam T Floating-point or integer scalar types + /// @tparam Q Value from qualifier enum + template + GLM_FUNC_DECL GLM_CONSTEXPR vec notEqual(mat const& x, mat const& y); + + /// Returns the component-wise comparison of |x - y| < epsilon. + /// True if this expression is satisfied. + /// + /// @tparam C Integer between 1 and 4 included that qualify the number of columns of the matrix + /// @tparam R Integer between 1 and 4 included that qualify the number of rows of the matrix + /// @tparam T Floating-point or integer scalar types + /// @tparam Q Value from qualifier enum + template + GLM_FUNC_DECL GLM_CONSTEXPR vec equal(mat const& x, mat const& y, T epsilon); + + /// Returns the component-wise comparison of |x - y| < epsilon. + /// True if this expression is satisfied. + /// + /// @tparam C Integer between 1 and 4 included that qualify the number of columns of the matrix + /// @tparam R Integer between 1 and 4 included that qualify the number of rows of the matrix + /// @tparam T Floating-point or integer scalar types + /// @tparam Q Value from qualifier enum + template + GLM_FUNC_DECL GLM_CONSTEXPR vec equal(mat const& x, mat const& y, vec const& epsilon); + + /// Returns the component-wise comparison of |x - y| < epsilon. + /// True if this expression is not satisfied. + /// + /// @tparam C Integer between 1 and 4 included that qualify the number of columns of the matrix + /// @tparam R Integer between 1 and 4 included that qualify the number of rows of the matrix + /// @tparam T Floating-point or integer scalar types + /// @tparam Q Value from qualifier enum + template + GLM_FUNC_DECL GLM_CONSTEXPR vec notEqual(mat const& x, mat const& y, T epsilon); + + /// Returns the component-wise comparison of |x - y| >= epsilon. + /// True if this expression is not satisfied. + /// + /// @tparam C Integer between 1 and 4 included that qualify the number of columns of the matrix + /// @tparam R Integer between 1 and 4 included that qualify the number of rows of the matrix + /// @tparam T Floating-point or integer scalar types + /// @tparam Q Value from qualifier enum + template + GLM_FUNC_DECL GLM_CONSTEXPR vec notEqual(mat const& x, mat const& y, vec const& epsilon); + + /// Returns the component-wise comparison between two vectors in term of ULPs. + /// True if this expression is satisfied. + /// + /// @tparam C Integer between 1 and 4 included that qualify the number of columns of the matrix + /// @tparam R Integer between 1 and 4 included that qualify the number of rows of the matrix + /// @tparam T Floating-point + /// @tparam Q Value from qualifier enum + template + GLM_FUNC_DECL GLM_CONSTEXPR vec equal(mat const& x, mat const& y, int ULPs); + + /// Returns the component-wise comparison between two vectors in term of ULPs. + /// True if this expression is satisfied. + /// + /// @tparam C Integer between 1 and 4 included that qualify the number of columns of the matrix + /// @tparam R Integer between 1 and 4 included that qualify the number of rows of the matrix + /// @tparam T Floating-point + /// @tparam Q Value from qualifier enum + template + GLM_FUNC_DECL GLM_CONSTEXPR vec equal(mat const& x, mat const& y, vec const& ULPs); + + /// Returns the component-wise comparison between two vectors in term of ULPs. + /// True if this expression is not satisfied. + /// + /// @tparam C Integer between 1 and 4 included that qualify the number of columns of the matrix + /// @tparam R Integer between 1 and 4 included that qualify the number of rows of the matrix + /// @tparam T Floating-point + /// @tparam Q Value from qualifier enum + template + GLM_FUNC_DECL GLM_CONSTEXPR vec notEqual(mat const& x, mat const& y, int ULPs); + + /// Returns the component-wise comparison between two vectors in term of ULPs. + /// True if this expression is not satisfied. + /// + /// @tparam C Integer between 1 and 4 included that qualify the number of columns of the matrix + /// @tparam R Integer between 1 and 4 included that qualify the number of rows of the matrix + /// @tparam T Floating-point + /// @tparam Q Value from qualifier enum + template + GLM_FUNC_DECL GLM_CONSTEXPR vec notEqual(mat const& x, mat const& y, vec const& ULPs); + + /// @} +}//namespace glm + +#include "matrix_relational.inl" diff --git a/MacroLibX/third_party/glm/ext/matrix_relational.inl b/MacroLibX/third_party/glm/ext/matrix_relational.inl new file mode 100644 index 0000000..b2b8753 --- /dev/null +++ b/MacroLibX/third_party/glm/ext/matrix_relational.inl @@ -0,0 +1,82 @@ +/// @ref ext_vector_relational +/// @file glm/ext/vector_relational.inl + +// Dependency: +#include "../ext/vector_relational.hpp" +#include "../common.hpp" + +namespace glm +{ + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec equal(mat const& a, mat const& b) + { + return equal(a, b, static_cast(0)); + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec equal(mat const& a, mat const& b, T Epsilon) + { + return equal(a, b, vec(Epsilon)); + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec equal(mat const& a, mat const& b, vec const& Epsilon) + { + vec Result(true); + for(length_t i = 0; i < C; ++i) + Result[i] = all(equal(a[i], b[i], Epsilon[i])); + return Result; + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec notEqual(mat const& x, mat const& y) + { + return notEqual(x, y, static_cast(0)); + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec notEqual(mat const& x, mat const& y, T Epsilon) + { + return notEqual(x, y, vec(Epsilon)); + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec notEqual(mat const& a, mat const& b, vec const& Epsilon) + { + vec Result(true); + for(length_t i = 0; i < C; ++i) + Result[i] = any(notEqual(a[i], b[i], Epsilon[i])); + return Result; + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec equal(mat const& a, mat const& b, int MaxULPs) + { + return equal(a, b, vec(MaxULPs)); + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec equal(mat const& a, mat const& b, vec const& MaxULPs) + { + vec Result(true); + for(length_t i = 0; i < C; ++i) + Result[i] = all(equal(a[i], b[i], MaxULPs[i])); + return Result; + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec notEqual(mat const& x, mat const& y, int MaxULPs) + { + return notEqual(x, y, vec(MaxULPs)); + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec notEqual(mat const& a, mat const& b, vec const& MaxULPs) + { + vec Result(true); + for(length_t i = 0; i < C; ++i) + Result[i] = any(notEqual(a[i], b[i], MaxULPs[i])); + return Result; + } + +}//namespace glm diff --git a/MacroLibX/third_party/glm/ext/matrix_transform.hpp b/MacroLibX/third_party/glm/ext/matrix_transform.hpp new file mode 100644 index 0000000..cbd187e --- /dev/null +++ b/MacroLibX/third_party/glm/ext/matrix_transform.hpp @@ -0,0 +1,144 @@ +/// @ref ext_matrix_transform +/// @file glm/ext/matrix_transform.hpp +/// +/// @defgroup ext_matrix_transform GLM_EXT_matrix_transform +/// @ingroup ext +/// +/// Defines functions that generate common transformation matrices. +/// +/// The matrices generated by this extension use standard OpenGL fixed-function +/// conventions. For example, the lookAt function generates a transform from world +/// space into the specific eye space that the projective matrix functions +/// (perspective, ortho, etc) are designed to expect. The OpenGL compatibility +/// specifications defines the particular layout of this eye space. +/// +/// Include to use the features of this extension. +/// +/// @see ext_matrix_projection +/// @see ext_matrix_clip_space + +#pragma once + +// Dependencies +#include "../gtc/constants.hpp" +#include "../geometric.hpp" +#include "../trigonometric.hpp" +#include "../matrix.hpp" + +#if GLM_MESSAGES == GLM_ENABLE && !defined(GLM_EXT_INCLUDED) +# pragma message("GLM: GLM_EXT_matrix_transform extension included") +#endif + +namespace glm +{ + /// @addtogroup ext_matrix_transform + /// @{ + + /// Builds an identity matrix. + template + GLM_FUNC_DECL GLM_CONSTEXPR genType identity(); + + /// Builds a translation 4 * 4 matrix created from a vector of 3 components. + /// + /// @param m Input matrix multiplied by this translation matrix. + /// @param v Coordinates of a translation vector. + /// + /// @tparam T A floating-point scalar type + /// @tparam Q A value from qualifier enum + /// + /// @code + /// #include + /// #include + /// ... + /// glm::mat4 m = glm::translate(glm::mat4(1.0f), glm::vec3(1.0f)); + /// // m[0][0] == 1.0f, m[0][1] == 0.0f, m[0][2] == 0.0f, m[0][3] == 0.0f + /// // m[1][0] == 0.0f, m[1][1] == 1.0f, m[1][2] == 0.0f, m[1][3] == 0.0f + /// // m[2][0] == 0.0f, m[2][1] == 0.0f, m[2][2] == 1.0f, m[2][3] == 0.0f + /// // m[3][0] == 1.0f, m[3][1] == 1.0f, m[3][2] == 1.0f, m[3][3] == 1.0f + /// @endcode + /// + /// @see - translate(mat<4, 4, T, Q> const& m, T x, T y, T z) + /// @see - translate(vec<3, T, Q> const& v) + /// @see glTranslate man page + template + GLM_FUNC_DECL mat<4, 4, T, Q> translate( + mat<4, 4, T, Q> const& m, vec<3, T, Q> const& v); + + /// Builds a rotation 4 * 4 matrix created from an axis vector and an angle. + /// + /// @param m Input matrix multiplied by this rotation matrix. + /// @param angle Rotation angle expressed in radians. + /// @param axis Rotation axis, recommended to be normalized. + /// + /// @tparam T A floating-point scalar type + /// @tparam Q A value from qualifier enum + /// + /// @see - rotate(mat<4, 4, T, Q> const& m, T angle, T x, T y, T z) + /// @see - rotate(T angle, vec<3, T, Q> const& v) + /// @see glRotate man page + template + GLM_FUNC_DECL mat<4, 4, T, Q> rotate( + mat<4, 4, T, Q> const& m, T angle, vec<3, T, Q> const& axis); + + /// Builds a scale 4 * 4 matrix created from 3 scalars. + /// + /// @param m Input matrix multiplied by this scale matrix. + /// @param v Ratio of scaling for each axis. + /// + /// @tparam T A floating-point scalar type + /// @tparam Q A value from qualifier enum + /// + /// @see - scale(mat<4, 4, T, Q> const& m, T x, T y, T z) + /// @see - scale(vec<3, T, Q> const& v) + /// @see glScale man page + template + GLM_FUNC_DECL mat<4, 4, T, Q> scale( + mat<4, 4, T, Q> const& m, vec<3, T, Q> const& v); + + /// Build a right handed look at view matrix. + /// + /// @param eye Position of the camera + /// @param center Position where the camera is looking at + /// @param up Normalized up vector, how the camera is oriented. Typically (0, 0, 1) + /// + /// @tparam T A floating-point scalar type + /// @tparam Q A value from qualifier enum + /// + /// @see - frustum(T const& left, T const& right, T const& bottom, T const& top, T const& nearVal, T const& farVal) frustum(T const& left, T const& right, T const& bottom, T const& top, T const& nearVal, T const& farVal) + template + GLM_FUNC_DECL mat<4, 4, T, Q> lookAtRH( + vec<3, T, Q> const& eye, vec<3, T, Q> const& center, vec<3, T, Q> const& up); + + /// Build a left handed look at view matrix. + /// + /// @param eye Position of the camera + /// @param center Position where the camera is looking at + /// @param up Normalized up vector, how the camera is oriented. Typically (0, 0, 1) + /// + /// @tparam T A floating-point scalar type + /// @tparam Q A value from qualifier enum + /// + /// @see - frustum(T const& left, T const& right, T const& bottom, T const& top, T const& nearVal, T const& farVal) frustum(T const& left, T const& right, T const& bottom, T const& top, T const& nearVal, T const& farVal) + template + GLM_FUNC_DECL mat<4, 4, T, Q> lookAtLH( + vec<3, T, Q> const& eye, vec<3, T, Q> const& center, vec<3, T, Q> const& up); + + /// Build a look at view matrix based on the default handedness. + /// + /// @param eye Position of the camera + /// @param center Position where the camera is looking at + /// @param up Normalized up vector, how the camera is oriented. Typically (0, 0, 1) + /// + /// @tparam T A floating-point scalar type + /// @tparam Q A value from qualifier enum + /// + /// @see - frustum(T const& left, T const& right, T const& bottom, T const& top, T const& nearVal, T const& farVal) frustum(T const& left, T const& right, T const& bottom, T const& top, T const& nearVal, T const& farVal) + /// @see gluLookAt man page + template + GLM_FUNC_DECL mat<4, 4, T, Q> lookAt( + vec<3, T, Q> const& eye, vec<3, T, Q> const& center, vec<3, T, Q> const& up); + + /// @} +}//namespace glm + +#include "matrix_transform.inl" diff --git a/MacroLibX/third_party/glm/ext/matrix_transform.inl b/MacroLibX/third_party/glm/ext/matrix_transform.inl new file mode 100644 index 0000000..a415157 --- /dev/null +++ b/MacroLibX/third_party/glm/ext/matrix_transform.inl @@ -0,0 +1,152 @@ +namespace glm +{ + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR genType identity() + { + return detail::init_gentype::GENTYPE>::identity(); + } + + template + GLM_FUNC_QUALIFIER mat<4, 4, T, Q> translate(mat<4, 4, T, Q> const& m, vec<3, T, Q> const& v) + { + mat<4, 4, T, Q> Result(m); + Result[3] = m[0] * v[0] + m[1] * v[1] + m[2] * v[2] + m[3]; + return Result; + } + + template + GLM_FUNC_QUALIFIER mat<4, 4, T, Q> rotate(mat<4, 4, T, Q> const& m, T angle, vec<3, T, Q> const& v) + { + T const a = angle; + T const c = cos(a); + T const s = sin(a); + + vec<3, T, Q> axis(normalize(v)); + vec<3, T, Q> temp((T(1) - c) * axis); + + mat<4, 4, T, Q> Rotate; + Rotate[0][0] = c + temp[0] * axis[0]; + Rotate[0][1] = temp[0] * axis[1] + s * axis[2]; + Rotate[0][2] = temp[0] * axis[2] - s * axis[1]; + + Rotate[1][0] = temp[1] * axis[0] - s * axis[2]; + Rotate[1][1] = c + temp[1] * axis[1]; + Rotate[1][2] = temp[1] * axis[2] + s * axis[0]; + + Rotate[2][0] = temp[2] * axis[0] + s * axis[1]; + Rotate[2][1] = temp[2] * axis[1] - s * axis[0]; + Rotate[2][2] = c + temp[2] * axis[2]; + + mat<4, 4, T, Q> Result; + Result[0] = m[0] * Rotate[0][0] + m[1] * Rotate[0][1] + m[2] * Rotate[0][2]; + Result[1] = m[0] * Rotate[1][0] + m[1] * Rotate[1][1] + m[2] * Rotate[1][2]; + Result[2] = m[0] * Rotate[2][0] + m[1] * Rotate[2][1] + m[2] * Rotate[2][2]; + Result[3] = m[3]; + return Result; + } + + template + GLM_FUNC_QUALIFIER mat<4, 4, T, Q> rotate_slow(mat<4, 4, T, Q> const& m, T angle, vec<3, T, Q> const& v) + { + T const a = angle; + T const c = cos(a); + T const s = sin(a); + mat<4, 4, T, Q> Result; + + vec<3, T, Q> axis = normalize(v); + + Result[0][0] = c + (static_cast(1) - c) * axis.x * axis.x; + Result[0][1] = (static_cast(1) - c) * axis.x * axis.y + s * axis.z; + Result[0][2] = (static_cast(1) - c) * axis.x * axis.z - s * axis.y; + Result[0][3] = static_cast(0); + + Result[1][0] = (static_cast(1) - c) * axis.y * axis.x - s * axis.z; + Result[1][1] = c + (static_cast(1) - c) * axis.y * axis.y; + Result[1][2] = (static_cast(1) - c) * axis.y * axis.z + s * axis.x; + Result[1][3] = static_cast(0); + + Result[2][0] = (static_cast(1) - c) * axis.z * axis.x + s * axis.y; + Result[2][1] = (static_cast(1) - c) * axis.z * axis.y - s * axis.x; + Result[2][2] = c + (static_cast(1) - c) * axis.z * axis.z; + Result[2][3] = static_cast(0); + + Result[3] = vec<4, T, Q>(0, 0, 0, 1); + return m * Result; + } + + template + GLM_FUNC_QUALIFIER mat<4, 4, T, Q> scale(mat<4, 4, T, Q> const& m, vec<3, T, Q> const& v) + { + mat<4, 4, T, Q> Result; + Result[0] = m[0] * v[0]; + Result[1] = m[1] * v[1]; + Result[2] = m[2] * v[2]; + Result[3] = m[3]; + return Result; + } + + template + GLM_FUNC_QUALIFIER mat<4, 4, T, Q> scale_slow(mat<4, 4, T, Q> const& m, vec<3, T, Q> const& v) + { + mat<4, 4, T, Q> Result(T(1)); + Result[0][0] = v.x; + Result[1][1] = v.y; + Result[2][2] = v.z; + return m * Result; + } + + template + GLM_FUNC_QUALIFIER mat<4, 4, T, Q> lookAtRH(vec<3, T, Q> const& eye, vec<3, T, Q> const& center, vec<3, T, Q> const& up) + { + vec<3, T, Q> const f(normalize(center - eye)); + vec<3, T, Q> const s(normalize(cross(f, up))); + vec<3, T, Q> const u(cross(s, f)); + + mat<4, 4, T, Q> Result(1); + Result[0][0] = s.x; + Result[1][0] = s.y; + Result[2][0] = s.z; + Result[0][1] = u.x; + Result[1][1] = u.y; + Result[2][1] = u.z; + Result[0][2] =-f.x; + Result[1][2] =-f.y; + Result[2][2] =-f.z; + Result[3][0] =-dot(s, eye); + Result[3][1] =-dot(u, eye); + Result[3][2] = dot(f, eye); + return Result; + } + + template + GLM_FUNC_QUALIFIER mat<4, 4, T, Q> lookAtLH(vec<3, T, Q> const& eye, vec<3, T, Q> const& center, vec<3, T, Q> const& up) + { + vec<3, T, Q> const f(normalize(center - eye)); + vec<3, T, Q> const s(normalize(cross(up, f))); + vec<3, T, Q> const u(cross(f, s)); + + mat<4, 4, T, Q> Result(1); + Result[0][0] = s.x; + Result[1][0] = s.y; + Result[2][0] = s.z; + Result[0][1] = u.x; + Result[1][1] = u.y; + Result[2][1] = u.z; + Result[0][2] = f.x; + Result[1][2] = f.y; + Result[2][2] = f.z; + Result[3][0] = -dot(s, eye); + Result[3][1] = -dot(u, eye); + Result[3][2] = -dot(f, eye); + return Result; + } + + template + GLM_FUNC_QUALIFIER mat<4, 4, T, Q> lookAt(vec<3, T, Q> const& eye, vec<3, T, Q> const& center, vec<3, T, Q> const& up) + { + GLM_IF_CONSTEXPR(GLM_CONFIG_CLIP_CONTROL & GLM_CLIP_CONTROL_LH_BIT) + return lookAtLH(eye, center, up); + else + return lookAtRH(eye, center, up); + } +}//namespace glm diff --git a/MacroLibX/third_party/glm/ext/quaternion_common.hpp b/MacroLibX/third_party/glm/ext/quaternion_common.hpp new file mode 100644 index 0000000..2980ed4 --- /dev/null +++ b/MacroLibX/third_party/glm/ext/quaternion_common.hpp @@ -0,0 +1,120 @@ +/// @ref ext_quaternion_common +/// @file glm/ext/quaternion_common.hpp +/// +/// @defgroup ext_quaternion_common GLM_EXT_quaternion_common +/// @ingroup ext +/// +/// Provides common functions for quaternion types +/// +/// Include to use the features of this extension. +/// +/// @see ext_scalar_common +/// @see ext_vector_common +/// @see ext_quaternion_float +/// @see ext_quaternion_double +/// @see ext_quaternion_exponential +/// @see ext_quaternion_geometric +/// @see ext_quaternion_relational +/// @see ext_quaternion_trigonometric +/// @see ext_quaternion_transform + +#pragma once + +// Dependency: +#include "../ext/scalar_constants.hpp" +#include "../ext/quaternion_geometric.hpp" +#include "../common.hpp" +#include "../trigonometric.hpp" +#include "../exponential.hpp" +#include + +#if GLM_MESSAGES == GLM_ENABLE && !defined(GLM_EXT_INCLUDED) +# pragma message("GLM: GLM_EXT_quaternion_common extension included") +#endif + +namespace glm +{ + /// @addtogroup ext_quaternion_common + /// @{ + + /// Spherical linear interpolation of two quaternions. + /// The interpolation is oriented and the rotation is performed at constant speed. + /// For short path spherical linear interpolation, use the slerp function. + /// + /// @param x A quaternion + /// @param y A quaternion + /// @param a Interpolation factor. The interpolation is defined beyond the range [0, 1]. + /// + /// @tparam T A floating-point scalar type + /// @tparam Q A value from qualifier enum + /// + /// @see - slerp(qua const& x, qua const& y, T const& a) + template + GLM_FUNC_DECL qua mix(qua const& x, qua const& y, T a); + + /// Linear interpolation of two quaternions. + /// The interpolation is oriented. + /// + /// @param x A quaternion + /// @param y A quaternion + /// @param a Interpolation factor. The interpolation is defined in the range [0, 1]. + /// + /// @tparam T A floating-point scalar type + /// @tparam Q A value from qualifier enum + template + GLM_FUNC_DECL qua lerp(qua const& x, qua const& y, T a); + + /// Spherical linear interpolation of two quaternions. + /// The interpolation always take the short path and the rotation is performed at constant speed. + /// + /// @param x A quaternion + /// @param y A quaternion + /// @param a Interpolation factor. The interpolation is defined beyond the range [0, 1]. + /// + /// @tparam T A floating-point scalar type + /// @tparam Q A value from qualifier enum + template + GLM_FUNC_DECL qua slerp(qua const& x, qua const& y, T a); + + /// Returns the q conjugate. + /// + /// @tparam T A floating-point scalar type + /// @tparam Q A value from qualifier enum + template + GLM_FUNC_DECL qua conjugate(qua const& q); + + /// Returns the q inverse. + /// + /// @tparam T A floating-point scalar type + /// @tparam Q A value from qualifier enum + template + GLM_FUNC_DECL qua inverse(qua const& q); + + /// Returns true if x holds a NaN (not a number) + /// representation in the underlying implementation's set of + /// floating point representations. Returns false otherwise, + /// including for implementations with no NaN + /// representations. + /// + /// /!\ When using compiler fast math, this function may fail. + /// + /// @tparam T A floating-point scalar type + /// @tparam Q A value from qualifier enum + template + GLM_FUNC_DECL vec<4, bool, Q> isnan(qua const& x); + + /// Returns true if x holds a positive infinity or negative + /// infinity representation in the underlying implementation's + /// set of floating point representations. Returns false + /// otherwise, including for implementations with no infinity + /// representations. + /// + /// @tparam T A floating-point scalar type + /// @tparam Q A value from qualifier enum + template + GLM_FUNC_DECL vec<4, bool, Q> isinf(qua const& x); + + /// @} +} //namespace glm + +#include "quaternion_common.inl" diff --git a/MacroLibX/third_party/glm/ext/quaternion_common.inl b/MacroLibX/third_party/glm/ext/quaternion_common.inl new file mode 100644 index 0000000..3b2846f --- /dev/null +++ b/MacroLibX/third_party/glm/ext/quaternion_common.inl @@ -0,0 +1,107 @@ +namespace glm +{ + template + GLM_FUNC_QUALIFIER qua mix(qua const& x, qua const& y, T a) + { + GLM_STATIC_ASSERT(std::numeric_limits::is_iec559, "'mix' only accept floating-point inputs"); + + T const cosTheta = dot(x, y); + + // Perform a linear interpolation when cosTheta is close to 1 to avoid side effect of sin(angle) becoming a zero denominator + if(cosTheta > static_cast(1) - epsilon()) + { + // Linear interpolation + return qua( + mix(x.w, y.w, a), + mix(x.x, y.x, a), + mix(x.y, y.y, a), + mix(x.z, y.z, a)); + } + else + { + // Essential Mathematics, page 467 + T angle = acos(cosTheta); + return (sin((static_cast(1) - a) * angle) * x + sin(a * angle) * y) / sin(angle); + } + } + + template + GLM_FUNC_QUALIFIER qua lerp(qua const& x, qua const& y, T a) + { + GLM_STATIC_ASSERT(std::numeric_limits::is_iec559, "'lerp' only accept floating-point inputs"); + + // Lerp is only defined in [0, 1] + assert(a >= static_cast(0)); + assert(a <= static_cast(1)); + + return x * (static_cast(1) - a) + (y * a); + } + + template + GLM_FUNC_QUALIFIER qua slerp(qua const& x, qua const& y, T a) + { + GLM_STATIC_ASSERT(std::numeric_limits::is_iec559, "'slerp' only accept floating-point inputs"); + + qua z = y; + + T cosTheta = dot(x, y); + + // If cosTheta < 0, the interpolation will take the long way around the sphere. + // To fix this, one quat must be negated. + if(cosTheta < static_cast(0)) + { + z = -y; + cosTheta = -cosTheta; + } + + // Perform a linear interpolation when cosTheta is close to 1 to avoid side effect of sin(angle) becoming a zero denominator + if(cosTheta > static_cast(1) - epsilon()) + { + // Linear interpolation + return qua( + mix(x.w, z.w, a), + mix(x.x, z.x, a), + mix(x.y, z.y, a), + mix(x.z, z.z, a)); + } + else + { + // Essential Mathematics, page 467 + T angle = acos(cosTheta); + return (sin((static_cast(1) - a) * angle) * x + sin(a * angle) * z) / sin(angle); + } + } + + template + GLM_FUNC_QUALIFIER qua conjugate(qua const& q) + { + return qua(q.w, -q.x, -q.y, -q.z); + } + + template + GLM_FUNC_QUALIFIER qua inverse(qua const& q) + { + return conjugate(q) / dot(q, q); + } + + template + GLM_FUNC_QUALIFIER vec<4, bool, Q> isnan(qua const& q) + { + GLM_STATIC_ASSERT(std::numeric_limits::is_iec559, "'isnan' only accept floating-point inputs"); + + return vec<4, bool, Q>(isnan(q.x), isnan(q.y), isnan(q.z), isnan(q.w)); + } + + template + GLM_FUNC_QUALIFIER vec<4, bool, Q> isinf(qua const& q) + { + GLM_STATIC_ASSERT(std::numeric_limits::is_iec559, "'isinf' only accept floating-point inputs"); + + return vec<4, bool, Q>(isinf(q.x), isinf(q.y), isinf(q.z), isinf(q.w)); + } +}//namespace glm + +#if GLM_CONFIG_SIMD == GLM_ENABLE +# include "quaternion_common_simd.inl" +#endif + diff --git a/MacroLibX/third_party/glm/ext/quaternion_common_simd.inl b/MacroLibX/third_party/glm/ext/quaternion_common_simd.inl new file mode 100644 index 0000000..ddfc8a4 --- /dev/null +++ b/MacroLibX/third_party/glm/ext/quaternion_common_simd.inl @@ -0,0 +1,18 @@ +#if GLM_ARCH & GLM_ARCH_SSE2_BIT + +namespace glm{ +namespace detail +{ + template + struct compute_dot, float, true> + { + static GLM_FUNC_QUALIFIER float call(qua const& x, qua const& y) + { + return _mm_cvtss_f32(glm_vec1_dot(x.data, y.data)); + } + }; +}//namespace detail +}//namespace glm + +#endif//GLM_ARCH & GLM_ARCH_SSE2_BIT + diff --git a/MacroLibX/third_party/glm/ext/quaternion_double.hpp b/MacroLibX/third_party/glm/ext/quaternion_double.hpp new file mode 100644 index 0000000..63b24de --- /dev/null +++ b/MacroLibX/third_party/glm/ext/quaternion_double.hpp @@ -0,0 +1,39 @@ +/// @ref ext_quaternion_double +/// @file glm/ext/quaternion_double.hpp +/// +/// @defgroup ext_quaternion_double GLM_EXT_quaternion_double +/// @ingroup ext +/// +/// Exposes double-precision floating point quaternion type. +/// +/// Include to use the features of this extension. +/// +/// @see ext_quaternion_float +/// @see ext_quaternion_double_precision +/// @see ext_quaternion_common +/// @see ext_quaternion_exponential +/// @see ext_quaternion_geometric +/// @see ext_quaternion_relational +/// @see ext_quaternion_transform +/// @see ext_quaternion_trigonometric + +#pragma once + +// Dependency: +#include "../detail/type_quat.hpp" + +#if GLM_MESSAGES == GLM_ENABLE && !defined(GLM_EXT_INCLUDED) +# pragma message("GLM: GLM_EXT_quaternion_double extension included") +#endif + +namespace glm +{ + /// @addtogroup ext_quaternion_double + /// @{ + + /// Quaternion of double-precision floating-point numbers. + typedef qua dquat; + + /// @} +} //namespace glm + diff --git a/MacroLibX/third_party/glm/ext/quaternion_double_precision.hpp b/MacroLibX/third_party/glm/ext/quaternion_double_precision.hpp new file mode 100644 index 0000000..8aa24a1 --- /dev/null +++ b/MacroLibX/third_party/glm/ext/quaternion_double_precision.hpp @@ -0,0 +1,42 @@ +/// @ref ext_quaternion_double_precision +/// @file glm/ext/quaternion_double_precision.hpp +/// +/// @defgroup ext_quaternion_double_precision GLM_EXT_quaternion_double_precision +/// @ingroup ext +/// +/// Exposes double-precision floating point quaternion type with various precision in term of ULPs. +/// +/// Include to use the features of this extension. + +#pragma once + +// Dependency: +#include "../detail/type_quat.hpp" + +#if GLM_MESSAGES == GLM_ENABLE && !defined(GLM_EXT_INCLUDED) +# pragma message("GLM: GLM_EXT_quaternion_double_precision extension included") +#endif + +namespace glm +{ + /// @addtogroup ext_quaternion_double_precision + /// @{ + + /// Quaternion of double-precision floating-point numbers using high precision arithmetic in term of ULPs. + /// + /// @see ext_quaternion_double_precision + typedef qua lowp_dquat; + + /// Quaternion of medium double-qualifier floating-point numbers using high precision arithmetic in term of ULPs. + /// + /// @see ext_quaternion_double_precision + typedef qua mediump_dquat; + + /// Quaternion of high double-qualifier floating-point numbers using high precision arithmetic in term of ULPs. + /// + /// @see ext_quaternion_double_precision + typedef qua highp_dquat; + + /// @} +} //namespace glm + diff --git a/MacroLibX/third_party/glm/ext/quaternion_exponential.hpp b/MacroLibX/third_party/glm/ext/quaternion_exponential.hpp new file mode 100644 index 0000000..affe297 --- /dev/null +++ b/MacroLibX/third_party/glm/ext/quaternion_exponential.hpp @@ -0,0 +1,63 @@ +/// @ref ext_quaternion_exponential +/// @file glm/ext/quaternion_exponential.hpp +/// +/// @defgroup ext_quaternion_exponential GLM_EXT_quaternion_exponential +/// @ingroup ext +/// +/// Provides exponential functions for quaternion types +/// +/// Include to use the features of this extension. +/// +/// @see core_exponential +/// @see ext_quaternion_float +/// @see ext_quaternion_double + +#pragma once + +// Dependency: +#include "../common.hpp" +#include "../trigonometric.hpp" +#include "../geometric.hpp" +#include "../ext/scalar_constants.hpp" + +#if GLM_MESSAGES == GLM_ENABLE && !defined(GLM_EXT_INCLUDED) +# pragma message("GLM: GLM_EXT_quaternion_exponential extension included") +#endif + +namespace glm +{ + /// @addtogroup ext_quaternion_transform + /// @{ + + /// Returns a exponential of a quaternion. + /// + /// @tparam T A floating-point scalar type + /// @tparam Q A value from qualifier enum + template + GLM_FUNC_DECL qua exp(qua const& q); + + /// Returns a logarithm of a quaternion + /// + /// @tparam T A floating-point scalar type + /// @tparam Q A value from qualifier enum + template + GLM_FUNC_DECL qua log(qua const& q); + + /// Returns a quaternion raised to a power. + /// + /// @tparam T A floating-point scalar type + /// @tparam Q A value from qualifier enum + template + GLM_FUNC_DECL qua pow(qua const& q, T y); + + /// Returns the square root of a quaternion + /// + /// @tparam T A floating-point scalar type + /// @tparam Q A value from qualifier enum + template + GLM_FUNC_DECL qua sqrt(qua const& q); + + /// @} +} //namespace glm + +#include "quaternion_exponential.inl" diff --git a/MacroLibX/third_party/glm/ext/quaternion_exponential.inl b/MacroLibX/third_party/glm/ext/quaternion_exponential.inl new file mode 100644 index 0000000..8456c00 --- /dev/null +++ b/MacroLibX/third_party/glm/ext/quaternion_exponential.inl @@ -0,0 +1,85 @@ +#include "scalar_constants.hpp" + +namespace glm +{ + template + GLM_FUNC_QUALIFIER qua exp(qua const& q) + { + vec<3, T, Q> u(q.x, q.y, q.z); + T const Angle = glm::length(u); + if (Angle < epsilon()) + return qua(); + + vec<3, T, Q> const v(u / Angle); + return qua(cos(Angle), sin(Angle) * v); + } + + template + GLM_FUNC_QUALIFIER qua log(qua const& q) + { + vec<3, T, Q> u(q.x, q.y, q.z); + T Vec3Len = length(u); + + if (Vec3Len < epsilon()) + { + if(q.w > static_cast(0)) + return qua(log(q.w), static_cast(0), static_cast(0), static_cast(0)); + else if(q.w < static_cast(0)) + return qua(log(-q.w), pi(), static_cast(0), static_cast(0)); + else + return qua(std::numeric_limits::infinity(), std::numeric_limits::infinity(), std::numeric_limits::infinity(), std::numeric_limits::infinity()); + } + else + { + T t = atan(Vec3Len, T(q.w)) / Vec3Len; + T QuatLen2 = Vec3Len * Vec3Len + q.w * q.w; + return qua(static_cast(0.5) * log(QuatLen2), t * q.x, t * q.y, t * q.z); + } + } + + template + GLM_FUNC_QUALIFIER qua pow(qua const& x, T y) + { + //Raising to the power of 0 should yield 1 + //Needed to prevent a division by 0 error later on + if(y > -epsilon() && y < epsilon()) + return qua(1,0,0,0); + + //To deal with non-unit quaternions + T magnitude = sqrt(x.x * x.x + x.y * x.y + x.z * x.z + x.w *x.w); + + T Angle; + if(abs(x.w / magnitude) > cos_one_over_two()) + { + //Scalar component is close to 1; using it to recover angle would lose precision + //Instead, we use the non-scalar components since sin() is accurate around 0 + + //Prevent a division by 0 error later on + T VectorMagnitude = x.x * x.x + x.y * x.y + x.z * x.z; + if (glm::abs(VectorMagnitude - static_cast(0)) < glm::epsilon()) { + //Equivalent to raising a real number to a power + return qua(pow(x.w, y), 0, 0, 0); + } + + Angle = asin(sqrt(VectorMagnitude) / magnitude); + } + else + { + //Scalar component is small, shouldn't cause loss of precision + Angle = acos(x.w / magnitude); + } + + T NewAngle = Angle * y; + T Div = sin(NewAngle) / sin(Angle); + T Mag = pow(magnitude, y - static_cast(1)); + return qua(cos(NewAngle) * magnitude * Mag, x.x * Div * Mag, x.y * Div * Mag, x.z * Div * Mag); + } + + template + GLM_FUNC_QUALIFIER qua sqrt(qua const& x) + { + return pow(x, static_cast(0.5)); + } +}//namespace glm + + diff --git a/MacroLibX/third_party/glm/ext/quaternion_float.hpp b/MacroLibX/third_party/glm/ext/quaternion_float.hpp new file mode 100644 index 0000000..ca42a60 --- /dev/null +++ b/MacroLibX/third_party/glm/ext/quaternion_float.hpp @@ -0,0 +1,39 @@ +/// @ref ext_quaternion_float +/// @file glm/ext/quaternion_float.hpp +/// +/// @defgroup ext_quaternion_float GLM_EXT_quaternion_float +/// @ingroup ext +/// +/// Exposes single-precision floating point quaternion type. +/// +/// Include to use the features of this extension. +/// +/// @see ext_quaternion_double +/// @see ext_quaternion_float_precision +/// @see ext_quaternion_common +/// @see ext_quaternion_exponential +/// @see ext_quaternion_geometric +/// @see ext_quaternion_relational +/// @see ext_quaternion_transform +/// @see ext_quaternion_trigonometric + +#pragma once + +// Dependency: +#include "../detail/type_quat.hpp" + +#if GLM_MESSAGES == GLM_ENABLE && !defined(GLM_EXT_INCLUDED) +# pragma message("GLM: GLM_EXT_quaternion_float extension included") +#endif + +namespace glm +{ + /// @addtogroup ext_quaternion_float + /// @{ + + /// Quaternion of single-precision floating-point numbers. + typedef qua quat; + + /// @} +} //namespace glm + diff --git a/MacroLibX/third_party/glm/ext/quaternion_float_precision.hpp b/MacroLibX/third_party/glm/ext/quaternion_float_precision.hpp new file mode 100644 index 0000000..f9e4f5c --- /dev/null +++ b/MacroLibX/third_party/glm/ext/quaternion_float_precision.hpp @@ -0,0 +1,36 @@ +/// @ref ext_quaternion_float_precision +/// @file glm/ext/quaternion_float_precision.hpp +/// +/// @defgroup ext_quaternion_float_precision GLM_EXT_quaternion_float_precision +/// @ingroup ext +/// +/// Exposes single-precision floating point quaternion type with various precision in term of ULPs. +/// +/// Include to use the features of this extension. + +#pragma once + +// Dependency: +#include "../detail/type_quat.hpp" + +#if GLM_MESSAGES == GLM_ENABLE && !defined(GLM_EXT_INCLUDED) +# pragma message("GLM: GLM_EXT_quaternion_float_precision extension included") +#endif + +namespace glm +{ + /// @addtogroup ext_quaternion_float_precision + /// @{ + + /// Quaternion of single-precision floating-point numbers using high precision arithmetic in term of ULPs. + typedef qua lowp_quat; + + /// Quaternion of single-precision floating-point numbers using high precision arithmetic in term of ULPs. + typedef qua mediump_quat; + + /// Quaternion of single-precision floating-point numbers using high precision arithmetic in term of ULPs. + typedef qua highp_quat; + + /// @} +} //namespace glm + diff --git a/MacroLibX/third_party/glm/ext/quaternion_geometric.hpp b/MacroLibX/third_party/glm/ext/quaternion_geometric.hpp new file mode 100644 index 0000000..6d98bbe --- /dev/null +++ b/MacroLibX/third_party/glm/ext/quaternion_geometric.hpp @@ -0,0 +1,70 @@ +/// @ref ext_quaternion_geometric +/// @file glm/ext/quaternion_geometric.hpp +/// +/// @defgroup ext_quaternion_geometric GLM_EXT_quaternion_geometric +/// @ingroup ext +/// +/// Provides geometric functions for quaternion types +/// +/// Include to use the features of this extension. +/// +/// @see core_geometric +/// @see ext_quaternion_float +/// @see ext_quaternion_double + +#pragma once + +// Dependency: +#include "../geometric.hpp" +#include "../exponential.hpp" +#include "../ext/vector_relational.hpp" + +#if GLM_MESSAGES == GLM_ENABLE && !defined(GLM_EXT_INCLUDED) +# pragma message("GLM: GLM_EXT_quaternion_geometric extension included") +#endif + +namespace glm +{ + /// @addtogroup ext_quaternion_geometric + /// @{ + + /// Returns the norm of a quaternions + /// + /// @tparam T Floating-point scalar types + /// @tparam Q Value from qualifier enum + /// + /// @see ext_quaternion_geometric + template + GLM_FUNC_DECL T length(qua const& q); + + /// Returns the normalized quaternion. + /// + /// @tparam T Floating-point scalar types + /// @tparam Q Value from qualifier enum + /// + /// @see ext_quaternion_geometric + template + GLM_FUNC_DECL qua normalize(qua const& q); + + /// Returns dot product of q1 and q2, i.e., q1[0] * q2[0] + q1[1] * q2[1] + ... + /// + /// @tparam T Floating-point scalar types. + /// @tparam Q Value from qualifier enum + /// + /// @see ext_quaternion_geometric + template + GLM_FUNC_DECL T dot(qua const& x, qua const& y); + + /// Compute a cross product. + /// + /// @tparam T Floating-point scalar types + /// @tparam Q Value from qualifier enum + /// + /// @see ext_quaternion_geometric + template + GLM_FUNC_QUALIFIER qua cross(qua const& q1, qua const& q2); + + /// @} +} //namespace glm + +#include "quaternion_geometric.inl" diff --git a/MacroLibX/third_party/glm/ext/quaternion_geometric.inl b/MacroLibX/third_party/glm/ext/quaternion_geometric.inl new file mode 100644 index 0000000..e155ac5 --- /dev/null +++ b/MacroLibX/third_party/glm/ext/quaternion_geometric.inl @@ -0,0 +1,36 @@ +namespace glm +{ + template + GLM_FUNC_QUALIFIER T dot(qua const& x, qua const& y) + { + GLM_STATIC_ASSERT(std::numeric_limits::is_iec559, "'dot' accepts only floating-point inputs"); + return detail::compute_dot, T, detail::is_aligned::value>::call(x, y); + } + + template + GLM_FUNC_QUALIFIER T length(qua const& q) + { + return glm::sqrt(dot(q, q)); + } + + template + GLM_FUNC_QUALIFIER qua normalize(qua const& q) + { + T len = length(q); + if(len <= static_cast(0)) // Problem + return qua(static_cast(1), static_cast(0), static_cast(0), static_cast(0)); + T oneOverLen = static_cast(1) / len; + return qua(q.w * oneOverLen, q.x * oneOverLen, q.y * oneOverLen, q.z * oneOverLen); + } + + template + GLM_FUNC_QUALIFIER qua cross(qua const& q1, qua const& q2) + { + return qua( + q1.w * q2.w - q1.x * q2.x - q1.y * q2.y - q1.z * q2.z, + q1.w * q2.x + q1.x * q2.w + q1.y * q2.z - q1.z * q2.y, + q1.w * q2.y + q1.y * q2.w + q1.z * q2.x - q1.x * q2.z, + q1.w * q2.z + q1.z * q2.w + q1.x * q2.y - q1.y * q2.x); + } +}//namespace glm + diff --git a/MacroLibX/third_party/glm/ext/quaternion_relational.hpp b/MacroLibX/third_party/glm/ext/quaternion_relational.hpp new file mode 100644 index 0000000..7aa121d --- /dev/null +++ b/MacroLibX/third_party/glm/ext/quaternion_relational.hpp @@ -0,0 +1,62 @@ +/// @ref ext_quaternion_relational +/// @file glm/ext/quaternion_relational.hpp +/// +/// @defgroup ext_quaternion_relational GLM_EXT_quaternion_relational +/// @ingroup ext +/// +/// Exposes comparison functions for quaternion types that take a user defined epsilon values. +/// +/// Include to use the features of this extension. +/// +/// @see core_vector_relational +/// @see ext_vector_relational +/// @see ext_matrix_relational +/// @see ext_quaternion_float +/// @see ext_quaternion_double + +#pragma once + +// Dependency: +#include "../vector_relational.hpp" + +#if GLM_MESSAGES == GLM_ENABLE && !defined(GLM_EXT_INCLUDED) +# pragma message("GLM: GLM_EXT_quaternion_relational extension included") +#endif + +namespace glm +{ + /// @addtogroup ext_quaternion_relational + /// @{ + + /// Returns the component-wise comparison of result x == y. + /// + /// @tparam T Floating-point scalar types + /// @tparam Q Value from qualifier enum + template + GLM_FUNC_DECL vec<4, bool, Q> equal(qua const& x, qua const& y); + + /// Returns the component-wise comparison of |x - y| < epsilon. + /// + /// @tparam T Floating-point scalar types + /// @tparam Q Value from qualifier enum + template + GLM_FUNC_DECL vec<4, bool, Q> equal(qua const& x, qua const& y, T epsilon); + + /// Returns the component-wise comparison of result x != y. + /// + /// @tparam T Floating-point scalar types + /// @tparam Q Value from qualifier enum + template + GLM_FUNC_DECL vec<4, bool, Q> notEqual(qua const& x, qua const& y); + + /// Returns the component-wise comparison of |x - y| >= epsilon. + /// + /// @tparam T Floating-point scalar types + /// @tparam Q Value from qualifier enum + template + GLM_FUNC_DECL vec<4, bool, Q> notEqual(qua const& x, qua const& y, T epsilon); + + /// @} +} //namespace glm + +#include "quaternion_relational.inl" diff --git a/MacroLibX/third_party/glm/ext/quaternion_relational.inl b/MacroLibX/third_party/glm/ext/quaternion_relational.inl new file mode 100644 index 0000000..b1713e9 --- /dev/null +++ b/MacroLibX/third_party/glm/ext/quaternion_relational.inl @@ -0,0 +1,35 @@ +namespace glm +{ + template + GLM_FUNC_QUALIFIER vec<4, bool, Q> equal(qua const& x, qua const& y) + { + vec<4, bool, Q> Result; + for(length_t i = 0; i < x.length(); ++i) + Result[i] = x[i] == y[i]; + return Result; + } + + template + GLM_FUNC_QUALIFIER vec<4, bool, Q> equal(qua const& x, qua const& y, T epsilon) + { + vec<4, T, Q> v(x.x - y.x, x.y - y.y, x.z - y.z, x.w - y.w); + return lessThan(abs(v), vec<4, T, Q>(epsilon)); + } + + template + GLM_FUNC_QUALIFIER vec<4, bool, Q> notEqual(qua const& x, qua const& y) + { + vec<4, bool, Q> Result; + for(length_t i = 0; i < x.length(); ++i) + Result[i] = x[i] != y[i]; + return Result; + } + + template + GLM_FUNC_QUALIFIER vec<4, bool, Q> notEqual(qua const& x, qua const& y, T epsilon) + { + vec<4, T, Q> v(x.x - y.x, x.y - y.y, x.z - y.z, x.w - y.w); + return greaterThanEqual(abs(v), vec<4, T, Q>(epsilon)); + } +}//namespace glm + diff --git a/MacroLibX/third_party/glm/ext/quaternion_transform.hpp b/MacroLibX/third_party/glm/ext/quaternion_transform.hpp new file mode 100644 index 0000000..a9cc5c2 --- /dev/null +++ b/MacroLibX/third_party/glm/ext/quaternion_transform.hpp @@ -0,0 +1,47 @@ +/// @ref ext_quaternion_transform +/// @file glm/ext/quaternion_transform.hpp +/// +/// @defgroup ext_quaternion_transform GLM_EXT_quaternion_transform +/// @ingroup ext +/// +/// Provides transformation functions for quaternion types +/// +/// Include to use the features of this extension. +/// +/// @see ext_quaternion_float +/// @see ext_quaternion_double +/// @see ext_quaternion_exponential +/// @see ext_quaternion_geometric +/// @see ext_quaternion_relational +/// @see ext_quaternion_trigonometric + +#pragma once + +// Dependency: +#include "../common.hpp" +#include "../trigonometric.hpp" +#include "../geometric.hpp" + +#if GLM_MESSAGES == GLM_ENABLE && !defined(GLM_EXT_INCLUDED) +# pragma message("GLM: GLM_EXT_quaternion_transform extension included") +#endif + +namespace glm +{ + /// @addtogroup ext_quaternion_transform + /// @{ + + /// Rotates a quaternion from a vector of 3 components axis and an angle. + /// + /// @param q Source orientation + /// @param angle Angle expressed in radians. + /// @param axis Axis of the rotation + /// + /// @tparam T Floating-point scalar types + /// @tparam Q Value from qualifier enum + template + GLM_FUNC_DECL qua rotate(qua const& q, T const& angle, vec<3, T, Q> const& axis); + /// @} +} //namespace glm + +#include "quaternion_transform.inl" diff --git a/MacroLibX/third_party/glm/ext/quaternion_transform.inl b/MacroLibX/third_party/glm/ext/quaternion_transform.inl new file mode 100644 index 0000000..b87ecb6 --- /dev/null +++ b/MacroLibX/third_party/glm/ext/quaternion_transform.inl @@ -0,0 +1,24 @@ +namespace glm +{ + template + GLM_FUNC_QUALIFIER qua rotate(qua const& q, T const& angle, vec<3, T, Q> const& v) + { + vec<3, T, Q> Tmp = v; + + // Axis of rotation must be normalised + T len = glm::length(Tmp); + if(abs(len - static_cast(1)) > static_cast(0.001)) + { + T oneOverLen = static_cast(1) / len; + Tmp.x *= oneOverLen; + Tmp.y *= oneOverLen; + Tmp.z *= oneOverLen; + } + + T const AngleRad(angle); + T const Sin = sin(AngleRad * static_cast(0.5)); + + return q * qua(cos(AngleRad * static_cast(0.5)), Tmp.x * Sin, Tmp.y * Sin, Tmp.z * Sin); + } +}//namespace glm + diff --git a/MacroLibX/third_party/glm/ext/quaternion_trigonometric.hpp b/MacroLibX/third_party/glm/ext/quaternion_trigonometric.hpp new file mode 100644 index 0000000..76cea27 --- /dev/null +++ b/MacroLibX/third_party/glm/ext/quaternion_trigonometric.hpp @@ -0,0 +1,63 @@ +/// @ref ext_quaternion_trigonometric +/// @file glm/ext/quaternion_trigonometric.hpp +/// +/// @defgroup ext_quaternion_trigonometric GLM_EXT_quaternion_trigonometric +/// @ingroup ext +/// +/// Provides trigonometric functions for quaternion types +/// +/// Include to use the features of this extension. +/// +/// @see ext_quaternion_float +/// @see ext_quaternion_double +/// @see ext_quaternion_exponential +/// @see ext_quaternion_geometric +/// @see ext_quaternion_relational +/// @see ext_quaternion_transform + +#pragma once + +// Dependency: +#include "../trigonometric.hpp" +#include "../exponential.hpp" +#include "scalar_constants.hpp" +#include "vector_relational.hpp" +#include + +#if GLM_MESSAGES == GLM_ENABLE && !defined(GLM_EXT_INCLUDED) +# pragma message("GLM: GLM_EXT_quaternion_trigonometric extension included") +#endif + +namespace glm +{ + /// @addtogroup ext_quaternion_trigonometric + /// @{ + + /// Returns the quaternion rotation angle. + /// + /// @tparam T A floating-point scalar type + /// @tparam Q A value from qualifier enum + template + GLM_FUNC_DECL T angle(qua const& x); + + /// Returns the q rotation axis. + /// + /// @tparam T A floating-point scalar type + /// @tparam Q A value from qualifier enum + template + GLM_FUNC_DECL vec<3, T, Q> axis(qua const& x); + + /// Build a quaternion from an angle and a normalized axis. + /// + /// @param angle Angle expressed in radians. + /// @param axis Axis of the quaternion, must be normalized. + /// + /// @tparam T A floating-point scalar type + /// @tparam Q A value from qualifier enum + template + GLM_FUNC_DECL qua angleAxis(T const& angle, vec<3, T, Q> const& axis); + + /// @} +} //namespace glm + +#include "quaternion_trigonometric.inl" diff --git a/MacroLibX/third_party/glm/ext/quaternion_trigonometric.inl b/MacroLibX/third_party/glm/ext/quaternion_trigonometric.inl new file mode 100644 index 0000000..06b7c4c --- /dev/null +++ b/MacroLibX/third_party/glm/ext/quaternion_trigonometric.inl @@ -0,0 +1,34 @@ +#include "scalar_constants.hpp" + +namespace glm +{ + template + GLM_FUNC_QUALIFIER T angle(qua const& x) + { + if (abs(x.w) > cos_one_over_two()) + { + return asin(sqrt(x.x * x.x + x.y * x.y + x.z * x.z)) * static_cast(2); + } + + return acos(x.w) * static_cast(2); + } + + template + GLM_FUNC_QUALIFIER vec<3, T, Q> axis(qua const& x) + { + T const tmp1 = static_cast(1) - x.w * x.w; + if(tmp1 <= static_cast(0)) + return vec<3, T, Q>(0, 0, 1); + T const tmp2 = static_cast(1) / sqrt(tmp1); + return vec<3, T, Q>(x.x * tmp2, x.y * tmp2, x.z * tmp2); + } + + template + GLM_FUNC_QUALIFIER qua angleAxis(T const& angle, vec<3, T, Q> const& v) + { + T const a(angle); + T const s = glm::sin(a * static_cast(0.5)); + + return qua(glm::cos(a * static_cast(0.5)), v * s); + } +}//namespace glm diff --git a/MacroLibX/third_party/glm/ext/scalar_common.hpp b/MacroLibX/third_party/glm/ext/scalar_common.hpp new file mode 100644 index 0000000..4ab0f88 --- /dev/null +++ b/MacroLibX/third_party/glm/ext/scalar_common.hpp @@ -0,0 +1,103 @@ +/// @ref ext_scalar_common +/// @file glm/ext/scalar_common.hpp +/// +/// @defgroup ext_scalar_common GLM_EXT_scalar_common +/// @ingroup ext +/// +/// Exposes min and max functions for 3 to 4 scalar parameters. +/// +/// Include to use the features of this extension. +/// +/// @see core_func_common +/// @see ext_vector_common + +#pragma once + +// Dependency: +#include "../common.hpp" + +#if GLM_MESSAGES == GLM_ENABLE && !defined(GLM_EXT_INCLUDED) +# pragma message("GLM: GLM_EXT_scalar_common extension included") +#endif + +namespace glm +{ + /// @addtogroup ext_scalar_common + /// @{ + + /// Returns the minimum component-wise values of 3 inputs + /// + /// @tparam T A floating-point scalar type. + template + GLM_FUNC_DECL T min(T a, T b, T c); + + /// Returns the minimum component-wise values of 4 inputs + /// + /// @tparam T A floating-point scalar type. + template + GLM_FUNC_DECL T min(T a, T b, T c, T d); + + /// Returns the maximum component-wise values of 3 inputs + /// + /// @tparam T A floating-point scalar type. + template + GLM_FUNC_DECL T max(T a, T b, T c); + + /// Returns the maximum component-wise values of 4 inputs + /// + /// @tparam T A floating-point scalar type. + template + GLM_FUNC_DECL T max(T a, T b, T c, T d); + + /// Returns the minimum component-wise values of 2 inputs. If one of the two arguments is NaN, the value of the other argument is returned. + /// + /// @tparam T A floating-point scalar type. + /// + /// @see std::fmin documentation + template + GLM_FUNC_DECL T fmin(T a, T b); + + /// Returns the minimum component-wise values of 3 inputs. If one of the two arguments is NaN, the value of the other argument is returned. + /// + /// @tparam T A floating-point scalar type. + /// + /// @see std::fmin documentation + template + GLM_FUNC_DECL T fmin(T a, T b, T c); + + /// Returns the minimum component-wise values of 4 inputs. If one of the two arguments is NaN, the value of the other argument is returned. + /// + /// @tparam T A floating-point scalar type. + /// + /// @see std::fmin documentation + template + GLM_FUNC_DECL T fmin(T a, T b, T c, T d); + + /// Returns the maximum component-wise values of 2 inputs. If one of the two arguments is NaN, the value of the other argument is returned. + /// + /// @tparam T A floating-point scalar type. + /// + /// @see std::fmax documentation + template + GLM_FUNC_DECL T fmax(T a, T b); + + /// Returns the maximum component-wise values of 3 inputs. If one of the two arguments is NaN, the value of the other argument is returned. + /// + /// @tparam T A floating-point scalar type. + /// + /// @see std::fmax documentation + template + GLM_FUNC_DECL T fmax(T a, T b, T C); + + /// Returns the maximum component-wise values of 4 inputs. If one of the two arguments is NaN, the value of the other argument is returned. + /// + /// @tparam T A floating-point scalar type. + /// + /// @see std::fmax documentation + template + GLM_FUNC_DECL T fmax(T a, T b, T C, T D); + + /// @} +}//namespace glm + +#include "scalar_common.inl" diff --git a/MacroLibX/third_party/glm/ext/scalar_common.inl b/MacroLibX/third_party/glm/ext/scalar_common.inl new file mode 100644 index 0000000..118a670 --- /dev/null +++ b/MacroLibX/third_party/glm/ext/scalar_common.inl @@ -0,0 +1,115 @@ +namespace glm +{ + template + GLM_FUNC_QUALIFIER T min(T a, T b, T c) + { + return glm::min(glm::min(a, b), c); + } + + template + GLM_FUNC_QUALIFIER T min(T a, T b, T c, T d) + { + return glm::min(glm::min(a, b), glm::min(c, d)); + } + + template + GLM_FUNC_QUALIFIER T max(T a, T b, T c) + { + return glm::max(glm::max(a, b), c); + } + + template + GLM_FUNC_QUALIFIER T max(T a, T b, T c, T d) + { + return glm::max(glm::max(a, b), glm::max(c, d)); + } + +# if GLM_HAS_CXX11_STL + using std::fmin; +# else + template + GLM_FUNC_QUALIFIER T fmin(T a, T b) + { + GLM_STATIC_ASSERT(std::numeric_limits::is_iec559, "'fmin' only accept floating-point input"); + + if (isnan(a)) + return b; + return min(a, b); + } +# endif + + template + GLM_FUNC_QUALIFIER T fmin(T a, T b, T c) + { + GLM_STATIC_ASSERT(std::numeric_limits::is_iec559, "'fmin' only accept floating-point input"); + + if (isnan(a)) + return fmin(b, c); + if (isnan(b)) + return fmin(a, c); + if (isnan(c)) + return min(a, b); + return min(a, b, c); + } + + template + GLM_FUNC_QUALIFIER T fmin(T a, T b, T c, T d) + { + GLM_STATIC_ASSERT(std::numeric_limits::is_iec559, "'fmin' only accept floating-point input"); + + if (isnan(a)) + return fmin(b, c, d); + if (isnan(b)) + return min(a, fmin(c, d)); + if (isnan(c)) + return fmin(min(a, b), d); + if (isnan(d)) + return min(a, b, c); + return min(a, b, c, d); + } + + +# if GLM_HAS_CXX11_STL + using std::fmax; +# else + template + GLM_FUNC_QUALIFIER T fmax(T a, T b) + { + GLM_STATIC_ASSERT(std::numeric_limits::is_iec559, "'fmax' only accept floating-point input"); + + if (isnan(a)) + return b; + return max(a, b); + } +# endif + + template + GLM_FUNC_QUALIFIER T fmax(T a, T b, T c) + { + GLM_STATIC_ASSERT(std::numeric_limits::is_iec559, "'fmax' only accept floating-point input"); + + if (isnan(a)) + return fmax(b, c); + if (isnan(b)) + return fmax(a, c); + if (isnan(c)) + return max(a, b); + return max(a, b, c); + } + + template + GLM_FUNC_QUALIFIER T fmax(T a, T b, T c, T d) + { + GLM_STATIC_ASSERT(std::numeric_limits::is_iec559, "'fmax' only accept floating-point input"); + + if (isnan(a)) + return fmax(b, c, d); + if (isnan(b)) + return max(a, fmax(c, d)); + if (isnan(c)) + return fmax(max(a, b), d); + if (isnan(d)) + return max(a, b, c); + return max(a, b, c, d); + } +}//namespace glm diff --git a/MacroLibX/third_party/glm/ext/scalar_constants.hpp b/MacroLibX/third_party/glm/ext/scalar_constants.hpp new file mode 100644 index 0000000..74e210d --- /dev/null +++ b/MacroLibX/third_party/glm/ext/scalar_constants.hpp @@ -0,0 +1,40 @@ +/// @ref ext_scalar_constants +/// @file glm/ext/scalar_constants.hpp +/// +/// @defgroup ext_scalar_constants GLM_EXT_scalar_constants +/// @ingroup ext +/// +/// Provides a list of constants and precomputed useful values. +/// +/// Include to use the features of this extension. + +#pragma once + +// Dependencies +#include "../detail/setup.hpp" + +#if GLM_MESSAGES == GLM_ENABLE && !defined(GLM_EXT_INCLUDED) +# pragma message("GLM: GLM_EXT_scalar_constants extension included") +#endif + +namespace glm +{ + /// @addtogroup ext_scalar_constants + /// @{ + + /// Return the epsilon constant for floating point types. + template + GLM_FUNC_DECL GLM_CONSTEXPR genType epsilon(); + + /// Return the pi constant for floating point types. + template + GLM_FUNC_DECL GLM_CONSTEXPR genType pi(); + + /// Return the value of cos(1 / 2) for floating point types. + template + GLM_FUNC_DECL GLM_CONSTEXPR genType cos_one_over_two(); + + /// @} +} //namespace glm + +#include "scalar_constants.inl" diff --git a/MacroLibX/third_party/glm/ext/scalar_constants.inl b/MacroLibX/third_party/glm/ext/scalar_constants.inl new file mode 100644 index 0000000..b475adf --- /dev/null +++ b/MacroLibX/third_party/glm/ext/scalar_constants.inl @@ -0,0 +1,24 @@ +#include + +namespace glm +{ + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR genType epsilon() + { + GLM_STATIC_ASSERT(std::numeric_limits::is_iec559, "'epsilon' only accepts floating-point inputs"); + return std::numeric_limits::epsilon(); + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR genType pi() + { + GLM_STATIC_ASSERT(std::numeric_limits::is_iec559, "'pi' only accepts floating-point inputs"); + return static_cast(3.14159265358979323846264338327950288); + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR genType cos_one_over_two() + { + return genType(0.877582561890372716130286068203503191); + } +} //namespace glm diff --git a/MacroLibX/third_party/glm/ext/scalar_int_sized.hpp b/MacroLibX/third_party/glm/ext/scalar_int_sized.hpp new file mode 100644 index 0000000..8e9c511 --- /dev/null +++ b/MacroLibX/third_party/glm/ext/scalar_int_sized.hpp @@ -0,0 +1,70 @@ +/// @ref ext_scalar_int_sized +/// @file glm/ext/scalar_int_sized.hpp +/// +/// @defgroup ext_scalar_int_sized GLM_EXT_scalar_int_sized +/// @ingroup ext +/// +/// Exposes sized signed integer scalar types. +/// +/// Include to use the features of this extension. +/// +/// @see ext_scalar_uint_sized + +#pragma once + +#include "../detail/setup.hpp" + +#if GLM_MESSAGES == GLM_ENABLE && !defined(GLM_EXT_INCLUDED) +# pragma message("GLM: GLM_EXT_scalar_int_sized extension included") +#endif + +namespace glm{ +namespace detail +{ +# if GLM_HAS_EXTENDED_INTEGER_TYPE + typedef std::int8_t int8; + typedef std::int16_t int16; + typedef std::int32_t int32; +# else + typedef signed char int8; + typedef signed short int16; + typedef signed int int32; +#endif// + + template<> + struct is_int + { + enum test {value = ~0}; + }; + + template<> + struct is_int + { + enum test {value = ~0}; + }; + + template<> + struct is_int + { + enum test {value = ~0}; + }; +}//namespace detail + + + /// @addtogroup ext_scalar_int_sized + /// @{ + + /// 8 bit signed integer type. + typedef detail::int8 int8; + + /// 16 bit signed integer type. + typedef detail::int16 int16; + + /// 32 bit signed integer type. + typedef detail::int32 int32; + + /// 64 bit signed integer type. + typedef detail::int64 int64; + + /// @} +}//namespace glm diff --git a/MacroLibX/third_party/glm/ext/scalar_integer.hpp b/MacroLibX/third_party/glm/ext/scalar_integer.hpp new file mode 100644 index 0000000..a2ca8a2 --- /dev/null +++ b/MacroLibX/third_party/glm/ext/scalar_integer.hpp @@ -0,0 +1,92 @@ +/// @ref ext_scalar_integer +/// @file glm/ext/scalar_integer.hpp +/// +/// @see core (dependence) +/// +/// @defgroup ext_scalar_integer GLM_EXT_scalar_integer +/// @ingroup ext +/// +/// Include to use the features of this extension. + +#pragma once + +// Dependencies +#include "../detail/setup.hpp" +#include "../detail/qualifier.hpp" +#include "../detail/_vectorize.hpp" +#include "../detail/type_float.hpp" +#include "../vector_relational.hpp" +#include "../common.hpp" +#include + +#if GLM_MESSAGES == GLM_ENABLE && !defined(GLM_EXT_INCLUDED) +# pragma message("GLM: GLM_EXT_scalar_integer extension included") +#endif + +namespace glm +{ + /// @addtogroup ext_scalar_integer + /// @{ + + /// Return true if the value is a power of two number. + /// + /// @see ext_scalar_integer + template + GLM_FUNC_DECL bool isPowerOfTwo(genIUType v); + + /// Return the power of two number which value is just higher the input value, + /// round up to a power of two. + /// + /// @see ext_scalar_integer + template + GLM_FUNC_DECL genIUType nextPowerOfTwo(genIUType v); + + /// Return the power of two number which value is just lower the input value, + /// round down to a power of two. + /// + /// @see ext_scalar_integer + template + GLM_FUNC_DECL genIUType prevPowerOfTwo(genIUType v); + + /// Return true if the 'Value' is a multiple of 'Multiple'. + /// + /// @see ext_scalar_integer + template + GLM_FUNC_DECL bool isMultiple(genIUType v, genIUType Multiple); + + /// Higher multiple number of Source. + /// + /// @tparam genIUType Integer scalar or vector types. + /// + /// @param v Source value to which is applied the function + /// @param Multiple Must be a null or positive value + /// + /// @see ext_scalar_integer + template + GLM_FUNC_DECL genIUType nextMultiple(genIUType v, genIUType Multiple); + + /// Lower multiple number of Source. + /// + /// @tparam genIUType Integer scalar or vector types. + /// + /// @param v Source value to which is applied the function + /// @param Multiple Must be a null or positive value + /// + /// @see ext_scalar_integer + template + GLM_FUNC_DECL genIUType prevMultiple(genIUType v, genIUType Multiple); + + /// Returns the bit number of the Nth significant bit set to + /// 1 in the binary representation of value. + /// If value bitcount is less than the Nth significant bit, -1 will be returned. + /// + /// @tparam genIUType Signed or unsigned integer scalar types. + /// + /// @see ext_scalar_integer + template + GLM_FUNC_DECL int findNSB(genIUType x, int significantBitCount); + + /// @} +} //namespace glm + +#include "scalar_integer.inl" diff --git a/MacroLibX/third_party/glm/ext/scalar_integer.inl b/MacroLibX/third_party/glm/ext/scalar_integer.inl new file mode 100644 index 0000000..efba960 --- /dev/null +++ b/MacroLibX/third_party/glm/ext/scalar_integer.inl @@ -0,0 +1,243 @@ +#include "../integer.hpp" + +namespace glm{ +namespace detail +{ + template + struct compute_ceilShift + { + GLM_FUNC_QUALIFIER static vec call(vec const& v, T) + { + return v; + } + }; + + template + struct compute_ceilShift + { + GLM_FUNC_QUALIFIER static vec call(vec const& v, T Shift) + { + return v | (v >> Shift); + } + }; + + template + struct compute_ceilPowerOfTwo + { + GLM_FUNC_QUALIFIER static vec call(vec const& x) + { + GLM_STATIC_ASSERT(!std::numeric_limits::is_iec559, "'ceilPowerOfTwo' only accept integer scalar or vector inputs"); + + vec const Sign(sign(x)); + + vec v(abs(x)); + + v = v - static_cast(1); + v = v | (v >> static_cast(1)); + v = v | (v >> static_cast(2)); + v = v | (v >> static_cast(4)); + v = compute_ceilShift= 2>::call(v, 8); + v = compute_ceilShift= 4>::call(v, 16); + v = compute_ceilShift= 8>::call(v, 32); + return (v + static_cast(1)) * Sign; + } + }; + + template + struct compute_ceilPowerOfTwo + { + GLM_FUNC_QUALIFIER static vec call(vec const& x) + { + GLM_STATIC_ASSERT(!std::numeric_limits::is_iec559, "'ceilPowerOfTwo' only accept integer scalar or vector inputs"); + + vec v(x); + + v = v - static_cast(1); + v = v | (v >> static_cast(1)); + v = v | (v >> static_cast(2)); + v = v | (v >> static_cast(4)); + v = compute_ceilShift= 2>::call(v, 8); + v = compute_ceilShift= 4>::call(v, 16); + v = compute_ceilShift= 8>::call(v, 32); + return v + static_cast(1); + } + }; + + template + struct compute_ceilMultiple{}; + + template<> + struct compute_ceilMultiple + { + template + GLM_FUNC_QUALIFIER static genType call(genType Source, genType Multiple) + { + if(Source > genType(0)) + return Source + (Multiple - std::fmod(Source, Multiple)); + else + return Source + std::fmod(-Source, Multiple); + } + }; + + template<> + struct compute_ceilMultiple + { + template + GLM_FUNC_QUALIFIER static genType call(genType Source, genType Multiple) + { + genType Tmp = Source - genType(1); + return Tmp + (Multiple - (Tmp % Multiple)); + } + }; + + template<> + struct compute_ceilMultiple + { + template + GLM_FUNC_QUALIFIER static genType call(genType Source, genType Multiple) + { + assert(Multiple > genType(0)); + if(Source > genType(0)) + { + genType Tmp = Source - genType(1); + return Tmp + (Multiple - (Tmp % Multiple)); + } + else + return Source + (-Source % Multiple); + } + }; + + template + struct compute_floorMultiple{}; + + template<> + struct compute_floorMultiple + { + template + GLM_FUNC_QUALIFIER static genType call(genType Source, genType Multiple) + { + if(Source >= genType(0)) + return Source - std::fmod(Source, Multiple); + else + return Source - std::fmod(Source, Multiple) - Multiple; + } + }; + + template<> + struct compute_floorMultiple + { + template + GLM_FUNC_QUALIFIER static genType call(genType Source, genType Multiple) + { + if(Source >= genType(0)) + return Source - Source % Multiple; + else + { + genType Tmp = Source + genType(1); + return Tmp - Tmp % Multiple - Multiple; + } + } + }; + + template<> + struct compute_floorMultiple + { + template + GLM_FUNC_QUALIFIER static genType call(genType Source, genType Multiple) + { + if(Source >= genType(0)) + return Source - Source % Multiple; + else + { + genType Tmp = Source + genType(1); + return Tmp - Tmp % Multiple - Multiple; + } + } + }; +}//namespace detail + + template + GLM_FUNC_QUALIFIER bool isPowerOfTwo(genIUType Value) + { + GLM_STATIC_ASSERT(std::numeric_limits::is_integer, "'isPowerOfTwo' only accept integer inputs"); + + genIUType const Result = glm::abs(Value); + return !(Result & (Result - 1)); + } + + template + GLM_FUNC_QUALIFIER genIUType nextPowerOfTwo(genIUType value) + { + GLM_STATIC_ASSERT(std::numeric_limits::is_integer, "'nextPowerOfTwo' only accept integer inputs"); + + return detail::compute_ceilPowerOfTwo<1, genIUType, defaultp, std::numeric_limits::is_signed>::call(vec<1, genIUType, defaultp>(value)).x; + } + + template + GLM_FUNC_QUALIFIER genIUType prevPowerOfTwo(genIUType value) + { + GLM_STATIC_ASSERT(std::numeric_limits::is_integer, "'prevPowerOfTwo' only accept integer inputs"); + + return isPowerOfTwo(value) ? value : static_cast(static_cast(1) << static_cast(findMSB(value))); + } + + template + GLM_FUNC_QUALIFIER bool isMultiple(genIUType Value, genIUType Multiple) + { + GLM_STATIC_ASSERT(std::numeric_limits::is_integer, "'isMultiple' only accept integer inputs"); + + return isMultiple(vec<1, genIUType>(Value), vec<1, genIUType>(Multiple)).x; + } + + template + GLM_FUNC_QUALIFIER genIUType nextMultiple(genIUType Source, genIUType Multiple) + { + GLM_STATIC_ASSERT(std::numeric_limits::is_integer, "'nextMultiple' only accept integer inputs"); + + return detail::compute_ceilMultiple::is_iec559, std::numeric_limits::is_signed>::call(Source, Multiple); + } + + template + GLM_FUNC_QUALIFIER genIUType prevMultiple(genIUType Source, genIUType Multiple) + { + GLM_STATIC_ASSERT(std::numeric_limits::is_integer, "'prevMultiple' only accept integer inputs"); + + return detail::compute_floorMultiple::is_iec559, std::numeric_limits::is_signed>::call(Source, Multiple); + } + + template + GLM_FUNC_QUALIFIER int findNSB(genIUType x, int significantBitCount) + { + GLM_STATIC_ASSERT(std::numeric_limits::is_integer, "'findNSB' only accept integer inputs"); + + if(bitCount(x) < significantBitCount) + return -1; + + genIUType const One = static_cast(1); + int bitPos = 0; + + genIUType key = x; + int nBitCount = significantBitCount; + int Step = sizeof(x) * 8 / 2; + while (key > One) + { + genIUType Mask = static_cast((One << Step) - One); + genIUType currentKey = key & Mask; + int currentBitCount = bitCount(currentKey); + if (nBitCount > currentBitCount) + { + nBitCount -= currentBitCount; + bitPos += Step; + key >>= static_cast(Step); + } + else + { + key = key & Mask; + } + + Step >>= 1; + } + + return static_cast(bitPos); + } +}//namespace glm diff --git a/MacroLibX/third_party/glm/ext/scalar_relational.hpp b/MacroLibX/third_party/glm/ext/scalar_relational.hpp new file mode 100644 index 0000000..3076a5e --- /dev/null +++ b/MacroLibX/third_party/glm/ext/scalar_relational.hpp @@ -0,0 +1,65 @@ +/// @ref ext_scalar_relational +/// @file glm/ext/scalar_relational.hpp +/// +/// @defgroup ext_scalar_relational GLM_EXT_scalar_relational +/// @ingroup ext +/// +/// Exposes comparison functions for scalar types that take a user defined epsilon values. +/// +/// Include to use the features of this extension. +/// +/// @see core_vector_relational +/// @see ext_vector_relational +/// @see ext_matrix_relational + +#pragma once + +// Dependencies +#include "../detail/qualifier.hpp" + +#if GLM_MESSAGES == GLM_ENABLE && !defined(GLM_EXT_INCLUDED) +# pragma message("GLM: GLM_EXT_scalar_relational extension included") +#endif + +namespace glm +{ + /// Returns the component-wise comparison of |x - y| < epsilon. + /// True if this expression is satisfied. + /// + /// @tparam genType Floating-point or integer scalar types + template + GLM_FUNC_DECL GLM_CONSTEXPR bool equal(genType const& x, genType const& y, genType const& epsilon); + + /// Returns the component-wise comparison of |x - y| >= epsilon. + /// True if this expression is not satisfied. + /// + /// @tparam genType Floating-point or integer scalar types + template + GLM_FUNC_DECL GLM_CONSTEXPR bool notEqual(genType const& x, genType const& y, genType const& epsilon); + + /// Returns the component-wise comparison between two scalars in term of ULPs. + /// True if this expression is satisfied. + /// + /// @param x First operand. + /// @param y Second operand. + /// @param ULPs Maximum difference in ULPs between the two operators to consider them equal. + /// + /// @tparam genType Floating-point or integer scalar types + template + GLM_FUNC_DECL GLM_CONSTEXPR bool equal(genType const& x, genType const& y, int ULPs); + + /// Returns the component-wise comparison between two scalars in term of ULPs. + /// True if this expression is not satisfied. + /// + /// @param x First operand. + /// @param y Second operand. + /// @param ULPs Maximum difference in ULPs between the two operators to consider them not equal. + /// + /// @tparam genType Floating-point or integer scalar types + template + GLM_FUNC_DECL GLM_CONSTEXPR bool notEqual(genType const& x, genType const& y, int ULPs); + + /// @} +}//namespace glm + +#include "scalar_relational.inl" diff --git a/MacroLibX/third_party/glm/ext/scalar_relational.inl b/MacroLibX/third_party/glm/ext/scalar_relational.inl new file mode 100644 index 0000000..c85583e --- /dev/null +++ b/MacroLibX/third_party/glm/ext/scalar_relational.inl @@ -0,0 +1,40 @@ +#include "../common.hpp" +#include "../ext/scalar_int_sized.hpp" +#include "../ext/scalar_uint_sized.hpp" +#include "../detail/type_float.hpp" + +namespace glm +{ + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR bool equal(genType const& x, genType const& y, genType const& epsilon) + { + return abs(x - y) <= epsilon; + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR bool notEqual(genType const& x, genType const& y, genType const& epsilon) + { + return abs(x - y) > epsilon; + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR bool equal(genType const& x, genType const& y, int MaxULPs) + { + detail::float_t const a(x); + detail::float_t const b(y); + + // Different signs means they do not match. + if(a.negative() != b.negative()) + return false; + + // Find the difference in ULPs. + typename detail::float_t::int_type const DiffULPs = abs(a.i - b.i); + return DiffULPs <= MaxULPs; + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR bool notEqual(genType const& x, genType const& y, int ULPs) + { + return !equal(x, y, ULPs); + } +}//namespace glm diff --git a/MacroLibX/third_party/glm/ext/scalar_uint_sized.hpp b/MacroLibX/third_party/glm/ext/scalar_uint_sized.hpp new file mode 100644 index 0000000..fd5267f --- /dev/null +++ b/MacroLibX/third_party/glm/ext/scalar_uint_sized.hpp @@ -0,0 +1,70 @@ +/// @ref ext_scalar_uint_sized +/// @file glm/ext/scalar_uint_sized.hpp +/// +/// @defgroup ext_scalar_uint_sized GLM_EXT_scalar_uint_sized +/// @ingroup ext +/// +/// Exposes sized unsigned integer scalar types. +/// +/// Include to use the features of this extension. +/// +/// @see ext_scalar_int_sized + +#pragma once + +#include "../detail/setup.hpp" + +#if GLM_MESSAGES == GLM_ENABLE && !defined(GLM_EXT_INCLUDED) +# pragma message("GLM: GLM_EXT_scalar_uint_sized extension included") +#endif + +namespace glm{ +namespace detail +{ +# if GLM_HAS_EXTENDED_INTEGER_TYPE + typedef std::uint8_t uint8; + typedef std::uint16_t uint16; + typedef std::uint32_t uint32; +# else + typedef unsigned char uint8; + typedef unsigned short uint16; + typedef unsigned int uint32; +#endif + + template<> + struct is_int + { + enum test {value = ~0}; + }; + + template<> + struct is_int + { + enum test {value = ~0}; + }; + + template<> + struct is_int + { + enum test {value = ~0}; + }; +}//namespace detail + + + /// @addtogroup ext_scalar_uint_sized + /// @{ + + /// 8 bit unsigned integer type. + typedef detail::uint8 uint8; + + /// 16 bit unsigned integer type. + typedef detail::uint16 uint16; + + /// 32 bit unsigned integer type. + typedef detail::uint32 uint32; + + /// 64 bit unsigned integer type. + typedef detail::uint64 uint64; + + /// @} +}//namespace glm diff --git a/MacroLibX/third_party/glm/ext/scalar_ulp.hpp b/MacroLibX/third_party/glm/ext/scalar_ulp.hpp new file mode 100644 index 0000000..941ada3 --- /dev/null +++ b/MacroLibX/third_party/glm/ext/scalar_ulp.hpp @@ -0,0 +1,74 @@ +/// @ref ext_scalar_ulp +/// @file glm/ext/scalar_ulp.hpp +/// +/// @defgroup ext_scalar_ulp GLM_EXT_scalar_ulp +/// @ingroup ext +/// +/// Allow the measurement of the accuracy of a function against a reference +/// implementation. This extension works on floating-point data and provide results +/// in ULP. +/// +/// Include to use the features of this extension. +/// +/// @see ext_vector_ulp +/// @see ext_scalar_relational + +#pragma once + +// Dependencies +#include "../ext/scalar_int_sized.hpp" +#include "../common.hpp" +#include "../detail/qualifier.hpp" + +#if GLM_MESSAGES == GLM_ENABLE && !defined(GLM_EXT_INCLUDED) +# pragma message("GLM: GLM_EXT_scalar_ulp extension included") +#endif + +namespace glm +{ + /// Return the next ULP value(s) after the input value(s). + /// + /// @tparam genType A floating-point scalar type. + /// + /// @see ext_scalar_ulp + template + GLM_FUNC_DECL genType nextFloat(genType x); + + /// Return the previous ULP value(s) before the input value(s). + /// + /// @tparam genType A floating-point scalar type. + /// + /// @see ext_scalar_ulp + template + GLM_FUNC_DECL genType prevFloat(genType x); + + /// Return the value(s) ULP distance after the input value(s). + /// + /// @tparam genType A floating-point scalar type. + /// + /// @see ext_scalar_ulp + template + GLM_FUNC_DECL genType nextFloat(genType x, int ULPs); + + /// Return the value(s) ULP distance before the input value(s). + /// + /// @tparam genType A floating-point scalar type. + /// + /// @see ext_scalar_ulp + template + GLM_FUNC_DECL genType prevFloat(genType x, int ULPs); + + /// Return the distance in the number of ULP between 2 single-precision floating-point scalars. + /// + /// @see ext_scalar_ulp + GLM_FUNC_DECL int floatDistance(float x, float y); + + /// Return the distance in the number of ULP between 2 double-precision floating-point scalars. + /// + /// @see ext_scalar_ulp + GLM_FUNC_DECL int64 floatDistance(double x, double y); + + /// @} +}//namespace glm + +#include "scalar_ulp.inl" diff --git a/MacroLibX/third_party/glm/ext/scalar_ulp.inl b/MacroLibX/third_party/glm/ext/scalar_ulp.inl new file mode 100644 index 0000000..308df15 --- /dev/null +++ b/MacroLibX/third_party/glm/ext/scalar_ulp.inl @@ -0,0 +1,284 @@ +/// Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved. +/// +/// Developed at SunPro, a Sun Microsystems, Inc. business. +/// Permission to use, copy, modify, and distribute this +/// software is freely granted, provided that this notice +/// is preserved. + +#include "../detail/type_float.hpp" +#include "../ext/scalar_constants.hpp" +#include +#include + +#if(GLM_COMPILER & GLM_COMPILER_VC) +# pragma warning(push) +# pragma warning(disable : 4127) +#endif + +typedef union +{ + float value; + /* FIXME: Assumes 32 bit int. */ + unsigned int word; +} ieee_float_shape_type; + +typedef union +{ + double value; + struct + { + int lsw; + int msw; + } parts; +} ieee_double_shape_type; + +#define GLM_EXTRACT_WORDS(ix0,ix1,d) \ + do { \ + ieee_double_shape_type ew_u; \ + ew_u.value = (d); \ + (ix0) = ew_u.parts.msw; \ + (ix1) = ew_u.parts.lsw; \ + } while (0) + +#define GLM_GET_FLOAT_WORD(i,d) \ + do { \ + ieee_float_shape_type gf_u; \ + gf_u.value = (d); \ + (i) = gf_u.word; \ + } while (0) + +#define GLM_SET_FLOAT_WORD(d,i) \ + do { \ + ieee_float_shape_type sf_u; \ + sf_u.word = (i); \ + (d) = sf_u.value; \ + } while (0) + +#define GLM_INSERT_WORDS(d,ix0,ix1) \ + do { \ + ieee_double_shape_type iw_u; \ + iw_u.parts.msw = (ix0); \ + iw_u.parts.lsw = (ix1); \ + (d) = iw_u.value; \ + } while (0) + +namespace glm{ +namespace detail +{ + GLM_FUNC_QUALIFIER float nextafterf(float x, float y) + { + volatile float t; + int hx, hy, ix, iy; + + GLM_GET_FLOAT_WORD(hx, x); + GLM_GET_FLOAT_WORD(hy, y); + ix = hx & 0x7fffffff; // |x| + iy = hy & 0x7fffffff; // |y| + + if((ix > 0x7f800000) || // x is nan + (iy > 0x7f800000)) // y is nan + return x + y; + if(abs(y - x) <= epsilon()) + return y; // x=y, return y + if(ix == 0) + { // x == 0 + GLM_SET_FLOAT_WORD(x, (hy & 0x80000000) | 1);// return +-minsubnormal + t = x * x; + if(abs(t - x) <= epsilon()) + return t; + else + return x; // raise underflow flag + } + if(hx >= 0) + { // x > 0 + if(hx > hy) // x > y, x -= ulp + hx -= 1; + else // x < y, x += ulp + hx += 1; + } + else + { // x < 0 + if(hy >= 0 || hx > hy) // x < y, x -= ulp + hx -= 1; + else // x > y, x += ulp + hx += 1; + } + hy = hx & 0x7f800000; + if(hy >= 0x7f800000) + return x + x; // overflow + if(hy < 0x00800000) // underflow + { + t = x * x; + if(abs(t - x) > epsilon()) + { // raise underflow flag + GLM_SET_FLOAT_WORD(y, hx); + return y; + } + } + GLM_SET_FLOAT_WORD(x, hx); + return x; + } + + GLM_FUNC_QUALIFIER double nextafter(double x, double y) + { + volatile double t; + int hx, hy, ix, iy; + unsigned int lx, ly; + + GLM_EXTRACT_WORDS(hx, lx, x); + GLM_EXTRACT_WORDS(hy, ly, y); + ix = hx & 0x7fffffff; // |x| + iy = hy & 0x7fffffff; // |y| + + if(((ix >= 0x7ff00000) && ((ix - 0x7ff00000) | lx) != 0) || // x is nan + ((iy >= 0x7ff00000) && ((iy - 0x7ff00000) | ly) != 0)) // y is nan + return x + y; + if(abs(y - x) <= epsilon()) + return y; // x=y, return y + if((ix | lx) == 0) + { // x == 0 + GLM_INSERT_WORDS(x, hy & 0x80000000, 1); // return +-minsubnormal + t = x * x; + if(abs(t - x) <= epsilon()) + return t; + else + return x; // raise underflow flag + } + if(hx >= 0) { // x > 0 + if(hx > hy || ((hx == hy) && (lx > ly))) { // x > y, x -= ulp + if(lx == 0) hx -= 1; + lx -= 1; + } + else { // x < y, x += ulp + lx += 1; + if(lx == 0) hx += 1; + } + } + else { // x < 0 + if(hy >= 0 || hx > hy || ((hx == hy) && (lx > ly))){// x < y, x -= ulp + if(lx == 0) hx -= 1; + lx -= 1; + } + else { // x > y, x += ulp + lx += 1; + if(lx == 0) hx += 1; + } + } + hy = hx & 0x7ff00000; + if(hy >= 0x7ff00000) + return x + x; // overflow + if(hy < 0x00100000) + { // underflow + t = x * x; + if(abs(t - x) > epsilon()) + { // raise underflow flag + GLM_INSERT_WORDS(y, hx, lx); + return y; + } + } + GLM_INSERT_WORDS(x, hx, lx); + return x; + } +}//namespace detail +}//namespace glm + +#if(GLM_COMPILER & GLM_COMPILER_VC) +# pragma warning(pop) +#endif + +namespace glm +{ + template<> + GLM_FUNC_QUALIFIER float nextFloat(float x) + { +# if GLM_HAS_CXX11_STL + return std::nextafter(x, std::numeric_limits::max()); +# elif((GLM_COMPILER & GLM_COMPILER_VC) || ((GLM_COMPILER & GLM_COMPILER_INTEL) && (GLM_PLATFORM & GLM_PLATFORM_WINDOWS))) + return detail::nextafterf(x, FLT_MAX); +# elif(GLM_PLATFORM & GLM_PLATFORM_ANDROID) + return __builtin_nextafterf(x, FLT_MAX); +# else + return nextafterf(x, FLT_MAX); +# endif + } + + template<> + GLM_FUNC_QUALIFIER double nextFloat(double x) + { +# if GLM_HAS_CXX11_STL + return std::nextafter(x, std::numeric_limits::max()); +# elif((GLM_COMPILER & GLM_COMPILER_VC) || ((GLM_COMPILER & GLM_COMPILER_INTEL) && (GLM_PLATFORM & GLM_PLATFORM_WINDOWS))) + return detail::nextafter(x, std::numeric_limits::max()); +# elif(GLM_PLATFORM & GLM_PLATFORM_ANDROID) + return __builtin_nextafter(x, DBL_MAX); +# else + return nextafter(x, DBL_MAX); +# endif + } + + template + GLM_FUNC_QUALIFIER T nextFloat(T x, int ULPs) + { + GLM_STATIC_ASSERT(std::numeric_limits::is_iec559, "'next_float' only accept floating-point input"); + assert(ULPs >= 0); + + T temp = x; + for(int i = 0; i < ULPs; ++i) + temp = nextFloat(temp); + return temp; + } + + GLM_FUNC_QUALIFIER float prevFloat(float x) + { +# if GLM_HAS_CXX11_STL + return std::nextafter(x, std::numeric_limits::min()); +# elif((GLM_COMPILER & GLM_COMPILER_VC) || ((GLM_COMPILER & GLM_COMPILER_INTEL) && (GLM_PLATFORM & GLM_PLATFORM_WINDOWS))) + return detail::nextafterf(x, FLT_MIN); +# elif(GLM_PLATFORM & GLM_PLATFORM_ANDROID) + return __builtin_nextafterf(x, FLT_MIN); +# else + return nextafterf(x, FLT_MIN); +# endif + } + + GLM_FUNC_QUALIFIER double prevFloat(double x) + { +# if GLM_HAS_CXX11_STL + return std::nextafter(x, std::numeric_limits::min()); +# elif((GLM_COMPILER & GLM_COMPILER_VC) || ((GLM_COMPILER & GLM_COMPILER_INTEL) && (GLM_PLATFORM & GLM_PLATFORM_WINDOWS))) + return _nextafter(x, DBL_MIN); +# elif(GLM_PLATFORM & GLM_PLATFORM_ANDROID) + return __builtin_nextafter(x, DBL_MIN); +# else + return nextafter(x, DBL_MIN); +# endif + } + + template + GLM_FUNC_QUALIFIER T prevFloat(T x, int ULPs) + { + GLM_STATIC_ASSERT(std::numeric_limits::is_iec559, "'prev_float' only accept floating-point input"); + assert(ULPs >= 0); + + T temp = x; + for(int i = 0; i < ULPs; ++i) + temp = prevFloat(temp); + return temp; + } + + GLM_FUNC_QUALIFIER int floatDistance(float x, float y) + { + detail::float_t const a(x); + detail::float_t const b(y); + + return abs(a.i - b.i); + } + + GLM_FUNC_QUALIFIER int64 floatDistance(double x, double y) + { + detail::float_t const a(x); + detail::float_t const b(y); + + return abs(a.i - b.i); + } +}//namespace glm diff --git a/MacroLibX/third_party/glm/ext/vector_bool1.hpp b/MacroLibX/third_party/glm/ext/vector_bool1.hpp new file mode 100644 index 0000000..002c320 --- /dev/null +++ b/MacroLibX/third_party/glm/ext/vector_bool1.hpp @@ -0,0 +1,30 @@ +/// @ref ext_vector_bool1 +/// @file glm/ext/vector_bool1.hpp +/// +/// @defgroup ext_vector_bool1 GLM_EXT_vector_bool1 +/// @ingroup ext +/// +/// Exposes bvec1 vector type. +/// +/// Include to use the features of this extension. +/// +/// @see ext_vector_bool1_precision extension. + +#pragma once + +#include "../detail/type_vec1.hpp" + +#if GLM_MESSAGES == GLM_ENABLE && !defined(GLM_EXT_INCLUDED) +# pragma message("GLM: GLM_EXT_vector_bool1 extension included") +#endif + +namespace glm +{ + /// @addtogroup ext_vector_bool1 + /// @{ + + /// 1 components vector of boolean. + typedef vec<1, bool, defaultp> bvec1; + + /// @} +}//namespace glm diff --git a/MacroLibX/third_party/glm/ext/vector_bool1_precision.hpp b/MacroLibX/third_party/glm/ext/vector_bool1_precision.hpp new file mode 100644 index 0000000..e62d3cf --- /dev/null +++ b/MacroLibX/third_party/glm/ext/vector_bool1_precision.hpp @@ -0,0 +1,34 @@ +/// @ref ext_vector_bool1_precision +/// @file glm/ext/vector_bool1_precision.hpp +/// +/// @defgroup ext_vector_bool1_precision GLM_EXT_vector_bool1_precision +/// @ingroup ext +/// +/// Exposes highp_bvec1, mediump_bvec1 and lowp_bvec1 types. +/// +/// Include to use the features of this extension. + +#pragma once + +#include "../detail/type_vec1.hpp" + +#if GLM_MESSAGES == GLM_ENABLE && !defined(GLM_EXT_INCLUDED) +# pragma message("GLM: GLM_EXT_vector_bool1_precision extension included") +#endif + +namespace glm +{ + /// @addtogroup ext_vector_bool1_precision + /// @{ + + /// 1 component vector of bool values. + typedef vec<1, bool, highp> highp_bvec1; + + /// 1 component vector of bool values. + typedef vec<1, bool, mediump> mediump_bvec1; + + /// 1 component vector of bool values. + typedef vec<1, bool, lowp> lowp_bvec1; + + /// @} +}//namespace glm diff --git a/MacroLibX/third_party/glm/ext/vector_bool2.hpp b/MacroLibX/third_party/glm/ext/vector_bool2.hpp new file mode 100644 index 0000000..52288b7 --- /dev/null +++ b/MacroLibX/third_party/glm/ext/vector_bool2.hpp @@ -0,0 +1,18 @@ +/// @ref core +/// @file glm/ext/vector_bool2.hpp + +#pragma once +#include "../detail/type_vec2.hpp" + +namespace glm +{ + /// @addtogroup core_vector + /// @{ + + /// 2 components vector of boolean. + /// + /// @see GLSL 4.20.8 specification, section 4.1.5 Vectors + typedef vec<2, bool, defaultp> bvec2; + + /// @} +}//namespace glm diff --git a/MacroLibX/third_party/glm/ext/vector_bool2_precision.hpp b/MacroLibX/third_party/glm/ext/vector_bool2_precision.hpp new file mode 100644 index 0000000..4370933 --- /dev/null +++ b/MacroLibX/third_party/glm/ext/vector_bool2_precision.hpp @@ -0,0 +1,31 @@ +/// @ref core +/// @file glm/ext/vector_bool2_precision.hpp + +#pragma once +#include "../detail/type_vec2.hpp" + +namespace glm +{ + /// @addtogroup core_vector_precision + /// @{ + + /// 2 components vector of high qualifier bool numbers. + /// + /// @see GLSL 4.20.8 specification, section 4.1.5 Vectors + /// @see GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier + typedef vec<2, bool, highp> highp_bvec2; + + /// 2 components vector of medium qualifier bool numbers. + /// + /// @see GLSL 4.20.8 specification, section 4.1.5 Vectors + /// @see GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier + typedef vec<2, bool, mediump> mediump_bvec2; + + /// 2 components vector of low qualifier bool numbers. + /// + /// @see GLSL 4.20.8 specification, section 4.1.5 Vectors + /// @see GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier + typedef vec<2, bool, lowp> lowp_bvec2; + + /// @} +}//namespace glm diff --git a/MacroLibX/third_party/glm/ext/vector_bool3.hpp b/MacroLibX/third_party/glm/ext/vector_bool3.hpp new file mode 100644 index 0000000..90a0b7e --- /dev/null +++ b/MacroLibX/third_party/glm/ext/vector_bool3.hpp @@ -0,0 +1,18 @@ +/// @ref core +/// @file glm/ext/vector_bool3.hpp + +#pragma once +#include "../detail/type_vec3.hpp" + +namespace glm +{ + /// @addtogroup core_vector + /// @{ + + /// 3 components vector of boolean. + /// + /// @see GLSL 4.20.8 specification, section 4.1.5 Vectors + typedef vec<3, bool, defaultp> bvec3; + + /// @} +}//namespace glm diff --git a/MacroLibX/third_party/glm/ext/vector_bool3_precision.hpp b/MacroLibX/third_party/glm/ext/vector_bool3_precision.hpp new file mode 100644 index 0000000..89cd2d3 --- /dev/null +++ b/MacroLibX/third_party/glm/ext/vector_bool3_precision.hpp @@ -0,0 +1,31 @@ +/// @ref core +/// @file glm/ext/vector_bool3_precision.hpp + +#pragma once +#include "../detail/type_vec3.hpp" + +namespace glm +{ + /// @addtogroup core_vector_precision + /// @{ + + /// 3 components vector of high qualifier bool numbers. + /// + /// @see GLSL 4.20.8 specification, section 4.1.5 Vectors + /// @see GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier + typedef vec<3, bool, highp> highp_bvec3; + + /// 3 components vector of medium qualifier bool numbers. + /// + /// @see GLSL 4.20.8 specification, section 4.1.5 Vectors + /// @see GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier + typedef vec<3, bool, mediump> mediump_bvec3; + + /// 3 components vector of low qualifier bool numbers. + /// + /// @see GLSL 4.20.8 specification, section 4.1.5 Vectors + /// @see GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier + typedef vec<3, bool, lowp> lowp_bvec3; + + /// @} +}//namespace glm diff --git a/MacroLibX/third_party/glm/ext/vector_bool4.hpp b/MacroLibX/third_party/glm/ext/vector_bool4.hpp new file mode 100644 index 0000000..18aa71b --- /dev/null +++ b/MacroLibX/third_party/glm/ext/vector_bool4.hpp @@ -0,0 +1,18 @@ +/// @ref core +/// @file glm/ext/vector_bool4.hpp + +#pragma once +#include "../detail/type_vec4.hpp" + +namespace glm +{ + /// @addtogroup core_vector + /// @{ + + /// 4 components vector of boolean. + /// + /// @see GLSL 4.20.8 specification, section 4.1.5 Vectors + typedef vec<4, bool, defaultp> bvec4; + + /// @} +}//namespace glm diff --git a/MacroLibX/third_party/glm/ext/vector_bool4_precision.hpp b/MacroLibX/third_party/glm/ext/vector_bool4_precision.hpp new file mode 100644 index 0000000..79786e5 --- /dev/null +++ b/MacroLibX/third_party/glm/ext/vector_bool4_precision.hpp @@ -0,0 +1,31 @@ +/// @ref core +/// @file glm/ext/vector_bool4_precision.hpp + +#pragma once +#include "../detail/type_vec4.hpp" + +namespace glm +{ + /// @addtogroup core_vector_precision + /// @{ + + /// 4 components vector of high qualifier bool numbers. + /// + /// @see GLSL 4.20.8 specification, section 4.1.5 Vectors + /// @see GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier + typedef vec<4, bool, highp> highp_bvec4; + + /// 4 components vector of medium qualifier bool numbers. + /// + /// @see GLSL 4.20.8 specification, section 4.1.5 Vectors + /// @see GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier + typedef vec<4, bool, mediump> mediump_bvec4; + + /// 4 components vector of low qualifier bool numbers. + /// + /// @see GLSL 4.20.8 specification, section 4.1.5 Vectors + /// @see GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier + typedef vec<4, bool, lowp> lowp_bvec4; + + /// @} +}//namespace glm diff --git a/MacroLibX/third_party/glm/ext/vector_common.hpp b/MacroLibX/third_party/glm/ext/vector_common.hpp new file mode 100644 index 0000000..324fe1c --- /dev/null +++ b/MacroLibX/third_party/glm/ext/vector_common.hpp @@ -0,0 +1,144 @@ +/// @ref ext_vector_common +/// @file glm/ext/vector_common.hpp +/// +/// @defgroup ext_vector_common GLM_EXT_vector_common +/// @ingroup ext +/// +/// Exposes min and max functions for 3 to 4 vector parameters. +/// +/// Include to use the features of this extension. +/// +/// @see core_common +/// @see ext_scalar_common + +#pragma once + +// Dependency: +#include "../ext/scalar_common.hpp" +#include "../common.hpp" + +#if GLM_MESSAGES == GLM_ENABLE && !defined(GLM_EXT_INCLUDED) +# pragma message("GLM: GLM_EXT_vector_common extension included") +#endif + +namespace glm +{ + /// @addtogroup ext_vector_common + /// @{ + + /// Return the minimum component-wise values of 3 inputs + /// + /// @tparam L Integer between 1 and 4 included that qualify the dimension of the vector + /// @tparam T Floating-point or integer scalar types + /// @tparam Q Value from qualifier enum + template + GLM_FUNC_DECL GLM_CONSTEXPR vec min(vec const& a, vec const& b, vec const& c); + + /// Return the minimum component-wise values of 4 inputs + /// + /// @tparam L Integer between 1 and 4 included that qualify the dimension of the vector + /// @tparam T Floating-point or integer scalar types + /// @tparam Q Value from qualifier enum + template + GLM_FUNC_DECL GLM_CONSTEXPR vec min(vec const& a, vec const& b, vec const& c, vec const& d); + + /// Return the maximum component-wise values of 3 inputs + /// + /// @tparam L Integer between 1 and 4 included that qualify the dimension of the vector + /// @tparam T Floating-point or integer scalar types + /// @tparam Q Value from qualifier enum + template + GLM_FUNC_DECL GLM_CONSTEXPR vec max(vec const& x, vec const& y, vec const& z); + + /// Return the maximum component-wise values of 4 inputs + /// + /// @tparam L Integer between 1 and 4 included that qualify the dimension of the vector + /// @tparam T Floating-point or integer scalar types + /// @tparam Q Value from qualifier enum + template + GLM_FUNC_DECL GLM_CONSTEXPR vec max( vec const& x, vec const& y, vec const& z, vec const& w); + + /// Returns y if y < x; otherwise, it returns x. If one of the two arguments is NaN, the value of the other argument is returned. + /// + /// @tparam L Integer between 1 and 4 included that qualify the dimension of the vector + /// @tparam T Floating-point scalar types + /// @tparam Q Value from qualifier enum + /// + /// @see std::fmin documentation + template + GLM_FUNC_DECL vec fmin(vec const& x, T y); + + /// Returns y if y < x; otherwise, it returns x. If one of the two arguments is NaN, the value of the other argument is returned. + /// + /// @tparam L Integer between 1 and 4 included that qualify the dimension of the vector + /// @tparam T Floating-point scalar types + /// @tparam Q Value from qualifier enum + /// + /// @see std::fmin documentation + template + GLM_FUNC_DECL vec fmin(vec const& x, vec const& y); + + /// Returns y if y < x; otherwise, it returns x. If one of the two arguments is NaN, the value of the other argument is returned. + /// + /// @tparam L Integer between 1 and 4 included that qualify the dimension of the vector + /// @tparam T Floating-point scalar types + /// @tparam Q Value from qualifier enum + /// + /// @see std::fmin documentation + template + GLM_FUNC_DECL vec fmin(vec const& a, vec const& b, vec const& c); + + /// Returns y if y < x; otherwise, it returns x. If one of the two arguments is NaN, the value of the other argument is returned. + /// + /// @tparam L Integer between 1 and 4 included that qualify the dimension of the vector + /// @tparam T Floating-point scalar types + /// @tparam Q Value from qualifier enum + /// + /// @see std::fmin documentation + template + GLM_FUNC_DECL vec fmin(vec const& a, vec const& b, vec const& c, vec const& d); + + /// Returns y if x < y; otherwise, it returns x. If one of the two arguments is NaN, the value of the other argument is returned. + /// + /// @tparam L Integer between 1 and 4 included that qualify the dimension of the vector + /// @tparam T Floating-point scalar types + /// @tparam Q Value from qualifier enum + /// + /// @see std::fmax documentation + template + GLM_FUNC_DECL vec fmax(vec const& a, T b); + + /// Returns y if x < y; otherwise, it returns x. If one of the two arguments is NaN, the value of the other argument is returned. + /// + /// @tparam L Integer between 1 and 4 included that qualify the dimension of the vector + /// @tparam T Floating-point scalar types + /// @tparam Q Value from qualifier enum + /// + /// @see std::fmax documentation + template + GLM_FUNC_DECL vec fmax(vec const& a, vec const& b); + + /// Returns y if x < y; otherwise, it returns x. If one of the two arguments is NaN, the value of the other argument is returned. + /// + /// @tparam L Integer between 1 and 4 included that qualify the dimension of the vector + /// @tparam T Floating-point scalar types + /// @tparam Q Value from qualifier enum + /// + /// @see std::fmax documentation + template + GLM_FUNC_DECL vec fmax(vec const& a, vec const& b, vec const& c); + + /// Returns y if x < y; otherwise, it returns x. If one of the two arguments is NaN, the value of the other argument is returned. + /// + /// @tparam L Integer between 1 and 4 included that qualify the dimension of the vector + /// @tparam T Floating-point scalar types + /// @tparam Q Value from qualifier enum + /// + /// @see std::fmax documentation + template + GLM_FUNC_DECL vec fmax(vec const& a, vec const& b, vec const& c, vec const& d); + + /// @} +}//namespace glm + +#include "vector_common.inl" diff --git a/MacroLibX/third_party/glm/ext/vector_common.inl b/MacroLibX/third_party/glm/ext/vector_common.inl new file mode 100644 index 0000000..71f3809 --- /dev/null +++ b/MacroLibX/third_party/glm/ext/vector_common.inl @@ -0,0 +1,88 @@ +#include "../detail/_vectorize.hpp" + +namespace glm +{ + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec min(vec const& x, vec const& y, vec const& z) + { + GLM_STATIC_ASSERT(std::numeric_limits::is_iec559, "'min' only accept floating-point or integer inputs"); + return glm::min(glm::min(x, y), z); + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec min(vec const& x, vec const& y, vec const& z, vec const& w) + { + GLM_STATIC_ASSERT(std::numeric_limits::is_iec559, "'min' only accept floating-point or integer inputs"); + return glm::min(glm::min(x, y), glm::min(z, w)); + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec max(vec const& x, vec const& y, vec const& z) + { + GLM_STATIC_ASSERT(std::numeric_limits::is_iec559, "'max' only accept floating-point or integer inputs"); + return glm::max(glm::max(x, y), z); + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec max(vec const& x, vec const& y, vec const& z, vec const& w) + { + GLM_STATIC_ASSERT(std::numeric_limits::is_iec559, "'max' only accept floating-point or integer inputs"); + return glm::max(glm::max(x, y), glm::max(z, w)); + } + + template + GLM_FUNC_QUALIFIER vec fmin(vec const& a, T b) + { + GLM_STATIC_ASSERT(std::numeric_limits::is_iec559, "'fmin' only accept floating-point inputs"); + return detail::functor2::call(fmin, a, vec(b)); + } + + template + GLM_FUNC_QUALIFIER vec fmin(vec const& a, vec const& b) + { + GLM_STATIC_ASSERT(std::numeric_limits::is_iec559, "'fmin' only accept floating-point inputs"); + return detail::functor2::call(fmin, a, b); + } + + template + GLM_FUNC_QUALIFIER vec fmin(vec const& a, vec const& b, vec const& c) + { + GLM_STATIC_ASSERT(std::numeric_limits::is_iec559, "'fmin' only accept floating-point inputs"); + return fmin(fmin(a, b), c); + } + + template + GLM_FUNC_QUALIFIER vec fmin(vec const& a, vec const& b, vec const& c, vec const& d) + { + GLM_STATIC_ASSERT(std::numeric_limits::is_iec559, "'fmin' only accept floating-point inputs"); + return fmin(fmin(a, b), fmin(c, d)); + } + + template + GLM_FUNC_QUALIFIER vec fmax(vec const& a, T b) + { + GLM_STATIC_ASSERT(std::numeric_limits::is_iec559, "'fmax' only accept floating-point inputs"); + return detail::functor2::call(fmax, a, vec(b)); + } + + template + GLM_FUNC_QUALIFIER vec fmax(vec const& a, vec const& b) + { + GLM_STATIC_ASSERT(std::numeric_limits::is_iec559, "'fmax' only accept floating-point inputs"); + return detail::functor2::call(fmax, a, b); + } + + template + GLM_FUNC_QUALIFIER vec fmax(vec const& a, vec const& b, vec const& c) + { + GLM_STATIC_ASSERT(std::numeric_limits::is_iec559, "'fmax' only accept floating-point inputs"); + return fmax(fmax(a, b), c); + } + + template + GLM_FUNC_QUALIFIER vec fmax(vec const& a, vec const& b, vec const& c, vec const& d) + { + GLM_STATIC_ASSERT(std::numeric_limits::is_iec559, "'fmax' only accept floating-point inputs"); + return fmax(fmax(a, b), fmax(c, d)); + } +}//namespace glm diff --git a/MacroLibX/third_party/glm/ext/vector_double1.hpp b/MacroLibX/third_party/glm/ext/vector_double1.hpp new file mode 100644 index 0000000..3882667 --- /dev/null +++ b/MacroLibX/third_party/glm/ext/vector_double1.hpp @@ -0,0 +1,31 @@ +/// @ref ext_vector_double1 +/// @file glm/ext/vector_double1.hpp +/// +/// @defgroup ext_vector_double1 GLM_EXT_vector_double1 +/// @ingroup ext +/// +/// Exposes double-precision floating point vector type with one component. +/// +/// Include to use the features of this extension. +/// +/// @see ext_vector_double1_precision extension. +/// @see ext_vector_float1 extension. + +#pragma once + +#include "../detail/type_vec1.hpp" + +#if GLM_MESSAGES == GLM_ENABLE && !defined(GLM_EXT_INCLUDED) +# pragma message("GLM: GLM_EXT_vector_double1 extension included") +#endif + +namespace glm +{ + /// @addtogroup ext_vector_double1 + /// @{ + + /// 1 components vector of double-precision floating-point numbers. + typedef vec<1, double, defaultp> dvec1; + + /// @} +}//namespace glm diff --git a/MacroLibX/third_party/glm/ext/vector_double1_precision.hpp b/MacroLibX/third_party/glm/ext/vector_double1_precision.hpp new file mode 100644 index 0000000..1d47195 --- /dev/null +++ b/MacroLibX/third_party/glm/ext/vector_double1_precision.hpp @@ -0,0 +1,36 @@ +/// @ref ext_vector_double1_precision +/// @file glm/ext/vector_double1_precision.hpp +/// +/// @defgroup ext_vector_double1_precision GLM_EXT_vector_double1_precision +/// @ingroup ext +/// +/// Exposes highp_dvec1, mediump_dvec1 and lowp_dvec1 types. +/// +/// Include to use the features of this extension. +/// +/// @see ext_vector_double1 + +#pragma once + +#include "../detail/type_vec1.hpp" + +#if GLM_MESSAGES == GLM_ENABLE && !defined(GLM_EXT_INCLUDED) +# pragma message("GLM: GLM_EXT_vector_double1_precision extension included") +#endif + +namespace glm +{ + /// @addtogroup ext_vector_double1_precision + /// @{ + + /// 1 component vector of double-precision floating-point numbers using high precision arithmetic in term of ULPs. + typedef vec<1, double, highp> highp_dvec1; + + /// 1 component vector of double-precision floating-point numbers using medium precision arithmetic in term of ULPs. + typedef vec<1, double, mediump> mediump_dvec1; + + /// 1 component vector of double-precision floating-point numbers using low precision arithmetic in term of ULPs. + typedef vec<1, double, lowp> lowp_dvec1; + + /// @} +}//namespace glm diff --git a/MacroLibX/third_party/glm/ext/vector_double2.hpp b/MacroLibX/third_party/glm/ext/vector_double2.hpp new file mode 100644 index 0000000..60e3577 --- /dev/null +++ b/MacroLibX/third_party/glm/ext/vector_double2.hpp @@ -0,0 +1,18 @@ +/// @ref core +/// @file glm/ext/vector_double2.hpp + +#pragma once +#include "../detail/type_vec2.hpp" + +namespace glm +{ + /// @addtogroup core_vector + /// @{ + + /// 2 components vector of double-precision floating-point numbers. + /// + /// @see GLSL 4.20.8 specification, section 4.1.5 Vectors + typedef vec<2, double, defaultp> dvec2; + + /// @} +}//namespace glm diff --git a/MacroLibX/third_party/glm/ext/vector_double2_precision.hpp b/MacroLibX/third_party/glm/ext/vector_double2_precision.hpp new file mode 100644 index 0000000..fa53940 --- /dev/null +++ b/MacroLibX/third_party/glm/ext/vector_double2_precision.hpp @@ -0,0 +1,31 @@ +/// @ref core +/// @file glm/ext/vector_double2_precision.hpp + +#pragma once +#include "../detail/type_vec2.hpp" + +namespace glm +{ + /// @addtogroup core_vector_precision + /// @{ + + /// 2 components vector of high double-qualifier floating-point numbers. + /// + /// @see GLSL 4.20.8 specification, section 4.1.5 Vectors + /// @see GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier + typedef vec<2, double, highp> highp_dvec2; + + /// 2 components vector of medium double-qualifier floating-point numbers. + /// + /// @see GLSL 4.20.8 specification, section 4.1.5 Vectors + /// @see GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier + typedef vec<2, double, mediump> mediump_dvec2; + + /// 2 components vector of low double-qualifier floating-point numbers. + /// + /// @see GLSL 4.20.8 specification, section 4.1.5 Vectors + /// @see GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier + typedef vec<2, double, lowp> lowp_dvec2; + + /// @} +}//namespace glm diff --git a/MacroLibX/third_party/glm/ext/vector_double3.hpp b/MacroLibX/third_party/glm/ext/vector_double3.hpp new file mode 100644 index 0000000..6dfe4c6 --- /dev/null +++ b/MacroLibX/third_party/glm/ext/vector_double3.hpp @@ -0,0 +1,18 @@ +/// @ref core +/// @file glm/ext/vector_double3.hpp + +#pragma once +#include "../detail/type_vec3.hpp" + +namespace glm +{ + /// @addtogroup core_vector + /// @{ + + /// 3 components vector of double-precision floating-point numbers. + /// + /// @see GLSL 4.20.8 specification, section 4.1.5 Vectors + typedef vec<3, double, defaultp> dvec3; + + /// @} +}//namespace glm diff --git a/MacroLibX/third_party/glm/ext/vector_double3_precision.hpp b/MacroLibX/third_party/glm/ext/vector_double3_precision.hpp new file mode 100644 index 0000000..a8cfa37 --- /dev/null +++ b/MacroLibX/third_party/glm/ext/vector_double3_precision.hpp @@ -0,0 +1,34 @@ +/// @ref core +/// @file glm/ext/vector_double3_precision.hpp + +#pragma once +#include "../detail/type_vec3.hpp" + +namespace glm +{ + /// @addtogroup core_vector_precision + /// @{ + + /// 3 components vector of high double-qualifier floating-point numbers. + /// There is no guarantee on the actual qualifier. + /// + /// @see GLSL 4.20.8 specification, section 4.1.5 Vectors + /// @see GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier + typedef vec<3, double, highp> highp_dvec3; + + /// 3 components vector of medium double-qualifier floating-point numbers. + /// There is no guarantee on the actual qualifier. + /// + /// @see GLSL 4.20.8 specification, section 4.1.5 Vectors + /// @see GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier + typedef vec<3, double, mediump> mediump_dvec3; + + /// 3 components vector of low double-qualifier floating-point numbers. + /// There is no guarantee on the actual qualifier. + /// + /// @see GLSL 4.20.8 specification, section 4.1.5 Vectors + /// @see GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier + typedef vec<3, double, lowp> lowp_dvec3; + + /// @} +}//namespace glm diff --git a/MacroLibX/third_party/glm/ext/vector_double4.hpp b/MacroLibX/third_party/glm/ext/vector_double4.hpp new file mode 100644 index 0000000..87f225f --- /dev/null +++ b/MacroLibX/third_party/glm/ext/vector_double4.hpp @@ -0,0 +1,18 @@ +/// @ref core +/// @file glm/ext/vector_double4.hpp + +#pragma once +#include "../detail/type_vec4.hpp" + +namespace glm +{ + /// @addtogroup core_vector + /// @{ + + /// 4 components vector of double-precision floating-point numbers. + /// + /// @see GLSL 4.20.8 specification, section 4.1.5 Vectors + typedef vec<4, double, defaultp> dvec4; + + /// @} +}//namespace glm diff --git a/MacroLibX/third_party/glm/ext/vector_double4_precision.hpp b/MacroLibX/third_party/glm/ext/vector_double4_precision.hpp new file mode 100644 index 0000000..09cafa1 --- /dev/null +++ b/MacroLibX/third_party/glm/ext/vector_double4_precision.hpp @@ -0,0 +1,35 @@ +/// @ref core +/// @file glm/ext/vector_double4_precision.hpp + +#pragma once +#include "../detail/setup.hpp" +#include "../detail/type_vec4.hpp" + +namespace glm +{ + /// @addtogroup core_vector_precision + /// @{ + + /// 4 components vector of high double-qualifier floating-point numbers. + /// There is no guarantee on the actual qualifier. + /// + /// @see GLSL 4.20.8 specification, section 4.1.5 Vectors + /// @see GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier + typedef vec<4, double, highp> highp_dvec4; + + /// 4 components vector of medium double-qualifier floating-point numbers. + /// There is no guarantee on the actual qualifier. + /// + /// @see GLSL 4.20.8 specification, section 4.1.5 Vectors + /// @see GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier + typedef vec<4, double, mediump> mediump_dvec4; + + /// 4 components vector of low double-qualifier floating-point numbers. + /// There is no guarantee on the actual qualifier. + /// + /// @see GLSL 4.20.8 specification, section 4.1.5 Vectors + /// @see GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier + typedef vec<4, double, lowp> lowp_dvec4; + + /// @} +}//namespace glm diff --git a/MacroLibX/third_party/glm/ext/vector_float1.hpp b/MacroLibX/third_party/glm/ext/vector_float1.hpp new file mode 100644 index 0000000..28acc2c --- /dev/null +++ b/MacroLibX/third_party/glm/ext/vector_float1.hpp @@ -0,0 +1,31 @@ +/// @ref ext_vector_float1 +/// @file glm/ext/vector_float1.hpp +/// +/// @defgroup ext_vector_float1 GLM_EXT_vector_float1 +/// @ingroup ext +/// +/// Exposes single-precision floating point vector type with one component. +/// +/// Include to use the features of this extension. +/// +/// @see ext_vector_float1_precision extension. +/// @see ext_vector_double1 extension. + +#pragma once + +#include "../detail/type_vec1.hpp" + +#if GLM_MESSAGES == GLM_ENABLE && !defined(GLM_EXT_INCLUDED) +# pragma message("GLM: GLM_EXT_vector_float1 extension included") +#endif + +namespace glm +{ + /// @addtogroup ext_vector_float1 + /// @{ + + /// 1 components vector of single-precision floating-point numbers. + typedef vec<1, float, defaultp> vec1; + + /// @} +}//namespace glm diff --git a/MacroLibX/third_party/glm/ext/vector_float1_precision.hpp b/MacroLibX/third_party/glm/ext/vector_float1_precision.hpp new file mode 100644 index 0000000..6e8dad8 --- /dev/null +++ b/MacroLibX/third_party/glm/ext/vector_float1_precision.hpp @@ -0,0 +1,36 @@ +/// @ref ext_vector_float1_precision +/// @file glm/ext/vector_float1_precision.hpp +/// +/// @defgroup ext_vector_float1_precision GLM_EXT_vector_float1_precision +/// @ingroup ext +/// +/// Exposes highp_vec1, mediump_vec1 and lowp_vec1 types. +/// +/// Include to use the features of this extension. +/// +/// @see ext_vector_float1 extension. + +#pragma once + +#include "../detail/type_vec1.hpp" + +#if GLM_MESSAGES == GLM_ENABLE && !defined(GLM_EXT_INCLUDED) +# pragma message("GLM: GLM_EXT_vector_float1_precision extension included") +#endif + +namespace glm +{ + /// @addtogroup ext_vector_float1_precision + /// @{ + + /// 1 component vector of single-precision floating-point numbers using high precision arithmetic in term of ULPs. + typedef vec<1, float, highp> highp_vec1; + + /// 1 component vector of single-precision floating-point numbers using medium precision arithmetic in term of ULPs. + typedef vec<1, float, mediump> mediump_vec1; + + /// 1 component vector of single-precision floating-point numbers using low precision arithmetic in term of ULPs. + typedef vec<1, float, lowp> lowp_vec1; + + /// @} +}//namespace glm diff --git a/MacroLibX/third_party/glm/ext/vector_float2.hpp b/MacroLibX/third_party/glm/ext/vector_float2.hpp new file mode 100644 index 0000000..d31545d --- /dev/null +++ b/MacroLibX/third_party/glm/ext/vector_float2.hpp @@ -0,0 +1,18 @@ +/// @ref core +/// @file glm/ext/vector_float2.hpp + +#pragma once +#include "../detail/type_vec2.hpp" + +namespace glm +{ + /// @addtogroup core_vector + /// @{ + + /// 2 components vector of single-precision floating-point numbers. + /// + /// @see GLSL 4.20.8 specification, section 4.1.5 Vectors + typedef vec<2, float, defaultp> vec2; + + /// @} +}//namespace glm diff --git a/MacroLibX/third_party/glm/ext/vector_float2_precision.hpp b/MacroLibX/third_party/glm/ext/vector_float2_precision.hpp new file mode 100644 index 0000000..23c0820 --- /dev/null +++ b/MacroLibX/third_party/glm/ext/vector_float2_precision.hpp @@ -0,0 +1,31 @@ +/// @ref core +/// @file glm/ext/vector_float2_precision.hpp + +#pragma once +#include "../detail/type_vec2.hpp" + +namespace glm +{ + /// @addtogroup core_vector_precision + /// @{ + + /// 2 components vector of high single-qualifier floating-point numbers. + /// + /// @see GLSL 4.20.8 specification, section 4.1.5 Vectors + /// @see GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier + typedef vec<2, float, highp> highp_vec2; + + /// 2 components vector of medium single-qualifier floating-point numbers. + /// + /// @see GLSL 4.20.8 specification, section 4.1.5 Vectors + /// @see GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier + typedef vec<2, float, mediump> mediump_vec2; + + /// 2 components vector of low single-qualifier floating-point numbers. + /// + /// @see GLSL 4.20.8 specification, section 4.1.5 Vectors + /// @see GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier + typedef vec<2, float, lowp> lowp_vec2; + + /// @} +}//namespace glm diff --git a/MacroLibX/third_party/glm/ext/vector_float3.hpp b/MacroLibX/third_party/glm/ext/vector_float3.hpp new file mode 100644 index 0000000..cd79a62 --- /dev/null +++ b/MacroLibX/third_party/glm/ext/vector_float3.hpp @@ -0,0 +1,18 @@ +/// @ref core +/// @file glm/ext/vector_float3.hpp + +#pragma once +#include "../detail/type_vec3.hpp" + +namespace glm +{ + /// @addtogroup core_vector + /// @{ + + /// 3 components vector of single-precision floating-point numbers. + /// + /// @see GLSL 4.20.8 specification, section 4.1.5 Vectors + typedef vec<3, float, defaultp> vec3; + + /// @} +}//namespace glm diff --git a/MacroLibX/third_party/glm/ext/vector_float3_precision.hpp b/MacroLibX/third_party/glm/ext/vector_float3_precision.hpp new file mode 100644 index 0000000..be640b5 --- /dev/null +++ b/MacroLibX/third_party/glm/ext/vector_float3_precision.hpp @@ -0,0 +1,31 @@ +/// @ref core +/// @file glm/ext/vector_float3_precision.hpp + +#pragma once +#include "../detail/type_vec3.hpp" + +namespace glm +{ + /// @addtogroup core_vector_precision + /// @{ + + /// 3 components vector of high single-qualifier floating-point numbers. + /// + /// @see GLSL 4.20.8 specification, section 4.1.5 Vectors + /// @see GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier + typedef vec<3, float, highp> highp_vec3; + + /// 3 components vector of medium single-qualifier floating-point numbers. + /// + /// @see GLSL 4.20.8 specification, section 4.1.5 Vectors + /// @see GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier + typedef vec<3, float, mediump> mediump_vec3; + + /// 3 components vector of low single-qualifier floating-point numbers. + /// + /// @see GLSL 4.20.8 specification, section 4.1.5 Vectors + /// @see GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier + typedef vec<3, float, lowp> lowp_vec3; + + /// @} +}//namespace glm diff --git a/MacroLibX/third_party/glm/ext/vector_float4.hpp b/MacroLibX/third_party/glm/ext/vector_float4.hpp new file mode 100644 index 0000000..d84adcc --- /dev/null +++ b/MacroLibX/third_party/glm/ext/vector_float4.hpp @@ -0,0 +1,18 @@ +/// @ref core +/// @file glm/ext/vector_float4.hpp + +#pragma once +#include "../detail/type_vec4.hpp" + +namespace glm +{ + /// @addtogroup core_vector + /// @{ + + /// 4 components vector of single-precision floating-point numbers. + /// + /// @see GLSL 4.20.8 specification, section 4.1.5 Vectors + typedef vec<4, float, defaultp> vec4; + + /// @} +}//namespace glm diff --git a/MacroLibX/third_party/glm/ext/vector_float4_precision.hpp b/MacroLibX/third_party/glm/ext/vector_float4_precision.hpp new file mode 100644 index 0000000..aede838 --- /dev/null +++ b/MacroLibX/third_party/glm/ext/vector_float4_precision.hpp @@ -0,0 +1,31 @@ +/// @ref core +/// @file glm/ext/vector_float4_precision.hpp + +#pragma once +#include "../detail/type_vec4.hpp" + +namespace glm +{ + /// @addtogroup core_vector_precision + /// @{ + + /// 4 components vector of high single-qualifier floating-point numbers. + /// + /// @see GLSL 4.20.8 specification, section 4.1.5 Vectors + /// @see GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier + typedef vec<4, float, highp> highp_vec4; + + /// 4 components vector of medium single-qualifier floating-point numbers. + /// + /// @see GLSL 4.20.8 specification, section 4.1.5 Vectors + /// @see GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier + typedef vec<4, float, mediump> mediump_vec4; + + /// 4 components vector of low single-qualifier floating-point numbers. + /// + /// @see GLSL 4.20.8 specification, section 4.1.5 Vectors + /// @see GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier + typedef vec<4, float, lowp> lowp_vec4; + + /// @} +}//namespace glm diff --git a/MacroLibX/third_party/glm/ext/vector_int1.hpp b/MacroLibX/third_party/glm/ext/vector_int1.hpp new file mode 100644 index 0000000..dc86038 --- /dev/null +++ b/MacroLibX/third_party/glm/ext/vector_int1.hpp @@ -0,0 +1,32 @@ +/// @ref ext_vector_int1 +/// @file glm/ext/vector_int1.hpp +/// +/// @defgroup ext_vector_int1 GLM_EXT_vector_int1 +/// @ingroup ext +/// +/// Exposes ivec1 vector type. +/// +/// Include to use the features of this extension. +/// +/// @see ext_vector_uint1 extension. +/// @see ext_vector_int1_precision extension. + +#pragma once + +#include "../detail/type_vec1.hpp" + +#if GLM_MESSAGES == GLM_ENABLE && !defined(GLM_EXT_INCLUDED) +# pragma message("GLM: GLM_EXT_vector_int1 extension included") +#endif + +namespace glm +{ + /// @addtogroup ext_vector_int1 + /// @{ + + /// 1 component vector of signed integer numbers. + typedef vec<1, int, defaultp> ivec1; + + /// @} +}//namespace glm + diff --git a/MacroLibX/third_party/glm/ext/vector_int1_precision.hpp b/MacroLibX/third_party/glm/ext/vector_int1_precision.hpp new file mode 100644 index 0000000..3323954 --- /dev/null +++ b/MacroLibX/third_party/glm/ext/vector_int1_precision.hpp @@ -0,0 +1,34 @@ +/// @ref ext_vector_int1_precision +/// @file glm/ext/vector_int1_precision.hpp +/// +/// @defgroup ext_vector_int1_precision GLM_EXT_vector_int1_precision +/// @ingroup ext +/// +/// Exposes highp_ivec1, mediump_ivec1 and lowp_ivec1 types. +/// +/// Include to use the features of this extension. + +#pragma once + +#include "../detail/type_vec1.hpp" + +#if GLM_MESSAGES == GLM_ENABLE && !defined(GLM_EXT_INCLUDED) +# pragma message("GLM: GLM_EXT_vector_int1_precision extension included") +#endif + +namespace glm +{ + /// @addtogroup ext_vector_int1_precision + /// @{ + + /// 1 component vector of signed integer values. + typedef vec<1, int, highp> highp_ivec1; + + /// 1 component vector of signed integer values. + typedef vec<1, int, mediump> mediump_ivec1; + + /// 1 component vector of signed integer values. + typedef vec<1, int, lowp> lowp_ivec1; + + /// @} +}//namespace glm diff --git a/MacroLibX/third_party/glm/ext/vector_int2.hpp b/MacroLibX/third_party/glm/ext/vector_int2.hpp new file mode 100644 index 0000000..aef803e --- /dev/null +++ b/MacroLibX/third_party/glm/ext/vector_int2.hpp @@ -0,0 +1,18 @@ +/// @ref core +/// @file glm/ext/vector_int2.hpp + +#pragma once +#include "../detail/type_vec2.hpp" + +namespace glm +{ + /// @addtogroup core_vector + /// @{ + + /// 2 components vector of signed integer numbers. + /// + /// @see GLSL 4.20.8 specification, section 4.1.5 Vectors + typedef vec<2, int, defaultp> ivec2; + + /// @} +}//namespace glm diff --git a/MacroLibX/third_party/glm/ext/vector_int2_precision.hpp b/MacroLibX/third_party/glm/ext/vector_int2_precision.hpp new file mode 100644 index 0000000..97315fc --- /dev/null +++ b/MacroLibX/third_party/glm/ext/vector_int2_precision.hpp @@ -0,0 +1,31 @@ +/// @ref core +/// @file glm/ext/vector_int2_precision.hpp + +#pragma once +#include "../detail/type_vec2.hpp" + +namespace glm +{ + /// @addtogroup core_vector_precision + /// @{ + + /// 2 components vector of high qualifier signed integer numbers. + /// + /// @see GLSL 4.20.8 specification, section 4.1.5 Vectors + /// @see GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier + typedef vec<2, int, highp> highp_ivec2; + + /// 2 components vector of medium qualifier signed integer numbers. + /// + /// @see GLSL 4.20.8 specification, section 4.1.5 Vectors + /// @see GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier + typedef vec<2, int, mediump> mediump_ivec2; + + /// 2 components vector of low qualifier signed integer numbers. + /// + /// @see GLSL 4.20.8 specification, section 4.1.5 Vectors + /// @see GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier + typedef vec<2, int, lowp> lowp_ivec2; + + /// @} +}//namespace glm diff --git a/MacroLibX/third_party/glm/ext/vector_int3.hpp b/MacroLibX/third_party/glm/ext/vector_int3.hpp new file mode 100644 index 0000000..4767e61 --- /dev/null +++ b/MacroLibX/third_party/glm/ext/vector_int3.hpp @@ -0,0 +1,18 @@ +/// @ref core +/// @file glm/ext/vector_int3.hpp + +#pragma once +#include "../detail/type_vec3.hpp" + +namespace glm +{ + /// @addtogroup core_vector + /// @{ + + /// 3 components vector of signed integer numbers. + /// + /// @see GLSL 4.20.8 specification, section 4.1.5 Vectors + typedef vec<3, int, defaultp> ivec3; + + /// @} +}//namespace glm diff --git a/MacroLibX/third_party/glm/ext/vector_int3_precision.hpp b/MacroLibX/third_party/glm/ext/vector_int3_precision.hpp new file mode 100644 index 0000000..2cd3f5f --- /dev/null +++ b/MacroLibX/third_party/glm/ext/vector_int3_precision.hpp @@ -0,0 +1,31 @@ +/// @ref core +/// @file glm/ext/vector_int3_precision.hpp + +#pragma once +#include "../detail/type_vec3.hpp" + +namespace glm +{ + /// @addtogroup core_vector_precision + /// @{ + + /// 3 components vector of high qualifier signed integer numbers. + /// + /// @see GLSL 4.20.8 specification, section 4.1.5 Vectors + /// @see GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier + typedef vec<3, int, highp> highp_ivec3; + + /// 3 components vector of medium qualifier signed integer numbers. + /// + /// @see GLSL 4.20.8 specification, section 4.1.5 Vectors + /// @see GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier + typedef vec<3, int, mediump> mediump_ivec3; + + /// 3 components vector of low qualifier signed integer numbers. + /// + /// @see GLSL 4.20.8 specification, section 4.1.5 Vectors + /// @see GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier + typedef vec<3, int, lowp> lowp_ivec3; + + /// @} +}//namespace glm diff --git a/MacroLibX/third_party/glm/ext/vector_int4.hpp b/MacroLibX/third_party/glm/ext/vector_int4.hpp new file mode 100644 index 0000000..bb23adf --- /dev/null +++ b/MacroLibX/third_party/glm/ext/vector_int4.hpp @@ -0,0 +1,18 @@ +/// @ref core +/// @file glm/ext/vector_int4.hpp + +#pragma once +#include "../detail/type_vec4.hpp" + +namespace glm +{ + /// @addtogroup core_vector + /// @{ + + /// 4 components vector of signed integer numbers. + /// + /// @see GLSL 4.20.8 specification, section 4.1.5 Vectors + typedef vec<4, int, defaultp> ivec4; + + /// @} +}//namespace glm diff --git a/MacroLibX/third_party/glm/ext/vector_int4_precision.hpp b/MacroLibX/third_party/glm/ext/vector_int4_precision.hpp new file mode 100644 index 0000000..4fcd791 --- /dev/null +++ b/MacroLibX/third_party/glm/ext/vector_int4_precision.hpp @@ -0,0 +1,31 @@ +/// @ref core +/// @file glm/ext/vector_int4_precision.hpp + +#pragma once +#include "../detail/type_vec4.hpp" + +namespace glm +{ + /// @addtogroup core_vector_precision + /// @{ + + /// 4 components vector of high qualifier signed integer numbers. + /// + /// @see GLSL 4.20.8 specification, section 4.1.5 Vectors + /// @see GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier + typedef vec<4, int, highp> highp_ivec4; + + /// 4 components vector of medium qualifier signed integer numbers. + /// + /// @see GLSL 4.20.8 specification, section 4.1.5 Vectors + /// @see GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier + typedef vec<4, int, mediump> mediump_ivec4; + + /// 4 components vector of low qualifier signed integer numbers. + /// + /// @see GLSL 4.20.8 specification, section 4.1.5 Vectors + /// @see GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier + typedef vec<4, int, lowp> lowp_ivec4; + + /// @} +}//namespace glm diff --git a/MacroLibX/third_party/glm/ext/vector_integer.hpp b/MacroLibX/third_party/glm/ext/vector_integer.hpp new file mode 100644 index 0000000..1304dd8 --- /dev/null +++ b/MacroLibX/third_party/glm/ext/vector_integer.hpp @@ -0,0 +1,149 @@ +/// @ref ext_vector_integer +/// @file glm/ext/vector_integer.hpp +/// +/// @see core (dependence) +/// @see ext_vector_integer (dependence) +/// +/// @defgroup ext_vector_integer GLM_EXT_vector_integer +/// @ingroup ext +/// +/// Include to use the features of this extension. + +#pragma once + +// Dependencies +#include "../detail/setup.hpp" +#include "../detail/qualifier.hpp" +#include "../detail/_vectorize.hpp" +#include "../vector_relational.hpp" +#include "../common.hpp" +#include + +#if GLM_MESSAGES == GLM_ENABLE && !defined(GLM_EXT_INCLUDED) +# pragma message("GLM: GLM_EXT_vector_integer extension included") +#endif + +namespace glm +{ + /// @addtogroup ext_vector_integer + /// @{ + + /// Return true if the value is a power of two number. + /// + /// @tparam L Integer between 1 and 4 included that qualify the dimension of the vector + /// @tparam T Signed or unsigned integer scalar types. + /// @tparam Q Value from qualifier enum + /// + /// @see ext_vector_integer + template + GLM_FUNC_DECL vec isPowerOfTwo(vec const& v); + + /// Return the power of two number which value is just higher the input value, + /// round up to a power of two. + /// + /// @tparam L Integer between 1 and 4 included that qualify the dimension of the vector + /// @tparam T Signed or unsigned integer scalar types. + /// @tparam Q Value from qualifier enum + /// + /// @see ext_vector_integer + template + GLM_FUNC_DECL vec nextPowerOfTwo(vec const& v); + + /// Return the power of two number which value is just lower the input value, + /// round down to a power of two. + /// + /// @tparam L Integer between 1 and 4 included that qualify the dimension of the vector + /// @tparam T Signed or unsigned integer scalar types. + /// @tparam Q Value from qualifier enum + /// + /// @see ext_vector_integer + template + GLM_FUNC_DECL vec prevPowerOfTwo(vec const& v); + + /// Return true if the 'Value' is a multiple of 'Multiple'. + /// + /// @tparam L Integer between 1 and 4 included that qualify the dimension of the vector + /// @tparam T Signed or unsigned integer scalar types. + /// @tparam Q Value from qualifier enum + /// + /// @see ext_vector_integer + template + GLM_FUNC_DECL vec isMultiple(vec const& v, T Multiple); + + /// Return true if the 'Value' is a multiple of 'Multiple'. + /// + /// @tparam L Integer between 1 and 4 included that qualify the dimension of the vector + /// @tparam T Signed or unsigned integer scalar types. + /// @tparam Q Value from qualifier enum + /// + /// @see ext_vector_integer + template + GLM_FUNC_DECL vec isMultiple(vec const& v, vec const& Multiple); + + /// Higher multiple number of Source. + /// + /// @tparam L Integer between 1 and 4 included that qualify the dimension of the vector + /// @tparam T Signed or unsigned integer scalar types. + /// @tparam Q Value from qualifier enum + /// + /// @param v Source values to which is applied the function + /// @param Multiple Must be a null or positive value + /// + /// @see ext_vector_integer + template + GLM_FUNC_DECL vec nextMultiple(vec const& v, T Multiple); + + /// Higher multiple number of Source. + /// + /// @tparam L Integer between 1 and 4 included that qualify the dimension of the vector + /// @tparam T Signed or unsigned integer scalar types. + /// @tparam Q Value from qualifier enum + /// + /// @param v Source values to which is applied the function + /// @param Multiple Must be a null or positive value + /// + /// @see ext_vector_integer + template + GLM_FUNC_DECL vec nextMultiple(vec const& v, vec const& Multiple); + + /// Lower multiple number of Source. + /// + /// @tparam L Integer between 1 and 4 included that qualify the dimension of the vector + /// @tparam T Signed or unsigned integer scalar types. + /// @tparam Q Value from qualifier enum + /// + /// @param v Source values to which is applied the function + /// @param Multiple Must be a null or positive value + /// + /// @see ext_vector_integer + template + GLM_FUNC_DECL vec prevMultiple(vec const& v, T Multiple); + + /// Lower multiple number of Source. + /// + /// @tparam L Integer between 1 and 4 included that qualify the dimension of the vector + /// @tparam T Signed or unsigned integer scalar types. + /// @tparam Q Value from qualifier enum + /// + /// @param v Source values to which is applied the function + /// @param Multiple Must be a null or positive value + /// + /// @see ext_vector_integer + template + GLM_FUNC_DECL vec prevMultiple(vec const& v, vec const& Multiple); + + /// Returns the bit number of the Nth significant bit set to + /// 1 in the binary representation of value. + /// If value bitcount is less than the Nth significant bit, -1 will be returned. + /// + /// @tparam L An integer between 1 and 4 included that qualify the dimension of the vector. + /// @tparam T Signed or unsigned integer scalar types. + /// + /// @see ext_vector_integer + template + GLM_FUNC_DECL vec findNSB(vec const& Source, vec SignificantBitCount); + + /// @} +} //namespace glm + +#include "vector_integer.inl" diff --git a/MacroLibX/third_party/glm/ext/vector_integer.inl b/MacroLibX/third_party/glm/ext/vector_integer.inl new file mode 100644 index 0000000..939ff5e --- /dev/null +++ b/MacroLibX/third_party/glm/ext/vector_integer.inl @@ -0,0 +1,85 @@ +#include "scalar_integer.hpp" + +namespace glm +{ + template + GLM_FUNC_QUALIFIER vec isPowerOfTwo(vec const& Value) + { + GLM_STATIC_ASSERT(std::numeric_limits::is_integer, "'isPowerOfTwo' only accept integer inputs"); + + vec const Result(abs(Value)); + return equal(Result & (Result - vec(1)), vec(0)); + } + + template + GLM_FUNC_QUALIFIER vec nextPowerOfTwo(vec const& v) + { + GLM_STATIC_ASSERT(std::numeric_limits::is_integer, "'nextPowerOfTwo' only accept integer inputs"); + + return detail::compute_ceilPowerOfTwo::is_signed>::call(v); + } + + template + GLM_FUNC_QUALIFIER vec prevPowerOfTwo(vec const& v) + { + GLM_STATIC_ASSERT(std::numeric_limits::is_integer, "'prevPowerOfTwo' only accept integer inputs"); + + return detail::functor1::call(prevPowerOfTwo, v); + } + + template + GLM_FUNC_QUALIFIER vec isMultiple(vec const& Value, T Multiple) + { + GLM_STATIC_ASSERT(std::numeric_limits::is_integer, "'isMultiple' only accept integer inputs"); + + return (Value % Multiple) == vec(0); + } + + template + GLM_FUNC_QUALIFIER vec isMultiple(vec const& Value, vec const& Multiple) + { + GLM_STATIC_ASSERT(std::numeric_limits::is_integer, "'isMultiple' only accept integer inputs"); + + return (Value % Multiple) == vec(0); + } + + template + GLM_FUNC_QUALIFIER vec nextMultiple(vec const& Source, T Multiple) + { + GLM_STATIC_ASSERT(std::numeric_limits::is_integer, "'nextMultiple' only accept integer inputs"); + + return detail::functor2::call(nextMultiple, Source, vec(Multiple)); + } + + template + GLM_FUNC_QUALIFIER vec nextMultiple(vec const& Source, vec const& Multiple) + { + GLM_STATIC_ASSERT(std::numeric_limits::is_integer, "'nextMultiple' only accept integer inputs"); + + return detail::functor2::call(nextMultiple, Source, Multiple); + } + + template + GLM_FUNC_QUALIFIER vec prevMultiple(vec const& Source, T Multiple) + { + GLM_STATIC_ASSERT(std::numeric_limits::is_integer, "'prevMultiple' only accept integer inputs"); + + return detail::functor2::call(prevMultiple, Source, vec(Multiple)); + } + + template + GLM_FUNC_QUALIFIER vec prevMultiple(vec const& Source, vec const& Multiple) + { + GLM_STATIC_ASSERT(std::numeric_limits::is_integer, "'prevMultiple' only accept integer inputs"); + + return detail::functor2::call(prevMultiple, Source, Multiple); + } + + template + GLM_FUNC_QUALIFIER vec findNSB(vec const& Source, vec SignificantBitCount) + { + GLM_STATIC_ASSERT(std::numeric_limits::is_integer, "'findNSB' only accept integer inputs"); + + return detail::functor2_vec_int::call(findNSB, Source, SignificantBitCount); + } +}//namespace glm diff --git a/MacroLibX/third_party/glm/ext/vector_relational.hpp b/MacroLibX/third_party/glm/ext/vector_relational.hpp new file mode 100644 index 0000000..1c2367d --- /dev/null +++ b/MacroLibX/third_party/glm/ext/vector_relational.hpp @@ -0,0 +1,107 @@ +/// @ref ext_vector_relational +/// @file glm/ext/vector_relational.hpp +/// +/// @see core (dependence) +/// @see ext_scalar_integer (dependence) +/// +/// @defgroup ext_vector_relational GLM_EXT_vector_relational +/// @ingroup ext +/// +/// Exposes comparison functions for vector types that take a user defined epsilon values. +/// +/// Include to use the features of this extension. +/// +/// @see core_vector_relational +/// @see ext_scalar_relational +/// @see ext_matrix_relational + +#pragma once + +// Dependencies +#include "../detail/qualifier.hpp" + +#if GLM_MESSAGES == GLM_ENABLE && !defined(GLM_EXT_INCLUDED) +# pragma message("GLM: GLM_EXT_vector_relational extension included") +#endif + +namespace glm +{ + /// @addtogroup ext_vector_relational + /// @{ + + /// Returns the component-wise comparison of |x - y| < epsilon. + /// True if this expression is satisfied. + /// + /// @tparam L Integer between 1 and 4 included that qualify the dimension of the vector + /// @tparam T Floating-point or integer scalar types + /// @tparam Q Value from qualifier enum + template + GLM_FUNC_DECL GLM_CONSTEXPR vec equal(vec const& x, vec const& y, T epsilon); + + /// Returns the component-wise comparison of |x - y| < epsilon. + /// True if this expression is satisfied. + /// + /// @tparam L Integer between 1 and 4 included that qualify the dimension of the vector + /// @tparam T Floating-point or integer scalar types + /// @tparam Q Value from qualifier enum + template + GLM_FUNC_DECL GLM_CONSTEXPR vec equal(vec const& x, vec const& y, vec const& epsilon); + + /// Returns the component-wise comparison of |x - y| >= epsilon. + /// True if this expression is not satisfied. + /// + /// @tparam L Integer between 1 and 4 included that qualify the dimension of the vector + /// @tparam T Floating-point or integer scalar types + /// @tparam Q Value from qualifier enum + template + GLM_FUNC_DECL GLM_CONSTEXPR vec notEqual(vec const& x, vec const& y, T epsilon); + + /// Returns the component-wise comparison of |x - y| >= epsilon. + /// True if this expression is not satisfied. + /// + /// @tparam L Integer between 1 and 4 included that qualify the dimension of the vector + /// @tparam T Floating-point or integer scalar types + /// @tparam Q Value from qualifier enum + template + GLM_FUNC_DECL GLM_CONSTEXPR vec notEqual(vec const& x, vec const& y, vec const& epsilon); + + /// Returns the component-wise comparison between two vectors in term of ULPs. + /// True if this expression is satisfied. + /// + /// @tparam L Integer between 1 and 4 included that qualify the dimension of the vector + /// @tparam T Floating-point + /// @tparam Q Value from qualifier enum + template + GLM_FUNC_DECL GLM_CONSTEXPR vec equal(vec const& x, vec const& y, int ULPs); + + /// Returns the component-wise comparison between two vectors in term of ULPs. + /// True if this expression is satisfied. + /// + /// @tparam L Integer between 1 and 4 included that qualify the dimension of the vector + /// @tparam T Floating-point + /// @tparam Q Value from qualifier enum + template + GLM_FUNC_DECL GLM_CONSTEXPR vec equal(vec const& x, vec const& y, vec const& ULPs); + + /// Returns the component-wise comparison between two vectors in term of ULPs. + /// True if this expression is not satisfied. + /// + /// @tparam L Integer between 1 and 4 included that qualify the dimension of the vector + /// @tparam T Floating-point + /// @tparam Q Value from qualifier enum + template + GLM_FUNC_DECL GLM_CONSTEXPR vec notEqual(vec const& x, vec const& y, int ULPs); + + /// Returns the component-wise comparison between two vectors in term of ULPs. + /// True if this expression is not satisfied. + /// + /// @tparam L Integer between 1 and 4 included that qualify the dimension of the vector + /// @tparam T Floating-point + /// @tparam Q Value from qualifier enum + template + GLM_FUNC_DECL GLM_CONSTEXPR vec notEqual(vec const& x, vec const& y, vec const& ULPs); + + /// @} +}//namespace glm + +#include "vector_relational.inl" diff --git a/MacroLibX/third_party/glm/ext/vector_relational.inl b/MacroLibX/third_party/glm/ext/vector_relational.inl new file mode 100644 index 0000000..7a39ab5 --- /dev/null +++ b/MacroLibX/third_party/glm/ext/vector_relational.inl @@ -0,0 +1,75 @@ +#include "../vector_relational.hpp" +#include "../common.hpp" +#include "../detail/qualifier.hpp" +#include "../detail/type_float.hpp" + +namespace glm +{ + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec equal(vec const& x, vec const& y, T Epsilon) + { + return equal(x, y, vec(Epsilon)); + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec equal(vec const& x, vec const& y, vec const& Epsilon) + { + return lessThanEqual(abs(x - y), Epsilon); + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec notEqual(vec const& x, vec const& y, T Epsilon) + { + return notEqual(x, y, vec(Epsilon)); + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec notEqual(vec const& x, vec const& y, vec const& Epsilon) + { + return greaterThan(abs(x - y), Epsilon); + } + + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec equal(vec const& x, vec const& y, int MaxULPs) + { + return equal(x, y, vec(MaxULPs)); + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec equal(vec const& x, vec const& y, vec const& MaxULPs) + { + vec Result(false); + for(length_t i = 0; i < L; ++i) + { + detail::float_t const a(x[i]); + detail::float_t const b(y[i]); + + // Different signs means they do not match. + if(a.negative() != b.negative()) + { + // Check for equality to make sure +0==-0 + Result[i] = a.mantissa() == b.mantissa() && a.exponent() == b.exponent(); + } + else + { + // Find the difference in ULPs. + typename detail::float_t::int_type const DiffULPs = abs(a.i - b.i); + Result[i] = DiffULPs <= MaxULPs[i]; + } + } + return Result; + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec notEqual(vec const& x, vec const& y, int MaxULPs) + { + return notEqual(x, y, vec(MaxULPs)); + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec notEqual(vec const& x, vec const& y, vec const& MaxULPs) + { + return not_(equal(x, y, MaxULPs)); + } +}//namespace glm diff --git a/MacroLibX/third_party/glm/ext/vector_uint1.hpp b/MacroLibX/third_party/glm/ext/vector_uint1.hpp new file mode 100644 index 0000000..eb8a704 --- /dev/null +++ b/MacroLibX/third_party/glm/ext/vector_uint1.hpp @@ -0,0 +1,32 @@ +/// @ref ext_vector_uint1 +/// @file glm/ext/vector_uint1.hpp +/// +/// @defgroup ext_vector_uint1 GLM_EXT_vector_uint1 +/// @ingroup ext +/// +/// Exposes uvec1 vector type. +/// +/// Include to use the features of this extension. +/// +/// @see ext_vector_int1 extension. +/// @see ext_vector_uint1_precision extension. + +#pragma once + +#include "../detail/type_vec1.hpp" + +#if GLM_MESSAGES == GLM_ENABLE && !defined(GLM_EXT_INCLUDED) +# pragma message("GLM: GLM_EXT_vector_uint1 extension included") +#endif + +namespace glm +{ + /// @addtogroup ext_vector_uint1 + /// @{ + + /// 1 component vector of unsigned integer numbers. + typedef vec<1, unsigned int, defaultp> uvec1; + + /// @} +}//namespace glm + diff --git a/MacroLibX/third_party/glm/ext/vector_uint1_precision.hpp b/MacroLibX/third_party/glm/ext/vector_uint1_precision.hpp new file mode 100644 index 0000000..30daa5b --- /dev/null +++ b/MacroLibX/third_party/glm/ext/vector_uint1_precision.hpp @@ -0,0 +1,40 @@ +/// @ref ext_vector_uint1_precision +/// @file glm/ext/vector_uint1_precision.hpp +/// +/// @defgroup ext_vector_uint1_precision GLM_EXT_vector_uint1_precision +/// @ingroup ext +/// +/// Exposes highp_uvec1, mediump_uvec1 and lowp_uvec1 types. +/// +/// Include to use the features of this extension. + +#pragma once + +#include "../detail/type_vec1.hpp" + +#if GLM_MESSAGES == GLM_ENABLE && !defined(GLM_EXT_INCLUDED) +# pragma message("GLM: GLM_EXT_vector_uint1_precision extension included") +#endif + +namespace glm +{ + /// @addtogroup ext_vector_uint1_precision + /// @{ + + /// 1 component vector of unsigned integer values. + /// + /// @see ext_vector_uint1_precision + typedef vec<1, unsigned int, highp> highp_uvec1; + + /// 1 component vector of unsigned integer values. + /// + /// @see ext_vector_uint1_precision + typedef vec<1, unsigned int, mediump> mediump_uvec1; + + /// 1 component vector of unsigned integer values. + /// + /// @see ext_vector_uint1_precision + typedef vec<1, unsigned int, lowp> lowp_uvec1; + + /// @} +}//namespace glm diff --git a/MacroLibX/third_party/glm/ext/vector_uint2.hpp b/MacroLibX/third_party/glm/ext/vector_uint2.hpp new file mode 100644 index 0000000..03c00f5 --- /dev/null +++ b/MacroLibX/third_party/glm/ext/vector_uint2.hpp @@ -0,0 +1,18 @@ +/// @ref core +/// @file glm/ext/vector_uint2.hpp + +#pragma once +#include "../detail/type_vec2.hpp" + +namespace glm +{ + /// @addtogroup core_vector + /// @{ + + /// 2 components vector of unsigned integer numbers. + /// + /// @see GLSL 4.20.8 specification, section 4.1.5 Vectors + typedef vec<2, unsigned int, defaultp> uvec2; + + /// @} +}//namespace glm diff --git a/MacroLibX/third_party/glm/ext/vector_uint2_precision.hpp b/MacroLibX/third_party/glm/ext/vector_uint2_precision.hpp new file mode 100644 index 0000000..2ba7b0d --- /dev/null +++ b/MacroLibX/third_party/glm/ext/vector_uint2_precision.hpp @@ -0,0 +1,31 @@ +/// @ref core +/// @file glm/ext/vector_uint2_precision.hpp + +#pragma once +#include "../detail/type_vec2.hpp" + +namespace glm +{ + /// @addtogroup core_vector_precision + /// @{ + + /// 2 components vector of high qualifier unsigned integer numbers. + /// + /// @see GLSL 4.20.8 specification, section 4.1.5 Vectors + /// @see GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier + typedef vec<2, unsigned int, highp> highp_uvec2; + + /// 2 components vector of medium qualifier unsigned integer numbers. + /// + /// @see GLSL 4.20.8 specification, section 4.1.5 Vectors + /// @see GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier + typedef vec<2, unsigned int, mediump> mediump_uvec2; + + /// 2 components vector of low qualifier unsigned integer numbers. + /// + /// @see GLSL 4.20.8 specification, section 4.1.5 Vectors + /// @see GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier + typedef vec<2, unsigned int, lowp> lowp_uvec2; + + /// @} +}//namespace glm diff --git a/MacroLibX/third_party/glm/ext/vector_uint3.hpp b/MacroLibX/third_party/glm/ext/vector_uint3.hpp new file mode 100644 index 0000000..f5b41c4 --- /dev/null +++ b/MacroLibX/third_party/glm/ext/vector_uint3.hpp @@ -0,0 +1,18 @@ +/// @ref core +/// @file glm/ext/vector_uint3.hpp + +#pragma once +#include "../detail/type_vec3.hpp" + +namespace glm +{ + /// @addtogroup core_vector + /// @{ + + /// 3 components vector of unsigned integer numbers. + /// + /// @see GLSL 4.20.8 specification, section 4.1.5 Vectors + typedef vec<3, unsigned int, defaultp> uvec3; + + /// @} +}//namespace glm diff --git a/MacroLibX/third_party/glm/ext/vector_uint3_precision.hpp b/MacroLibX/third_party/glm/ext/vector_uint3_precision.hpp new file mode 100644 index 0000000..125191c --- /dev/null +++ b/MacroLibX/third_party/glm/ext/vector_uint3_precision.hpp @@ -0,0 +1,31 @@ +/// @ref core +/// @file glm/ext/vector_uint3_precision.hpp + +#pragma once +#include "../detail/type_vec3.hpp" + +namespace glm +{ + /// @addtogroup core_vector_precision + /// @{ + + /// 3 components vector of high qualifier unsigned integer numbers. + /// + /// @see GLSL 4.20.8 specification, section 4.1.5 Vectors + /// @see GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier + typedef vec<3, unsigned int, highp> highp_uvec3; + + /// 3 components vector of medium qualifier unsigned integer numbers. + /// + /// @see GLSL 4.20.8 specification, section 4.1.5 Vectors + /// @see GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier + typedef vec<3, unsigned int, mediump> mediump_uvec3; + + /// 3 components vector of low qualifier unsigned integer numbers. + /// + /// @see GLSL 4.20.8 specification, section 4.1.5 Vectors + /// @see GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier + typedef vec<3, unsigned int, lowp> lowp_uvec3; + + /// @} +}//namespace glm diff --git a/MacroLibX/third_party/glm/ext/vector_uint4.hpp b/MacroLibX/third_party/glm/ext/vector_uint4.hpp new file mode 100644 index 0000000..32ced58 --- /dev/null +++ b/MacroLibX/third_party/glm/ext/vector_uint4.hpp @@ -0,0 +1,18 @@ +/// @ref core +/// @file glm/ext/vector_uint4.hpp + +#pragma once +#include "../detail/type_vec4.hpp" + +namespace glm +{ + /// @addtogroup core_vector + /// @{ + + /// 4 components vector of unsigned integer numbers. + /// + /// @see GLSL 4.20.8 specification, section 4.1.5 Vectors + typedef vec<4, unsigned int, defaultp> uvec4; + + /// @} +}//namespace glm diff --git a/MacroLibX/third_party/glm/ext/vector_uint4_precision.hpp b/MacroLibX/third_party/glm/ext/vector_uint4_precision.hpp new file mode 100644 index 0000000..cf4097c --- /dev/null +++ b/MacroLibX/third_party/glm/ext/vector_uint4_precision.hpp @@ -0,0 +1,31 @@ +/// @ref core +/// @file glm/ext/vector_uint4_precision.hpp + +#pragma once +#include "../detail/type_vec4.hpp" + +namespace glm +{ + /// @addtogroup core_vector_precision + /// @{ + + /// 4 components vector of high qualifier unsigned integer numbers. + /// + /// @see GLSL 4.20.8 specification, section 4.1.5 Vectors + /// @see GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier + typedef vec<4, unsigned int, highp> highp_uvec4; + + /// 4 components vector of medium qualifier unsigned integer numbers. + /// + /// @see GLSL 4.20.8 specification, section 4.1.5 Vectors + /// @see GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier + typedef vec<4, unsigned int, mediump> mediump_uvec4; + + /// 4 components vector of low qualifier unsigned integer numbers. + /// + /// @see GLSL 4.20.8 specification, section 4.1.5 Vectors + /// @see GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier + typedef vec<4, unsigned int, lowp> lowp_uvec4; + + /// @} +}//namespace glm diff --git a/MacroLibX/third_party/glm/ext/vector_ulp.hpp b/MacroLibX/third_party/glm/ext/vector_ulp.hpp new file mode 100644 index 0000000..6210396 --- /dev/null +++ b/MacroLibX/third_party/glm/ext/vector_ulp.hpp @@ -0,0 +1,109 @@ +/// @ref ext_vector_ulp +/// @file glm/ext/vector_ulp.hpp +/// +/// @defgroup ext_vector_ulp GLM_EXT_vector_ulp +/// @ingroup ext +/// +/// Allow the measurement of the accuracy of a function against a reference +/// implementation. This extension works on floating-point data and provide results +/// in ULP. +/// +/// Include to use the features of this extension. +/// +/// @see ext_scalar_ulp +/// @see ext_scalar_relational +/// @see ext_vector_relational + +#pragma once + +// Dependencies +#include "../ext/scalar_ulp.hpp" + +#if GLM_MESSAGES == GLM_ENABLE && !defined(GLM_EXT_INCLUDED) +# pragma message("GLM: GLM_EXT_vector_ulp extension included") +#endif + +namespace glm +{ + /// Return the next ULP value(s) after the input value(s). + /// + /// @tparam L Integer between 1 and 4 included that qualify the dimension of the vector + /// @tparam T Floating-point + /// @tparam Q Value from qualifier enum + /// + /// @see ext_scalar_ulp + template + GLM_FUNC_DECL vec nextFloat(vec const& x); + + /// Return the value(s) ULP distance after the input value(s). + /// + /// @tparam L Integer between 1 and 4 included that qualify the dimension of the vector + /// @tparam T Floating-point + /// @tparam Q Value from qualifier enum + /// + /// @see ext_scalar_ulp + template + GLM_FUNC_DECL vec nextFloat(vec const& x, int ULPs); + + /// Return the value(s) ULP distance after the input value(s). + /// + /// @tparam L Integer between 1 and 4 included that qualify the dimension of the vector + /// @tparam T Floating-point + /// @tparam Q Value from qualifier enum + /// + /// @see ext_scalar_ulp + template + GLM_FUNC_DECL vec nextFloat(vec const& x, vec const& ULPs); + + /// Return the previous ULP value(s) before the input value(s). + /// + /// @tparam L Integer between 1 and 4 included that qualify the dimension of the vector + /// @tparam T Floating-point + /// @tparam Q Value from qualifier enum + /// + /// @see ext_scalar_ulp + template + GLM_FUNC_DECL vec prevFloat(vec const& x); + + /// Return the value(s) ULP distance before the input value(s). + /// + /// @tparam L Integer between 1 and 4 included that qualify the dimension of the vector + /// @tparam T Floating-point + /// @tparam Q Value from qualifier enum + /// + /// @see ext_scalar_ulp + template + GLM_FUNC_DECL vec prevFloat(vec const& x, int ULPs); + + /// Return the value(s) ULP distance before the input value(s). + /// + /// @tparam L Integer between 1 and 4 included that qualify the dimension of the vector + /// @tparam T Floating-point + /// @tparam Q Value from qualifier enum + /// + /// @see ext_scalar_ulp + template + GLM_FUNC_DECL vec prevFloat(vec const& x, vec const& ULPs); + + /// Return the distance in the number of ULP between 2 single-precision floating-point scalars. + /// + /// @tparam L Integer between 1 and 4 included that qualify the dimension of the vector + /// @tparam Q Value from qualifier enum + /// + /// @see ext_scalar_ulp + template + GLM_FUNC_DECL vec floatDistance(vec const& x, vec const& y); + + /// Return the distance in the number of ULP between 2 double-precision floating-point scalars. + /// + /// @tparam L Integer between 1 and 4 included that qualify the dimension of the vector + /// @tparam Q Value from qualifier enum + /// + /// @see ext_scalar_ulp + template + GLM_FUNC_DECL vec floatDistance(vec const& x, vec const& y); + + /// @} +}//namespace glm + +#include "vector_ulp.inl" diff --git a/MacroLibX/third_party/glm/ext/vector_ulp.inl b/MacroLibX/third_party/glm/ext/vector_ulp.inl new file mode 100644 index 0000000..91565ce --- /dev/null +++ b/MacroLibX/third_party/glm/ext/vector_ulp.inl @@ -0,0 +1,74 @@ +namespace glm +{ + template + GLM_FUNC_QUALIFIER vec nextFloat(vec const& x) + { + vec Result; + for(length_t i = 0, n = Result.length(); i < n; ++i) + Result[i] = nextFloat(x[i]); + return Result; + } + + template + GLM_FUNC_QUALIFIER vec nextFloat(vec const& x, int ULPs) + { + vec Result; + for(length_t i = 0, n = Result.length(); i < n; ++i) + Result[i] = nextFloat(x[i], ULPs); + return Result; + } + + template + GLM_FUNC_QUALIFIER vec nextFloat(vec const& x, vec const& ULPs) + { + vec Result; + for(length_t i = 0, n = Result.length(); i < n; ++i) + Result[i] = nextFloat(x[i], ULPs[i]); + return Result; + } + + template + GLM_FUNC_QUALIFIER vec prevFloat(vec const& x) + { + vec Result; + for(length_t i = 0, n = Result.length(); i < n; ++i) + Result[i] = prevFloat(x[i]); + return Result; + } + + template + GLM_FUNC_QUALIFIER vec prevFloat(vec const& x, int ULPs) + { + vec Result; + for(length_t i = 0, n = Result.length(); i < n; ++i) + Result[i] = prevFloat(x[i], ULPs); + return Result; + } + + template + GLM_FUNC_QUALIFIER vec prevFloat(vec const& x, vec const& ULPs) + { + vec Result; + for(length_t i = 0, n = Result.length(); i < n; ++i) + Result[i] = prevFloat(x[i], ULPs[i]); + return Result; + } + + template + GLM_FUNC_QUALIFIER vec floatDistance(vec const& x, vec const& y) + { + vec Result; + for(length_t i = 0, n = Result.length(); i < n; ++i) + Result[i] = floatDistance(x[i], y[i]); + return Result; + } + + template + GLM_FUNC_QUALIFIER vec floatDistance(vec const& x, vec const& y) + { + vec Result; + for(length_t i = 0, n = Result.length(); i < n; ++i) + Result[i] = floatDistance(x[i], y[i]); + return Result; + } +}//namespace glm diff --git a/MacroLibX/third_party/glm/fwd.hpp b/MacroLibX/third_party/glm/fwd.hpp new file mode 100644 index 0000000..474d44f --- /dev/null +++ b/MacroLibX/third_party/glm/fwd.hpp @@ -0,0 +1,818 @@ +#pragma once + +#include "detail/qualifier.hpp" + +namespace glm +{ +#if GLM_HAS_EXTENDED_INTEGER_TYPE + typedef std::int8_t int8; + typedef std::int16_t int16; + typedef std::int32_t int32; + typedef std::int64_t int64; + + typedef std::uint8_t uint8; + typedef std::uint16_t uint16; + typedef std::uint32_t uint32; + typedef std::uint64_t uint64; +#else + typedef signed char int8; + typedef signed short int16; + typedef signed int int32; + typedef detail::int64 int64; + + typedef unsigned char uint8; + typedef unsigned short uint16; + typedef unsigned int uint32; + typedef detail::uint64 uint64; +#endif + + // Scalar int + + typedef int8 lowp_i8; + typedef int8 mediump_i8; + typedef int8 highp_i8; + typedef int8 i8; + + typedef int8 lowp_int8; + typedef int8 mediump_int8; + typedef int8 highp_int8; + + typedef int8 lowp_int8_t; + typedef int8 mediump_int8_t; + typedef int8 highp_int8_t; + typedef int8 int8_t; + + typedef int16 lowp_i16; + typedef int16 mediump_i16; + typedef int16 highp_i16; + typedef int16 i16; + + typedef int16 lowp_int16; + typedef int16 mediump_int16; + typedef int16 highp_int16; + + typedef int16 lowp_int16_t; + typedef int16 mediump_int16_t; + typedef int16 highp_int16_t; + typedef int16 int16_t; + + typedef int32 lowp_i32; + typedef int32 mediump_i32; + typedef int32 highp_i32; + typedef int32 i32; + + typedef int32 lowp_int32; + typedef int32 mediump_int32; + typedef int32 highp_int32; + + typedef int32 lowp_int32_t; + typedef int32 mediump_int32_t; + typedef int32 highp_int32_t; + typedef int32 int32_t; + + typedef int64 lowp_i64; + typedef int64 mediump_i64; + typedef int64 highp_i64; + typedef int64 i64; + + typedef int64 lowp_int64; + typedef int64 mediump_int64; + typedef int64 highp_int64; + + typedef int64 lowp_int64_t; + typedef int64 mediump_int64_t; + typedef int64 highp_int64_t; + typedef int64 int64_t; + + // Scalar uint + + typedef uint8 lowp_u8; + typedef uint8 mediump_u8; + typedef uint8 highp_u8; + typedef uint8 u8; + + typedef uint8 lowp_uint8; + typedef uint8 mediump_uint8; + typedef uint8 highp_uint8; + + typedef uint8 lowp_uint8_t; + typedef uint8 mediump_uint8_t; + typedef uint8 highp_uint8_t; + typedef uint8 uint8_t; + + typedef uint16 lowp_u16; + typedef uint16 mediump_u16; + typedef uint16 highp_u16; + typedef uint16 u16; + + typedef uint16 lowp_uint16; + typedef uint16 mediump_uint16; + typedef uint16 highp_uint16; + + typedef uint16 lowp_uint16_t; + typedef uint16 mediump_uint16_t; + typedef uint16 highp_uint16_t; + typedef uint16 uint16_t; + + typedef uint32 lowp_u32; + typedef uint32 mediump_u32; + typedef uint32 highp_u32; + typedef uint32 u32; + + typedef uint32 lowp_uint32; + typedef uint32 mediump_uint32; + typedef uint32 highp_uint32; + + typedef uint32 lowp_uint32_t; + typedef uint32 mediump_uint32_t; + typedef uint32 highp_uint32_t; + typedef uint32 uint32_t; + + typedef uint64 lowp_u64; + typedef uint64 mediump_u64; + typedef uint64 highp_u64; + typedef uint64 u64; + + typedef uint64 lowp_uint64; + typedef uint64 mediump_uint64; + typedef uint64 highp_uint64; + + typedef uint64 lowp_uint64_t; + typedef uint64 mediump_uint64_t; + typedef uint64 highp_uint64_t; + typedef uint64 uint64_t; + + // Scalar float + + typedef float lowp_f32; + typedef float mediump_f32; + typedef float highp_f32; + typedef float f32; + + typedef float lowp_float32; + typedef float mediump_float32; + typedef float highp_float32; + typedef float float32; + + typedef float lowp_float32_t; + typedef float mediump_float32_t; + typedef float highp_float32_t; + typedef float float32_t; + + + typedef double lowp_f64; + typedef double mediump_f64; + typedef double highp_f64; + typedef double f64; + + typedef double lowp_float64; + typedef double mediump_float64; + typedef double highp_float64; + typedef double float64; + + typedef double lowp_float64_t; + typedef double mediump_float64_t; + typedef double highp_float64_t; + typedef double float64_t; + + // Vector bool + + typedef vec<1, bool, lowp> lowp_bvec1; + typedef vec<2, bool, lowp> lowp_bvec2; + typedef vec<3, bool, lowp> lowp_bvec3; + typedef vec<4, bool, lowp> lowp_bvec4; + + typedef vec<1, bool, mediump> mediump_bvec1; + typedef vec<2, bool, mediump> mediump_bvec2; + typedef vec<3, bool, mediump> mediump_bvec3; + typedef vec<4, bool, mediump> mediump_bvec4; + + typedef vec<1, bool, highp> highp_bvec1; + typedef vec<2, bool, highp> highp_bvec2; + typedef vec<3, bool, highp> highp_bvec3; + typedef vec<4, bool, highp> highp_bvec4; + + typedef vec<1, bool, defaultp> bvec1; + typedef vec<2, bool, defaultp> bvec2; + typedef vec<3, bool, defaultp> bvec3; + typedef vec<4, bool, defaultp> bvec4; + + // Vector int + + typedef vec<1, i32, lowp> lowp_ivec1; + typedef vec<2, i32, lowp> lowp_ivec2; + typedef vec<3, i32, lowp> lowp_ivec3; + typedef vec<4, i32, lowp> lowp_ivec4; + + typedef vec<1, i32, mediump> mediump_ivec1; + typedef vec<2, i32, mediump> mediump_ivec2; + typedef vec<3, i32, mediump> mediump_ivec3; + typedef vec<4, i32, mediump> mediump_ivec4; + + typedef vec<1, i32, highp> highp_ivec1; + typedef vec<2, i32, highp> highp_ivec2; + typedef vec<3, i32, highp> highp_ivec3; + typedef vec<4, i32, highp> highp_ivec4; + + typedef vec<1, i32, defaultp> ivec1; + typedef vec<2, i32, defaultp> ivec2; + typedef vec<3, i32, defaultp> ivec3; + typedef vec<4, i32, defaultp> ivec4; + + typedef vec<1, i8, lowp> lowp_i8vec1; + typedef vec<2, i8, lowp> lowp_i8vec2; + typedef vec<3, i8, lowp> lowp_i8vec3; + typedef vec<4, i8, lowp> lowp_i8vec4; + + typedef vec<1, i8, mediump> mediump_i8vec1; + typedef vec<2, i8, mediump> mediump_i8vec2; + typedef vec<3, i8, mediump> mediump_i8vec3; + typedef vec<4, i8, mediump> mediump_i8vec4; + + typedef vec<1, i8, highp> highp_i8vec1; + typedef vec<2, i8, highp> highp_i8vec2; + typedef vec<3, i8, highp> highp_i8vec3; + typedef vec<4, i8, highp> highp_i8vec4; + + typedef vec<1, i8, defaultp> i8vec1; + typedef vec<2, i8, defaultp> i8vec2; + typedef vec<3, i8, defaultp> i8vec3; + typedef vec<4, i8, defaultp> i8vec4; + + typedef vec<1, i16, lowp> lowp_i16vec1; + typedef vec<2, i16, lowp> lowp_i16vec2; + typedef vec<3, i16, lowp> lowp_i16vec3; + typedef vec<4, i16, lowp> lowp_i16vec4; + + typedef vec<1, i16, mediump> mediump_i16vec1; + typedef vec<2, i16, mediump> mediump_i16vec2; + typedef vec<3, i16, mediump> mediump_i16vec3; + typedef vec<4, i16, mediump> mediump_i16vec4; + + typedef vec<1, i16, highp> highp_i16vec1; + typedef vec<2, i16, highp> highp_i16vec2; + typedef vec<3, i16, highp> highp_i16vec3; + typedef vec<4, i16, highp> highp_i16vec4; + + typedef vec<1, i16, defaultp> i16vec1; + typedef vec<2, i16, defaultp> i16vec2; + typedef vec<3, i16, defaultp> i16vec3; + typedef vec<4, i16, defaultp> i16vec4; + + typedef vec<1, i32, lowp> lowp_i32vec1; + typedef vec<2, i32, lowp> lowp_i32vec2; + typedef vec<3, i32, lowp> lowp_i32vec3; + typedef vec<4, i32, lowp> lowp_i32vec4; + + typedef vec<1, i32, mediump> mediump_i32vec1; + typedef vec<2, i32, mediump> mediump_i32vec2; + typedef vec<3, i32, mediump> mediump_i32vec3; + typedef vec<4, i32, mediump> mediump_i32vec4; + + typedef vec<1, i32, highp> highp_i32vec1; + typedef vec<2, i32, highp> highp_i32vec2; + typedef vec<3, i32, highp> highp_i32vec3; + typedef vec<4, i32, highp> highp_i32vec4; + + typedef vec<1, i32, defaultp> i32vec1; + typedef vec<2, i32, defaultp> i32vec2; + typedef vec<3, i32, defaultp> i32vec3; + typedef vec<4, i32, defaultp> i32vec4; + + typedef vec<1, i64, lowp> lowp_i64vec1; + typedef vec<2, i64, lowp> lowp_i64vec2; + typedef vec<3, i64, lowp> lowp_i64vec3; + typedef vec<4, i64, lowp> lowp_i64vec4; + + typedef vec<1, i64, mediump> mediump_i64vec1; + typedef vec<2, i64, mediump> mediump_i64vec2; + typedef vec<3, i64, mediump> mediump_i64vec3; + typedef vec<4, i64, mediump> mediump_i64vec4; + + typedef vec<1, i64, highp> highp_i64vec1; + typedef vec<2, i64, highp> highp_i64vec2; + typedef vec<3, i64, highp> highp_i64vec3; + typedef vec<4, i64, highp> highp_i64vec4; + + typedef vec<1, i64, defaultp> i64vec1; + typedef vec<2, i64, defaultp> i64vec2; + typedef vec<3, i64, defaultp> i64vec3; + typedef vec<4, i64, defaultp> i64vec4; + + // Vector uint + + typedef vec<1, u32, lowp> lowp_uvec1; + typedef vec<2, u32, lowp> lowp_uvec2; + typedef vec<3, u32, lowp> lowp_uvec3; + typedef vec<4, u32, lowp> lowp_uvec4; + + typedef vec<1, u32, mediump> mediump_uvec1; + typedef vec<2, u32, mediump> mediump_uvec2; + typedef vec<3, u32, mediump> mediump_uvec3; + typedef vec<4, u32, mediump> mediump_uvec4; + + typedef vec<1, u32, highp> highp_uvec1; + typedef vec<2, u32, highp> highp_uvec2; + typedef vec<3, u32, highp> highp_uvec3; + typedef vec<4, u32, highp> highp_uvec4; + + typedef vec<1, u32, defaultp> uvec1; + typedef vec<2, u32, defaultp> uvec2; + typedef vec<3, u32, defaultp> uvec3; + typedef vec<4, u32, defaultp> uvec4; + + typedef vec<1, u8, lowp> lowp_u8vec1; + typedef vec<2, u8, lowp> lowp_u8vec2; + typedef vec<3, u8, lowp> lowp_u8vec3; + typedef vec<4, u8, lowp> lowp_u8vec4; + + typedef vec<1, u8, mediump> mediump_u8vec1; + typedef vec<2, u8, mediump> mediump_u8vec2; + typedef vec<3, u8, mediump> mediump_u8vec3; + typedef vec<4, u8, mediump> mediump_u8vec4; + + typedef vec<1, u8, highp> highp_u8vec1; + typedef vec<2, u8, highp> highp_u8vec2; + typedef vec<3, u8, highp> highp_u8vec3; + typedef vec<4, u8, highp> highp_u8vec4; + + typedef vec<1, u8, defaultp> u8vec1; + typedef vec<2, u8, defaultp> u8vec2; + typedef vec<3, u8, defaultp> u8vec3; + typedef vec<4, u8, defaultp> u8vec4; + + typedef vec<1, u16, lowp> lowp_u16vec1; + typedef vec<2, u16, lowp> lowp_u16vec2; + typedef vec<3, u16, lowp> lowp_u16vec3; + typedef vec<4, u16, lowp> lowp_u16vec4; + + typedef vec<1, u16, mediump> mediump_u16vec1; + typedef vec<2, u16, mediump> mediump_u16vec2; + typedef vec<3, u16, mediump> mediump_u16vec3; + typedef vec<4, u16, mediump> mediump_u16vec4; + + typedef vec<1, u16, highp> highp_u16vec1; + typedef vec<2, u16, highp> highp_u16vec2; + typedef vec<3, u16, highp> highp_u16vec3; + typedef vec<4, u16, highp> highp_u16vec4; + + typedef vec<1, u16, defaultp> u16vec1; + typedef vec<2, u16, defaultp> u16vec2; + typedef vec<3, u16, defaultp> u16vec3; + typedef vec<4, u16, defaultp> u16vec4; + + typedef vec<1, u32, lowp> lowp_u32vec1; + typedef vec<2, u32, lowp> lowp_u32vec2; + typedef vec<3, u32, lowp> lowp_u32vec3; + typedef vec<4, u32, lowp> lowp_u32vec4; + + typedef vec<1, u32, mediump> mediump_u32vec1; + typedef vec<2, u32, mediump> mediump_u32vec2; + typedef vec<3, u32, mediump> mediump_u32vec3; + typedef vec<4, u32, mediump> mediump_u32vec4; + + typedef vec<1, u32, highp> highp_u32vec1; + typedef vec<2, u32, highp> highp_u32vec2; + typedef vec<3, u32, highp> highp_u32vec3; + typedef vec<4, u32, highp> highp_u32vec4; + + typedef vec<1, u32, defaultp> u32vec1; + typedef vec<2, u32, defaultp> u32vec2; + typedef vec<3, u32, defaultp> u32vec3; + typedef vec<4, u32, defaultp> u32vec4; + + typedef vec<1, u64, lowp> lowp_u64vec1; + typedef vec<2, u64, lowp> lowp_u64vec2; + typedef vec<3, u64, lowp> lowp_u64vec3; + typedef vec<4, u64, lowp> lowp_u64vec4; + + typedef vec<1, u64, mediump> mediump_u64vec1; + typedef vec<2, u64, mediump> mediump_u64vec2; + typedef vec<3, u64, mediump> mediump_u64vec3; + typedef vec<4, u64, mediump> mediump_u64vec4; + + typedef vec<1, u64, highp> highp_u64vec1; + typedef vec<2, u64, highp> highp_u64vec2; + typedef vec<3, u64, highp> highp_u64vec3; + typedef vec<4, u64, highp> highp_u64vec4; + + typedef vec<1, u64, defaultp> u64vec1; + typedef vec<2, u64, defaultp> u64vec2; + typedef vec<3, u64, defaultp> u64vec3; + typedef vec<4, u64, defaultp> u64vec4; + + // Vector float + + typedef vec<1, float, lowp> lowp_vec1; + typedef vec<2, float, lowp> lowp_vec2; + typedef vec<3, float, lowp> lowp_vec3; + typedef vec<4, float, lowp> lowp_vec4; + + typedef vec<1, float, mediump> mediump_vec1; + typedef vec<2, float, mediump> mediump_vec2; + typedef vec<3, float, mediump> mediump_vec3; + typedef vec<4, float, mediump> mediump_vec4; + + typedef vec<1, float, highp> highp_vec1; + typedef vec<2, float, highp> highp_vec2; + typedef vec<3, float, highp> highp_vec3; + typedef vec<4, float, highp> highp_vec4; + + typedef vec<1, float, defaultp> vec1; + typedef vec<2, float, defaultp> vec2; + typedef vec<3, float, defaultp> vec3; + typedef vec<4, float, defaultp> vec4; + + typedef vec<1, float, lowp> lowp_fvec1; + typedef vec<2, float, lowp> lowp_fvec2; + typedef vec<3, float, lowp> lowp_fvec3; + typedef vec<4, float, lowp> lowp_fvec4; + + typedef vec<1, float, mediump> mediump_fvec1; + typedef vec<2, float, mediump> mediump_fvec2; + typedef vec<3, float, mediump> mediump_fvec3; + typedef vec<4, float, mediump> mediump_fvec4; + + typedef vec<1, float, highp> highp_fvec1; + typedef vec<2, float, highp> highp_fvec2; + typedef vec<3, float, highp> highp_fvec3; + typedef vec<4, float, highp> highp_fvec4; + + typedef vec<1, f32, defaultp> fvec1; + typedef vec<2, f32, defaultp> fvec2; + typedef vec<3, f32, defaultp> fvec3; + typedef vec<4, f32, defaultp> fvec4; + + typedef vec<1, f32, lowp> lowp_f32vec1; + typedef vec<2, f32, lowp> lowp_f32vec2; + typedef vec<3, f32, lowp> lowp_f32vec3; + typedef vec<4, f32, lowp> lowp_f32vec4; + + typedef vec<1, f32, mediump> mediump_f32vec1; + typedef vec<2, f32, mediump> mediump_f32vec2; + typedef vec<3, f32, mediump> mediump_f32vec3; + typedef vec<4, f32, mediump> mediump_f32vec4; + + typedef vec<1, f32, highp> highp_f32vec1; + typedef vec<2, f32, highp> highp_f32vec2; + typedef vec<3, f32, highp> highp_f32vec3; + typedef vec<4, f32, highp> highp_f32vec4; + + typedef vec<1, f32, defaultp> f32vec1; + typedef vec<2, f32, defaultp> f32vec2; + typedef vec<3, f32, defaultp> f32vec3; + typedef vec<4, f32, defaultp> f32vec4; + + typedef vec<1, f64, lowp> lowp_dvec1; + typedef vec<2, f64, lowp> lowp_dvec2; + typedef vec<3, f64, lowp> lowp_dvec3; + typedef vec<4, f64, lowp> lowp_dvec4; + + typedef vec<1, f64, mediump> mediump_dvec1; + typedef vec<2, f64, mediump> mediump_dvec2; + typedef vec<3, f64, mediump> mediump_dvec3; + typedef vec<4, f64, mediump> mediump_dvec4; + + typedef vec<1, f64, highp> highp_dvec1; + typedef vec<2, f64, highp> highp_dvec2; + typedef vec<3, f64, highp> highp_dvec3; + typedef vec<4, f64, highp> highp_dvec4; + + typedef vec<1, f64, defaultp> dvec1; + typedef vec<2, f64, defaultp> dvec2; + typedef vec<3, f64, defaultp> dvec3; + typedef vec<4, f64, defaultp> dvec4; + + typedef vec<1, f64, lowp> lowp_f64vec1; + typedef vec<2, f64, lowp> lowp_f64vec2; + typedef vec<3, f64, lowp> lowp_f64vec3; + typedef vec<4, f64, lowp> lowp_f64vec4; + + typedef vec<1, f64, mediump> mediump_f64vec1; + typedef vec<2, f64, mediump> mediump_f64vec2; + typedef vec<3, f64, mediump> mediump_f64vec3; + typedef vec<4, f64, mediump> mediump_f64vec4; + + typedef vec<1, f64, highp> highp_f64vec1; + typedef vec<2, f64, highp> highp_f64vec2; + typedef vec<3, f64, highp> highp_f64vec3; + typedef vec<4, f64, highp> highp_f64vec4; + + typedef vec<1, f64, defaultp> f64vec1; + typedef vec<2, f64, defaultp> f64vec2; + typedef vec<3, f64, defaultp> f64vec3; + typedef vec<4, f64, defaultp> f64vec4; + + // Matrix NxN + + typedef mat<2, 2, f32, lowp> lowp_mat2; + typedef mat<3, 3, f32, lowp> lowp_mat3; + typedef mat<4, 4, f32, lowp> lowp_mat4; + + typedef mat<2, 2, f32, mediump> mediump_mat2; + typedef mat<3, 3, f32, mediump> mediump_mat3; + typedef mat<4, 4, f32, mediump> mediump_mat4; + + typedef mat<2, 2, f32, highp> highp_mat2; + typedef mat<3, 3, f32, highp> highp_mat3; + typedef mat<4, 4, f32, highp> highp_mat4; + + typedef mat<2, 2, f32, defaultp> mat2; + typedef mat<3, 3, f32, defaultp> mat3; + typedef mat<4, 4, f32, defaultp> mat4; + + typedef mat<2, 2, f32, lowp> lowp_fmat2; + typedef mat<3, 3, f32, lowp> lowp_fmat3; + typedef mat<4, 4, f32, lowp> lowp_fmat4; + + typedef mat<2, 2, f32, mediump> mediump_fmat2; + typedef mat<3, 3, f32, mediump> mediump_fmat3; + typedef mat<4, 4, f32, mediump> mediump_fmat4; + + typedef mat<2, 2, f32, highp> highp_fmat2; + typedef mat<3, 3, f32, highp> highp_fmat3; + typedef mat<4, 4, f32, highp> highp_fmat4; + + typedef mat<2, 2, f32, defaultp> fmat2; + typedef mat<3, 3, f32, defaultp> fmat3; + typedef mat<4, 4, f32, defaultp> fmat4; + + typedef mat<2, 2, f32, lowp> lowp_f32mat2; + typedef mat<3, 3, f32, lowp> lowp_f32mat3; + typedef mat<4, 4, f32, lowp> lowp_f32mat4; + + typedef mat<2, 2, f32, mediump> mediump_f32mat2; + typedef mat<3, 3, f32, mediump> mediump_f32mat3; + typedef mat<4, 4, f32, mediump> mediump_f32mat4; + + typedef mat<2, 2, f32, highp> highp_f32mat2; + typedef mat<3, 3, f32, highp> highp_f32mat3; + typedef mat<4, 4, f32, highp> highp_f32mat4; + + typedef mat<2, 2, f32, defaultp> f32mat2; + typedef mat<3, 3, f32, defaultp> f32mat3; + typedef mat<4, 4, f32, defaultp> f32mat4; + + typedef mat<2, 2, f64, lowp> lowp_dmat2; + typedef mat<3, 3, f64, lowp> lowp_dmat3; + typedef mat<4, 4, f64, lowp> lowp_dmat4; + + typedef mat<2, 2, f64, mediump> mediump_dmat2; + typedef mat<3, 3, f64, mediump> mediump_dmat3; + typedef mat<4, 4, f64, mediump> mediump_dmat4; + + typedef mat<2, 2, f64, highp> highp_dmat2; + typedef mat<3, 3, f64, highp> highp_dmat3; + typedef mat<4, 4, f64, highp> highp_dmat4; + + typedef mat<2, 2, f64, defaultp> dmat2; + typedef mat<3, 3, f64, defaultp> dmat3; + typedef mat<4, 4, f64, defaultp> dmat4; + + typedef mat<2, 2, f64, lowp> lowp_f64mat2; + typedef mat<3, 3, f64, lowp> lowp_f64mat3; + typedef mat<4, 4, f64, lowp> lowp_f64mat4; + + typedef mat<2, 2, f64, mediump> mediump_f64mat2; + typedef mat<3, 3, f64, mediump> mediump_f64mat3; + typedef mat<4, 4, f64, mediump> mediump_f64mat4; + + typedef mat<2, 2, f64, highp> highp_f64mat2; + typedef mat<3, 3, f64, highp> highp_f64mat3; + typedef mat<4, 4, f64, highp> highp_f64mat4; + + typedef mat<2, 2, f64, defaultp> f64mat2; + typedef mat<3, 3, f64, defaultp> f64mat3; + typedef mat<4, 4, f64, defaultp> f64mat4; + + // Matrix MxN + + typedef mat<2, 2, f32, lowp> lowp_mat2x2; + typedef mat<2, 3, f32, lowp> lowp_mat2x3; + typedef mat<2, 4, f32, lowp> lowp_mat2x4; + typedef mat<3, 2, f32, lowp> lowp_mat3x2; + typedef mat<3, 3, f32, lowp> lowp_mat3x3; + typedef mat<3, 4, f32, lowp> lowp_mat3x4; + typedef mat<4, 2, f32, lowp> lowp_mat4x2; + typedef mat<4, 3, f32, lowp> lowp_mat4x3; + typedef mat<4, 4, f32, lowp> lowp_mat4x4; + + typedef mat<2, 2, f32, mediump> mediump_mat2x2; + typedef mat<2, 3, f32, mediump> mediump_mat2x3; + typedef mat<2, 4, f32, mediump> mediump_mat2x4; + typedef mat<3, 2, f32, mediump> mediump_mat3x2; + typedef mat<3, 3, f32, mediump> mediump_mat3x3; + typedef mat<3, 4, f32, mediump> mediump_mat3x4; + typedef mat<4, 2, f32, mediump> mediump_mat4x2; + typedef mat<4, 3, f32, mediump> mediump_mat4x3; + typedef mat<4, 4, f32, mediump> mediump_mat4x4; + + typedef mat<2, 2, f32, highp> highp_mat2x2; + typedef mat<2, 3, f32, highp> highp_mat2x3; + typedef mat<2, 4, f32, highp> highp_mat2x4; + typedef mat<3, 2, f32, highp> highp_mat3x2; + typedef mat<3, 3, f32, highp> highp_mat3x3; + typedef mat<3, 4, f32, highp> highp_mat3x4; + typedef mat<4, 2, f32, highp> highp_mat4x2; + typedef mat<4, 3, f32, highp> highp_mat4x3; + typedef mat<4, 4, f32, highp> highp_mat4x4; + + typedef mat<2, 2, f32, defaultp> mat2x2; + typedef mat<3, 2, f32, defaultp> mat3x2; + typedef mat<4, 2, f32, defaultp> mat4x2; + typedef mat<2, 3, f32, defaultp> mat2x3; + typedef mat<3, 3, f32, defaultp> mat3x3; + typedef mat<4, 3, f32, defaultp> mat4x3; + typedef mat<2, 4, f32, defaultp> mat2x4; + typedef mat<3, 4, f32, defaultp> mat3x4; + typedef mat<4, 4, f32, defaultp> mat4x4; + + typedef mat<2, 2, f32, lowp> lowp_fmat2x2; + typedef mat<2, 3, f32, lowp> lowp_fmat2x3; + typedef mat<2, 4, f32, lowp> lowp_fmat2x4; + typedef mat<3, 2, f32, lowp> lowp_fmat3x2; + typedef mat<3, 3, f32, lowp> lowp_fmat3x3; + typedef mat<3, 4, f32, lowp> lowp_fmat3x4; + typedef mat<4, 2, f32, lowp> lowp_fmat4x2; + typedef mat<4, 3, f32, lowp> lowp_fmat4x3; + typedef mat<4, 4, f32, lowp> lowp_fmat4x4; + + typedef mat<2, 2, f32, mediump> mediump_fmat2x2; + typedef mat<2, 3, f32, mediump> mediump_fmat2x3; + typedef mat<2, 4, f32, mediump> mediump_fmat2x4; + typedef mat<3, 2, f32, mediump> mediump_fmat3x2; + typedef mat<3, 3, f32, mediump> mediump_fmat3x3; + typedef mat<3, 4, f32, mediump> mediump_fmat3x4; + typedef mat<4, 2, f32, mediump> mediump_fmat4x2; + typedef mat<4, 3, f32, mediump> mediump_fmat4x3; + typedef mat<4, 4, f32, mediump> mediump_fmat4x4; + + typedef mat<2, 2, f32, highp> highp_fmat2x2; + typedef mat<2, 3, f32, highp> highp_fmat2x3; + typedef mat<2, 4, f32, highp> highp_fmat2x4; + typedef mat<3, 2, f32, highp> highp_fmat3x2; + typedef mat<3, 3, f32, highp> highp_fmat3x3; + typedef mat<3, 4, f32, highp> highp_fmat3x4; + typedef mat<4, 2, f32, highp> highp_fmat4x2; + typedef mat<4, 3, f32, highp> highp_fmat4x3; + typedef mat<4, 4, f32, highp> highp_fmat4x4; + + typedef mat<2, 2, f32, defaultp> fmat2x2; + typedef mat<3, 2, f32, defaultp> fmat3x2; + typedef mat<4, 2, f32, defaultp> fmat4x2; + typedef mat<2, 3, f32, defaultp> fmat2x3; + typedef mat<3, 3, f32, defaultp> fmat3x3; + typedef mat<4, 3, f32, defaultp> fmat4x3; + typedef mat<2, 4, f32, defaultp> fmat2x4; + typedef mat<3, 4, f32, defaultp> fmat3x4; + typedef mat<4, 4, f32, defaultp> fmat4x4; + + typedef mat<2, 2, f32, lowp> lowp_f32mat2x2; + typedef mat<2, 3, f32, lowp> lowp_f32mat2x3; + typedef mat<2, 4, f32, lowp> lowp_f32mat2x4; + typedef mat<3, 2, f32, lowp> lowp_f32mat3x2; + typedef mat<3, 3, f32, lowp> lowp_f32mat3x3; + typedef mat<3, 4, f32, lowp> lowp_f32mat3x4; + typedef mat<4, 2, f32, lowp> lowp_f32mat4x2; + typedef mat<4, 3, f32, lowp> lowp_f32mat4x3; + typedef mat<4, 4, f32, lowp> lowp_f32mat4x4; + + typedef mat<2, 2, f32, mediump> mediump_f32mat2x2; + typedef mat<2, 3, f32, mediump> mediump_f32mat2x3; + typedef mat<2, 4, f32, mediump> mediump_f32mat2x4; + typedef mat<3, 2, f32, mediump> mediump_f32mat3x2; + typedef mat<3, 3, f32, mediump> mediump_f32mat3x3; + typedef mat<3, 4, f32, mediump> mediump_f32mat3x4; + typedef mat<4, 2, f32, mediump> mediump_f32mat4x2; + typedef mat<4, 3, f32, mediump> mediump_f32mat4x3; + typedef mat<4, 4, f32, mediump> mediump_f32mat4x4; + + typedef mat<2, 2, f32, highp> highp_f32mat2x2; + typedef mat<2, 3, f32, highp> highp_f32mat2x3; + typedef mat<2, 4, f32, highp> highp_f32mat2x4; + typedef mat<3, 2, f32, highp> highp_f32mat3x2; + typedef mat<3, 3, f32, highp> highp_f32mat3x3; + typedef mat<3, 4, f32, highp> highp_f32mat3x4; + typedef mat<4, 2, f32, highp> highp_f32mat4x2; + typedef mat<4, 3, f32, highp> highp_f32mat4x3; + typedef mat<4, 4, f32, highp> highp_f32mat4x4; + + typedef mat<2, 2, f32, defaultp> f32mat2x2; + typedef mat<3, 2, f32, defaultp> f32mat3x2; + typedef mat<4, 2, f32, defaultp> f32mat4x2; + typedef mat<2, 3, f32, defaultp> f32mat2x3; + typedef mat<3, 3, f32, defaultp> f32mat3x3; + typedef mat<4, 3, f32, defaultp> f32mat4x3; + typedef mat<2, 4, f32, defaultp> f32mat2x4; + typedef mat<3, 4, f32, defaultp> f32mat3x4; + typedef mat<4, 4, f32, defaultp> f32mat4x4; + + typedef mat<2, 2, double, lowp> lowp_dmat2x2; + typedef mat<2, 3, double, lowp> lowp_dmat2x3; + typedef mat<2, 4, double, lowp> lowp_dmat2x4; + typedef mat<3, 2, double, lowp> lowp_dmat3x2; + typedef mat<3, 3, double, lowp> lowp_dmat3x3; + typedef mat<3, 4, double, lowp> lowp_dmat3x4; + typedef mat<4, 2, double, lowp> lowp_dmat4x2; + typedef mat<4, 3, double, lowp> lowp_dmat4x3; + typedef mat<4, 4, double, lowp> lowp_dmat4x4; + + typedef mat<2, 2, double, mediump> mediump_dmat2x2; + typedef mat<2, 3, double, mediump> mediump_dmat2x3; + typedef mat<2, 4, double, mediump> mediump_dmat2x4; + typedef mat<3, 2, double, mediump> mediump_dmat3x2; + typedef mat<3, 3, double, mediump> mediump_dmat3x3; + typedef mat<3, 4, double, mediump> mediump_dmat3x4; + typedef mat<4, 2, double, mediump> mediump_dmat4x2; + typedef mat<4, 3, double, mediump> mediump_dmat4x3; + typedef mat<4, 4, double, mediump> mediump_dmat4x4; + + typedef mat<2, 2, double, highp> highp_dmat2x2; + typedef mat<2, 3, double, highp> highp_dmat2x3; + typedef mat<2, 4, double, highp> highp_dmat2x4; + typedef mat<3, 2, double, highp> highp_dmat3x2; + typedef mat<3, 3, double, highp> highp_dmat3x3; + typedef mat<3, 4, double, highp> highp_dmat3x4; + typedef mat<4, 2, double, highp> highp_dmat4x2; + typedef mat<4, 3, double, highp> highp_dmat4x3; + typedef mat<4, 4, double, highp> highp_dmat4x4; + + typedef mat<2, 2, double, defaultp> dmat2x2; + typedef mat<3, 2, double, defaultp> dmat3x2; + typedef mat<4, 2, double, defaultp> dmat4x2; + typedef mat<2, 3, double, defaultp> dmat2x3; + typedef mat<3, 3, double, defaultp> dmat3x3; + typedef mat<4, 3, double, defaultp> dmat4x3; + typedef mat<2, 4, double, defaultp> dmat2x4; + typedef mat<3, 4, double, defaultp> dmat3x4; + typedef mat<4, 4, double, defaultp> dmat4x4; + + typedef mat<2, 2, f64, lowp> lowp_f64mat2x2; + typedef mat<2, 3, f64, lowp> lowp_f64mat2x3; + typedef mat<2, 4, f64, lowp> lowp_f64mat2x4; + typedef mat<3, 2, f64, lowp> lowp_f64mat3x2; + typedef mat<3, 3, f64, lowp> lowp_f64mat3x3; + typedef mat<3, 4, f64, lowp> lowp_f64mat3x4; + typedef mat<4, 2, f64, lowp> lowp_f64mat4x2; + typedef mat<4, 3, f64, lowp> lowp_f64mat4x3; + typedef mat<4, 4, f64, lowp> lowp_f64mat4x4; + + typedef mat<2, 2, f64, mediump> mediump_f64mat2x2; + typedef mat<2, 3, f64, mediump> mediump_f64mat2x3; + typedef mat<2, 4, f64, mediump> mediump_f64mat2x4; + typedef mat<3, 2, f64, mediump> mediump_f64mat3x2; + typedef mat<3, 3, f64, mediump> mediump_f64mat3x3; + typedef mat<3, 4, f64, mediump> mediump_f64mat3x4; + typedef mat<4, 2, f64, mediump> mediump_f64mat4x2; + typedef mat<4, 3, f64, mediump> mediump_f64mat4x3; + typedef mat<4, 4, f64, mediump> mediump_f64mat4x4; + + typedef mat<2, 2, f64, highp> highp_f64mat2x2; + typedef mat<2, 3, f64, highp> highp_f64mat2x3; + typedef mat<2, 4, f64, highp> highp_f64mat2x4; + typedef mat<3, 2, f64, highp> highp_f64mat3x2; + typedef mat<3, 3, f64, highp> highp_f64mat3x3; + typedef mat<3, 4, f64, highp> highp_f64mat3x4; + typedef mat<4, 2, f64, highp> highp_f64mat4x2; + typedef mat<4, 3, f64, highp> highp_f64mat4x3; + typedef mat<4, 4, f64, highp> highp_f64mat4x4; + + typedef mat<2, 2, f64, defaultp> f64mat2x2; + typedef mat<3, 2, f64, defaultp> f64mat3x2; + typedef mat<4, 2, f64, defaultp> f64mat4x2; + typedef mat<2, 3, f64, defaultp> f64mat2x3; + typedef mat<3, 3, f64, defaultp> f64mat3x3; + typedef mat<4, 3, f64, defaultp> f64mat4x3; + typedef mat<2, 4, f64, defaultp> f64mat2x4; + typedef mat<3, 4, f64, defaultp> f64mat3x4; + typedef mat<4, 4, f64, defaultp> f64mat4x4; + + // Quaternion + + typedef qua lowp_quat; + typedef qua mediump_quat; + typedef qua highp_quat; + typedef qua quat; + + typedef qua lowp_fquat; + typedef qua mediump_fquat; + typedef qua highp_fquat; + typedef qua fquat; + + typedef qua lowp_f32quat; + typedef qua mediump_f32quat; + typedef qua highp_f32quat; + typedef qua f32quat; + + typedef qua lowp_dquat; + typedef qua mediump_dquat; + typedef qua highp_dquat; + typedef qua dquat; + + typedef qua lowp_f64quat; + typedef qua mediump_f64quat; + typedef qua highp_f64quat; + typedef qua f64quat; +}//namespace glm + + diff --git a/MacroLibX/third_party/glm/geometric.hpp b/MacroLibX/third_party/glm/geometric.hpp new file mode 100644 index 0000000..c068a3c --- /dev/null +++ b/MacroLibX/third_party/glm/geometric.hpp @@ -0,0 +1,116 @@ +/// @ref core +/// @file glm/geometric.hpp +/// +/// @see GLSL 4.20.8 specification, section 8.5 Geometric Functions +/// +/// @defgroup core_func_geometric Geometric functions +/// @ingroup core +/// +/// These operate on vectors as vectors, not component-wise. +/// +/// Include to use these core features. + +#pragma once + +#include "detail/type_vec3.hpp" + +namespace glm +{ + /// @addtogroup core_func_geometric + /// @{ + + /// Returns the length of x, i.e., sqrt(x * x). + /// + /// @tparam L An integer between 1 and 4 included that qualify the dimension of the vector. + /// @tparam T Floating-point scalar types. + /// + /// @see GLSL length man page + /// @see GLSL 4.20.8 specification, section 8.5 Geometric Functions + template + GLM_FUNC_DECL T length(vec const& x); + + /// Returns the distance betwwen p0 and p1, i.e., length(p0 - p1). + /// + /// @tparam L An integer between 1 and 4 included that qualify the dimension of the vector. + /// @tparam T Floating-point scalar types. + /// + /// @see GLSL distance man page + /// @see GLSL 4.20.8 specification, section 8.5 Geometric Functions + template + GLM_FUNC_DECL T distance(vec const& p0, vec const& p1); + + /// Returns the dot product of x and y, i.e., result = x * y. + /// + /// @tparam L An integer between 1 and 4 included that qualify the dimension of the vector. + /// @tparam T Floating-point scalar types. + /// + /// @see GLSL dot man page + /// @see GLSL 4.20.8 specification, section 8.5 Geometric Functions + template + GLM_FUNC_DECL T dot(vec const& x, vec const& y); + + /// Returns the cross product of x and y. + /// + /// @tparam T Floating-point scalar types. + /// + /// @see GLSL cross man page + /// @see GLSL 4.20.8 specification, section 8.5 Geometric Functions + template + GLM_FUNC_DECL vec<3, T, Q> cross(vec<3, T, Q> const& x, vec<3, T, Q> const& y); + + /// Returns a vector in the same direction as x but with length of 1. + /// According to issue 10 GLSL 1.10 specification, if length(x) == 0 then result is undefined and generate an error. + /// + /// @tparam L An integer between 1 and 4 included that qualify the dimension of the vector. + /// @tparam T Floating-point scalar types. + /// + /// @see GLSL normalize man page + /// @see GLSL 4.20.8 specification, section 8.5 Geometric Functions + template + GLM_FUNC_DECL vec normalize(vec const& x); + + /// If dot(Nref, I) < 0.0, return N, otherwise, return -N. + /// + /// @tparam L An integer between 1 and 4 included that qualify the dimension of the vector. + /// @tparam T Floating-point scalar types. + /// + /// @see GLSL faceforward man page + /// @see GLSL 4.20.8 specification, section 8.5 Geometric Functions + template + GLM_FUNC_DECL vec faceforward( + vec const& N, + vec const& I, + vec const& Nref); + + /// For the incident vector I and surface orientation N, + /// returns the reflection direction : result = I - 2.0 * dot(N, I) * N. + /// + /// @tparam L An integer between 1 and 4 included that qualify the dimension of the vector. + /// @tparam T Floating-point scalar types. + /// + /// @see GLSL reflect man page + /// @see GLSL 4.20.8 specification, section 8.5 Geometric Functions + template + GLM_FUNC_DECL vec reflect( + vec const& I, + vec const& N); + + /// For the incident vector I and surface normal N, + /// and the ratio of indices of refraction eta, + /// return the refraction vector. + /// + /// @tparam L An integer between 1 and 4 included that qualify the dimension of the vector. + /// @tparam T Floating-point scalar types. + /// + /// @see GLSL refract man page + /// @see GLSL 4.20.8 specification, section 8.5 Geometric Functions + template + GLM_FUNC_DECL vec refract( + vec const& I, + vec const& N, + T eta); + + /// @} +}//namespace glm + +#include "detail/func_geometric.inl" diff --git a/MacroLibX/third_party/glm/glm.hpp b/MacroLibX/third_party/glm/glm.hpp new file mode 100644 index 0000000..8b61064 --- /dev/null +++ b/MacroLibX/third_party/glm/glm.hpp @@ -0,0 +1,136 @@ +/// @ref core +/// @file glm/glm.hpp +/// +/// @defgroup core Core features +/// +/// @brief Features that implement in C++ the GLSL specification as closely as possible. +/// +/// The GLM core consists of C++ types that mirror GLSL types and +/// C++ functions that mirror the GLSL functions. +/// +/// The best documentation for GLM Core is the current GLSL specification, +/// version 4.2 +/// (pdf file). +/// +/// GLM core functionalities require to be included to be used. +/// +/// +/// @defgroup core_vector Vector types +/// +/// Vector types of two to four components with an exhaustive set of operators. +/// +/// @ingroup core +/// +/// +/// @defgroup core_vector_precision Vector types with precision qualifiers +/// +/// @brief Vector types with precision qualifiers which may result in various precision in term of ULPs +/// +/// GLSL allows defining qualifiers for particular variables. +/// With OpenGL's GLSL, these qualifiers have no effect; they are there for compatibility, +/// with OpenGL ES's GLSL, these qualifiers do have an effect. +/// +/// C++ has no language equivalent to qualifier qualifiers. So GLM provides the next-best thing: +/// a number of typedefs that use a particular qualifier. +/// +/// None of these types make any guarantees about the actual qualifier used. +/// +/// @ingroup core +/// +/// +/// @defgroup core_matrix Matrix types +/// +/// Matrix types of with C columns and R rows where C and R are values between 2 to 4 included. +/// These types have exhaustive sets of operators. +/// +/// @ingroup core +/// +/// +/// @defgroup core_matrix_precision Matrix types with precision qualifiers +/// +/// @brief Matrix types with precision qualifiers which may result in various precision in term of ULPs +/// +/// GLSL allows defining qualifiers for particular variables. +/// With OpenGL's GLSL, these qualifiers have no effect; they are there for compatibility, +/// with OpenGL ES's GLSL, these qualifiers do have an effect. +/// +/// C++ has no language equivalent to qualifier qualifiers. So GLM provides the next-best thing: +/// a number of typedefs that use a particular qualifier. +/// +/// None of these types make any guarantees about the actual qualifier used. +/// +/// @ingroup core +/// +/// +/// @defgroup ext Stable extensions +/// +/// @brief Additional features not specified by GLSL specification. +/// +/// EXT extensions are fully tested and documented. +/// +/// Even if it's highly unrecommended, it's possible to include all the extensions at once by +/// including . Otherwise, each extension needs to be included a specific file. +/// +/// +/// @defgroup gtc Recommended extensions +/// +/// @brief Additional features not specified by GLSL specification. +/// +/// GTC extensions aim to be stable with tests and documentation. +/// +/// Even if it's highly unrecommended, it's possible to include all the extensions at once by +/// including . Otherwise, each extension needs to be included a specific file. +/// +/// +/// @defgroup gtx Experimental extensions +/// +/// @brief Experimental features not specified by GLSL specification. +/// +/// Experimental extensions are useful functions and types, but the development of +/// their API and functionality is not necessarily stable. They can change +/// substantially between versions. Backwards compatibility is not much of an issue +/// for them. +/// +/// Even if it's highly unrecommended, it's possible to include all the extensions +/// at once by including . Otherwise, each extension needs to be +/// included a specific file. +/// +/// @mainpage OpenGL Mathematics (GLM) +/// - Website: glm.g-truc.net +/// - GLM API documentation +/// - GLM Manual + +#include "detail/_fixes.hpp" + +#include "detail/setup.hpp" + +#pragma once + +#include +#include +#include +#include +#include +#include "fwd.hpp" + +#include "vec2.hpp" +#include "vec3.hpp" +#include "vec4.hpp" +#include "mat2x2.hpp" +#include "mat2x3.hpp" +#include "mat2x4.hpp" +#include "mat3x2.hpp" +#include "mat3x3.hpp" +#include "mat3x4.hpp" +#include "mat4x2.hpp" +#include "mat4x3.hpp" +#include "mat4x4.hpp" + +#include "trigonometric.hpp" +#include "exponential.hpp" +#include "common.hpp" +#include "packing.hpp" +#include "geometric.hpp" +#include "matrix.hpp" +#include "vector_relational.hpp" +#include "integer.hpp" diff --git a/MacroLibX/third_party/glm/gtc/bitfield.hpp b/MacroLibX/third_party/glm/gtc/bitfield.hpp new file mode 100644 index 0000000..084fbe7 --- /dev/null +++ b/MacroLibX/third_party/glm/gtc/bitfield.hpp @@ -0,0 +1,266 @@ +/// @ref gtc_bitfield +/// @file glm/gtc/bitfield.hpp +/// +/// @see core (dependence) +/// @see gtc_bitfield (dependence) +/// +/// @defgroup gtc_bitfield GLM_GTC_bitfield +/// @ingroup gtc +/// +/// Include to use the features of this extension. +/// +/// Allow to perform bit operations on integer values + +#include "../detail/setup.hpp" + +#pragma once + +// Dependencies +#include "../ext/scalar_int_sized.hpp" +#include "../ext/scalar_uint_sized.hpp" +#include "../detail/qualifier.hpp" +#include "../detail/_vectorize.hpp" +#include "type_precision.hpp" +#include + +#if GLM_MESSAGES == GLM_ENABLE && !defined(GLM_EXT_INCLUDED) +# pragma message("GLM: GLM_GTC_bitfield extension included") +#endif + +namespace glm +{ + /// @addtogroup gtc_bitfield + /// @{ + + /// Build a mask of 'count' bits + /// + /// @see gtc_bitfield + template + GLM_FUNC_DECL genIUType mask(genIUType Bits); + + /// Build a mask of 'count' bits + /// + /// @tparam L Integer between 1 and 4 included that qualify the dimension of the vector + /// @tparam T Signed and unsigned integer scalar types + /// @tparam Q Value from qualifier enum + /// + /// @see gtc_bitfield + template + GLM_FUNC_DECL vec mask(vec const& v); + + /// Rotate all bits to the right. All the bits dropped in the right side are inserted back on the left side. + /// + /// @see gtc_bitfield + template + GLM_FUNC_DECL genIUType bitfieldRotateRight(genIUType In, int Shift); + + /// Rotate all bits to the right. All the bits dropped in the right side are inserted back on the left side. + /// + /// @tparam L Integer between 1 and 4 included that qualify the dimension of the vector + /// @tparam T Signed and unsigned integer scalar types + /// @tparam Q Value from qualifier enum + /// + /// @see gtc_bitfield + template + GLM_FUNC_DECL vec bitfieldRotateRight(vec const& In, int Shift); + + /// Rotate all bits to the left. All the bits dropped in the left side are inserted back on the right side. + /// + /// @see gtc_bitfield + template + GLM_FUNC_DECL genIUType bitfieldRotateLeft(genIUType In, int Shift); + + /// Rotate all bits to the left. All the bits dropped in the left side are inserted back on the right side. + /// + /// @tparam L Integer between 1 and 4 included that qualify the dimension of the vector + /// @tparam T Signed and unsigned integer scalar types + /// @tparam Q Value from qualifier enum + /// + /// @see gtc_bitfield + template + GLM_FUNC_DECL vec bitfieldRotateLeft(vec const& In, int Shift); + + /// Set to 1 a range of bits. + /// + /// @see gtc_bitfield + template + GLM_FUNC_DECL genIUType bitfieldFillOne(genIUType Value, int FirstBit, int BitCount); + + /// Set to 1 a range of bits. + /// + /// @tparam L Integer between 1 and 4 included that qualify the dimension of the vector + /// @tparam T Signed and unsigned integer scalar types + /// @tparam Q Value from qualifier enum + /// + /// @see gtc_bitfield + template + GLM_FUNC_DECL vec bitfieldFillOne(vec const& Value, int FirstBit, int BitCount); + + /// Set to 0 a range of bits. + /// + /// @see gtc_bitfield + template + GLM_FUNC_DECL genIUType bitfieldFillZero(genIUType Value, int FirstBit, int BitCount); + + /// Set to 0 a range of bits. + /// + /// @tparam L Integer between 1 and 4 included that qualify the dimension of the vector + /// @tparam T Signed and unsigned integer scalar types + /// @tparam Q Value from qualifier enum + /// + /// @see gtc_bitfield + template + GLM_FUNC_DECL vec bitfieldFillZero(vec const& Value, int FirstBit, int BitCount); + + /// Interleaves the bits of x and y. + /// The first bit is the first bit of x followed by the first bit of y. + /// The other bits are interleaved following the previous sequence. + /// + /// @see gtc_bitfield + GLM_FUNC_DECL int16 bitfieldInterleave(int8 x, int8 y); + + /// Interleaves the bits of x and y. + /// The first bit is the first bit of x followed by the first bit of y. + /// The other bits are interleaved following the previous sequence. + /// + /// @see gtc_bitfield + GLM_FUNC_DECL uint16 bitfieldInterleave(uint8 x, uint8 y); + + /// Interleaves the bits of x and y. + /// The first bit is the first bit of v.x followed by the first bit of v.y. + /// The other bits are interleaved following the previous sequence. + /// + /// @see gtc_bitfield + GLM_FUNC_DECL uint16 bitfieldInterleave(u8vec2 const& v); + + /// Deinterleaves the bits of x. + /// + /// @see gtc_bitfield + GLM_FUNC_DECL glm::u8vec2 bitfieldDeinterleave(glm::uint16 x); + + /// Interleaves the bits of x and y. + /// The first bit is the first bit of x followed by the first bit of y. + /// The other bits are interleaved following the previous sequence. + /// + /// @see gtc_bitfield + GLM_FUNC_DECL int32 bitfieldInterleave(int16 x, int16 y); + + /// Interleaves the bits of x and y. + /// The first bit is the first bit of x followed by the first bit of y. + /// The other bits are interleaved following the previous sequence. + /// + /// @see gtc_bitfield + GLM_FUNC_DECL uint32 bitfieldInterleave(uint16 x, uint16 y); + + /// Interleaves the bits of x and y. + /// The first bit is the first bit of v.x followed by the first bit of v.y. + /// The other bits are interleaved following the previous sequence. + /// + /// @see gtc_bitfield + GLM_FUNC_DECL uint32 bitfieldInterleave(u16vec2 const& v); + + /// Deinterleaves the bits of x. + /// + /// @see gtc_bitfield + GLM_FUNC_DECL glm::u16vec2 bitfieldDeinterleave(glm::uint32 x); + + /// Interleaves the bits of x and y. + /// The first bit is the first bit of x followed by the first bit of y. + /// The other bits are interleaved following the previous sequence. + /// + /// @see gtc_bitfield + GLM_FUNC_DECL int64 bitfieldInterleave(int32 x, int32 y); + + /// Interleaves the bits of x and y. + /// The first bit is the first bit of x followed by the first bit of y. + /// The other bits are interleaved following the previous sequence. + /// + /// @see gtc_bitfield + GLM_FUNC_DECL uint64 bitfieldInterleave(uint32 x, uint32 y); + + /// Interleaves the bits of x and y. + /// The first bit is the first bit of v.x followed by the first bit of v.y. + /// The other bits are interleaved following the previous sequence. + /// + /// @see gtc_bitfield + GLM_FUNC_DECL uint64 bitfieldInterleave(u32vec2 const& v); + + /// Deinterleaves the bits of x. + /// + /// @see gtc_bitfield + GLM_FUNC_DECL glm::u32vec2 bitfieldDeinterleave(glm::uint64 x); + + /// Interleaves the bits of x, y and z. + /// The first bit is the first bit of x followed by the first bit of y and the first bit of z. + /// The other bits are interleaved following the previous sequence. + /// + /// @see gtc_bitfield + GLM_FUNC_DECL int32 bitfieldInterleave(int8 x, int8 y, int8 z); + + /// Interleaves the bits of x, y and z. + /// The first bit is the first bit of x followed by the first bit of y and the first bit of z. + /// The other bits are interleaved following the previous sequence. + /// + /// @see gtc_bitfield + GLM_FUNC_DECL uint32 bitfieldInterleave(uint8 x, uint8 y, uint8 z); + + /// Interleaves the bits of x, y and z. + /// The first bit is the first bit of x followed by the first bit of y and the first bit of z. + /// The other bits are interleaved following the previous sequence. + /// + /// @see gtc_bitfield + GLM_FUNC_DECL int64 bitfieldInterleave(int16 x, int16 y, int16 z); + + /// Interleaves the bits of x, y and z. + /// The first bit is the first bit of x followed by the first bit of y and the first bit of z. + /// The other bits are interleaved following the previous sequence. + /// + /// @see gtc_bitfield + GLM_FUNC_DECL uint64 bitfieldInterleave(uint16 x, uint16 y, uint16 z); + + /// Interleaves the bits of x, y and z. + /// The first bit is the first bit of x followed by the first bit of y and the first bit of z. + /// The other bits are interleaved following the previous sequence. + /// + /// @see gtc_bitfield + GLM_FUNC_DECL int64 bitfieldInterleave(int32 x, int32 y, int32 z); + + /// Interleaves the bits of x, y and z. + /// The first bit is the first bit of x followed by the first bit of y and the first bit of z. + /// The other bits are interleaved following the previous sequence. + /// + /// @see gtc_bitfield + GLM_FUNC_DECL uint64 bitfieldInterleave(uint32 x, uint32 y, uint32 z); + + /// Interleaves the bits of x, y, z and w. + /// The first bit is the first bit of x followed by the first bit of y, the first bit of z and finally the first bit of w. + /// The other bits are interleaved following the previous sequence. + /// + /// @see gtc_bitfield + GLM_FUNC_DECL int32 bitfieldInterleave(int8 x, int8 y, int8 z, int8 w); + + /// Interleaves the bits of x, y, z and w. + /// The first bit is the first bit of x followed by the first bit of y, the first bit of z and finally the first bit of w. + /// The other bits are interleaved following the previous sequence. + /// + /// @see gtc_bitfield + GLM_FUNC_DECL uint32 bitfieldInterleave(uint8 x, uint8 y, uint8 z, uint8 w); + + /// Interleaves the bits of x, y, z and w. + /// The first bit is the first bit of x followed by the first bit of y, the first bit of z and finally the first bit of w. + /// The other bits are interleaved following the previous sequence. + /// + /// @see gtc_bitfield + GLM_FUNC_DECL int64 bitfieldInterleave(int16 x, int16 y, int16 z, int16 w); + + /// Interleaves the bits of x, y, z and w. + /// The first bit is the first bit of x followed by the first bit of y, the first bit of z and finally the first bit of w. + /// The other bits are interleaved following the previous sequence. + /// + /// @see gtc_bitfield + GLM_FUNC_DECL uint64 bitfieldInterleave(uint16 x, uint16 y, uint16 z, uint16 w); + + /// @} +} //namespace glm + +#include "bitfield.inl" diff --git a/MacroLibX/third_party/glm/gtc/bitfield.inl b/MacroLibX/third_party/glm/gtc/bitfield.inl new file mode 100644 index 0000000..06cf188 --- /dev/null +++ b/MacroLibX/third_party/glm/gtc/bitfield.inl @@ -0,0 +1,626 @@ +/// @ref gtc_bitfield + +#include "../simd/integer.h" + +namespace glm{ +namespace detail +{ + template + GLM_FUNC_DECL RET bitfieldInterleave(PARAM x, PARAM y); + + template + GLM_FUNC_DECL RET bitfieldInterleave(PARAM x, PARAM y, PARAM z); + + template + GLM_FUNC_DECL RET bitfieldInterleave(PARAM x, PARAM y, PARAM z, PARAM w); + + template<> + GLM_FUNC_QUALIFIER glm::uint16 bitfieldInterleave(glm::uint8 x, glm::uint8 y) + { + glm::uint16 REG1(x); + glm::uint16 REG2(y); + + REG1 = ((REG1 << 4) | REG1) & static_cast(0x0F0F); + REG2 = ((REG2 << 4) | REG2) & static_cast(0x0F0F); + + REG1 = ((REG1 << 2) | REG1) & static_cast(0x3333); + REG2 = ((REG2 << 2) | REG2) & static_cast(0x3333); + + REG1 = ((REG1 << 1) | REG1) & static_cast(0x5555); + REG2 = ((REG2 << 1) | REG2) & static_cast(0x5555); + + return REG1 | static_cast(REG2 << 1); + } + + template<> + GLM_FUNC_QUALIFIER glm::uint32 bitfieldInterleave(glm::uint16 x, glm::uint16 y) + { + glm::uint32 REG1(x); + glm::uint32 REG2(y); + + REG1 = ((REG1 << 8) | REG1) & static_cast(0x00FF00FF); + REG2 = ((REG2 << 8) | REG2) & static_cast(0x00FF00FF); + + REG1 = ((REG1 << 4) | REG1) & static_cast(0x0F0F0F0F); + REG2 = ((REG2 << 4) | REG2) & static_cast(0x0F0F0F0F); + + REG1 = ((REG1 << 2) | REG1) & static_cast(0x33333333); + REG2 = ((REG2 << 2) | REG2) & static_cast(0x33333333); + + REG1 = ((REG1 << 1) | REG1) & static_cast(0x55555555); + REG2 = ((REG2 << 1) | REG2) & static_cast(0x55555555); + + return REG1 | (REG2 << 1); + } + + template<> + GLM_FUNC_QUALIFIER glm::uint64 bitfieldInterleave(glm::uint32 x, glm::uint32 y) + { + glm::uint64 REG1(x); + glm::uint64 REG2(y); + + REG1 = ((REG1 << 16) | REG1) & static_cast(0x0000FFFF0000FFFFull); + REG2 = ((REG2 << 16) | REG2) & static_cast(0x0000FFFF0000FFFFull); + + REG1 = ((REG1 << 8) | REG1) & static_cast(0x00FF00FF00FF00FFull); + REG2 = ((REG2 << 8) | REG2) & static_cast(0x00FF00FF00FF00FFull); + + REG1 = ((REG1 << 4) | REG1) & static_cast(0x0F0F0F0F0F0F0F0Full); + REG2 = ((REG2 << 4) | REG2) & static_cast(0x0F0F0F0F0F0F0F0Full); + + REG1 = ((REG1 << 2) | REG1) & static_cast(0x3333333333333333ull); + REG2 = ((REG2 << 2) | REG2) & static_cast(0x3333333333333333ull); + + REG1 = ((REG1 << 1) | REG1) & static_cast(0x5555555555555555ull); + REG2 = ((REG2 << 1) | REG2) & static_cast(0x5555555555555555ull); + + return REG1 | (REG2 << 1); + } + + template<> + GLM_FUNC_QUALIFIER glm::uint32 bitfieldInterleave(glm::uint8 x, glm::uint8 y, glm::uint8 z) + { + glm::uint32 REG1(x); + glm::uint32 REG2(y); + glm::uint32 REG3(z); + + REG1 = ((REG1 << 16) | REG1) & static_cast(0xFF0000FFu); + REG2 = ((REG2 << 16) | REG2) & static_cast(0xFF0000FFu); + REG3 = ((REG3 << 16) | REG3) & static_cast(0xFF0000FFu); + + REG1 = ((REG1 << 8) | REG1) & static_cast(0x0F00F00Fu); + REG2 = ((REG2 << 8) | REG2) & static_cast(0x0F00F00Fu); + REG3 = ((REG3 << 8) | REG3) & static_cast(0x0F00F00Fu); + + REG1 = ((REG1 << 4) | REG1) & static_cast(0xC30C30C3u); + REG2 = ((REG2 << 4) | REG2) & static_cast(0xC30C30C3u); + REG3 = ((REG3 << 4) | REG3) & static_cast(0xC30C30C3u); + + REG1 = ((REG1 << 2) | REG1) & static_cast(0x49249249u); + REG2 = ((REG2 << 2) | REG2) & static_cast(0x49249249u); + REG3 = ((REG3 << 2) | REG3) & static_cast(0x49249249u); + + return REG1 | (REG2 << 1) | (REG3 << 2); + } + + template<> + GLM_FUNC_QUALIFIER glm::uint64 bitfieldInterleave(glm::uint16 x, glm::uint16 y, glm::uint16 z) + { + glm::uint64 REG1(x); + glm::uint64 REG2(y); + glm::uint64 REG3(z); + + REG1 = ((REG1 << 32) | REG1) & static_cast(0xFFFF00000000FFFFull); + REG2 = ((REG2 << 32) | REG2) & static_cast(0xFFFF00000000FFFFull); + REG3 = ((REG3 << 32) | REG3) & static_cast(0xFFFF00000000FFFFull); + + REG1 = ((REG1 << 16) | REG1) & static_cast(0x00FF0000FF0000FFull); + REG2 = ((REG2 << 16) | REG2) & static_cast(0x00FF0000FF0000FFull); + REG3 = ((REG3 << 16) | REG3) & static_cast(0x00FF0000FF0000FFull); + + REG1 = ((REG1 << 8) | REG1) & static_cast(0xF00F00F00F00F00Full); + REG2 = ((REG2 << 8) | REG2) & static_cast(0xF00F00F00F00F00Full); + REG3 = ((REG3 << 8) | REG3) & static_cast(0xF00F00F00F00F00Full); + + REG1 = ((REG1 << 4) | REG1) & static_cast(0x30C30C30C30C30C3ull); + REG2 = ((REG2 << 4) | REG2) & static_cast(0x30C30C30C30C30C3ull); + REG3 = ((REG3 << 4) | REG3) & static_cast(0x30C30C30C30C30C3ull); + + REG1 = ((REG1 << 2) | REG1) & static_cast(0x9249249249249249ull); + REG2 = ((REG2 << 2) | REG2) & static_cast(0x9249249249249249ull); + REG3 = ((REG3 << 2) | REG3) & static_cast(0x9249249249249249ull); + + return REG1 | (REG2 << 1) | (REG3 << 2); + } + + template<> + GLM_FUNC_QUALIFIER glm::uint64 bitfieldInterleave(glm::uint32 x, glm::uint32 y, glm::uint32 z) + { + glm::uint64 REG1(x); + glm::uint64 REG2(y); + glm::uint64 REG3(z); + + REG1 = ((REG1 << 32) | REG1) & static_cast(0xFFFF00000000FFFFull); + REG2 = ((REG2 << 32) | REG2) & static_cast(0xFFFF00000000FFFFull); + REG3 = ((REG3 << 32) | REG3) & static_cast(0xFFFF00000000FFFFull); + + REG1 = ((REG1 << 16) | REG1) & static_cast(0x00FF0000FF0000FFull); + REG2 = ((REG2 << 16) | REG2) & static_cast(0x00FF0000FF0000FFull); + REG3 = ((REG3 << 16) | REG3) & static_cast(0x00FF0000FF0000FFull); + + REG1 = ((REG1 << 8) | REG1) & static_cast(0xF00F00F00F00F00Full); + REG2 = ((REG2 << 8) | REG2) & static_cast(0xF00F00F00F00F00Full); + REG3 = ((REG3 << 8) | REG3) & static_cast(0xF00F00F00F00F00Full); + + REG1 = ((REG1 << 4) | REG1) & static_cast(0x30C30C30C30C30C3ull); + REG2 = ((REG2 << 4) | REG2) & static_cast(0x30C30C30C30C30C3ull); + REG3 = ((REG3 << 4) | REG3) & static_cast(0x30C30C30C30C30C3ull); + + REG1 = ((REG1 << 2) | REG1) & static_cast(0x9249249249249249ull); + REG2 = ((REG2 << 2) | REG2) & static_cast(0x9249249249249249ull); + REG3 = ((REG3 << 2) | REG3) & static_cast(0x9249249249249249ull); + + return REG1 | (REG2 << 1) | (REG3 << 2); + } + + template<> + GLM_FUNC_QUALIFIER glm::uint32 bitfieldInterleave(glm::uint8 x, glm::uint8 y, glm::uint8 z, glm::uint8 w) + { + glm::uint32 REG1(x); + glm::uint32 REG2(y); + glm::uint32 REG3(z); + glm::uint32 REG4(w); + + REG1 = ((REG1 << 12) | REG1) & static_cast(0x000F000Fu); + REG2 = ((REG2 << 12) | REG2) & static_cast(0x000F000Fu); + REG3 = ((REG3 << 12) | REG3) & static_cast(0x000F000Fu); + REG4 = ((REG4 << 12) | REG4) & static_cast(0x000F000Fu); + + REG1 = ((REG1 << 6) | REG1) & static_cast(0x03030303u); + REG2 = ((REG2 << 6) | REG2) & static_cast(0x03030303u); + REG3 = ((REG3 << 6) | REG3) & static_cast(0x03030303u); + REG4 = ((REG4 << 6) | REG4) & static_cast(0x03030303u); + + REG1 = ((REG1 << 3) | REG1) & static_cast(0x11111111u); + REG2 = ((REG2 << 3) | REG2) & static_cast(0x11111111u); + REG3 = ((REG3 << 3) | REG3) & static_cast(0x11111111u); + REG4 = ((REG4 << 3) | REG4) & static_cast(0x11111111u); + + return REG1 | (REG2 << 1) | (REG3 << 2) | (REG4 << 3); + } + + template<> + GLM_FUNC_QUALIFIER glm::uint64 bitfieldInterleave(glm::uint16 x, glm::uint16 y, glm::uint16 z, glm::uint16 w) + { + glm::uint64 REG1(x); + glm::uint64 REG2(y); + glm::uint64 REG3(z); + glm::uint64 REG4(w); + + REG1 = ((REG1 << 24) | REG1) & static_cast(0x000000FF000000FFull); + REG2 = ((REG2 << 24) | REG2) & static_cast(0x000000FF000000FFull); + REG3 = ((REG3 << 24) | REG3) & static_cast(0x000000FF000000FFull); + REG4 = ((REG4 << 24) | REG4) & static_cast(0x000000FF000000FFull); + + REG1 = ((REG1 << 12) | REG1) & static_cast(0x000F000F000F000Full); + REG2 = ((REG2 << 12) | REG2) & static_cast(0x000F000F000F000Full); + REG3 = ((REG3 << 12) | REG3) & static_cast(0x000F000F000F000Full); + REG4 = ((REG4 << 12) | REG4) & static_cast(0x000F000F000F000Full); + + REG1 = ((REG1 << 6) | REG1) & static_cast(0x0303030303030303ull); + REG2 = ((REG2 << 6) | REG2) & static_cast(0x0303030303030303ull); + REG3 = ((REG3 << 6) | REG3) & static_cast(0x0303030303030303ull); + REG4 = ((REG4 << 6) | REG4) & static_cast(0x0303030303030303ull); + + REG1 = ((REG1 << 3) | REG1) & static_cast(0x1111111111111111ull); + REG2 = ((REG2 << 3) | REG2) & static_cast(0x1111111111111111ull); + REG3 = ((REG3 << 3) | REG3) & static_cast(0x1111111111111111ull); + REG4 = ((REG4 << 3) | REG4) & static_cast(0x1111111111111111ull); + + return REG1 | (REG2 << 1) | (REG3 << 2) | (REG4 << 3); + } +}//namespace detail + + template + GLM_FUNC_QUALIFIER genIUType mask(genIUType Bits) + { + GLM_STATIC_ASSERT(std::numeric_limits::is_integer, "'mask' accepts only integer values"); + + return Bits >= sizeof(genIUType) * 8 ? ~static_cast(0) : (static_cast(1) << Bits) - static_cast(1); + } + + template + GLM_FUNC_QUALIFIER vec mask(vec const& v) + { + GLM_STATIC_ASSERT(std::numeric_limits::is_integer, "'mask' accepts only integer values"); + + return detail::functor1::call(mask, v); + } + + template + GLM_FUNC_QUALIFIER genIType bitfieldRotateRight(genIType In, int Shift) + { + GLM_STATIC_ASSERT(std::numeric_limits::is_integer, "'bitfieldRotateRight' accepts only integer values"); + + int const BitSize = static_cast(sizeof(genIType) * 8); + return (In << static_cast(Shift)) | (In >> static_cast(BitSize - Shift)); + } + + template + GLM_FUNC_QUALIFIER vec bitfieldRotateRight(vec const& In, int Shift) + { + GLM_STATIC_ASSERT(std::numeric_limits::is_integer, "'bitfieldRotateRight' accepts only integer values"); + + int const BitSize = static_cast(sizeof(T) * 8); + return (In << static_cast(Shift)) | (In >> static_cast(BitSize - Shift)); + } + + template + GLM_FUNC_QUALIFIER genIType bitfieldRotateLeft(genIType In, int Shift) + { + GLM_STATIC_ASSERT(std::numeric_limits::is_integer, "'bitfieldRotateLeft' accepts only integer values"); + + int const BitSize = static_cast(sizeof(genIType) * 8); + return (In >> static_cast(Shift)) | (In << static_cast(BitSize - Shift)); + } + + template + GLM_FUNC_QUALIFIER vec bitfieldRotateLeft(vec const& In, int Shift) + { + GLM_STATIC_ASSERT(std::numeric_limits::is_integer, "'bitfieldRotateLeft' accepts only integer values"); + + int const BitSize = static_cast(sizeof(T) * 8); + return (In >> static_cast(Shift)) | (In << static_cast(BitSize - Shift)); + } + + template + GLM_FUNC_QUALIFIER genIUType bitfieldFillOne(genIUType Value, int FirstBit, int BitCount) + { + return Value | static_cast(mask(BitCount) << FirstBit); + } + + template + GLM_FUNC_QUALIFIER vec bitfieldFillOne(vec const& Value, int FirstBit, int BitCount) + { + return Value | static_cast(mask(BitCount) << FirstBit); + } + + template + GLM_FUNC_QUALIFIER genIUType bitfieldFillZero(genIUType Value, int FirstBit, int BitCount) + { + return Value & static_cast(~(mask(BitCount) << FirstBit)); + } + + template + GLM_FUNC_QUALIFIER vec bitfieldFillZero(vec const& Value, int FirstBit, int BitCount) + { + return Value & static_cast(~(mask(BitCount) << FirstBit)); + } + + GLM_FUNC_QUALIFIER int16 bitfieldInterleave(int8 x, int8 y) + { + union sign8 + { + int8 i; + uint8 u; + } sign_x, sign_y; + + union sign16 + { + int16 i; + uint16 u; + } result; + + sign_x.i = x; + sign_y.i = y; + result.u = bitfieldInterleave(sign_x.u, sign_y.u); + + return result.i; + } + + GLM_FUNC_QUALIFIER uint16 bitfieldInterleave(uint8 x, uint8 y) + { + return detail::bitfieldInterleave(x, y); + } + + GLM_FUNC_QUALIFIER uint16 bitfieldInterleave(u8vec2 const& v) + { + return detail::bitfieldInterleave(v.x, v.y); + } + + GLM_FUNC_QUALIFIER u8vec2 bitfieldDeinterleave(glm::uint16 x) + { + uint16 REG1(x); + uint16 REG2(x >>= 1); + + REG1 = REG1 & static_cast(0x5555); + REG2 = REG2 & static_cast(0x5555); + + REG1 = ((REG1 >> 1) | REG1) & static_cast(0x3333); + REG2 = ((REG2 >> 1) | REG2) & static_cast(0x3333); + + REG1 = ((REG1 >> 2) | REG1) & static_cast(0x0F0F); + REG2 = ((REG2 >> 2) | REG2) & static_cast(0x0F0F); + + REG1 = ((REG1 >> 4) | REG1) & static_cast(0x00FF); + REG2 = ((REG2 >> 4) | REG2) & static_cast(0x00FF); + + REG1 = ((REG1 >> 8) | REG1) & static_cast(0xFFFF); + REG2 = ((REG2 >> 8) | REG2) & static_cast(0xFFFF); + + return glm::u8vec2(REG1, REG2); + } + + GLM_FUNC_QUALIFIER int32 bitfieldInterleave(int16 x, int16 y) + { + union sign16 + { + int16 i; + uint16 u; + } sign_x, sign_y; + + union sign32 + { + int32 i; + uint32 u; + } result; + + sign_x.i = x; + sign_y.i = y; + result.u = bitfieldInterleave(sign_x.u, sign_y.u); + + return result.i; + } + + GLM_FUNC_QUALIFIER uint32 bitfieldInterleave(uint16 x, uint16 y) + { + return detail::bitfieldInterleave(x, y); + } + + GLM_FUNC_QUALIFIER glm::uint32 bitfieldInterleave(u16vec2 const& v) + { + return detail::bitfieldInterleave(v.x, v.y); + } + + GLM_FUNC_QUALIFIER glm::u16vec2 bitfieldDeinterleave(glm::uint32 x) + { + glm::uint32 REG1(x); + glm::uint32 REG2(x >>= 1); + + REG1 = REG1 & static_cast(0x55555555); + REG2 = REG2 & static_cast(0x55555555); + + REG1 = ((REG1 >> 1) | REG1) & static_cast(0x33333333); + REG2 = ((REG2 >> 1) | REG2) & static_cast(0x33333333); + + REG1 = ((REG1 >> 2) | REG1) & static_cast(0x0F0F0F0F); + REG2 = ((REG2 >> 2) | REG2) & static_cast(0x0F0F0F0F); + + REG1 = ((REG1 >> 4) | REG1) & static_cast(0x00FF00FF); + REG2 = ((REG2 >> 4) | REG2) & static_cast(0x00FF00FF); + + REG1 = ((REG1 >> 8) | REG1) & static_cast(0x0000FFFF); + REG2 = ((REG2 >> 8) | REG2) & static_cast(0x0000FFFF); + + return glm::u16vec2(REG1, REG2); + } + + GLM_FUNC_QUALIFIER int64 bitfieldInterleave(int32 x, int32 y) + { + union sign32 + { + int32 i; + uint32 u; + } sign_x, sign_y; + + union sign64 + { + int64 i; + uint64 u; + } result; + + sign_x.i = x; + sign_y.i = y; + result.u = bitfieldInterleave(sign_x.u, sign_y.u); + + return result.i; + } + + GLM_FUNC_QUALIFIER uint64 bitfieldInterleave(uint32 x, uint32 y) + { + return detail::bitfieldInterleave(x, y); + } + + GLM_FUNC_QUALIFIER glm::uint64 bitfieldInterleave(u32vec2 const& v) + { + return detail::bitfieldInterleave(v.x, v.y); + } + + GLM_FUNC_QUALIFIER glm::u32vec2 bitfieldDeinterleave(glm::uint64 x) + { + glm::uint64 REG1(x); + glm::uint64 REG2(x >>= 1); + + REG1 = REG1 & static_cast(0x5555555555555555ull); + REG2 = REG2 & static_cast(0x5555555555555555ull); + + REG1 = ((REG1 >> 1) | REG1) & static_cast(0x3333333333333333ull); + REG2 = ((REG2 >> 1) | REG2) & static_cast(0x3333333333333333ull); + + REG1 = ((REG1 >> 2) | REG1) & static_cast(0x0F0F0F0F0F0F0F0Full); + REG2 = ((REG2 >> 2) | REG2) & static_cast(0x0F0F0F0F0F0F0F0Full); + + REG1 = ((REG1 >> 4) | REG1) & static_cast(0x00FF00FF00FF00FFull); + REG2 = ((REG2 >> 4) | REG2) & static_cast(0x00FF00FF00FF00FFull); + + REG1 = ((REG1 >> 8) | REG1) & static_cast(0x0000FFFF0000FFFFull); + REG2 = ((REG2 >> 8) | REG2) & static_cast(0x0000FFFF0000FFFFull); + + REG1 = ((REG1 >> 16) | REG1) & static_cast(0x00000000FFFFFFFFull); + REG2 = ((REG2 >> 16) | REG2) & static_cast(0x00000000FFFFFFFFull); + + return glm::u32vec2(REG1, REG2); + } + + GLM_FUNC_QUALIFIER int32 bitfieldInterleave(int8 x, int8 y, int8 z) + { + union sign8 + { + int8 i; + uint8 u; + } sign_x, sign_y, sign_z; + + union sign32 + { + int32 i; + uint32 u; + } result; + + sign_x.i = x; + sign_y.i = y; + sign_z.i = z; + result.u = bitfieldInterleave(sign_x.u, sign_y.u, sign_z.u); + + return result.i; + } + + GLM_FUNC_QUALIFIER uint32 bitfieldInterleave(uint8 x, uint8 y, uint8 z) + { + return detail::bitfieldInterleave(x, y, z); + } + + GLM_FUNC_QUALIFIER uint32 bitfieldInterleave(u8vec3 const& v) + { + return detail::bitfieldInterleave(v.x, v.y, v.z); + } + + GLM_FUNC_QUALIFIER int64 bitfieldInterleave(int16 x, int16 y, int16 z) + { + union sign16 + { + int16 i; + uint16 u; + } sign_x, sign_y, sign_z; + + union sign64 + { + int64 i; + uint64 u; + } result; + + sign_x.i = x; + sign_y.i = y; + sign_z.i = z; + result.u = bitfieldInterleave(sign_x.u, sign_y.u, sign_z.u); + + return result.i; + } + + GLM_FUNC_QUALIFIER uint64 bitfieldInterleave(uint16 x, uint16 y, uint16 z) + { + return detail::bitfieldInterleave(x, y, z); + } + + GLM_FUNC_QUALIFIER uint64 bitfieldInterleave(u16vec3 const& v) + { + return detail::bitfieldInterleave(v.x, v.y, v.z); + } + + GLM_FUNC_QUALIFIER int64 bitfieldInterleave(int32 x, int32 y, int32 z) + { + union sign16 + { + int32 i; + uint32 u; + } sign_x, sign_y, sign_z; + + union sign64 + { + int64 i; + uint64 u; + } result; + + sign_x.i = x; + sign_y.i = y; + sign_z.i = z; + result.u = bitfieldInterleave(sign_x.u, sign_y.u, sign_z.u); + + return result.i; + } + + GLM_FUNC_QUALIFIER uint64 bitfieldInterleave(uint32 x, uint32 y, uint32 z) + { + return detail::bitfieldInterleave(x, y, z); + } + + GLM_FUNC_QUALIFIER uint64 bitfieldInterleave(u32vec3 const& v) + { + return detail::bitfieldInterleave(v.x, v.y, v.z); + } + + GLM_FUNC_QUALIFIER int32 bitfieldInterleave(int8 x, int8 y, int8 z, int8 w) + { + union sign8 + { + int8 i; + uint8 u; + } sign_x, sign_y, sign_z, sign_w; + + union sign32 + { + int32 i; + uint32 u; + } result; + + sign_x.i = x; + sign_y.i = y; + sign_z.i = z; + sign_w.i = w; + result.u = bitfieldInterleave(sign_x.u, sign_y.u, sign_z.u, sign_w.u); + + return result.i; + } + + GLM_FUNC_QUALIFIER uint32 bitfieldInterleave(uint8 x, uint8 y, uint8 z, uint8 w) + { + return detail::bitfieldInterleave(x, y, z, w); + } + + GLM_FUNC_QUALIFIER uint32 bitfieldInterleave(u8vec4 const& v) + { + return detail::bitfieldInterleave(v.x, v.y, v.z, v.w); + } + + GLM_FUNC_QUALIFIER int64 bitfieldInterleave(int16 x, int16 y, int16 z, int16 w) + { + union sign16 + { + int16 i; + uint16 u; + } sign_x, sign_y, sign_z, sign_w; + + union sign64 + { + int64 i; + uint64 u; + } result; + + sign_x.i = x; + sign_y.i = y; + sign_z.i = z; + sign_w.i = w; + result.u = bitfieldInterleave(sign_x.u, sign_y.u, sign_z.u, sign_w.u); + + return result.i; + } + + GLM_FUNC_QUALIFIER uint64 bitfieldInterleave(uint16 x, uint16 y, uint16 z, uint16 w) + { + return detail::bitfieldInterleave(x, y, z, w); + } + + GLM_FUNC_QUALIFIER uint64 bitfieldInterleave(u16vec4 const& v) + { + return detail::bitfieldInterleave(v.x, v.y, v.z, v.w); + } +}//namespace glm diff --git a/MacroLibX/third_party/glm/gtc/color_space.hpp b/MacroLibX/third_party/glm/gtc/color_space.hpp new file mode 100644 index 0000000..cffd9f0 --- /dev/null +++ b/MacroLibX/third_party/glm/gtc/color_space.hpp @@ -0,0 +1,56 @@ +/// @ref gtc_color_space +/// @file glm/gtc/color_space.hpp +/// +/// @see core (dependence) +/// @see gtc_color_space (dependence) +/// +/// @defgroup gtc_color_space GLM_GTC_color_space +/// @ingroup gtc +/// +/// Include to use the features of this extension. +/// +/// Allow to perform bit operations on integer values + +#pragma once + +// Dependencies +#include "../detail/setup.hpp" +#include "../detail/qualifier.hpp" +#include "../exponential.hpp" +#include "../vec3.hpp" +#include "../vec4.hpp" +#include + +#if GLM_MESSAGES == GLM_ENABLE && !defined(GLM_EXT_INCLUDED) +# pragma message("GLM: GLM_GTC_color_space extension included") +#endif + +namespace glm +{ + /// @addtogroup gtc_color_space + /// @{ + + /// Convert a linear color to sRGB color using a standard gamma correction. + /// IEC 61966-2-1:1999 / Rec. 709 specification https://www.w3.org/Graphics/Color/srgb + template + GLM_FUNC_DECL vec convertLinearToSRGB(vec const& ColorLinear); + + /// Convert a linear color to sRGB color using a custom gamma correction. + /// IEC 61966-2-1:1999 / Rec. 709 specification https://www.w3.org/Graphics/Color/srgb + template + GLM_FUNC_DECL vec convertLinearToSRGB(vec const& ColorLinear, T Gamma); + + /// Convert a sRGB color to linear color using a standard gamma correction. + /// IEC 61966-2-1:1999 / Rec. 709 specification https://www.w3.org/Graphics/Color/srgb + template + GLM_FUNC_DECL vec convertSRGBToLinear(vec const& ColorSRGB); + + /// Convert a sRGB color to linear color using a custom gamma correction. + // IEC 61966-2-1:1999 / Rec. 709 specification https://www.w3.org/Graphics/Color/srgb + template + GLM_FUNC_DECL vec convertSRGBToLinear(vec const& ColorSRGB, T Gamma); + + /// @} +} //namespace glm + +#include "color_space.inl" diff --git a/MacroLibX/third_party/glm/gtc/color_space.inl b/MacroLibX/third_party/glm/gtc/color_space.inl new file mode 100644 index 0000000..2a90004 --- /dev/null +++ b/MacroLibX/third_party/glm/gtc/color_space.inl @@ -0,0 +1,84 @@ +/// @ref gtc_color_space + +namespace glm{ +namespace detail +{ + template + struct compute_rgbToSrgb + { + GLM_FUNC_QUALIFIER static vec call(vec const& ColorRGB, T GammaCorrection) + { + vec const ClampedColor(clamp(ColorRGB, static_cast(0), static_cast(1))); + + return mix( + pow(ClampedColor, vec(GammaCorrection)) * static_cast(1.055) - static_cast(0.055), + ClampedColor * static_cast(12.92), + lessThan(ClampedColor, vec(static_cast(0.0031308)))); + } + }; + + template + struct compute_rgbToSrgb<4, T, Q> + { + GLM_FUNC_QUALIFIER static vec<4, T, Q> call(vec<4, T, Q> const& ColorRGB, T GammaCorrection) + { + return vec<4, T, Q>(compute_rgbToSrgb<3, T, Q>::call(vec<3, T, Q>(ColorRGB), GammaCorrection), ColorRGB.w); + } + }; + + template + struct compute_srgbToRgb + { + GLM_FUNC_QUALIFIER static vec call(vec const& ColorSRGB, T Gamma) + { + return mix( + pow((ColorSRGB + static_cast(0.055)) * static_cast(0.94786729857819905213270142180095), vec(Gamma)), + ColorSRGB * static_cast(0.07739938080495356037151702786378), + lessThanEqual(ColorSRGB, vec(static_cast(0.04045)))); + } + }; + + template + struct compute_srgbToRgb<4, T, Q> + { + GLM_FUNC_QUALIFIER static vec<4, T, Q> call(vec<4, T, Q> const& ColorSRGB, T Gamma) + { + return vec<4, T, Q>(compute_srgbToRgb<3, T, Q>::call(vec<3, T, Q>(ColorSRGB), Gamma), ColorSRGB.w); + } + }; +}//namespace detail + + template + GLM_FUNC_QUALIFIER vec convertLinearToSRGB(vec const& ColorLinear) + { + return detail::compute_rgbToSrgb::call(ColorLinear, static_cast(0.41666)); + } + + // Based on Ian Taylor http://chilliant.blogspot.fr/2012/08/srgb-approximations-for-hlsl.html + template<> + GLM_FUNC_QUALIFIER vec<3, float, lowp> convertLinearToSRGB(vec<3, float, lowp> const& ColorLinear) + { + vec<3, float, lowp> S1 = sqrt(ColorLinear); + vec<3, float, lowp> S2 = sqrt(S1); + vec<3, float, lowp> S3 = sqrt(S2); + return 0.662002687f * S1 + 0.684122060f * S2 - 0.323583601f * S3 - 0.0225411470f * ColorLinear; + } + + template + GLM_FUNC_QUALIFIER vec convertLinearToSRGB(vec const& ColorLinear, T Gamma) + { + return detail::compute_rgbToSrgb::call(ColorLinear, static_cast(1) / Gamma); + } + + template + GLM_FUNC_QUALIFIER vec convertSRGBToLinear(vec const& ColorSRGB) + { + return detail::compute_srgbToRgb::call(ColorSRGB, static_cast(2.4)); + } + + template + GLM_FUNC_QUALIFIER vec convertSRGBToLinear(vec const& ColorSRGB, T Gamma) + { + return detail::compute_srgbToRgb::call(ColorSRGB, Gamma); + } +}//namespace glm diff --git a/MacroLibX/third_party/glm/gtc/constants.hpp b/MacroLibX/third_party/glm/gtc/constants.hpp new file mode 100644 index 0000000..99f2128 --- /dev/null +++ b/MacroLibX/third_party/glm/gtc/constants.hpp @@ -0,0 +1,165 @@ +/// @ref gtc_constants +/// @file glm/gtc/constants.hpp +/// +/// @see core (dependence) +/// +/// @defgroup gtc_constants GLM_GTC_constants +/// @ingroup gtc +/// +/// Include to use the features of this extension. +/// +/// Provide a list of constants and precomputed useful values. + +#pragma once + +// Dependencies +#include "../ext/scalar_constants.hpp" + +#if GLM_MESSAGES == GLM_ENABLE && !defined(GLM_EXT_INCLUDED) +# pragma message("GLM: GLM_GTC_constants extension included") +#endif + +namespace glm +{ + /// @addtogroup gtc_constants + /// @{ + + /// Return 0. + /// @see gtc_constants + template + GLM_FUNC_DECL GLM_CONSTEXPR genType zero(); + + /// Return 1. + /// @see gtc_constants + template + GLM_FUNC_DECL GLM_CONSTEXPR genType one(); + + /// Return pi * 2. + /// @see gtc_constants + template + GLM_FUNC_DECL GLM_CONSTEXPR genType two_pi(); + + /// Return square root of pi. + /// @see gtc_constants + template + GLM_FUNC_DECL GLM_CONSTEXPR genType root_pi(); + + /// Return pi / 2. + /// @see gtc_constants + template + GLM_FUNC_DECL GLM_CONSTEXPR genType half_pi(); + + /// Return pi / 2 * 3. + /// @see gtc_constants + template + GLM_FUNC_DECL GLM_CONSTEXPR genType three_over_two_pi(); + + /// Return pi / 4. + /// @see gtc_constants + template + GLM_FUNC_DECL GLM_CONSTEXPR genType quarter_pi(); + + /// Return 1 / pi. + /// @see gtc_constants + template + GLM_FUNC_DECL GLM_CONSTEXPR genType one_over_pi(); + + /// Return 1 / (pi * 2). + /// @see gtc_constants + template + GLM_FUNC_DECL GLM_CONSTEXPR genType one_over_two_pi(); + + /// Return 2 / pi. + /// @see gtc_constants + template + GLM_FUNC_DECL GLM_CONSTEXPR genType two_over_pi(); + + /// Return 4 / pi. + /// @see gtc_constants + template + GLM_FUNC_DECL GLM_CONSTEXPR genType four_over_pi(); + + /// Return 2 / sqrt(pi). + /// @see gtc_constants + template + GLM_FUNC_DECL GLM_CONSTEXPR genType two_over_root_pi(); + + /// Return 1 / sqrt(2). + /// @see gtc_constants + template + GLM_FUNC_DECL GLM_CONSTEXPR genType one_over_root_two(); + + /// Return sqrt(pi / 2). + /// @see gtc_constants + template + GLM_FUNC_DECL GLM_CONSTEXPR genType root_half_pi(); + + /// Return sqrt(2 * pi). + /// @see gtc_constants + template + GLM_FUNC_DECL GLM_CONSTEXPR genType root_two_pi(); + + /// Return sqrt(ln(4)). + /// @see gtc_constants + template + GLM_FUNC_DECL GLM_CONSTEXPR genType root_ln_four(); + + /// Return e constant. + /// @see gtc_constants + template + GLM_FUNC_DECL GLM_CONSTEXPR genType e(); + + /// Return Euler's constant. + /// @see gtc_constants + template + GLM_FUNC_DECL GLM_CONSTEXPR genType euler(); + + /// Return sqrt(2). + /// @see gtc_constants + template + GLM_FUNC_DECL GLM_CONSTEXPR genType root_two(); + + /// Return sqrt(3). + /// @see gtc_constants + template + GLM_FUNC_DECL GLM_CONSTEXPR genType root_three(); + + /// Return sqrt(5). + /// @see gtc_constants + template + GLM_FUNC_DECL GLM_CONSTEXPR genType root_five(); + + /// Return ln(2). + /// @see gtc_constants + template + GLM_FUNC_DECL GLM_CONSTEXPR genType ln_two(); + + /// Return ln(10). + /// @see gtc_constants + template + GLM_FUNC_DECL GLM_CONSTEXPR genType ln_ten(); + + /// Return ln(ln(2)). + /// @see gtc_constants + template + GLM_FUNC_DECL GLM_CONSTEXPR genType ln_ln_two(); + + /// Return 1 / 3. + /// @see gtc_constants + template + GLM_FUNC_DECL GLM_CONSTEXPR genType third(); + + /// Return 2 / 3. + /// @see gtc_constants + template + GLM_FUNC_DECL GLM_CONSTEXPR genType two_thirds(); + + /// Return the golden ratio constant. + /// @see gtc_constants + template + GLM_FUNC_DECL GLM_CONSTEXPR genType golden_ratio(); + + /// @} +} //namespace glm + +#include "constants.inl" diff --git a/MacroLibX/third_party/glm/gtc/constants.inl b/MacroLibX/third_party/glm/gtc/constants.inl new file mode 100644 index 0000000..bb98c6b --- /dev/null +++ b/MacroLibX/third_party/glm/gtc/constants.inl @@ -0,0 +1,167 @@ +/// @ref gtc_constants + +namespace glm +{ + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR genType zero() + { + return genType(0); + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR genType one() + { + return genType(1); + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR genType two_pi() + { + return genType(6.28318530717958647692528676655900576); + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR genType root_pi() + { + return genType(1.772453850905516027); + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR genType half_pi() + { + return genType(1.57079632679489661923132169163975144); + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR genType three_over_two_pi() + { + return genType(4.71238898038468985769396507491925432); + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR genType quarter_pi() + { + return genType(0.785398163397448309615660845819875721); + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR genType one_over_pi() + { + return genType(0.318309886183790671537767526745028724); + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR genType one_over_two_pi() + { + return genType(0.159154943091895335768883763372514362); + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR genType two_over_pi() + { + return genType(0.636619772367581343075535053490057448); + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR genType four_over_pi() + { + return genType(1.273239544735162686151070106980114898); + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR genType two_over_root_pi() + { + return genType(1.12837916709551257389615890312154517); + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR genType one_over_root_two() + { + return genType(0.707106781186547524400844362104849039); + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR genType root_half_pi() + { + return genType(1.253314137315500251); + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR genType root_two_pi() + { + return genType(2.506628274631000502); + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR genType root_ln_four() + { + return genType(1.17741002251547469); + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR genType e() + { + return genType(2.71828182845904523536); + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR genType euler() + { + return genType(0.577215664901532860606); + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR genType root_two() + { + return genType(1.41421356237309504880168872420969808); + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR genType root_three() + { + return genType(1.73205080756887729352744634150587236); + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR genType root_five() + { + return genType(2.23606797749978969640917366873127623); + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR genType ln_two() + { + return genType(0.693147180559945309417232121458176568); + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR genType ln_ten() + { + return genType(2.30258509299404568401799145468436421); + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR genType ln_ln_two() + { + return genType(-0.3665129205816643); + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR genType third() + { + return genType(0.3333333333333333333333333333333333333333); + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR genType two_thirds() + { + return genType(0.666666666666666666666666666666666666667); + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR genType golden_ratio() + { + return genType(1.61803398874989484820458683436563811); + } + +} //namespace glm diff --git a/MacroLibX/third_party/glm/gtc/epsilon.hpp b/MacroLibX/third_party/glm/gtc/epsilon.hpp new file mode 100644 index 0000000..640439b --- /dev/null +++ b/MacroLibX/third_party/glm/gtc/epsilon.hpp @@ -0,0 +1,60 @@ +/// @ref gtc_epsilon +/// @file glm/gtc/epsilon.hpp +/// +/// @see core (dependence) +/// @see gtc_quaternion (dependence) +/// +/// @defgroup gtc_epsilon GLM_GTC_epsilon +/// @ingroup gtc +/// +/// Include to use the features of this extension. +/// +/// Comparison functions for a user defined epsilon values. + +#pragma once + +// Dependencies +#include "../detail/setup.hpp" +#include "../detail/qualifier.hpp" + +#if GLM_MESSAGES == GLM_ENABLE && !defined(GLM_EXT_INCLUDED) +# pragma message("GLM: GLM_GTC_epsilon extension included") +#endif + +namespace glm +{ + /// @addtogroup gtc_epsilon + /// @{ + + /// Returns the component-wise comparison of |x - y| < epsilon. + /// True if this expression is satisfied. + /// + /// @see gtc_epsilon + template + GLM_FUNC_DECL vec epsilonEqual(vec const& x, vec const& y, T const& epsilon); + + /// Returns the component-wise comparison of |x - y| < epsilon. + /// True if this expression is satisfied. + /// + /// @see gtc_epsilon + template + GLM_FUNC_DECL bool epsilonEqual(genType const& x, genType const& y, genType const& epsilon); + + /// Returns the component-wise comparison of |x - y| < epsilon. + /// True if this expression is not satisfied. + /// + /// @see gtc_epsilon + template + GLM_FUNC_DECL vec epsilonNotEqual(vec const& x, vec const& y, T const& epsilon); + + /// Returns the component-wise comparison of |x - y| >= epsilon. + /// True if this expression is not satisfied. + /// + /// @see gtc_epsilon + template + GLM_FUNC_DECL bool epsilonNotEqual(genType const& x, genType const& y, genType const& epsilon); + + /// @} +}//namespace glm + +#include "epsilon.inl" diff --git a/MacroLibX/third_party/glm/gtc/epsilon.inl b/MacroLibX/third_party/glm/gtc/epsilon.inl new file mode 100644 index 0000000..508b9f8 --- /dev/null +++ b/MacroLibX/third_party/glm/gtc/epsilon.inl @@ -0,0 +1,80 @@ +/// @ref gtc_epsilon + +// Dependency: +#include "../vector_relational.hpp" +#include "../common.hpp" + +namespace glm +{ + template<> + GLM_FUNC_QUALIFIER bool epsilonEqual + ( + float const& x, + float const& y, + float const& epsilon + ) + { + return abs(x - y) < epsilon; + } + + template<> + GLM_FUNC_QUALIFIER bool epsilonEqual + ( + double const& x, + double const& y, + double const& epsilon + ) + { + return abs(x - y) < epsilon; + } + + template + GLM_FUNC_QUALIFIER vec epsilonEqual(vec const& x, vec const& y, T const& epsilon) + { + return lessThan(abs(x - y), vec(epsilon)); + } + + template + GLM_FUNC_QUALIFIER vec epsilonEqual(vec const& x, vec const& y, vec const& epsilon) + { + return lessThan(abs(x - y), vec(epsilon)); + } + + template<> + GLM_FUNC_QUALIFIER bool epsilonNotEqual(float const& x, float const& y, float const& epsilon) + { + return abs(x - y) >= epsilon; + } + + template<> + GLM_FUNC_QUALIFIER bool epsilonNotEqual(double const& x, double const& y, double const& epsilon) + { + return abs(x - y) >= epsilon; + } + + template + GLM_FUNC_QUALIFIER vec epsilonNotEqual(vec const& x, vec const& y, T const& epsilon) + { + return greaterThanEqual(abs(x - y), vec(epsilon)); + } + + template + GLM_FUNC_QUALIFIER vec epsilonNotEqual(vec const& x, vec const& y, vec const& epsilon) + { + return greaterThanEqual(abs(x - y), vec(epsilon)); + } + + template + GLM_FUNC_QUALIFIER vec<4, bool, Q> epsilonEqual(qua const& x, qua const& y, T const& epsilon) + { + vec<4, T, Q> v(x.x - y.x, x.y - y.y, x.z - y.z, x.w - y.w); + return lessThan(abs(v), vec<4, T, Q>(epsilon)); + } + + template + GLM_FUNC_QUALIFIER vec<4, bool, Q> epsilonNotEqual(qua const& x, qua const& y, T const& epsilon) + { + vec<4, T, Q> v(x.x - y.x, x.y - y.y, x.z - y.z, x.w - y.w); + return greaterThanEqual(abs(v), vec<4, T, Q>(epsilon)); + } +}//namespace glm diff --git a/MacroLibX/third_party/glm/gtc/integer.hpp b/MacroLibX/third_party/glm/gtc/integer.hpp new file mode 100644 index 0000000..64ce10b --- /dev/null +++ b/MacroLibX/third_party/glm/gtc/integer.hpp @@ -0,0 +1,65 @@ +/// @ref gtc_integer +/// @file glm/gtc/integer.hpp +/// +/// @see core (dependence) +/// @see gtc_integer (dependence) +/// +/// @defgroup gtc_integer GLM_GTC_integer +/// @ingroup gtc +/// +/// Include to use the features of this extension. +/// +/// @brief Allow to perform bit operations on integer values + +#pragma once + +// Dependencies +#include "../detail/setup.hpp" +#include "../detail/qualifier.hpp" +#include "../common.hpp" +#include "../integer.hpp" +#include "../exponential.hpp" +#include + +#if GLM_MESSAGES == GLM_ENABLE && !defined(GLM_EXT_INCLUDED) +# pragma message("GLM: GLM_GTC_integer extension included") +#endif + +namespace glm +{ + /// @addtogroup gtc_integer + /// @{ + + /// Returns the log2 of x for integer values. Usefull to compute mipmap count from the texture size. + /// @see gtc_integer + template + GLM_FUNC_DECL genIUType log2(genIUType x); + + /// Returns a value equal to the nearest integer to x. + /// The fraction 0.5 will round in a direction chosen by the + /// implementation, presumably the direction that is fastest. + /// + /// @param x The values of the argument must be greater or equal to zero. + /// @tparam T floating point scalar types. + /// + /// @see GLSL round man page + /// @see gtc_integer + template + GLM_FUNC_DECL vec iround(vec const& x); + + /// Returns a value equal to the nearest integer to x. + /// The fraction 0.5 will round in a direction chosen by the + /// implementation, presumably the direction that is fastest. + /// + /// @param x The values of the argument must be greater or equal to zero. + /// @tparam T floating point scalar types. + /// + /// @see GLSL round man page + /// @see gtc_integer + template + GLM_FUNC_DECL vec uround(vec const& x); + + /// @} +} //namespace glm + +#include "integer.inl" diff --git a/MacroLibX/third_party/glm/gtc/integer.inl b/MacroLibX/third_party/glm/gtc/integer.inl new file mode 100644 index 0000000..f0a8b4f --- /dev/null +++ b/MacroLibX/third_party/glm/gtc/integer.inl @@ -0,0 +1,68 @@ +/// @ref gtc_integer + +namespace glm{ +namespace detail +{ + template + struct compute_log2 + { + GLM_FUNC_QUALIFIER static vec call(vec const& v) + { + //Equivalent to return findMSB(vec); but save one function call in ASM with VC + //return findMSB(vec); + return vec(detail::compute_findMSB_vec::call(v)); + } + }; + +# if GLM_HAS_BITSCAN_WINDOWS + template + struct compute_log2<4, int, Q, false, Aligned> + { + GLM_FUNC_QUALIFIER static vec<4, int, Q> call(vec<4, int, Q> const& v) + { + vec<4, int, Q> Result; + _BitScanReverse(reinterpret_cast(&Result.x), v.x); + _BitScanReverse(reinterpret_cast(&Result.y), v.y); + _BitScanReverse(reinterpret_cast(&Result.z), v.z); + _BitScanReverse(reinterpret_cast(&Result.w), v.w); + return Result; + } + }; +# endif//GLM_HAS_BITSCAN_WINDOWS +}//namespace detail + template + GLM_FUNC_QUALIFIER int iround(genType x) + { + GLM_STATIC_ASSERT(std::numeric_limits::is_iec559, "'iround' only accept floating-point inputs"); + assert(static_cast(0.0) <= x); + + return static_cast(x + static_cast(0.5)); + } + + template + GLM_FUNC_QUALIFIER vec iround(vec const& x) + { + GLM_STATIC_ASSERT(std::numeric_limits::is_iec559, "'iround' only accept floating-point inputs"); + assert(all(lessThanEqual(vec(0), x))); + + return vec(x + static_cast(0.5)); + } + + template + GLM_FUNC_QUALIFIER uint uround(genType x) + { + GLM_STATIC_ASSERT(std::numeric_limits::is_iec559, "'uround' only accept floating-point inputs"); + assert(static_cast(0.0) <= x); + + return static_cast(x + static_cast(0.5)); + } + + template + GLM_FUNC_QUALIFIER vec uround(vec const& x) + { + GLM_STATIC_ASSERT(std::numeric_limits::is_iec559, "'uround' only accept floating-point inputs"); + assert(all(lessThanEqual(vec(0), x))); + + return vec(x + static_cast(0.5)); + } +}//namespace glm diff --git a/MacroLibX/third_party/glm/gtc/matrix_access.hpp b/MacroLibX/third_party/glm/gtc/matrix_access.hpp new file mode 100644 index 0000000..4935ba7 --- /dev/null +++ b/MacroLibX/third_party/glm/gtc/matrix_access.hpp @@ -0,0 +1,60 @@ +/// @ref gtc_matrix_access +/// @file glm/gtc/matrix_access.hpp +/// +/// @see core (dependence) +/// +/// @defgroup gtc_matrix_access GLM_GTC_matrix_access +/// @ingroup gtc +/// +/// Include to use the features of this extension. +/// +/// Defines functions to access rows or columns of a matrix easily. + +#pragma once + +// Dependency: +#include "../detail/setup.hpp" + +#if GLM_MESSAGES == GLM_ENABLE && !defined(GLM_EXT_INCLUDED) +# pragma message("GLM: GLM_GTC_matrix_access extension included") +#endif + +namespace glm +{ + /// @addtogroup gtc_matrix_access + /// @{ + + /// Get a specific row of a matrix. + /// @see gtc_matrix_access + template + GLM_FUNC_DECL typename genType::row_type row( + genType const& m, + length_t index); + + /// Set a specific row to a matrix. + /// @see gtc_matrix_access + template + GLM_FUNC_DECL genType row( + genType const& m, + length_t index, + typename genType::row_type const& x); + + /// Get a specific column of a matrix. + /// @see gtc_matrix_access + template + GLM_FUNC_DECL typename genType::col_type column( + genType const& m, + length_t index); + + /// Set a specific column to a matrix. + /// @see gtc_matrix_access + template + GLM_FUNC_DECL genType column( + genType const& m, + length_t index, + typename genType::col_type const& x); + + /// @} +}//namespace glm + +#include "matrix_access.inl" diff --git a/MacroLibX/third_party/glm/gtc/matrix_access.inl b/MacroLibX/third_party/glm/gtc/matrix_access.inl new file mode 100644 index 0000000..09fcc10 --- /dev/null +++ b/MacroLibX/third_party/glm/gtc/matrix_access.inl @@ -0,0 +1,62 @@ +/// @ref gtc_matrix_access + +namespace glm +{ + template + GLM_FUNC_QUALIFIER genType row + ( + genType const& m, + length_t index, + typename genType::row_type const& x + ) + { + assert(index >= 0 && index < m[0].length()); + + genType Result = m; + for(length_t i = 0; i < m.length(); ++i) + Result[i][index] = x[i]; + return Result; + } + + template + GLM_FUNC_QUALIFIER typename genType::row_type row + ( + genType const& m, + length_t index + ) + { + assert(index >= 0 && index < m[0].length()); + + typename genType::row_type Result(0); + for(length_t i = 0; i < m.length(); ++i) + Result[i] = m[i][index]; + return Result; + } + + template + GLM_FUNC_QUALIFIER genType column + ( + genType const& m, + length_t index, + typename genType::col_type const& x + ) + { + assert(index >= 0 && index < m.length()); + + genType Result = m; + Result[index] = x; + return Result; + } + + template + GLM_FUNC_QUALIFIER typename genType::col_type column + ( + genType const& m, + length_t index + ) + { + assert(index >= 0 && index < m.length()); + + return m[index]; + } +}//namespace glm diff --git a/MacroLibX/third_party/glm/gtc/matrix_integer.hpp b/MacroLibX/third_party/glm/gtc/matrix_integer.hpp new file mode 100644 index 0000000..557a977 --- /dev/null +++ b/MacroLibX/third_party/glm/gtc/matrix_integer.hpp @@ -0,0 +1,487 @@ +/// @ref gtc_matrix_integer +/// @file glm/gtc/matrix_integer.hpp +/// +/// @see core (dependence) +/// +/// @defgroup gtc_matrix_integer GLM_GTC_matrix_integer +/// @ingroup gtc +/// +/// Include to use the features of this extension. +/// +/// Defines a number of matrices with integer types. + +#pragma once + +// Dependency: +#include "../mat2x2.hpp" +#include "../mat2x3.hpp" +#include "../mat2x4.hpp" +#include "../mat3x2.hpp" +#include "../mat3x3.hpp" +#include "../mat3x4.hpp" +#include "../mat4x2.hpp" +#include "../mat4x3.hpp" +#include "../mat4x4.hpp" + +#if GLM_MESSAGES == GLM_ENABLE && !defined(GLM_EXT_INCLUDED) +# pragma message("GLM: GLM_GTC_matrix_integer extension included") +#endif + +namespace glm +{ + /// @addtogroup gtc_matrix_integer + /// @{ + + /// High-qualifier signed integer 2x2 matrix. + /// @see gtc_matrix_integer + typedef mat<2, 2, int, highp> highp_imat2; + + /// High-qualifier signed integer 3x3 matrix. + /// @see gtc_matrix_integer + typedef mat<3, 3, int, highp> highp_imat3; + + /// High-qualifier signed integer 4x4 matrix. + /// @see gtc_matrix_integer + typedef mat<4, 4, int, highp> highp_imat4; + + /// High-qualifier signed integer 2x2 matrix. + /// @see gtc_matrix_integer + typedef mat<2, 2, int, highp> highp_imat2x2; + + /// High-qualifier signed integer 2x3 matrix. + /// @see gtc_matrix_integer + typedef mat<2, 3, int, highp> highp_imat2x3; + + /// High-qualifier signed integer 2x4 matrix. + /// @see gtc_matrix_integer + typedef mat<2, 4, int, highp> highp_imat2x4; + + /// High-qualifier signed integer 3x2 matrix. + /// @see gtc_matrix_integer + typedef mat<3, 2, int, highp> highp_imat3x2; + + /// High-qualifier signed integer 3x3 matrix. + /// @see gtc_matrix_integer + typedef mat<3, 3, int, highp> highp_imat3x3; + + /// High-qualifier signed integer 3x4 matrix. + /// @see gtc_matrix_integer + typedef mat<3, 4, int, highp> highp_imat3x4; + + /// High-qualifier signed integer 4x2 matrix. + /// @see gtc_matrix_integer + typedef mat<4, 2, int, highp> highp_imat4x2; + + /// High-qualifier signed integer 4x3 matrix. + /// @see gtc_matrix_integer + typedef mat<4, 3, int, highp> highp_imat4x3; + + /// High-qualifier signed integer 4x4 matrix. + /// @see gtc_matrix_integer + typedef mat<4, 4, int, highp> highp_imat4x4; + + + /// Medium-qualifier signed integer 2x2 matrix. + /// @see gtc_matrix_integer + typedef mat<2, 2, int, mediump> mediump_imat2; + + /// Medium-qualifier signed integer 3x3 matrix. + /// @see gtc_matrix_integer + typedef mat<3, 3, int, mediump> mediump_imat3; + + /// Medium-qualifier signed integer 4x4 matrix. + /// @see gtc_matrix_integer + typedef mat<4, 4, int, mediump> mediump_imat4; + + + /// Medium-qualifier signed integer 2x2 matrix. + /// @see gtc_matrix_integer + typedef mat<2, 2, int, mediump> mediump_imat2x2; + + /// Medium-qualifier signed integer 2x3 matrix. + /// @see gtc_matrix_integer + typedef mat<2, 3, int, mediump> mediump_imat2x3; + + /// Medium-qualifier signed integer 2x4 matrix. + /// @see gtc_matrix_integer + typedef mat<2, 4, int, mediump> mediump_imat2x4; + + /// Medium-qualifier signed integer 3x2 matrix. + /// @see gtc_matrix_integer + typedef mat<3, 2, int, mediump> mediump_imat3x2; + + /// Medium-qualifier signed integer 3x3 matrix. + /// @see gtc_matrix_integer + typedef mat<3, 3, int, mediump> mediump_imat3x3; + + /// Medium-qualifier signed integer 3x4 matrix. + /// @see gtc_matrix_integer + typedef mat<3, 4, int, mediump> mediump_imat3x4; + + /// Medium-qualifier signed integer 4x2 matrix. + /// @see gtc_matrix_integer + typedef mat<4, 2, int, mediump> mediump_imat4x2; + + /// Medium-qualifier signed integer 4x3 matrix. + /// @see gtc_matrix_integer + typedef mat<4, 3, int, mediump> mediump_imat4x3; + + /// Medium-qualifier signed integer 4x4 matrix. + /// @see gtc_matrix_integer + typedef mat<4, 4, int, mediump> mediump_imat4x4; + + + /// Low-qualifier signed integer 2x2 matrix. + /// @see gtc_matrix_integer + typedef mat<2, 2, int, lowp> lowp_imat2; + + /// Low-qualifier signed integer 3x3 matrix. + /// @see gtc_matrix_integer + typedef mat<3, 3, int, lowp> lowp_imat3; + + /// Low-qualifier signed integer 4x4 matrix. + /// @see gtc_matrix_integer + typedef mat<4, 4, int, lowp> lowp_imat4; + + + /// Low-qualifier signed integer 2x2 matrix. + /// @see gtc_matrix_integer + typedef mat<2, 2, int, lowp> lowp_imat2x2; + + /// Low-qualifier signed integer 2x3 matrix. + /// @see gtc_matrix_integer + typedef mat<2, 3, int, lowp> lowp_imat2x3; + + /// Low-qualifier signed integer 2x4 matrix. + /// @see gtc_matrix_integer + typedef mat<2, 4, int, lowp> lowp_imat2x4; + + /// Low-qualifier signed integer 3x2 matrix. + /// @see gtc_matrix_integer + typedef mat<3, 2, int, lowp> lowp_imat3x2; + + /// Low-qualifier signed integer 3x3 matrix. + /// @see gtc_matrix_integer + typedef mat<3, 3, int, lowp> lowp_imat3x3; + + /// Low-qualifier signed integer 3x4 matrix. + /// @see gtc_matrix_integer + typedef mat<3, 4, int, lowp> lowp_imat3x4; + + /// Low-qualifier signed integer 4x2 matrix. + /// @see gtc_matrix_integer + typedef mat<4, 2, int, lowp> lowp_imat4x2; + + /// Low-qualifier signed integer 4x3 matrix. + /// @see gtc_matrix_integer + typedef mat<4, 3, int, lowp> lowp_imat4x3; + + /// Low-qualifier signed integer 4x4 matrix. + /// @see gtc_matrix_integer + typedef mat<4, 4, int, lowp> lowp_imat4x4; + + + /// High-qualifier unsigned integer 2x2 matrix. + /// @see gtc_matrix_integer + typedef mat<2, 2, uint, highp> highp_umat2; + + /// High-qualifier unsigned integer 3x3 matrix. + /// @see gtc_matrix_integer + typedef mat<3, 3, uint, highp> highp_umat3; + + /// High-qualifier unsigned integer 4x4 matrix. + /// @see gtc_matrix_integer + typedef mat<4, 4, uint, highp> highp_umat4; + + /// High-qualifier unsigned integer 2x2 matrix. + /// @see gtc_matrix_integer + typedef mat<2, 2, uint, highp> highp_umat2x2; + + /// High-qualifier unsigned integer 2x3 matrix. + /// @see gtc_matrix_integer + typedef mat<2, 3, uint, highp> highp_umat2x3; + + /// High-qualifier unsigned integer 2x4 matrix. + /// @see gtc_matrix_integer + typedef mat<2, 4, uint, highp> highp_umat2x4; + + /// High-qualifier unsigned integer 3x2 matrix. + /// @see gtc_matrix_integer + typedef mat<3, 2, uint, highp> highp_umat3x2; + + /// High-qualifier unsigned integer 3x3 matrix. + /// @see gtc_matrix_integer + typedef mat<3, 3, uint, highp> highp_umat3x3; + + /// High-qualifier unsigned integer 3x4 matrix. + /// @see gtc_matrix_integer + typedef mat<3, 4, uint, highp> highp_umat3x4; + + /// High-qualifier unsigned integer 4x2 matrix. + /// @see gtc_matrix_integer + typedef mat<4, 2, uint, highp> highp_umat4x2; + + /// High-qualifier unsigned integer 4x3 matrix. + /// @see gtc_matrix_integer + typedef mat<4, 3, uint, highp> highp_umat4x3; + + /// High-qualifier unsigned integer 4x4 matrix. + /// @see gtc_matrix_integer + typedef mat<4, 4, uint, highp> highp_umat4x4; + + + /// Medium-qualifier unsigned integer 2x2 matrix. + /// @see gtc_matrix_integer + typedef mat<2, 2, uint, mediump> mediump_umat2; + + /// Medium-qualifier unsigned integer 3x3 matrix. + /// @see gtc_matrix_integer + typedef mat<3, 3, uint, mediump> mediump_umat3; + + /// Medium-qualifier unsigned integer 4x4 matrix. + /// @see gtc_matrix_integer + typedef mat<4, 4, uint, mediump> mediump_umat4; + + + /// Medium-qualifier unsigned integer 2x2 matrix. + /// @see gtc_matrix_integer + typedef mat<2, 2, uint, mediump> mediump_umat2x2; + + /// Medium-qualifier unsigned integer 2x3 matrix. + /// @see gtc_matrix_integer + typedef mat<2, 3, uint, mediump> mediump_umat2x3; + + /// Medium-qualifier unsigned integer 2x4 matrix. + /// @see gtc_matrix_integer + typedef mat<2, 4, uint, mediump> mediump_umat2x4; + + /// Medium-qualifier unsigned integer 3x2 matrix. + /// @see gtc_matrix_integer + typedef mat<3, 2, uint, mediump> mediump_umat3x2; + + /// Medium-qualifier unsigned integer 3x3 matrix. + /// @see gtc_matrix_integer + typedef mat<3, 3, uint, mediump> mediump_umat3x3; + + /// Medium-qualifier unsigned integer 3x4 matrix. + /// @see gtc_matrix_integer + typedef mat<3, 4, uint, mediump> mediump_umat3x4; + + /// Medium-qualifier unsigned integer 4x2 matrix. + /// @see gtc_matrix_integer + typedef mat<4, 2, uint, mediump> mediump_umat4x2; + + /// Medium-qualifier unsigned integer 4x3 matrix. + /// @see gtc_matrix_integer + typedef mat<4, 3, uint, mediump> mediump_umat4x3; + + /// Medium-qualifier unsigned integer 4x4 matrix. + /// @see gtc_matrix_integer + typedef mat<4, 4, uint, mediump> mediump_umat4x4; + + + /// Low-qualifier unsigned integer 2x2 matrix. + /// @see gtc_matrix_integer + typedef mat<2, 2, uint, lowp> lowp_umat2; + + /// Low-qualifier unsigned integer 3x3 matrix. + /// @see gtc_matrix_integer + typedef mat<3, 3, uint, lowp> lowp_umat3; + + /// Low-qualifier unsigned integer 4x4 matrix. + /// @see gtc_matrix_integer + typedef mat<4, 4, uint, lowp> lowp_umat4; + + + /// Low-qualifier unsigned integer 2x2 matrix. + /// @see gtc_matrix_integer + typedef mat<2, 2, uint, lowp> lowp_umat2x2; + + /// Low-qualifier unsigned integer 2x3 matrix. + /// @see gtc_matrix_integer + typedef mat<2, 3, uint, lowp> lowp_umat2x3; + + /// Low-qualifier unsigned integer 2x4 matrix. + /// @see gtc_matrix_integer + typedef mat<2, 4, uint, lowp> lowp_umat2x4; + + /// Low-qualifier unsigned integer 3x2 matrix. + /// @see gtc_matrix_integer + typedef mat<3, 2, uint, lowp> lowp_umat3x2; + + /// Low-qualifier unsigned integer 3x3 matrix. + /// @see gtc_matrix_integer + typedef mat<3, 3, uint, lowp> lowp_umat3x3; + + /// Low-qualifier unsigned integer 3x4 matrix. + /// @see gtc_matrix_integer + typedef mat<3, 4, uint, lowp> lowp_umat3x4; + + /// Low-qualifier unsigned integer 4x2 matrix. + /// @see gtc_matrix_integer + typedef mat<4, 2, uint, lowp> lowp_umat4x2; + + /// Low-qualifier unsigned integer 4x3 matrix. + /// @see gtc_matrix_integer + typedef mat<4, 3, uint, lowp> lowp_umat4x3; + + /// Low-qualifier unsigned integer 4x4 matrix. + /// @see gtc_matrix_integer + typedef mat<4, 4, uint, lowp> lowp_umat4x4; + +#if(defined(GLM_PRECISION_HIGHP_INT)) + typedef highp_imat2 imat2; + typedef highp_imat3 imat3; + typedef highp_imat4 imat4; + typedef highp_imat2x2 imat2x2; + typedef highp_imat2x3 imat2x3; + typedef highp_imat2x4 imat2x4; + typedef highp_imat3x2 imat3x2; + typedef highp_imat3x3 imat3x3; + typedef highp_imat3x4 imat3x4; + typedef highp_imat4x2 imat4x2; + typedef highp_imat4x3 imat4x3; + typedef highp_imat4x4 imat4x4; +#elif(defined(GLM_PRECISION_LOWP_INT)) + typedef lowp_imat2 imat2; + typedef lowp_imat3 imat3; + typedef lowp_imat4 imat4; + typedef lowp_imat2x2 imat2x2; + typedef lowp_imat2x3 imat2x3; + typedef lowp_imat2x4 imat2x4; + typedef lowp_imat3x2 imat3x2; + typedef lowp_imat3x3 imat3x3; + typedef lowp_imat3x4 imat3x4; + typedef lowp_imat4x2 imat4x2; + typedef lowp_imat4x3 imat4x3; + typedef lowp_imat4x4 imat4x4; +#else //if(defined(GLM_PRECISION_MEDIUMP_INT)) + + /// Signed integer 2x2 matrix. + /// @see gtc_matrix_integer + typedef mediump_imat2 imat2; + + /// Signed integer 3x3 matrix. + /// @see gtc_matrix_integer + typedef mediump_imat3 imat3; + + /// Signed integer 4x4 matrix. + /// @see gtc_matrix_integer + typedef mediump_imat4 imat4; + + /// Signed integer 2x2 matrix. + /// @see gtc_matrix_integer + typedef mediump_imat2x2 imat2x2; + + /// Signed integer 2x3 matrix. + /// @see gtc_matrix_integer + typedef mediump_imat2x3 imat2x3; + + /// Signed integer 2x4 matrix. + /// @see gtc_matrix_integer + typedef mediump_imat2x4 imat2x4; + + /// Signed integer 3x2 matrix. + /// @see gtc_matrix_integer + typedef mediump_imat3x2 imat3x2; + + /// Signed integer 3x3 matrix. + /// @see gtc_matrix_integer + typedef mediump_imat3x3 imat3x3; + + /// Signed integer 3x4 matrix. + /// @see gtc_matrix_integer + typedef mediump_imat3x4 imat3x4; + + /// Signed integer 4x2 matrix. + /// @see gtc_matrix_integer + typedef mediump_imat4x2 imat4x2; + + /// Signed integer 4x3 matrix. + /// @see gtc_matrix_integer + typedef mediump_imat4x3 imat4x3; + + /// Signed integer 4x4 matrix. + /// @see gtc_matrix_integer + typedef mediump_imat4x4 imat4x4; +#endif//GLM_PRECISION + +#if(defined(GLM_PRECISION_HIGHP_UINT)) + typedef highp_umat2 umat2; + typedef highp_umat3 umat3; + typedef highp_umat4 umat4; + typedef highp_umat2x2 umat2x2; + typedef highp_umat2x3 umat2x3; + typedef highp_umat2x4 umat2x4; + typedef highp_umat3x2 umat3x2; + typedef highp_umat3x3 umat3x3; + typedef highp_umat3x4 umat3x4; + typedef highp_umat4x2 umat4x2; + typedef highp_umat4x3 umat4x3; + typedef highp_umat4x4 umat4x4; +#elif(defined(GLM_PRECISION_LOWP_UINT)) + typedef lowp_umat2 umat2; + typedef lowp_umat3 umat3; + typedef lowp_umat4 umat4; + typedef lowp_umat2x2 umat2x2; + typedef lowp_umat2x3 umat2x3; + typedef lowp_umat2x4 umat2x4; + typedef lowp_umat3x2 umat3x2; + typedef lowp_umat3x3 umat3x3; + typedef lowp_umat3x4 umat3x4; + typedef lowp_umat4x2 umat4x2; + typedef lowp_umat4x3 umat4x3; + typedef lowp_umat4x4 umat4x4; +#else //if(defined(GLM_PRECISION_MEDIUMP_UINT)) + + /// Unsigned integer 2x2 matrix. + /// @see gtc_matrix_integer + typedef mediump_umat2 umat2; + + /// Unsigned integer 3x3 matrix. + /// @see gtc_matrix_integer + typedef mediump_umat3 umat3; + + /// Unsigned integer 4x4 matrix. + /// @see gtc_matrix_integer + typedef mediump_umat4 umat4; + + /// Unsigned integer 2x2 matrix. + /// @see gtc_matrix_integer + typedef mediump_umat2x2 umat2x2; + + /// Unsigned integer 2x3 matrix. + /// @see gtc_matrix_integer + typedef mediump_umat2x3 umat2x3; + + /// Unsigned integer 2x4 matrix. + /// @see gtc_matrix_integer + typedef mediump_umat2x4 umat2x4; + + /// Unsigned integer 3x2 matrix. + /// @see gtc_matrix_integer + typedef mediump_umat3x2 umat3x2; + + /// Unsigned integer 3x3 matrix. + /// @see gtc_matrix_integer + typedef mediump_umat3x3 umat3x3; + + /// Unsigned integer 3x4 matrix. + /// @see gtc_matrix_integer + typedef mediump_umat3x4 umat3x4; + + /// Unsigned integer 4x2 matrix. + /// @see gtc_matrix_integer + typedef mediump_umat4x2 umat4x2; + + /// Unsigned integer 4x3 matrix. + /// @see gtc_matrix_integer + typedef mediump_umat4x3 umat4x3; + + /// Unsigned integer 4x4 matrix. + /// @see gtc_matrix_integer + typedef mediump_umat4x4 umat4x4; +#endif//GLM_PRECISION + + /// @} +}//namespace glm diff --git a/MacroLibX/third_party/glm/gtc/matrix_inverse.hpp b/MacroLibX/third_party/glm/gtc/matrix_inverse.hpp new file mode 100644 index 0000000..a1900ad --- /dev/null +++ b/MacroLibX/third_party/glm/gtc/matrix_inverse.hpp @@ -0,0 +1,50 @@ +/// @ref gtc_matrix_inverse +/// @file glm/gtc/matrix_inverse.hpp +/// +/// @see core (dependence) +/// +/// @defgroup gtc_matrix_inverse GLM_GTC_matrix_inverse +/// @ingroup gtc +/// +/// Include to use the features of this extension. +/// +/// Defines additional matrix inverting functions. + +#pragma once + +// Dependencies +#include "../detail/setup.hpp" +#include "../matrix.hpp" +#include "../mat2x2.hpp" +#include "../mat3x3.hpp" +#include "../mat4x4.hpp" + +#if GLM_MESSAGES == GLM_ENABLE && !defined(GLM_EXT_INCLUDED) +# pragma message("GLM: GLM_GTC_matrix_inverse extension included") +#endif + +namespace glm +{ + /// @addtogroup gtc_matrix_inverse + /// @{ + + /// Fast matrix inverse for affine matrix. + /// + /// @param m Input matrix to invert. + /// @tparam genType Squared floating-point matrix: half, float or double. Inverse of matrix based of half-qualifier floating point value is highly innacurate. + /// @see gtc_matrix_inverse + template + GLM_FUNC_DECL genType affineInverse(genType const& m); + + /// Compute the inverse transpose of a matrix. + /// + /// @param m Input matrix to invert transpose. + /// @tparam genType Squared floating-point matrix: half, float or double. Inverse of matrix based of half-qualifier floating point value is highly innacurate. + /// @see gtc_matrix_inverse + template + GLM_FUNC_DECL genType inverseTranspose(genType const& m); + + /// @} +}//namespace glm + +#include "matrix_inverse.inl" diff --git a/MacroLibX/third_party/glm/gtc/matrix_inverse.inl b/MacroLibX/third_party/glm/gtc/matrix_inverse.inl new file mode 100644 index 0000000..c004b9e --- /dev/null +++ b/MacroLibX/third_party/glm/gtc/matrix_inverse.inl @@ -0,0 +1,118 @@ +/// @ref gtc_matrix_inverse + +namespace glm +{ + template + GLM_FUNC_QUALIFIER mat<3, 3, T, Q> affineInverse(mat<3, 3, T, Q> const& m) + { + mat<2, 2, T, Q> const Inv(inverse(mat<2, 2, T, Q>(m))); + + return mat<3, 3, T, Q>( + vec<3, T, Q>(Inv[0], static_cast(0)), + vec<3, T, Q>(Inv[1], static_cast(0)), + vec<3, T, Q>(-Inv * vec<2, T, Q>(m[2]), static_cast(1))); + } + + template + GLM_FUNC_QUALIFIER mat<4, 4, T, Q> affineInverse(mat<4, 4, T, Q> const& m) + { + mat<3, 3, T, Q> const Inv(inverse(mat<3, 3, T, Q>(m))); + + return mat<4, 4, T, Q>( + vec<4, T, Q>(Inv[0], static_cast(0)), + vec<4, T, Q>(Inv[1], static_cast(0)), + vec<4, T, Q>(Inv[2], static_cast(0)), + vec<4, T, Q>(-Inv * vec<3, T, Q>(m[3]), static_cast(1))); + } + + template + GLM_FUNC_QUALIFIER mat<2, 2, T, Q> inverseTranspose(mat<2, 2, T, Q> const& m) + { + T Determinant = m[0][0] * m[1][1] - m[1][0] * m[0][1]; + + mat<2, 2, T, Q> Inverse( + + m[1][1] / Determinant, + - m[0][1] / Determinant, + - m[1][0] / Determinant, + + m[0][0] / Determinant); + + return Inverse; + } + + template + GLM_FUNC_QUALIFIER mat<3, 3, T, Q> inverseTranspose(mat<3, 3, T, Q> const& m) + { + T Determinant = + + m[0][0] * (m[1][1] * m[2][2] - m[1][2] * m[2][1]) + - m[0][1] * (m[1][0] * m[2][2] - m[1][2] * m[2][0]) + + m[0][2] * (m[1][0] * m[2][1] - m[1][1] * m[2][0]); + + mat<3, 3, T, Q> Inverse; + Inverse[0][0] = + (m[1][1] * m[2][2] - m[2][1] * m[1][2]); + Inverse[0][1] = - (m[1][0] * m[2][2] - m[2][0] * m[1][2]); + Inverse[0][2] = + (m[1][0] * m[2][1] - m[2][0] * m[1][1]); + Inverse[1][0] = - (m[0][1] * m[2][2] - m[2][1] * m[0][2]); + Inverse[1][1] = + (m[0][0] * m[2][2] - m[2][0] * m[0][2]); + Inverse[1][2] = - (m[0][0] * m[2][1] - m[2][0] * m[0][1]); + Inverse[2][0] = + (m[0][1] * m[1][2] - m[1][1] * m[0][2]); + Inverse[2][1] = - (m[0][0] * m[1][2] - m[1][0] * m[0][2]); + Inverse[2][2] = + (m[0][0] * m[1][1] - m[1][0] * m[0][1]); + Inverse /= Determinant; + + return Inverse; + } + + template + GLM_FUNC_QUALIFIER mat<4, 4, T, Q> inverseTranspose(mat<4, 4, T, Q> const& m) + { + T SubFactor00 = m[2][2] * m[3][3] - m[3][2] * m[2][3]; + T SubFactor01 = m[2][1] * m[3][3] - m[3][1] * m[2][3]; + T SubFactor02 = m[2][1] * m[3][2] - m[3][1] * m[2][2]; + T SubFactor03 = m[2][0] * m[3][3] - m[3][0] * m[2][3]; + T SubFactor04 = m[2][0] * m[3][2] - m[3][0] * m[2][2]; + T SubFactor05 = m[2][0] * m[3][1] - m[3][0] * m[2][1]; + T SubFactor06 = m[1][2] * m[3][3] - m[3][2] * m[1][3]; + T SubFactor07 = m[1][1] * m[3][3] - m[3][1] * m[1][3]; + T SubFactor08 = m[1][1] * m[3][2] - m[3][1] * m[1][2]; + T SubFactor09 = m[1][0] * m[3][3] - m[3][0] * m[1][3]; + T SubFactor10 = m[1][0] * m[3][2] - m[3][0] * m[1][2]; + T SubFactor11 = m[1][0] * m[3][1] - m[3][0] * m[1][1]; + T SubFactor12 = m[1][2] * m[2][3] - m[2][2] * m[1][3]; + T SubFactor13 = m[1][1] * m[2][3] - m[2][1] * m[1][3]; + T SubFactor14 = m[1][1] * m[2][2] - m[2][1] * m[1][2]; + T SubFactor15 = m[1][0] * m[2][3] - m[2][0] * m[1][3]; + T SubFactor16 = m[1][0] * m[2][2] - m[2][0] * m[1][2]; + T SubFactor17 = m[1][0] * m[2][1] - m[2][0] * m[1][1]; + + mat<4, 4, T, Q> Inverse; + Inverse[0][0] = + (m[1][1] * SubFactor00 - m[1][2] * SubFactor01 + m[1][3] * SubFactor02); + Inverse[0][1] = - (m[1][0] * SubFactor00 - m[1][2] * SubFactor03 + m[1][3] * SubFactor04); + Inverse[0][2] = + (m[1][0] * SubFactor01 - m[1][1] * SubFactor03 + m[1][3] * SubFactor05); + Inverse[0][3] = - (m[1][0] * SubFactor02 - m[1][1] * SubFactor04 + m[1][2] * SubFactor05); + + Inverse[1][0] = - (m[0][1] * SubFactor00 - m[0][2] * SubFactor01 + m[0][3] * SubFactor02); + Inverse[1][1] = + (m[0][0] * SubFactor00 - m[0][2] * SubFactor03 + m[0][3] * SubFactor04); + Inverse[1][2] = - (m[0][0] * SubFactor01 - m[0][1] * SubFactor03 + m[0][3] * SubFactor05); + Inverse[1][3] = + (m[0][0] * SubFactor02 - m[0][1] * SubFactor04 + m[0][2] * SubFactor05); + + Inverse[2][0] = + (m[0][1] * SubFactor06 - m[0][2] * SubFactor07 + m[0][3] * SubFactor08); + Inverse[2][1] = - (m[0][0] * SubFactor06 - m[0][2] * SubFactor09 + m[0][3] * SubFactor10); + Inverse[2][2] = + (m[0][0] * SubFactor07 - m[0][1] * SubFactor09 + m[0][3] * SubFactor11); + Inverse[2][3] = - (m[0][0] * SubFactor08 - m[0][1] * SubFactor10 + m[0][2] * SubFactor11); + + Inverse[3][0] = - (m[0][1] * SubFactor12 - m[0][2] * SubFactor13 + m[0][3] * SubFactor14); + Inverse[3][1] = + (m[0][0] * SubFactor12 - m[0][2] * SubFactor15 + m[0][3] * SubFactor16); + Inverse[3][2] = - (m[0][0] * SubFactor13 - m[0][1] * SubFactor15 + m[0][3] * SubFactor17); + Inverse[3][3] = + (m[0][0] * SubFactor14 - m[0][1] * SubFactor16 + m[0][2] * SubFactor17); + + T Determinant = + + m[0][0] * Inverse[0][0] + + m[0][1] * Inverse[0][1] + + m[0][2] * Inverse[0][2] + + m[0][3] * Inverse[0][3]; + + Inverse /= Determinant; + + return Inverse; + } +}//namespace glm diff --git a/MacroLibX/third_party/glm/gtc/matrix_transform.hpp b/MacroLibX/third_party/glm/gtc/matrix_transform.hpp new file mode 100644 index 0000000..612418f --- /dev/null +++ b/MacroLibX/third_party/glm/gtc/matrix_transform.hpp @@ -0,0 +1,36 @@ +/// @ref gtc_matrix_transform +/// @file glm/gtc/matrix_transform.hpp +/// +/// @see core (dependence) +/// @see gtx_transform +/// @see gtx_transform2 +/// +/// @defgroup gtc_matrix_transform GLM_GTC_matrix_transform +/// @ingroup gtc +/// +/// Include to use the features of this extension. +/// +/// Defines functions that generate common transformation matrices. +/// +/// The matrices generated by this extension use standard OpenGL fixed-function +/// conventions. For example, the lookAt function generates a transform from world +/// space into the specific eye space that the projective matrix functions +/// (perspective, ortho, etc) are designed to expect. The OpenGL compatibility +/// specifications defines the particular layout of this eye space. + +#pragma once + +// Dependencies +#include "../mat4x4.hpp" +#include "../vec2.hpp" +#include "../vec3.hpp" +#include "../vec4.hpp" +#include "../ext/matrix_projection.hpp" +#include "../ext/matrix_clip_space.hpp" +#include "../ext/matrix_transform.hpp" + +#if GLM_MESSAGES == GLM_ENABLE && !defined(GLM_EXT_INCLUDED) +# pragma message("GLM: GLM_GTC_matrix_transform extension included") +#endif + +#include "matrix_transform.inl" diff --git a/MacroLibX/third_party/glm/gtc/matrix_transform.inl b/MacroLibX/third_party/glm/gtc/matrix_transform.inl new file mode 100644 index 0000000..15b46bc --- /dev/null +++ b/MacroLibX/third_party/glm/gtc/matrix_transform.inl @@ -0,0 +1,3 @@ +#include "../geometric.hpp" +#include "../trigonometric.hpp" +#include "../matrix.hpp" diff --git a/MacroLibX/third_party/glm/gtc/noise.hpp b/MacroLibX/third_party/glm/gtc/noise.hpp new file mode 100644 index 0000000..ab1772e --- /dev/null +++ b/MacroLibX/third_party/glm/gtc/noise.hpp @@ -0,0 +1,61 @@ +/// @ref gtc_noise +/// @file glm/gtc/noise.hpp +/// +/// @see core (dependence) +/// +/// @defgroup gtc_noise GLM_GTC_noise +/// @ingroup gtc +/// +/// Include to use the features of this extension. +/// +/// Defines 2D, 3D and 4D procedural noise functions +/// Based on the work of Stefan Gustavson and Ashima Arts on "webgl-noise": +/// https://github.com/ashima/webgl-noise +/// Following Stefan Gustavson's paper "Simplex noise demystified": +/// http://www.itn.liu.se/~stegu/simplexnoise/simplexnoise.pdf + +#pragma once + +// Dependencies +#include "../detail/setup.hpp" +#include "../detail/qualifier.hpp" +#include "../detail/_noise.hpp" +#include "../geometric.hpp" +#include "../common.hpp" +#include "../vector_relational.hpp" +#include "../vec2.hpp" +#include "../vec3.hpp" +#include "../vec4.hpp" + +#if GLM_MESSAGES == GLM_ENABLE && !defined(GLM_EXT_INCLUDED) +# pragma message("GLM: GLM_GTC_noise extension included") +#endif + +namespace glm +{ + /// @addtogroup gtc_noise + /// @{ + + /// Classic perlin noise. + /// @see gtc_noise + template + GLM_FUNC_DECL T perlin( + vec const& p); + + /// Periodic perlin noise. + /// @see gtc_noise + template + GLM_FUNC_DECL T perlin( + vec const& p, + vec const& rep); + + /// Simplex noise. + /// @see gtc_noise + template + GLM_FUNC_DECL T simplex( + vec const& p); + + /// @} +}//namespace glm + +#include "noise.inl" diff --git a/MacroLibX/third_party/glm/gtc/noise.inl b/MacroLibX/third_party/glm/gtc/noise.inl new file mode 100644 index 0000000..30d0b27 --- /dev/null +++ b/MacroLibX/third_party/glm/gtc/noise.inl @@ -0,0 +1,807 @@ +/// @ref gtc_noise +/// +// Based on the work of Stefan Gustavson and Ashima Arts on "webgl-noise": +// https://github.com/ashima/webgl-noise +// Following Stefan Gustavson's paper "Simplex noise demystified": +// http://www.itn.liu.se/~stegu/simplexnoise/simplexnoise.pdf + +namespace glm{ +namespace gtc +{ + template + GLM_FUNC_QUALIFIER vec<4, T, Q> grad4(T const& j, vec<4, T, Q> const& ip) + { + vec<3, T, Q> pXYZ = floor(fract(vec<3, T, Q>(j) * vec<3, T, Q>(ip)) * T(7)) * ip[2] - T(1); + T pW = static_cast(1.5) - dot(abs(pXYZ), vec<3, T, Q>(1)); + vec<4, T, Q> s = vec<4, T, Q>(lessThan(vec<4, T, Q>(pXYZ, pW), vec<4, T, Q>(0.0))); + pXYZ = pXYZ + (vec<3, T, Q>(s) * T(2) - T(1)) * s.w; + return vec<4, T, Q>(pXYZ, pW); + } +}//namespace gtc + + // Classic Perlin noise + template + GLM_FUNC_QUALIFIER T perlin(vec<2, T, Q> const& Position) + { + vec<4, T, Q> Pi = glm::floor(vec<4, T, Q>(Position.x, Position.y, Position.x, Position.y)) + vec<4, T, Q>(0.0, 0.0, 1.0, 1.0); + vec<4, T, Q> Pf = glm::fract(vec<4, T, Q>(Position.x, Position.y, Position.x, Position.y)) - vec<4, T, Q>(0.0, 0.0, 1.0, 1.0); + Pi = mod(Pi, vec<4, T, Q>(289)); // To avoid truncation effects in permutation + vec<4, T, Q> ix(Pi.x, Pi.z, Pi.x, Pi.z); + vec<4, T, Q> iy(Pi.y, Pi.y, Pi.w, Pi.w); + vec<4, T, Q> fx(Pf.x, Pf.z, Pf.x, Pf.z); + vec<4, T, Q> fy(Pf.y, Pf.y, Pf.w, Pf.w); + + vec<4, T, Q> i = detail::permute(detail::permute(ix) + iy); + + vec<4, T, Q> gx = static_cast(2) * glm::fract(i / T(41)) - T(1); + vec<4, T, Q> gy = glm::abs(gx) - T(0.5); + vec<4, T, Q> tx = glm::floor(gx + T(0.5)); + gx = gx - tx; + + vec<2, T, Q> g00(gx.x, gy.x); + vec<2, T, Q> g10(gx.y, gy.y); + vec<2, T, Q> g01(gx.z, gy.z); + vec<2, T, Q> g11(gx.w, gy.w); + + vec<4, T, Q> norm = detail::taylorInvSqrt(vec<4, T, Q>(dot(g00, g00), dot(g01, g01), dot(g10, g10), dot(g11, g11))); + g00 *= norm.x; + g01 *= norm.y; + g10 *= norm.z; + g11 *= norm.w; + + T n00 = dot(g00, vec<2, T, Q>(fx.x, fy.x)); + T n10 = dot(g10, vec<2, T, Q>(fx.y, fy.y)); + T n01 = dot(g01, vec<2, T, Q>(fx.z, fy.z)); + T n11 = dot(g11, vec<2, T, Q>(fx.w, fy.w)); + + vec<2, T, Q> fade_xy = detail::fade(vec<2, T, Q>(Pf.x, Pf.y)); + vec<2, T, Q> n_x = mix(vec<2, T, Q>(n00, n01), vec<2, T, Q>(n10, n11), fade_xy.x); + T n_xy = mix(n_x.x, n_x.y, fade_xy.y); + return T(2.3) * n_xy; + } + + // Classic Perlin noise + template + GLM_FUNC_QUALIFIER T perlin(vec<3, T, Q> const& Position) + { + vec<3, T, Q> Pi0 = floor(Position); // Integer part for indexing + vec<3, T, Q> Pi1 = Pi0 + T(1); // Integer part + 1 + Pi0 = detail::mod289(Pi0); + Pi1 = detail::mod289(Pi1); + vec<3, T, Q> Pf0 = fract(Position); // Fractional part for interpolation + vec<3, T, Q> Pf1 = Pf0 - T(1); // Fractional part - 1.0 + vec<4, T, Q> ix(Pi0.x, Pi1.x, Pi0.x, Pi1.x); + vec<4, T, Q> iy = vec<4, T, Q>(vec<2, T, Q>(Pi0.y), vec<2, T, Q>(Pi1.y)); + vec<4, T, Q> iz0(Pi0.z); + vec<4, T, Q> iz1(Pi1.z); + + vec<4, T, Q> ixy = detail::permute(detail::permute(ix) + iy); + vec<4, T, Q> ixy0 = detail::permute(ixy + iz0); + vec<4, T, Q> ixy1 = detail::permute(ixy + iz1); + + vec<4, T, Q> gx0 = ixy0 * T(1.0 / 7.0); + vec<4, T, Q> gy0 = fract(floor(gx0) * T(1.0 / 7.0)) - T(0.5); + gx0 = fract(gx0); + vec<4, T, Q> gz0 = vec<4, T, Q>(0.5) - abs(gx0) - abs(gy0); + vec<4, T, Q> sz0 = step(gz0, vec<4, T, Q>(0.0)); + gx0 -= sz0 * (step(T(0), gx0) - T(0.5)); + gy0 -= sz0 * (step(T(0), gy0) - T(0.5)); + + vec<4, T, Q> gx1 = ixy1 * T(1.0 / 7.0); + vec<4, T, Q> gy1 = fract(floor(gx1) * T(1.0 / 7.0)) - T(0.5); + gx1 = fract(gx1); + vec<4, T, Q> gz1 = vec<4, T, Q>(0.5) - abs(gx1) - abs(gy1); + vec<4, T, Q> sz1 = step(gz1, vec<4, T, Q>(0.0)); + gx1 -= sz1 * (step(T(0), gx1) - T(0.5)); + gy1 -= sz1 * (step(T(0), gy1) - T(0.5)); + + vec<3, T, Q> g000(gx0.x, gy0.x, gz0.x); + vec<3, T, Q> g100(gx0.y, gy0.y, gz0.y); + vec<3, T, Q> g010(gx0.z, gy0.z, gz0.z); + vec<3, T, Q> g110(gx0.w, gy0.w, gz0.w); + vec<3, T, Q> g001(gx1.x, gy1.x, gz1.x); + vec<3, T, Q> g101(gx1.y, gy1.y, gz1.y); + vec<3, T, Q> g011(gx1.z, gy1.z, gz1.z); + vec<3, T, Q> g111(gx1.w, gy1.w, gz1.w); + + vec<4, T, Q> norm0 = detail::taylorInvSqrt(vec<4, T, Q>(dot(g000, g000), dot(g010, g010), dot(g100, g100), dot(g110, g110))); + g000 *= norm0.x; + g010 *= norm0.y; + g100 *= norm0.z; + g110 *= norm0.w; + vec<4, T, Q> norm1 = detail::taylorInvSqrt(vec<4, T, Q>(dot(g001, g001), dot(g011, g011), dot(g101, g101), dot(g111, g111))); + g001 *= norm1.x; + g011 *= norm1.y; + g101 *= norm1.z; + g111 *= norm1.w; + + T n000 = dot(g000, Pf0); + T n100 = dot(g100, vec<3, T, Q>(Pf1.x, Pf0.y, Pf0.z)); + T n010 = dot(g010, vec<3, T, Q>(Pf0.x, Pf1.y, Pf0.z)); + T n110 = dot(g110, vec<3, T, Q>(Pf1.x, Pf1.y, Pf0.z)); + T n001 = dot(g001, vec<3, T, Q>(Pf0.x, Pf0.y, Pf1.z)); + T n101 = dot(g101, vec<3, T, Q>(Pf1.x, Pf0.y, Pf1.z)); + T n011 = dot(g011, vec<3, T, Q>(Pf0.x, Pf1.y, Pf1.z)); + T n111 = dot(g111, Pf1); + + vec<3, T, Q> fade_xyz = detail::fade(Pf0); + vec<4, T, Q> n_z = mix(vec<4, T, Q>(n000, n100, n010, n110), vec<4, T, Q>(n001, n101, n011, n111), fade_xyz.z); + vec<2, T, Q> n_yz = mix(vec<2, T, Q>(n_z.x, n_z.y), vec<2, T, Q>(n_z.z, n_z.w), fade_xyz.y); + T n_xyz = mix(n_yz.x, n_yz.y, fade_xyz.x); + return T(2.2) * n_xyz; + } + /* + // Classic Perlin noise + template + GLM_FUNC_QUALIFIER T perlin(vec<3, T, Q> const& P) + { + vec<3, T, Q> Pi0 = floor(P); // Integer part for indexing + vec<3, T, Q> Pi1 = Pi0 + T(1); // Integer part + 1 + Pi0 = mod(Pi0, T(289)); + Pi1 = mod(Pi1, T(289)); + vec<3, T, Q> Pf0 = fract(P); // Fractional part for interpolation + vec<3, T, Q> Pf1 = Pf0 - T(1); // Fractional part - 1.0 + vec<4, T, Q> ix(Pi0.x, Pi1.x, Pi0.x, Pi1.x); + vec<4, T, Q> iy(Pi0.y, Pi0.y, Pi1.y, Pi1.y); + vec<4, T, Q> iz0(Pi0.z); + vec<4, T, Q> iz1(Pi1.z); + + vec<4, T, Q> ixy = permute(permute(ix) + iy); + vec<4, T, Q> ixy0 = permute(ixy + iz0); + vec<4, T, Q> ixy1 = permute(ixy + iz1); + + vec<4, T, Q> gx0 = ixy0 / T(7); + vec<4, T, Q> gy0 = fract(floor(gx0) / T(7)) - T(0.5); + gx0 = fract(gx0); + vec<4, T, Q> gz0 = vec<4, T, Q>(0.5) - abs(gx0) - abs(gy0); + vec<4, T, Q> sz0 = step(gz0, vec<4, T, Q>(0.0)); + gx0 -= sz0 * (step(0.0, gx0) - T(0.5)); + gy0 -= sz0 * (step(0.0, gy0) - T(0.5)); + + vec<4, T, Q> gx1 = ixy1 / T(7); + vec<4, T, Q> gy1 = fract(floor(gx1) / T(7)) - T(0.5); + gx1 = fract(gx1); + vec<4, T, Q> gz1 = vec<4, T, Q>(0.5) - abs(gx1) - abs(gy1); + vec<4, T, Q> sz1 = step(gz1, vec<4, T, Q>(0.0)); + gx1 -= sz1 * (step(T(0), gx1) - T(0.5)); + gy1 -= sz1 * (step(T(0), gy1) - T(0.5)); + + vec<3, T, Q> g000(gx0.x, gy0.x, gz0.x); + vec<3, T, Q> g100(gx0.y, gy0.y, gz0.y); + vec<3, T, Q> g010(gx0.z, gy0.z, gz0.z); + vec<3, T, Q> g110(gx0.w, gy0.w, gz0.w); + vec<3, T, Q> g001(gx1.x, gy1.x, gz1.x); + vec<3, T, Q> g101(gx1.y, gy1.y, gz1.y); + vec<3, T, Q> g011(gx1.z, gy1.z, gz1.z); + vec<3, T, Q> g111(gx1.w, gy1.w, gz1.w); + + vec<4, T, Q> norm0 = taylorInvSqrt(vec<4, T, Q>(dot(g000, g000), dot(g010, g010), dot(g100, g100), dot(g110, g110))); + g000 *= norm0.x; + g010 *= norm0.y; + g100 *= norm0.z; + g110 *= norm0.w; + vec<4, T, Q> norm1 = taylorInvSqrt(vec<4, T, Q>(dot(g001, g001), dot(g011, g011), dot(g101, g101), dot(g111, g111))); + g001 *= norm1.x; + g011 *= norm1.y; + g101 *= norm1.z; + g111 *= norm1.w; + + T n000 = dot(g000, Pf0); + T n100 = dot(g100, vec<3, T, Q>(Pf1.x, Pf0.y, Pf0.z)); + T n010 = dot(g010, vec<3, T, Q>(Pf0.x, Pf1.y, Pf0.z)); + T n110 = dot(g110, vec<3, T, Q>(Pf1.x, Pf1.y, Pf0.z)); + T n001 = dot(g001, vec<3, T, Q>(Pf0.x, Pf0.y, Pf1.z)); + T n101 = dot(g101, vec<3, T, Q>(Pf1.x, Pf0.y, Pf1.z)); + T n011 = dot(g011, vec<3, T, Q>(Pf0.x, Pf1.y, Pf1.z)); + T n111 = dot(g111, Pf1); + + vec<3, T, Q> fade_xyz = fade(Pf0); + vec<4, T, Q> n_z = mix(vec<4, T, Q>(n000, n100, n010, n110), vec<4, T, Q>(n001, n101, n011, n111), fade_xyz.z); + vec<2, T, Q> n_yz = mix( + vec<2, T, Q>(n_z.x, n_z.y), + vec<2, T, Q>(n_z.z, n_z.w), fade_xyz.y); + T n_xyz = mix(n_yz.x, n_yz.y, fade_xyz.x); + return T(2.2) * n_xyz; + } + */ + // Classic Perlin noise + template + GLM_FUNC_QUALIFIER T perlin(vec<4, T, Q> const& Position) + { + vec<4, T, Q> Pi0 = floor(Position); // Integer part for indexing + vec<4, T, Q> Pi1 = Pi0 + T(1); // Integer part + 1 + Pi0 = mod(Pi0, vec<4, T, Q>(289)); + Pi1 = mod(Pi1, vec<4, T, Q>(289)); + vec<4, T, Q> Pf0 = fract(Position); // Fractional part for interpolation + vec<4, T, Q> Pf1 = Pf0 - T(1); // Fractional part - 1.0 + vec<4, T, Q> ix(Pi0.x, Pi1.x, Pi0.x, Pi1.x); + vec<4, T, Q> iy(Pi0.y, Pi0.y, Pi1.y, Pi1.y); + vec<4, T, Q> iz0(Pi0.z); + vec<4, T, Q> iz1(Pi1.z); + vec<4, T, Q> iw0(Pi0.w); + vec<4, T, Q> iw1(Pi1.w); + + vec<4, T, Q> ixy = detail::permute(detail::permute(ix) + iy); + vec<4, T, Q> ixy0 = detail::permute(ixy + iz0); + vec<4, T, Q> ixy1 = detail::permute(ixy + iz1); + vec<4, T, Q> ixy00 = detail::permute(ixy0 + iw0); + vec<4, T, Q> ixy01 = detail::permute(ixy0 + iw1); + vec<4, T, Q> ixy10 = detail::permute(ixy1 + iw0); + vec<4, T, Q> ixy11 = detail::permute(ixy1 + iw1); + + vec<4, T, Q> gx00 = ixy00 / T(7); + vec<4, T, Q> gy00 = floor(gx00) / T(7); + vec<4, T, Q> gz00 = floor(gy00) / T(6); + gx00 = fract(gx00) - T(0.5); + gy00 = fract(gy00) - T(0.5); + gz00 = fract(gz00) - T(0.5); + vec<4, T, Q> gw00 = vec<4, T, Q>(0.75) - abs(gx00) - abs(gy00) - abs(gz00); + vec<4, T, Q> sw00 = step(gw00, vec<4, T, Q>(0.0)); + gx00 -= sw00 * (step(T(0), gx00) - T(0.5)); + gy00 -= sw00 * (step(T(0), gy00) - T(0.5)); + + vec<4, T, Q> gx01 = ixy01 / T(7); + vec<4, T, Q> gy01 = floor(gx01) / T(7); + vec<4, T, Q> gz01 = floor(gy01) / T(6); + gx01 = fract(gx01) - T(0.5); + gy01 = fract(gy01) - T(0.5); + gz01 = fract(gz01) - T(0.5); + vec<4, T, Q> gw01 = vec<4, T, Q>(0.75) - abs(gx01) - abs(gy01) - abs(gz01); + vec<4, T, Q> sw01 = step(gw01, vec<4, T, Q>(0.0)); + gx01 -= sw01 * (step(T(0), gx01) - T(0.5)); + gy01 -= sw01 * (step(T(0), gy01) - T(0.5)); + + vec<4, T, Q> gx10 = ixy10 / T(7); + vec<4, T, Q> gy10 = floor(gx10) / T(7); + vec<4, T, Q> gz10 = floor(gy10) / T(6); + gx10 = fract(gx10) - T(0.5); + gy10 = fract(gy10) - T(0.5); + gz10 = fract(gz10) - T(0.5); + vec<4, T, Q> gw10 = vec<4, T, Q>(0.75) - abs(gx10) - abs(gy10) - abs(gz10); + vec<4, T, Q> sw10 = step(gw10, vec<4, T, Q>(0)); + gx10 -= sw10 * (step(T(0), gx10) - T(0.5)); + gy10 -= sw10 * (step(T(0), gy10) - T(0.5)); + + vec<4, T, Q> gx11 = ixy11 / T(7); + vec<4, T, Q> gy11 = floor(gx11) / T(7); + vec<4, T, Q> gz11 = floor(gy11) / T(6); + gx11 = fract(gx11) - T(0.5); + gy11 = fract(gy11) - T(0.5); + gz11 = fract(gz11) - T(0.5); + vec<4, T, Q> gw11 = vec<4, T, Q>(0.75) - abs(gx11) - abs(gy11) - abs(gz11); + vec<4, T, Q> sw11 = step(gw11, vec<4, T, Q>(0.0)); + gx11 -= sw11 * (step(T(0), gx11) - T(0.5)); + gy11 -= sw11 * (step(T(0), gy11) - T(0.5)); + + vec<4, T, Q> g0000(gx00.x, gy00.x, gz00.x, gw00.x); + vec<4, T, Q> g1000(gx00.y, gy00.y, gz00.y, gw00.y); + vec<4, T, Q> g0100(gx00.z, gy00.z, gz00.z, gw00.z); + vec<4, T, Q> g1100(gx00.w, gy00.w, gz00.w, gw00.w); + vec<4, T, Q> g0010(gx10.x, gy10.x, gz10.x, gw10.x); + vec<4, T, Q> g1010(gx10.y, gy10.y, gz10.y, gw10.y); + vec<4, T, Q> g0110(gx10.z, gy10.z, gz10.z, gw10.z); + vec<4, T, Q> g1110(gx10.w, gy10.w, gz10.w, gw10.w); + vec<4, T, Q> g0001(gx01.x, gy01.x, gz01.x, gw01.x); + vec<4, T, Q> g1001(gx01.y, gy01.y, gz01.y, gw01.y); + vec<4, T, Q> g0101(gx01.z, gy01.z, gz01.z, gw01.z); + vec<4, T, Q> g1101(gx01.w, gy01.w, gz01.w, gw01.w); + vec<4, T, Q> g0011(gx11.x, gy11.x, gz11.x, gw11.x); + vec<4, T, Q> g1011(gx11.y, gy11.y, gz11.y, gw11.y); + vec<4, T, Q> g0111(gx11.z, gy11.z, gz11.z, gw11.z); + vec<4, T, Q> g1111(gx11.w, gy11.w, gz11.w, gw11.w); + + vec<4, T, Q> norm00 = detail::taylorInvSqrt(vec<4, T, Q>(dot(g0000, g0000), dot(g0100, g0100), dot(g1000, g1000), dot(g1100, g1100))); + g0000 *= norm00.x; + g0100 *= norm00.y; + g1000 *= norm00.z; + g1100 *= norm00.w; + + vec<4, T, Q> norm01 = detail::taylorInvSqrt(vec<4, T, Q>(dot(g0001, g0001), dot(g0101, g0101), dot(g1001, g1001), dot(g1101, g1101))); + g0001 *= norm01.x; + g0101 *= norm01.y; + g1001 *= norm01.z; + g1101 *= norm01.w; + + vec<4, T, Q> norm10 = detail::taylorInvSqrt(vec<4, T, Q>(dot(g0010, g0010), dot(g0110, g0110), dot(g1010, g1010), dot(g1110, g1110))); + g0010 *= norm10.x; + g0110 *= norm10.y; + g1010 *= norm10.z; + g1110 *= norm10.w; + + vec<4, T, Q> norm11 = detail::taylorInvSqrt(vec<4, T, Q>(dot(g0011, g0011), dot(g0111, g0111), dot(g1011, g1011), dot(g1111, g1111))); + g0011 *= norm11.x; + g0111 *= norm11.y; + g1011 *= norm11.z; + g1111 *= norm11.w; + + T n0000 = dot(g0000, Pf0); + T n1000 = dot(g1000, vec<4, T, Q>(Pf1.x, Pf0.y, Pf0.z, Pf0.w)); + T n0100 = dot(g0100, vec<4, T, Q>(Pf0.x, Pf1.y, Pf0.z, Pf0.w)); + T n1100 = dot(g1100, vec<4, T, Q>(Pf1.x, Pf1.y, Pf0.z, Pf0.w)); + T n0010 = dot(g0010, vec<4, T, Q>(Pf0.x, Pf0.y, Pf1.z, Pf0.w)); + T n1010 = dot(g1010, vec<4, T, Q>(Pf1.x, Pf0.y, Pf1.z, Pf0.w)); + T n0110 = dot(g0110, vec<4, T, Q>(Pf0.x, Pf1.y, Pf1.z, Pf0.w)); + T n1110 = dot(g1110, vec<4, T, Q>(Pf1.x, Pf1.y, Pf1.z, Pf0.w)); + T n0001 = dot(g0001, vec<4, T, Q>(Pf0.x, Pf0.y, Pf0.z, Pf1.w)); + T n1001 = dot(g1001, vec<4, T, Q>(Pf1.x, Pf0.y, Pf0.z, Pf1.w)); + T n0101 = dot(g0101, vec<4, T, Q>(Pf0.x, Pf1.y, Pf0.z, Pf1.w)); + T n1101 = dot(g1101, vec<4, T, Q>(Pf1.x, Pf1.y, Pf0.z, Pf1.w)); + T n0011 = dot(g0011, vec<4, T, Q>(Pf0.x, Pf0.y, Pf1.z, Pf1.w)); + T n1011 = dot(g1011, vec<4, T, Q>(Pf1.x, Pf0.y, Pf1.z, Pf1.w)); + T n0111 = dot(g0111, vec<4, T, Q>(Pf0.x, Pf1.y, Pf1.z, Pf1.w)); + T n1111 = dot(g1111, Pf1); + + vec<4, T, Q> fade_xyzw = detail::fade(Pf0); + vec<4, T, Q> n_0w = mix(vec<4, T, Q>(n0000, n1000, n0100, n1100), vec<4, T, Q>(n0001, n1001, n0101, n1101), fade_xyzw.w); + vec<4, T, Q> n_1w = mix(vec<4, T, Q>(n0010, n1010, n0110, n1110), vec<4, T, Q>(n0011, n1011, n0111, n1111), fade_xyzw.w); + vec<4, T, Q> n_zw = mix(n_0w, n_1w, fade_xyzw.z); + vec<2, T, Q> n_yzw = mix(vec<2, T, Q>(n_zw.x, n_zw.y), vec<2, T, Q>(n_zw.z, n_zw.w), fade_xyzw.y); + T n_xyzw = mix(n_yzw.x, n_yzw.y, fade_xyzw.x); + return T(2.2) * n_xyzw; + } + + // Classic Perlin noise, periodic variant + template + GLM_FUNC_QUALIFIER T perlin(vec<2, T, Q> const& Position, vec<2, T, Q> const& rep) + { + vec<4, T, Q> Pi = floor(vec<4, T, Q>(Position.x, Position.y, Position.x, Position.y)) + vec<4, T, Q>(0.0, 0.0, 1.0, 1.0); + vec<4, T, Q> Pf = fract(vec<4, T, Q>(Position.x, Position.y, Position.x, Position.y)) - vec<4, T, Q>(0.0, 0.0, 1.0, 1.0); + Pi = mod(Pi, vec<4, T, Q>(rep.x, rep.y, rep.x, rep.y)); // To create noise with explicit period + Pi = mod(Pi, vec<4, T, Q>(289)); // To avoid truncation effects in permutation + vec<4, T, Q> ix(Pi.x, Pi.z, Pi.x, Pi.z); + vec<4, T, Q> iy(Pi.y, Pi.y, Pi.w, Pi.w); + vec<4, T, Q> fx(Pf.x, Pf.z, Pf.x, Pf.z); + vec<4, T, Q> fy(Pf.y, Pf.y, Pf.w, Pf.w); + + vec<4, T, Q> i = detail::permute(detail::permute(ix) + iy); + + vec<4, T, Q> gx = static_cast(2) * fract(i / T(41)) - T(1); + vec<4, T, Q> gy = abs(gx) - T(0.5); + vec<4, T, Q> tx = floor(gx + T(0.5)); + gx = gx - tx; + + vec<2, T, Q> g00(gx.x, gy.x); + vec<2, T, Q> g10(gx.y, gy.y); + vec<2, T, Q> g01(gx.z, gy.z); + vec<2, T, Q> g11(gx.w, gy.w); + + vec<4, T, Q> norm = detail::taylorInvSqrt(vec<4, T, Q>(dot(g00, g00), dot(g01, g01), dot(g10, g10), dot(g11, g11))); + g00 *= norm.x; + g01 *= norm.y; + g10 *= norm.z; + g11 *= norm.w; + + T n00 = dot(g00, vec<2, T, Q>(fx.x, fy.x)); + T n10 = dot(g10, vec<2, T, Q>(fx.y, fy.y)); + T n01 = dot(g01, vec<2, T, Q>(fx.z, fy.z)); + T n11 = dot(g11, vec<2, T, Q>(fx.w, fy.w)); + + vec<2, T, Q> fade_xy = detail::fade(vec<2, T, Q>(Pf.x, Pf.y)); + vec<2, T, Q> n_x = mix(vec<2, T, Q>(n00, n01), vec<2, T, Q>(n10, n11), fade_xy.x); + T n_xy = mix(n_x.x, n_x.y, fade_xy.y); + return T(2.3) * n_xy; + } + + // Classic Perlin noise, periodic variant + template + GLM_FUNC_QUALIFIER T perlin(vec<3, T, Q> const& Position, vec<3, T, Q> const& rep) + { + vec<3, T, Q> Pi0 = mod(floor(Position), rep); // Integer part, modulo period + vec<3, T, Q> Pi1 = mod(Pi0 + vec<3, T, Q>(T(1)), rep); // Integer part + 1, mod period + Pi0 = mod(Pi0, vec<3, T, Q>(289)); + Pi1 = mod(Pi1, vec<3, T, Q>(289)); + vec<3, T, Q> Pf0 = fract(Position); // Fractional part for interpolation + vec<3, T, Q> Pf1 = Pf0 - vec<3, T, Q>(T(1)); // Fractional part - 1.0 + vec<4, T, Q> ix = vec<4, T, Q>(Pi0.x, Pi1.x, Pi0.x, Pi1.x); + vec<4, T, Q> iy = vec<4, T, Q>(Pi0.y, Pi0.y, Pi1.y, Pi1.y); + vec<4, T, Q> iz0(Pi0.z); + vec<4, T, Q> iz1(Pi1.z); + + vec<4, T, Q> ixy = detail::permute(detail::permute(ix) + iy); + vec<4, T, Q> ixy0 = detail::permute(ixy + iz0); + vec<4, T, Q> ixy1 = detail::permute(ixy + iz1); + + vec<4, T, Q> gx0 = ixy0 / T(7); + vec<4, T, Q> gy0 = fract(floor(gx0) / T(7)) - T(0.5); + gx0 = fract(gx0); + vec<4, T, Q> gz0 = vec<4, T, Q>(0.5) - abs(gx0) - abs(gy0); + vec<4, T, Q> sz0 = step(gz0, vec<4, T, Q>(0)); + gx0 -= sz0 * (step(T(0), gx0) - T(0.5)); + gy0 -= sz0 * (step(T(0), gy0) - T(0.5)); + + vec<4, T, Q> gx1 = ixy1 / T(7); + vec<4, T, Q> gy1 = fract(floor(gx1) / T(7)) - T(0.5); + gx1 = fract(gx1); + vec<4, T, Q> gz1 = vec<4, T, Q>(0.5) - abs(gx1) - abs(gy1); + vec<4, T, Q> sz1 = step(gz1, vec<4, T, Q>(T(0))); + gx1 -= sz1 * (step(T(0), gx1) - T(0.5)); + gy1 -= sz1 * (step(T(0), gy1) - T(0.5)); + + vec<3, T, Q> g000 = vec<3, T, Q>(gx0.x, gy0.x, gz0.x); + vec<3, T, Q> g100 = vec<3, T, Q>(gx0.y, gy0.y, gz0.y); + vec<3, T, Q> g010 = vec<3, T, Q>(gx0.z, gy0.z, gz0.z); + vec<3, T, Q> g110 = vec<3, T, Q>(gx0.w, gy0.w, gz0.w); + vec<3, T, Q> g001 = vec<3, T, Q>(gx1.x, gy1.x, gz1.x); + vec<3, T, Q> g101 = vec<3, T, Q>(gx1.y, gy1.y, gz1.y); + vec<3, T, Q> g011 = vec<3, T, Q>(gx1.z, gy1.z, gz1.z); + vec<3, T, Q> g111 = vec<3, T, Q>(gx1.w, gy1.w, gz1.w); + + vec<4, T, Q> norm0 = detail::taylorInvSqrt(vec<4, T, Q>(dot(g000, g000), dot(g010, g010), dot(g100, g100), dot(g110, g110))); + g000 *= norm0.x; + g010 *= norm0.y; + g100 *= norm0.z; + g110 *= norm0.w; + vec<4, T, Q> norm1 = detail::taylorInvSqrt(vec<4, T, Q>(dot(g001, g001), dot(g011, g011), dot(g101, g101), dot(g111, g111))); + g001 *= norm1.x; + g011 *= norm1.y; + g101 *= norm1.z; + g111 *= norm1.w; + + T n000 = dot(g000, Pf0); + T n100 = dot(g100, vec<3, T, Q>(Pf1.x, Pf0.y, Pf0.z)); + T n010 = dot(g010, vec<3, T, Q>(Pf0.x, Pf1.y, Pf0.z)); + T n110 = dot(g110, vec<3, T, Q>(Pf1.x, Pf1.y, Pf0.z)); + T n001 = dot(g001, vec<3, T, Q>(Pf0.x, Pf0.y, Pf1.z)); + T n101 = dot(g101, vec<3, T, Q>(Pf1.x, Pf0.y, Pf1.z)); + T n011 = dot(g011, vec<3, T, Q>(Pf0.x, Pf1.y, Pf1.z)); + T n111 = dot(g111, Pf1); + + vec<3, T, Q> fade_xyz = detail::fade(Pf0); + vec<4, T, Q> n_z = mix(vec<4, T, Q>(n000, n100, n010, n110), vec<4, T, Q>(n001, n101, n011, n111), fade_xyz.z); + vec<2, T, Q> n_yz = mix(vec<2, T, Q>(n_z.x, n_z.y), vec<2, T, Q>(n_z.z, n_z.w), fade_xyz.y); + T n_xyz = mix(n_yz.x, n_yz.y, fade_xyz.x); + return T(2.2) * n_xyz; + } + + // Classic Perlin noise, periodic version + template + GLM_FUNC_QUALIFIER T perlin(vec<4, T, Q> const& Position, vec<4, T, Q> const& rep) + { + vec<4, T, Q> Pi0 = mod(floor(Position), rep); // Integer part modulo rep + vec<4, T, Q> Pi1 = mod(Pi0 + T(1), rep); // Integer part + 1 mod rep + vec<4, T, Q> Pf0 = fract(Position); // Fractional part for interpolation + vec<4, T, Q> Pf1 = Pf0 - T(1); // Fractional part - 1.0 + vec<4, T, Q> ix = vec<4, T, Q>(Pi0.x, Pi1.x, Pi0.x, Pi1.x); + vec<4, T, Q> iy = vec<4, T, Q>(Pi0.y, Pi0.y, Pi1.y, Pi1.y); + vec<4, T, Q> iz0(Pi0.z); + vec<4, T, Q> iz1(Pi1.z); + vec<4, T, Q> iw0(Pi0.w); + vec<4, T, Q> iw1(Pi1.w); + + vec<4, T, Q> ixy = detail::permute(detail::permute(ix) + iy); + vec<4, T, Q> ixy0 = detail::permute(ixy + iz0); + vec<4, T, Q> ixy1 = detail::permute(ixy + iz1); + vec<4, T, Q> ixy00 = detail::permute(ixy0 + iw0); + vec<4, T, Q> ixy01 = detail::permute(ixy0 + iw1); + vec<4, T, Q> ixy10 = detail::permute(ixy1 + iw0); + vec<4, T, Q> ixy11 = detail::permute(ixy1 + iw1); + + vec<4, T, Q> gx00 = ixy00 / T(7); + vec<4, T, Q> gy00 = floor(gx00) / T(7); + vec<4, T, Q> gz00 = floor(gy00) / T(6); + gx00 = fract(gx00) - T(0.5); + gy00 = fract(gy00) - T(0.5); + gz00 = fract(gz00) - T(0.5); + vec<4, T, Q> gw00 = vec<4, T, Q>(0.75) - abs(gx00) - abs(gy00) - abs(gz00); + vec<4, T, Q> sw00 = step(gw00, vec<4, T, Q>(0)); + gx00 -= sw00 * (step(T(0), gx00) - T(0.5)); + gy00 -= sw00 * (step(T(0), gy00) - T(0.5)); + + vec<4, T, Q> gx01 = ixy01 / T(7); + vec<4, T, Q> gy01 = floor(gx01) / T(7); + vec<4, T, Q> gz01 = floor(gy01) / T(6); + gx01 = fract(gx01) - T(0.5); + gy01 = fract(gy01) - T(0.5); + gz01 = fract(gz01) - T(0.5); + vec<4, T, Q> gw01 = vec<4, T, Q>(0.75) - abs(gx01) - abs(gy01) - abs(gz01); + vec<4, T, Q> sw01 = step(gw01, vec<4, T, Q>(0.0)); + gx01 -= sw01 * (step(T(0), gx01) - T(0.5)); + gy01 -= sw01 * (step(T(0), gy01) - T(0.5)); + + vec<4, T, Q> gx10 = ixy10 / T(7); + vec<4, T, Q> gy10 = floor(gx10) / T(7); + vec<4, T, Q> gz10 = floor(gy10) / T(6); + gx10 = fract(gx10) - T(0.5); + gy10 = fract(gy10) - T(0.5); + gz10 = fract(gz10) - T(0.5); + vec<4, T, Q> gw10 = vec<4, T, Q>(0.75) - abs(gx10) - abs(gy10) - abs(gz10); + vec<4, T, Q> sw10 = step(gw10, vec<4, T, Q>(0.0)); + gx10 -= sw10 * (step(T(0), gx10) - T(0.5)); + gy10 -= sw10 * (step(T(0), gy10) - T(0.5)); + + vec<4, T, Q> gx11 = ixy11 / T(7); + vec<4, T, Q> gy11 = floor(gx11) / T(7); + vec<4, T, Q> gz11 = floor(gy11) / T(6); + gx11 = fract(gx11) - T(0.5); + gy11 = fract(gy11) - T(0.5); + gz11 = fract(gz11) - T(0.5); + vec<4, T, Q> gw11 = vec<4, T, Q>(0.75) - abs(gx11) - abs(gy11) - abs(gz11); + vec<4, T, Q> sw11 = step(gw11, vec<4, T, Q>(T(0))); + gx11 -= sw11 * (step(T(0), gx11) - T(0.5)); + gy11 -= sw11 * (step(T(0), gy11) - T(0.5)); + + vec<4, T, Q> g0000(gx00.x, gy00.x, gz00.x, gw00.x); + vec<4, T, Q> g1000(gx00.y, gy00.y, gz00.y, gw00.y); + vec<4, T, Q> g0100(gx00.z, gy00.z, gz00.z, gw00.z); + vec<4, T, Q> g1100(gx00.w, gy00.w, gz00.w, gw00.w); + vec<4, T, Q> g0010(gx10.x, gy10.x, gz10.x, gw10.x); + vec<4, T, Q> g1010(gx10.y, gy10.y, gz10.y, gw10.y); + vec<4, T, Q> g0110(gx10.z, gy10.z, gz10.z, gw10.z); + vec<4, T, Q> g1110(gx10.w, gy10.w, gz10.w, gw10.w); + vec<4, T, Q> g0001(gx01.x, gy01.x, gz01.x, gw01.x); + vec<4, T, Q> g1001(gx01.y, gy01.y, gz01.y, gw01.y); + vec<4, T, Q> g0101(gx01.z, gy01.z, gz01.z, gw01.z); + vec<4, T, Q> g1101(gx01.w, gy01.w, gz01.w, gw01.w); + vec<4, T, Q> g0011(gx11.x, gy11.x, gz11.x, gw11.x); + vec<4, T, Q> g1011(gx11.y, gy11.y, gz11.y, gw11.y); + vec<4, T, Q> g0111(gx11.z, gy11.z, gz11.z, gw11.z); + vec<4, T, Q> g1111(gx11.w, gy11.w, gz11.w, gw11.w); + + vec<4, T, Q> norm00 = detail::taylorInvSqrt(vec<4, T, Q>(dot(g0000, g0000), dot(g0100, g0100), dot(g1000, g1000), dot(g1100, g1100))); + g0000 *= norm00.x; + g0100 *= norm00.y; + g1000 *= norm00.z; + g1100 *= norm00.w; + + vec<4, T, Q> norm01 = detail::taylorInvSqrt(vec<4, T, Q>(dot(g0001, g0001), dot(g0101, g0101), dot(g1001, g1001), dot(g1101, g1101))); + g0001 *= norm01.x; + g0101 *= norm01.y; + g1001 *= norm01.z; + g1101 *= norm01.w; + + vec<4, T, Q> norm10 = detail::taylorInvSqrt(vec<4, T, Q>(dot(g0010, g0010), dot(g0110, g0110), dot(g1010, g1010), dot(g1110, g1110))); + g0010 *= norm10.x; + g0110 *= norm10.y; + g1010 *= norm10.z; + g1110 *= norm10.w; + + vec<4, T, Q> norm11 = detail::taylorInvSqrt(vec<4, T, Q>(dot(g0011, g0011), dot(g0111, g0111), dot(g1011, g1011), dot(g1111, g1111))); + g0011 *= norm11.x; + g0111 *= norm11.y; + g1011 *= norm11.z; + g1111 *= norm11.w; + + T n0000 = dot(g0000, Pf0); + T n1000 = dot(g1000, vec<4, T, Q>(Pf1.x, Pf0.y, Pf0.z, Pf0.w)); + T n0100 = dot(g0100, vec<4, T, Q>(Pf0.x, Pf1.y, Pf0.z, Pf0.w)); + T n1100 = dot(g1100, vec<4, T, Q>(Pf1.x, Pf1.y, Pf0.z, Pf0.w)); + T n0010 = dot(g0010, vec<4, T, Q>(Pf0.x, Pf0.y, Pf1.z, Pf0.w)); + T n1010 = dot(g1010, vec<4, T, Q>(Pf1.x, Pf0.y, Pf1.z, Pf0.w)); + T n0110 = dot(g0110, vec<4, T, Q>(Pf0.x, Pf1.y, Pf1.z, Pf0.w)); + T n1110 = dot(g1110, vec<4, T, Q>(Pf1.x, Pf1.y, Pf1.z, Pf0.w)); + T n0001 = dot(g0001, vec<4, T, Q>(Pf0.x, Pf0.y, Pf0.z, Pf1.w)); + T n1001 = dot(g1001, vec<4, T, Q>(Pf1.x, Pf0.y, Pf0.z, Pf1.w)); + T n0101 = dot(g0101, vec<4, T, Q>(Pf0.x, Pf1.y, Pf0.z, Pf1.w)); + T n1101 = dot(g1101, vec<4, T, Q>(Pf1.x, Pf1.y, Pf0.z, Pf1.w)); + T n0011 = dot(g0011, vec<4, T, Q>(Pf0.x, Pf0.y, Pf1.z, Pf1.w)); + T n1011 = dot(g1011, vec<4, T, Q>(Pf1.x, Pf0.y, Pf1.z, Pf1.w)); + T n0111 = dot(g0111, vec<4, T, Q>(Pf0.x, Pf1.y, Pf1.z, Pf1.w)); + T n1111 = dot(g1111, Pf1); + + vec<4, T, Q> fade_xyzw = detail::fade(Pf0); + vec<4, T, Q> n_0w = mix(vec<4, T, Q>(n0000, n1000, n0100, n1100), vec<4, T, Q>(n0001, n1001, n0101, n1101), fade_xyzw.w); + vec<4, T, Q> n_1w = mix(vec<4, T, Q>(n0010, n1010, n0110, n1110), vec<4, T, Q>(n0011, n1011, n0111, n1111), fade_xyzw.w); + vec<4, T, Q> n_zw = mix(n_0w, n_1w, fade_xyzw.z); + vec<2, T, Q> n_yzw = mix(vec<2, T, Q>(n_zw.x, n_zw.y), vec<2, T, Q>(n_zw.z, n_zw.w), fade_xyzw.y); + T n_xyzw = mix(n_yzw.x, n_yzw.y, fade_xyzw.x); + return T(2.2) * n_xyzw; + } + + template + GLM_FUNC_QUALIFIER T simplex(glm::vec<2, T, Q> const& v) + { + vec<4, T, Q> const C = vec<4, T, Q>( + T( 0.211324865405187), // (3.0 - sqrt(3.0)) / 6.0 + T( 0.366025403784439), // 0.5 * (sqrt(3.0) - 1.0) + T(-0.577350269189626), // -1.0 + 2.0 * C.x + T( 0.024390243902439)); // 1.0 / 41.0 + + // First corner + vec<2, T, Q> i = floor(v + dot(v, vec<2, T, Q>(C[1]))); + vec<2, T, Q> x0 = v - i + dot(i, vec<2, T, Q>(C[0])); + + // Other corners + //i1.x = step( x0.y, x0.x ); // x0.x > x0.y ? 1.0 : 0.0 + //i1.y = 1.0 - i1.x; + vec<2, T, Q> i1 = (x0.x > x0.y) ? vec<2, T, Q>(1, 0) : vec<2, T, Q>(0, 1); + // x0 = x0 - 0.0 + 0.0 * C.xx ; + // x1 = x0 - i1 + 1.0 * C.xx ; + // x2 = x0 - 1.0 + 2.0 * C.xx ; + vec<4, T, Q> x12 = vec<4, T, Q>(x0.x, x0.y, x0.x, x0.y) + vec<4, T, Q>(C.x, C.x, C.z, C.z); + x12 = vec<4, T, Q>(vec<2, T, Q>(x12) - i1, x12.z, x12.w); + + // Permutations + i = mod(i, vec<2, T, Q>(289)); // Avoid truncation effects in permutation + vec<3, T, Q> p = detail::permute( + detail::permute(i.y + vec<3, T, Q>(T(0), i1.y, T(1))) + + i.x + vec<3, T, Q>(T(0), i1.x, T(1))); + + vec<3, T, Q> m = max(vec<3, T, Q>(0.5) - vec<3, T, Q>( + dot(x0, x0), + dot(vec<2, T, Q>(x12.x, x12.y), vec<2, T, Q>(x12.x, x12.y)), + dot(vec<2, T, Q>(x12.z, x12.w), vec<2, T, Q>(x12.z, x12.w))), vec<3, T, Q>(0)); + m = m * m ; + m = m * m ; + + // Gradients: 41 points uniformly over a line, mapped onto a diamond. + // The ring size 17*17 = 289 is close to a multiple of 41 (41*7 = 287) + + vec<3, T, Q> x = static_cast(2) * fract(p * C.w) - T(1); + vec<3, T, Q> h = abs(x) - T(0.5); + vec<3, T, Q> ox = floor(x + T(0.5)); + vec<3, T, Q> a0 = x - ox; + + // Normalise gradients implicitly by scaling m + // Inlined for speed: m *= taylorInvSqrt( a0*a0 + h*h ); + m *= static_cast(1.79284291400159) - T(0.85373472095314) * (a0 * a0 + h * h); + + // Compute final noise value at P + vec<3, T, Q> g; + g.x = a0.x * x0.x + h.x * x0.y; + //g.yz = a0.yz * x12.xz + h.yz * x12.yw; + g.y = a0.y * x12.x + h.y * x12.y; + g.z = a0.z * x12.z + h.z * x12.w; + return T(130) * dot(m, g); + } + + template + GLM_FUNC_QUALIFIER T simplex(vec<3, T, Q> const& v) + { + vec<2, T, Q> const C(1.0 / 6.0, 1.0 / 3.0); + vec<4, T, Q> const D(0.0, 0.5, 1.0, 2.0); + + // First corner + vec<3, T, Q> i(floor(v + dot(v, vec<3, T, Q>(C.y)))); + vec<3, T, Q> x0(v - i + dot(i, vec<3, T, Q>(C.x))); + + // Other corners + vec<3, T, Q> g(step(vec<3, T, Q>(x0.y, x0.z, x0.x), x0)); + vec<3, T, Q> l(T(1) - g); + vec<3, T, Q> i1(min(g, vec<3, T, Q>(l.z, l.x, l.y))); + vec<3, T, Q> i2(max(g, vec<3, T, Q>(l.z, l.x, l.y))); + + // x0 = x0 - 0.0 + 0.0 * C.xxx; + // x1 = x0 - i1 + 1.0 * C.xxx; + // x2 = x0 - i2 + 2.0 * C.xxx; + // x3 = x0 - 1.0 + 3.0 * C.xxx; + vec<3, T, Q> x1(x0 - i1 + C.x); + vec<3, T, Q> x2(x0 - i2 + C.y); // 2.0*C.x = 1/3 = C.y + vec<3, T, Q> x3(x0 - D.y); // -1.0+3.0*C.x = -0.5 = -D.y + + // Permutations + i = detail::mod289(i); + vec<4, T, Q> p(detail::permute(detail::permute(detail::permute( + i.z + vec<4, T, Q>(T(0), i1.z, i2.z, T(1))) + + i.y + vec<4, T, Q>(T(0), i1.y, i2.y, T(1))) + + i.x + vec<4, T, Q>(T(0), i1.x, i2.x, T(1)))); + + // Gradients: 7x7 points over a square, mapped onto an octahedron. + // The ring size 17*17 = 289 is close to a multiple of 49 (49*6 = 294) + T n_ = static_cast(0.142857142857); // 1.0/7.0 + vec<3, T, Q> ns(n_ * vec<3, T, Q>(D.w, D.y, D.z) - vec<3, T, Q>(D.x, D.z, D.x)); + + vec<4, T, Q> j(p - T(49) * floor(p * ns.z * ns.z)); // mod(p,7*7) + + vec<4, T, Q> x_(floor(j * ns.z)); + vec<4, T, Q> y_(floor(j - T(7) * x_)); // mod(j,N) + + vec<4, T, Q> x(x_ * ns.x + ns.y); + vec<4, T, Q> y(y_ * ns.x + ns.y); + vec<4, T, Q> h(T(1) - abs(x) - abs(y)); + + vec<4, T, Q> b0(x.x, x.y, y.x, y.y); + vec<4, T, Q> b1(x.z, x.w, y.z, y.w); + + // vec4 s0 = vec4(lessThan(b0,0.0))*2.0 - 1.0; + // vec4 s1 = vec4(lessThan(b1,0.0))*2.0 - 1.0; + vec<4, T, Q> s0(floor(b0) * T(2) + T(1)); + vec<4, T, Q> s1(floor(b1) * T(2) + T(1)); + vec<4, T, Q> sh(-step(h, vec<4, T, Q>(0.0))); + + vec<4, T, Q> a0 = vec<4, T, Q>(b0.x, b0.z, b0.y, b0.w) + vec<4, T, Q>(s0.x, s0.z, s0.y, s0.w) * vec<4, T, Q>(sh.x, sh.x, sh.y, sh.y); + vec<4, T, Q> a1 = vec<4, T, Q>(b1.x, b1.z, b1.y, b1.w) + vec<4, T, Q>(s1.x, s1.z, s1.y, s1.w) * vec<4, T, Q>(sh.z, sh.z, sh.w, sh.w); + + vec<3, T, Q> p0(a0.x, a0.y, h.x); + vec<3, T, Q> p1(a0.z, a0.w, h.y); + vec<3, T, Q> p2(a1.x, a1.y, h.z); + vec<3, T, Q> p3(a1.z, a1.w, h.w); + + // Normalise gradients + vec<4, T, Q> norm = detail::taylorInvSqrt(vec<4, T, Q>(dot(p0, p0), dot(p1, p1), dot(p2, p2), dot(p3, p3))); + p0 *= norm.x; + p1 *= norm.y; + p2 *= norm.z; + p3 *= norm.w; + + // Mix final noise value + vec<4, T, Q> m = max(T(0.6) - vec<4, T, Q>(dot(x0, x0), dot(x1, x1), dot(x2, x2), dot(x3, x3)), vec<4, T, Q>(0)); + m = m * m; + return T(42) * dot(m * m, vec<4, T, Q>(dot(p0, x0), dot(p1, x1), dot(p2, x2), dot(p3, x3))); + } + + template + GLM_FUNC_QUALIFIER T simplex(vec<4, T, Q> const& v) + { + vec<4, T, Q> const C( + 0.138196601125011, // (5 - sqrt(5))/20 G4 + 0.276393202250021, // 2 * G4 + 0.414589803375032, // 3 * G4 + -0.447213595499958); // -1 + 4 * G4 + + // (sqrt(5) - 1)/4 = F4, used once below + T const F4 = static_cast(0.309016994374947451); + + // First corner + vec<4, T, Q> i = floor(v + dot(v, vec<4, T, Q>(F4))); + vec<4, T, Q> x0 = v - i + dot(i, vec<4, T, Q>(C.x)); + + // Other corners + + // Rank sorting originally contributed by Bill Licea-Kane, AMD (formerly ATI) + vec<4, T, Q> i0; + vec<3, T, Q> isX = step(vec<3, T, Q>(x0.y, x0.z, x0.w), vec<3, T, Q>(x0.x)); + vec<3, T, Q> isYZ = step(vec<3, T, Q>(x0.z, x0.w, x0.w), vec<3, T, Q>(x0.y, x0.y, x0.z)); + // i0.x = dot(isX, vec3(1.0)); + //i0.x = isX.x + isX.y + isX.z; + //i0.yzw = static_cast(1) - isX; + i0 = vec<4, T, Q>(isX.x + isX.y + isX.z, T(1) - isX); + // i0.y += dot(isYZ.xy, vec2(1.0)); + i0.y += isYZ.x + isYZ.y; + //i0.zw += 1.0 - vec<2, T, Q>(isYZ.x, isYZ.y); + i0.z += static_cast(1) - isYZ.x; + i0.w += static_cast(1) - isYZ.y; + i0.z += isYZ.z; + i0.w += static_cast(1) - isYZ.z; + + // i0 now contains the unique values 0,1,2,3 in each channel + vec<4, T, Q> i3 = clamp(i0, T(0), T(1)); + vec<4, T, Q> i2 = clamp(i0 - T(1), T(0), T(1)); + vec<4, T, Q> i1 = clamp(i0 - T(2), T(0), T(1)); + + // x0 = x0 - 0.0 + 0.0 * C.xxxx + // x1 = x0 - i1 + 0.0 * C.xxxx + // x2 = x0 - i2 + 0.0 * C.xxxx + // x3 = x0 - i3 + 0.0 * C.xxxx + // x4 = x0 - 1.0 + 4.0 * C.xxxx + vec<4, T, Q> x1 = x0 - i1 + C.x; + vec<4, T, Q> x2 = x0 - i2 + C.y; + vec<4, T, Q> x3 = x0 - i3 + C.z; + vec<4, T, Q> x4 = x0 + C.w; + + // Permutations + i = mod(i, vec<4, T, Q>(289)); + T j0 = detail::permute(detail::permute(detail::permute(detail::permute(i.w) + i.z) + i.y) + i.x); + vec<4, T, Q> j1 = detail::permute(detail::permute(detail::permute(detail::permute( + i.w + vec<4, T, Q>(i1.w, i2.w, i3.w, T(1))) + + i.z + vec<4, T, Q>(i1.z, i2.z, i3.z, T(1))) + + i.y + vec<4, T, Q>(i1.y, i2.y, i3.y, T(1))) + + i.x + vec<4, T, Q>(i1.x, i2.x, i3.x, T(1))); + + // Gradients: 7x7x6 points over a cube, mapped onto a 4-cross polytope + // 7*7*6 = 294, which is close to the ring size 17*17 = 289. + vec<4, T, Q> ip = vec<4, T, Q>(T(1) / T(294), T(1) / T(49), T(1) / T(7), T(0)); + + vec<4, T, Q> p0 = gtc::grad4(j0, ip); + vec<4, T, Q> p1 = gtc::grad4(j1.x, ip); + vec<4, T, Q> p2 = gtc::grad4(j1.y, ip); + vec<4, T, Q> p3 = gtc::grad4(j1.z, ip); + vec<4, T, Q> p4 = gtc::grad4(j1.w, ip); + + // Normalise gradients + vec<4, T, Q> norm = detail::taylorInvSqrt(vec<4, T, Q>(dot(p0, p0), dot(p1, p1), dot(p2, p2), dot(p3, p3))); + p0 *= norm.x; + p1 *= norm.y; + p2 *= norm.z; + p3 *= norm.w; + p4 *= detail::taylorInvSqrt(dot(p4, p4)); + + // Mix contributions from the five corners + vec<3, T, Q> m0 = max(T(0.6) - vec<3, T, Q>(dot(x0, x0), dot(x1, x1), dot(x2, x2)), vec<3, T, Q>(0)); + vec<2, T, Q> m1 = max(T(0.6) - vec<2, T, Q>(dot(x3, x3), dot(x4, x4) ), vec<2, T, Q>(0)); + m0 = m0 * m0; + m1 = m1 * m1; + return T(49) * + (dot(m0 * m0, vec<3, T, Q>(dot(p0, x0), dot(p1, x1), dot(p2, x2))) + + dot(m1 * m1, vec<2, T, Q>(dot(p3, x3), dot(p4, x4)))); + } +}//namespace glm diff --git a/MacroLibX/third_party/glm/gtc/packing.hpp b/MacroLibX/third_party/glm/gtc/packing.hpp new file mode 100644 index 0000000..7c64aba --- /dev/null +++ b/MacroLibX/third_party/glm/gtc/packing.hpp @@ -0,0 +1,728 @@ +/// @ref gtc_packing +/// @file glm/gtc/packing.hpp +/// +/// @see core (dependence) +/// +/// @defgroup gtc_packing GLM_GTC_packing +/// @ingroup gtc +/// +/// Include to use the features of this extension. +/// +/// This extension provides a set of function to convert vertors to packed +/// formats. + +#pragma once + +// Dependency: +#include "type_precision.hpp" + +#if GLM_MESSAGES == GLM_ENABLE && !defined(GLM_EXT_INCLUDED) +# pragma message("GLM: GLM_GTC_packing extension included") +#endif + +namespace glm +{ + /// @addtogroup gtc_packing + /// @{ + + /// First, converts the normalized floating-point value v into a 8-bit integer value. + /// Then, the results are packed into the returned 8-bit unsigned integer. + /// + /// The conversion for component c of v to fixed point is done as follows: + /// packUnorm1x8: round(clamp(c, 0, +1) * 255.0) + /// + /// @see gtc_packing + /// @see uint16 packUnorm2x8(vec2 const& v) + /// @see uint32 packUnorm4x8(vec4 const& v) + /// @see GLSL packUnorm4x8 man page + /// @see GLSL 4.20.8 specification, section 8.4 Floating-Point Pack and Unpack Functions + GLM_FUNC_DECL uint8 packUnorm1x8(float v); + + /// Convert a single 8-bit integer to a normalized floating-point value. + /// + /// The conversion for unpacked fixed-point value f to floating point is done as follows: + /// unpackUnorm4x8: f / 255.0 + /// + /// @see gtc_packing + /// @see vec2 unpackUnorm2x8(uint16 p) + /// @see vec4 unpackUnorm4x8(uint32 p) + /// @see GLSL unpackUnorm4x8 man page + /// @see GLSL 4.20.8 specification, section 8.4 Floating-Point Pack and Unpack Functions + GLM_FUNC_DECL float unpackUnorm1x8(uint8 p); + + /// First, converts each component of the normalized floating-point value v into 8-bit integer values. + /// Then, the results are packed into the returned 16-bit unsigned integer. + /// + /// The conversion for component c of v to fixed point is done as follows: + /// packUnorm2x8: round(clamp(c, 0, +1) * 255.0) + /// + /// The first component of the vector will be written to the least significant bits of the output; + /// the last component will be written to the most significant bits. + /// + /// @see gtc_packing + /// @see uint8 packUnorm1x8(float const& v) + /// @see uint32 packUnorm4x8(vec4 const& v) + /// @see GLSL packUnorm4x8 man page + /// @see GLSL 4.20.8 specification, section 8.4 Floating-Point Pack and Unpack Functions + GLM_FUNC_DECL uint16 packUnorm2x8(vec2 const& v); + + /// First, unpacks a single 16-bit unsigned integer p into a pair of 8-bit unsigned integers. + /// Then, each component is converted to a normalized floating-point value to generate the returned two-component vector. + /// + /// The conversion for unpacked fixed-point value f to floating point is done as follows: + /// unpackUnorm4x8: f / 255.0 + /// + /// The first component of the returned vector will be extracted from the least significant bits of the input; + /// the last component will be extracted from the most significant bits. + /// + /// @see gtc_packing + /// @see float unpackUnorm1x8(uint8 v) + /// @see vec4 unpackUnorm4x8(uint32 p) + /// @see GLSL unpackUnorm4x8 man page + /// @see GLSL 4.20.8 specification, section 8.4 Floating-Point Pack and Unpack Functions + GLM_FUNC_DECL vec2 unpackUnorm2x8(uint16 p); + + /// First, converts the normalized floating-point value v into 8-bit integer value. + /// Then, the results are packed into the returned 8-bit unsigned integer. + /// + /// The conversion to fixed point is done as follows: + /// packSnorm1x8: round(clamp(s, -1, +1) * 127.0) + /// + /// @see gtc_packing + /// @see uint16 packSnorm2x8(vec2 const& v) + /// @see uint32 packSnorm4x8(vec4 const& v) + /// @see GLSL packSnorm4x8 man page + /// @see GLSL 4.20.8 specification, section 8.4 Floating-Point Pack and Unpack Functions + GLM_FUNC_DECL uint8 packSnorm1x8(float s); + + /// First, unpacks a single 8-bit unsigned integer p into a single 8-bit signed integers. + /// Then, the value is converted to a normalized floating-point value to generate the returned scalar. + /// + /// The conversion for unpacked fixed-point value f to floating point is done as follows: + /// unpackSnorm1x8: clamp(f / 127.0, -1, +1) + /// + /// @see gtc_packing + /// @see vec2 unpackSnorm2x8(uint16 p) + /// @see vec4 unpackSnorm4x8(uint32 p) + /// @see GLSL unpackSnorm4x8 man page + /// @see GLSL 4.20.8 specification, section 8.4 Floating-Point Pack and Unpack Functions + GLM_FUNC_DECL float unpackSnorm1x8(uint8 p); + + /// First, converts each component of the normalized floating-point value v into 8-bit integer values. + /// Then, the results are packed into the returned 16-bit unsigned integer. + /// + /// The conversion for component c of v to fixed point is done as follows: + /// packSnorm2x8: round(clamp(c, -1, +1) * 127.0) + /// + /// The first component of the vector will be written to the least significant bits of the output; + /// the last component will be written to the most significant bits. + /// + /// @see gtc_packing + /// @see uint8 packSnorm1x8(float const& v) + /// @see uint32 packSnorm4x8(vec4 const& v) + /// @see GLSL packSnorm4x8 man page + /// @see GLSL 4.20.8 specification, section 8.4 Floating-Point Pack and Unpack Functions + GLM_FUNC_DECL uint16 packSnorm2x8(vec2 const& v); + + /// First, unpacks a single 16-bit unsigned integer p into a pair of 8-bit signed integers. + /// Then, each component is converted to a normalized floating-point value to generate the returned two-component vector. + /// + /// The conversion for unpacked fixed-point value f to floating point is done as follows: + /// unpackSnorm2x8: clamp(f / 127.0, -1, +1) + /// + /// The first component of the returned vector will be extracted from the least significant bits of the input; + /// the last component will be extracted from the most significant bits. + /// + /// @see gtc_packing + /// @see float unpackSnorm1x8(uint8 p) + /// @see vec4 unpackSnorm4x8(uint32 p) + /// @see GLSL unpackSnorm4x8 man page + /// @see GLSL 4.20.8 specification, section 8.4 Floating-Point Pack and Unpack Functions + GLM_FUNC_DECL vec2 unpackSnorm2x8(uint16 p); + + /// First, converts the normalized floating-point value v into a 16-bit integer value. + /// Then, the results are packed into the returned 16-bit unsigned integer. + /// + /// The conversion for component c of v to fixed point is done as follows: + /// packUnorm1x16: round(clamp(c, 0, +1) * 65535.0) + /// + /// @see gtc_packing + /// @see uint16 packSnorm1x16(float const& v) + /// @see uint64 packSnorm4x16(vec4 const& v) + /// @see GLSL packUnorm4x8 man page + /// @see GLSL 4.20.8 specification, section 8.4 Floating-Point Pack and Unpack Functions + GLM_FUNC_DECL uint16 packUnorm1x16(float v); + + /// First, unpacks a single 16-bit unsigned integer p into a of 16-bit unsigned integers. + /// Then, the value is converted to a normalized floating-point value to generate the returned scalar. + /// + /// The conversion for unpacked fixed-point value f to floating point is done as follows: + /// unpackUnorm1x16: f / 65535.0 + /// + /// @see gtc_packing + /// @see vec2 unpackUnorm2x16(uint32 p) + /// @see vec4 unpackUnorm4x16(uint64 p) + /// @see GLSL unpackUnorm2x16 man page + /// @see GLSL 4.20.8 specification, section 8.4 Floating-Point Pack and Unpack Functions + GLM_FUNC_DECL float unpackUnorm1x16(uint16 p); + + /// First, converts each component of the normalized floating-point value v into 16-bit integer values. + /// Then, the results are packed into the returned 64-bit unsigned integer. + /// + /// The conversion for component c of v to fixed point is done as follows: + /// packUnorm4x16: round(clamp(c, 0, +1) * 65535.0) + /// + /// The first component of the vector will be written to the least significant bits of the output; + /// the last component will be written to the most significant bits. + /// + /// @see gtc_packing + /// @see uint16 packUnorm1x16(float const& v) + /// @see uint32 packUnorm2x16(vec2 const& v) + /// @see GLSL packUnorm4x8 man page + /// @see GLSL 4.20.8 specification, section 8.4 Floating-Point Pack and Unpack Functions + GLM_FUNC_DECL uint64 packUnorm4x16(vec4 const& v); + + /// First, unpacks a single 64-bit unsigned integer p into four 16-bit unsigned integers. + /// Then, each component is converted to a normalized floating-point value to generate the returned four-component vector. + /// + /// The conversion for unpacked fixed-point value f to floating point is done as follows: + /// unpackUnormx4x16: f / 65535.0 + /// + /// The first component of the returned vector will be extracted from the least significant bits of the input; + /// the last component will be extracted from the most significant bits. + /// + /// @see gtc_packing + /// @see float unpackUnorm1x16(uint16 p) + /// @see vec2 unpackUnorm2x16(uint32 p) + /// @see GLSL unpackUnorm2x16 man page + /// @see GLSL 4.20.8 specification, section 8.4 Floating-Point Pack and Unpack Functions + GLM_FUNC_DECL vec4 unpackUnorm4x16(uint64 p); + + /// First, converts the normalized floating-point value v into 16-bit integer value. + /// Then, the results are packed into the returned 16-bit unsigned integer. + /// + /// The conversion to fixed point is done as follows: + /// packSnorm1x8: round(clamp(s, -1, +1) * 32767.0) + /// + /// @see gtc_packing + /// @see uint32 packSnorm2x16(vec2 const& v) + /// @see uint64 packSnorm4x16(vec4 const& v) + /// @see GLSL packSnorm4x8 man page + /// @see GLSL 4.20.8 specification, section 8.4 Floating-Point Pack and Unpack Functions + GLM_FUNC_DECL uint16 packSnorm1x16(float v); + + /// First, unpacks a single 16-bit unsigned integer p into a single 16-bit signed integers. + /// Then, each component is converted to a normalized floating-point value to generate the returned scalar. + /// + /// The conversion for unpacked fixed-point value f to floating point is done as follows: + /// unpackSnorm1x16: clamp(f / 32767.0, -1, +1) + /// + /// @see gtc_packing + /// @see vec2 unpackSnorm2x16(uint32 p) + /// @see vec4 unpackSnorm4x16(uint64 p) + /// @see GLSL unpackSnorm4x8 man page + /// @see GLSL 4.20.8 specification, section 8.4 Floating-Point Pack and Unpack Functions + GLM_FUNC_DECL float unpackSnorm1x16(uint16 p); + + /// First, converts each component of the normalized floating-point value v into 16-bit integer values. + /// Then, the results are packed into the returned 64-bit unsigned integer. + /// + /// The conversion for component c of v to fixed point is done as follows: + /// packSnorm2x8: round(clamp(c, -1, +1) * 32767.0) + /// + /// The first component of the vector will be written to the least significant bits of the output; + /// the last component will be written to the most significant bits. + /// + /// @see gtc_packing + /// @see uint16 packSnorm1x16(float const& v) + /// @see uint32 packSnorm2x16(vec2 const& v) + /// @see GLSL packSnorm4x8 man page + /// @see GLSL 4.20.8 specification, section 8.4 Floating-Point Pack and Unpack Functions + GLM_FUNC_DECL uint64 packSnorm4x16(vec4 const& v); + + /// First, unpacks a single 64-bit unsigned integer p into four 16-bit signed integers. + /// Then, each component is converted to a normalized floating-point value to generate the returned four-component vector. + /// + /// The conversion for unpacked fixed-point value f to floating point is done as follows: + /// unpackSnorm4x16: clamp(f / 32767.0, -1, +1) + /// + /// The first component of the returned vector will be extracted from the least significant bits of the input; + /// the last component will be extracted from the most significant bits. + /// + /// @see gtc_packing + /// @see float unpackSnorm1x16(uint16 p) + /// @see vec2 unpackSnorm2x16(uint32 p) + /// @see GLSL unpackSnorm4x8 man page + /// @see GLSL 4.20.8 specification, section 8.4 Floating-Point Pack and Unpack Functions + GLM_FUNC_DECL vec4 unpackSnorm4x16(uint64 p); + + /// Returns an unsigned integer obtained by converting the components of a floating-point scalar + /// to the 16-bit floating-point representation found in the OpenGL Specification, + /// and then packing this 16-bit value into a 16-bit unsigned integer. + /// + /// @see gtc_packing + /// @see uint32 packHalf2x16(vec2 const& v) + /// @see uint64 packHalf4x16(vec4 const& v) + /// @see GLSL packHalf2x16 man page + /// @see GLSL 4.20.8 specification, section 8.4 Floating-Point Pack and Unpack Functions + GLM_FUNC_DECL uint16 packHalf1x16(float v); + + /// Returns a floating-point scalar with components obtained by unpacking a 16-bit unsigned integer into a 16-bit value, + /// interpreted as a 16-bit floating-point number according to the OpenGL Specification, + /// and converting it to 32-bit floating-point values. + /// + /// @see gtc_packing + /// @see vec2 unpackHalf2x16(uint32 const& v) + /// @see vec4 unpackHalf4x16(uint64 const& v) + /// @see GLSL unpackHalf2x16 man page + /// @see GLSL 4.20.8 specification, section 8.4 Floating-Point Pack and Unpack Functions + GLM_FUNC_DECL float unpackHalf1x16(uint16 v); + + /// Returns an unsigned integer obtained by converting the components of a four-component floating-point vector + /// to the 16-bit floating-point representation found in the OpenGL Specification, + /// and then packing these four 16-bit values into a 64-bit unsigned integer. + /// The first vector component specifies the 16 least-significant bits of the result; + /// the forth component specifies the 16 most-significant bits. + /// + /// @see gtc_packing + /// @see uint16 packHalf1x16(float const& v) + /// @see uint32 packHalf2x16(vec2 const& v) + /// @see GLSL packHalf2x16 man page + /// @see GLSL 4.20.8 specification, section 8.4 Floating-Point Pack and Unpack Functions + GLM_FUNC_DECL uint64 packHalf4x16(vec4 const& v); + + /// Returns a four-component floating-point vector with components obtained by unpacking a 64-bit unsigned integer into four 16-bit values, + /// interpreting those values as 16-bit floating-point numbers according to the OpenGL Specification, + /// and converting them to 32-bit floating-point values. + /// The first component of the vector is obtained from the 16 least-significant bits of v; + /// the forth component is obtained from the 16 most-significant bits of v. + /// + /// @see gtc_packing + /// @see float unpackHalf1x16(uint16 const& v) + /// @see vec2 unpackHalf2x16(uint32 const& v) + /// @see GLSL unpackHalf2x16 man page + /// @see GLSL 4.20.8 specification, section 8.4 Floating-Point Pack and Unpack Functions + GLM_FUNC_DECL vec4 unpackHalf4x16(uint64 p); + + /// Returns an unsigned integer obtained by converting the components of a four-component signed integer vector + /// to the 10-10-10-2-bit signed integer representation found in the OpenGL Specification, + /// and then packing these four values into a 32-bit unsigned integer. + /// The first vector component specifies the 10 least-significant bits of the result; + /// the forth component specifies the 2 most-significant bits. + /// + /// @see gtc_packing + /// @see uint32 packI3x10_1x2(uvec4 const& v) + /// @see uint32 packSnorm3x10_1x2(vec4 const& v) + /// @see uint32 packUnorm3x10_1x2(vec4 const& v) + /// @see ivec4 unpackI3x10_1x2(uint32 const& p) + GLM_FUNC_DECL uint32 packI3x10_1x2(ivec4 const& v); + + /// Unpacks a single 32-bit unsigned integer p into three 10-bit and one 2-bit signed integers. + /// + /// The first component of the returned vector will be extracted from the least significant bits of the input; + /// the last component will be extracted from the most significant bits. + /// + /// @see gtc_packing + /// @see uint32 packU3x10_1x2(uvec4 const& v) + /// @see vec4 unpackSnorm3x10_1x2(uint32 const& p); + /// @see uvec4 unpackI3x10_1x2(uint32 const& p); + GLM_FUNC_DECL ivec4 unpackI3x10_1x2(uint32 p); + + /// Returns an unsigned integer obtained by converting the components of a four-component unsigned integer vector + /// to the 10-10-10-2-bit unsigned integer representation found in the OpenGL Specification, + /// and then packing these four values into a 32-bit unsigned integer. + /// The first vector component specifies the 10 least-significant bits of the result; + /// the forth component specifies the 2 most-significant bits. + /// + /// @see gtc_packing + /// @see uint32 packI3x10_1x2(ivec4 const& v) + /// @see uint32 packSnorm3x10_1x2(vec4 const& v) + /// @see uint32 packUnorm3x10_1x2(vec4 const& v) + /// @see ivec4 unpackU3x10_1x2(uint32 const& p) + GLM_FUNC_DECL uint32 packU3x10_1x2(uvec4 const& v); + + /// Unpacks a single 32-bit unsigned integer p into three 10-bit and one 2-bit unsigned integers. + /// + /// The first component of the returned vector will be extracted from the least significant bits of the input; + /// the last component will be extracted from the most significant bits. + /// + /// @see gtc_packing + /// @see uint32 packU3x10_1x2(uvec4 const& v) + /// @see vec4 unpackSnorm3x10_1x2(uint32 const& p); + /// @see uvec4 unpackI3x10_1x2(uint32 const& p); + GLM_FUNC_DECL uvec4 unpackU3x10_1x2(uint32 p); + + /// First, converts the first three components of the normalized floating-point value v into 10-bit signed integer values. + /// Then, converts the forth component of the normalized floating-point value v into 2-bit signed integer values. + /// Then, the results are packed into the returned 32-bit unsigned integer. + /// + /// The conversion for component c of v to fixed point is done as follows: + /// packSnorm3x10_1x2(xyz): round(clamp(c, -1, +1) * 511.0) + /// packSnorm3x10_1x2(w): round(clamp(c, -1, +1) * 1.0) + /// + /// The first vector component specifies the 10 least-significant bits of the result; + /// the forth component specifies the 2 most-significant bits. + /// + /// @see gtc_packing + /// @see vec4 unpackSnorm3x10_1x2(uint32 const& p) + /// @see uint32 packUnorm3x10_1x2(vec4 const& v) + /// @see uint32 packU3x10_1x2(uvec4 const& v) + /// @see uint32 packI3x10_1x2(ivec4 const& v) + GLM_FUNC_DECL uint32 packSnorm3x10_1x2(vec4 const& v); + + /// First, unpacks a single 32-bit unsigned integer p into four 16-bit signed integers. + /// Then, each component is converted to a normalized floating-point value to generate the returned four-component vector. + /// + /// The conversion for unpacked fixed-point value f to floating point is done as follows: + /// unpackSnorm3x10_1x2(xyz): clamp(f / 511.0, -1, +1) + /// unpackSnorm3x10_1x2(w): clamp(f / 511.0, -1, +1) + /// + /// The first component of the returned vector will be extracted from the least significant bits of the input; + /// the last component will be extracted from the most significant bits. + /// + /// @see gtc_packing + /// @see uint32 packSnorm3x10_1x2(vec4 const& v) + /// @see vec4 unpackUnorm3x10_1x2(uint32 const& p)) + /// @see uvec4 unpackI3x10_1x2(uint32 const& p) + /// @see uvec4 unpackU3x10_1x2(uint32 const& p) + GLM_FUNC_DECL vec4 unpackSnorm3x10_1x2(uint32 p); + + /// First, converts the first three components of the normalized floating-point value v into 10-bit unsigned integer values. + /// Then, converts the forth component of the normalized floating-point value v into 2-bit signed uninteger values. + /// Then, the results are packed into the returned 32-bit unsigned integer. + /// + /// The conversion for component c of v to fixed point is done as follows: + /// packUnorm3x10_1x2(xyz): round(clamp(c, 0, +1) * 1023.0) + /// packUnorm3x10_1x2(w): round(clamp(c, 0, +1) * 3.0) + /// + /// The first vector component specifies the 10 least-significant bits of the result; + /// the forth component specifies the 2 most-significant bits. + /// + /// @see gtc_packing + /// @see vec4 unpackUnorm3x10_1x2(uint32 const& p) + /// @see uint32 packUnorm3x10_1x2(vec4 const& v) + /// @see uint32 packU3x10_1x2(uvec4 const& v) + /// @see uint32 packI3x10_1x2(ivec4 const& v) + GLM_FUNC_DECL uint32 packUnorm3x10_1x2(vec4 const& v); + + /// First, unpacks a single 32-bit unsigned integer p into four 16-bit signed integers. + /// Then, each component is converted to a normalized floating-point value to generate the returned four-component vector. + /// + /// The conversion for unpacked fixed-point value f to floating point is done as follows: + /// unpackSnorm3x10_1x2(xyz): clamp(f / 1023.0, 0, +1) + /// unpackSnorm3x10_1x2(w): clamp(f / 3.0, 0, +1) + /// + /// The first component of the returned vector will be extracted from the least significant bits of the input; + /// the last component will be extracted from the most significant bits. + /// + /// @see gtc_packing + /// @see uint32 packSnorm3x10_1x2(vec4 const& v) + /// @see vec4 unpackInorm3x10_1x2(uint32 const& p)) + /// @see uvec4 unpackI3x10_1x2(uint32 const& p) + /// @see uvec4 unpackU3x10_1x2(uint32 const& p) + GLM_FUNC_DECL vec4 unpackUnorm3x10_1x2(uint32 p); + + /// First, converts the first two components of the normalized floating-point value v into 11-bit signless floating-point values. + /// Then, converts the third component of the normalized floating-point value v into a 10-bit signless floating-point value. + /// Then, the results are packed into the returned 32-bit unsigned integer. + /// + /// The first vector component specifies the 11 least-significant bits of the result; + /// the last component specifies the 10 most-significant bits. + /// + /// @see gtc_packing + /// @see vec3 unpackF2x11_1x10(uint32 const& p) + GLM_FUNC_DECL uint32 packF2x11_1x10(vec3 const& v); + + /// First, unpacks a single 32-bit unsigned integer p into two 11-bit signless floating-point values and one 10-bit signless floating-point value . + /// Then, each component is converted to a normalized floating-point value to generate the returned three-component vector. + /// + /// The first component of the returned vector will be extracted from the least significant bits of the input; + /// the last component will be extracted from the most significant bits. + /// + /// @see gtc_packing + /// @see uint32 packF2x11_1x10(vec3 const& v) + GLM_FUNC_DECL vec3 unpackF2x11_1x10(uint32 p); + + + /// First, converts the first two components of the normalized floating-point value v into 11-bit signless floating-point values. + /// Then, converts the third component of the normalized floating-point value v into a 10-bit signless floating-point value. + /// Then, the results are packed into the returned 32-bit unsigned integer. + /// + /// The first vector component specifies the 11 least-significant bits of the result; + /// the last component specifies the 10 most-significant bits. + /// + /// packF3x9_E1x5 allows encoding into RGBE / RGB9E5 format + /// + /// @see gtc_packing + /// @see vec3 unpackF3x9_E1x5(uint32 const& p) + GLM_FUNC_DECL uint32 packF3x9_E1x5(vec3 const& v); + + /// First, unpacks a single 32-bit unsigned integer p into two 11-bit signless floating-point values and one 10-bit signless floating-point value . + /// Then, each component is converted to a normalized floating-point value to generate the returned three-component vector. + /// + /// The first component of the returned vector will be extracted from the least significant bits of the input; + /// the last component will be extracted from the most significant bits. + /// + /// unpackF3x9_E1x5 allows decoding RGBE / RGB9E5 data + /// + /// @see gtc_packing + /// @see uint32 packF3x9_E1x5(vec3 const& v) + GLM_FUNC_DECL vec3 unpackF3x9_E1x5(uint32 p); + + /// Returns an unsigned integer vector obtained by converting the components of a floating-point vector + /// to the 16-bit floating-point representation found in the OpenGL Specification. + /// The first vector component specifies the 16 least-significant bits of the result; + /// the forth component specifies the 16 most-significant bits. + /// + /// @see gtc_packing + /// @see vec<3, T, Q> unpackRGBM(vec<4, T, Q> const& p) + /// @see GLSL 4.20.8 specification, section 8.4 Floating-Point Pack and Unpack Functions + template + GLM_FUNC_DECL vec<4, T, Q> packRGBM(vec<3, T, Q> const& rgb); + + /// Returns a floating-point vector with components obtained by reinterpreting an integer vector as 16-bit floating-point numbers and converting them to 32-bit floating-point values. + /// The first component of the vector is obtained from the 16 least-significant bits of v; + /// the forth component is obtained from the 16 most-significant bits of v. + /// + /// @see gtc_packing + /// @see vec<4, T, Q> packRGBM(vec<3, float, Q> const& v) + /// @see GLSL 4.20.8 specification, section 8.4 Floating-Point Pack and Unpack Functions + template + GLM_FUNC_DECL vec<3, T, Q> unpackRGBM(vec<4, T, Q> const& rgbm); + + /// Returns an unsigned integer vector obtained by converting the components of a floating-point vector + /// to the 16-bit floating-point representation found in the OpenGL Specification. + /// The first vector component specifies the 16 least-significant bits of the result; + /// the forth component specifies the 16 most-significant bits. + /// + /// @see gtc_packing + /// @see vec unpackHalf(vec const& p) + /// @see GLSL 4.20.8 specification, section 8.4 Floating-Point Pack and Unpack Functions + template + GLM_FUNC_DECL vec packHalf(vec const& v); + + /// Returns a floating-point vector with components obtained by reinterpreting an integer vector as 16-bit floating-point numbers and converting them to 32-bit floating-point values. + /// The first component of the vector is obtained from the 16 least-significant bits of v; + /// the forth component is obtained from the 16 most-significant bits of v. + /// + /// @see gtc_packing + /// @see vec packHalf(vec const& v) + /// @see GLSL 4.20.8 specification, section 8.4 Floating-Point Pack and Unpack Functions + template + GLM_FUNC_DECL vec unpackHalf(vec const& p); + + /// Convert each component of the normalized floating-point vector into unsigned integer values. + /// + /// @see gtc_packing + /// @see vec unpackUnorm(vec const& p); + template + GLM_FUNC_DECL vec packUnorm(vec const& v); + + /// Convert a packed integer to a normalized floating-point vector. + /// + /// @see gtc_packing + /// @see vec packUnorm(vec const& v) + template + GLM_FUNC_DECL vec unpackUnorm(vec const& v); + + /// Convert each component of the normalized floating-point vector into signed integer values. + /// + /// @see gtc_packing + /// @see vec unpackSnorm(vec const& p); + template + GLM_FUNC_DECL vec packSnorm(vec const& v); + + /// Convert a packed integer to a normalized floating-point vector. + /// + /// @see gtc_packing + /// @see vec packSnorm(vec const& v) + template + GLM_FUNC_DECL vec unpackSnorm(vec const& v); + + /// Convert each component of the normalized floating-point vector into unsigned integer values. + /// + /// @see gtc_packing + /// @see vec2 unpackUnorm2x4(uint8 p) + GLM_FUNC_DECL uint8 packUnorm2x4(vec2 const& v); + + /// Convert a packed integer to a normalized floating-point vector. + /// + /// @see gtc_packing + /// @see uint8 packUnorm2x4(vec2 const& v) + GLM_FUNC_DECL vec2 unpackUnorm2x4(uint8 p); + + /// Convert each component of the normalized floating-point vector into unsigned integer values. + /// + /// @see gtc_packing + /// @see vec4 unpackUnorm4x4(uint16 p) + GLM_FUNC_DECL uint16 packUnorm4x4(vec4 const& v); + + /// Convert a packed integer to a normalized floating-point vector. + /// + /// @see gtc_packing + /// @see uint16 packUnorm4x4(vec4 const& v) + GLM_FUNC_DECL vec4 unpackUnorm4x4(uint16 p); + + /// Convert each component of the normalized floating-point vector into unsigned integer values. + /// + /// @see gtc_packing + /// @see vec3 unpackUnorm1x5_1x6_1x5(uint16 p) + GLM_FUNC_DECL uint16 packUnorm1x5_1x6_1x5(vec3 const& v); + + /// Convert a packed integer to a normalized floating-point vector. + /// + /// @see gtc_packing + /// @see uint16 packUnorm1x5_1x6_1x5(vec3 const& v) + GLM_FUNC_DECL vec3 unpackUnorm1x5_1x6_1x5(uint16 p); + + /// Convert each component of the normalized floating-point vector into unsigned integer values. + /// + /// @see gtc_packing + /// @see vec4 unpackUnorm3x5_1x1(uint16 p) + GLM_FUNC_DECL uint16 packUnorm3x5_1x1(vec4 const& v); + + /// Convert a packed integer to a normalized floating-point vector. + /// + /// @see gtc_packing + /// @see uint16 packUnorm3x5_1x1(vec4 const& v) + GLM_FUNC_DECL vec4 unpackUnorm3x5_1x1(uint16 p); + + /// Convert each component of the normalized floating-point vector into unsigned integer values. + /// + /// @see gtc_packing + /// @see vec3 unpackUnorm2x3_1x2(uint8 p) + GLM_FUNC_DECL uint8 packUnorm2x3_1x2(vec3 const& v); + + /// Convert a packed integer to a normalized floating-point vector. + /// + /// @see gtc_packing + /// @see uint8 packUnorm2x3_1x2(vec3 const& v) + GLM_FUNC_DECL vec3 unpackUnorm2x3_1x2(uint8 p); + + + + /// Convert each component from an integer vector into a packed integer. + /// + /// @see gtc_packing + /// @see i8vec2 unpackInt2x8(int16 p) + GLM_FUNC_DECL int16 packInt2x8(i8vec2 const& v); + + /// Convert a packed integer into an integer vector. + /// + /// @see gtc_packing + /// @see int16 packInt2x8(i8vec2 const& v) + GLM_FUNC_DECL i8vec2 unpackInt2x8(int16 p); + + /// Convert each component from an integer vector into a packed unsigned integer. + /// + /// @see gtc_packing + /// @see u8vec2 unpackInt2x8(uint16 p) + GLM_FUNC_DECL uint16 packUint2x8(u8vec2 const& v); + + /// Convert a packed integer into an integer vector. + /// + /// @see gtc_packing + /// @see uint16 packInt2x8(u8vec2 const& v) + GLM_FUNC_DECL u8vec2 unpackUint2x8(uint16 p); + + /// Convert each component from an integer vector into a packed integer. + /// + /// @see gtc_packing + /// @see i8vec4 unpackInt4x8(int32 p) + GLM_FUNC_DECL int32 packInt4x8(i8vec4 const& v); + + /// Convert a packed integer into an integer vector. + /// + /// @see gtc_packing + /// @see int32 packInt2x8(i8vec4 const& v) + GLM_FUNC_DECL i8vec4 unpackInt4x8(int32 p); + + /// Convert each component from an integer vector into a packed unsigned integer. + /// + /// @see gtc_packing + /// @see u8vec4 unpackUint4x8(uint32 p) + GLM_FUNC_DECL uint32 packUint4x8(u8vec4 const& v); + + /// Convert a packed integer into an integer vector. + /// + /// @see gtc_packing + /// @see uint32 packUint4x8(u8vec2 const& v) + GLM_FUNC_DECL u8vec4 unpackUint4x8(uint32 p); + + /// Convert each component from an integer vector into a packed integer. + /// + /// @see gtc_packing + /// @see i16vec2 unpackInt2x16(int p) + GLM_FUNC_DECL int packInt2x16(i16vec2 const& v); + + /// Convert a packed integer into an integer vector. + /// + /// @see gtc_packing + /// @see int packInt2x16(i16vec2 const& v) + GLM_FUNC_DECL i16vec2 unpackInt2x16(int p); + + /// Convert each component from an integer vector into a packed integer. + /// + /// @see gtc_packing + /// @see i16vec4 unpackInt4x16(int64 p) + GLM_FUNC_DECL int64 packInt4x16(i16vec4 const& v); + + /// Convert a packed integer into an integer vector. + /// + /// @see gtc_packing + /// @see int64 packInt4x16(i16vec4 const& v) + GLM_FUNC_DECL i16vec4 unpackInt4x16(int64 p); + + /// Convert each component from an integer vector into a packed unsigned integer. + /// + /// @see gtc_packing + /// @see u16vec2 unpackUint2x16(uint p) + GLM_FUNC_DECL uint packUint2x16(u16vec2 const& v); + + /// Convert a packed integer into an integer vector. + /// + /// @see gtc_packing + /// @see uint packUint2x16(u16vec2 const& v) + GLM_FUNC_DECL u16vec2 unpackUint2x16(uint p); + + /// Convert each component from an integer vector into a packed unsigned integer. + /// + /// @see gtc_packing + /// @see u16vec4 unpackUint4x16(uint64 p) + GLM_FUNC_DECL uint64 packUint4x16(u16vec4 const& v); + + /// Convert a packed integer into an integer vector. + /// + /// @see gtc_packing + /// @see uint64 packUint4x16(u16vec4 const& v) + GLM_FUNC_DECL u16vec4 unpackUint4x16(uint64 p); + + /// Convert each component from an integer vector into a packed integer. + /// + /// @see gtc_packing + /// @see i32vec2 unpackInt2x32(int p) + GLM_FUNC_DECL int64 packInt2x32(i32vec2 const& v); + + /// Convert a packed integer into an integer vector. + /// + /// @see gtc_packing + /// @see int packInt2x16(i32vec2 const& v) + GLM_FUNC_DECL i32vec2 unpackInt2x32(int64 p); + + /// Convert each component from an integer vector into a packed unsigned integer. + /// + /// @see gtc_packing + /// @see u32vec2 unpackUint2x32(int p) + GLM_FUNC_DECL uint64 packUint2x32(u32vec2 const& v); + + /// Convert a packed integer into an integer vector. + /// + /// @see gtc_packing + /// @see int packUint2x16(u32vec2 const& v) + GLM_FUNC_DECL u32vec2 unpackUint2x32(uint64 p); + + + /// @} +}// namespace glm + +#include "packing.inl" diff --git a/MacroLibX/third_party/glm/gtc/packing.inl b/MacroLibX/third_party/glm/gtc/packing.inl new file mode 100644 index 0000000..8c906e1 --- /dev/null +++ b/MacroLibX/third_party/glm/gtc/packing.inl @@ -0,0 +1,938 @@ +/// @ref gtc_packing + +#include "../ext/scalar_relational.hpp" +#include "../ext/vector_relational.hpp" +#include "../common.hpp" +#include "../vec2.hpp" +#include "../vec3.hpp" +#include "../vec4.hpp" +#include "../detail/type_half.hpp" +#include +#include + +namespace glm{ +namespace detail +{ + GLM_FUNC_QUALIFIER glm::uint16 float2half(glm::uint32 f) + { + // 10 bits => EE EEEFFFFF + // 11 bits => EEE EEFFFFFF + // Half bits => SEEEEEFF FFFFFFFF + // Float bits => SEEEEEEE EFFFFFFF FFFFFFFF FFFFFFFF + + // 0x00007c00 => 00000000 00000000 01111100 00000000 + // 0x000003ff => 00000000 00000000 00000011 11111111 + // 0x38000000 => 00111000 00000000 00000000 00000000 + // 0x7f800000 => 01111111 10000000 00000000 00000000 + // 0x00008000 => 00000000 00000000 10000000 00000000 + return + ((f >> 16) & 0x8000) | // sign + ((((f & 0x7f800000) - 0x38000000) >> 13) & 0x7c00) | // exponential + ((f >> 13) & 0x03ff); // Mantissa + } + + GLM_FUNC_QUALIFIER glm::uint32 float2packed11(glm::uint32 f) + { + // 10 bits => EE EEEFFFFF + // 11 bits => EEE EEFFFFFF + // Half bits => SEEEEEFF FFFFFFFF + // Float bits => SEEEEEEE EFFFFFFF FFFFFFFF FFFFFFFF + + // 0x000007c0 => 00000000 00000000 00000111 11000000 + // 0x00007c00 => 00000000 00000000 01111100 00000000 + // 0x000003ff => 00000000 00000000 00000011 11111111 + // 0x38000000 => 00111000 00000000 00000000 00000000 + // 0x7f800000 => 01111111 10000000 00000000 00000000 + // 0x00008000 => 00000000 00000000 10000000 00000000 + return + ((((f & 0x7f800000) - 0x38000000) >> 17) & 0x07c0) | // exponential + ((f >> 17) & 0x003f); // Mantissa + } + + GLM_FUNC_QUALIFIER glm::uint32 packed11ToFloat(glm::uint32 p) + { + // 10 bits => EE EEEFFFFF + // 11 bits => EEE EEFFFFFF + // Half bits => SEEEEEFF FFFFFFFF + // Float bits => SEEEEEEE EFFFFFFF FFFFFFFF FFFFFFFF + + // 0x000007c0 => 00000000 00000000 00000111 11000000 + // 0x00007c00 => 00000000 00000000 01111100 00000000 + // 0x000003ff => 00000000 00000000 00000011 11111111 + // 0x38000000 => 00111000 00000000 00000000 00000000 + // 0x7f800000 => 01111111 10000000 00000000 00000000 + // 0x00008000 => 00000000 00000000 10000000 00000000 + return + ((((p & 0x07c0) << 17) + 0x38000000) & 0x7f800000) | // exponential + ((p & 0x003f) << 17); // Mantissa + } + + GLM_FUNC_QUALIFIER glm::uint32 float2packed10(glm::uint32 f) + { + // 10 bits => EE EEEFFFFF + // 11 bits => EEE EEFFFFFF + // Half bits => SEEEEEFF FFFFFFFF + // Float bits => SEEEEEEE EFFFFFFF FFFFFFFF FFFFFFFF + + // 0x0000001F => 00000000 00000000 00000000 00011111 + // 0x0000003F => 00000000 00000000 00000000 00111111 + // 0x000003E0 => 00000000 00000000 00000011 11100000 + // 0x000007C0 => 00000000 00000000 00000111 11000000 + // 0x00007C00 => 00000000 00000000 01111100 00000000 + // 0x000003FF => 00000000 00000000 00000011 11111111 + // 0x38000000 => 00111000 00000000 00000000 00000000 + // 0x7f800000 => 01111111 10000000 00000000 00000000 + // 0x00008000 => 00000000 00000000 10000000 00000000 + return + ((((f & 0x7f800000) - 0x38000000) >> 18) & 0x03E0) | // exponential + ((f >> 18) & 0x001f); // Mantissa + } + + GLM_FUNC_QUALIFIER glm::uint32 packed10ToFloat(glm::uint32 p) + { + // 10 bits => EE EEEFFFFF + // 11 bits => EEE EEFFFFFF + // Half bits => SEEEEEFF FFFFFFFF + // Float bits => SEEEEEEE EFFFFFFF FFFFFFFF FFFFFFFF + + // 0x0000001F => 00000000 00000000 00000000 00011111 + // 0x0000003F => 00000000 00000000 00000000 00111111 + // 0x000003E0 => 00000000 00000000 00000011 11100000 + // 0x000007C0 => 00000000 00000000 00000111 11000000 + // 0x00007C00 => 00000000 00000000 01111100 00000000 + // 0x000003FF => 00000000 00000000 00000011 11111111 + // 0x38000000 => 00111000 00000000 00000000 00000000 + // 0x7f800000 => 01111111 10000000 00000000 00000000 + // 0x00008000 => 00000000 00000000 10000000 00000000 + return + ((((p & 0x03E0) << 18) + 0x38000000) & 0x7f800000) | // exponential + ((p & 0x001f) << 18); // Mantissa + } + + GLM_FUNC_QUALIFIER glm::uint half2float(glm::uint h) + { + return ((h & 0x8000) << 16) | ((( h & 0x7c00) + 0x1C000) << 13) | ((h & 0x03FF) << 13); + } + + GLM_FUNC_QUALIFIER glm::uint floatTo11bit(float x) + { + if(x == 0.0f) + return 0u; + else if(glm::isnan(x)) + return ~0u; + else if(glm::isinf(x)) + return 0x1Fu << 6u; + + uint Pack = 0u; + memcpy(&Pack, &x, sizeof(Pack)); + return float2packed11(Pack); + } + + GLM_FUNC_QUALIFIER float packed11bitToFloat(glm::uint x) + { + if(x == 0) + return 0.0f; + else if(x == ((1 << 11) - 1)) + return ~0;//NaN + else if(x == (0x1f << 6)) + return ~0;//Inf + + uint Result = packed11ToFloat(x); + + float Temp = 0; + memcpy(&Temp, &Result, sizeof(Temp)); + return Temp; + } + + GLM_FUNC_QUALIFIER glm::uint floatTo10bit(float x) + { + if(x == 0.0f) + return 0u; + else if(glm::isnan(x)) + return ~0u; + else if(glm::isinf(x)) + return 0x1Fu << 5u; + + uint Pack = 0; + memcpy(&Pack, &x, sizeof(Pack)); + return float2packed10(Pack); + } + + GLM_FUNC_QUALIFIER float packed10bitToFloat(glm::uint x) + { + if(x == 0) + return 0.0f; + else if(x == ((1 << 10) - 1)) + return ~0;//NaN + else if(x == (0x1f << 5)) + return ~0;//Inf + + uint Result = packed10ToFloat(x); + + float Temp = 0; + memcpy(&Temp, &Result, sizeof(Temp)); + return Temp; + } + +// GLM_FUNC_QUALIFIER glm::uint f11_f11_f10(float x, float y, float z) +// { +// return ((floatTo11bit(x) & ((1 << 11) - 1)) << 0) | ((floatTo11bit(y) & ((1 << 11) - 1)) << 11) | ((floatTo10bit(z) & ((1 << 10) - 1)) << 22); +// } + + union u3u3u2 + { + struct + { + uint x : 3; + uint y : 3; + uint z : 2; + } data; + uint8 pack; + }; + + union u4u4 + { + struct + { + uint x : 4; + uint y : 4; + } data; + uint8 pack; + }; + + union u4u4u4u4 + { + struct + { + uint x : 4; + uint y : 4; + uint z : 4; + uint w : 4; + } data; + uint16 pack; + }; + + union u5u6u5 + { + struct + { + uint x : 5; + uint y : 6; + uint z : 5; + } data; + uint16 pack; + }; + + union u5u5u5u1 + { + struct + { + uint x : 5; + uint y : 5; + uint z : 5; + uint w : 1; + } data; + uint16 pack; + }; + + union u10u10u10u2 + { + struct + { + uint x : 10; + uint y : 10; + uint z : 10; + uint w : 2; + } data; + uint32 pack; + }; + + union i10i10i10i2 + { + struct + { + int x : 10; + int y : 10; + int z : 10; + int w : 2; + } data; + uint32 pack; + }; + + union u9u9u9e5 + { + struct + { + uint x : 9; + uint y : 9; + uint z : 9; + uint w : 5; + } data; + uint32 pack; + }; + + template + struct compute_half + {}; + + template + struct compute_half<1, Q> + { + GLM_FUNC_QUALIFIER static vec<1, uint16, Q> pack(vec<1, float, Q> const& v) + { + int16 const Unpack(detail::toFloat16(v.x)); + u16vec1 Packed; + memcpy(&Packed, &Unpack, sizeof(Packed)); + return Packed; + } + + GLM_FUNC_QUALIFIER static vec<1, float, Q> unpack(vec<1, uint16, Q> const& v) + { + i16vec1 Unpack; + memcpy(&Unpack, &v, sizeof(Unpack)); + return vec<1, float, Q>(detail::toFloat32(v.x)); + } + }; + + template + struct compute_half<2, Q> + { + GLM_FUNC_QUALIFIER static vec<2, uint16, Q> pack(vec<2, float, Q> const& v) + { + vec<2, int16, Q> const Unpack(detail::toFloat16(v.x), detail::toFloat16(v.y)); + u16vec2 Packed; + memcpy(&Packed, &Unpack, sizeof(Packed)); + return Packed; + } + + GLM_FUNC_QUALIFIER static vec<2, float, Q> unpack(vec<2, uint16, Q> const& v) + { + i16vec2 Unpack; + memcpy(&Unpack, &v, sizeof(Unpack)); + return vec<2, float, Q>(detail::toFloat32(v.x), detail::toFloat32(v.y)); + } + }; + + template + struct compute_half<3, Q> + { + GLM_FUNC_QUALIFIER static vec<3, uint16, Q> pack(vec<3, float, Q> const& v) + { + vec<3, int16, Q> const Unpack(detail::toFloat16(v.x), detail::toFloat16(v.y), detail::toFloat16(v.z)); + u16vec3 Packed; + memcpy(&Packed, &Unpack, sizeof(Packed)); + return Packed; + } + + GLM_FUNC_QUALIFIER static vec<3, float, Q> unpack(vec<3, uint16, Q> const& v) + { + i16vec3 Unpack; + memcpy(&Unpack, &v, sizeof(Unpack)); + return vec<3, float, Q>(detail::toFloat32(v.x), detail::toFloat32(v.y), detail::toFloat32(v.z)); + } + }; + + template + struct compute_half<4, Q> + { + GLM_FUNC_QUALIFIER static vec<4, uint16, Q> pack(vec<4, float, Q> const& v) + { + vec<4, int16, Q> const Unpack(detail::toFloat16(v.x), detail::toFloat16(v.y), detail::toFloat16(v.z), detail::toFloat16(v.w)); + u16vec4 Packed; + memcpy(&Packed, &Unpack, sizeof(Packed)); + return Packed; + } + + GLM_FUNC_QUALIFIER static vec<4, float, Q> unpack(vec<4, uint16, Q> const& v) + { + i16vec4 Unpack; + memcpy(&Unpack, &v, sizeof(Unpack)); + return vec<4, float, Q>(detail::toFloat32(v.x), detail::toFloat32(v.y), detail::toFloat32(v.z), detail::toFloat32(v.w)); + } + }; +}//namespace detail + + GLM_FUNC_QUALIFIER uint8 packUnorm1x8(float v) + { + return static_cast(round(clamp(v, 0.0f, 1.0f) * 255.0f)); + } + + GLM_FUNC_QUALIFIER float unpackUnorm1x8(uint8 p) + { + float const Unpack(p); + return Unpack * static_cast(0.0039215686274509803921568627451); // 1 / 255 + } + + GLM_FUNC_QUALIFIER uint16 packUnorm2x8(vec2 const& v) + { + u8vec2 const Topack(round(clamp(v, 0.0f, 1.0f) * 255.0f)); + + uint16 Unpack = 0; + memcpy(&Unpack, &Topack, sizeof(Unpack)); + return Unpack; + } + + GLM_FUNC_QUALIFIER vec2 unpackUnorm2x8(uint16 p) + { + u8vec2 Unpack; + memcpy(&Unpack, &p, sizeof(Unpack)); + return vec2(Unpack) * float(0.0039215686274509803921568627451); // 1 / 255 + } + + GLM_FUNC_QUALIFIER uint8 packSnorm1x8(float v) + { + int8 const Topack(static_cast(round(clamp(v ,-1.0f, 1.0f) * 127.0f))); + uint8 Packed = 0; + memcpy(&Packed, &Topack, sizeof(Packed)); + return Packed; + } + + GLM_FUNC_QUALIFIER float unpackSnorm1x8(uint8 p) + { + int8 Unpack = 0; + memcpy(&Unpack, &p, sizeof(Unpack)); + return clamp( + static_cast(Unpack) * 0.00787401574803149606299212598425f, // 1.0f / 127.0f + -1.0f, 1.0f); + } + + GLM_FUNC_QUALIFIER uint16 packSnorm2x8(vec2 const& v) + { + i8vec2 const Topack(round(clamp(v, -1.0f, 1.0f) * 127.0f)); + uint16 Packed = 0; + memcpy(&Packed, &Topack, sizeof(Packed)); + return Packed; + } + + GLM_FUNC_QUALIFIER vec2 unpackSnorm2x8(uint16 p) + { + i8vec2 Unpack; + memcpy(&Unpack, &p, sizeof(Unpack)); + return clamp( + vec2(Unpack) * 0.00787401574803149606299212598425f, // 1.0f / 127.0f + -1.0f, 1.0f); + } + + GLM_FUNC_QUALIFIER uint16 packUnorm1x16(float s) + { + return static_cast(round(clamp(s, 0.0f, 1.0f) * 65535.0f)); + } + + GLM_FUNC_QUALIFIER float unpackUnorm1x16(uint16 p) + { + float const Unpack(p); + return Unpack * 1.5259021896696421759365224689097e-5f; // 1.0 / 65535.0 + } + + GLM_FUNC_QUALIFIER uint64 packUnorm4x16(vec4 const& v) + { + u16vec4 const Topack(round(clamp(v , 0.0f, 1.0f) * 65535.0f)); + uint64 Packed = 0; + memcpy(&Packed, &Topack, sizeof(Packed)); + return Packed; + } + + GLM_FUNC_QUALIFIER vec4 unpackUnorm4x16(uint64 p) + { + u16vec4 Unpack; + memcpy(&Unpack, &p, sizeof(Unpack)); + return vec4(Unpack) * 1.5259021896696421759365224689097e-5f; // 1.0 / 65535.0 + } + + GLM_FUNC_QUALIFIER uint16 packSnorm1x16(float v) + { + int16 const Topack = static_cast(round(clamp(v ,-1.0f, 1.0f) * 32767.0f)); + uint16 Packed = 0; + memcpy(&Packed, &Topack, sizeof(Packed)); + return Packed; + } + + GLM_FUNC_QUALIFIER float unpackSnorm1x16(uint16 p) + { + int16 Unpack = 0; + memcpy(&Unpack, &p, sizeof(Unpack)); + return clamp( + static_cast(Unpack) * 3.0518509475997192297128208258309e-5f, //1.0f / 32767.0f, + -1.0f, 1.0f); + } + + GLM_FUNC_QUALIFIER uint64 packSnorm4x16(vec4 const& v) + { + i16vec4 const Topack(round(clamp(v ,-1.0f, 1.0f) * 32767.0f)); + uint64 Packed = 0; + memcpy(&Packed, &Topack, sizeof(Packed)); + return Packed; + } + + GLM_FUNC_QUALIFIER vec4 unpackSnorm4x16(uint64 p) + { + i16vec4 Unpack; + memcpy(&Unpack, &p, sizeof(Unpack)); + return clamp( + vec4(Unpack) * 3.0518509475997192297128208258309e-5f, //1.0f / 32767.0f, + -1.0f, 1.0f); + } + + GLM_FUNC_QUALIFIER uint16 packHalf1x16(float v) + { + int16 const Topack(detail::toFloat16(v)); + uint16 Packed = 0; + memcpy(&Packed, &Topack, sizeof(Packed)); + return Packed; + } + + GLM_FUNC_QUALIFIER float unpackHalf1x16(uint16 v) + { + int16 Unpack = 0; + memcpy(&Unpack, &v, sizeof(Unpack)); + return detail::toFloat32(Unpack); + } + + GLM_FUNC_QUALIFIER uint64 packHalf4x16(glm::vec4 const& v) + { + i16vec4 const Unpack( + detail::toFloat16(v.x), + detail::toFloat16(v.y), + detail::toFloat16(v.z), + detail::toFloat16(v.w)); + uint64 Packed = 0; + memcpy(&Packed, &Unpack, sizeof(Packed)); + return Packed; + } + + GLM_FUNC_QUALIFIER glm::vec4 unpackHalf4x16(uint64 v) + { + i16vec4 Unpack; + memcpy(&Unpack, &v, sizeof(Unpack)); + return vec4( + detail::toFloat32(Unpack.x), + detail::toFloat32(Unpack.y), + detail::toFloat32(Unpack.z), + detail::toFloat32(Unpack.w)); + } + + GLM_FUNC_QUALIFIER uint32 packI3x10_1x2(ivec4 const& v) + { + detail::i10i10i10i2 Result; + Result.data.x = v.x; + Result.data.y = v.y; + Result.data.z = v.z; + Result.data.w = v.w; + return Result.pack; + } + + GLM_FUNC_QUALIFIER ivec4 unpackI3x10_1x2(uint32 v) + { + detail::i10i10i10i2 Unpack; + Unpack.pack = v; + return ivec4( + Unpack.data.x, + Unpack.data.y, + Unpack.data.z, + Unpack.data.w); + } + + GLM_FUNC_QUALIFIER uint32 packU3x10_1x2(uvec4 const& v) + { + detail::u10u10u10u2 Result; + Result.data.x = v.x; + Result.data.y = v.y; + Result.data.z = v.z; + Result.data.w = v.w; + return Result.pack; + } + + GLM_FUNC_QUALIFIER uvec4 unpackU3x10_1x2(uint32 v) + { + detail::u10u10u10u2 Unpack; + Unpack.pack = v; + return uvec4( + Unpack.data.x, + Unpack.data.y, + Unpack.data.z, + Unpack.data.w); + } + + GLM_FUNC_QUALIFIER uint32 packSnorm3x10_1x2(vec4 const& v) + { + ivec4 const Pack(round(clamp(v,-1.0f, 1.0f) * vec4(511.f, 511.f, 511.f, 1.f))); + + detail::i10i10i10i2 Result; + Result.data.x = Pack.x; + Result.data.y = Pack.y; + Result.data.z = Pack.z; + Result.data.w = Pack.w; + return Result.pack; + } + + GLM_FUNC_QUALIFIER vec4 unpackSnorm3x10_1x2(uint32 v) + { + detail::i10i10i10i2 Unpack; + Unpack.pack = v; + + vec4 const Result(Unpack.data.x, Unpack.data.y, Unpack.data.z, Unpack.data.w); + + return clamp(Result * vec4(1.f / 511.f, 1.f / 511.f, 1.f / 511.f, 1.f), -1.0f, 1.0f); + } + + GLM_FUNC_QUALIFIER uint32 packUnorm3x10_1x2(vec4 const& v) + { + uvec4 const Unpack(round(clamp(v, 0.0f, 1.0f) * vec4(1023.f, 1023.f, 1023.f, 3.f))); + + detail::u10u10u10u2 Result; + Result.data.x = Unpack.x; + Result.data.y = Unpack.y; + Result.data.z = Unpack.z; + Result.data.w = Unpack.w; + return Result.pack; + } + + GLM_FUNC_QUALIFIER vec4 unpackUnorm3x10_1x2(uint32 v) + { + vec4 const ScaleFactors(1.0f / 1023.f, 1.0f / 1023.f, 1.0f / 1023.f, 1.0f / 3.f); + + detail::u10u10u10u2 Unpack; + Unpack.pack = v; + return vec4(Unpack.data.x, Unpack.data.y, Unpack.data.z, Unpack.data.w) * ScaleFactors; + } + + GLM_FUNC_QUALIFIER uint32 packF2x11_1x10(vec3 const& v) + { + return + ((detail::floatTo11bit(v.x) & ((1 << 11) - 1)) << 0) | + ((detail::floatTo11bit(v.y) & ((1 << 11) - 1)) << 11) | + ((detail::floatTo10bit(v.z) & ((1 << 10) - 1)) << 22); + } + + GLM_FUNC_QUALIFIER vec3 unpackF2x11_1x10(uint32 v) + { + return vec3( + detail::packed11bitToFloat(v >> 0), + detail::packed11bitToFloat(v >> 11), + detail::packed10bitToFloat(v >> 22)); + } + + GLM_FUNC_QUALIFIER uint32 packF3x9_E1x5(vec3 const& v) + { + float const SharedExpMax = (pow(2.0f, 9.0f - 1.0f) / pow(2.0f, 9.0f)) * pow(2.0f, 31.f - 15.f); + vec3 const Color = clamp(v, 0.0f, SharedExpMax); + float const MaxColor = max(Color.x, max(Color.y, Color.z)); + + float const ExpSharedP = max(-15.f - 1.f, floor(log2(MaxColor))) + 1.0f + 15.f; + float const MaxShared = floor(MaxColor / pow(2.0f, (ExpSharedP - 15.f - 9.f)) + 0.5f); + float const ExpShared = equal(MaxShared, pow(2.0f, 9.0f), epsilon()) ? ExpSharedP + 1.0f : ExpSharedP; + + uvec3 const ColorComp(floor(Color / pow(2.f, (ExpShared - 15.f - 9.f)) + 0.5f)); + + detail::u9u9u9e5 Unpack; + Unpack.data.x = ColorComp.x; + Unpack.data.y = ColorComp.y; + Unpack.data.z = ColorComp.z; + Unpack.data.w = uint(ExpShared); + return Unpack.pack; + } + + GLM_FUNC_QUALIFIER vec3 unpackF3x9_E1x5(uint32 v) + { + detail::u9u9u9e5 Unpack; + Unpack.pack = v; + + return vec3(Unpack.data.x, Unpack.data.y, Unpack.data.z) * pow(2.0f, Unpack.data.w - 15.f - 9.f); + } + + // Based on Brian Karis http://graphicrants.blogspot.fr/2009/04/rgbm-color-encoding.html + template + GLM_FUNC_QUALIFIER vec<4, T, Q> packRGBM(vec<3, T, Q> const& rgb) + { + vec<3, T, Q> const Color(rgb * static_cast(1.0 / 6.0)); + T Alpha = clamp(max(max(Color.x, Color.y), max(Color.z, static_cast(1e-6))), static_cast(0), static_cast(1)); + Alpha = ceil(Alpha * static_cast(255.0)) / static_cast(255.0); + return vec<4, T, Q>(Color / Alpha, Alpha); + } + + template + GLM_FUNC_QUALIFIER vec<3, T, Q> unpackRGBM(vec<4, T, Q> const& rgbm) + { + return vec<3, T, Q>(rgbm.x, rgbm.y, rgbm.z) * rgbm.w * static_cast(6); + } + + template + GLM_FUNC_QUALIFIER vec packHalf(vec const& v) + { + return detail::compute_half::pack(v); + } + + template + GLM_FUNC_QUALIFIER vec unpackHalf(vec const& v) + { + return detail::compute_half::unpack(v); + } + + template + GLM_FUNC_QUALIFIER vec packUnorm(vec const& v) + { + GLM_STATIC_ASSERT(std::numeric_limits::is_integer, "uintType must be an integer type"); + GLM_STATIC_ASSERT(std::numeric_limits::is_iec559, "floatType must be a floating point type"); + + return vec(round(clamp(v, static_cast(0), static_cast(1)) * static_cast(std::numeric_limits::max()))); + } + + template + GLM_FUNC_QUALIFIER vec unpackUnorm(vec const& v) + { + GLM_STATIC_ASSERT(std::numeric_limits::is_integer, "uintType must be an integer type"); + GLM_STATIC_ASSERT(std::numeric_limits::is_iec559, "floatType must be a floating point type"); + + return vec(v) * (static_cast(1) / static_cast(std::numeric_limits::max())); + } + + template + GLM_FUNC_QUALIFIER vec packSnorm(vec const& v) + { + GLM_STATIC_ASSERT(std::numeric_limits::is_integer, "uintType must be an integer type"); + GLM_STATIC_ASSERT(std::numeric_limits::is_iec559, "floatType must be a floating point type"); + + return vec(round(clamp(v , static_cast(-1), static_cast(1)) * static_cast(std::numeric_limits::max()))); + } + + template + GLM_FUNC_QUALIFIER vec unpackSnorm(vec const& v) + { + GLM_STATIC_ASSERT(std::numeric_limits::is_integer, "uintType must be an integer type"); + GLM_STATIC_ASSERT(std::numeric_limits::is_iec559, "floatType must be a floating point type"); + + return clamp(vec(v) * (static_cast(1) / static_cast(std::numeric_limits::max())), static_cast(-1), static_cast(1)); + } + + GLM_FUNC_QUALIFIER uint8 packUnorm2x4(vec2 const& v) + { + u32vec2 const Unpack(round(clamp(v, 0.0f, 1.0f) * 15.0f)); + detail::u4u4 Result; + Result.data.x = Unpack.x; + Result.data.y = Unpack.y; + return Result.pack; + } + + GLM_FUNC_QUALIFIER vec2 unpackUnorm2x4(uint8 v) + { + float const ScaleFactor(1.f / 15.f); + detail::u4u4 Unpack; + Unpack.pack = v; + return vec2(Unpack.data.x, Unpack.data.y) * ScaleFactor; + } + + GLM_FUNC_QUALIFIER uint16 packUnorm4x4(vec4 const& v) + { + u32vec4 const Unpack(round(clamp(v, 0.0f, 1.0f) * 15.0f)); + detail::u4u4u4u4 Result; + Result.data.x = Unpack.x; + Result.data.y = Unpack.y; + Result.data.z = Unpack.z; + Result.data.w = Unpack.w; + return Result.pack; + } + + GLM_FUNC_QUALIFIER vec4 unpackUnorm4x4(uint16 v) + { + float const ScaleFactor(1.f / 15.f); + detail::u4u4u4u4 Unpack; + Unpack.pack = v; + return vec4(Unpack.data.x, Unpack.data.y, Unpack.data.z, Unpack.data.w) * ScaleFactor; + } + + GLM_FUNC_QUALIFIER uint16 packUnorm1x5_1x6_1x5(vec3 const& v) + { + u32vec3 const Unpack(round(clamp(v, 0.0f, 1.0f) * vec3(31.f, 63.f, 31.f))); + detail::u5u6u5 Result; + Result.data.x = Unpack.x; + Result.data.y = Unpack.y; + Result.data.z = Unpack.z; + return Result.pack; + } + + GLM_FUNC_QUALIFIER vec3 unpackUnorm1x5_1x6_1x5(uint16 v) + { + vec3 const ScaleFactor(1.f / 31.f, 1.f / 63.f, 1.f / 31.f); + detail::u5u6u5 Unpack; + Unpack.pack = v; + return vec3(Unpack.data.x, Unpack.data.y, Unpack.data.z) * ScaleFactor; + } + + GLM_FUNC_QUALIFIER uint16 packUnorm3x5_1x1(vec4 const& v) + { + u32vec4 const Unpack(round(clamp(v, 0.0f, 1.0f) * vec4(31.f, 31.f, 31.f, 1.f))); + detail::u5u5u5u1 Result; + Result.data.x = Unpack.x; + Result.data.y = Unpack.y; + Result.data.z = Unpack.z; + Result.data.w = Unpack.w; + return Result.pack; + } + + GLM_FUNC_QUALIFIER vec4 unpackUnorm3x5_1x1(uint16 v) + { + vec4 const ScaleFactor(1.f / 31.f, 1.f / 31.f, 1.f / 31.f, 1.f); + detail::u5u5u5u1 Unpack; + Unpack.pack = v; + return vec4(Unpack.data.x, Unpack.data.y, Unpack.data.z, Unpack.data.w) * ScaleFactor; + } + + GLM_FUNC_QUALIFIER uint8 packUnorm2x3_1x2(vec3 const& v) + { + u32vec3 const Unpack(round(clamp(v, 0.0f, 1.0f) * vec3(7.f, 7.f, 3.f))); + detail::u3u3u2 Result; + Result.data.x = Unpack.x; + Result.data.y = Unpack.y; + Result.data.z = Unpack.z; + return Result.pack; + } + + GLM_FUNC_QUALIFIER vec3 unpackUnorm2x3_1x2(uint8 v) + { + vec3 const ScaleFactor(1.f / 7.f, 1.f / 7.f, 1.f / 3.f); + detail::u3u3u2 Unpack; + Unpack.pack = v; + return vec3(Unpack.data.x, Unpack.data.y, Unpack.data.z) * ScaleFactor; + } + + GLM_FUNC_QUALIFIER int16 packInt2x8(i8vec2 const& v) + { + int16 Pack = 0; + memcpy(&Pack, &v, sizeof(Pack)); + return Pack; + } + + GLM_FUNC_QUALIFIER i8vec2 unpackInt2x8(int16 p) + { + i8vec2 Unpack; + memcpy(&Unpack, &p, sizeof(Unpack)); + return Unpack; + } + + GLM_FUNC_QUALIFIER uint16 packUint2x8(u8vec2 const& v) + { + uint16 Pack = 0; + memcpy(&Pack, &v, sizeof(Pack)); + return Pack; + } + + GLM_FUNC_QUALIFIER u8vec2 unpackUint2x8(uint16 p) + { + u8vec2 Unpack; + memcpy(&Unpack, &p, sizeof(Unpack)); + return Unpack; + } + + GLM_FUNC_QUALIFIER int32 packInt4x8(i8vec4 const& v) + { + int32 Pack = 0; + memcpy(&Pack, &v, sizeof(Pack)); + return Pack; + } + + GLM_FUNC_QUALIFIER i8vec4 unpackInt4x8(int32 p) + { + i8vec4 Unpack; + memcpy(&Unpack, &p, sizeof(Unpack)); + return Unpack; + } + + GLM_FUNC_QUALIFIER uint32 packUint4x8(u8vec4 const& v) + { + uint32 Pack = 0; + memcpy(&Pack, &v, sizeof(Pack)); + return Pack; + } + + GLM_FUNC_QUALIFIER u8vec4 unpackUint4x8(uint32 p) + { + u8vec4 Unpack; + memcpy(&Unpack, &p, sizeof(Unpack)); + return Unpack; + } + + GLM_FUNC_QUALIFIER int packInt2x16(i16vec2 const& v) + { + int Pack = 0; + memcpy(&Pack, &v, sizeof(Pack)); + return Pack; + } + + GLM_FUNC_QUALIFIER i16vec2 unpackInt2x16(int p) + { + i16vec2 Unpack; + memcpy(&Unpack, &p, sizeof(Unpack)); + return Unpack; + } + + GLM_FUNC_QUALIFIER int64 packInt4x16(i16vec4 const& v) + { + int64 Pack = 0; + memcpy(&Pack, &v, sizeof(Pack)); + return Pack; + } + + GLM_FUNC_QUALIFIER i16vec4 unpackInt4x16(int64 p) + { + i16vec4 Unpack; + memcpy(&Unpack, &p, sizeof(Unpack)); + return Unpack; + } + + GLM_FUNC_QUALIFIER uint packUint2x16(u16vec2 const& v) + { + uint Pack = 0; + memcpy(&Pack, &v, sizeof(Pack)); + return Pack; + } + + GLM_FUNC_QUALIFIER u16vec2 unpackUint2x16(uint p) + { + u16vec2 Unpack; + memcpy(&Unpack, &p, sizeof(Unpack)); + return Unpack; + } + + GLM_FUNC_QUALIFIER uint64 packUint4x16(u16vec4 const& v) + { + uint64 Pack = 0; + memcpy(&Pack, &v, sizeof(Pack)); + return Pack; + } + + GLM_FUNC_QUALIFIER u16vec4 unpackUint4x16(uint64 p) + { + u16vec4 Unpack; + memcpy(&Unpack, &p, sizeof(Unpack)); + return Unpack; + } + + GLM_FUNC_QUALIFIER int64 packInt2x32(i32vec2 const& v) + { + int64 Pack = 0; + memcpy(&Pack, &v, sizeof(Pack)); + return Pack; + } + + GLM_FUNC_QUALIFIER i32vec2 unpackInt2x32(int64 p) + { + i32vec2 Unpack; + memcpy(&Unpack, &p, sizeof(Unpack)); + return Unpack; + } + + GLM_FUNC_QUALIFIER uint64 packUint2x32(u32vec2 const& v) + { + uint64 Pack = 0; + memcpy(&Pack, &v, sizeof(Pack)); + return Pack; + } + + GLM_FUNC_QUALIFIER u32vec2 unpackUint2x32(uint64 p) + { + u32vec2 Unpack; + memcpy(&Unpack, &p, sizeof(Unpack)); + return Unpack; + } +}//namespace glm + diff --git a/MacroLibX/third_party/glm/gtc/quaternion.hpp b/MacroLibX/third_party/glm/gtc/quaternion.hpp new file mode 100644 index 0000000..359e072 --- /dev/null +++ b/MacroLibX/third_party/glm/gtc/quaternion.hpp @@ -0,0 +1,173 @@ +/// @ref gtc_quaternion +/// @file glm/gtc/quaternion.hpp +/// +/// @see core (dependence) +/// @see gtc_constants (dependence) +/// +/// @defgroup gtc_quaternion GLM_GTC_quaternion +/// @ingroup gtc +/// +/// Include to use the features of this extension. +/// +/// Defines a templated quaternion type and several quaternion operations. + +#pragma once + +// Dependency: +#include "../gtc/constants.hpp" +#include "../gtc/matrix_transform.hpp" +#include "../ext/vector_relational.hpp" +#include "../ext/quaternion_common.hpp" +#include "../ext/quaternion_float.hpp" +#include "../ext/quaternion_float_precision.hpp" +#include "../ext/quaternion_double.hpp" +#include "../ext/quaternion_double_precision.hpp" +#include "../ext/quaternion_relational.hpp" +#include "../ext/quaternion_geometric.hpp" +#include "../ext/quaternion_trigonometric.hpp" +#include "../ext/quaternion_transform.hpp" +#include "../detail/type_mat3x3.hpp" +#include "../detail/type_mat4x4.hpp" +#include "../detail/type_vec3.hpp" +#include "../detail/type_vec4.hpp" + +#if GLM_MESSAGES == GLM_ENABLE && !defined(GLM_EXT_INCLUDED) +# pragma message("GLM: GLM_GTC_quaternion extension included") +#endif + +namespace glm +{ + /// @addtogroup gtc_quaternion + /// @{ + + /// Returns euler angles, pitch as x, yaw as y, roll as z. + /// The result is expressed in radians. + /// + /// @tparam T Floating-point scalar types. + /// + /// @see gtc_quaternion + template + GLM_FUNC_DECL vec<3, T, Q> eulerAngles(qua const& x); + + /// Returns roll value of euler angles expressed in radians. + /// + /// @tparam T Floating-point scalar types. + /// + /// @see gtc_quaternion + template + GLM_FUNC_DECL T roll(qua const& x); + + /// Returns pitch value of euler angles expressed in radians. + /// + /// @tparam T Floating-point scalar types. + /// + /// @see gtc_quaternion + template + GLM_FUNC_DECL T pitch(qua const& x); + + /// Returns yaw value of euler angles expressed in radians. + /// + /// @tparam T Floating-point scalar types. + /// + /// @see gtc_quaternion + template + GLM_FUNC_DECL T yaw(qua const& x); + + /// Converts a quaternion to a 3 * 3 matrix. + /// + /// @tparam T Floating-point scalar types. + /// + /// @see gtc_quaternion + template + GLM_FUNC_DECL mat<3, 3, T, Q> mat3_cast(qua const& x); + + /// Converts a quaternion to a 4 * 4 matrix. + /// + /// @tparam T Floating-point scalar types. + /// + /// @see gtc_quaternion + template + GLM_FUNC_DECL mat<4, 4, T, Q> mat4_cast(qua const& x); + + /// Converts a pure rotation 3 * 3 matrix to a quaternion. + /// + /// @tparam T Floating-point scalar types. + /// + /// @see gtc_quaternion + template + GLM_FUNC_DECL qua quat_cast(mat<3, 3, T, Q> const& x); + + /// Converts a pure rotation 4 * 4 matrix to a quaternion. + /// + /// @tparam T Floating-point scalar types. + /// + /// @see gtc_quaternion + template + GLM_FUNC_DECL qua quat_cast(mat<4, 4, T, Q> const& x); + + /// Returns the component-wise comparison result of x < y. + /// + /// @tparam T Floating-point scalar types + /// @tparam Q Value from qualifier enum + /// + /// @see ext_quaternion_relational + template + GLM_FUNC_DECL vec<4, bool, Q> lessThan(qua const& x, qua const& y); + + /// Returns the component-wise comparison of result x <= y. + /// + /// @tparam T Floating-point scalar types + /// @tparam Q Value from qualifier enum + /// + /// @see ext_quaternion_relational + template + GLM_FUNC_DECL vec<4, bool, Q> lessThanEqual(qua const& x, qua const& y); + + /// Returns the component-wise comparison of result x > y. + /// + /// @tparam T Floating-point scalar types + /// @tparam Q Value from qualifier enum + /// + /// @see ext_quaternion_relational + template + GLM_FUNC_DECL vec<4, bool, Q> greaterThan(qua const& x, qua const& y); + + /// Returns the component-wise comparison of result x >= y. + /// + /// @tparam T Floating-point scalar types + /// @tparam Q Value from qualifier enum + /// + /// @see ext_quaternion_relational + template + GLM_FUNC_DECL vec<4, bool, Q> greaterThanEqual(qua const& x, qua const& y); + + /// Build a look at quaternion based on the default handedness. + /// + /// @param direction Desired forward direction. Needs to be normalized. + /// @param up Up vector, how the camera is oriented. Typically (0, 1, 0). + template + GLM_FUNC_DECL qua quatLookAt( + vec<3, T, Q> const& direction, + vec<3, T, Q> const& up); + + /// Build a right-handed look at quaternion. + /// + /// @param direction Desired forward direction onto which the -z-axis gets mapped. Needs to be normalized. + /// @param up Up vector, how the camera is oriented. Typically (0, 1, 0). + template + GLM_FUNC_DECL qua quatLookAtRH( + vec<3, T, Q> const& direction, + vec<3, T, Q> const& up); + + /// Build a left-handed look at quaternion. + /// + /// @param direction Desired forward direction onto which the +z-axis gets mapped. Needs to be normalized. + /// @param up Up vector, how the camera is oriented. Typically (0, 1, 0). + template + GLM_FUNC_DECL qua quatLookAtLH( + vec<3, T, Q> const& direction, + vec<3, T, Q> const& up); + /// @} +} //namespace glm + +#include "quaternion.inl" diff --git a/MacroLibX/third_party/glm/gtc/quaternion.inl b/MacroLibX/third_party/glm/gtc/quaternion.inl new file mode 100644 index 0000000..9dd037e --- /dev/null +++ b/MacroLibX/third_party/glm/gtc/quaternion.inl @@ -0,0 +1,200 @@ +#include "../trigonometric.hpp" +#include "../geometric.hpp" +#include "../exponential.hpp" +#include "epsilon.hpp" +#include + +namespace glm +{ + template + GLM_FUNC_QUALIFIER vec<3, T, Q> eulerAngles(qua const& x) + { + return vec<3, T, Q>(pitch(x), yaw(x), roll(x)); + } + + template + GLM_FUNC_QUALIFIER T roll(qua const& q) + { + return static_cast(atan(static_cast(2) * (q.x * q.y + q.w * q.z), q.w * q.w + q.x * q.x - q.y * q.y - q.z * q.z)); + } + + template + GLM_FUNC_QUALIFIER T pitch(qua const& q) + { + //return T(atan(T(2) * (q.y * q.z + q.w * q.x), q.w * q.w - q.x * q.x - q.y * q.y + q.z * q.z)); + T const y = static_cast(2) * (q.y * q.z + q.w * q.x); + T const x = q.w * q.w - q.x * q.x - q.y * q.y + q.z * q.z; + + if(all(equal(vec<2, T, Q>(x, y), vec<2, T, Q>(0), epsilon()))) //avoid atan2(0,0) - handle singularity - Matiis + return static_cast(static_cast(2) * atan(q.x, q.w)); + + return static_cast(atan(y, x)); + } + + template + GLM_FUNC_QUALIFIER T yaw(qua const& q) + { + return asin(clamp(static_cast(-2) * (q.x * q.z - q.w * q.y), static_cast(-1), static_cast(1))); + } + + template + GLM_FUNC_QUALIFIER mat<3, 3, T, Q> mat3_cast(qua const& q) + { + mat<3, 3, T, Q> Result(T(1)); + T qxx(q.x * q.x); + T qyy(q.y * q.y); + T qzz(q.z * q.z); + T qxz(q.x * q.z); + T qxy(q.x * q.y); + T qyz(q.y * q.z); + T qwx(q.w * q.x); + T qwy(q.w * q.y); + T qwz(q.w * q.z); + + Result[0][0] = T(1) - T(2) * (qyy + qzz); + Result[0][1] = T(2) * (qxy + qwz); + Result[0][2] = T(2) * (qxz - qwy); + + Result[1][0] = T(2) * (qxy - qwz); + Result[1][1] = T(1) - T(2) * (qxx + qzz); + Result[1][2] = T(2) * (qyz + qwx); + + Result[2][0] = T(2) * (qxz + qwy); + Result[2][1] = T(2) * (qyz - qwx); + Result[2][2] = T(1) - T(2) * (qxx + qyy); + return Result; + } + + template + GLM_FUNC_QUALIFIER mat<4, 4, T, Q> mat4_cast(qua const& q) + { + return mat<4, 4, T, Q>(mat3_cast(q)); + } + + template + GLM_FUNC_QUALIFIER qua quat_cast(mat<3, 3, T, Q> const& m) + { + T fourXSquaredMinus1 = m[0][0] - m[1][1] - m[2][2]; + T fourYSquaredMinus1 = m[1][1] - m[0][0] - m[2][2]; + T fourZSquaredMinus1 = m[2][2] - m[0][0] - m[1][1]; + T fourWSquaredMinus1 = m[0][0] + m[1][1] + m[2][2]; + + int biggestIndex = 0; + T fourBiggestSquaredMinus1 = fourWSquaredMinus1; + if(fourXSquaredMinus1 > fourBiggestSquaredMinus1) + { + fourBiggestSquaredMinus1 = fourXSquaredMinus1; + biggestIndex = 1; + } + if(fourYSquaredMinus1 > fourBiggestSquaredMinus1) + { + fourBiggestSquaredMinus1 = fourYSquaredMinus1; + biggestIndex = 2; + } + if(fourZSquaredMinus1 > fourBiggestSquaredMinus1) + { + fourBiggestSquaredMinus1 = fourZSquaredMinus1; + biggestIndex = 3; + } + + T biggestVal = sqrt(fourBiggestSquaredMinus1 + static_cast(1)) * static_cast(0.5); + T mult = static_cast(0.25) / biggestVal; + + switch(biggestIndex) + { + case 0: + return qua(biggestVal, (m[1][2] - m[2][1]) * mult, (m[2][0] - m[0][2]) * mult, (m[0][1] - m[1][0]) * mult); + case 1: + return qua((m[1][2] - m[2][1]) * mult, biggestVal, (m[0][1] + m[1][0]) * mult, (m[2][0] + m[0][2]) * mult); + case 2: + return qua((m[2][0] - m[0][2]) * mult, (m[0][1] + m[1][0]) * mult, biggestVal, (m[1][2] + m[2][1]) * mult); + case 3: + return qua((m[0][1] - m[1][0]) * mult, (m[2][0] + m[0][2]) * mult, (m[1][2] + m[2][1]) * mult, biggestVal); + default: // Silence a -Wswitch-default warning in GCC. Should never actually get here. Assert is just for sanity. + assert(false); + return qua(1, 0, 0, 0); + } + } + + template + GLM_FUNC_QUALIFIER qua quat_cast(mat<4, 4, T, Q> const& m4) + { + return quat_cast(mat<3, 3, T, Q>(m4)); + } + + template + GLM_FUNC_QUALIFIER vec<4, bool, Q> lessThan(qua const& x, qua const& y) + { + vec<4, bool, Q> Result; + for(length_t i = 0; i < x.length(); ++i) + Result[i] = x[i] < y[i]; + return Result; + } + + template + GLM_FUNC_QUALIFIER vec<4, bool, Q> lessThanEqual(qua const& x, qua const& y) + { + vec<4, bool, Q> Result; + for(length_t i = 0; i < x.length(); ++i) + Result[i] = x[i] <= y[i]; + return Result; + } + + template + GLM_FUNC_QUALIFIER vec<4, bool, Q> greaterThan(qua const& x, qua const& y) + { + vec<4, bool, Q> Result; + for(length_t i = 0; i < x.length(); ++i) + Result[i] = x[i] > y[i]; + return Result; + } + + template + GLM_FUNC_QUALIFIER vec<4, bool, Q> greaterThanEqual(qua const& x, qua const& y) + { + vec<4, bool, Q> Result; + for(length_t i = 0; i < x.length(); ++i) + Result[i] = x[i] >= y[i]; + return Result; + } + + + template + GLM_FUNC_QUALIFIER qua quatLookAt(vec<3, T, Q> const& direction, vec<3, T, Q> const& up) + { +# if GLM_CONFIG_CLIP_CONTROL & GLM_CLIP_CONTROL_LH_BIT + return quatLookAtLH(direction, up); +# else + return quatLookAtRH(direction, up); +# endif + } + + template + GLM_FUNC_QUALIFIER qua quatLookAtRH(vec<3, T, Q> const& direction, vec<3, T, Q> const& up) + { + mat<3, 3, T, Q> Result; + + Result[2] = -direction; + Result[0] = normalize(cross(up, Result[2])); + Result[1] = cross(Result[2], Result[0]); + + return quat_cast(Result); + } + + template + GLM_FUNC_QUALIFIER qua quatLookAtLH(vec<3, T, Q> const& direction, vec<3, T, Q> const& up) + { + mat<3, 3, T, Q> Result; + + Result[2] = direction; + Result[0] = normalize(cross(up, Result[2])); + Result[1] = cross(Result[2], Result[0]); + + return quat_cast(Result); + } +}//namespace glm + +#if GLM_CONFIG_SIMD == GLM_ENABLE +# include "quaternion_simd.inl" +#endif + diff --git a/MacroLibX/third_party/glm/gtc/quaternion_simd.inl b/MacroLibX/third_party/glm/gtc/quaternion_simd.inl new file mode 100644 index 0000000..e69de29 diff --git a/MacroLibX/third_party/glm/gtc/random.hpp b/MacroLibX/third_party/glm/gtc/random.hpp new file mode 100644 index 0000000..9a85958 --- /dev/null +++ b/MacroLibX/third_party/glm/gtc/random.hpp @@ -0,0 +1,82 @@ +/// @ref gtc_random +/// @file glm/gtc/random.hpp +/// +/// @see core (dependence) +/// @see gtx_random (extended) +/// +/// @defgroup gtc_random GLM_GTC_random +/// @ingroup gtc +/// +/// Include to use the features of this extension. +/// +/// Generate random number from various distribution methods. + +#pragma once + +// Dependency: +#include "../ext/scalar_int_sized.hpp" +#include "../ext/scalar_uint_sized.hpp" +#include "../detail/qualifier.hpp" + +#if GLM_MESSAGES == GLM_ENABLE && !defined(GLM_EXT_INCLUDED) +# pragma message("GLM: GLM_GTC_random extension included") +#endif + +namespace glm +{ + /// @addtogroup gtc_random + /// @{ + + /// Generate random numbers in the interval [Min, Max], according a linear distribution + /// + /// @param Min Minimum value included in the sampling + /// @param Max Maximum value included in the sampling + /// @tparam genType Value type. Currently supported: float or double scalars. + /// @see gtc_random + template + GLM_FUNC_DECL genType linearRand(genType Min, genType Max); + + /// Generate random numbers in the interval [Min, Max], according a linear distribution + /// + /// @param Min Minimum value included in the sampling + /// @param Max Maximum value included in the sampling + /// @tparam T Value type. Currently supported: float or double. + /// + /// @see gtc_random + template + GLM_FUNC_DECL vec linearRand(vec const& Min, vec const& Max); + + /// Generate random numbers in the interval [Min, Max], according a gaussian distribution + /// + /// @see gtc_random + template + GLM_FUNC_DECL genType gaussRand(genType Mean, genType Deviation); + + /// Generate a random 2D vector which coordinates are regulary distributed on a circle of a given radius + /// + /// @see gtc_random + template + GLM_FUNC_DECL vec<2, T, defaultp> circularRand(T Radius); + + /// Generate a random 3D vector which coordinates are regulary distributed on a sphere of a given radius + /// + /// @see gtc_random + template + GLM_FUNC_DECL vec<3, T, defaultp> sphericalRand(T Radius); + + /// Generate a random 2D vector which coordinates are regulary distributed within the area of a disk of a given radius + /// + /// @see gtc_random + template + GLM_FUNC_DECL vec<2, T, defaultp> diskRand(T Radius); + + /// Generate a random 3D vector which coordinates are regulary distributed within the volume of a ball of a given radius + /// + /// @see gtc_random + template + GLM_FUNC_DECL vec<3, T, defaultp> ballRand(T Radius); + + /// @} +}//namespace glm + +#include "random.inl" diff --git a/MacroLibX/third_party/glm/gtc/random.inl b/MacroLibX/third_party/glm/gtc/random.inl new file mode 100644 index 0000000..7048509 --- /dev/null +++ b/MacroLibX/third_party/glm/gtc/random.inl @@ -0,0 +1,303 @@ +#include "../geometric.hpp" +#include "../exponential.hpp" +#include "../trigonometric.hpp" +#include "../detail/type_vec1.hpp" +#include +#include +#include +#include + +namespace glm{ +namespace detail +{ + template + struct compute_rand + { + GLM_FUNC_QUALIFIER static vec call(); + }; + + template + struct compute_rand<1, uint8, P> + { + GLM_FUNC_QUALIFIER static vec<1, uint8, P> call() + { + return vec<1, uint8, P>( + std::rand() % std::numeric_limits::max()); + } + }; + + template + struct compute_rand<2, uint8, P> + { + GLM_FUNC_QUALIFIER static vec<2, uint8, P> call() + { + return vec<2, uint8, P>( + std::rand() % std::numeric_limits::max(), + std::rand() % std::numeric_limits::max()); + } + }; + + template + struct compute_rand<3, uint8, P> + { + GLM_FUNC_QUALIFIER static vec<3, uint8, P> call() + { + return vec<3, uint8, P>( + std::rand() % std::numeric_limits::max(), + std::rand() % std::numeric_limits::max(), + std::rand() % std::numeric_limits::max()); + } + }; + + template + struct compute_rand<4, uint8, P> + { + GLM_FUNC_QUALIFIER static vec<4, uint8, P> call() + { + return vec<4, uint8, P>( + std::rand() % std::numeric_limits::max(), + std::rand() % std::numeric_limits::max(), + std::rand() % std::numeric_limits::max(), + std::rand() % std::numeric_limits::max()); + } + }; + + template + struct compute_rand + { + GLM_FUNC_QUALIFIER static vec call() + { + return + (vec(compute_rand::call()) << static_cast(8)) | + (vec(compute_rand::call()) << static_cast(0)); + } + }; + + template + struct compute_rand + { + GLM_FUNC_QUALIFIER static vec call() + { + return + (vec(compute_rand::call()) << static_cast(16)) | + (vec(compute_rand::call()) << static_cast(0)); + } + }; + + template + struct compute_rand + { + GLM_FUNC_QUALIFIER static vec call() + { + return + (vec(compute_rand::call()) << static_cast(32)) | + (vec(compute_rand::call()) << static_cast(0)); + } + }; + + template + struct compute_linearRand + { + GLM_FUNC_QUALIFIER static vec call(vec const& Min, vec const& Max); + }; + + template + struct compute_linearRand + { + GLM_FUNC_QUALIFIER static vec call(vec const& Min, vec const& Max) + { + return (vec(compute_rand::call() % vec(Max + static_cast(1) - Min))) + Min; + } + }; + + template + struct compute_linearRand + { + GLM_FUNC_QUALIFIER static vec call(vec const& Min, vec const& Max) + { + return (compute_rand::call() % (Max + static_cast(1) - Min)) + Min; + } + }; + + template + struct compute_linearRand + { + GLM_FUNC_QUALIFIER static vec call(vec const& Min, vec const& Max) + { + return (vec(compute_rand::call() % vec(Max + static_cast(1) - Min))) + Min; + } + }; + + template + struct compute_linearRand + { + GLM_FUNC_QUALIFIER static vec call(vec const& Min, vec const& Max) + { + return (compute_rand::call() % (Max + static_cast(1) - Min)) + Min; + } + }; + + template + struct compute_linearRand + { + GLM_FUNC_QUALIFIER static vec call(vec const& Min, vec const& Max) + { + return (vec(compute_rand::call() % vec(Max + static_cast(1) - Min))) + Min; + } + }; + + template + struct compute_linearRand + { + GLM_FUNC_QUALIFIER static vec call(vec const& Min, vec const& Max) + { + return (compute_rand::call() % (Max + static_cast(1) - Min)) + Min; + } + }; + + template + struct compute_linearRand + { + GLM_FUNC_QUALIFIER static vec call(vec const& Min, vec const& Max) + { + return (vec(compute_rand::call() % vec(Max + static_cast(1) - Min))) + Min; + } + }; + + template + struct compute_linearRand + { + GLM_FUNC_QUALIFIER static vec call(vec const& Min, vec const& Max) + { + return (compute_rand::call() % (Max + static_cast(1) - Min)) + Min; + } + }; + + template + struct compute_linearRand + { + GLM_FUNC_QUALIFIER static vec call(vec const& Min, vec const& Max) + { + return vec(compute_rand::call()) / static_cast(std::numeric_limits::max()) * (Max - Min) + Min; + } + }; + + template + struct compute_linearRand + { + GLM_FUNC_QUALIFIER static vec call(vec const& Min, vec const& Max) + { + return vec(compute_rand::call()) / static_cast(std::numeric_limits::max()) * (Max - Min) + Min; + } + }; + + template + struct compute_linearRand + { + GLM_FUNC_QUALIFIER static vec call(vec const& Min, vec const& Max) + { + return vec(compute_rand::call()) / static_cast(std::numeric_limits::max()) * (Max - Min) + Min; + } + }; +}//namespace detail + + template + GLM_FUNC_QUALIFIER genType linearRand(genType Min, genType Max) + { + return detail::compute_linearRand<1, genType, highp>::call( + vec<1, genType, highp>(Min), + vec<1, genType, highp>(Max)).x; + } + + template + GLM_FUNC_QUALIFIER vec linearRand(vec const& Min, vec const& Max) + { + return detail::compute_linearRand::call(Min, Max); + } + + template + GLM_FUNC_QUALIFIER genType gaussRand(genType Mean, genType Deviation) + { + genType w, x1, x2; + + do + { + x1 = linearRand(genType(-1), genType(1)); + x2 = linearRand(genType(-1), genType(1)); + + w = x1 * x1 + x2 * x2; + } while(w > genType(1)); + + return static_cast(x2 * Deviation * Deviation * sqrt((genType(-2) * log(w)) / w) + Mean); + } + + template + GLM_FUNC_QUALIFIER vec gaussRand(vec const& Mean, vec const& Deviation) + { + return detail::functor2::call(gaussRand, Mean, Deviation); + } + + template + GLM_FUNC_QUALIFIER vec<2, T, defaultp> diskRand(T Radius) + { + assert(Radius > static_cast(0)); + + vec<2, T, defaultp> Result(T(0)); + T LenRadius(T(0)); + + do + { + Result = linearRand( + vec<2, T, defaultp>(-Radius), + vec<2, T, defaultp>(Radius)); + LenRadius = length(Result); + } + while(LenRadius > Radius); + + return Result; + } + + template + GLM_FUNC_QUALIFIER vec<3, T, defaultp> ballRand(T Radius) + { + assert(Radius > static_cast(0)); + + vec<3, T, defaultp> Result(T(0)); + T LenRadius(T(0)); + + do + { + Result = linearRand( + vec<3, T, defaultp>(-Radius), + vec<3, T, defaultp>(Radius)); + LenRadius = length(Result); + } + while(LenRadius > Radius); + + return Result; + } + + template + GLM_FUNC_QUALIFIER vec<2, T, defaultp> circularRand(T Radius) + { + assert(Radius > static_cast(0)); + + T a = linearRand(T(0), static_cast(6.283185307179586476925286766559)); + return vec<2, T, defaultp>(glm::cos(a), glm::sin(a)) * Radius; + } + + template + GLM_FUNC_QUALIFIER vec<3, T, defaultp> sphericalRand(T Radius) + { + assert(Radius > static_cast(0)); + + T theta = linearRand(T(0), T(6.283185307179586476925286766559f)); + T phi = std::acos(linearRand(T(-1.0f), T(1.0f))); + + T x = std::sin(phi) * std::cos(theta); + T y = std::sin(phi) * std::sin(theta); + T z = std::cos(phi); + + return vec<3, T, defaultp>(x, y, z) * Radius; + } +}//namespace glm diff --git a/MacroLibX/third_party/glm/gtc/reciprocal.hpp b/MacroLibX/third_party/glm/gtc/reciprocal.hpp new file mode 100644 index 0000000..c7d1330 --- /dev/null +++ b/MacroLibX/third_party/glm/gtc/reciprocal.hpp @@ -0,0 +1,135 @@ +/// @ref gtc_reciprocal +/// @file glm/gtc/reciprocal.hpp +/// +/// @see core (dependence) +/// +/// @defgroup gtc_reciprocal GLM_GTC_reciprocal +/// @ingroup gtc +/// +/// Include to use the features of this extension. +/// +/// Define secant, cosecant and cotangent functions. + +#pragma once + +// Dependencies +#include "../detail/setup.hpp" + +#if GLM_MESSAGES == GLM_ENABLE && !defined(GLM_EXT_INCLUDED) +# pragma message("GLM: GLM_GTC_reciprocal extension included") +#endif + +namespace glm +{ + /// @addtogroup gtc_reciprocal + /// @{ + + /// Secant function. + /// hypotenuse / adjacent or 1 / cos(x) + /// + /// @tparam genType Floating-point scalar or vector types. + /// + /// @see gtc_reciprocal + template + GLM_FUNC_DECL genType sec(genType angle); + + /// Cosecant function. + /// hypotenuse / opposite or 1 / sin(x) + /// + /// @tparam genType Floating-point scalar or vector types. + /// + /// @see gtc_reciprocal + template + GLM_FUNC_DECL genType csc(genType angle); + + /// Cotangent function. + /// adjacent / opposite or 1 / tan(x) + /// + /// @tparam genType Floating-point scalar or vector types. + /// + /// @see gtc_reciprocal + template + GLM_FUNC_DECL genType cot(genType angle); + + /// Inverse secant function. + /// + /// @return Return an angle expressed in radians. + /// @tparam genType Floating-point scalar or vector types. + /// + /// @see gtc_reciprocal + template + GLM_FUNC_DECL genType asec(genType x); + + /// Inverse cosecant function. + /// + /// @return Return an angle expressed in radians. + /// @tparam genType Floating-point scalar or vector types. + /// + /// @see gtc_reciprocal + template + GLM_FUNC_DECL genType acsc(genType x); + + /// Inverse cotangent function. + /// + /// @return Return an angle expressed in radians. + /// @tparam genType Floating-point scalar or vector types. + /// + /// @see gtc_reciprocal + template + GLM_FUNC_DECL genType acot(genType x); + + /// Secant hyperbolic function. + /// + /// @tparam genType Floating-point scalar or vector types. + /// + /// @see gtc_reciprocal + template + GLM_FUNC_DECL genType sech(genType angle); + + /// Cosecant hyperbolic function. + /// + /// @tparam genType Floating-point scalar or vector types. + /// + /// @see gtc_reciprocal + template + GLM_FUNC_DECL genType csch(genType angle); + + /// Cotangent hyperbolic function. + /// + /// @tparam genType Floating-point scalar or vector types. + /// + /// @see gtc_reciprocal + template + GLM_FUNC_DECL genType coth(genType angle); + + /// Inverse secant hyperbolic function. + /// + /// @return Return an angle expressed in radians. + /// @tparam genType Floating-point scalar or vector types. + /// + /// @see gtc_reciprocal + template + GLM_FUNC_DECL genType asech(genType x); + + /// Inverse cosecant hyperbolic function. + /// + /// @return Return an angle expressed in radians. + /// @tparam genType Floating-point scalar or vector types. + /// + /// @see gtc_reciprocal + template + GLM_FUNC_DECL genType acsch(genType x); + + /// Inverse cotangent hyperbolic function. + /// + /// @return Return an angle expressed in radians. + /// @tparam genType Floating-point scalar or vector types. + /// + /// @see gtc_reciprocal + template + GLM_FUNC_DECL genType acoth(genType x); + + /// @} +}//namespace glm + +#include "reciprocal.inl" diff --git a/MacroLibX/third_party/glm/gtc/reciprocal.inl b/MacroLibX/third_party/glm/gtc/reciprocal.inl new file mode 100644 index 0000000..d88729e --- /dev/null +++ b/MacroLibX/third_party/glm/gtc/reciprocal.inl @@ -0,0 +1,191 @@ +/// @ref gtc_reciprocal + +#include "../trigonometric.hpp" +#include + +namespace glm +{ + // sec + template + GLM_FUNC_QUALIFIER genType sec(genType angle) + { + GLM_STATIC_ASSERT(std::numeric_limits::is_iec559, "'sec' only accept floating-point values"); + return genType(1) / glm::cos(angle); + } + + template + GLM_FUNC_QUALIFIER vec sec(vec const& x) + { + GLM_STATIC_ASSERT(std::numeric_limits::is_iec559, "'sec' only accept floating-point inputs"); + return detail::functor1::call(sec, x); + } + + // csc + template + GLM_FUNC_QUALIFIER genType csc(genType angle) + { + GLM_STATIC_ASSERT(std::numeric_limits::is_iec559, "'csc' only accept floating-point values"); + return genType(1) / glm::sin(angle); + } + + template + GLM_FUNC_QUALIFIER vec csc(vec const& x) + { + GLM_STATIC_ASSERT(std::numeric_limits::is_iec559, "'csc' only accept floating-point inputs"); + return detail::functor1::call(csc, x); + } + + // cot + template + GLM_FUNC_QUALIFIER genType cot(genType angle) + { + GLM_STATIC_ASSERT(std::numeric_limits::is_iec559, "'cot' only accept floating-point values"); + + genType const pi_over_2 = genType(3.1415926535897932384626433832795 / 2.0); + return glm::tan(pi_over_2 - angle); + } + + template + GLM_FUNC_QUALIFIER vec cot(vec const& x) + { + GLM_STATIC_ASSERT(std::numeric_limits::is_iec559, "'cot' only accept floating-point inputs"); + return detail::functor1::call(cot, x); + } + + // asec + template + GLM_FUNC_QUALIFIER genType asec(genType x) + { + GLM_STATIC_ASSERT(std::numeric_limits::is_iec559, "'asec' only accept floating-point values"); + return acos(genType(1) / x); + } + + template + GLM_FUNC_QUALIFIER vec asec(vec const& x) + { + GLM_STATIC_ASSERT(std::numeric_limits::is_iec559, "'asec' only accept floating-point inputs"); + return detail::functor1::call(asec, x); + } + + // acsc + template + GLM_FUNC_QUALIFIER genType acsc(genType x) + { + GLM_STATIC_ASSERT(std::numeric_limits::is_iec559, "'acsc' only accept floating-point values"); + return asin(genType(1) / x); + } + + template + GLM_FUNC_QUALIFIER vec acsc(vec const& x) + { + GLM_STATIC_ASSERT(std::numeric_limits::is_iec559, "'acsc' only accept floating-point inputs"); + return detail::functor1::call(acsc, x); + } + + // acot + template + GLM_FUNC_QUALIFIER genType acot(genType x) + { + GLM_STATIC_ASSERT(std::numeric_limits::is_iec559, "'acot' only accept floating-point values"); + + genType const pi_over_2 = genType(3.1415926535897932384626433832795 / 2.0); + return pi_over_2 - atan(x); + } + + template + GLM_FUNC_QUALIFIER vec acot(vec const& x) + { + GLM_STATIC_ASSERT(std::numeric_limits::is_iec559, "'acot' only accept floating-point inputs"); + return detail::functor1::call(acot, x); + } + + // sech + template + GLM_FUNC_QUALIFIER genType sech(genType angle) + { + GLM_STATIC_ASSERT(std::numeric_limits::is_iec559, "'sech' only accept floating-point values"); + return genType(1) / glm::cosh(angle); + } + + template + GLM_FUNC_QUALIFIER vec sech(vec const& x) + { + GLM_STATIC_ASSERT(std::numeric_limits::is_iec559, "'sech' only accept floating-point inputs"); + return detail::functor1::call(sech, x); + } + + // csch + template + GLM_FUNC_QUALIFIER genType csch(genType angle) + { + GLM_STATIC_ASSERT(std::numeric_limits::is_iec559, "'csch' only accept floating-point values"); + return genType(1) / glm::sinh(angle); + } + + template + GLM_FUNC_QUALIFIER vec csch(vec const& x) + { + GLM_STATIC_ASSERT(std::numeric_limits::is_iec559, "'csch' only accept floating-point inputs"); + return detail::functor1::call(csch, x); + } + + // coth + template + GLM_FUNC_QUALIFIER genType coth(genType angle) + { + GLM_STATIC_ASSERT(std::numeric_limits::is_iec559, "'coth' only accept floating-point values"); + return glm::cosh(angle) / glm::sinh(angle); + } + + template + GLM_FUNC_QUALIFIER vec coth(vec const& x) + { + GLM_STATIC_ASSERT(std::numeric_limits::is_iec559, "'coth' only accept floating-point inputs"); + return detail::functor1::call(coth, x); + } + + // asech + template + GLM_FUNC_QUALIFIER genType asech(genType x) + { + GLM_STATIC_ASSERT(std::numeric_limits::is_iec559, "'asech' only accept floating-point values"); + return acosh(genType(1) / x); + } + + template + GLM_FUNC_QUALIFIER vec asech(vec const& x) + { + GLM_STATIC_ASSERT(std::numeric_limits::is_iec559, "'asech' only accept floating-point inputs"); + return detail::functor1::call(asech, x); + } + + // acsch + template + GLM_FUNC_QUALIFIER genType acsch(genType x) + { + GLM_STATIC_ASSERT(std::numeric_limits::is_iec559, "'acsch' only accept floating-point values"); + return asinh(genType(1) / x); + } + + template + GLM_FUNC_QUALIFIER vec acsch(vec const& x) + { + GLM_STATIC_ASSERT(std::numeric_limits::is_iec559, "'acsch' only accept floating-point inputs"); + return detail::functor1::call(acsch, x); + } + + // acoth + template + GLM_FUNC_QUALIFIER genType acoth(genType x) + { + GLM_STATIC_ASSERT(std::numeric_limits::is_iec559, "'acoth' only accept floating-point values"); + return atanh(genType(1) / x); + } + + template + GLM_FUNC_QUALIFIER vec acoth(vec const& x) + { + GLM_STATIC_ASSERT(std::numeric_limits::is_iec559, "'acoth' only accept floating-point inputs"); + return detail::functor1::call(acoth, x); + } +}//namespace glm diff --git a/MacroLibX/third_party/glm/gtc/round.hpp b/MacroLibX/third_party/glm/gtc/round.hpp new file mode 100644 index 0000000..56edbbc --- /dev/null +++ b/MacroLibX/third_party/glm/gtc/round.hpp @@ -0,0 +1,160 @@ +/// @ref gtc_round +/// @file glm/gtc/round.hpp +/// +/// @see core (dependence) +/// @see gtc_round (dependence) +/// +/// @defgroup gtc_round GLM_GTC_round +/// @ingroup gtc +/// +/// Include to use the features of this extension. +/// +/// Rounding value to specific boundings + +#pragma once + +// Dependencies +#include "../detail/setup.hpp" +#include "../detail/qualifier.hpp" +#include "../detail/_vectorize.hpp" +#include "../vector_relational.hpp" +#include "../common.hpp" +#include + +#if GLM_MESSAGES == GLM_ENABLE && !defined(GLM_EXT_INCLUDED) +# pragma message("GLM: GLM_GTC_round extension included") +#endif + +namespace glm +{ + /// @addtogroup gtc_round + /// @{ + + /// Return the power of two number which value is just higher the input value, + /// round up to a power of two. + /// + /// @see gtc_round + template + GLM_FUNC_DECL genIUType ceilPowerOfTwo(genIUType v); + + /// Return the power of two number which value is just higher the input value, + /// round up to a power of two. + /// + /// @tparam L Integer between 1 and 4 included that qualify the dimension of the vector + /// @tparam T Floating-point or integer scalar types + /// @tparam Q Value from qualifier enum + /// + /// @see gtc_round + template + GLM_FUNC_DECL vec ceilPowerOfTwo(vec const& v); + + /// Return the power of two number which value is just lower the input value, + /// round down to a power of two. + /// + /// @see gtc_round + template + GLM_FUNC_DECL genIUType floorPowerOfTwo(genIUType v); + + /// Return the power of two number which value is just lower the input value, + /// round down to a power of two. + /// + /// @tparam L Integer between 1 and 4 included that qualify the dimension of the vector + /// @tparam T Floating-point or integer scalar types + /// @tparam Q Value from qualifier enum + /// + /// @see gtc_round + template + GLM_FUNC_DECL vec floorPowerOfTwo(vec const& v); + + /// Return the power of two number which value is the closet to the input value. + /// + /// @see gtc_round + template + GLM_FUNC_DECL genIUType roundPowerOfTwo(genIUType v); + + /// Return the power of two number which value is the closet to the input value. + /// + /// @tparam L Integer between 1 and 4 included that qualify the dimension of the vector + /// @tparam T Floating-point or integer scalar types + /// @tparam Q Value from qualifier enum + /// + /// @see gtc_round + template + GLM_FUNC_DECL vec roundPowerOfTwo(vec const& v); + + /// Higher multiple number of Source. + /// + /// @tparam genType Floating-point or integer scalar or vector types. + /// + /// @param v Source value to which is applied the function + /// @param Multiple Must be a null or positive value + /// + /// @see gtc_round + template + GLM_FUNC_DECL genType ceilMultiple(genType v, genType Multiple); + + /// Higher multiple number of Source. + /// + /// @tparam L Integer between 1 and 4 included that qualify the dimension of the vector + /// @tparam T Floating-point or integer scalar types + /// @tparam Q Value from qualifier enum + /// + /// @param v Source values to which is applied the function + /// @param Multiple Must be a null or positive value + /// + /// @see gtc_round + template + GLM_FUNC_DECL vec ceilMultiple(vec const& v, vec const& Multiple); + + /// Lower multiple number of Source. + /// + /// @tparam genType Floating-point or integer scalar or vector types. + /// + /// @param v Source value to which is applied the function + /// @param Multiple Must be a null or positive value + /// + /// @see gtc_round + template + GLM_FUNC_DECL genType floorMultiple(genType v, genType Multiple); + + /// Lower multiple number of Source. + /// + /// @tparam L Integer between 1 and 4 included that qualify the dimension of the vector + /// @tparam T Floating-point or integer scalar types + /// @tparam Q Value from qualifier enum + /// + /// @param v Source values to which is applied the function + /// @param Multiple Must be a null or positive value + /// + /// @see gtc_round + template + GLM_FUNC_DECL vec floorMultiple(vec const& v, vec const& Multiple); + + /// Lower multiple number of Source. + /// + /// @tparam genType Floating-point or integer scalar or vector types. + /// + /// @param v Source value to which is applied the function + /// @param Multiple Must be a null or positive value + /// + /// @see gtc_round + template + GLM_FUNC_DECL genType roundMultiple(genType v, genType Multiple); + + /// Lower multiple number of Source. + /// + /// @tparam L Integer between 1 and 4 included that qualify the dimension of the vector + /// @tparam T Floating-point or integer scalar types + /// @tparam Q Value from qualifier enum + /// + /// @param v Source values to which is applied the function + /// @param Multiple Must be a null or positive value + /// + /// @see gtc_round + template + GLM_FUNC_DECL vec roundMultiple(vec const& v, vec const& Multiple); + + /// @} +} //namespace glm + +#include "round.inl" diff --git a/MacroLibX/third_party/glm/gtc/round.inl b/MacroLibX/third_party/glm/gtc/round.inl new file mode 100644 index 0000000..48411e4 --- /dev/null +++ b/MacroLibX/third_party/glm/gtc/round.inl @@ -0,0 +1,155 @@ +/// @ref gtc_round + +#include "../integer.hpp" +#include "../ext/vector_integer.hpp" + +namespace glm{ +namespace detail +{ + template + struct compute_roundMultiple {}; + + template<> + struct compute_roundMultiple + { + template + GLM_FUNC_QUALIFIER static genType call(genType Source, genType Multiple) + { + if (Source >= genType(0)) + return Source - std::fmod(Source, Multiple); + else + { + genType Tmp = Source + genType(1); + return Tmp - std::fmod(Tmp, Multiple) - Multiple; + } + } + }; + + template<> + struct compute_roundMultiple + { + template + GLM_FUNC_QUALIFIER static genType call(genType Source, genType Multiple) + { + if (Source >= genType(0)) + return Source - Source % Multiple; + else + { + genType Tmp = Source + genType(1); + return Tmp - Tmp % Multiple - Multiple; + } + } + }; + + template<> + struct compute_roundMultiple + { + template + GLM_FUNC_QUALIFIER static genType call(genType Source, genType Multiple) + { + if (Source >= genType(0)) + return Source - Source % Multiple; + else + { + genType Tmp = Source + genType(1); + return Tmp - Tmp % Multiple - Multiple; + } + } + }; +}//namespace detail + + ////////////////// + // ceilPowerOfTwo + + template + GLM_FUNC_QUALIFIER genType ceilPowerOfTwo(genType value) + { + return detail::compute_ceilPowerOfTwo<1, genType, defaultp, std::numeric_limits::is_signed>::call(vec<1, genType, defaultp>(value)).x; + } + + template + GLM_FUNC_QUALIFIER vec ceilPowerOfTwo(vec const& v) + { + return detail::compute_ceilPowerOfTwo::is_signed>::call(v); + } + + /////////////////// + // floorPowerOfTwo + + template + GLM_FUNC_QUALIFIER genType floorPowerOfTwo(genType value) + { + return isPowerOfTwo(value) ? value : static_cast(1) << findMSB(value); + } + + template + GLM_FUNC_QUALIFIER vec floorPowerOfTwo(vec const& v) + { + return detail::functor1::call(floorPowerOfTwo, v); + } + + /////////////////// + // roundPowerOfTwo + + template + GLM_FUNC_QUALIFIER genIUType roundPowerOfTwo(genIUType value) + { + if(isPowerOfTwo(value)) + return value; + + genIUType const prev = static_cast(1) << findMSB(value); + genIUType const next = prev << static_cast(1); + return (next - value) < (value - prev) ? next : prev; + } + + template + GLM_FUNC_QUALIFIER vec roundPowerOfTwo(vec const& v) + { + return detail::functor1::call(roundPowerOfTwo, v); + } + + ////////////////////// + // ceilMultiple + + template + GLM_FUNC_QUALIFIER genType ceilMultiple(genType Source, genType Multiple) + { + return detail::compute_ceilMultiple::is_iec559, std::numeric_limits::is_signed>::call(Source, Multiple); + } + + template + GLM_FUNC_QUALIFIER vec ceilMultiple(vec const& Source, vec const& Multiple) + { + return detail::functor2::call(ceilMultiple, Source, Multiple); + } + + ////////////////////// + // floorMultiple + + template + GLM_FUNC_QUALIFIER genType floorMultiple(genType Source, genType Multiple) + { + return detail::compute_floorMultiple::is_iec559, std::numeric_limits::is_signed>::call(Source, Multiple); + } + + template + GLM_FUNC_QUALIFIER vec floorMultiple(vec const& Source, vec const& Multiple) + { + return detail::functor2::call(floorMultiple, Source, Multiple); + } + + ////////////////////// + // roundMultiple + + template + GLM_FUNC_QUALIFIER genType roundMultiple(genType Source, genType Multiple) + { + return detail::compute_roundMultiple::is_iec559, std::numeric_limits::is_signed>::call(Source, Multiple); + } + + template + GLM_FUNC_QUALIFIER vec roundMultiple(vec const& Source, vec const& Multiple) + { + return detail::functor2::call(roundMultiple, Source, Multiple); + } +}//namespace glm diff --git a/MacroLibX/third_party/glm/gtc/type_aligned.hpp b/MacroLibX/third_party/glm/gtc/type_aligned.hpp new file mode 100644 index 0000000..5403abf --- /dev/null +++ b/MacroLibX/third_party/glm/gtc/type_aligned.hpp @@ -0,0 +1,1315 @@ +/// @ref gtc_type_aligned +/// @file glm/gtc/type_aligned.hpp +/// +/// @see core (dependence) +/// +/// @defgroup gtc_type_aligned GLM_GTC_type_aligned +/// @ingroup gtc +/// +/// Include to use the features of this extension. +/// +/// Aligned types allowing SIMD optimizations of vectors and matrices types + +#pragma once + +#if (GLM_CONFIG_ALIGNED_GENTYPES == GLM_DISABLE) +# error "GLM: Aligned gentypes require to enable C++ language extensions. Define GLM_FORCE_ALIGNED_GENTYPES before including GLM headers to use aligned types." +#endif + +#if GLM_MESSAGES == GLM_ENABLE && !defined(GLM_EXT_INCLUDED) +# pragma message("GLM: GLM_GTC_type_aligned extension included") +#endif + +#include "../mat4x4.hpp" +#include "../mat4x3.hpp" +#include "../mat4x2.hpp" +#include "../mat3x4.hpp" +#include "../mat3x3.hpp" +#include "../mat3x2.hpp" +#include "../mat2x4.hpp" +#include "../mat2x3.hpp" +#include "../mat2x2.hpp" +#include "../gtc/vec1.hpp" +#include "../vec2.hpp" +#include "../vec3.hpp" +#include "../vec4.hpp" + +namespace glm +{ + /// @addtogroup gtc_type_aligned + /// @{ + + // -- *vec1 -- + + /// 1 component vector aligned in memory of single-precision floating-point numbers using high precision arithmetic in term of ULPs. + typedef vec<1, float, aligned_highp> aligned_highp_vec1; + + /// 1 component vector aligned in memory of single-precision floating-point numbers using medium precision arithmetic in term of ULPs. + typedef vec<1, float, aligned_mediump> aligned_mediump_vec1; + + /// 1 component vector aligned in memory of single-precision floating-point numbers using low precision arithmetic in term of ULPs. + typedef vec<1, float, aligned_lowp> aligned_lowp_vec1; + + /// 1 component vector aligned in memory of double-precision floating-point numbers using high precision arithmetic in term of ULPs. + typedef vec<1, double, aligned_highp> aligned_highp_dvec1; + + /// 1 component vector aligned in memory of double-precision floating-point numbers using medium precision arithmetic in term of ULPs. + typedef vec<1, double, aligned_mediump> aligned_mediump_dvec1; + + /// 1 component vector aligned in memory of double-precision floating-point numbers using low precision arithmetic in term of ULPs. + typedef vec<1, double, aligned_lowp> aligned_lowp_dvec1; + + /// 1 component vector aligned in memory of signed integer numbers. + typedef vec<1, int, aligned_highp> aligned_highp_ivec1; + + /// 1 component vector aligned in memory of signed integer numbers. + typedef vec<1, int, aligned_mediump> aligned_mediump_ivec1; + + /// 1 component vector aligned in memory of signed integer numbers. + typedef vec<1, int, aligned_lowp> aligned_lowp_ivec1; + + /// 1 component vector aligned in memory of unsigned integer numbers. + typedef vec<1, uint, aligned_highp> aligned_highp_uvec1; + + /// 1 component vector aligned in memory of unsigned integer numbers. + typedef vec<1, uint, aligned_mediump> aligned_mediump_uvec1; + + /// 1 component vector aligned in memory of unsigned integer numbers. + typedef vec<1, uint, aligned_lowp> aligned_lowp_uvec1; + + /// 1 component vector aligned in memory of bool values. + typedef vec<1, bool, aligned_highp> aligned_highp_bvec1; + + /// 1 component vector aligned in memory of bool values. + typedef vec<1, bool, aligned_mediump> aligned_mediump_bvec1; + + /// 1 component vector aligned in memory of bool values. + typedef vec<1, bool, aligned_lowp> aligned_lowp_bvec1; + + /// 1 component vector tightly packed in memory of single-precision floating-point numbers using high precision arithmetic in term of ULPs. + typedef vec<1, float, packed_highp> packed_highp_vec1; + + /// 1 component vector tightly packed in memory of single-precision floating-point numbers using medium precision arithmetic in term of ULPs. + typedef vec<1, float, packed_mediump> packed_mediump_vec1; + + /// 1 component vector tightly packed in memory of single-precision floating-point numbers using low precision arithmetic in term of ULPs. + typedef vec<1, float, packed_lowp> packed_lowp_vec1; + + /// 1 component vector tightly packed in memory of double-precision floating-point numbers using high precision arithmetic in term of ULPs. + typedef vec<1, double, packed_highp> packed_highp_dvec1; + + /// 1 component vector tightly packed in memory of double-precision floating-point numbers using medium precision arithmetic in term of ULPs. + typedef vec<1, double, packed_mediump> packed_mediump_dvec1; + + /// 1 component vector tightly packed in memory of double-precision floating-point numbers using low precision arithmetic in term of ULPs. + typedef vec<1, double, packed_lowp> packed_lowp_dvec1; + + /// 1 component vector tightly packed in memory of signed integer numbers. + typedef vec<1, int, packed_highp> packed_highp_ivec1; + + /// 1 component vector tightly packed in memory of signed integer numbers. + typedef vec<1, int, packed_mediump> packed_mediump_ivec1; + + /// 1 component vector tightly packed in memory of signed integer numbers. + typedef vec<1, int, packed_lowp> packed_lowp_ivec1; + + /// 1 component vector tightly packed in memory of unsigned integer numbers. + typedef vec<1, uint, packed_highp> packed_highp_uvec1; + + /// 1 component vector tightly packed in memory of unsigned integer numbers. + typedef vec<1, uint, packed_mediump> packed_mediump_uvec1; + + /// 1 component vector tightly packed in memory of unsigned integer numbers. + typedef vec<1, uint, packed_lowp> packed_lowp_uvec1; + + /// 1 component vector tightly packed in memory of bool values. + typedef vec<1, bool, packed_highp> packed_highp_bvec1; + + /// 1 component vector tightly packed in memory of bool values. + typedef vec<1, bool, packed_mediump> packed_mediump_bvec1; + + /// 1 component vector tightly packed in memory of bool values. + typedef vec<1, bool, packed_lowp> packed_lowp_bvec1; + + // -- *vec2 -- + + /// 2 components vector aligned in memory of single-precision floating-point numbers using high precision arithmetic in term of ULPs. + typedef vec<2, float, aligned_highp> aligned_highp_vec2; + + /// 2 components vector aligned in memory of single-precision floating-point numbers using medium precision arithmetic in term of ULPs. + typedef vec<2, float, aligned_mediump> aligned_mediump_vec2; + + /// 2 components vector aligned in memory of single-precision floating-point numbers using low precision arithmetic in term of ULPs. + typedef vec<2, float, aligned_lowp> aligned_lowp_vec2; + + /// 2 components vector aligned in memory of double-precision floating-point numbers using high precision arithmetic in term of ULPs. + typedef vec<2, double, aligned_highp> aligned_highp_dvec2; + + /// 2 components vector aligned in memory of double-precision floating-point numbers using medium precision arithmetic in term of ULPs. + typedef vec<2, double, aligned_mediump> aligned_mediump_dvec2; + + /// 2 components vector aligned in memory of double-precision floating-point numbers using low precision arithmetic in term of ULPs. + typedef vec<2, double, aligned_lowp> aligned_lowp_dvec2; + + /// 2 components vector aligned in memory of signed integer numbers. + typedef vec<2, int, aligned_highp> aligned_highp_ivec2; + + /// 2 components vector aligned in memory of signed integer numbers. + typedef vec<2, int, aligned_mediump> aligned_mediump_ivec2; + + /// 2 components vector aligned in memory of signed integer numbers. + typedef vec<2, int, aligned_lowp> aligned_lowp_ivec2; + + /// 2 components vector aligned in memory of unsigned integer numbers. + typedef vec<2, uint, aligned_highp> aligned_highp_uvec2; + + /// 2 components vector aligned in memory of unsigned integer numbers. + typedef vec<2, uint, aligned_mediump> aligned_mediump_uvec2; + + /// 2 components vector aligned in memory of unsigned integer numbers. + typedef vec<2, uint, aligned_lowp> aligned_lowp_uvec2; + + /// 2 components vector aligned in memory of bool values. + typedef vec<2, bool, aligned_highp> aligned_highp_bvec2; + + /// 2 components vector aligned in memory of bool values. + typedef vec<2, bool, aligned_mediump> aligned_mediump_bvec2; + + /// 2 components vector aligned in memory of bool values. + typedef vec<2, bool, aligned_lowp> aligned_lowp_bvec2; + + /// 2 components vector tightly packed in memory of single-precision floating-point numbers using high precision arithmetic in term of ULPs. + typedef vec<2, float, packed_highp> packed_highp_vec2; + + /// 2 components vector tightly packed in memory of single-precision floating-point numbers using medium precision arithmetic in term of ULPs. + typedef vec<2, float, packed_mediump> packed_mediump_vec2; + + /// 2 components vector tightly packed in memory of single-precision floating-point numbers using low precision arithmetic in term of ULPs. + typedef vec<2, float, packed_lowp> packed_lowp_vec2; + + /// 2 components vector tightly packed in memory of double-precision floating-point numbers using high precision arithmetic in term of ULPs. + typedef vec<2, double, packed_highp> packed_highp_dvec2; + + /// 2 components vector tightly packed in memory of double-precision floating-point numbers using medium precision arithmetic in term of ULPs. + typedef vec<2, double, packed_mediump> packed_mediump_dvec2; + + /// 2 components vector tightly packed in memory of double-precision floating-point numbers using low precision arithmetic in term of ULPs. + typedef vec<2, double, packed_lowp> packed_lowp_dvec2; + + /// 2 components vector tightly packed in memory of signed integer numbers. + typedef vec<2, int, packed_highp> packed_highp_ivec2; + + /// 2 components vector tightly packed in memory of signed integer numbers. + typedef vec<2, int, packed_mediump> packed_mediump_ivec2; + + /// 2 components vector tightly packed in memory of signed integer numbers. + typedef vec<2, int, packed_lowp> packed_lowp_ivec2; + + /// 2 components vector tightly packed in memory of unsigned integer numbers. + typedef vec<2, uint, packed_highp> packed_highp_uvec2; + + /// 2 components vector tightly packed in memory of unsigned integer numbers. + typedef vec<2, uint, packed_mediump> packed_mediump_uvec2; + + /// 2 components vector tightly packed in memory of unsigned integer numbers. + typedef vec<2, uint, packed_lowp> packed_lowp_uvec2; + + /// 2 components vector tightly packed in memory of bool values. + typedef vec<2, bool, packed_highp> packed_highp_bvec2; + + /// 2 components vector tightly packed in memory of bool values. + typedef vec<2, bool, packed_mediump> packed_mediump_bvec2; + + /// 2 components vector tightly packed in memory of bool values. + typedef vec<2, bool, packed_lowp> packed_lowp_bvec2; + + // -- *vec3 -- + + /// 3 components vector aligned in memory of single-precision floating-point numbers using high precision arithmetic in term of ULPs. + typedef vec<3, float, aligned_highp> aligned_highp_vec3; + + /// 3 components vector aligned in memory of single-precision floating-point numbers using medium precision arithmetic in term of ULPs. + typedef vec<3, float, aligned_mediump> aligned_mediump_vec3; + + /// 3 components vector aligned in memory of single-precision floating-point numbers using low precision arithmetic in term of ULPs. + typedef vec<3, float, aligned_lowp> aligned_lowp_vec3; + + /// 3 components vector aligned in memory of double-precision floating-point numbers using high precision arithmetic in term of ULPs. + typedef vec<3, double, aligned_highp> aligned_highp_dvec3; + + /// 3 components vector aligned in memory of double-precision floating-point numbers using medium precision arithmetic in term of ULPs. + typedef vec<3, double, aligned_mediump> aligned_mediump_dvec3; + + /// 3 components vector aligned in memory of double-precision floating-point numbers using low precision arithmetic in term of ULPs. + typedef vec<3, double, aligned_lowp> aligned_lowp_dvec3; + + /// 3 components vector aligned in memory of signed integer numbers. + typedef vec<3, int, aligned_highp> aligned_highp_ivec3; + + /// 3 components vector aligned in memory of signed integer numbers. + typedef vec<3, int, aligned_mediump> aligned_mediump_ivec3; + + /// 3 components vector aligned in memory of signed integer numbers. + typedef vec<3, int, aligned_lowp> aligned_lowp_ivec3; + + /// 3 components vector aligned in memory of unsigned integer numbers. + typedef vec<3, uint, aligned_highp> aligned_highp_uvec3; + + /// 3 components vector aligned in memory of unsigned integer numbers. + typedef vec<3, uint, aligned_mediump> aligned_mediump_uvec3; + + /// 3 components vector aligned in memory of unsigned integer numbers. + typedef vec<3, uint, aligned_lowp> aligned_lowp_uvec3; + + /// 3 components vector aligned in memory of bool values. + typedef vec<3, bool, aligned_highp> aligned_highp_bvec3; + + /// 3 components vector aligned in memory of bool values. + typedef vec<3, bool, aligned_mediump> aligned_mediump_bvec3; + + /// 3 components vector aligned in memory of bool values. + typedef vec<3, bool, aligned_lowp> aligned_lowp_bvec3; + + /// 3 components vector tightly packed in memory of single-precision floating-point numbers using high precision arithmetic in term of ULPs. + typedef vec<3, float, packed_highp> packed_highp_vec3; + + /// 3 components vector tightly packed in memory of single-precision floating-point numbers using medium precision arithmetic in term of ULPs. + typedef vec<3, float, packed_mediump> packed_mediump_vec3; + + /// 3 components vector tightly packed in memory of single-precision floating-point numbers using low precision arithmetic in term of ULPs. + typedef vec<3, float, packed_lowp> packed_lowp_vec3; + + /// 3 components vector tightly packed in memory of double-precision floating-point numbers using high precision arithmetic in term of ULPs. + typedef vec<3, double, packed_highp> packed_highp_dvec3; + + /// 3 components vector tightly packed in memory of double-precision floating-point numbers using medium precision arithmetic in term of ULPs. + typedef vec<3, double, packed_mediump> packed_mediump_dvec3; + + /// 3 components vector tightly packed in memory of double-precision floating-point numbers using low precision arithmetic in term of ULPs. + typedef vec<3, double, packed_lowp> packed_lowp_dvec3; + + /// 3 components vector tightly packed in memory of signed integer numbers. + typedef vec<3, int, packed_highp> packed_highp_ivec3; + + /// 3 components vector tightly packed in memory of signed integer numbers. + typedef vec<3, int, packed_mediump> packed_mediump_ivec3; + + /// 3 components vector tightly packed in memory of signed integer numbers. + typedef vec<3, int, packed_lowp> packed_lowp_ivec3; + + /// 3 components vector tightly packed in memory of unsigned integer numbers. + typedef vec<3, uint, packed_highp> packed_highp_uvec3; + + /// 3 components vector tightly packed in memory of unsigned integer numbers. + typedef vec<3, uint, packed_mediump> packed_mediump_uvec3; + + /// 3 components vector tightly packed in memory of unsigned integer numbers. + typedef vec<3, uint, packed_lowp> packed_lowp_uvec3; + + /// 3 components vector tightly packed in memory of bool values. + typedef vec<3, bool, packed_highp> packed_highp_bvec3; + + /// 3 components vector tightly packed in memory of bool values. + typedef vec<3, bool, packed_mediump> packed_mediump_bvec3; + + /// 3 components vector tightly packed in memory of bool values. + typedef vec<3, bool, packed_lowp> packed_lowp_bvec3; + + // -- *vec4 -- + + /// 4 components vector aligned in memory of single-precision floating-point numbers using high precision arithmetic in term of ULPs. + typedef vec<4, float, aligned_highp> aligned_highp_vec4; + + /// 4 components vector aligned in memory of single-precision floating-point numbers using medium precision arithmetic in term of ULPs. + typedef vec<4, float, aligned_mediump> aligned_mediump_vec4; + + /// 4 components vector aligned in memory of single-precision floating-point numbers using low precision arithmetic in term of ULPs. + typedef vec<4, float, aligned_lowp> aligned_lowp_vec4; + + /// 4 components vector aligned in memory of double-precision floating-point numbers using high precision arithmetic in term of ULPs. + typedef vec<4, double, aligned_highp> aligned_highp_dvec4; + + /// 4 components vector aligned in memory of double-precision floating-point numbers using medium precision arithmetic in term of ULPs. + typedef vec<4, double, aligned_mediump> aligned_mediump_dvec4; + + /// 4 components vector aligned in memory of double-precision floating-point numbers using low precision arithmetic in term of ULPs. + typedef vec<4, double, aligned_lowp> aligned_lowp_dvec4; + + /// 4 components vector aligned in memory of signed integer numbers. + typedef vec<4, int, aligned_highp> aligned_highp_ivec4; + + /// 4 components vector aligned in memory of signed integer numbers. + typedef vec<4, int, aligned_mediump> aligned_mediump_ivec4; + + /// 4 components vector aligned in memory of signed integer numbers. + typedef vec<4, int, aligned_lowp> aligned_lowp_ivec4; + + /// 4 components vector aligned in memory of unsigned integer numbers. + typedef vec<4, uint, aligned_highp> aligned_highp_uvec4; + + /// 4 components vector aligned in memory of unsigned integer numbers. + typedef vec<4, uint, aligned_mediump> aligned_mediump_uvec4; + + /// 4 components vector aligned in memory of unsigned integer numbers. + typedef vec<4, uint, aligned_lowp> aligned_lowp_uvec4; + + /// 4 components vector aligned in memory of bool values. + typedef vec<4, bool, aligned_highp> aligned_highp_bvec4; + + /// 4 components vector aligned in memory of bool values. + typedef vec<4, bool, aligned_mediump> aligned_mediump_bvec4; + + /// 4 components vector aligned in memory of bool values. + typedef vec<4, bool, aligned_lowp> aligned_lowp_bvec4; + + /// 4 components vector tightly packed in memory of single-precision floating-point numbers using high precision arithmetic in term of ULPs. + typedef vec<4, float, packed_highp> packed_highp_vec4; + + /// 4 components vector tightly packed in memory of single-precision floating-point numbers using medium precision arithmetic in term of ULPs. + typedef vec<4, float, packed_mediump> packed_mediump_vec4; + + /// 4 components vector tightly packed in memory of single-precision floating-point numbers using low precision arithmetic in term of ULPs. + typedef vec<4, float, packed_lowp> packed_lowp_vec4; + + /// 4 components vector tightly packed in memory of double-precision floating-point numbers using high precision arithmetic in term of ULPs. + typedef vec<4, double, packed_highp> packed_highp_dvec4; + + /// 4 components vector tightly packed in memory of double-precision floating-point numbers using medium precision arithmetic in term of ULPs. + typedef vec<4, double, packed_mediump> packed_mediump_dvec4; + + /// 4 components vector tightly packed in memory of double-precision floating-point numbers using low precision arithmetic in term of ULPs. + typedef vec<4, double, packed_lowp> packed_lowp_dvec4; + + /// 4 components vector tightly packed in memory of signed integer numbers. + typedef vec<4, int, packed_highp> packed_highp_ivec4; + + /// 4 components vector tightly packed in memory of signed integer numbers. + typedef vec<4, int, packed_mediump> packed_mediump_ivec4; + + /// 4 components vector tightly packed in memory of signed integer numbers. + typedef vec<4, int, packed_lowp> packed_lowp_ivec4; + + /// 4 components vector tightly packed in memory of unsigned integer numbers. + typedef vec<4, uint, packed_highp> packed_highp_uvec4; + + /// 4 components vector tightly packed in memory of unsigned integer numbers. + typedef vec<4, uint, packed_mediump> packed_mediump_uvec4; + + /// 4 components vector tightly packed in memory of unsigned integer numbers. + typedef vec<4, uint, packed_lowp> packed_lowp_uvec4; + + /// 4 components vector tightly packed in memory of bool values. + typedef vec<4, bool, packed_highp> packed_highp_bvec4; + + /// 4 components vector tightly packed in memory of bool values. + typedef vec<4, bool, packed_mediump> packed_mediump_bvec4; + + /// 4 components vector tightly packed in memory of bool values. + typedef vec<4, bool, packed_lowp> packed_lowp_bvec4; + + // -- *mat2 -- + + /// 2 by 2 matrix aligned in memory of single-precision floating-point numbers using high precision arithmetic in term of ULPs. + typedef mat<2, 2, float, aligned_highp> aligned_highp_mat2; + + /// 2 by 2 matrix aligned in memory of single-precision floating-point numbers using medium precision arithmetic in term of ULPs. + typedef mat<2, 2, float, aligned_mediump> aligned_mediump_mat2; + + /// 2 by 2 matrix aligned in memory of single-precision floating-point numbers using low precision arithmetic in term of ULPs. + typedef mat<2, 2, float, aligned_lowp> aligned_lowp_mat2; + + /// 2 by 2 matrix aligned in memory of double-precision floating-point numbers using high precision arithmetic in term of ULPs. + typedef mat<2, 2, double, aligned_highp> aligned_highp_dmat2; + + /// 2 by 2 matrix aligned in memory of double-precision floating-point numbers using medium precision arithmetic in term of ULPs. + typedef mat<2, 2, double, aligned_mediump> aligned_mediump_dmat2; + + /// 2 by 2 matrix aligned in memory of double-precision floating-point numbers using low precision arithmetic in term of ULPs. + typedef mat<2, 2, double, aligned_lowp> aligned_lowp_dmat2; + + /// 2 by 2 matrix tightly packed in memory of single-precision floating-point numbers using high precision arithmetic in term of ULPs. + typedef mat<2, 2, float, packed_highp> packed_highp_mat2; + + /// 2 by 2 matrix tightly packed in memory of single-precision floating-point numbers using medium precision arithmetic in term of ULPs. + typedef mat<2, 2, float, packed_mediump> packed_mediump_mat2; + + /// 2 by 2 matrix tightly packed in memory of single-precision floating-point numbers using low precision arithmetic in term of ULPs. + typedef mat<2, 2, float, packed_lowp> packed_lowp_mat2; + + /// 2 by 2 matrix tightly packed in memory of double-precision floating-point numbers using high precision arithmetic in term of ULPs. + typedef mat<2, 2, double, packed_highp> packed_highp_dmat2; + + /// 2 by 2 matrix tightly packed in memory of double-precision floating-point numbers using medium precision arithmetic in term of ULPs. + typedef mat<2, 2, double, packed_mediump> packed_mediump_dmat2; + + /// 2 by 2 matrix tightly packed in memory of double-precision floating-point numbers using low precision arithmetic in term of ULPs. + typedef mat<2, 2, double, packed_lowp> packed_lowp_dmat2; + + // -- *mat3 -- + + /// 3 by 3 matrix aligned in memory of single-precision floating-point numbers using high precision arithmetic in term of ULPs. + typedef mat<3, 3, float, aligned_highp> aligned_highp_mat3; + + /// 3 by 3 matrix aligned in memory of single-precision floating-point numbers using medium precision arithmetic in term of ULPs. + typedef mat<3, 3, float, aligned_mediump> aligned_mediump_mat3; + + /// 3 by 3 matrix aligned in memory of single-precision floating-point numbers using low precision arithmetic in term of ULPs. + typedef mat<3, 3, float, aligned_lowp> aligned_lowp_mat3; + + /// 3 by 3 matrix aligned in memory of double-precision floating-point numbers using high precision arithmetic in term of ULPs. + typedef mat<3, 3, double, aligned_highp> aligned_highp_dmat3; + + /// 3 by 3 matrix aligned in memory of double-precision floating-point numbers using medium precision arithmetic in term of ULPs. + typedef mat<3, 3, double, aligned_mediump> aligned_mediump_dmat3; + + /// 3 by 3 matrix aligned in memory of double-precision floating-point numbers using low precision arithmetic in term of ULPs. + typedef mat<3, 3, double, aligned_lowp> aligned_lowp_dmat3; + + /// 3 by 3 matrix tightly packed in memory of single-precision floating-point numbers using high precision arithmetic in term of ULPs. + typedef mat<3, 3, float, packed_highp> packed_highp_mat3; + + /// 3 by 3 matrix tightly packed in memory of single-precision floating-point numbers using medium precision arithmetic in term of ULPs. + typedef mat<3, 3, float, packed_mediump> packed_mediump_mat3; + + /// 3 by 3 matrix tightly packed in memory of single-precision floating-point numbers using low precision arithmetic in term of ULPs. + typedef mat<3, 3, float, packed_lowp> packed_lowp_mat3; + + /// 3 by 3 matrix tightly packed in memory of double-precision floating-point numbers using high precision arithmetic in term of ULPs. + typedef mat<3, 3, double, packed_highp> packed_highp_dmat3; + + /// 3 by 3 matrix tightly packed in memory of double-precision floating-point numbers using medium precision arithmetic in term of ULPs. + typedef mat<3, 3, double, packed_mediump> packed_mediump_dmat3; + + /// 3 by 3 matrix tightly packed in memory of double-precision floating-point numbers using low precision arithmetic in term of ULPs. + typedef mat<3, 3, double, packed_lowp> packed_lowp_dmat3; + + // -- *mat4 -- + + /// 4 by 4 matrix aligned in memory of single-precision floating-point numbers using high precision arithmetic in term of ULPs. + typedef mat<4, 4, float, aligned_highp> aligned_highp_mat4; + + /// 4 by 4 matrix aligned in memory of single-precision floating-point numbers using medium precision arithmetic in term of ULPs. + typedef mat<4, 4, float, aligned_mediump> aligned_mediump_mat4; + + /// 4 by 4 matrix aligned in memory of single-precision floating-point numbers using low precision arithmetic in term of ULPs. + typedef mat<4, 4, float, aligned_lowp> aligned_lowp_mat4; + + /// 4 by 4 matrix aligned in memory of double-precision floating-point numbers using high precision arithmetic in term of ULPs. + typedef mat<4, 4, double, aligned_highp> aligned_highp_dmat4; + + /// 4 by 4 matrix aligned in memory of double-precision floating-point numbers using medium precision arithmetic in term of ULPs. + typedef mat<4, 4, double, aligned_mediump> aligned_mediump_dmat4; + + /// 4 by 4 matrix aligned in memory of double-precision floating-point numbers using low precision arithmetic in term of ULPs. + typedef mat<4, 4, double, aligned_lowp> aligned_lowp_dmat4; + + /// 4 by 4 matrix tightly packed in memory of single-precision floating-point numbers using high precision arithmetic in term of ULPs. + typedef mat<4, 4, float, packed_highp> packed_highp_mat4; + + /// 4 by 4 matrix tightly packed in memory of single-precision floating-point numbers using medium precision arithmetic in term of ULPs. + typedef mat<4, 4, float, packed_mediump> packed_mediump_mat4; + + /// 4 by 4 matrix tightly packed in memory of single-precision floating-point numbers using low precision arithmetic in term of ULPs. + typedef mat<4, 4, float, packed_lowp> packed_lowp_mat4; + + /// 4 by 4 matrix tightly packed in memory of double-precision floating-point numbers using high precision arithmetic in term of ULPs. + typedef mat<4, 4, double, packed_highp> packed_highp_dmat4; + + /// 4 by 4 matrix tightly packed in memory of double-precision floating-point numbers using medium precision arithmetic in term of ULPs. + typedef mat<4, 4, double, packed_mediump> packed_mediump_dmat4; + + /// 4 by 4 matrix tightly packed in memory of double-precision floating-point numbers using low precision arithmetic in term of ULPs. + typedef mat<4, 4, double, packed_lowp> packed_lowp_dmat4; + + // -- *mat2x2 -- + + /// 2 by 2 matrix aligned in memory of single-precision floating-point numbers using high precision arithmetic in term of ULPs. + typedef mat<2, 2, float, aligned_highp> aligned_highp_mat2x2; + + /// 2 by 2 matrix aligned in memory of single-precision floating-point numbers using medium precision arithmetic in term of ULPs. + typedef mat<2, 2, float, aligned_mediump> aligned_mediump_mat2x2; + + /// 2 by 2 matrix aligned in memory of single-precision floating-point numbers using low precision arithmetic in term of ULPs. + typedef mat<2, 2, float, aligned_lowp> aligned_lowp_mat2x2; + + /// 2 by 2 matrix aligned in memory of double-precision floating-point numbers using high precision arithmetic in term of ULPs. + typedef mat<2, 2, double, aligned_highp> aligned_highp_dmat2x2; + + /// 2 by 2 matrix aligned in memory of double-precision floating-point numbers using medium precision arithmetic in term of ULPs. + typedef mat<2, 2, double, aligned_mediump> aligned_mediump_dmat2x2; + + /// 2 by 2 matrix aligned in memory of double-precision floating-point numbers using low precision arithmetic in term of ULPs. + typedef mat<2, 2, double, aligned_lowp> aligned_lowp_dmat2x2; + + /// 2 by 2 matrix tightly packed in memory of single-precision floating-point numbers using high precision arithmetic in term of ULPs. + typedef mat<2, 2, float, packed_highp> packed_highp_mat2x2; + + /// 2 by 2 matrix tightly packed in memory of single-precision floating-point numbers using medium precision arithmetic in term of ULPs. + typedef mat<2, 2, float, packed_mediump> packed_mediump_mat2x2; + + /// 2 by 2 matrix tightly packed in memory of single-precision floating-point numbers using low precision arithmetic in term of ULPs. + typedef mat<2, 2, float, packed_lowp> packed_lowp_mat2x2; + + /// 2 by 2 matrix tightly packed in memory of double-precision floating-point numbers using high precision arithmetic in term of ULPs. + typedef mat<2, 2, double, packed_highp> packed_highp_dmat2x2; + + /// 2 by 2 matrix tightly packed in memory of double-precision floating-point numbers using medium precision arithmetic in term of ULPs. + typedef mat<2, 2, double, packed_mediump> packed_mediump_dmat2x2; + + /// 2 by 2 matrix tightly packed in memory of double-precision floating-point numbers using low precision arithmetic in term of ULPs. + typedef mat<2, 2, double, packed_lowp> packed_lowp_dmat2x2; + + // -- *mat2x3 -- + + /// 2 by 3 matrix aligned in memory of single-precision floating-point numbers using high precision arithmetic in term of ULPs. + typedef mat<2, 3, float, aligned_highp> aligned_highp_mat2x3; + + /// 2 by 3 matrix aligned in memory of single-precision floating-point numbers using medium precision arithmetic in term of ULPs. + typedef mat<2, 3, float, aligned_mediump> aligned_mediump_mat2x3; + + /// 2 by 3 matrix aligned in memory of single-precision floating-point numbers using low precision arithmetic in term of ULPs. + typedef mat<2, 3, float, aligned_lowp> aligned_lowp_mat2x3; + + /// 2 by 3 matrix aligned in memory of double-precision floating-point numbers using high precision arithmetic in term of ULPs. + typedef mat<2, 3, double, aligned_highp> aligned_highp_dmat2x3; + + /// 2 by 3 matrix aligned in memory of double-precision floating-point numbers using medium precision arithmetic in term of ULPs. + typedef mat<2, 3, double, aligned_mediump> aligned_mediump_dmat2x3; + + /// 2 by 3 matrix aligned in memory of double-precision floating-point numbers using low precision arithmetic in term of ULPs. + typedef mat<2, 3, double, aligned_lowp> aligned_lowp_dmat2x3; + + /// 2 by 3 matrix tightly packed in memory of single-precision floating-point numbers using high precision arithmetic in term of ULPs. + typedef mat<2, 3, float, packed_highp> packed_highp_mat2x3; + + /// 2 by 3 matrix tightly packed in memory of single-precision floating-point numbers using medium precision arithmetic in term of ULPs. + typedef mat<2, 3, float, packed_mediump> packed_mediump_mat2x3; + + /// 2 by 3 matrix tightly packed in memory of single-precision floating-point numbers using low precision arithmetic in term of ULPs. + typedef mat<2, 3, float, packed_lowp> packed_lowp_mat2x3; + + /// 2 by 3 matrix tightly packed in memory of double-precision floating-point numbers using high precision arithmetic in term of ULPs. + typedef mat<2, 3, double, packed_highp> packed_highp_dmat2x3; + + /// 2 by 3 matrix tightly packed in memory of double-precision floating-point numbers using medium precision arithmetic in term of ULPs. + typedef mat<2, 3, double, packed_mediump> packed_mediump_dmat2x3; + + /// 2 by 3 matrix tightly packed in memory of double-precision floating-point numbers using low precision arithmetic in term of ULPs. + typedef mat<2, 3, double, packed_lowp> packed_lowp_dmat2x3; + + // -- *mat2x4 -- + + /// 2 by 4 matrix aligned in memory of single-precision floating-point numbers using high precision arithmetic in term of ULPs. + typedef mat<2, 4, float, aligned_highp> aligned_highp_mat2x4; + + /// 2 by 4 matrix aligned in memory of single-precision floating-point numbers using medium precision arithmetic in term of ULPs. + typedef mat<2, 4, float, aligned_mediump> aligned_mediump_mat2x4; + + /// 2 by 4 matrix aligned in memory of single-precision floating-point numbers using low precision arithmetic in term of ULPs. + typedef mat<2, 4, float, aligned_lowp> aligned_lowp_mat2x4; + + /// 2 by 4 matrix aligned in memory of double-precision floating-point numbers using high precision arithmetic in term of ULPs. + typedef mat<2, 4, double, aligned_highp> aligned_highp_dmat2x4; + + /// 2 by 4 matrix aligned in memory of double-precision floating-point numbers using medium precision arithmetic in term of ULPs. + typedef mat<2, 4, double, aligned_mediump> aligned_mediump_dmat2x4; + + /// 2 by 4 matrix aligned in memory of double-precision floating-point numbers using low precision arithmetic in term of ULPs. + typedef mat<2, 4, double, aligned_lowp> aligned_lowp_dmat2x4; + + /// 2 by 4 matrix tightly packed in memory of single-precision floating-point numbers using high precision arithmetic in term of ULPs. + typedef mat<2, 4, float, packed_highp> packed_highp_mat2x4; + + /// 2 by 4 matrix tightly packed in memory of single-precision floating-point numbers using medium precision arithmetic in term of ULPs. + typedef mat<2, 4, float, packed_mediump> packed_mediump_mat2x4; + + /// 2 by 4 matrix tightly packed in memory of single-precision floating-point numbers using low precision arithmetic in term of ULPs. + typedef mat<2, 4, float, packed_lowp> packed_lowp_mat2x4; + + /// 2 by 4 matrix tightly packed in memory of double-precision floating-point numbers using high precision arithmetic in term of ULPs. + typedef mat<2, 4, double, packed_highp> packed_highp_dmat2x4; + + /// 2 by 4 matrix tightly packed in memory of double-precision floating-point numbers using medium precision arithmetic in term of ULPs. + typedef mat<2, 4, double, packed_mediump> packed_mediump_dmat2x4; + + /// 2 by 4 matrix tightly packed in memory of double-precision floating-point numbers using low precision arithmetic in term of ULPs. + typedef mat<2, 4, double, packed_lowp> packed_lowp_dmat2x4; + + // -- *mat3x2 -- + + /// 3 by 2 matrix aligned in memory of single-precision floating-point numbers using high precision arithmetic in term of ULPs. + typedef mat<3, 2, float, aligned_highp> aligned_highp_mat3x2; + + /// 3 by 2 matrix aligned in memory of single-precision floating-point numbers using medium precision arithmetic in term of ULPs. + typedef mat<3, 2, float, aligned_mediump> aligned_mediump_mat3x2; + + /// 3 by 2 matrix aligned in memory of single-precision floating-point numbers using low precision arithmetic in term of ULPs. + typedef mat<3, 2, float, aligned_lowp> aligned_lowp_mat3x2; + + /// 3 by 2 matrix aligned in memory of double-precision floating-point numbers using high precision arithmetic in term of ULPs. + typedef mat<3, 2, double, aligned_highp> aligned_highp_dmat3x2; + + /// 3 by 2 matrix aligned in memory of double-precision floating-point numbers using medium precision arithmetic in term of ULPs. + typedef mat<3, 2, double, aligned_mediump> aligned_mediump_dmat3x2; + + /// 3 by 2 matrix aligned in memory of double-precision floating-point numbers using low precision arithmetic in term of ULPs. + typedef mat<3, 2, double, aligned_lowp> aligned_lowp_dmat3x2; + + /// 3 by 2 matrix tightly packed in memory of single-precision floating-point numbers using high precision arithmetic in term of ULPs. + typedef mat<3, 2, float, packed_highp> packed_highp_mat3x2; + + /// 3 by 2 matrix tightly packed in memory of single-precision floating-point numbers using medium precision arithmetic in term of ULPs. + typedef mat<3, 2, float, packed_mediump> packed_mediump_mat3x2; + + /// 3 by 2 matrix tightly packed in memory of single-precision floating-point numbers using low precision arithmetic in term of ULPs. + typedef mat<3, 2, float, packed_lowp> packed_lowp_mat3x2; + + /// 3 by 2 matrix tightly packed in memory of double-precision floating-point numbers using high precision arithmetic in term of ULPs. + typedef mat<3, 2, double, packed_highp> packed_highp_dmat3x2; + + /// 3 by 2 matrix tightly packed in memory of double-precision floating-point numbers using medium precision arithmetic in term of ULPs. + typedef mat<3, 2, double, packed_mediump> packed_mediump_dmat3x2; + + /// 3 by 2 matrix tightly packed in memory of double-precision floating-point numbers using low precision arithmetic in term of ULPs. + typedef mat<3, 2, double, packed_lowp> packed_lowp_dmat3x2; + + // -- *mat3x3 -- + + /// 3 by 3 matrix aligned in memory of single-precision floating-point numbers using high precision arithmetic in term of ULPs. + typedef mat<3, 3, float, aligned_highp> aligned_highp_mat3x3; + + /// 3 by 3 matrix aligned in memory of single-precision floating-point numbers using medium precision arithmetic in term of ULPs. + typedef mat<3, 3, float, aligned_mediump> aligned_mediump_mat3x3; + + /// 3 by 3 matrix aligned in memory of single-precision floating-point numbers using low precision arithmetic in term of ULPs. + typedef mat<3, 3, float, aligned_lowp> aligned_lowp_mat3x3; + + /// 3 by 3 matrix aligned in memory of double-precision floating-point numbers using high precision arithmetic in term of ULPs. + typedef mat<3, 3, double, aligned_highp> aligned_highp_dmat3x3; + + /// 3 by 3 matrix aligned in memory of double-precision floating-point numbers using medium precision arithmetic in term of ULPs. + typedef mat<3, 3, double, aligned_mediump> aligned_mediump_dmat3x3; + + /// 3 by 3 matrix aligned in memory of double-precision floating-point numbers using low precision arithmetic in term of ULPs. + typedef mat<3, 3, double, aligned_lowp> aligned_lowp_dmat3x3; + + /// 3 by 3 matrix tightly packed in memory of single-precision floating-point numbers using high precision arithmetic in term of ULPs. + typedef mat<3, 3, float, packed_highp> packed_highp_mat3x3; + + /// 3 by 3 matrix tightly packed in memory of single-precision floating-point numbers using medium precision arithmetic in term of ULPs. + typedef mat<3, 3, float, packed_mediump> packed_mediump_mat3x3; + + /// 3 by 3 matrix tightly packed in memory of single-precision floating-point numbers using low precision arithmetic in term of ULPs. + typedef mat<3, 3, float, packed_lowp> packed_lowp_mat3x3; + + /// 3 by 3 matrix tightly packed in memory of double-precision floating-point numbers using high precision arithmetic in term of ULPs. + typedef mat<3, 3, double, packed_highp> packed_highp_dmat3x3; + + /// 3 by 3 matrix tightly packed in memory of double-precision floating-point numbers using medium precision arithmetic in term of ULPs. + typedef mat<3, 3, double, packed_mediump> packed_mediump_dmat3x3; + + /// 3 by 3 matrix tightly packed in memory of double-precision floating-point numbers using low precision arithmetic in term of ULPs. + typedef mat<3, 3, double, packed_lowp> packed_lowp_dmat3x3; + + // -- *mat3x4 -- + + /// 3 by 4 matrix aligned in memory of single-precision floating-point numbers using high precision arithmetic in term of ULPs. + typedef mat<3, 4, float, aligned_highp> aligned_highp_mat3x4; + + /// 3 by 4 matrix aligned in memory of single-precision floating-point numbers using medium precision arithmetic in term of ULPs. + typedef mat<3, 4, float, aligned_mediump> aligned_mediump_mat3x4; + + /// 3 by 4 matrix aligned in memory of single-precision floating-point numbers using low precision arithmetic in term of ULPs. + typedef mat<3, 4, float, aligned_lowp> aligned_lowp_mat3x4; + + /// 3 by 4 matrix aligned in memory of double-precision floating-point numbers using high precision arithmetic in term of ULPs. + typedef mat<3, 4, double, aligned_highp> aligned_highp_dmat3x4; + + /// 3 by 4 matrix aligned in memory of double-precision floating-point numbers using medium precision arithmetic in term of ULPs. + typedef mat<3, 4, double, aligned_mediump> aligned_mediump_dmat3x4; + + /// 3 by 4 matrix aligned in memory of double-precision floating-point numbers using low precision arithmetic in term of ULPs. + typedef mat<3, 4, double, aligned_lowp> aligned_lowp_dmat3x4; + + /// 3 by 4 matrix tightly packed in memory of single-precision floating-point numbers using high precision arithmetic in term of ULPs. + typedef mat<3, 4, float, packed_highp> packed_highp_mat3x4; + + /// 3 by 4 matrix tightly packed in memory of single-precision floating-point numbers using medium precision arithmetic in term of ULPs. + typedef mat<3, 4, float, packed_mediump> packed_mediump_mat3x4; + + /// 3 by 4 matrix tightly packed in memory of single-precision floating-point numbers using low precision arithmetic in term of ULPs. + typedef mat<3, 4, float, packed_lowp> packed_lowp_mat3x4; + + /// 3 by 4 matrix tightly packed in memory of double-precision floating-point numbers using high precision arithmetic in term of ULPs. + typedef mat<3, 4, double, packed_highp> packed_highp_dmat3x4; + + /// 3 by 4 matrix tightly packed in memory of double-precision floating-point numbers using medium precision arithmetic in term of ULPs. + typedef mat<3, 4, double, packed_mediump> packed_mediump_dmat3x4; + + /// 3 by 4 matrix tightly packed in memory of double-precision floating-point numbers using low precision arithmetic in term of ULPs. + typedef mat<3, 4, double, packed_lowp> packed_lowp_dmat3x4; + + // -- *mat4x2 -- + + /// 4 by 2 matrix aligned in memory of single-precision floating-point numbers using high precision arithmetic in term of ULPs. + typedef mat<4, 2, float, aligned_highp> aligned_highp_mat4x2; + + /// 4 by 2 matrix aligned in memory of single-precision floating-point numbers using medium precision arithmetic in term of ULPs. + typedef mat<4, 2, float, aligned_mediump> aligned_mediump_mat4x2; + + /// 4 by 2 matrix aligned in memory of single-precision floating-point numbers using low precision arithmetic in term of ULPs. + typedef mat<4, 2, float, aligned_lowp> aligned_lowp_mat4x2; + + /// 4 by 2 matrix aligned in memory of double-precision floating-point numbers using high precision arithmetic in term of ULPs. + typedef mat<4, 2, double, aligned_highp> aligned_highp_dmat4x2; + + /// 4 by 2 matrix aligned in memory of double-precision floating-point numbers using medium precision arithmetic in term of ULPs. + typedef mat<4, 2, double, aligned_mediump> aligned_mediump_dmat4x2; + + /// 4 by 2 matrix aligned in memory of double-precision floating-point numbers using low precision arithmetic in term of ULPs. + typedef mat<4, 2, double, aligned_lowp> aligned_lowp_dmat4x2; + + /// 4 by 2 matrix tightly packed in memory of single-precision floating-point numbers using high precision arithmetic in term of ULPs. + typedef mat<4, 2, float, packed_highp> packed_highp_mat4x2; + + /// 4 by 2 matrix tightly packed in memory of single-precision floating-point numbers using medium precision arithmetic in term of ULPs. + typedef mat<4, 2, float, packed_mediump> packed_mediump_mat4x2; + + /// 4 by 2 matrix tightly packed in memory of single-precision floating-point numbers using low precision arithmetic in term of ULPs. + typedef mat<4, 2, float, packed_lowp> packed_lowp_mat4x2; + + /// 4 by 2 matrix tightly packed in memory of double-precision floating-point numbers using high precision arithmetic in term of ULPs. + typedef mat<4, 2, double, packed_highp> packed_highp_dmat4x2; + + /// 4 by 2 matrix tightly packed in memory of double-precision floating-point numbers using medium precision arithmetic in term of ULPs. + typedef mat<4, 2, double, packed_mediump> packed_mediump_dmat4x2; + + /// 4 by 2 matrix tightly packed in memory of double-precision floating-point numbers using low precision arithmetic in term of ULPs. + typedef mat<4, 2, double, packed_lowp> packed_lowp_dmat4x2; + + // -- *mat4x3 -- + + /// 4 by 3 matrix aligned in memory of single-precision floating-point numbers using high precision arithmetic in term of ULPs. + typedef mat<4, 3, float, aligned_highp> aligned_highp_mat4x3; + + /// 4 by 3 matrix aligned in memory of single-precision floating-point numbers using medium precision arithmetic in term of ULPs. + typedef mat<4, 3, float, aligned_mediump> aligned_mediump_mat4x3; + + /// 4 by 3 matrix aligned in memory of single-precision floating-point numbers using low precision arithmetic in term of ULPs. + typedef mat<4, 3, float, aligned_lowp> aligned_lowp_mat4x3; + + /// 4 by 3 matrix aligned in memory of double-precision floating-point numbers using high precision arithmetic in term of ULPs. + typedef mat<4, 3, double, aligned_highp> aligned_highp_dmat4x3; + + /// 4 by 3 matrix aligned in memory of double-precision floating-point numbers using medium precision arithmetic in term of ULPs. + typedef mat<4, 3, double, aligned_mediump> aligned_mediump_dmat4x3; + + /// 4 by 3 matrix aligned in memory of double-precision floating-point numbers using low precision arithmetic in term of ULPs. + typedef mat<4, 3, double, aligned_lowp> aligned_lowp_dmat4x3; + + /// 4 by 3 matrix tightly packed in memory of single-precision floating-point numbers using high precision arithmetic in term of ULPs. + typedef mat<4, 3, float, packed_highp> packed_highp_mat4x3; + + /// 4 by 3 matrix tightly packed in memory of single-precision floating-point numbers using medium precision arithmetic in term of ULPs. + typedef mat<4, 3, float, packed_mediump> packed_mediump_mat4x3; + + /// 4 by 3 matrix tightly packed in memory of single-precision floating-point numbers using low precision arithmetic in term of ULPs. + typedef mat<4, 3, float, packed_lowp> packed_lowp_mat4x3; + + /// 4 by 3 matrix tightly packed in memory of double-precision floating-point numbers using high precision arithmetic in term of ULPs. + typedef mat<4, 3, double, packed_highp> packed_highp_dmat4x3; + + /// 4 by 3 matrix tightly packed in memory of double-precision floating-point numbers using medium precision arithmetic in term of ULPs. + typedef mat<4, 3, double, packed_mediump> packed_mediump_dmat4x3; + + /// 4 by 3 matrix tightly packed in memory of double-precision floating-point numbers using low precision arithmetic in term of ULPs. + typedef mat<4, 3, double, packed_lowp> packed_lowp_dmat4x3; + + // -- *mat4x4 -- + + /// 4 by 4 matrix aligned in memory of single-precision floating-point numbers using high precision arithmetic in term of ULPs. + typedef mat<4, 4, float, aligned_highp> aligned_highp_mat4x4; + + /// 4 by 4 matrix aligned in memory of single-precision floating-point numbers using medium precision arithmetic in term of ULPs. + typedef mat<4, 4, float, aligned_mediump> aligned_mediump_mat4x4; + + /// 4 by 4 matrix aligned in memory of single-precision floating-point numbers using low precision arithmetic in term of ULPs. + typedef mat<4, 4, float, aligned_lowp> aligned_lowp_mat4x4; + + /// 4 by 4 matrix aligned in memory of double-precision floating-point numbers using high precision arithmetic in term of ULPs. + typedef mat<4, 4, double, aligned_highp> aligned_highp_dmat4x4; + + /// 4 by 4 matrix aligned in memory of double-precision floating-point numbers using medium precision arithmetic in term of ULPs. + typedef mat<4, 4, double, aligned_mediump> aligned_mediump_dmat4x4; + + /// 4 by 4 matrix aligned in memory of double-precision floating-point numbers using low precision arithmetic in term of ULPs. + typedef mat<4, 4, double, aligned_lowp> aligned_lowp_dmat4x4; + + /// 4 by 4 matrix tightly packed in memory of single-precision floating-point numbers using high precision arithmetic in term of ULPs. + typedef mat<4, 4, float, packed_highp> packed_highp_mat4x4; + + /// 4 by 4 matrix tightly packed in memory of single-precision floating-point numbers using medium precision arithmetic in term of ULPs. + typedef mat<4, 4, float, packed_mediump> packed_mediump_mat4x4; + + /// 4 by 4 matrix tightly packed in memory of single-precision floating-point numbers using low precision arithmetic in term of ULPs. + typedef mat<4, 4, float, packed_lowp> packed_lowp_mat4x4; + + /// 4 by 4 matrix tightly packed in memory of double-precision floating-point numbers using high precision arithmetic in term of ULPs. + typedef mat<4, 4, double, packed_highp> packed_highp_dmat4x4; + + /// 4 by 4 matrix tightly packed in memory of double-precision floating-point numbers using medium precision arithmetic in term of ULPs. + typedef mat<4, 4, double, packed_mediump> packed_mediump_dmat4x4; + + /// 4 by 4 matrix tightly packed in memory of double-precision floating-point numbers using low precision arithmetic in term of ULPs. + typedef mat<4, 4, double, packed_lowp> packed_lowp_dmat4x4; + + // -- default -- + +#if(defined(GLM_PRECISION_LOWP_FLOAT)) + typedef aligned_lowp_vec1 aligned_vec1; + typedef aligned_lowp_vec2 aligned_vec2; + typedef aligned_lowp_vec3 aligned_vec3; + typedef aligned_lowp_vec4 aligned_vec4; + typedef packed_lowp_vec1 packed_vec1; + typedef packed_lowp_vec2 packed_vec2; + typedef packed_lowp_vec3 packed_vec3; + typedef packed_lowp_vec4 packed_vec4; + + typedef aligned_lowp_mat2 aligned_mat2; + typedef aligned_lowp_mat3 aligned_mat3; + typedef aligned_lowp_mat4 aligned_mat4; + typedef packed_lowp_mat2 packed_mat2; + typedef packed_lowp_mat3 packed_mat3; + typedef packed_lowp_mat4 packed_mat4; + + typedef aligned_lowp_mat2x2 aligned_mat2x2; + typedef aligned_lowp_mat2x3 aligned_mat2x3; + typedef aligned_lowp_mat2x4 aligned_mat2x4; + typedef aligned_lowp_mat3x2 aligned_mat3x2; + typedef aligned_lowp_mat3x3 aligned_mat3x3; + typedef aligned_lowp_mat3x4 aligned_mat3x4; + typedef aligned_lowp_mat4x2 aligned_mat4x2; + typedef aligned_lowp_mat4x3 aligned_mat4x3; + typedef aligned_lowp_mat4x4 aligned_mat4x4; + typedef packed_lowp_mat2x2 packed_mat2x2; + typedef packed_lowp_mat2x3 packed_mat2x3; + typedef packed_lowp_mat2x4 packed_mat2x4; + typedef packed_lowp_mat3x2 packed_mat3x2; + typedef packed_lowp_mat3x3 packed_mat3x3; + typedef packed_lowp_mat3x4 packed_mat3x4; + typedef packed_lowp_mat4x2 packed_mat4x2; + typedef packed_lowp_mat4x3 packed_mat4x3; + typedef packed_lowp_mat4x4 packed_mat4x4; +#elif(defined(GLM_PRECISION_MEDIUMP_FLOAT)) + typedef aligned_mediump_vec1 aligned_vec1; + typedef aligned_mediump_vec2 aligned_vec2; + typedef aligned_mediump_vec3 aligned_vec3; + typedef aligned_mediump_vec4 aligned_vec4; + typedef packed_mediump_vec1 packed_vec1; + typedef packed_mediump_vec2 packed_vec2; + typedef packed_mediump_vec3 packed_vec3; + typedef packed_mediump_vec4 packed_vec4; + + typedef aligned_mediump_mat2 aligned_mat2; + typedef aligned_mediump_mat3 aligned_mat3; + typedef aligned_mediump_mat4 aligned_mat4; + typedef packed_mediump_mat2 packed_mat2; + typedef packed_mediump_mat3 packed_mat3; + typedef packed_mediump_mat4 packed_mat4; + + typedef aligned_mediump_mat2x2 aligned_mat2x2; + typedef aligned_mediump_mat2x3 aligned_mat2x3; + typedef aligned_mediump_mat2x4 aligned_mat2x4; + typedef aligned_mediump_mat3x2 aligned_mat3x2; + typedef aligned_mediump_mat3x3 aligned_mat3x3; + typedef aligned_mediump_mat3x4 aligned_mat3x4; + typedef aligned_mediump_mat4x2 aligned_mat4x2; + typedef aligned_mediump_mat4x3 aligned_mat4x3; + typedef aligned_mediump_mat4x4 aligned_mat4x4; + typedef packed_mediump_mat2x2 packed_mat2x2; + typedef packed_mediump_mat2x3 packed_mat2x3; + typedef packed_mediump_mat2x4 packed_mat2x4; + typedef packed_mediump_mat3x2 packed_mat3x2; + typedef packed_mediump_mat3x3 packed_mat3x3; + typedef packed_mediump_mat3x4 packed_mat3x4; + typedef packed_mediump_mat4x2 packed_mat4x2; + typedef packed_mediump_mat4x3 packed_mat4x3; + typedef packed_mediump_mat4x4 packed_mat4x4; +#else //defined(GLM_PRECISION_HIGHP_FLOAT) + /// 1 component vector aligned in memory of single-precision floating-point numbers. + typedef aligned_highp_vec1 aligned_vec1; + + /// 2 components vector aligned in memory of single-precision floating-point numbers. + typedef aligned_highp_vec2 aligned_vec2; + + /// 3 components vector aligned in memory of single-precision floating-point numbers. + typedef aligned_highp_vec3 aligned_vec3; + + /// 4 components vector aligned in memory of single-precision floating-point numbers. + typedef aligned_highp_vec4 aligned_vec4; + + /// 1 component vector tightly packed in memory of single-precision floating-point numbers. + typedef packed_highp_vec1 packed_vec1; + + /// 2 components vector tightly packed in memory of single-precision floating-point numbers. + typedef packed_highp_vec2 packed_vec2; + + /// 3 components vector tightly packed in memory of single-precision floating-point numbers. + typedef packed_highp_vec3 packed_vec3; + + /// 4 components vector tightly packed in memory of single-precision floating-point numbers. + typedef packed_highp_vec4 packed_vec4; + + /// 2 by 2 matrix tightly aligned in memory of single-precision floating-point numbers. + typedef aligned_highp_mat2 aligned_mat2; + + /// 3 by 3 matrix tightly aligned in memory of single-precision floating-point numbers. + typedef aligned_highp_mat3 aligned_mat3; + + /// 4 by 4 matrix tightly aligned in memory of single-precision floating-point numbers. + typedef aligned_highp_mat4 aligned_mat4; + + /// 2 by 2 matrix tightly packed in memory of single-precision floating-point numbers. + typedef packed_highp_mat2 packed_mat2; + + /// 3 by 3 matrix tightly packed in memory of single-precision floating-point numbers. + typedef packed_highp_mat3 packed_mat3; + + /// 4 by 4 matrix tightly packed in memory of single-precision floating-point numbers. + typedef packed_highp_mat4 packed_mat4; + + /// 2 by 2 matrix tightly aligned in memory of single-precision floating-point numbers. + typedef aligned_highp_mat2x2 aligned_mat2x2; + + /// 2 by 3 matrix tightly aligned in memory of single-precision floating-point numbers. + typedef aligned_highp_mat2x3 aligned_mat2x3; + + /// 2 by 4 matrix tightly aligned in memory of single-precision floating-point numbers. + typedef aligned_highp_mat2x4 aligned_mat2x4; + + /// 3 by 2 matrix tightly aligned in memory of single-precision floating-point numbers. + typedef aligned_highp_mat3x2 aligned_mat3x2; + + /// 3 by 3 matrix tightly aligned in memory of single-precision floating-point numbers. + typedef aligned_highp_mat3x3 aligned_mat3x3; + + /// 3 by 4 matrix tightly aligned in memory of single-precision floating-point numbers. + typedef aligned_highp_mat3x4 aligned_mat3x4; + + /// 4 by 2 matrix tightly aligned in memory of single-precision floating-point numbers. + typedef aligned_highp_mat4x2 aligned_mat4x2; + + /// 4 by 3 matrix tightly aligned in memory of single-precision floating-point numbers. + typedef aligned_highp_mat4x3 aligned_mat4x3; + + /// 4 by 4 matrix tightly aligned in memory of single-precision floating-point numbers. + typedef aligned_highp_mat4x4 aligned_mat4x4; + + /// 2 by 2 matrix tightly packed in memory of single-precision floating-point numbers. + typedef packed_highp_mat2x2 packed_mat2x2; + + /// 2 by 3 matrix tightly packed in memory of single-precision floating-point numbers. + typedef packed_highp_mat2x3 packed_mat2x3; + + /// 2 by 4 matrix tightly packed in memory of single-precision floating-point numbers. + typedef packed_highp_mat2x4 packed_mat2x4; + + /// 3 by 2 matrix tightly packed in memory of single-precision floating-point numbers. + typedef packed_highp_mat3x2 packed_mat3x2; + + /// 3 by 3 matrix tightly packed in memory of single-precision floating-point numbers. + typedef packed_highp_mat3x3 packed_mat3x3; + + /// 3 by 4 matrix tightly packed in memory of single-precision floating-point numbers. + typedef packed_highp_mat3x4 packed_mat3x4; + + /// 4 by 2 matrix tightly packed in memory of single-precision floating-point numbers. + typedef packed_highp_mat4x2 packed_mat4x2; + + /// 4 by 3 matrix tightly packed in memory of single-precision floating-point numbers. + typedef packed_highp_mat4x3 packed_mat4x3; + + /// 4 by 4 matrix tightly packed in memory of single-precision floating-point numbers. + typedef packed_highp_mat4x4 packed_mat4x4; +#endif//GLM_PRECISION + +#if(defined(GLM_PRECISION_LOWP_DOUBLE)) + typedef aligned_lowp_dvec1 aligned_dvec1; + typedef aligned_lowp_dvec2 aligned_dvec2; + typedef aligned_lowp_dvec3 aligned_dvec3; + typedef aligned_lowp_dvec4 aligned_dvec4; + typedef packed_lowp_dvec1 packed_dvec1; + typedef packed_lowp_dvec2 packed_dvec2; + typedef packed_lowp_dvec3 packed_dvec3; + typedef packed_lowp_dvec4 packed_dvec4; + + typedef aligned_lowp_dmat2 aligned_dmat2; + typedef aligned_lowp_dmat3 aligned_dmat3; + typedef aligned_lowp_dmat4 aligned_dmat4; + typedef packed_lowp_dmat2 packed_dmat2; + typedef packed_lowp_dmat3 packed_dmat3; + typedef packed_lowp_dmat4 packed_dmat4; + + typedef aligned_lowp_dmat2x2 aligned_dmat2x2; + typedef aligned_lowp_dmat2x3 aligned_dmat2x3; + typedef aligned_lowp_dmat2x4 aligned_dmat2x4; + typedef aligned_lowp_dmat3x2 aligned_dmat3x2; + typedef aligned_lowp_dmat3x3 aligned_dmat3x3; + typedef aligned_lowp_dmat3x4 aligned_dmat3x4; + typedef aligned_lowp_dmat4x2 aligned_dmat4x2; + typedef aligned_lowp_dmat4x3 aligned_dmat4x3; + typedef aligned_lowp_dmat4x4 aligned_dmat4x4; + typedef packed_lowp_dmat2x2 packed_dmat2x2; + typedef packed_lowp_dmat2x3 packed_dmat2x3; + typedef packed_lowp_dmat2x4 packed_dmat2x4; + typedef packed_lowp_dmat3x2 packed_dmat3x2; + typedef packed_lowp_dmat3x3 packed_dmat3x3; + typedef packed_lowp_dmat3x4 packed_dmat3x4; + typedef packed_lowp_dmat4x2 packed_dmat4x2; + typedef packed_lowp_dmat4x3 packed_dmat4x3; + typedef packed_lowp_dmat4x4 packed_dmat4x4; +#elif(defined(GLM_PRECISION_MEDIUMP_DOUBLE)) + typedef aligned_mediump_dvec1 aligned_dvec1; + typedef aligned_mediump_dvec2 aligned_dvec2; + typedef aligned_mediump_dvec3 aligned_dvec3; + typedef aligned_mediump_dvec4 aligned_dvec4; + typedef packed_mediump_dvec1 packed_dvec1; + typedef packed_mediump_dvec2 packed_dvec2; + typedef packed_mediump_dvec3 packed_dvec3; + typedef packed_mediump_dvec4 packed_dvec4; + + typedef aligned_mediump_dmat2 aligned_dmat2; + typedef aligned_mediump_dmat3 aligned_dmat3; + typedef aligned_mediump_dmat4 aligned_dmat4; + typedef packed_mediump_dmat2 packed_dmat2; + typedef packed_mediump_dmat3 packed_dmat3; + typedef packed_mediump_dmat4 packed_dmat4; + + typedef aligned_mediump_dmat2x2 aligned_dmat2x2; + typedef aligned_mediump_dmat2x3 aligned_dmat2x3; + typedef aligned_mediump_dmat2x4 aligned_dmat2x4; + typedef aligned_mediump_dmat3x2 aligned_dmat3x2; + typedef aligned_mediump_dmat3x3 aligned_dmat3x3; + typedef aligned_mediump_dmat3x4 aligned_dmat3x4; + typedef aligned_mediump_dmat4x2 aligned_dmat4x2; + typedef aligned_mediump_dmat4x3 aligned_dmat4x3; + typedef aligned_mediump_dmat4x4 aligned_dmat4x4; + typedef packed_mediump_dmat2x2 packed_dmat2x2; + typedef packed_mediump_dmat2x3 packed_dmat2x3; + typedef packed_mediump_dmat2x4 packed_dmat2x4; + typedef packed_mediump_dmat3x2 packed_dmat3x2; + typedef packed_mediump_dmat3x3 packed_dmat3x3; + typedef packed_mediump_dmat3x4 packed_dmat3x4; + typedef packed_mediump_dmat4x2 packed_dmat4x2; + typedef packed_mediump_dmat4x3 packed_dmat4x3; + typedef packed_mediump_dmat4x4 packed_dmat4x4; +#else //defined(GLM_PRECISION_HIGHP_DOUBLE) + /// 1 component vector aligned in memory of double-precision floating-point numbers. + typedef aligned_highp_dvec1 aligned_dvec1; + + /// 2 components vector aligned in memory of double-precision floating-point numbers. + typedef aligned_highp_dvec2 aligned_dvec2; + + /// 3 components vector aligned in memory of double-precision floating-point numbers. + typedef aligned_highp_dvec3 aligned_dvec3; + + /// 4 components vector aligned in memory of double-precision floating-point numbers. + typedef aligned_highp_dvec4 aligned_dvec4; + + /// 1 component vector tightly packed in memory of double-precision floating-point numbers. + typedef packed_highp_dvec1 packed_dvec1; + + /// 2 components vector tightly packed in memory of double-precision floating-point numbers. + typedef packed_highp_dvec2 packed_dvec2; + + /// 3 components vector tightly packed in memory of double-precision floating-point numbers. + typedef packed_highp_dvec3 packed_dvec3; + + /// 4 components vector tightly packed in memory of double-precision floating-point numbers. + typedef packed_highp_dvec4 packed_dvec4; + + /// 2 by 2 matrix tightly aligned in memory of double-precision floating-point numbers. + typedef aligned_highp_dmat2 aligned_dmat2; + + /// 3 by 3 matrix tightly aligned in memory of double-precision floating-point numbers. + typedef aligned_highp_dmat3 aligned_dmat3; + + /// 4 by 4 matrix tightly aligned in memory of double-precision floating-point numbers. + typedef aligned_highp_dmat4 aligned_dmat4; + + /// 2 by 2 matrix tightly packed in memory of double-precision floating-point numbers. + typedef packed_highp_dmat2 packed_dmat2; + + /// 3 by 3 matrix tightly packed in memory of double-precision floating-point numbers. + typedef packed_highp_dmat3 packed_dmat3; + + /// 4 by 4 matrix tightly packed in memory of double-precision floating-point numbers. + typedef packed_highp_dmat4 packed_dmat4; + + /// 2 by 2 matrix tightly aligned in memory of double-precision floating-point numbers. + typedef aligned_highp_dmat2x2 aligned_dmat2x2; + + /// 2 by 3 matrix tightly aligned in memory of double-precision floating-point numbers. + typedef aligned_highp_dmat2x3 aligned_dmat2x3; + + /// 2 by 4 matrix tightly aligned in memory of double-precision floating-point numbers. + typedef aligned_highp_dmat2x4 aligned_dmat2x4; + + /// 3 by 2 matrix tightly aligned in memory of double-precision floating-point numbers. + typedef aligned_highp_dmat3x2 aligned_dmat3x2; + + /// 3 by 3 matrix tightly aligned in memory of double-precision floating-point numbers. + typedef aligned_highp_dmat3x3 aligned_dmat3x3; + + /// 3 by 4 matrix tightly aligned in memory of double-precision floating-point numbers. + typedef aligned_highp_dmat3x4 aligned_dmat3x4; + + /// 4 by 2 matrix tightly aligned in memory of double-precision floating-point numbers. + typedef aligned_highp_dmat4x2 aligned_dmat4x2; + + /// 4 by 3 matrix tightly aligned in memory of double-precision floating-point numbers. + typedef aligned_highp_dmat4x3 aligned_dmat4x3; + + /// 4 by 4 matrix tightly aligned in memory of double-precision floating-point numbers. + typedef aligned_highp_dmat4x4 aligned_dmat4x4; + + /// 2 by 2 matrix tightly packed in memory of double-precision floating-point numbers. + typedef packed_highp_dmat2x2 packed_dmat2x2; + + /// 2 by 3 matrix tightly packed in memory of double-precision floating-point numbers. + typedef packed_highp_dmat2x3 packed_dmat2x3; + + /// 2 by 4 matrix tightly packed in memory of double-precision floating-point numbers. + typedef packed_highp_dmat2x4 packed_dmat2x4; + + /// 3 by 2 matrix tightly packed in memory of double-precision floating-point numbers. + typedef packed_highp_dmat3x2 packed_dmat3x2; + + /// 3 by 3 matrix tightly packed in memory of double-precision floating-point numbers. + typedef packed_highp_dmat3x3 packed_dmat3x3; + + /// 3 by 4 matrix tightly packed in memory of double-precision floating-point numbers. + typedef packed_highp_dmat3x4 packed_dmat3x4; + + /// 4 by 2 matrix tightly packed in memory of double-precision floating-point numbers. + typedef packed_highp_dmat4x2 packed_dmat4x2; + + /// 4 by 3 matrix tightly packed in memory of double-precision floating-point numbers. + typedef packed_highp_dmat4x3 packed_dmat4x3; + + /// 4 by 4 matrix tightly packed in memory of double-precision floating-point numbers. + typedef packed_highp_dmat4x4 packed_dmat4x4; +#endif//GLM_PRECISION + +#if(defined(GLM_PRECISION_LOWP_INT)) + typedef aligned_lowp_ivec1 aligned_ivec1; + typedef aligned_lowp_ivec2 aligned_ivec2; + typedef aligned_lowp_ivec3 aligned_ivec3; + typedef aligned_lowp_ivec4 aligned_ivec4; +#elif(defined(GLM_PRECISION_MEDIUMP_INT)) + typedef aligned_mediump_ivec1 aligned_ivec1; + typedef aligned_mediump_ivec2 aligned_ivec2; + typedef aligned_mediump_ivec3 aligned_ivec3; + typedef aligned_mediump_ivec4 aligned_ivec4; +#else //defined(GLM_PRECISION_HIGHP_INT) + /// 1 component vector aligned in memory of signed integer numbers. + typedef aligned_highp_ivec1 aligned_ivec1; + + /// 2 components vector aligned in memory of signed integer numbers. + typedef aligned_highp_ivec2 aligned_ivec2; + + /// 3 components vector aligned in memory of signed integer numbers. + typedef aligned_highp_ivec3 aligned_ivec3; + + /// 4 components vector aligned in memory of signed integer numbers. + typedef aligned_highp_ivec4 aligned_ivec4; + + /// 1 component vector tightly packed in memory of signed integer numbers. + typedef packed_highp_ivec1 packed_ivec1; + + /// 2 components vector tightly packed in memory of signed integer numbers. + typedef packed_highp_ivec2 packed_ivec2; + + /// 3 components vector tightly packed in memory of signed integer numbers. + typedef packed_highp_ivec3 packed_ivec3; + + /// 4 components vector tightly packed in memory of signed integer numbers. + typedef packed_highp_ivec4 packed_ivec4; +#endif//GLM_PRECISION + + // -- Unsigned integer definition -- + +#if(defined(GLM_PRECISION_LOWP_UINT)) + typedef aligned_lowp_uvec1 aligned_uvec1; + typedef aligned_lowp_uvec2 aligned_uvec2; + typedef aligned_lowp_uvec3 aligned_uvec3; + typedef aligned_lowp_uvec4 aligned_uvec4; +#elif(defined(GLM_PRECISION_MEDIUMP_UINT)) + typedef aligned_mediump_uvec1 aligned_uvec1; + typedef aligned_mediump_uvec2 aligned_uvec2; + typedef aligned_mediump_uvec3 aligned_uvec3; + typedef aligned_mediump_uvec4 aligned_uvec4; +#else //defined(GLM_PRECISION_HIGHP_UINT) + /// 1 component vector aligned in memory of unsigned integer numbers. + typedef aligned_highp_uvec1 aligned_uvec1; + + /// 2 components vector aligned in memory of unsigned integer numbers. + typedef aligned_highp_uvec2 aligned_uvec2; + + /// 3 components vector aligned in memory of unsigned integer numbers. + typedef aligned_highp_uvec3 aligned_uvec3; + + /// 4 components vector aligned in memory of unsigned integer numbers. + typedef aligned_highp_uvec4 aligned_uvec4; + + /// 1 component vector tightly packed in memory of unsigned integer numbers. + typedef packed_highp_uvec1 packed_uvec1; + + /// 2 components vector tightly packed in memory of unsigned integer numbers. + typedef packed_highp_uvec2 packed_uvec2; + + /// 3 components vector tightly packed in memory of unsigned integer numbers. + typedef packed_highp_uvec3 packed_uvec3; + + /// 4 components vector tightly packed in memory of unsigned integer numbers. + typedef packed_highp_uvec4 packed_uvec4; +#endif//GLM_PRECISION + +#if(defined(GLM_PRECISION_LOWP_BOOL)) + typedef aligned_lowp_bvec1 aligned_bvec1; + typedef aligned_lowp_bvec2 aligned_bvec2; + typedef aligned_lowp_bvec3 aligned_bvec3; + typedef aligned_lowp_bvec4 aligned_bvec4; +#elif(defined(GLM_PRECISION_MEDIUMP_BOOL)) + typedef aligned_mediump_bvec1 aligned_bvec1; + typedef aligned_mediump_bvec2 aligned_bvec2; + typedef aligned_mediump_bvec3 aligned_bvec3; + typedef aligned_mediump_bvec4 aligned_bvec4; +#else //defined(GLM_PRECISION_HIGHP_BOOL) + /// 1 component vector aligned in memory of bool values. + typedef aligned_highp_bvec1 aligned_bvec1; + + /// 2 components vector aligned in memory of bool values. + typedef aligned_highp_bvec2 aligned_bvec2; + + /// 3 components vector aligned in memory of bool values. + typedef aligned_highp_bvec3 aligned_bvec3; + + /// 4 components vector aligned in memory of bool values. + typedef aligned_highp_bvec4 aligned_bvec4; + + /// 1 components vector tightly packed in memory of bool values. + typedef packed_highp_bvec1 packed_bvec1; + + /// 2 components vector tightly packed in memory of bool values. + typedef packed_highp_bvec2 packed_bvec2; + + /// 3 components vector tightly packed in memory of bool values. + typedef packed_highp_bvec3 packed_bvec3; + + /// 4 components vector tightly packed in memory of bool values. + typedef packed_highp_bvec4 packed_bvec4; +#endif//GLM_PRECISION + + /// @} +}//namespace glm diff --git a/MacroLibX/third_party/glm/gtc/type_precision.hpp b/MacroLibX/third_party/glm/gtc/type_precision.hpp new file mode 100644 index 0000000..250bc4f --- /dev/null +++ b/MacroLibX/third_party/glm/gtc/type_precision.hpp @@ -0,0 +1,2138 @@ +/// @ref gtc_type_precision +/// @file glm/gtc/type_precision.hpp +/// +/// @see core (dependence) +/// @see gtc_quaternion (dependence) +/// +/// @defgroup gtc_type_precision GLM_GTC_type_precision +/// @ingroup gtc +/// +/// Include to use the features of this extension. +/// +/// Defines specific C++-based qualifier types. + +#pragma once + +// Dependency: +#include "../gtc/quaternion.hpp" +#include "../gtc/vec1.hpp" +#include "../ext/scalar_int_sized.hpp" +#include "../ext/scalar_uint_sized.hpp" +#include "../detail/type_vec2.hpp" +#include "../detail/type_vec3.hpp" +#include "../detail/type_vec4.hpp" +#include "../detail/type_mat2x2.hpp" +#include "../detail/type_mat2x3.hpp" +#include "../detail/type_mat2x4.hpp" +#include "../detail/type_mat3x2.hpp" +#include "../detail/type_mat3x3.hpp" +#include "../detail/type_mat3x4.hpp" +#include "../detail/type_mat4x2.hpp" +#include "../detail/type_mat4x3.hpp" +#include "../detail/type_mat4x4.hpp" + +#if GLM_MESSAGES == GLM_ENABLE && !defined(GLM_EXT_INCLUDED) +# pragma message("GLM: GLM_GTC_type_precision extension included") +#endif + +namespace glm +{ + /////////////////////////// + // Signed int vector types + + /// @addtogroup gtc_type_precision + /// @{ + + /// Low qualifier 8 bit signed integer type. + /// @see gtc_type_precision + typedef detail::int8 lowp_int8; + + /// Low qualifier 16 bit signed integer type. + /// @see gtc_type_precision + typedef detail::int16 lowp_int16; + + /// Low qualifier 32 bit signed integer type. + /// @see gtc_type_precision + typedef detail::int32 lowp_int32; + + /// Low qualifier 64 bit signed integer type. + /// @see gtc_type_precision + typedef detail::int64 lowp_int64; + + /// Low qualifier 8 bit signed integer type. + /// @see gtc_type_precision + typedef detail::int8 lowp_int8_t; + + /// Low qualifier 16 bit signed integer type. + /// @see gtc_type_precision + typedef detail::int16 lowp_int16_t; + + /// Low qualifier 32 bit signed integer type. + /// @see gtc_type_precision + typedef detail::int32 lowp_int32_t; + + /// Low qualifier 64 bit signed integer type. + /// @see gtc_type_precision + typedef detail::int64 lowp_int64_t; + + /// Low qualifier 8 bit signed integer type. + /// @see gtc_type_precision + typedef detail::int8 lowp_i8; + + /// Low qualifier 16 bit signed integer type. + /// @see gtc_type_precision + typedef detail::int16 lowp_i16; + + /// Low qualifier 32 bit signed integer type. + /// @see gtc_type_precision + typedef detail::int32 lowp_i32; + + /// Low qualifier 64 bit signed integer type. + /// @see gtc_type_precision + typedef detail::int64 lowp_i64; + + /// Medium qualifier 8 bit signed integer type. + /// @see gtc_type_precision + typedef detail::int8 mediump_int8; + + /// Medium qualifier 16 bit signed integer type. + /// @see gtc_type_precision + typedef detail::int16 mediump_int16; + + /// Medium qualifier 32 bit signed integer type. + /// @see gtc_type_precision + typedef detail::int32 mediump_int32; + + /// Medium qualifier 64 bit signed integer type. + /// @see gtc_type_precision + typedef detail::int64 mediump_int64; + + /// Medium qualifier 8 bit signed integer type. + /// @see gtc_type_precision + typedef detail::int8 mediump_int8_t; + + /// Medium qualifier 16 bit signed integer type. + /// @see gtc_type_precision + typedef detail::int16 mediump_int16_t; + + /// Medium qualifier 32 bit signed integer type. + /// @see gtc_type_precision + typedef detail::int32 mediump_int32_t; + + /// Medium qualifier 64 bit signed integer type. + /// @see gtc_type_precision + typedef detail::int64 mediump_int64_t; + + /// Medium qualifier 8 bit signed integer type. + /// @see gtc_type_precision + typedef detail::int8 mediump_i8; + + /// Medium qualifier 16 bit signed integer type. + /// @see gtc_type_precision + typedef detail::int16 mediump_i16; + + /// Medium qualifier 32 bit signed integer type. + /// @see gtc_type_precision + typedef detail::int32 mediump_i32; + + /// Medium qualifier 64 bit signed integer type. + /// @see gtc_type_precision + typedef detail::int64 mediump_i64; + + /// High qualifier 8 bit signed integer type. + /// @see gtc_type_precision + typedef detail::int8 highp_int8; + + /// High qualifier 16 bit signed integer type. + /// @see gtc_type_precision + typedef detail::int16 highp_int16; + + /// High qualifier 32 bit signed integer type. + /// @see gtc_type_precision + typedef detail::int32 highp_int32; + + /// High qualifier 64 bit signed integer type. + /// @see gtc_type_precision + typedef detail::int64 highp_int64; + + /// High qualifier 8 bit signed integer type. + /// @see gtc_type_precision + typedef detail::int8 highp_int8_t; + + /// High qualifier 16 bit signed integer type. + /// @see gtc_type_precision + typedef detail::int16 highp_int16_t; + + /// 32 bit signed integer type. + /// @see gtc_type_precision + typedef detail::int32 highp_int32_t; + + /// High qualifier 64 bit signed integer type. + /// @see gtc_type_precision + typedef detail::int64 highp_int64_t; + + /// High qualifier 8 bit signed integer type. + /// @see gtc_type_precision + typedef detail::int8 highp_i8; + + /// High qualifier 16 bit signed integer type. + /// @see gtc_type_precision + typedef detail::int16 highp_i16; + + /// High qualifier 32 bit signed integer type. + /// @see gtc_type_precision + typedef detail::int32 highp_i32; + + /// High qualifier 64 bit signed integer type. + /// @see gtc_type_precision + typedef detail::int64 highp_i64; + + +#if GLM_HAS_EXTENDED_INTEGER_TYPE + using std::int8_t; + using std::int16_t; + using std::int32_t; + using std::int64_t; +#else + /// 8 bit signed integer type. + /// @see gtc_type_precision + typedef detail::int8 int8_t; + + /// 16 bit signed integer type. + /// @see gtc_type_precision + typedef detail::int16 int16_t; + + /// 32 bit signed integer type. + /// @see gtc_type_precision + typedef detail::int32 int32_t; + + /// 64 bit signed integer type. + /// @see gtc_type_precision + typedef detail::int64 int64_t; +#endif + + /// 8 bit signed integer type. + /// @see gtc_type_precision + typedef detail::int8 i8; + + /// 16 bit signed integer type. + /// @see gtc_type_precision + typedef detail::int16 i16; + + /// 32 bit signed integer type. + /// @see gtc_type_precision + typedef detail::int32 i32; + + /// 64 bit signed integer type. + /// @see gtc_type_precision + typedef detail::int64 i64; + + + + /// Low qualifier 8 bit signed integer scalar type. + /// @see gtc_type_precision + typedef vec<1, i8, lowp> lowp_i8vec1; + + /// Low qualifier 8 bit signed integer vector of 2 components type. + /// @see gtc_type_precision + typedef vec<2, i8, lowp> lowp_i8vec2; + + /// Low qualifier 8 bit signed integer vector of 3 components type. + /// @see gtc_type_precision + typedef vec<3, i8, lowp> lowp_i8vec3; + + /// Low qualifier 8 bit signed integer vector of 4 components type. + /// @see gtc_type_precision + typedef vec<4, i8, lowp> lowp_i8vec4; + + + /// Medium qualifier 8 bit signed integer scalar type. + /// @see gtc_type_precision + typedef vec<1, i8, mediump> mediump_i8vec1; + + /// Medium qualifier 8 bit signed integer vector of 2 components type. + /// @see gtc_type_precision + typedef vec<2, i8, mediump> mediump_i8vec2; + + /// Medium qualifier 8 bit signed integer vector of 3 components type. + /// @see gtc_type_precision + typedef vec<3, i8, mediump> mediump_i8vec3; + + /// Medium qualifier 8 bit signed integer vector of 4 components type. + /// @see gtc_type_precision + typedef vec<4, i8, mediump> mediump_i8vec4; + + + /// High qualifier 8 bit signed integer scalar type. + /// @see gtc_type_precision + typedef vec<1, i8, highp> highp_i8vec1; + + /// High qualifier 8 bit signed integer vector of 2 components type. + /// @see gtc_type_precision + typedef vec<2, i8, highp> highp_i8vec2; + + /// High qualifier 8 bit signed integer vector of 3 components type. + /// @see gtc_type_precision + typedef vec<3, i8, highp> highp_i8vec3; + + /// High qualifier 8 bit signed integer vector of 4 components type. + /// @see gtc_type_precision + typedef vec<4, i8, highp> highp_i8vec4; + + + + /// 8 bit signed integer scalar type. + /// @see gtc_type_precision + typedef vec<1, i8, defaultp> i8vec1; + + /// 8 bit signed integer vector of 2 components type. + /// @see gtc_type_precision + typedef vec<2, i8, defaultp> i8vec2; + + /// 8 bit signed integer vector of 3 components type. + /// @see gtc_type_precision + typedef vec<3, i8, defaultp> i8vec3; + + /// 8 bit signed integer vector of 4 components type. + /// @see gtc_type_precision + typedef vec<4, i8, defaultp> i8vec4; + + + + + + /// Low qualifier 16 bit signed integer scalar type. + /// @see gtc_type_precision + typedef vec<1, i16, lowp> lowp_i16vec1; + + /// Low qualifier 16 bit signed integer vector of 2 components type. + /// @see gtc_type_precision + typedef vec<2, i16, lowp> lowp_i16vec2; + + /// Low qualifier 16 bit signed integer vector of 3 components type. + /// @see gtc_type_precision + typedef vec<3, i16, lowp> lowp_i16vec3; + + /// Low qualifier 16 bit signed integer vector of 4 components type. + /// @see gtc_type_precision + typedef vec<4, i16, lowp> lowp_i16vec4; + + + /// Medium qualifier 16 bit signed integer scalar type. + /// @see gtc_type_precision + typedef vec<1, i16, mediump> mediump_i16vec1; + + /// Medium qualifier 16 bit signed integer vector of 2 components type. + /// @see gtc_type_precision + typedef vec<2, i16, mediump> mediump_i16vec2; + + /// Medium qualifier 16 bit signed integer vector of 3 components type. + /// @see gtc_type_precision + typedef vec<3, i16, mediump> mediump_i16vec3; + + /// Medium qualifier 16 bit signed integer vector of 4 components type. + /// @see gtc_type_precision + typedef vec<4, i16, mediump> mediump_i16vec4; + + + /// High qualifier 16 bit signed integer scalar type. + /// @see gtc_type_precision + typedef vec<1, i16, highp> highp_i16vec1; + + /// High qualifier 16 bit signed integer vector of 2 components type. + /// @see gtc_type_precision + typedef vec<2, i16, highp> highp_i16vec2; + + /// High qualifier 16 bit signed integer vector of 3 components type. + /// @see gtc_type_precision + typedef vec<3, i16, highp> highp_i16vec3; + + /// High qualifier 16 bit signed integer vector of 4 components type. + /// @see gtc_type_precision + typedef vec<4, i16, highp> highp_i16vec4; + + + + + /// 16 bit signed integer scalar type. + /// @see gtc_type_precision + typedef vec<1, i16, defaultp> i16vec1; + + /// 16 bit signed integer vector of 2 components type. + /// @see gtc_type_precision + typedef vec<2, i16, defaultp> i16vec2; + + /// 16 bit signed integer vector of 3 components type. + /// @see gtc_type_precision + typedef vec<3, i16, defaultp> i16vec3; + + /// 16 bit signed integer vector of 4 components type. + /// @see gtc_type_precision + typedef vec<4, i16, defaultp> i16vec4; + + + + /// Low qualifier 32 bit signed integer scalar type. + /// @see gtc_type_precision + typedef vec<1, i32, lowp> lowp_i32vec1; + + /// Low qualifier 32 bit signed integer vector of 2 components type. + /// @see gtc_type_precision + typedef vec<2, i32, lowp> lowp_i32vec2; + + /// Low qualifier 32 bit signed integer vector of 3 components type. + /// @see gtc_type_precision + typedef vec<3, i32, lowp> lowp_i32vec3; + + /// Low qualifier 32 bit signed integer vector of 4 components type. + /// @see gtc_type_precision + typedef vec<4, i32, lowp> lowp_i32vec4; + + + /// Medium qualifier 32 bit signed integer scalar type. + /// @see gtc_type_precision + typedef vec<1, i32, mediump> mediump_i32vec1; + + /// Medium qualifier 32 bit signed integer vector of 2 components type. + /// @see gtc_type_precision + typedef vec<2, i32, mediump> mediump_i32vec2; + + /// Medium qualifier 32 bit signed integer vector of 3 components type. + /// @see gtc_type_precision + typedef vec<3, i32, mediump> mediump_i32vec3; + + /// Medium qualifier 32 bit signed integer vector of 4 components type. + /// @see gtc_type_precision + typedef vec<4, i32, mediump> mediump_i32vec4; + + + /// High qualifier 32 bit signed integer scalar type. + /// @see gtc_type_precision + typedef vec<1, i32, highp> highp_i32vec1; + + /// High qualifier 32 bit signed integer vector of 2 components type. + /// @see gtc_type_precision + typedef vec<2, i32, highp> highp_i32vec2; + + /// High qualifier 32 bit signed integer vector of 3 components type. + /// @see gtc_type_precision + typedef vec<3, i32, highp> highp_i32vec3; + + /// High qualifier 32 bit signed integer vector of 4 components type. + /// @see gtc_type_precision + typedef vec<4, i32, highp> highp_i32vec4; + + + /// 32 bit signed integer scalar type. + /// @see gtc_type_precision + typedef vec<1, i32, defaultp> i32vec1; + + /// 32 bit signed integer vector of 2 components type. + /// @see gtc_type_precision + typedef vec<2, i32, defaultp> i32vec2; + + /// 32 bit signed integer vector of 3 components type. + /// @see gtc_type_precision + typedef vec<3, i32, defaultp> i32vec3; + + /// 32 bit signed integer vector of 4 components type. + /// @see gtc_type_precision + typedef vec<4, i32, defaultp> i32vec4; + + + + + /// Low qualifier 64 bit signed integer scalar type. + /// @see gtc_type_precision + typedef vec<1, i64, lowp> lowp_i64vec1; + + /// Low qualifier 64 bit signed integer vector of 2 components type. + /// @see gtc_type_precision + typedef vec<2, i64, lowp> lowp_i64vec2; + + /// Low qualifier 64 bit signed integer vector of 3 components type. + /// @see gtc_type_precision + typedef vec<3, i64, lowp> lowp_i64vec3; + + /// Low qualifier 64 bit signed integer vector of 4 components type. + /// @see gtc_type_precision + typedef vec<4, i64, lowp> lowp_i64vec4; + + + /// Medium qualifier 64 bit signed integer scalar type. + /// @see gtc_type_precision + typedef vec<1, i64, mediump> mediump_i64vec1; + + /// Medium qualifier 64 bit signed integer vector of 2 components type. + /// @see gtc_type_precision + typedef vec<2, i64, mediump> mediump_i64vec2; + + /// Medium qualifier 64 bit signed integer vector of 3 components type. + /// @see gtc_type_precision + typedef vec<3, i64, mediump> mediump_i64vec3; + + /// Medium qualifier 64 bit signed integer vector of 4 components type. + /// @see gtc_type_precision + typedef vec<4, i64, mediump> mediump_i64vec4; + + + /// High qualifier 64 bit signed integer scalar type. + /// @see gtc_type_precision + typedef vec<1, i64, highp> highp_i64vec1; + + /// High qualifier 64 bit signed integer vector of 2 components type. + /// @see gtc_type_precision + typedef vec<2, i64, highp> highp_i64vec2; + + /// High qualifier 64 bit signed integer vector of 3 components type. + /// @see gtc_type_precision + typedef vec<3, i64, highp> highp_i64vec3; + + /// High qualifier 64 bit signed integer vector of 4 components type. + /// @see gtc_type_precision + typedef vec<4, i64, highp> highp_i64vec4; + + + /// 64 bit signed integer scalar type. + /// @see gtc_type_precision + typedef vec<1, i64, defaultp> i64vec1; + + /// 64 bit signed integer vector of 2 components type. + /// @see gtc_type_precision + typedef vec<2, i64, defaultp> i64vec2; + + /// 64 bit signed integer vector of 3 components type. + /// @see gtc_type_precision + typedef vec<3, i64, defaultp> i64vec3; + + /// 64 bit signed integer vector of 4 components type. + /// @see gtc_type_precision + typedef vec<4, i64, defaultp> i64vec4; + + + ///////////////////////////// + // Unsigned int vector types + + /// Low qualifier 8 bit unsigned integer type. + /// @see gtc_type_precision + typedef detail::uint8 lowp_uint8; + + /// Low qualifier 16 bit unsigned integer type. + /// @see gtc_type_precision + typedef detail::uint16 lowp_uint16; + + /// Low qualifier 32 bit unsigned integer type. + /// @see gtc_type_precision + typedef detail::uint32 lowp_uint32; + + /// Low qualifier 64 bit unsigned integer type. + /// @see gtc_type_precision + typedef detail::uint64 lowp_uint64; + + /// Low qualifier 8 bit unsigned integer type. + /// @see gtc_type_precision + typedef detail::uint8 lowp_uint8_t; + + /// Low qualifier 16 bit unsigned integer type. + /// @see gtc_type_precision + typedef detail::uint16 lowp_uint16_t; + + /// Low qualifier 32 bit unsigned integer type. + /// @see gtc_type_precision + typedef detail::uint32 lowp_uint32_t; + + /// Low qualifier 64 bit unsigned integer type. + /// @see gtc_type_precision + typedef detail::uint64 lowp_uint64_t; + + /// Low qualifier 8 bit unsigned integer type. + /// @see gtc_type_precision + typedef detail::uint8 lowp_u8; + + /// Low qualifier 16 bit unsigned integer type. + /// @see gtc_type_precision + typedef detail::uint16 lowp_u16; + + /// Low qualifier 32 bit unsigned integer type. + /// @see gtc_type_precision + typedef detail::uint32 lowp_u32; + + /// Low qualifier 64 bit unsigned integer type. + /// @see gtc_type_precision + typedef detail::uint64 lowp_u64; + + /// Medium qualifier 8 bit unsigned integer type. + /// @see gtc_type_precision + typedef detail::uint8 mediump_uint8; + + /// Medium qualifier 16 bit unsigned integer type. + /// @see gtc_type_precision + typedef detail::uint16 mediump_uint16; + + /// Medium qualifier 32 bit unsigned integer type. + /// @see gtc_type_precision + typedef detail::uint32 mediump_uint32; + + /// Medium qualifier 64 bit unsigned integer type. + /// @see gtc_type_precision + typedef detail::uint64 mediump_uint64; + + /// Medium qualifier 8 bit unsigned integer type. + /// @see gtc_type_precision + typedef detail::uint8 mediump_uint8_t; + + /// Medium qualifier 16 bit unsigned integer type. + /// @see gtc_type_precision + typedef detail::uint16 mediump_uint16_t; + + /// Medium qualifier 32 bit unsigned integer type. + /// @see gtc_type_precision + typedef detail::uint32 mediump_uint32_t; + + /// Medium qualifier 64 bit unsigned integer type. + /// @see gtc_type_precision + typedef detail::uint64 mediump_uint64_t; + + /// Medium qualifier 8 bit unsigned integer type. + /// @see gtc_type_precision + typedef detail::uint8 mediump_u8; + + /// Medium qualifier 16 bit unsigned integer type. + /// @see gtc_type_precision + typedef detail::uint16 mediump_u16; + + /// Medium qualifier 32 bit unsigned integer type. + /// @see gtc_type_precision + typedef detail::uint32 mediump_u32; + + /// Medium qualifier 64 bit unsigned integer type. + /// @see gtc_type_precision + typedef detail::uint64 mediump_u64; + + /// High qualifier 8 bit unsigned integer type. + /// @see gtc_type_precision + typedef detail::uint8 highp_uint8; + + /// High qualifier 16 bit unsigned integer type. + /// @see gtc_type_precision + typedef detail::uint16 highp_uint16; + + /// High qualifier 32 bit unsigned integer type. + /// @see gtc_type_precision + typedef detail::uint32 highp_uint32; + + /// High qualifier 64 bit unsigned integer type. + /// @see gtc_type_precision + typedef detail::uint64 highp_uint64; + + /// High qualifier 8 bit unsigned integer type. + /// @see gtc_type_precision + typedef detail::uint8 highp_uint8_t; + + /// High qualifier 16 bit unsigned integer type. + /// @see gtc_type_precision + typedef detail::uint16 highp_uint16_t; + + /// High qualifier 32 bit unsigned integer type. + /// @see gtc_type_precision + typedef detail::uint32 highp_uint32_t; + + /// High qualifier 64 bit unsigned integer type. + /// @see gtc_type_precision + typedef detail::uint64 highp_uint64_t; + + /// High qualifier 8 bit unsigned integer type. + /// @see gtc_type_precision + typedef detail::uint8 highp_u8; + + /// High qualifier 16 bit unsigned integer type. + /// @see gtc_type_precision + typedef detail::uint16 highp_u16; + + /// High qualifier 32 bit unsigned integer type. + /// @see gtc_type_precision + typedef detail::uint32 highp_u32; + + /// High qualifier 64 bit unsigned integer type. + /// @see gtc_type_precision + typedef detail::uint64 highp_u64; + +#if GLM_HAS_EXTENDED_INTEGER_TYPE + using std::uint8_t; + using std::uint16_t; + using std::uint32_t; + using std::uint64_t; +#else + /// Default qualifier 8 bit unsigned integer type. + /// @see gtc_type_precision + typedef detail::uint8 uint8_t; + + /// Default qualifier 16 bit unsigned integer type. + /// @see gtc_type_precision + typedef detail::uint16 uint16_t; + + /// Default qualifier 32 bit unsigned integer type. + /// @see gtc_type_precision + typedef detail::uint32 uint32_t; + + /// Default qualifier 64 bit unsigned integer type. + /// @see gtc_type_precision + typedef detail::uint64 uint64_t; +#endif + + /// Default qualifier 8 bit unsigned integer type. + /// @see gtc_type_precision + typedef detail::uint8 u8; + + /// Default qualifier 16 bit unsigned integer type. + /// @see gtc_type_precision + typedef detail::uint16 u16; + + /// Default qualifier 32 bit unsigned integer type. + /// @see gtc_type_precision + typedef detail::uint32 u32; + + /// Default qualifier 64 bit unsigned integer type. + /// @see gtc_type_precision + typedef detail::uint64 u64; + + + + + + ////////////////////// + // Float vector types + + /// Single-qualifier floating-point scalar. + /// @see gtc_type_precision + typedef float float32; + + /// Double-qualifier floating-point scalar. + /// @see gtc_type_precision + typedef double float64; + + /// Low 32 bit single-qualifier floating-point scalar. + /// @see gtc_type_precision + typedef float32 lowp_float32; + + /// Low 64 bit double-qualifier floating-point scalar. + /// @see gtc_type_precision + typedef float64 lowp_float64; + + /// Low 32 bit single-qualifier floating-point scalar. + /// @see gtc_type_precision + typedef float32 lowp_float32_t; + + /// Low 64 bit double-qualifier floating-point scalar. + /// @see gtc_type_precision + typedef float64 lowp_float64_t; + + /// Low 32 bit single-qualifier floating-point scalar. + /// @see gtc_type_precision + typedef float32 lowp_f32; + + /// Low 64 bit double-qualifier floating-point scalar. + /// @see gtc_type_precision + typedef float64 lowp_f64; + + /// Low 32 bit single-qualifier floating-point scalar. + /// @see gtc_type_precision + typedef float32 lowp_float32; + + /// Low 64 bit double-qualifier floating-point scalar. + /// @see gtc_type_precision + typedef float64 lowp_float64; + + /// Low 32 bit single-qualifier floating-point scalar. + /// @see gtc_type_precision + typedef float32 lowp_float32_t; + + /// Low 64 bit double-qualifier floating-point scalar. + /// @see gtc_type_precision + typedef float64 lowp_float64_t; + + /// Low 32 bit single-qualifier floating-point scalar. + /// @see gtc_type_precision + typedef float32 lowp_f32; + + /// Low 64 bit double-qualifier floating-point scalar. + /// @see gtc_type_precision + typedef float64 lowp_f64; + + + /// Low 32 bit single-qualifier floating-point scalar. + /// @see gtc_type_precision + typedef float32 lowp_float32; + + /// Low 64 bit double-qualifier floating-point scalar. + /// @see gtc_type_precision + typedef float64 lowp_float64; + + /// Low 32 bit single-qualifier floating-point scalar. + /// @see gtc_type_precision + typedef float32 lowp_float32_t; + + /// Low 64 bit double-qualifier floating-point scalar. + /// @see gtc_type_precision + typedef float64 lowp_float64_t; + + /// Low 32 bit single-qualifier floating-point scalar. + /// @see gtc_type_precision + typedef float32 lowp_f32; + + /// Low 64 bit double-qualifier floating-point scalar. + /// @see gtc_type_precision + typedef float64 lowp_f64; + + + /// Medium 32 bit single-qualifier floating-point scalar. + /// @see gtc_type_precision + typedef float32 mediump_float32; + + /// Medium 64 bit double-qualifier floating-point scalar. + /// @see gtc_type_precision + typedef float64 mediump_float64; + + /// Medium 32 bit single-qualifier floating-point scalar. + /// @see gtc_type_precision + typedef float32 mediump_float32_t; + + /// Medium 64 bit double-qualifier floating-point scalar. + /// @see gtc_type_precision + typedef float64 mediump_float64_t; + + /// Medium 32 bit single-qualifier floating-point scalar. + /// @see gtc_type_precision + typedef float32 mediump_f32; + + /// Medium 64 bit double-qualifier floating-point scalar. + /// @see gtc_type_precision + typedef float64 mediump_f64; + + + /// High 32 bit single-qualifier floating-point scalar. + /// @see gtc_type_precision + typedef float32 highp_float32; + + /// High 64 bit double-qualifier floating-point scalar. + /// @see gtc_type_precision + typedef float64 highp_float64; + + /// High 32 bit single-qualifier floating-point scalar. + /// @see gtc_type_precision + typedef float32 highp_float32_t; + + /// High 64 bit double-qualifier floating-point scalar. + /// @see gtc_type_precision + typedef float64 highp_float64_t; + + /// High 32 bit single-qualifier floating-point scalar. + /// @see gtc_type_precision + typedef float32 highp_f32; + + /// High 64 bit double-qualifier floating-point scalar. + /// @see gtc_type_precision + typedef float64 highp_f64; + + +#if(defined(GLM_PRECISION_LOWP_FLOAT)) + /// Default 32 bit single-qualifier floating-point scalar. + /// @see gtc_type_precision + typedef lowp_float32_t float32_t; + + /// Default 64 bit double-qualifier floating-point scalar. + /// @see gtc_type_precision + typedef lowp_float64_t float64_t; + + /// Default 32 bit single-qualifier floating-point scalar. + /// @see gtc_type_precision + typedef lowp_f32 f32; + + /// Default 64 bit double-qualifier floating-point scalar. + /// @see gtc_type_precision + typedef lowp_f64 f64; + +#elif(defined(GLM_PRECISION_MEDIUMP_FLOAT)) + /// Default 32 bit single-qualifier floating-point scalar. + /// @see gtc_type_precision + typedef mediump_float32 float32_t; + + /// Default 64 bit double-qualifier floating-point scalar. + /// @see gtc_type_precision + typedef mediump_float64 float64_t; + + /// Default 32 bit single-qualifier floating-point scalar. + /// @see gtc_type_precision + typedef mediump_float32 f32; + + /// Default 64 bit double-qualifier floating-point scalar. + /// @see gtc_type_precision + typedef mediump_float64 f64; + +#else//(defined(GLM_PRECISION_HIGHP_FLOAT)) + + /// Default 32 bit single-qualifier floating-point scalar. + /// @see gtc_type_precision + typedef highp_float32_t float32_t; + + /// Default 64 bit double-qualifier floating-point scalar. + /// @see gtc_type_precision + typedef highp_float64_t float64_t; + + /// Default 32 bit single-qualifier floating-point scalar. + /// @see gtc_type_precision + typedef highp_float32_t f32; + + /// Default 64 bit double-qualifier floating-point scalar. + /// @see gtc_type_precision + typedef highp_float64_t f64; +#endif + + + /// Low single-qualifier floating-point vector of 1 component. + /// @see gtc_type_precision + typedef vec<1, float, lowp> lowp_fvec1; + + /// Low single-qualifier floating-point vector of 2 components. + /// @see gtc_type_precision + typedef vec<2, float, lowp> lowp_fvec2; + + /// Low single-qualifier floating-point vector of 3 components. + /// @see gtc_type_precision + typedef vec<3, float, lowp> lowp_fvec3; + + /// Low single-qualifier floating-point vector of 4 components. + /// @see gtc_type_precision + typedef vec<4, float, lowp> lowp_fvec4; + + + /// Medium single-qualifier floating-point vector of 1 component. + /// @see gtc_type_precision + typedef vec<1, float, mediump> mediump_fvec1; + + /// Medium Single-qualifier floating-point vector of 2 components. + /// @see gtc_type_precision + typedef vec<2, float, mediump> mediump_fvec2; + + /// Medium Single-qualifier floating-point vector of 3 components. + /// @see gtc_type_precision + typedef vec<3, float, mediump> mediump_fvec3; + + /// Medium Single-qualifier floating-point vector of 4 components. + /// @see gtc_type_precision + typedef vec<4, float, mediump> mediump_fvec4; + + + /// High single-qualifier floating-point vector of 1 component. + /// @see gtc_type_precision + typedef vec<1, float, highp> highp_fvec1; + + /// High Single-qualifier floating-point vector of 2 components. + /// @see core_precision + typedef vec<2, float, highp> highp_fvec2; + + /// High Single-qualifier floating-point vector of 3 components. + /// @see core_precision + typedef vec<3, float, highp> highp_fvec3; + + /// High Single-qualifier floating-point vector of 4 components. + /// @see core_precision + typedef vec<4, float, highp> highp_fvec4; + + + /// Low single-qualifier floating-point vector of 1 component. + /// @see gtc_type_precision + typedef vec<1, f32, lowp> lowp_f32vec1; + + /// Low single-qualifier floating-point vector of 2 components. + /// @see core_precision + typedef vec<2, f32, lowp> lowp_f32vec2; + + /// Low single-qualifier floating-point vector of 3 components. + /// @see core_precision + typedef vec<3, f32, lowp> lowp_f32vec3; + + /// Low single-qualifier floating-point vector of 4 components. + /// @see core_precision + typedef vec<4, f32, lowp> lowp_f32vec4; + + /// Medium single-qualifier floating-point vector of 1 component. + /// @see gtc_type_precision + typedef vec<1, f32, mediump> mediump_f32vec1; + + /// Medium single-qualifier floating-point vector of 2 components. + /// @see core_precision + typedef vec<2, f32, mediump> mediump_f32vec2; + + /// Medium single-qualifier floating-point vector of 3 components. + /// @see core_precision + typedef vec<3, f32, mediump> mediump_f32vec3; + + /// Medium single-qualifier floating-point vector of 4 components. + /// @see core_precision + typedef vec<4, f32, mediump> mediump_f32vec4; + + /// High single-qualifier floating-point vector of 1 component. + /// @see gtc_type_precision + typedef vec<1, f32, highp> highp_f32vec1; + + /// High single-qualifier floating-point vector of 2 components. + /// @see gtc_type_precision + typedef vec<2, f32, highp> highp_f32vec2; + + /// High single-qualifier floating-point vector of 3 components. + /// @see gtc_type_precision + typedef vec<3, f32, highp> highp_f32vec3; + + /// High single-qualifier floating-point vector of 4 components. + /// @see gtc_type_precision + typedef vec<4, f32, highp> highp_f32vec4; + + + /// Low double-qualifier floating-point vector of 1 component. + /// @see gtc_type_precision + typedef vec<1, f64, lowp> lowp_f64vec1; + + /// Low double-qualifier floating-point vector of 2 components. + /// @see gtc_type_precision + typedef vec<2, f64, lowp> lowp_f64vec2; + + /// Low double-qualifier floating-point vector of 3 components. + /// @see gtc_type_precision + typedef vec<3, f64, lowp> lowp_f64vec3; + + /// Low double-qualifier floating-point vector of 4 components. + /// @see gtc_type_precision + typedef vec<4, f64, lowp> lowp_f64vec4; + + /// Medium double-qualifier floating-point vector of 1 component. + /// @see gtc_type_precision + typedef vec<1, f64, mediump> mediump_f64vec1; + + /// Medium double-qualifier floating-point vector of 2 components. + /// @see gtc_type_precision + typedef vec<2, f64, mediump> mediump_f64vec2; + + /// Medium double-qualifier floating-point vector of 3 components. + /// @see gtc_type_precision + typedef vec<3, f64, mediump> mediump_f64vec3; + + /// Medium double-qualifier floating-point vector of 4 components. + /// @see gtc_type_precision + typedef vec<4, f64, mediump> mediump_f64vec4; + + /// High double-qualifier floating-point vector of 1 component. + /// @see gtc_type_precision + typedef vec<1, f64, highp> highp_f64vec1; + + /// High double-qualifier floating-point vector of 2 components. + /// @see gtc_type_precision + typedef vec<2, f64, highp> highp_f64vec2; + + /// High double-qualifier floating-point vector of 3 components. + /// @see gtc_type_precision + typedef vec<3, f64, highp> highp_f64vec3; + + /// High double-qualifier floating-point vector of 4 components. + /// @see gtc_type_precision + typedef vec<4, f64, highp> highp_f64vec4; + + + + ////////////////////// + // Float matrix types + + /// Low single-qualifier floating-point 1x1 matrix. + /// @see gtc_type_precision + //typedef lowp_f32 lowp_fmat1x1; + + /// Low single-qualifier floating-point 2x2 matrix. + /// @see gtc_type_precision + typedef mat<2, 2, f32, lowp> lowp_fmat2x2; + + /// Low single-qualifier floating-point 2x3 matrix. + /// @see gtc_type_precision + typedef mat<2, 3, f32, lowp> lowp_fmat2x3; + + /// Low single-qualifier floating-point 2x4 matrix. + /// @see gtc_type_precision + typedef mat<2, 4, f32, lowp> lowp_fmat2x4; + + /// Low single-qualifier floating-point 3x2 matrix. + /// @see gtc_type_precision + typedef mat<3, 2, f32, lowp> lowp_fmat3x2; + + /// Low single-qualifier floating-point 3x3 matrix. + /// @see gtc_type_precision + typedef mat<3, 3, f32, lowp> lowp_fmat3x3; + + /// Low single-qualifier floating-point 3x4 matrix. + /// @see gtc_type_precision + typedef mat<3, 4, f32, lowp> lowp_fmat3x4; + + /// Low single-qualifier floating-point 4x2 matrix. + /// @see gtc_type_precision + typedef mat<4, 2, f32, lowp> lowp_fmat4x2; + + /// Low single-qualifier floating-point 4x3 matrix. + /// @see gtc_type_precision + typedef mat<4, 3, f32, lowp> lowp_fmat4x3; + + /// Low single-qualifier floating-point 4x4 matrix. + /// @see gtc_type_precision + typedef mat<4, 4, f32, lowp> lowp_fmat4x4; + + /// Low single-qualifier floating-point 1x1 matrix. + /// @see gtc_type_precision + //typedef lowp_fmat1x1 lowp_fmat1; + + /// Low single-qualifier floating-point 2x2 matrix. + /// @see gtc_type_precision + typedef lowp_fmat2x2 lowp_fmat2; + + /// Low single-qualifier floating-point 3x3 matrix. + /// @see gtc_type_precision + typedef lowp_fmat3x3 lowp_fmat3; + + /// Low single-qualifier floating-point 4x4 matrix. + /// @see gtc_type_precision + typedef lowp_fmat4x4 lowp_fmat4; + + + /// Medium single-qualifier floating-point 1x1 matrix. + /// @see gtc_type_precision + //typedef mediump_f32 mediump_fmat1x1; + + /// Medium single-qualifier floating-point 2x2 matrix. + /// @see gtc_type_precision + typedef mat<2, 2, f32, mediump> mediump_fmat2x2; + + /// Medium single-qualifier floating-point 2x3 matrix. + /// @see gtc_type_precision + typedef mat<2, 3, f32, mediump> mediump_fmat2x3; + + /// Medium single-qualifier floating-point 2x4 matrix. + /// @see gtc_type_precision + typedef mat<2, 4, f32, mediump> mediump_fmat2x4; + + /// Medium single-qualifier floating-point 3x2 matrix. + /// @see gtc_type_precision + typedef mat<3, 2, f32, mediump> mediump_fmat3x2; + + /// Medium single-qualifier floating-point 3x3 matrix. + /// @see gtc_type_precision + typedef mat<3, 3, f32, mediump> mediump_fmat3x3; + + /// Medium single-qualifier floating-point 3x4 matrix. + /// @see gtc_type_precision + typedef mat<3, 4, f32, mediump> mediump_fmat3x4; + + /// Medium single-qualifier floating-point 4x2 matrix. + /// @see gtc_type_precision + typedef mat<4, 2, f32, mediump> mediump_fmat4x2; + + /// Medium single-qualifier floating-point 4x3 matrix. + /// @see gtc_type_precision + typedef mat<4, 3, f32, mediump> mediump_fmat4x3; + + /// Medium single-qualifier floating-point 4x4 matrix. + /// @see gtc_type_precision + typedef mat<4, 4, f32, mediump> mediump_fmat4x4; + + /// Medium single-qualifier floating-point 1x1 matrix. + /// @see gtc_type_precision + //typedef mediump_fmat1x1 mediump_fmat1; + + /// Medium single-qualifier floating-point 2x2 matrix. + /// @see gtc_type_precision + typedef mediump_fmat2x2 mediump_fmat2; + + /// Medium single-qualifier floating-point 3x3 matrix. + /// @see gtc_type_precision + typedef mediump_fmat3x3 mediump_fmat3; + + /// Medium single-qualifier floating-point 4x4 matrix. + /// @see gtc_type_precision + typedef mediump_fmat4x4 mediump_fmat4; + + + /// High single-qualifier floating-point 1x1 matrix. + /// @see gtc_type_precision + //typedef highp_f32 highp_fmat1x1; + + /// High single-qualifier floating-point 2x2 matrix. + /// @see gtc_type_precision + typedef mat<2, 2, f32, highp> highp_fmat2x2; + + /// High single-qualifier floating-point 2x3 matrix. + /// @see gtc_type_precision + typedef mat<2, 3, f32, highp> highp_fmat2x3; + + /// High single-qualifier floating-point 2x4 matrix. + /// @see gtc_type_precision + typedef mat<2, 4, f32, highp> highp_fmat2x4; + + /// High single-qualifier floating-point 3x2 matrix. + /// @see gtc_type_precision + typedef mat<3, 2, f32, highp> highp_fmat3x2; + + /// High single-qualifier floating-point 3x3 matrix. + /// @see gtc_type_precision + typedef mat<3, 3, f32, highp> highp_fmat3x3; + + /// High single-qualifier floating-point 3x4 matrix. + /// @see gtc_type_precision + typedef mat<3, 4, f32, highp> highp_fmat3x4; + + /// High single-qualifier floating-point 4x2 matrix. + /// @see gtc_type_precision + typedef mat<4, 2, f32, highp> highp_fmat4x2; + + /// High single-qualifier floating-point 4x3 matrix. + /// @see gtc_type_precision + typedef mat<4, 3, f32, highp> highp_fmat4x3; + + /// High single-qualifier floating-point 4x4 matrix. + /// @see gtc_type_precision + typedef mat<4, 4, f32, highp> highp_fmat4x4; + + /// High single-qualifier floating-point 1x1 matrix. + /// @see gtc_type_precision + //typedef highp_fmat1x1 highp_fmat1; + + /// High single-qualifier floating-point 2x2 matrix. + /// @see gtc_type_precision + typedef highp_fmat2x2 highp_fmat2; + + /// High single-qualifier floating-point 3x3 matrix. + /// @see gtc_type_precision + typedef highp_fmat3x3 highp_fmat3; + + /// High single-qualifier floating-point 4x4 matrix. + /// @see gtc_type_precision + typedef highp_fmat4x4 highp_fmat4; + + + /// Low single-qualifier floating-point 1x1 matrix. + /// @see gtc_type_precision + //typedef f32 lowp_f32mat1x1; + + /// Low single-qualifier floating-point 2x2 matrix. + /// @see gtc_type_precision + typedef mat<2, 2, f32, lowp> lowp_f32mat2x2; + + /// Low single-qualifier floating-point 2x3 matrix. + /// @see gtc_type_precision + typedef mat<2, 3, f32, lowp> lowp_f32mat2x3; + + /// Low single-qualifier floating-point 2x4 matrix. + /// @see gtc_type_precision + typedef mat<2, 4, f32, lowp> lowp_f32mat2x4; + + /// Low single-qualifier floating-point 3x2 matrix. + /// @see gtc_type_precision + typedef mat<3, 2, f32, lowp> lowp_f32mat3x2; + + /// Low single-qualifier floating-point 3x3 matrix. + /// @see gtc_type_precision + typedef mat<3, 3, f32, lowp> lowp_f32mat3x3; + + /// Low single-qualifier floating-point 3x4 matrix. + /// @see gtc_type_precision + typedef mat<3, 4, f32, lowp> lowp_f32mat3x4; + + /// Low single-qualifier floating-point 4x2 matrix. + /// @see gtc_type_precision + typedef mat<4, 2, f32, lowp> lowp_f32mat4x2; + + /// Low single-qualifier floating-point 4x3 matrix. + /// @see gtc_type_precision + typedef mat<4, 3, f32, lowp> lowp_f32mat4x3; + + /// Low single-qualifier floating-point 4x4 matrix. + /// @see gtc_type_precision + typedef mat<4, 4, f32, lowp> lowp_f32mat4x4; + + /// Low single-qualifier floating-point 1x1 matrix. + /// @see gtc_type_precision + //typedef detail::tmat1x1 lowp_f32mat1; + + /// Low single-qualifier floating-point 2x2 matrix. + /// @see gtc_type_precision + typedef lowp_f32mat2x2 lowp_f32mat2; + + /// Low single-qualifier floating-point 3x3 matrix. + /// @see gtc_type_precision + typedef lowp_f32mat3x3 lowp_f32mat3; + + /// Low single-qualifier floating-point 4x4 matrix. + /// @see gtc_type_precision + typedef lowp_f32mat4x4 lowp_f32mat4; + + + /// High single-qualifier floating-point 1x1 matrix. + /// @see gtc_type_precision + //typedef f32 mediump_f32mat1x1; + + /// Low single-qualifier floating-point 2x2 matrix. + /// @see gtc_type_precision + typedef mat<2, 2, f32, mediump> mediump_f32mat2x2; + + /// Medium single-qualifier floating-point 2x3 matrix. + /// @see gtc_type_precision + typedef mat<2, 3, f32, mediump> mediump_f32mat2x3; + + /// Medium single-qualifier floating-point 2x4 matrix. + /// @see gtc_type_precision + typedef mat<2, 4, f32, mediump> mediump_f32mat2x4; + + /// Medium single-qualifier floating-point 3x2 matrix. + /// @see gtc_type_precision + typedef mat<3, 2, f32, mediump> mediump_f32mat3x2; + + /// Medium single-qualifier floating-point 3x3 matrix. + /// @see gtc_type_precision + typedef mat<3, 3, f32, mediump> mediump_f32mat3x3; + + /// Medium single-qualifier floating-point 3x4 matrix. + /// @see gtc_type_precision + typedef mat<3, 4, f32, mediump> mediump_f32mat3x4; + + /// Medium single-qualifier floating-point 4x2 matrix. + /// @see gtc_type_precision + typedef mat<4, 2, f32, mediump> mediump_f32mat4x2; + + /// Medium single-qualifier floating-point 4x3 matrix. + /// @see gtc_type_precision + typedef mat<4, 3, f32, mediump> mediump_f32mat4x3; + + /// Medium single-qualifier floating-point 4x4 matrix. + /// @see gtc_type_precision + typedef mat<4, 4, f32, mediump> mediump_f32mat4x4; + + /// Medium single-qualifier floating-point 1x1 matrix. + /// @see gtc_type_precision + //typedef detail::tmat1x1 f32mat1; + + /// Medium single-qualifier floating-point 2x2 matrix. + /// @see gtc_type_precision + typedef mediump_f32mat2x2 mediump_f32mat2; + + /// Medium single-qualifier floating-point 3x3 matrix. + /// @see gtc_type_precision + typedef mediump_f32mat3x3 mediump_f32mat3; + + /// Medium single-qualifier floating-point 4x4 matrix. + /// @see gtc_type_precision + typedef mediump_f32mat4x4 mediump_f32mat4; + + + /// High single-qualifier floating-point 1x1 matrix. + /// @see gtc_type_precision + //typedef f32 highp_f32mat1x1; + + /// High single-qualifier floating-point 2x2 matrix. + /// @see gtc_type_precision + typedef mat<2, 2, f32, highp> highp_f32mat2x2; + + /// High single-qualifier floating-point 2x3 matrix. + /// @see gtc_type_precision + typedef mat<2, 3, f32, highp> highp_f32mat2x3; + + /// High single-qualifier floating-point 2x4 matrix. + /// @see gtc_type_precision + typedef mat<2, 4, f32, highp> highp_f32mat2x4; + + /// High single-qualifier floating-point 3x2 matrix. + /// @see gtc_type_precision + typedef mat<3, 2, f32, highp> highp_f32mat3x2; + + /// High single-qualifier floating-point 3x3 matrix. + /// @see gtc_type_precision + typedef mat<3, 3, f32, highp> highp_f32mat3x3; + + /// High single-qualifier floating-point 3x4 matrix. + /// @see gtc_type_precision + typedef mat<3, 4, f32, highp> highp_f32mat3x4; + + /// High single-qualifier floating-point 4x2 matrix. + /// @see gtc_type_precision + typedef mat<4, 2, f32, highp> highp_f32mat4x2; + + /// High single-qualifier floating-point 4x3 matrix. + /// @see gtc_type_precision + typedef mat<4, 3, f32, highp> highp_f32mat4x3; + + /// High single-qualifier floating-point 4x4 matrix. + /// @see gtc_type_precision + typedef mat<4, 4, f32, highp> highp_f32mat4x4; + + /// High single-qualifier floating-point 1x1 matrix. + /// @see gtc_type_precision + //typedef detail::tmat1x1 f32mat1; + + /// High single-qualifier floating-point 2x2 matrix. + /// @see gtc_type_precision + typedef highp_f32mat2x2 highp_f32mat2; + + /// High single-qualifier floating-point 3x3 matrix. + /// @see gtc_type_precision + typedef highp_f32mat3x3 highp_f32mat3; + + /// High single-qualifier floating-point 4x4 matrix. + /// @see gtc_type_precision + typedef highp_f32mat4x4 highp_f32mat4; + + + /// Low double-qualifier floating-point 1x1 matrix. + /// @see gtc_type_precision + //typedef f64 lowp_f64mat1x1; + + /// Low double-qualifier floating-point 2x2 matrix. + /// @see gtc_type_precision + typedef mat<2, 2, f64, lowp> lowp_f64mat2x2; + + /// Low double-qualifier floating-point 2x3 matrix. + /// @see gtc_type_precision + typedef mat<2, 3, f64, lowp> lowp_f64mat2x3; + + /// Low double-qualifier floating-point 2x4 matrix. + /// @see gtc_type_precision + typedef mat<2, 4, f64, lowp> lowp_f64mat2x4; + + /// Low double-qualifier floating-point 3x2 matrix. + /// @see gtc_type_precision + typedef mat<3, 2, f64, lowp> lowp_f64mat3x2; + + /// Low double-qualifier floating-point 3x3 matrix. + /// @see gtc_type_precision + typedef mat<3, 3, f64, lowp> lowp_f64mat3x3; + + /// Low double-qualifier floating-point 3x4 matrix. + /// @see gtc_type_precision + typedef mat<3, 4, f64, lowp> lowp_f64mat3x4; + + /// Low double-qualifier floating-point 4x2 matrix. + /// @see gtc_type_precision + typedef mat<4, 2, f64, lowp> lowp_f64mat4x2; + + /// Low double-qualifier floating-point 4x3 matrix. + /// @see gtc_type_precision + typedef mat<4, 3, f64, lowp> lowp_f64mat4x3; + + /// Low double-qualifier floating-point 4x4 matrix. + /// @see gtc_type_precision + typedef mat<4, 4, f64, lowp> lowp_f64mat4x4; + + /// Low double-qualifier floating-point 1x1 matrix. + /// @see gtc_type_precision + //typedef lowp_f64mat1x1 lowp_f64mat1; + + /// Low double-qualifier floating-point 2x2 matrix. + /// @see gtc_type_precision + typedef lowp_f64mat2x2 lowp_f64mat2; + + /// Low double-qualifier floating-point 3x3 matrix. + /// @see gtc_type_precision + typedef lowp_f64mat3x3 lowp_f64mat3; + + /// Low double-qualifier floating-point 4x4 matrix. + /// @see gtc_type_precision + typedef lowp_f64mat4x4 lowp_f64mat4; + + + /// Medium double-qualifier floating-point 1x1 matrix. + /// @see gtc_type_precision + //typedef f64 Highp_f64mat1x1; + + /// Medium double-qualifier floating-point 2x2 matrix. + /// @see gtc_type_precision + typedef mat<2, 2, f64, mediump> mediump_f64mat2x2; + + /// Medium double-qualifier floating-point 2x3 matrix. + /// @see gtc_type_precision + typedef mat<2, 3, f64, mediump> mediump_f64mat2x3; + + /// Medium double-qualifier floating-point 2x4 matrix. + /// @see gtc_type_precision + typedef mat<2, 4, f64, mediump> mediump_f64mat2x4; + + /// Medium double-qualifier floating-point 3x2 matrix. + /// @see gtc_type_precision + typedef mat<3, 2, f64, mediump> mediump_f64mat3x2; + + /// Medium double-qualifier floating-point 3x3 matrix. + /// @see gtc_type_precision + typedef mat<3, 3, f64, mediump> mediump_f64mat3x3; + + /// Medium double-qualifier floating-point 3x4 matrix. + /// @see gtc_type_precision + typedef mat<3, 4, f64, mediump> mediump_f64mat3x4; + + /// Medium double-qualifier floating-point 4x2 matrix. + /// @see gtc_type_precision + typedef mat<4, 2, f64, mediump> mediump_f64mat4x2; + + /// Medium double-qualifier floating-point 4x3 matrix. + /// @see gtc_type_precision + typedef mat<4, 3, f64, mediump> mediump_f64mat4x3; + + /// Medium double-qualifier floating-point 4x4 matrix. + /// @see gtc_type_precision + typedef mat<4, 4, f64, mediump> mediump_f64mat4x4; + + /// Medium double-qualifier floating-point 1x1 matrix. + /// @see gtc_type_precision + //typedef mediump_f64mat1x1 mediump_f64mat1; + + /// Medium double-qualifier floating-point 2x2 matrix. + /// @see gtc_type_precision + typedef mediump_f64mat2x2 mediump_f64mat2; + + /// Medium double-qualifier floating-point 3x3 matrix. + /// @see gtc_type_precision + typedef mediump_f64mat3x3 mediump_f64mat3; + + /// Medium double-qualifier floating-point 4x4 matrix. + /// @see gtc_type_precision + typedef mediump_f64mat4x4 mediump_f64mat4; + + /// High double-qualifier floating-point 1x1 matrix. + /// @see gtc_type_precision + //typedef f64 highp_f64mat1x1; + + /// High double-qualifier floating-point 2x2 matrix. + /// @see gtc_type_precision + typedef mat<2, 2, f64, highp> highp_f64mat2x2; + + /// High double-qualifier floating-point 2x3 matrix. + /// @see gtc_type_precision + typedef mat<2, 3, f64, highp> highp_f64mat2x3; + + /// High double-qualifier floating-point 2x4 matrix. + /// @see gtc_type_precision + typedef mat<2, 4, f64, highp> highp_f64mat2x4; + + /// High double-qualifier floating-point 3x2 matrix. + /// @see gtc_type_precision + typedef mat<3, 2, f64, highp> highp_f64mat3x2; + + /// High double-qualifier floating-point 3x3 matrix. + /// @see gtc_type_precision + typedef mat<3, 3, f64, highp> highp_f64mat3x3; + + /// High double-qualifier floating-point 3x4 matrix. + /// @see gtc_type_precision + typedef mat<3, 4, f64, highp> highp_f64mat3x4; + + /// High double-qualifier floating-point 4x2 matrix. + /// @see gtc_type_precision + typedef mat<4, 2, f64, highp> highp_f64mat4x2; + + /// High double-qualifier floating-point 4x3 matrix. + /// @see gtc_type_precision + typedef mat<4, 3, f64, highp> highp_f64mat4x3; + + /// High double-qualifier floating-point 4x4 matrix. + /// @see gtc_type_precision + typedef mat<4, 4, f64, highp> highp_f64mat4x4; + + /// High double-qualifier floating-point 1x1 matrix. + /// @see gtc_type_precision + //typedef highp_f64mat1x1 highp_f64mat1; + + /// High double-qualifier floating-point 2x2 matrix. + /// @see gtc_type_precision + typedef highp_f64mat2x2 highp_f64mat2; + + /// High double-qualifier floating-point 3x3 matrix. + /// @see gtc_type_precision + typedef highp_f64mat3x3 highp_f64mat3; + + /// High double-qualifier floating-point 4x4 matrix. + /// @see gtc_type_precision + typedef highp_f64mat4x4 highp_f64mat4; + + + + + /// Low qualifier 8 bit unsigned integer scalar type. + /// @see gtc_type_precision + typedef vec<1, u8, lowp> lowp_u8vec1; + + /// Low qualifier 8 bit unsigned integer vector of 2 components type. + /// @see gtc_type_precision + typedef vec<2, u8, lowp> lowp_u8vec2; + + /// Low qualifier 8 bit unsigned integer vector of 3 components type. + /// @see gtc_type_precision + typedef vec<3, u8, lowp> lowp_u8vec3; + + /// Low qualifier 8 bit unsigned integer vector of 4 components type. + /// @see gtc_type_precision + typedef vec<4, u8, lowp> lowp_u8vec4; + + + /// Medium qualifier 8 bit unsigned integer scalar type. + /// @see gtc_type_precision + typedef vec<1, u8, mediump> mediump_u8vec1; + + /// Medium qualifier 8 bit unsigned integer vector of 2 components type. + /// @see gtc_type_precision + typedef vec<2, u8, mediump> mediump_u8vec2; + + /// Medium qualifier 8 bit unsigned integer vector of 3 components type. + /// @see gtc_type_precision + typedef vec<3, u8, mediump> mediump_u8vec3; + + /// Medium qualifier 8 bit unsigned integer vector of 4 components type. + /// @see gtc_type_precision + typedef vec<4, u8, mediump> mediump_u8vec4; + + + /// High qualifier 8 bit unsigned integer scalar type. + /// @see gtc_type_precision + typedef vec<1, u8, highp> highp_u8vec1; + + /// High qualifier 8 bit unsigned integer vector of 2 components type. + /// @see gtc_type_precision + typedef vec<2, u8, highp> highp_u8vec2; + + /// High qualifier 8 bit unsigned integer vector of 3 components type. + /// @see gtc_type_precision + typedef vec<3, u8, highp> highp_u8vec3; + + /// High qualifier 8 bit unsigned integer vector of 4 components type. + /// @see gtc_type_precision + typedef vec<4, u8, highp> highp_u8vec4; + + + + /// Default qualifier 8 bit unsigned integer scalar type. + /// @see gtc_type_precision + typedef vec<1, u8, defaultp> u8vec1; + + /// Default qualifier 8 bit unsigned integer vector of 2 components type. + /// @see gtc_type_precision + typedef vec<2, u8, defaultp> u8vec2; + + /// Default qualifier 8 bit unsigned integer vector of 3 components type. + /// @see gtc_type_precision + typedef vec<3, u8, defaultp> u8vec3; + + /// Default qualifier 8 bit unsigned integer vector of 4 components type. + /// @see gtc_type_precision + typedef vec<4, u8, defaultp> u8vec4; + + + + + /// Low qualifier 16 bit unsigned integer scalar type. + /// @see gtc_type_precision + typedef vec<1, u16, lowp> lowp_u16vec1; + + /// Low qualifier 16 bit unsigned integer vector of 2 components type. + /// @see gtc_type_precision + typedef vec<2, u16, lowp> lowp_u16vec2; + + /// Low qualifier 16 bit unsigned integer vector of 3 components type. + /// @see gtc_type_precision + typedef vec<3, u16, lowp> lowp_u16vec3; + + /// Low qualifier 16 bit unsigned integer vector of 4 components type. + /// @see gtc_type_precision + typedef vec<4, u16, lowp> lowp_u16vec4; + + + /// Medium qualifier 16 bit unsigned integer scalar type. + /// @see gtc_type_precision + typedef vec<1, u16, mediump> mediump_u16vec1; + + /// Medium qualifier 16 bit unsigned integer vector of 2 components type. + /// @see gtc_type_precision + typedef vec<2, u16, mediump> mediump_u16vec2; + + /// Medium qualifier 16 bit unsigned integer vector of 3 components type. + /// @see gtc_type_precision + typedef vec<3, u16, mediump> mediump_u16vec3; + + /// Medium qualifier 16 bit unsigned integer vector of 4 components type. + /// @see gtc_type_precision + typedef vec<4, u16, mediump> mediump_u16vec4; + + + /// High qualifier 16 bit unsigned integer scalar type. + /// @see gtc_type_precision + typedef vec<1, u16, highp> highp_u16vec1; + + /// High qualifier 16 bit unsigned integer vector of 2 components type. + /// @see gtc_type_precision + typedef vec<2, u16, highp> highp_u16vec2; + + /// High qualifier 16 bit unsigned integer vector of 3 components type. + /// @see gtc_type_precision + typedef vec<3, u16, highp> highp_u16vec3; + + /// High qualifier 16 bit unsigned integer vector of 4 components type. + /// @see gtc_type_precision + typedef vec<4, u16, highp> highp_u16vec4; + + + + + /// Default qualifier 16 bit unsigned integer scalar type. + /// @see gtc_type_precision + typedef vec<1, u16, defaultp> u16vec1; + + /// Default qualifier 16 bit unsigned integer vector of 2 components type. + /// @see gtc_type_precision + typedef vec<2, u16, defaultp> u16vec2; + + /// Default qualifier 16 bit unsigned integer vector of 3 components type. + /// @see gtc_type_precision + typedef vec<3, u16, defaultp> u16vec3; + + /// Default qualifier 16 bit unsigned integer vector of 4 components type. + /// @see gtc_type_precision + typedef vec<4, u16, defaultp> u16vec4; + + + + /// Low qualifier 32 bit unsigned integer scalar type. + /// @see gtc_type_precision + typedef vec<1, u32, lowp> lowp_u32vec1; + + /// Low qualifier 32 bit unsigned integer vector of 2 components type. + /// @see gtc_type_precision + typedef vec<2, u32, lowp> lowp_u32vec2; + + /// Low qualifier 32 bit unsigned integer vector of 3 components type. + /// @see gtc_type_precision + typedef vec<3, u32, lowp> lowp_u32vec3; + + /// Low qualifier 32 bit unsigned integer vector of 4 components type. + /// @see gtc_type_precision + typedef vec<4, u32, lowp> lowp_u32vec4; + + + /// Medium qualifier 32 bit unsigned integer scalar type. + /// @see gtc_type_precision + typedef vec<1, u32, mediump> mediump_u32vec1; + + /// Medium qualifier 32 bit unsigned integer vector of 2 components type. + /// @see gtc_type_precision + typedef vec<2, u32, mediump> mediump_u32vec2; + + /// Medium qualifier 32 bit unsigned integer vector of 3 components type. + /// @see gtc_type_precision + typedef vec<3, u32, mediump> mediump_u32vec3; + + /// Medium qualifier 32 bit unsigned integer vector of 4 components type. + /// @see gtc_type_precision + typedef vec<4, u32, mediump> mediump_u32vec4; + + + /// High qualifier 32 bit unsigned integer scalar type. + /// @see gtc_type_precision + typedef vec<1, u32, highp> highp_u32vec1; + + /// High qualifier 32 bit unsigned integer vector of 2 components type. + /// @see gtc_type_precision + typedef vec<2, u32, highp> highp_u32vec2; + + /// High qualifier 32 bit unsigned integer vector of 3 components type. + /// @see gtc_type_precision + typedef vec<3, u32, highp> highp_u32vec3; + + /// High qualifier 32 bit unsigned integer vector of 4 components type. + /// @see gtc_type_precision + typedef vec<4, u32, highp> highp_u32vec4; + + + + /// Default qualifier 32 bit unsigned integer scalar type. + /// @see gtc_type_precision + typedef vec<1, u32, defaultp> u32vec1; + + /// Default qualifier 32 bit unsigned integer vector of 2 components type. + /// @see gtc_type_precision + typedef vec<2, u32, defaultp> u32vec2; + + /// Default qualifier 32 bit unsigned integer vector of 3 components type. + /// @see gtc_type_precision + typedef vec<3, u32, defaultp> u32vec3; + + /// Default qualifier 32 bit unsigned integer vector of 4 components type. + /// @see gtc_type_precision + typedef vec<4, u32, defaultp> u32vec4; + + + + + /// Low qualifier 64 bit unsigned integer scalar type. + /// @see gtc_type_precision + typedef vec<1, u64, lowp> lowp_u64vec1; + + /// Low qualifier 64 bit unsigned integer vector of 2 components type. + /// @see gtc_type_precision + typedef vec<2, u64, lowp> lowp_u64vec2; + + /// Low qualifier 64 bit unsigned integer vector of 3 components type. + /// @see gtc_type_precision + typedef vec<3, u64, lowp> lowp_u64vec3; + + /// Low qualifier 64 bit unsigned integer vector of 4 components type. + /// @see gtc_type_precision + typedef vec<4, u64, lowp> lowp_u64vec4; + + + /// Medium qualifier 64 bit unsigned integer scalar type. + /// @see gtc_type_precision + typedef vec<1, u64, mediump> mediump_u64vec1; + + /// Medium qualifier 64 bit unsigned integer vector of 2 components type. + /// @see gtc_type_precision + typedef vec<2, u64, mediump> mediump_u64vec2; + + /// Medium qualifier 64 bit unsigned integer vector of 3 components type. + /// @see gtc_type_precision + typedef vec<3, u64, mediump> mediump_u64vec3; + + /// Medium qualifier 64 bit unsigned integer vector of 4 components type. + /// @see gtc_type_precision + typedef vec<4, u64, mediump> mediump_u64vec4; + + + /// High qualifier 64 bit unsigned integer scalar type. + /// @see gtc_type_precision + typedef vec<1, u64, highp> highp_u64vec1; + + /// High qualifier 64 bit unsigned integer vector of 2 components type. + /// @see gtc_type_precision + typedef vec<2, u64, highp> highp_u64vec2; + + /// High qualifier 64 bit unsigned integer vector of 3 components type. + /// @see gtc_type_precision + typedef vec<3, u64, highp> highp_u64vec3; + + /// High qualifier 64 bit unsigned integer vector of 4 components type. + /// @see gtc_type_precision + typedef vec<4, u64, highp> highp_u64vec4; + + + + + /// Default qualifier 64 bit unsigned integer scalar type. + /// @see gtc_type_precision + typedef vec<1, u64, defaultp> u64vec1; + + /// Default qualifier 64 bit unsigned integer vector of 2 components type. + /// @see gtc_type_precision + typedef vec<2, u64, defaultp> u64vec2; + + /// Default qualifier 64 bit unsigned integer vector of 3 components type. + /// @see gtc_type_precision + typedef vec<3, u64, defaultp> u64vec3; + + /// Default qualifier 64 bit unsigned integer vector of 4 components type. + /// @see gtc_type_precision + typedef vec<4, u64, defaultp> u64vec4; + + + ////////////////////// + // Float vector types + + /// 32 bit single-qualifier floating-point scalar. + /// @see gtc_type_precision + typedef float32 float32_t; + + /// 32 bit single-qualifier floating-point scalar. + /// @see gtc_type_precision + typedef float32 f32; + +# ifndef GLM_FORCE_SINGLE_ONLY + + /// 64 bit double-qualifier floating-point scalar. + /// @see gtc_type_precision + typedef float64 float64_t; + + /// 64 bit double-qualifier floating-point scalar. + /// @see gtc_type_precision + typedef float64 f64; +# endif//GLM_FORCE_SINGLE_ONLY + + /// Single-qualifier floating-point vector of 1 component. + /// @see gtc_type_precision + typedef vec<1, float, defaultp> fvec1; + + /// Single-qualifier floating-point vector of 2 components. + /// @see gtc_type_precision + typedef vec<2, float, defaultp> fvec2; + + /// Single-qualifier floating-point vector of 3 components. + /// @see gtc_type_precision + typedef vec<3, float, defaultp> fvec3; + + /// Single-qualifier floating-point vector of 4 components. + /// @see gtc_type_precision + typedef vec<4, float, defaultp> fvec4; + + + /// Single-qualifier floating-point vector of 1 component. + /// @see gtc_type_precision + typedef vec<1, f32, defaultp> f32vec1; + + /// Single-qualifier floating-point vector of 2 components. + /// @see gtc_type_precision + typedef vec<2, f32, defaultp> f32vec2; + + /// Single-qualifier floating-point vector of 3 components. + /// @see gtc_type_precision + typedef vec<3, f32, defaultp> f32vec3; + + /// Single-qualifier floating-point vector of 4 components. + /// @see gtc_type_precision + typedef vec<4, f32, defaultp> f32vec4; + +# ifndef GLM_FORCE_SINGLE_ONLY + /// Double-qualifier floating-point vector of 1 component. + /// @see gtc_type_precision + typedef vec<1, f64, defaultp> f64vec1; + + /// Double-qualifier floating-point vector of 2 components. + /// @see gtc_type_precision + typedef vec<2, f64, defaultp> f64vec2; + + /// Double-qualifier floating-point vector of 3 components. + /// @see gtc_type_precision + typedef vec<3, f64, defaultp> f64vec3; + + /// Double-qualifier floating-point vector of 4 components. + /// @see gtc_type_precision + typedef vec<4, f64, defaultp> f64vec4; +# endif//GLM_FORCE_SINGLE_ONLY + + + ////////////////////// + // Float matrix types + + /// Single-qualifier floating-point 1x1 matrix. + /// @see gtc_type_precision + //typedef detail::tmat1x1 fmat1; + + /// Single-qualifier floating-point 2x2 matrix. + /// @see gtc_type_precision + typedef mat<2, 2, f32, defaultp> fmat2; + + /// Single-qualifier floating-point 3x3 matrix. + /// @see gtc_type_precision + typedef mat<3, 3, f32, defaultp> fmat3; + + /// Single-qualifier floating-point 4x4 matrix. + /// @see gtc_type_precision + typedef mat<4, 4, f32, defaultp> fmat4; + + + /// Single-qualifier floating-point 1x1 matrix. + /// @see gtc_type_precision + //typedef f32 fmat1x1; + + /// Single-qualifier floating-point 2x2 matrix. + /// @see gtc_type_precision + typedef mat<2, 2, f32, defaultp> fmat2x2; + + /// Single-qualifier floating-point 2x3 matrix. + /// @see gtc_type_precision + typedef mat<2, 3, f32, defaultp> fmat2x3; + + /// Single-qualifier floating-point 2x4 matrix. + /// @see gtc_type_precision + typedef mat<2, 4, f32, defaultp> fmat2x4; + + /// Single-qualifier floating-point 3x2 matrix. + /// @see gtc_type_precision + typedef mat<3, 2, f32, defaultp> fmat3x2; + + /// Single-qualifier floating-point 3x3 matrix. + /// @see gtc_type_precision + typedef mat<3, 3, f32, defaultp> fmat3x3; + + /// Single-qualifier floating-point 3x4 matrix. + /// @see gtc_type_precision + typedef mat<3, 4, f32, defaultp> fmat3x4; + + /// Single-qualifier floating-point 4x2 matrix. + /// @see gtc_type_precision + typedef mat<4, 2, f32, defaultp> fmat4x2; + + /// Single-qualifier floating-point 4x3 matrix. + /// @see gtc_type_precision + typedef mat<4, 3, f32, defaultp> fmat4x3; + + /// Single-qualifier floating-point 4x4 matrix. + /// @see gtc_type_precision + typedef mat<4, 4, f32, defaultp> fmat4x4; + + + /// Single-qualifier floating-point 1x1 matrix. + /// @see gtc_type_precision + //typedef detail::tmat1x1 f32mat1; + + /// Single-qualifier floating-point 2x2 matrix. + /// @see gtc_type_precision + typedef mat<2, 2, f32, defaultp> f32mat2; + + /// Single-qualifier floating-point 3x3 matrix. + /// @see gtc_type_precision + typedef mat<3, 3, f32, defaultp> f32mat3; + + /// Single-qualifier floating-point 4x4 matrix. + /// @see gtc_type_precision + typedef mat<4, 4, f32, defaultp> f32mat4; + + + /// Single-qualifier floating-point 1x1 matrix. + /// @see gtc_type_precision + //typedef f32 f32mat1x1; + + /// Single-qualifier floating-point 2x2 matrix. + /// @see gtc_type_precision + typedef mat<2, 2, f32, defaultp> f32mat2x2; + + /// Single-qualifier floating-point 2x3 matrix. + /// @see gtc_type_precision + typedef mat<2, 3, f32, defaultp> f32mat2x3; + + /// Single-qualifier floating-point 2x4 matrix. + /// @see gtc_type_precision + typedef mat<2, 4, f32, defaultp> f32mat2x4; + + /// Single-qualifier floating-point 3x2 matrix. + /// @see gtc_type_precision + typedef mat<3, 2, f32, defaultp> f32mat3x2; + + /// Single-qualifier floating-point 3x3 matrix. + /// @see gtc_type_precision + typedef mat<3, 3, f32, defaultp> f32mat3x3; + + /// Single-qualifier floating-point 3x4 matrix. + /// @see gtc_type_precision + typedef mat<3, 4, f32, defaultp> f32mat3x4; + + /// Single-qualifier floating-point 4x2 matrix. + /// @see gtc_type_precision + typedef mat<4, 2, f32, defaultp> f32mat4x2; + + /// Single-qualifier floating-point 4x3 matrix. + /// @see gtc_type_precision + typedef mat<4, 3, f32, defaultp> f32mat4x3; + + /// Single-qualifier floating-point 4x4 matrix. + /// @see gtc_type_precision + typedef mat<4, 4, f32, defaultp> f32mat4x4; + + +# ifndef GLM_FORCE_SINGLE_ONLY + + /// Double-qualifier floating-point 1x1 matrix. + /// @see gtc_type_precision + //typedef detail::tmat1x1 f64mat1; + + /// Double-qualifier floating-point 2x2 matrix. + /// @see gtc_type_precision + typedef mat<2, 2, f64, defaultp> f64mat2; + + /// Double-qualifier floating-point 3x3 matrix. + /// @see gtc_type_precision + typedef mat<3, 3, f64, defaultp> f64mat3; + + /// Double-qualifier floating-point 4x4 matrix. + /// @see gtc_type_precision + typedef mat<4, 4, f64, defaultp> f64mat4; + + + /// Double-qualifier floating-point 1x1 matrix. + /// @see gtc_type_precision + //typedef f64 f64mat1x1; + + /// Double-qualifier floating-point 2x2 matrix. + /// @see gtc_type_precision + typedef mat<2, 2, f64, defaultp> f64mat2x2; + + /// Double-qualifier floating-point 2x3 matrix. + /// @see gtc_type_precision + typedef mat<2, 3, f64, defaultp> f64mat2x3; + + /// Double-qualifier floating-point 2x4 matrix. + /// @see gtc_type_precision + typedef mat<2, 4, f64, defaultp> f64mat2x4; + + /// Double-qualifier floating-point 3x2 matrix. + /// @see gtc_type_precision + typedef mat<3, 2, f64, defaultp> f64mat3x2; + + /// Double-qualifier floating-point 3x3 matrix. + /// @see gtc_type_precision + typedef mat<3, 3, f64, defaultp> f64mat3x3; + + /// Double-qualifier floating-point 3x4 matrix. + /// @see gtc_type_precision + typedef mat<3, 4, f64, defaultp> f64mat3x4; + + /// Double-qualifier floating-point 4x2 matrix. + /// @see gtc_type_precision + typedef mat<4, 2, f64, defaultp> f64mat4x2; + + /// Double-qualifier floating-point 4x3 matrix. + /// @see gtc_type_precision + typedef mat<4, 3, f64, defaultp> f64mat4x3; + + /// Double-qualifier floating-point 4x4 matrix. + /// @see gtc_type_precision + typedef mat<4, 4, f64, defaultp> f64mat4x4; + +# endif//GLM_FORCE_SINGLE_ONLY + + ////////////////////////// + // Quaternion types + + /// Single-qualifier floating-point quaternion. + /// @see gtc_type_precision + typedef qua f32quat; + + /// Low single-qualifier floating-point quaternion. + /// @see gtc_type_precision + typedef qua lowp_f32quat; + + /// Low double-qualifier floating-point quaternion. + /// @see gtc_type_precision + typedef qua lowp_f64quat; + + /// Medium single-qualifier floating-point quaternion. + /// @see gtc_type_precision + typedef qua mediump_f32quat; + +# ifndef GLM_FORCE_SINGLE_ONLY + + /// Medium double-qualifier floating-point quaternion. + /// @see gtc_type_precision + typedef qua mediump_f64quat; + + /// High single-qualifier floating-point quaternion. + /// @see gtc_type_precision + typedef qua highp_f32quat; + + /// High double-qualifier floating-point quaternion. + /// @see gtc_type_precision + typedef qua highp_f64quat; + + /// Double-qualifier floating-point quaternion. + /// @see gtc_type_precision + typedef qua f64quat; + +# endif//GLM_FORCE_SINGLE_ONLY + + /// @} +}//namespace glm + +#include "type_precision.inl" diff --git a/MacroLibX/third_party/glm/gtc/type_precision.inl b/MacroLibX/third_party/glm/gtc/type_precision.inl new file mode 100644 index 0000000..ae80912 --- /dev/null +++ b/MacroLibX/third_party/glm/gtc/type_precision.inl @@ -0,0 +1,6 @@ +/// @ref gtc_precision + +namespace glm +{ + +} diff --git a/MacroLibX/third_party/glm/gtc/type_ptr.hpp b/MacroLibX/third_party/glm/gtc/type_ptr.hpp new file mode 100644 index 0000000..d7e625a --- /dev/null +++ b/MacroLibX/third_party/glm/gtc/type_ptr.hpp @@ -0,0 +1,230 @@ +/// @ref gtc_type_ptr +/// @file glm/gtc/type_ptr.hpp +/// +/// @see core (dependence) +/// @see gtc_quaternion (dependence) +/// +/// @defgroup gtc_type_ptr GLM_GTC_type_ptr +/// @ingroup gtc +/// +/// Include to use the features of this extension. +/// +/// Handles the interaction between pointers and vector, matrix types. +/// +/// This extension defines an overloaded function, glm::value_ptr. It returns +/// a pointer to the memory layout of the object. Matrix types store their values +/// in column-major order. +/// +/// This is useful for uploading data to matrices or copying data to buffer objects. +/// +/// Example: +/// @code +/// #include +/// #include +/// +/// glm::vec3 aVector(3); +/// glm::mat4 someMatrix(1.0); +/// +/// glUniform3fv(uniformLoc, 1, glm::value_ptr(aVector)); +/// glUniformMatrix4fv(uniformMatrixLoc, 1, GL_FALSE, glm::value_ptr(someMatrix)); +/// @endcode +/// +/// need to be included to use the features of this extension. + +#pragma once + +// Dependency: +#include "../gtc/quaternion.hpp" +#include "../gtc/vec1.hpp" +#include "../vec2.hpp" +#include "../vec3.hpp" +#include "../vec4.hpp" +#include "../mat2x2.hpp" +#include "../mat2x3.hpp" +#include "../mat2x4.hpp" +#include "../mat3x2.hpp" +#include "../mat3x3.hpp" +#include "../mat3x4.hpp" +#include "../mat4x2.hpp" +#include "../mat4x3.hpp" +#include "../mat4x4.hpp" +#include + +#if GLM_MESSAGES == GLM_ENABLE && !defined(GLM_EXT_INCLUDED) +# pragma message("GLM: GLM_GTC_type_ptr extension included") +#endif + +namespace glm +{ + /// @addtogroup gtc_type_ptr + /// @{ + + /// Return the constant address to the data of the input parameter. + /// @see gtc_type_ptr + template + GLM_FUNC_DECL typename genType::value_type const * value_ptr(genType const& v); + + /// Build a vector from a pointer. + /// @see gtc_type_ptr + template + GLM_FUNC_DECL vec<1, T, Q> make_vec1(vec<1, T, Q> const& v); + + /// Build a vector from a pointer. + /// @see gtc_type_ptr + template + GLM_FUNC_DECL vec<1, T, Q> make_vec1(vec<2, T, Q> const& v); + + /// Build a vector from a pointer. + /// @see gtc_type_ptr + template + GLM_FUNC_DECL vec<1, T, Q> make_vec1(vec<3, T, Q> const& v); + + /// Build a vector from a pointer. + /// @see gtc_type_ptr + template + GLM_FUNC_DECL vec<1, T, Q> make_vec1(vec<4, T, Q> const& v); + + /// Build a vector from a pointer. + /// @see gtc_type_ptr + template + GLM_FUNC_DECL vec<2, T, Q> make_vec2(vec<1, T, Q> const& v); + + /// Build a vector from a pointer. + /// @see gtc_type_ptr + template + GLM_FUNC_DECL vec<2, T, Q> make_vec2(vec<2, T, Q> const& v); + + /// Build a vector from a pointer. + /// @see gtc_type_ptr + template + GLM_FUNC_DECL vec<2, T, Q> make_vec2(vec<3, T, Q> const& v); + + /// Build a vector from a pointer. + /// @see gtc_type_ptr + template + GLM_FUNC_DECL vec<2, T, Q> make_vec2(vec<4, T, Q> const& v); + + /// Build a vector from a pointer. + /// @see gtc_type_ptr + template + GLM_FUNC_DECL vec<3, T, Q> make_vec3(vec<1, T, Q> const& v); + + /// Build a vector from a pointer. + /// @see gtc_type_ptr + template + GLM_FUNC_DECL vec<3, T, Q> make_vec3(vec<2, T, Q> const& v); + + /// Build a vector from a pointer. + /// @see gtc_type_ptr + template + GLM_FUNC_DECL vec<3, T, Q> make_vec3(vec<3, T, Q> const& v); + + /// Build a vector from a pointer. + /// @see gtc_type_ptr + template + GLM_FUNC_DECL vec<3, T, Q> make_vec3(vec<4, T, Q> const& v); + + /// Build a vector from a pointer. + /// @see gtc_type_ptr + template + GLM_FUNC_DECL vec<4, T, Q> make_vec4(vec<1, T, Q> const& v); + + /// Build a vector from a pointer. + /// @see gtc_type_ptr + template + GLM_FUNC_DECL vec<4, T, Q> make_vec4(vec<2, T, Q> const& v); + + /// Build a vector from a pointer. + /// @see gtc_type_ptr + template + GLM_FUNC_DECL vec<4, T, Q> make_vec4(vec<3, T, Q> const& v); + + /// Build a vector from a pointer. + /// @see gtc_type_ptr + template + GLM_FUNC_DECL vec<4, T, Q> make_vec4(vec<4, T, Q> const& v); + + /// Build a vector from a pointer. + /// @see gtc_type_ptr + template + GLM_FUNC_DECL vec<2, T, defaultp> make_vec2(T const * const ptr); + + /// Build a vector from a pointer. + /// @see gtc_type_ptr + template + GLM_FUNC_DECL vec<3, T, defaultp> make_vec3(T const * const ptr); + + /// Build a vector from a pointer. + /// @see gtc_type_ptr + template + GLM_FUNC_DECL vec<4, T, defaultp> make_vec4(T const * const ptr); + + /// Build a matrix from a pointer. + /// @see gtc_type_ptr + template + GLM_FUNC_DECL mat<2, 2, T, defaultp> make_mat2x2(T const * const ptr); + + /// Build a matrix from a pointer. + /// @see gtc_type_ptr + template + GLM_FUNC_DECL mat<2, 3, T, defaultp> make_mat2x3(T const * const ptr); + + /// Build a matrix from a pointer. + /// @see gtc_type_ptr + template + GLM_FUNC_DECL mat<2, 4, T, defaultp> make_mat2x4(T const * const ptr); + + /// Build a matrix from a pointer. + /// @see gtc_type_ptr + template + GLM_FUNC_DECL mat<3, 2, T, defaultp> make_mat3x2(T const * const ptr); + + /// Build a matrix from a pointer. + /// @see gtc_type_ptr + template + GLM_FUNC_DECL mat<3, 3, T, defaultp> make_mat3x3(T const * const ptr); + + /// Build a matrix from a pointer. + /// @see gtc_type_ptr + template + GLM_FUNC_DECL mat<3, 4, T, defaultp> make_mat3x4(T const * const ptr); + + /// Build a matrix from a pointer. + /// @see gtc_type_ptr + template + GLM_FUNC_DECL mat<4, 2, T, defaultp> make_mat4x2(T const * const ptr); + + /// Build a matrix from a pointer. + /// @see gtc_type_ptr + template + GLM_FUNC_DECL mat<4, 3, T, defaultp> make_mat4x3(T const * const ptr); + + /// Build a matrix from a pointer. + /// @see gtc_type_ptr + template + GLM_FUNC_DECL mat<4, 4, T, defaultp> make_mat4x4(T const * const ptr); + + /// Build a matrix from a pointer. + /// @see gtc_type_ptr + template + GLM_FUNC_DECL mat<2, 2, T, defaultp> make_mat2(T const * const ptr); + + /// Build a matrix from a pointer. + /// @see gtc_type_ptr + template + GLM_FUNC_DECL mat<3, 3, T, defaultp> make_mat3(T const * const ptr); + + /// Build a matrix from a pointer. + /// @see gtc_type_ptr + template + GLM_FUNC_DECL mat<4, 4, T, defaultp> make_mat4(T const * const ptr); + + /// Build a quaternion from a pointer. + /// @see gtc_type_ptr + template + GLM_FUNC_DECL qua make_quat(T const * const ptr); + + /// @} +}//namespace glm + +#include "type_ptr.inl" diff --git a/MacroLibX/third_party/glm/gtc/type_ptr.inl b/MacroLibX/third_party/glm/gtc/type_ptr.inl new file mode 100644 index 0000000..71df4d3 --- /dev/null +++ b/MacroLibX/third_party/glm/gtc/type_ptr.inl @@ -0,0 +1,386 @@ +/// @ref gtc_type_ptr + +#include + +namespace glm +{ + /// @addtogroup gtc_type_ptr + /// @{ + + template + GLM_FUNC_QUALIFIER T const* value_ptr(vec<2, T, Q> const& v) + { + return &(v.x); + } + + template + GLM_FUNC_QUALIFIER T* value_ptr(vec<2, T, Q>& v) + { + return &(v.x); + } + + template + GLM_FUNC_QUALIFIER T const * value_ptr(vec<3, T, Q> const& v) + { + return &(v.x); + } + + template + GLM_FUNC_QUALIFIER T* value_ptr(vec<3, T, Q>& v) + { + return &(v.x); + } + + template + GLM_FUNC_QUALIFIER T const* value_ptr(vec<4, T, Q> const& v) + { + return &(v.x); + } + + template + GLM_FUNC_QUALIFIER T* value_ptr(vec<4, T, Q>& v) + { + return &(v.x); + } + + template + GLM_FUNC_QUALIFIER T const* value_ptr(mat<2, 2, T, Q> const& m) + { + return &(m[0].x); + } + + template + GLM_FUNC_QUALIFIER T* value_ptr(mat<2, 2, T, Q>& m) + { + return &(m[0].x); + } + + template + GLM_FUNC_QUALIFIER T const* value_ptr(mat<3, 3, T, Q> const& m) + { + return &(m[0].x); + } + + template + GLM_FUNC_QUALIFIER T* value_ptr(mat<3, 3, T, Q>& m) + { + return &(m[0].x); + } + + template + GLM_FUNC_QUALIFIER T const* value_ptr(mat<4, 4, T, Q> const& m) + { + return &(m[0].x); + } + + template + GLM_FUNC_QUALIFIER T* value_ptr(mat<4, 4, T, Q>& m) + { + return &(m[0].x); + } + + template + GLM_FUNC_QUALIFIER T const* value_ptr(mat<2, 3, T, Q> const& m) + { + return &(m[0].x); + } + + template + GLM_FUNC_QUALIFIER T* value_ptr(mat<2, 3, T, Q>& m) + { + return &(m[0].x); + } + + template + GLM_FUNC_QUALIFIER T const* value_ptr(mat<3, 2, T, Q> const& m) + { + return &(m[0].x); + } + + template + GLM_FUNC_QUALIFIER T* value_ptr(mat<3, 2, T, Q>& m) + { + return &(m[0].x); + } + + template + GLM_FUNC_QUALIFIER T const* value_ptr(mat<2, 4, T, Q> const& m) + { + return &(m[0].x); + } + + template + GLM_FUNC_QUALIFIER T* value_ptr(mat<2, 4, T, Q>& m) + { + return &(m[0].x); + } + + template + GLM_FUNC_QUALIFIER T const* value_ptr(mat<4, 2, T, Q> const& m) + { + return &(m[0].x); + } + + template + GLM_FUNC_QUALIFIER T* value_ptr(mat<4, 2, T, Q>& m) + { + return &(m[0].x); + } + + template + GLM_FUNC_QUALIFIER T const* value_ptr(mat<3, 4, T, Q> const& m) + { + return &(m[0].x); + } + + template + GLM_FUNC_QUALIFIER T* value_ptr(mat<3, 4, T, Q>& m) + { + return &(m[0].x); + } + + template + GLM_FUNC_QUALIFIER T const* value_ptr(mat<4, 3, T, Q> const& m) + { + return &(m[0].x); + } + + template + GLM_FUNC_QUALIFIER T * value_ptr(mat<4, 3, T, Q>& m) + { + return &(m[0].x); + } + + template + GLM_FUNC_QUALIFIER T const * value_ptr(qua const& q) + { + return &(q[0]); + } + + template + GLM_FUNC_QUALIFIER T* value_ptr(qua& q) + { + return &(q[0]); + } + + template + inline vec<1, T, Q> make_vec1(vec<1, T, Q> const& v) + { + return v; + } + + template + inline vec<1, T, Q> make_vec1(vec<2, T, Q> const& v) + { + return vec<1, T, Q>(v); + } + + template + inline vec<1, T, Q> make_vec1(vec<3, T, Q> const& v) + { + return vec<1, T, Q>(v); + } + + template + inline vec<1, T, Q> make_vec1(vec<4, T, Q> const& v) + { + return vec<1, T, Q>(v); + } + + template + inline vec<2, T, Q> make_vec2(vec<1, T, Q> const& v) + { + return vec<2, T, Q>(v.x, static_cast(0)); + } + + template + inline vec<2, T, Q> make_vec2(vec<2, T, Q> const& v) + { + return v; + } + + template + inline vec<2, T, Q> make_vec2(vec<3, T, Q> const& v) + { + return vec<2, T, Q>(v); + } + + template + inline vec<2, T, Q> make_vec2(vec<4, T, Q> const& v) + { + return vec<2, T, Q>(v); + } + + template + inline vec<3, T, Q> make_vec3(vec<1, T, Q> const& v) + { + return vec<3, T, Q>(v.x, static_cast(0), static_cast(0)); + } + + template + inline vec<3, T, Q> make_vec3(vec<2, T, Q> const& v) + { + return vec<3, T, Q>(v.x, v.y, static_cast(0)); + } + + template + inline vec<3, T, Q> make_vec3(vec<3, T, Q> const& v) + { + return v; + } + + template + inline vec<3, T, Q> make_vec3(vec<4, T, Q> const& v) + { + return vec<3, T, Q>(v); + } + + template + inline vec<4, T, Q> make_vec4(vec<1, T, Q> const& v) + { + return vec<4, T, Q>(v.x, static_cast(0), static_cast(0), static_cast(1)); + } + + template + inline vec<4, T, Q> make_vec4(vec<2, T, Q> const& v) + { + return vec<4, T, Q>(v.x, v.y, static_cast(0), static_cast(1)); + } + + template + inline vec<4, T, Q> make_vec4(vec<3, T, Q> const& v) + { + return vec<4, T, Q>(v.x, v.y, v.z, static_cast(1)); + } + + template + inline vec<4, T, Q> make_vec4(vec<4, T, Q> const& v) + { + return v; + } + + template + GLM_FUNC_QUALIFIER vec<2, T, defaultp> make_vec2(T const *const ptr) + { + vec<2, T, defaultp> Result; + memcpy(value_ptr(Result), ptr, sizeof(vec<2, T, defaultp>)); + return Result; + } + + template + GLM_FUNC_QUALIFIER vec<3, T, defaultp> make_vec3(T const *const ptr) + { + vec<3, T, defaultp> Result; + memcpy(value_ptr(Result), ptr, sizeof(vec<3, T, defaultp>)); + return Result; + } + + template + GLM_FUNC_QUALIFIER vec<4, T, defaultp> make_vec4(T const *const ptr) + { + vec<4, T, defaultp> Result; + memcpy(value_ptr(Result), ptr, sizeof(vec<4, T, defaultp>)); + return Result; + } + + template + GLM_FUNC_QUALIFIER mat<2, 2, T, defaultp> make_mat2x2(T const *const ptr) + { + mat<2, 2, T, defaultp> Result; + memcpy(value_ptr(Result), ptr, sizeof(mat<2, 2, T, defaultp>)); + return Result; + } + + template + GLM_FUNC_QUALIFIER mat<2, 3, T, defaultp> make_mat2x3(T const *const ptr) + { + mat<2, 3, T, defaultp> Result; + memcpy(value_ptr(Result), ptr, sizeof(mat<2, 3, T, defaultp>)); + return Result; + } + + template + GLM_FUNC_QUALIFIER mat<2, 4, T, defaultp> make_mat2x4(T const *const ptr) + { + mat<2, 4, T, defaultp> Result; + memcpy(value_ptr(Result), ptr, sizeof(mat<2, 4, T, defaultp>)); + return Result; + } + + template + GLM_FUNC_QUALIFIER mat<3, 2, T, defaultp> make_mat3x2(T const *const ptr) + { + mat<3, 2, T, defaultp> Result; + memcpy(value_ptr(Result), ptr, sizeof(mat<3, 2, T, defaultp>)); + return Result; + } + + template + GLM_FUNC_QUALIFIER mat<3, 3, T, defaultp> make_mat3x3(T const *const ptr) + { + mat<3, 3, T, defaultp> Result; + memcpy(value_ptr(Result), ptr, sizeof(mat<3, 3, T, defaultp>)); + return Result; + } + + template + GLM_FUNC_QUALIFIER mat<3, 4, T, defaultp> make_mat3x4(T const *const ptr) + { + mat<3, 4, T, defaultp> Result; + memcpy(value_ptr(Result), ptr, sizeof(mat<3, 4, T, defaultp>)); + return Result; + } + + template + GLM_FUNC_QUALIFIER mat<4, 2, T, defaultp> make_mat4x2(T const *const ptr) + { + mat<4, 2, T, defaultp> Result; + memcpy(value_ptr(Result), ptr, sizeof(mat<4, 2, T, defaultp>)); + return Result; + } + + template + GLM_FUNC_QUALIFIER mat<4, 3, T, defaultp> make_mat4x3(T const *const ptr) + { + mat<4, 3, T, defaultp> Result; + memcpy(value_ptr(Result), ptr, sizeof(mat<4, 3, T, defaultp>)); + return Result; + } + + template + GLM_FUNC_QUALIFIER mat<4, 4, T, defaultp> make_mat4x4(T const *const ptr) + { + mat<4, 4, T, defaultp> Result; + memcpy(value_ptr(Result), ptr, sizeof(mat<4, 4, T, defaultp>)); + return Result; + } + + template + GLM_FUNC_QUALIFIER mat<2, 2, T, defaultp> make_mat2(T const *const ptr) + { + return make_mat2x2(ptr); + } + + template + GLM_FUNC_QUALIFIER mat<3, 3, T, defaultp> make_mat3(T const *const ptr) + { + return make_mat3x3(ptr); + } + + template + GLM_FUNC_QUALIFIER mat<4, 4, T, defaultp> make_mat4(T const *const ptr) + { + return make_mat4x4(ptr); + } + + template + GLM_FUNC_QUALIFIER qua make_quat(T const *const ptr) + { + qua Result; + memcpy(value_ptr(Result), ptr, sizeof(qua)); + return Result; + } + + /// @} +}//namespace glm + diff --git a/MacroLibX/third_party/glm/gtc/ulp.hpp b/MacroLibX/third_party/glm/gtc/ulp.hpp new file mode 100644 index 0000000..0d80a75 --- /dev/null +++ b/MacroLibX/third_party/glm/gtc/ulp.hpp @@ -0,0 +1,152 @@ +/// @ref gtc_ulp +/// @file glm/gtc/ulp.hpp +/// +/// @see core (dependence) +/// +/// @defgroup gtc_ulp GLM_GTC_ulp +/// @ingroup gtc +/// +/// Include to use the features of this extension. +/// +/// Allow the measurement of the accuracy of a function against a reference +/// implementation. This extension works on floating-point data and provide results +/// in ULP. + +#pragma once + +// Dependencies +#include "../detail/setup.hpp" +#include "../detail/qualifier.hpp" +#include "../detail/_vectorize.hpp" +#include "../ext/scalar_int_sized.hpp" + +#if GLM_MESSAGES == GLM_ENABLE && !defined(GLM_EXT_INCLUDED) +# pragma message("GLM: GLM_GTC_ulp extension included") +#endif + +namespace glm +{ + /// Return the next ULP value(s) after the input value(s). + /// + /// @tparam genType A floating-point scalar type. + /// + /// @see gtc_ulp + template + GLM_FUNC_DECL genType next_float(genType x); + + /// Return the previous ULP value(s) before the input value(s). + /// + /// @tparam genType A floating-point scalar type. + /// + /// @see gtc_ulp + template + GLM_FUNC_DECL genType prev_float(genType x); + + /// Return the value(s) ULP distance after the input value(s). + /// + /// @tparam genType A floating-point scalar type. + /// + /// @see gtc_ulp + template + GLM_FUNC_DECL genType next_float(genType x, int ULPs); + + /// Return the value(s) ULP distance before the input value(s). + /// + /// @tparam genType A floating-point scalar type. + /// + /// @see gtc_ulp + template + GLM_FUNC_DECL genType prev_float(genType x, int ULPs); + + /// Return the distance in the number of ULP between 2 single-precision floating-point scalars. + /// + /// @see gtc_ulp + GLM_FUNC_DECL int float_distance(float x, float y); + + /// Return the distance in the number of ULP between 2 double-precision floating-point scalars. + /// + /// @see gtc_ulp + GLM_FUNC_DECL int64 float_distance(double x, double y); + + /// Return the next ULP value(s) after the input value(s). + /// + /// @tparam L Integer between 1 and 4 included that qualify the dimension of the vector + /// @tparam T Floating-point + /// @tparam Q Value from qualifier enum + /// + /// @see gtc_ulp + template + GLM_FUNC_DECL vec next_float(vec const& x); + + /// Return the value(s) ULP distance after the input value(s). + /// + /// @tparam L Integer between 1 and 4 included that qualify the dimension of the vector + /// @tparam T Floating-point + /// @tparam Q Value from qualifier enum + /// + /// @see gtc_ulp + template + GLM_FUNC_DECL vec next_float(vec const& x, int ULPs); + + /// Return the value(s) ULP distance after the input value(s). + /// + /// @tparam L Integer between 1 and 4 included that qualify the dimension of the vector + /// @tparam T Floating-point + /// @tparam Q Value from qualifier enum + /// + /// @see gtc_ulp + template + GLM_FUNC_DECL vec next_float(vec const& x, vec const& ULPs); + + /// Return the previous ULP value(s) before the input value(s). + /// + /// @tparam L Integer between 1 and 4 included that qualify the dimension of the vector + /// @tparam T Floating-point + /// @tparam Q Value from qualifier enum + /// + /// @see gtc_ulp + template + GLM_FUNC_DECL vec prev_float(vec const& x); + + /// Return the value(s) ULP distance before the input value(s). + /// + /// @tparam L Integer between 1 and 4 included that qualify the dimension of the vector + /// @tparam T Floating-point + /// @tparam Q Value from qualifier enum + /// + /// @see gtc_ulp + template + GLM_FUNC_DECL vec prev_float(vec const& x, int ULPs); + + /// Return the value(s) ULP distance before the input value(s). + /// + /// @tparam L Integer between 1 and 4 included that qualify the dimension of the vector + /// @tparam T Floating-point + /// @tparam Q Value from qualifier enum + /// + /// @see gtc_ulp + template + GLM_FUNC_DECL vec prev_float(vec const& x, vec const& ULPs); + + /// Return the distance in the number of ULP between 2 single-precision floating-point scalars. + /// + /// @tparam L Integer between 1 and 4 included that qualify the dimension of the vector + /// @tparam Q Value from qualifier enum + /// + /// @see gtc_ulp + template + GLM_FUNC_DECL vec float_distance(vec const& x, vec const& y); + + /// Return the distance in the number of ULP between 2 double-precision floating-point scalars. + /// + /// @tparam L Integer between 1 and 4 included that qualify the dimension of the vector + /// @tparam Q Value from qualifier enum + /// + /// @see gtc_ulp + template + GLM_FUNC_DECL vec float_distance(vec const& x, vec const& y); + + /// @} +}//namespace glm + +#include "ulp.inl" diff --git a/MacroLibX/third_party/glm/gtc/ulp.inl b/MacroLibX/third_party/glm/gtc/ulp.inl new file mode 100644 index 0000000..4ecbd3f --- /dev/null +++ b/MacroLibX/third_party/glm/gtc/ulp.inl @@ -0,0 +1,173 @@ +/// @ref gtc_ulp + +#include "../ext/scalar_ulp.hpp" + +namespace glm +{ + template<> + GLM_FUNC_QUALIFIER float next_float(float x) + { +# if GLM_HAS_CXX11_STL + return std::nextafter(x, std::numeric_limits::max()); +# elif((GLM_COMPILER & GLM_COMPILER_VC) || ((GLM_COMPILER & GLM_COMPILER_INTEL) && (GLM_PLATFORM & GLM_PLATFORM_WINDOWS))) + return detail::nextafterf(x, FLT_MAX); +# elif(GLM_PLATFORM & GLM_PLATFORM_ANDROID) + return __builtin_nextafterf(x, FLT_MAX); +# else + return nextafterf(x, FLT_MAX); +# endif + } + + template<> + GLM_FUNC_QUALIFIER double next_float(double x) + { +# if GLM_HAS_CXX11_STL + return std::nextafter(x, std::numeric_limits::max()); +# elif((GLM_COMPILER & GLM_COMPILER_VC) || ((GLM_COMPILER & GLM_COMPILER_INTEL) && (GLM_PLATFORM & GLM_PLATFORM_WINDOWS))) + return detail::nextafter(x, std::numeric_limits::max()); +# elif(GLM_PLATFORM & GLM_PLATFORM_ANDROID) + return __builtin_nextafter(x, DBL_MAX); +# else + return nextafter(x, DBL_MAX); +# endif + } + + template + GLM_FUNC_QUALIFIER T next_float(T x, int ULPs) + { + GLM_STATIC_ASSERT(std::numeric_limits::is_iec559, "'next_float' only accept floating-point input"); + assert(ULPs >= 0); + + T temp = x; + for (int i = 0; i < ULPs; ++i) + temp = next_float(temp); + return temp; + } + + GLM_FUNC_QUALIFIER float prev_float(float x) + { +# if GLM_HAS_CXX11_STL + return std::nextafter(x, std::numeric_limits::min()); +# elif((GLM_COMPILER & GLM_COMPILER_VC) || ((GLM_COMPILER & GLM_COMPILER_INTEL) && (GLM_PLATFORM & GLM_PLATFORM_WINDOWS))) + return detail::nextafterf(x, FLT_MIN); +# elif(GLM_PLATFORM & GLM_PLATFORM_ANDROID) + return __builtin_nextafterf(x, FLT_MIN); +# else + return nextafterf(x, FLT_MIN); +# endif + } + + GLM_FUNC_QUALIFIER double prev_float(double x) + { +# if GLM_HAS_CXX11_STL + return std::nextafter(x, std::numeric_limits::min()); +# elif((GLM_COMPILER & GLM_COMPILER_VC) || ((GLM_COMPILER & GLM_COMPILER_INTEL) && (GLM_PLATFORM & GLM_PLATFORM_WINDOWS))) + return _nextafter(x, DBL_MIN); +# elif(GLM_PLATFORM & GLM_PLATFORM_ANDROID) + return __builtin_nextafter(x, DBL_MIN); +# else + return nextafter(x, DBL_MIN); +# endif + } + + template + GLM_FUNC_QUALIFIER T prev_float(T x, int ULPs) + { + GLM_STATIC_ASSERT(std::numeric_limits::is_iec559, "'prev_float' only accept floating-point input"); + assert(ULPs >= 0); + + T temp = x; + for (int i = 0; i < ULPs; ++i) + temp = prev_float(temp); + return temp; + } + + GLM_FUNC_QUALIFIER int float_distance(float x, float y) + { + detail::float_t const a(x); + detail::float_t const b(y); + + return abs(a.i - b.i); + } + + GLM_FUNC_QUALIFIER int64 float_distance(double x, double y) + { + detail::float_t const a(x); + detail::float_t const b(y); + + return abs(a.i - b.i); + } + + template + GLM_FUNC_QUALIFIER vec next_float(vec const& x) + { + vec Result; + for (length_t i = 0, n = Result.length(); i < n; ++i) + Result[i] = next_float(x[i]); + return Result; + } + + template + GLM_FUNC_QUALIFIER vec next_float(vec const& x, int ULPs) + { + vec Result; + for (length_t i = 0, n = Result.length(); i < n; ++i) + Result[i] = next_float(x[i], ULPs); + return Result; + } + + template + GLM_FUNC_QUALIFIER vec next_float(vec const& x, vec const& ULPs) + { + vec Result; + for (length_t i = 0, n = Result.length(); i < n; ++i) + Result[i] = next_float(x[i], ULPs[i]); + return Result; + } + + template + GLM_FUNC_QUALIFIER vec prev_float(vec const& x) + { + vec Result; + for (length_t i = 0, n = Result.length(); i < n; ++i) + Result[i] = prev_float(x[i]); + return Result; + } + + template + GLM_FUNC_QUALIFIER vec prev_float(vec const& x, int ULPs) + { + vec Result; + for (length_t i = 0, n = Result.length(); i < n; ++i) + Result[i] = prev_float(x[i], ULPs); + return Result; + } + + template + GLM_FUNC_QUALIFIER vec prev_float(vec const& x, vec const& ULPs) + { + vec Result; + for (length_t i = 0, n = Result.length(); i < n; ++i) + Result[i] = prev_float(x[i], ULPs[i]); + return Result; + } + + template + GLM_FUNC_QUALIFIER vec float_distance(vec const& x, vec const& y) + { + vec Result; + for (length_t i = 0, n = Result.length(); i < n; ++i) + Result[i] = float_distance(x[i], y[i]); + return Result; + } + + template + GLM_FUNC_QUALIFIER vec float_distance(vec const& x, vec const& y) + { + vec Result; + for (length_t i = 0, n = Result.length(); i < n; ++i) + Result[i] = float_distance(x[i], y[i]); + return Result; + } +}//namespace glm + diff --git a/MacroLibX/third_party/glm/gtc/vec1.hpp b/MacroLibX/third_party/glm/gtc/vec1.hpp new file mode 100644 index 0000000..c20be87 --- /dev/null +++ b/MacroLibX/third_party/glm/gtc/vec1.hpp @@ -0,0 +1,30 @@ +/// @ref gtc_vec1 +/// @file glm/gtc/vec1.hpp +/// +/// @see core (dependence) +/// +/// @defgroup gtc_vec1 GLM_GTC_vec1 +/// @ingroup gtc +/// +/// Include to use the features of this extension. +/// +/// Add vec1, ivec1, uvec1 and bvec1 types. + +#pragma once + +// Dependency: +#include "../ext/vector_bool1.hpp" +#include "../ext/vector_bool1_precision.hpp" +#include "../ext/vector_float1.hpp" +#include "../ext/vector_float1_precision.hpp" +#include "../ext/vector_double1.hpp" +#include "../ext/vector_double1_precision.hpp" +#include "../ext/vector_int1.hpp" +#include "../ext/vector_int1_precision.hpp" +#include "../ext/vector_uint1.hpp" +#include "../ext/vector_uint1_precision.hpp" + +#if GLM_MESSAGES == GLM_ENABLE && !defined(GLM_EXT_INCLUDED) +# pragma message("GLM: GLM_GTC_vec1 extension included") +#endif + diff --git a/MacroLibX/third_party/glm/gtx/associated_min_max.hpp b/MacroLibX/third_party/glm/gtx/associated_min_max.hpp new file mode 100644 index 0000000..d1a41c0 --- /dev/null +++ b/MacroLibX/third_party/glm/gtx/associated_min_max.hpp @@ -0,0 +1,207 @@ +/// @ref gtx_associated_min_max +/// @file glm/gtx/associated_min_max.hpp +/// +/// @see core (dependence) +/// @see gtx_extented_min_max (dependence) +/// +/// @defgroup gtx_associated_min_max GLM_GTX_associated_min_max +/// @ingroup gtx +/// +/// Include to use the features of this extension. +/// +/// @brief Min and max functions that return associated values not the compared onces. + +#pragma once + +// Dependency: +#include "../glm.hpp" + +#if GLM_MESSAGES == GLM_ENABLE && !defined(GLM_EXT_INCLUDED) +# ifndef GLM_ENABLE_EXPERIMENTAL +# pragma message("GLM: GLM_GTX_associated_min_max is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it.") +# else +# pragma message("GLM: GLM_GTX_associated_min_max extension included") +# endif +#endif + +namespace glm +{ + /// @addtogroup gtx_associated_min_max + /// @{ + + /// Minimum comparison between 2 variables and returns 2 associated variable values + /// @see gtx_associated_min_max + template + GLM_FUNC_DECL U associatedMin(T x, U a, T y, U b); + + /// Minimum comparison between 2 variables and returns 2 associated variable values + /// @see gtx_associated_min_max + template + GLM_FUNC_DECL vec<2, U, Q> associatedMin( + vec const& x, vec const& a, + vec const& y, vec const& b); + + /// Minimum comparison between 2 variables and returns 2 associated variable values + /// @see gtx_associated_min_max + template + GLM_FUNC_DECL vec associatedMin( + T x, const vec& a, + T y, const vec& b); + + /// Minimum comparison between 2 variables and returns 2 associated variable values + /// @see gtx_associated_min_max + template + GLM_FUNC_DECL vec associatedMin( + vec const& x, U a, + vec const& y, U b); + + /// Minimum comparison between 3 variables and returns 3 associated variable values + /// @see gtx_associated_min_max + template + GLM_FUNC_DECL U associatedMin( + T x, U a, + T y, U b, + T z, U c); + + /// Minimum comparison between 3 variables and returns 3 associated variable values + /// @see gtx_associated_min_max + template + GLM_FUNC_DECL vec associatedMin( + vec const& x, vec const& a, + vec const& y, vec const& b, + vec const& z, vec const& c); + + /// Minimum comparison between 4 variables and returns 4 associated variable values + /// @see gtx_associated_min_max + template + GLM_FUNC_DECL U associatedMin( + T x, U a, + T y, U b, + T z, U c, + T w, U d); + + /// Minimum comparison between 4 variables and returns 4 associated variable values + /// @see gtx_associated_min_max + template + GLM_FUNC_DECL vec associatedMin( + vec const& x, vec const& a, + vec const& y, vec const& b, + vec const& z, vec const& c, + vec const& w, vec const& d); + + /// Minimum comparison between 4 variables and returns 4 associated variable values + /// @see gtx_associated_min_max + template + GLM_FUNC_DECL vec associatedMin( + T x, vec const& a, + T y, vec const& b, + T z, vec const& c, + T w, vec const& d); + + /// Minimum comparison between 4 variables and returns 4 associated variable values + /// @see gtx_associated_min_max + template + GLM_FUNC_DECL vec associatedMin( + vec const& x, U a, + vec const& y, U b, + vec const& z, U c, + vec const& w, U d); + + /// Maximum comparison between 2 variables and returns 2 associated variable values + /// @see gtx_associated_min_max + template + GLM_FUNC_DECL U associatedMax(T x, U a, T y, U b); + + /// Maximum comparison between 2 variables and returns 2 associated variable values + /// @see gtx_associated_min_max + template + GLM_FUNC_DECL vec<2, U, Q> associatedMax( + vec const& x, vec const& a, + vec const& y, vec const& b); + + /// Maximum comparison between 2 variables and returns 2 associated variable values + /// @see gtx_associated_min_max + template + GLM_FUNC_DECL vec associatedMax( + T x, vec const& a, + T y, vec const& b); + + /// Maximum comparison between 2 variables and returns 2 associated variable values + /// @see gtx_associated_min_max + template + GLM_FUNC_DECL vec associatedMax( + vec const& x, U a, + vec const& y, U b); + + /// Maximum comparison between 3 variables and returns 3 associated variable values + /// @see gtx_associated_min_max + template + GLM_FUNC_DECL U associatedMax( + T x, U a, + T y, U b, + T z, U c); + + /// Maximum comparison between 3 variables and returns 3 associated variable values + /// @see gtx_associated_min_max + template + GLM_FUNC_DECL vec associatedMax( + vec const& x, vec const& a, + vec const& y, vec const& b, + vec const& z, vec const& c); + + /// Maximum comparison between 3 variables and returns 3 associated variable values + /// @see gtx_associated_min_max + template + GLM_FUNC_DECL vec associatedMax( + T x, vec const& a, + T y, vec const& b, + T z, vec const& c); + + /// Maximum comparison between 3 variables and returns 3 associated variable values + /// @see gtx_associated_min_max + template + GLM_FUNC_DECL vec associatedMax( + vec const& x, U a, + vec const& y, U b, + vec const& z, U c); + + /// Maximum comparison between 4 variables and returns 4 associated variable values + /// @see gtx_associated_min_max + template + GLM_FUNC_DECL U associatedMax( + T x, U a, + T y, U b, + T z, U c, + T w, U d); + + /// Maximum comparison between 4 variables and returns 4 associated variable values + /// @see gtx_associated_min_max + template + GLM_FUNC_DECL vec associatedMax( + vec const& x, vec const& a, + vec const& y, vec const& b, + vec const& z, vec const& c, + vec const& w, vec const& d); + + /// Maximum comparison between 4 variables and returns 4 associated variable values + /// @see gtx_associated_min_max + template + GLM_FUNC_DECL vec associatedMax( + T x, vec const& a, + T y, vec const& b, + T z, vec const& c, + T w, vec const& d); + + /// Maximum comparison between 4 variables and returns 4 associated variable values + /// @see gtx_associated_min_max + template + GLM_FUNC_DECL vec associatedMax( + vec const& x, U a, + vec const& y, U b, + vec const& z, U c, + vec const& w, U d); + + /// @} +} //namespace glm + +#include "associated_min_max.inl" diff --git a/MacroLibX/third_party/glm/gtx/associated_min_max.inl b/MacroLibX/third_party/glm/gtx/associated_min_max.inl new file mode 100644 index 0000000..5186c47 --- /dev/null +++ b/MacroLibX/third_party/glm/gtx/associated_min_max.inl @@ -0,0 +1,354 @@ +/// @ref gtx_associated_min_max + +namespace glm{ + +// Min comparison between 2 variables +template +GLM_FUNC_QUALIFIER U associatedMin(T x, U a, T y, U b) +{ + return x < y ? a : b; +} + +template +GLM_FUNC_QUALIFIER vec<2, U, Q> associatedMin +( + vec const& x, vec const& a, + vec const& y, vec const& b +) +{ + vec Result; + for(length_t i = 0, n = Result.length(); i < n; ++i) + Result[i] = x[i] < y[i] ? a[i] : b[i]; + return Result; +} + +template +GLM_FUNC_QUALIFIER vec associatedMin +( + T x, const vec& a, + T y, const vec& b +) +{ + vec Result; + for(length_t i = 0, n = Result.length(); i < n; ++i) + Result[i] = x < y ? a[i] : b[i]; + return Result; +} + +template +GLM_FUNC_QUALIFIER vec associatedMin +( + vec const& x, U a, + vec const& y, U b +) +{ + vec Result; + for(length_t i = 0, n = Result.length(); i < n; ++i) + Result[i] = x[i] < y[i] ? a : b; + return Result; +} + +// Min comparison between 3 variables +template +GLM_FUNC_QUALIFIER U associatedMin +( + T x, U a, + T y, U b, + T z, U c +) +{ + U Result = x < y ? (x < z ? a : c) : (y < z ? b : c); + return Result; +} + +template +GLM_FUNC_QUALIFIER vec associatedMin +( + vec const& x, vec const& a, + vec const& y, vec const& b, + vec const& z, vec const& c +) +{ + vec Result; + for(length_t i = 0, n = Result.length(); i < n; ++i) + Result[i] = x[i] < y[i] ? (x[i] < z[i] ? a[i] : c[i]) : (y[i] < z[i] ? b[i] : c[i]); + return Result; +} + +// Min comparison between 4 variables +template +GLM_FUNC_QUALIFIER U associatedMin +( + T x, U a, + T y, U b, + T z, U c, + T w, U d +) +{ + T Test1 = min(x, y); + T Test2 = min(z, w); + U Result1 = x < y ? a : b; + U Result2 = z < w ? c : d; + U Result = Test1 < Test2 ? Result1 : Result2; + return Result; +} + +// Min comparison between 4 variables +template +GLM_FUNC_QUALIFIER vec associatedMin +( + vec const& x, vec const& a, + vec const& y, vec const& b, + vec const& z, vec const& c, + vec const& w, vec const& d +) +{ + vec Result; + for(length_t i = 0, n = Result.length(); i < n; ++i) + { + T Test1 = min(x[i], y[i]); + T Test2 = min(z[i], w[i]); + U Result1 = x[i] < y[i] ? a[i] : b[i]; + U Result2 = z[i] < w[i] ? c[i] : d[i]; + Result[i] = Test1 < Test2 ? Result1 : Result2; + } + return Result; +} + +// Min comparison between 4 variables +template +GLM_FUNC_QUALIFIER vec associatedMin +( + T x, vec const& a, + T y, vec const& b, + T z, vec const& c, + T w, vec const& d +) +{ + T Test1 = min(x, y); + T Test2 = min(z, w); + + vec Result; + for(length_t i = 0, n = Result.length(); i < n; ++i) + { + U Result1 = x < y ? a[i] : b[i]; + U Result2 = z < w ? c[i] : d[i]; + Result[i] = Test1 < Test2 ? Result1 : Result2; + } + return Result; +} + +// Min comparison between 4 variables +template +GLM_FUNC_QUALIFIER vec associatedMin +( + vec const& x, U a, + vec const& y, U b, + vec const& z, U c, + vec const& w, U d +) +{ + vec Result; + for(length_t i = 0, n = Result.length(); i < n; ++i) + { + T Test1 = min(x[i], y[i]); + T Test2 = min(z[i], w[i]); + U Result1 = x[i] < y[i] ? a : b; + U Result2 = z[i] < w[i] ? c : d; + Result[i] = Test1 < Test2 ? Result1 : Result2; + } + return Result; +} + +// Max comparison between 2 variables +template +GLM_FUNC_QUALIFIER U associatedMax(T x, U a, T y, U b) +{ + return x > y ? a : b; +} + +// Max comparison between 2 variables +template +GLM_FUNC_QUALIFIER vec<2, U, Q> associatedMax +( + vec const& x, vec const& a, + vec const& y, vec const& b +) +{ + vec Result; + for(length_t i = 0, n = Result.length(); i < n; ++i) + Result[i] = x[i] > y[i] ? a[i] : b[i]; + return Result; +} + +// Max comparison between 2 variables +template +GLM_FUNC_QUALIFIER vec associatedMax +( + T x, vec const& a, + T y, vec const& b +) +{ + vec Result; + for(length_t i = 0, n = Result.length(); i < n; ++i) + Result[i] = x > y ? a[i] : b[i]; + return Result; +} + +// Max comparison between 2 variables +template +GLM_FUNC_QUALIFIER vec associatedMax +( + vec const& x, U a, + vec const& y, U b +) +{ + vec Result; + for(length_t i = 0, n = Result.length(); i < n; ++i) + Result[i] = x[i] > y[i] ? a : b; + return Result; +} + +// Max comparison between 3 variables +template +GLM_FUNC_QUALIFIER U associatedMax +( + T x, U a, + T y, U b, + T z, U c +) +{ + U Result = x > y ? (x > z ? a : c) : (y > z ? b : c); + return Result; +} + +// Max comparison between 3 variables +template +GLM_FUNC_QUALIFIER vec associatedMax +( + vec const& x, vec const& a, + vec const& y, vec const& b, + vec const& z, vec const& c +) +{ + vec Result; + for(length_t i = 0, n = Result.length(); i < n; ++i) + Result[i] = x[i] > y[i] ? (x[i] > z[i] ? a[i] : c[i]) : (y[i] > z[i] ? b[i] : c[i]); + return Result; +} + +// Max comparison between 3 variables +template +GLM_FUNC_QUALIFIER vec associatedMax +( + T x, vec const& a, + T y, vec const& b, + T z, vec const& c +) +{ + vec Result; + for(length_t i = 0, n = Result.length(); i < n; ++i) + Result[i] = x > y ? (x > z ? a[i] : c[i]) : (y > z ? b[i] : c[i]); + return Result; +} + +// Max comparison between 3 variables +template +GLM_FUNC_QUALIFIER vec associatedMax +( + vec const& x, U a, + vec const& y, U b, + vec const& z, U c +) +{ + vec Result; + for(length_t i = 0, n = Result.length(); i < n; ++i) + Result[i] = x[i] > y[i] ? (x[i] > z[i] ? a : c) : (y[i] > z[i] ? b : c); + return Result; +} + +// Max comparison between 4 variables +template +GLM_FUNC_QUALIFIER U associatedMax +( + T x, U a, + T y, U b, + T z, U c, + T w, U d +) +{ + T Test1 = max(x, y); + T Test2 = max(z, w); + U Result1 = x > y ? a : b; + U Result2 = z > w ? c : d; + U Result = Test1 > Test2 ? Result1 : Result2; + return Result; +} + +// Max comparison between 4 variables +template +GLM_FUNC_QUALIFIER vec associatedMax +( + vec const& x, vec const& a, + vec const& y, vec const& b, + vec const& z, vec const& c, + vec const& w, vec const& d +) +{ + vec Result; + for(length_t i = 0, n = Result.length(); i < n; ++i) + { + T Test1 = max(x[i], y[i]); + T Test2 = max(z[i], w[i]); + U Result1 = x[i] > y[i] ? a[i] : b[i]; + U Result2 = z[i] > w[i] ? c[i] : d[i]; + Result[i] = Test1 > Test2 ? Result1 : Result2; + } + return Result; +} + +// Max comparison between 4 variables +template +GLM_FUNC_QUALIFIER vec associatedMax +( + T x, vec const& a, + T y, vec const& b, + T z, vec const& c, + T w, vec const& d +) +{ + T Test1 = max(x, y); + T Test2 = max(z, w); + + vec Result; + for(length_t i = 0, n = Result.length(); i < n; ++i) + { + U Result1 = x > y ? a[i] : b[i]; + U Result2 = z > w ? c[i] : d[i]; + Result[i] = Test1 > Test2 ? Result1 : Result2; + } + return Result; +} + +// Max comparison between 4 variables +template +GLM_FUNC_QUALIFIER vec associatedMax +( + vec const& x, U a, + vec const& y, U b, + vec const& z, U c, + vec const& w, U d +) +{ + vec Result; + for(length_t i = 0, n = Result.length(); i < n; ++i) + { + T Test1 = max(x[i], y[i]); + T Test2 = max(z[i], w[i]); + U Result1 = x[i] > y[i] ? a : b; + U Result2 = z[i] > w[i] ? c : d; + Result[i] = Test1 > Test2 ? Result1 : Result2; + } + return Result; +} +}//namespace glm diff --git a/MacroLibX/third_party/glm/gtx/bit.hpp b/MacroLibX/third_party/glm/gtx/bit.hpp new file mode 100644 index 0000000..60a7aef --- /dev/null +++ b/MacroLibX/third_party/glm/gtx/bit.hpp @@ -0,0 +1,98 @@ +/// @ref gtx_bit +/// @file glm/gtx/bit.hpp +/// +/// @see core (dependence) +/// +/// @defgroup gtx_bit GLM_GTX_bit +/// @ingroup gtx +/// +/// Include to use the features of this extension. +/// +/// Allow to perform bit operations on integer values + +#pragma once + +// Dependencies +#include "../gtc/bitfield.hpp" + +#if GLM_MESSAGES == GLM_ENABLE && !defined(GLM_EXT_INCLUDED) +# ifndef GLM_ENABLE_EXPERIMENTAL +# pragma message("GLM: GLM_GTX_bit is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it.") +# else +# pragma message("GLM: GLM_GTX_bit extension included") +# endif +#endif + +namespace glm +{ + /// @addtogroup gtx_bit + /// @{ + + /// @see gtx_bit + template + GLM_FUNC_DECL genIUType highestBitValue(genIUType Value); + + /// @see gtx_bit + template + GLM_FUNC_DECL genIUType lowestBitValue(genIUType Value); + + /// Find the highest bit set to 1 in a integer variable and return its value. + /// + /// @see gtx_bit + template + GLM_FUNC_DECL vec highestBitValue(vec const& value); + + /// Return the power of two number which value is just higher the input value. + /// Deprecated, use ceilPowerOfTwo from GTC_round instead + /// + /// @see gtc_round + /// @see gtx_bit + template + GLM_DEPRECATED GLM_FUNC_DECL genIUType powerOfTwoAbove(genIUType Value); + + /// Return the power of two number which value is just higher the input value. + /// Deprecated, use ceilPowerOfTwo from GTC_round instead + /// + /// @see gtc_round + /// @see gtx_bit + template + GLM_DEPRECATED GLM_FUNC_DECL vec powerOfTwoAbove(vec const& value); + + /// Return the power of two number which value is just lower the input value. + /// Deprecated, use floorPowerOfTwo from GTC_round instead + /// + /// @see gtc_round + /// @see gtx_bit + template + GLM_DEPRECATED GLM_FUNC_DECL genIUType powerOfTwoBelow(genIUType Value); + + /// Return the power of two number which value is just lower the input value. + /// Deprecated, use floorPowerOfTwo from GTC_round instead + /// + /// @see gtc_round + /// @see gtx_bit + template + GLM_DEPRECATED GLM_FUNC_DECL vec powerOfTwoBelow(vec const& value); + + /// Return the power of two number which value is the closet to the input value. + /// Deprecated, use roundPowerOfTwo from GTC_round instead + /// + /// @see gtc_round + /// @see gtx_bit + template + GLM_DEPRECATED GLM_FUNC_DECL genIUType powerOfTwoNearest(genIUType Value); + + /// Return the power of two number which value is the closet to the input value. + /// Deprecated, use roundPowerOfTwo from GTC_round instead + /// + /// @see gtc_round + /// @see gtx_bit + template + GLM_DEPRECATED GLM_FUNC_DECL vec powerOfTwoNearest(vec const& value); + + /// @} +} //namespace glm + + +#include "bit.inl" + diff --git a/MacroLibX/third_party/glm/gtx/bit.inl b/MacroLibX/third_party/glm/gtx/bit.inl new file mode 100644 index 0000000..621b626 --- /dev/null +++ b/MacroLibX/third_party/glm/gtx/bit.inl @@ -0,0 +1,92 @@ +/// @ref gtx_bit + +namespace glm +{ + /////////////////// + // highestBitValue + + template + GLM_FUNC_QUALIFIER genIUType highestBitValue(genIUType Value) + { + genIUType tmp = Value; + genIUType result = genIUType(0); + while(tmp) + { + result = (tmp & (~tmp + 1)); // grab lowest bit + tmp &= ~result; // clear lowest bit + } + return result; + } + + template + GLM_FUNC_QUALIFIER vec highestBitValue(vec const& v) + { + return detail::functor1::call(highestBitValue, v); + } + + /////////////////// + // lowestBitValue + + template + GLM_FUNC_QUALIFIER genIUType lowestBitValue(genIUType Value) + { + return (Value & (~Value + 1)); + } + + template + GLM_FUNC_QUALIFIER vec lowestBitValue(vec const& v) + { + return detail::functor1::call(lowestBitValue, v); + } + + /////////////////// + // powerOfTwoAbove + + template + GLM_FUNC_QUALIFIER genType powerOfTwoAbove(genType value) + { + return isPowerOfTwo(value) ? value : highestBitValue(value) << 1; + } + + template + GLM_FUNC_QUALIFIER vec powerOfTwoAbove(vec const& v) + { + return detail::functor1::call(powerOfTwoAbove, v); + } + + /////////////////// + // powerOfTwoBelow + + template + GLM_FUNC_QUALIFIER genType powerOfTwoBelow(genType value) + { + return isPowerOfTwo(value) ? value : highestBitValue(value); + } + + template + GLM_FUNC_QUALIFIER vec powerOfTwoBelow(vec const& v) + { + return detail::functor1::call(powerOfTwoBelow, v); + } + + ///////////////////// + // powerOfTwoNearest + + template + GLM_FUNC_QUALIFIER genType powerOfTwoNearest(genType value) + { + if(isPowerOfTwo(value)) + return value; + + genType const prev = highestBitValue(value); + genType const next = prev << 1; + return (next - value) < (value - prev) ? next : prev; + } + + template + GLM_FUNC_QUALIFIER vec powerOfTwoNearest(vec const& v) + { + return detail::functor1::call(powerOfTwoNearest, v); + } + +}//namespace glm diff --git a/MacroLibX/third_party/glm/gtx/closest_point.hpp b/MacroLibX/third_party/glm/gtx/closest_point.hpp new file mode 100644 index 0000000..de6dbbf --- /dev/null +++ b/MacroLibX/third_party/glm/gtx/closest_point.hpp @@ -0,0 +1,49 @@ +/// @ref gtx_closest_point +/// @file glm/gtx/closest_point.hpp +/// +/// @see core (dependence) +/// +/// @defgroup gtx_closest_point GLM_GTX_closest_point +/// @ingroup gtx +/// +/// Include to use the features of this extension. +/// +/// Find the point on a straight line which is the closet of a point. + +#pragma once + +// Dependency: +#include "../glm.hpp" + +#if GLM_MESSAGES == GLM_ENABLE && !defined(GLM_EXT_INCLUDED) +# ifndef GLM_ENABLE_EXPERIMENTAL +# pragma message("GLM: GLM_GTX_closest_point is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it.") +# else +# pragma message("GLM: GLM_GTX_closest_point extension included") +# endif +#endif + +namespace glm +{ + /// @addtogroup gtx_closest_point + /// @{ + + /// Find the point on a straight line which is the closet of a point. + /// @see gtx_closest_point + template + GLM_FUNC_DECL vec<3, T, Q> closestPointOnLine( + vec<3, T, Q> const& point, + vec<3, T, Q> const& a, + vec<3, T, Q> const& b); + + /// 2d lines work as well + template + GLM_FUNC_DECL vec<2, T, Q> closestPointOnLine( + vec<2, T, Q> const& point, + vec<2, T, Q> const& a, + vec<2, T, Q> const& b); + + /// @} +}// namespace glm + +#include "closest_point.inl" diff --git a/MacroLibX/third_party/glm/gtx/closest_point.inl b/MacroLibX/third_party/glm/gtx/closest_point.inl new file mode 100644 index 0000000..0a39b04 --- /dev/null +++ b/MacroLibX/third_party/glm/gtx/closest_point.inl @@ -0,0 +1,45 @@ +/// @ref gtx_closest_point + +namespace glm +{ + template + GLM_FUNC_QUALIFIER vec<3, T, Q> closestPointOnLine + ( + vec<3, T, Q> const& point, + vec<3, T, Q> const& a, + vec<3, T, Q> const& b + ) + { + T LineLength = distance(a, b); + vec<3, T, Q> Vector = point - a; + vec<3, T, Q> LineDirection = (b - a) / LineLength; + + // Project Vector to LineDirection to get the distance of point from a + T Distance = dot(Vector, LineDirection); + + if(Distance <= T(0)) return a; + if(Distance >= LineLength) return b; + return a + LineDirection * Distance; + } + + template + GLM_FUNC_QUALIFIER vec<2, T, Q> closestPointOnLine + ( + vec<2, T, Q> const& point, + vec<2, T, Q> const& a, + vec<2, T, Q> const& b + ) + { + T LineLength = distance(a, b); + vec<2, T, Q> Vector = point - a; + vec<2, T, Q> LineDirection = (b - a) / LineLength; + + // Project Vector to LineDirection to get the distance of point from a + T Distance = dot(Vector, LineDirection); + + if(Distance <= T(0)) return a; + if(Distance >= LineLength) return b; + return a + LineDirection * Distance; + } + +}//namespace glm diff --git a/MacroLibX/third_party/glm/gtx/color_encoding.hpp b/MacroLibX/third_party/glm/gtx/color_encoding.hpp new file mode 100644 index 0000000..96ded2a --- /dev/null +++ b/MacroLibX/third_party/glm/gtx/color_encoding.hpp @@ -0,0 +1,54 @@ +/// @ref gtx_color_encoding +/// @file glm/gtx/color_encoding.hpp +/// +/// @see core (dependence) +/// @see gtx_color_encoding (dependence) +/// +/// @defgroup gtx_color_encoding GLM_GTX_color_encoding +/// @ingroup gtx +/// +/// Include to use the features of this extension. +/// +/// @brief Allow to perform bit operations on integer values + +#pragma once + +// Dependencies +#include "../detail/setup.hpp" +#include "../detail/qualifier.hpp" +#include "../vec3.hpp" +#include + +#if GLM_MESSAGES == GLM_ENABLE && !defined(GLM_EXT_INCLUDED) +# ifndef GLM_ENABLE_EXPERIMENTAL +# pragma message("GLM: GLM_GTC_color_encoding is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it.") +# else +# pragma message("GLM: GLM_GTC_color_encoding extension included") +# endif +#endif + +namespace glm +{ + /// @addtogroup gtx_color_encoding + /// @{ + + /// Convert a linear sRGB color to D65 YUV. + template + GLM_FUNC_DECL vec<3, T, Q> convertLinearSRGBToD65XYZ(vec<3, T, Q> const& ColorLinearSRGB); + + /// Convert a linear sRGB color to D50 YUV. + template + GLM_FUNC_DECL vec<3, T, Q> convertLinearSRGBToD50XYZ(vec<3, T, Q> const& ColorLinearSRGB); + + /// Convert a D65 YUV color to linear sRGB. + template + GLM_FUNC_DECL vec<3, T, Q> convertD65XYZToLinearSRGB(vec<3, T, Q> const& ColorD65XYZ); + + /// Convert a D65 YUV color to D50 YUV. + template + GLM_FUNC_DECL vec<3, T, Q> convertD65XYZToD50XYZ(vec<3, T, Q> const& ColorD65XYZ); + + /// @} +} //namespace glm + +#include "color_encoding.inl" diff --git a/MacroLibX/third_party/glm/gtx/color_encoding.inl b/MacroLibX/third_party/glm/gtx/color_encoding.inl new file mode 100644 index 0000000..e50fa3e --- /dev/null +++ b/MacroLibX/third_party/glm/gtx/color_encoding.inl @@ -0,0 +1,45 @@ +/// @ref gtx_color_encoding + +namespace glm +{ + template + GLM_FUNC_QUALIFIER vec<3, T, Q> convertLinearSRGBToD65XYZ(vec<3, T, Q> const& ColorLinearSRGB) + { + vec<3, T, Q> const M(0.490f, 0.17697f, 0.2f); + vec<3, T, Q> const N(0.31f, 0.8124f, 0.01063f); + vec<3, T, Q> const O(0.490f, 0.01f, 0.99f); + + return (M * ColorLinearSRGB + N * ColorLinearSRGB + O * ColorLinearSRGB) * static_cast(5.650675255693055f); + } + + template + GLM_FUNC_QUALIFIER vec<3, T, Q> convertLinearSRGBToD50XYZ(vec<3, T, Q> const& ColorLinearSRGB) + { + vec<3, T, Q> const M(0.436030342570117f, 0.222438466210245f, 0.013897440074263f); + vec<3, T, Q> const N(0.385101860087134f, 0.716942745571917f, 0.097076381494207f); + vec<3, T, Q> const O(0.143067806654203f, 0.060618777416563f, 0.713926257896652f); + + return M * ColorLinearSRGB + N * ColorLinearSRGB + O * ColorLinearSRGB; + } + + template + GLM_FUNC_QUALIFIER vec<3, T, Q> convertD65XYZToLinearSRGB(vec<3, T, Q> const& ColorD65XYZ) + { + vec<3, T, Q> const M(0.41847f, -0.091169f, 0.0009209f); + vec<3, T, Q> const N(-0.15866f, 0.25243f, 0.015708f); + vec<3, T, Q> const O(0.0009209f, -0.0025498f, 0.1786f); + + return M * ColorD65XYZ + N * ColorD65XYZ + O * ColorD65XYZ; + } + + template + GLM_FUNC_QUALIFIER vec<3, T, Q> convertD65XYZToD50XYZ(vec<3, T, Q> const& ColorD65XYZ) + { + vec<3, T, Q> const M(+1.047844353856414f, +0.029549007606644f, -0.009250984365223f); + vec<3, T, Q> const N(+0.022898981050086f, +0.990508028941971f, +0.015072338237051f); + vec<3, T, Q> const O(-0.050206647741605f, -0.017074711360960f, +0.751717835079977f); + + return M * ColorD65XYZ + N * ColorD65XYZ + O * ColorD65XYZ; + } + +}//namespace glm diff --git a/MacroLibX/third_party/glm/gtx/color_space.hpp b/MacroLibX/third_party/glm/gtx/color_space.hpp new file mode 100644 index 0000000..a634392 --- /dev/null +++ b/MacroLibX/third_party/glm/gtx/color_space.hpp @@ -0,0 +1,72 @@ +/// @ref gtx_color_space +/// @file glm/gtx/color_space.hpp +/// +/// @see core (dependence) +/// +/// @defgroup gtx_color_space GLM_GTX_color_space +/// @ingroup gtx +/// +/// Include to use the features of this extension. +/// +/// Related to RGB to HSV conversions and operations. + +#pragma once + +// Dependency: +#include "../glm.hpp" + +#if GLM_MESSAGES == GLM_ENABLE && !defined(GLM_EXT_INCLUDED) +# ifndef GLM_ENABLE_EXPERIMENTAL +# pragma message("GLM: GLM_GTX_color_space is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it.") +# else +# pragma message("GLM: GLM_GTX_color_space extension included") +# endif +#endif + +namespace glm +{ + /// @addtogroup gtx_color_space + /// @{ + + /// Converts a color from HSV color space to its color in RGB color space. + /// @see gtx_color_space + template + GLM_FUNC_DECL vec<3, T, Q> rgbColor( + vec<3, T, Q> const& hsvValue); + + /// Converts a color from RGB color space to its color in HSV color space. + /// @see gtx_color_space + template + GLM_FUNC_DECL vec<3, T, Q> hsvColor( + vec<3, T, Q> const& rgbValue); + + /// Build a saturation matrix. + /// @see gtx_color_space + template + GLM_FUNC_DECL mat<4, 4, T, defaultp> saturation( + T const s); + + /// Modify the saturation of a color. + /// @see gtx_color_space + template + GLM_FUNC_DECL vec<3, T, Q> saturation( + T const s, + vec<3, T, Q> const& color); + + /// Modify the saturation of a color. + /// @see gtx_color_space + template + GLM_FUNC_DECL vec<4, T, Q> saturation( + T const s, + vec<4, T, Q> const& color); + + /// Compute color luminosity associating ratios (0.33, 0.59, 0.11) to RGB canals. + /// @see gtx_color_space + template + GLM_FUNC_DECL T luminosity( + vec<3, T, Q> const& color); + + /// @} +}//namespace glm + +#include "color_space.inl" diff --git a/MacroLibX/third_party/glm/gtx/color_space.inl b/MacroLibX/third_party/glm/gtx/color_space.inl new file mode 100644 index 0000000..f698afe --- /dev/null +++ b/MacroLibX/third_party/glm/gtx/color_space.inl @@ -0,0 +1,141 @@ +/// @ref gtx_color_space + +namespace glm +{ + template + GLM_FUNC_QUALIFIER vec<3, T, Q> rgbColor(const vec<3, T, Q>& hsvColor) + { + vec<3, T, Q> hsv = hsvColor; + vec<3, T, Q> rgbColor; + + if(hsv.y == static_cast(0)) + // achromatic (grey) + rgbColor = vec<3, T, Q>(hsv.z); + else + { + T sector = floor(hsv.x * (T(1) / T(60))); + T frac = (hsv.x * (T(1) / T(60))) - sector; + // factorial part of h + T o = hsv.z * (T(1) - hsv.y); + T p = hsv.z * (T(1) - hsv.y * frac); + T q = hsv.z * (T(1) - hsv.y * (T(1) - frac)); + + switch(int(sector)) + { + default: + case 0: + rgbColor.r = hsv.z; + rgbColor.g = q; + rgbColor.b = o; + break; + case 1: + rgbColor.r = p; + rgbColor.g = hsv.z; + rgbColor.b = o; + break; + case 2: + rgbColor.r = o; + rgbColor.g = hsv.z; + rgbColor.b = q; + break; + case 3: + rgbColor.r = o; + rgbColor.g = p; + rgbColor.b = hsv.z; + break; + case 4: + rgbColor.r = q; + rgbColor.g = o; + rgbColor.b = hsv.z; + break; + case 5: + rgbColor.r = hsv.z; + rgbColor.g = o; + rgbColor.b = p; + break; + } + } + + return rgbColor; + } + + template + GLM_FUNC_QUALIFIER vec<3, T, Q> hsvColor(const vec<3, T, Q>& rgbColor) + { + vec<3, T, Q> hsv = rgbColor; + float Min = min(min(rgbColor.r, rgbColor.g), rgbColor.b); + float Max = max(max(rgbColor.r, rgbColor.g), rgbColor.b); + float Delta = Max - Min; + + hsv.z = Max; + + if(Max != static_cast(0)) + { + hsv.y = Delta / hsv.z; + T h = static_cast(0); + + if(rgbColor.r == Max) + // between yellow & magenta + h = static_cast(0) + T(60) * (rgbColor.g - rgbColor.b) / Delta; + else if(rgbColor.g == Max) + // between cyan & yellow + h = static_cast(120) + T(60) * (rgbColor.b - rgbColor.r) / Delta; + else + // between magenta & cyan + h = static_cast(240) + T(60) * (rgbColor.r - rgbColor.g) / Delta; + + if(h < T(0)) + hsv.x = h + T(360); + else + hsv.x = h; + } + else + { + // If r = g = b = 0 then s = 0, h is undefined + hsv.y = static_cast(0); + hsv.x = static_cast(0); + } + + return hsv; + } + + template + GLM_FUNC_QUALIFIER mat<4, 4, T, defaultp> saturation(T const s) + { + vec<3, T, defaultp> rgbw = vec<3, T, defaultp>(T(0.2126), T(0.7152), T(0.0722)); + + vec<3, T, defaultp> const col((T(1) - s) * rgbw); + + mat<4, 4, T, defaultp> result(T(1)); + result[0][0] = col.x + s; + result[0][1] = col.x; + result[0][2] = col.x; + result[1][0] = col.y; + result[1][1] = col.y + s; + result[1][2] = col.y; + result[2][0] = col.z; + result[2][1] = col.z; + result[2][2] = col.z + s; + + return result; + } + + template + GLM_FUNC_QUALIFIER vec<3, T, Q> saturation(const T s, const vec<3, T, Q>& color) + { + return vec<3, T, Q>(saturation(s) * vec<4, T, Q>(color, T(0))); + } + + template + GLM_FUNC_QUALIFIER vec<4, T, Q> saturation(const T s, const vec<4, T, Q>& color) + { + return saturation(s) * color; + } + + template + GLM_FUNC_QUALIFIER T luminosity(const vec<3, T, Q>& color) + { + const vec<3, T, Q> tmp = vec<3, T, Q>(0.33, 0.59, 0.11); + return dot(color, tmp); + } +}//namespace glm diff --git a/MacroLibX/third_party/glm/gtx/color_space_YCoCg.hpp b/MacroLibX/third_party/glm/gtx/color_space_YCoCg.hpp new file mode 100644 index 0000000..dd2b771 --- /dev/null +++ b/MacroLibX/third_party/glm/gtx/color_space_YCoCg.hpp @@ -0,0 +1,60 @@ +/// @ref gtx_color_space_YCoCg +/// @file glm/gtx/color_space_YCoCg.hpp +/// +/// @see core (dependence) +/// +/// @defgroup gtx_color_space_YCoCg GLM_GTX_color_space_YCoCg +/// @ingroup gtx +/// +/// Include to use the features of this extension. +/// +/// RGB to YCoCg conversions and operations + +#pragma once + +// Dependency: +#include "../glm.hpp" + +#if GLM_MESSAGES == GLM_ENABLE && !defined(GLM_EXT_INCLUDED) +# ifndef GLM_ENABLE_EXPERIMENTAL +# pragma message("GLM: GLM_GTX_color_space_YCoCg is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it.") +# else +# pragma message("GLM: GLM_GTX_color_space_YCoCg extension included") +# endif +#endif + +namespace glm +{ + /// @addtogroup gtx_color_space_YCoCg + /// @{ + + /// Convert a color from RGB color space to YCoCg color space. + /// @see gtx_color_space_YCoCg + template + GLM_FUNC_DECL vec<3, T, Q> rgb2YCoCg( + vec<3, T, Q> const& rgbColor); + + /// Convert a color from YCoCg color space to RGB color space. + /// @see gtx_color_space_YCoCg + template + GLM_FUNC_DECL vec<3, T, Q> YCoCg2rgb( + vec<3, T, Q> const& YCoCgColor); + + /// Convert a color from RGB color space to YCoCgR color space. + /// @see "YCoCg-R: A Color Space with RGB Reversibility and Low Dynamic Range" + /// @see gtx_color_space_YCoCg + template + GLM_FUNC_DECL vec<3, T, Q> rgb2YCoCgR( + vec<3, T, Q> const& rgbColor); + + /// Convert a color from YCoCgR color space to RGB color space. + /// @see "YCoCg-R: A Color Space with RGB Reversibility and Low Dynamic Range" + /// @see gtx_color_space_YCoCg + template + GLM_FUNC_DECL vec<3, T, Q> YCoCgR2rgb( + vec<3, T, Q> const& YCoCgColor); + + /// @} +}//namespace glm + +#include "color_space_YCoCg.inl" diff --git a/MacroLibX/third_party/glm/gtx/color_space_YCoCg.inl b/MacroLibX/third_party/glm/gtx/color_space_YCoCg.inl new file mode 100644 index 0000000..83ba857 --- /dev/null +++ b/MacroLibX/third_party/glm/gtx/color_space_YCoCg.inl @@ -0,0 +1,107 @@ +/// @ref gtx_color_space_YCoCg + +namespace glm +{ + template + GLM_FUNC_QUALIFIER vec<3, T, Q> rgb2YCoCg + ( + vec<3, T, Q> const& rgbColor + ) + { + vec<3, T, Q> result; + result.x/*Y */ = rgbColor.r / T(4) + rgbColor.g / T(2) + rgbColor.b / T(4); + result.y/*Co*/ = rgbColor.r / T(2) + rgbColor.g * T(0) - rgbColor.b / T(2); + result.z/*Cg*/ = - rgbColor.r / T(4) + rgbColor.g / T(2) - rgbColor.b / T(4); + return result; + } + + template + GLM_FUNC_QUALIFIER vec<3, T, Q> YCoCg2rgb + ( + vec<3, T, Q> const& YCoCgColor + ) + { + vec<3, T, Q> result; + result.r = YCoCgColor.x + YCoCgColor.y - YCoCgColor.z; + result.g = YCoCgColor.x + YCoCgColor.z; + result.b = YCoCgColor.x - YCoCgColor.y - YCoCgColor.z; + return result; + } + + template + class compute_YCoCgR { + public: + static GLM_FUNC_QUALIFIER vec<3, T, Q> rgb2YCoCgR + ( + vec<3, T, Q> const& rgbColor + ) + { + vec<3, T, Q> result; + result.x/*Y */ = rgbColor.g * static_cast(0.5) + (rgbColor.r + rgbColor.b) * static_cast(0.25); + result.y/*Co*/ = rgbColor.r - rgbColor.b; + result.z/*Cg*/ = rgbColor.g - (rgbColor.r + rgbColor.b) * static_cast(0.5); + return result; + } + + static GLM_FUNC_QUALIFIER vec<3, T, Q> YCoCgR2rgb + ( + vec<3, T, Q> const& YCoCgRColor + ) + { + vec<3, T, Q> result; + T tmp = YCoCgRColor.x - (YCoCgRColor.z * static_cast(0.5)); + result.g = YCoCgRColor.z + tmp; + result.b = tmp - (YCoCgRColor.y * static_cast(0.5)); + result.r = result.b + YCoCgRColor.y; + return result; + } + }; + + template + class compute_YCoCgR { + public: + static GLM_FUNC_QUALIFIER vec<3, T, Q> rgb2YCoCgR + ( + vec<3, T, Q> const& rgbColor + ) + { + vec<3, T, Q> result; + result.y/*Co*/ = rgbColor.r - rgbColor.b; + T tmp = rgbColor.b + (result.y >> 1); + result.z/*Cg*/ = rgbColor.g - tmp; + result.x/*Y */ = tmp + (result.z >> 1); + return result; + } + + static GLM_FUNC_QUALIFIER vec<3, T, Q> YCoCgR2rgb + ( + vec<3, T, Q> const& YCoCgRColor + ) + { + vec<3, T, Q> result; + T tmp = YCoCgRColor.x - (YCoCgRColor.z >> 1); + result.g = YCoCgRColor.z + tmp; + result.b = tmp - (YCoCgRColor.y >> 1); + result.r = result.b + YCoCgRColor.y; + return result; + } + }; + + template + GLM_FUNC_QUALIFIER vec<3, T, Q> rgb2YCoCgR + ( + vec<3, T, Q> const& rgbColor + ) + { + return compute_YCoCgR::is_integer>::rgb2YCoCgR(rgbColor); + } + + template + GLM_FUNC_QUALIFIER vec<3, T, Q> YCoCgR2rgb + ( + vec<3, T, Q> const& YCoCgRColor + ) + { + return compute_YCoCgR::is_integer>::YCoCgR2rgb(YCoCgRColor); + } +}//namespace glm diff --git a/MacroLibX/third_party/glm/gtx/common.hpp b/MacroLibX/third_party/glm/gtx/common.hpp new file mode 100644 index 0000000..254ada2 --- /dev/null +++ b/MacroLibX/third_party/glm/gtx/common.hpp @@ -0,0 +1,76 @@ +/// @ref gtx_common +/// @file glm/gtx/common.hpp +/// +/// @see core (dependence) +/// +/// @defgroup gtx_common GLM_GTX_common +/// @ingroup gtx +/// +/// Include to use the features of this extension. +/// +/// @brief Provide functions to increase the compatibility with Cg and HLSL languages + +#pragma once + +// Dependencies: +#include "../vec2.hpp" +#include "../vec3.hpp" +#include "../vec4.hpp" +#include "../gtc/vec1.hpp" + +#if GLM_MESSAGES == GLM_ENABLE && !defined(GLM_EXT_INCLUDED) +# ifndef GLM_ENABLE_EXPERIMENTAL +# pragma message("GLM: GLM_GTX_common is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it.") +# else +# pragma message("GLM: GLM_GTX_common extension included") +# endif +#endif + +namespace glm +{ + /// @addtogroup gtx_common + /// @{ + + /// Returns true if x is a denormalized number + /// Numbers whose absolute value is too small to be represented in the normal format are represented in an alternate, denormalized format. + /// This format is less precise but can represent values closer to zero. + /// + /// @tparam genType Floating-point scalar or vector types. + /// + /// @see GLSL isnan man page + /// @see GLSL 4.20.8 specification, section 8.3 Common Functions + template + GLM_FUNC_DECL typename genType::bool_type isdenormal(genType const& x); + + /// Similar to 'mod' but with a different rounding and integer support. + /// Returns 'x - y * trunc(x/y)' instead of 'x - y * floor(x/y)' + /// + /// @see GLSL mod vs HLSL fmod + /// @see GLSL mod man page + template + GLM_FUNC_DECL vec fmod(vec const& v); + + /// Returns whether vector components values are within an interval. A open interval excludes its endpoints, and is denoted with square brackets. + /// + /// @tparam L Integer between 1 and 4 included that qualify the dimension of the vector + /// @tparam T Floating-point or integer scalar types + /// @tparam Q Value from qualifier enum + /// + /// @see ext_vector_relational + template + GLM_FUNC_DECL vec openBounded(vec const& Value, vec const& Min, vec const& Max); + + /// Returns whether vector components values are within an interval. A closed interval includes its endpoints, and is denoted with square brackets. + /// + /// @tparam L Integer between 1 and 4 included that qualify the dimension of the vector + /// @tparam T Floating-point or integer scalar types + /// @tparam Q Value from qualifier enum + /// + /// @see ext_vector_relational + template + GLM_FUNC_DECL vec closeBounded(vec const& Value, vec const& Min, vec const& Max); + + /// @} +}//namespace glm + +#include "common.inl" diff --git a/MacroLibX/third_party/glm/gtx/common.inl b/MacroLibX/third_party/glm/gtx/common.inl new file mode 100644 index 0000000..4ad2126 --- /dev/null +++ b/MacroLibX/third_party/glm/gtx/common.inl @@ -0,0 +1,125 @@ +/// @ref gtx_common + +#include +#include "../gtc/epsilon.hpp" +#include "../gtc/constants.hpp" + +namespace glm{ +namespace detail +{ + template + struct compute_fmod + { + GLM_FUNC_QUALIFIER static vec call(vec const& a, vec const& b) + { + return detail::functor2::call(std::fmod, a, b); + } + }; + + template + struct compute_fmod + { + GLM_FUNC_QUALIFIER static vec call(vec const& a, vec const& b) + { + return a % b; + } + }; +}//namespace detail + + template + GLM_FUNC_QUALIFIER bool isdenormal(T const& x) + { + GLM_STATIC_ASSERT(std::numeric_limits::is_iec559, "'isdenormal' only accept floating-point inputs"); + +# if GLM_HAS_CXX11_STL + return std::fpclassify(x) == FP_SUBNORMAL; +# else + return epsilonNotEqual(x, static_cast(0), epsilon()) && std::fabs(x) < std::numeric_limits::min(); +# endif + } + + template + GLM_FUNC_QUALIFIER typename vec<1, T, Q>::bool_type isdenormal + ( + vec<1, T, Q> const& x + ) + { + GLM_STATIC_ASSERT(std::numeric_limits::is_iec559, "'isdenormal' only accept floating-point inputs"); + + return typename vec<1, T, Q>::bool_type( + isdenormal(x.x)); + } + + template + GLM_FUNC_QUALIFIER typename vec<2, T, Q>::bool_type isdenormal + ( + vec<2, T, Q> const& x + ) + { + GLM_STATIC_ASSERT(std::numeric_limits::is_iec559, "'isdenormal' only accept floating-point inputs"); + + return typename vec<2, T, Q>::bool_type( + isdenormal(x.x), + isdenormal(x.y)); + } + + template + GLM_FUNC_QUALIFIER typename vec<3, T, Q>::bool_type isdenormal + ( + vec<3, T, Q> const& x + ) + { + GLM_STATIC_ASSERT(std::numeric_limits::is_iec559, "'isdenormal' only accept floating-point inputs"); + + return typename vec<3, T, Q>::bool_type( + isdenormal(x.x), + isdenormal(x.y), + isdenormal(x.z)); + } + + template + GLM_FUNC_QUALIFIER typename vec<4, T, Q>::bool_type isdenormal + ( + vec<4, T, Q> const& x + ) + { + GLM_STATIC_ASSERT(std::numeric_limits::is_iec559, "'isdenormal' only accept floating-point inputs"); + + return typename vec<4, T, Q>::bool_type( + isdenormal(x.x), + isdenormal(x.y), + isdenormal(x.z), + isdenormal(x.w)); + } + + // fmod + template + GLM_FUNC_QUALIFIER genType fmod(genType x, genType y) + { + return fmod(vec<1, genType>(x), y).x; + } + + template + GLM_FUNC_QUALIFIER vec fmod(vec const& x, T y) + { + return detail::compute_fmod::is_iec559>::call(x, vec(y)); + } + + template + GLM_FUNC_QUALIFIER vec fmod(vec const& x, vec const& y) + { + return detail::compute_fmod::is_iec559>::call(x, y); + } + + template + GLM_FUNC_QUALIFIER vec openBounded(vec const& Value, vec const& Min, vec const& Max) + { + return greaterThan(Value, Min) && lessThan(Value, Max); + } + + template + GLM_FUNC_QUALIFIER vec closeBounded(vec const& Value, vec const& Min, vec const& Max) + { + return greaterThanEqual(Value, Min) && lessThanEqual(Value, Max); + } +}//namespace glm diff --git a/MacroLibX/third_party/glm/gtx/compatibility.hpp b/MacroLibX/third_party/glm/gtx/compatibility.hpp new file mode 100644 index 0000000..f1b00a6 --- /dev/null +++ b/MacroLibX/third_party/glm/gtx/compatibility.hpp @@ -0,0 +1,133 @@ +/// @ref gtx_compatibility +/// @file glm/gtx/compatibility.hpp +/// +/// @see core (dependence) +/// +/// @defgroup gtx_compatibility GLM_GTX_compatibility +/// @ingroup gtx +/// +/// Include to use the features of this extension. +/// +/// Provide functions to increase the compatibility with Cg and HLSL languages + +#pragma once + +// Dependency: +#include "../glm.hpp" +#include "../gtc/quaternion.hpp" + +#if GLM_MESSAGES == GLM_ENABLE && !defined(GLM_EXT_INCLUDED) +# ifndef GLM_ENABLE_EXPERIMENTAL +# pragma message("GLM: GLM_GTX_compatibility is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it.") +# else +# pragma message("GLM: GLM_GTX_compatibility extension included") +# endif +#endif + +#if GLM_COMPILER & GLM_COMPILER_VC +# include +#elif GLM_COMPILER & GLM_COMPILER_GCC +# include +# if(GLM_PLATFORM & GLM_PLATFORM_ANDROID) +# undef isfinite +# endif +#endif//GLM_COMPILER + +namespace glm +{ + /// @addtogroup gtx_compatibility + /// @{ + + template GLM_FUNC_QUALIFIER T lerp(T x, T y, T a){return mix(x, y, a);} //!< \brief Returns x * (1.0 - a) + y * a, i.e., the linear blend of x and y using the floating-point value a. The value for a is not restricted to the range [0, 1]. (From GLM_GTX_compatibility) + template GLM_FUNC_QUALIFIER vec<2, T, Q> lerp(const vec<2, T, Q>& x, const vec<2, T, Q>& y, T a){return mix(x, y, a);} //!< \brief Returns x * (1.0 - a) + y * a, i.e., the linear blend of x and y using the floating-point value a. The value for a is not restricted to the range [0, 1]. (From GLM_GTX_compatibility) + + template GLM_FUNC_QUALIFIER vec<3, T, Q> lerp(const vec<3, T, Q>& x, const vec<3, T, Q>& y, T a){return mix(x, y, a);} //!< \brief Returns x * (1.0 - a) + y * a, i.e., the linear blend of x and y using the floating-point value a. The value for a is not restricted to the range [0, 1]. (From GLM_GTX_compatibility) + template GLM_FUNC_QUALIFIER vec<4, T, Q> lerp(const vec<4, T, Q>& x, const vec<4, T, Q>& y, T a){return mix(x, y, a);} //!< \brief Returns x * (1.0 - a) + y * a, i.e., the linear blend of x and y using the floating-point value a. The value for a is not restricted to the range [0, 1]. (From GLM_GTX_compatibility) + template GLM_FUNC_QUALIFIER vec<2, T, Q> lerp(const vec<2, T, Q>& x, const vec<2, T, Q>& y, const vec<2, T, Q>& a){return mix(x, y, a);} //!< \brief Returns the component-wise result of x * (1.0 - a) + y * a, i.e., the linear blend of x and y using vector a. The value for a is not restricted to the range [0, 1]. (From GLM_GTX_compatibility) + template GLM_FUNC_QUALIFIER vec<3, T, Q> lerp(const vec<3, T, Q>& x, const vec<3, T, Q>& y, const vec<3, T, Q>& a){return mix(x, y, a);} //!< \brief Returns the component-wise result of x * (1.0 - a) + y * a, i.e., the linear blend of x and y using vector a. The value for a is not restricted to the range [0, 1]. (From GLM_GTX_compatibility) + template GLM_FUNC_QUALIFIER vec<4, T, Q> lerp(const vec<4, T, Q>& x, const vec<4, T, Q>& y, const vec<4, T, Q>& a){return mix(x, y, a);} //!< \brief Returns the component-wise result of x * (1.0 - a) + y * a, i.e., the linear blend of x and y using vector a. The value for a is not restricted to the range [0, 1]. (From GLM_GTX_compatibility) + + template GLM_FUNC_QUALIFIER T saturate(T x){return clamp(x, T(0), T(1));} //!< \brief Returns clamp(x, 0, 1) for each component in x. (From GLM_GTX_compatibility) + template GLM_FUNC_QUALIFIER vec<2, T, Q> saturate(const vec<2, T, Q>& x){return clamp(x, T(0), T(1));} //!< \brief Returns clamp(x, 0, 1) for each component in x. (From GLM_GTX_compatibility) + template GLM_FUNC_QUALIFIER vec<3, T, Q> saturate(const vec<3, T, Q>& x){return clamp(x, T(0), T(1));} //!< \brief Returns clamp(x, 0, 1) for each component in x. (From GLM_GTX_compatibility) + template GLM_FUNC_QUALIFIER vec<4, T, Q> saturate(const vec<4, T, Q>& x){return clamp(x, T(0), T(1));} //!< \brief Returns clamp(x, 0, 1) for each component in x. (From GLM_GTX_compatibility) + + template GLM_FUNC_QUALIFIER T atan2(T x, T y){return atan(x, y);} //!< \brief Arc tangent. Returns an angle whose tangent is y/x. The signs of x and y are used to determine what quadrant the angle is in. The range of values returned by this function is [-PI, PI]. Results are undefined if x and y are both 0. (From GLM_GTX_compatibility) + template GLM_FUNC_QUALIFIER vec<2, T, Q> atan2(const vec<2, T, Q>& x, const vec<2, T, Q>& y){return atan(x, y);} //!< \brief Arc tangent. Returns an angle whose tangent is y/x. The signs of x and y are used to determine what quadrant the angle is in. The range of values returned by this function is [-PI, PI]. Results are undefined if x and y are both 0. (From GLM_GTX_compatibility) + template GLM_FUNC_QUALIFIER vec<3, T, Q> atan2(const vec<3, T, Q>& x, const vec<3, T, Q>& y){return atan(x, y);} //!< \brief Arc tangent. Returns an angle whose tangent is y/x. The signs of x and y are used to determine what quadrant the angle is in. The range of values returned by this function is [-PI, PI]. Results are undefined if x and y are both 0. (From GLM_GTX_compatibility) + template GLM_FUNC_QUALIFIER vec<4, T, Q> atan2(const vec<4, T, Q>& x, const vec<4, T, Q>& y){return atan(x, y);} //!< \brief Arc tangent. Returns an angle whose tangent is y/x. The signs of x and y are used to determine what quadrant the angle is in. The range of values returned by this function is [-PI, PI]. Results are undefined if x and y are both 0. (From GLM_GTX_compatibility) + + template GLM_FUNC_DECL bool isfinite(genType const& x); //!< \brief Test whether or not a scalar or each vector component is a finite value. (From GLM_GTX_compatibility) + template GLM_FUNC_DECL vec<1, bool, Q> isfinite(const vec<1, T, Q>& x); //!< \brief Test whether or not a scalar or each vector component is a finite value. (From GLM_GTX_compatibility) + template GLM_FUNC_DECL vec<2, bool, Q> isfinite(const vec<2, T, Q>& x); //!< \brief Test whether or not a scalar or each vector component is a finite value. (From GLM_GTX_compatibility) + template GLM_FUNC_DECL vec<3, bool, Q> isfinite(const vec<3, T, Q>& x); //!< \brief Test whether or not a scalar or each vector component is a finite value. (From GLM_GTX_compatibility) + template GLM_FUNC_DECL vec<4, bool, Q> isfinite(const vec<4, T, Q>& x); //!< \brief Test whether or not a scalar or each vector component is a finite value. (From GLM_GTX_compatibility) + + typedef bool bool1; //!< \brief boolean type with 1 component. (From GLM_GTX_compatibility extension) + typedef vec<2, bool, highp> bool2; //!< \brief boolean type with 2 components. (From GLM_GTX_compatibility extension) + typedef vec<3, bool, highp> bool3; //!< \brief boolean type with 3 components. (From GLM_GTX_compatibility extension) + typedef vec<4, bool, highp> bool4; //!< \brief boolean type with 4 components. (From GLM_GTX_compatibility extension) + + typedef bool bool1x1; //!< \brief boolean matrix with 1 x 1 component. (From GLM_GTX_compatibility extension) + typedef mat<2, 2, bool, highp> bool2x2; //!< \brief boolean matrix with 2 x 2 components. (From GLM_GTX_compatibility extension) + typedef mat<2, 3, bool, highp> bool2x3; //!< \brief boolean matrix with 2 x 3 components. (From GLM_GTX_compatibility extension) + typedef mat<2, 4, bool, highp> bool2x4; //!< \brief boolean matrix with 2 x 4 components. (From GLM_GTX_compatibility extension) + typedef mat<3, 2, bool, highp> bool3x2; //!< \brief boolean matrix with 3 x 2 components. (From GLM_GTX_compatibility extension) + typedef mat<3, 3, bool, highp> bool3x3; //!< \brief boolean matrix with 3 x 3 components. (From GLM_GTX_compatibility extension) + typedef mat<3, 4, bool, highp> bool3x4; //!< \brief boolean matrix with 3 x 4 components. (From GLM_GTX_compatibility extension) + typedef mat<4, 2, bool, highp> bool4x2; //!< \brief boolean matrix with 4 x 2 components. (From GLM_GTX_compatibility extension) + typedef mat<4, 3, bool, highp> bool4x3; //!< \brief boolean matrix with 4 x 3 components. (From GLM_GTX_compatibility extension) + typedef mat<4, 4, bool, highp> bool4x4; //!< \brief boolean matrix with 4 x 4 components. (From GLM_GTX_compatibility extension) + + typedef int int1; //!< \brief integer vector with 1 component. (From GLM_GTX_compatibility extension) + typedef vec<2, int, highp> int2; //!< \brief integer vector with 2 components. (From GLM_GTX_compatibility extension) + typedef vec<3, int, highp> int3; //!< \brief integer vector with 3 components. (From GLM_GTX_compatibility extension) + typedef vec<4, int, highp> int4; //!< \brief integer vector with 4 components. (From GLM_GTX_compatibility extension) + + typedef int int1x1; //!< \brief integer matrix with 1 component. (From GLM_GTX_compatibility extension) + typedef mat<2, 2, int, highp> int2x2; //!< \brief integer matrix with 2 x 2 components. (From GLM_GTX_compatibility extension) + typedef mat<2, 3, int, highp> int2x3; //!< \brief integer matrix with 2 x 3 components. (From GLM_GTX_compatibility extension) + typedef mat<2, 4, int, highp> int2x4; //!< \brief integer matrix with 2 x 4 components. (From GLM_GTX_compatibility extension) + typedef mat<3, 2, int, highp> int3x2; //!< \brief integer matrix with 3 x 2 components. (From GLM_GTX_compatibility extension) + typedef mat<3, 3, int, highp> int3x3; //!< \brief integer matrix with 3 x 3 components. (From GLM_GTX_compatibility extension) + typedef mat<3, 4, int, highp> int3x4; //!< \brief integer matrix with 3 x 4 components. (From GLM_GTX_compatibility extension) + typedef mat<4, 2, int, highp> int4x2; //!< \brief integer matrix with 4 x 2 components. (From GLM_GTX_compatibility extension) + typedef mat<4, 3, int, highp> int4x3; //!< \brief integer matrix with 4 x 3 components. (From GLM_GTX_compatibility extension) + typedef mat<4, 4, int, highp> int4x4; //!< \brief integer matrix with 4 x 4 components. (From GLM_GTX_compatibility extension) + + typedef float float1; //!< \brief single-qualifier floating-point vector with 1 component. (From GLM_GTX_compatibility extension) + typedef vec<2, float, highp> float2; //!< \brief single-qualifier floating-point vector with 2 components. (From GLM_GTX_compatibility extension) + typedef vec<3, float, highp> float3; //!< \brief single-qualifier floating-point vector with 3 components. (From GLM_GTX_compatibility extension) + typedef vec<4, float, highp> float4; //!< \brief single-qualifier floating-point vector with 4 components. (From GLM_GTX_compatibility extension) + + typedef float float1x1; //!< \brief single-qualifier floating-point matrix with 1 component. (From GLM_GTX_compatibility extension) + typedef mat<2, 2, float, highp> float2x2; //!< \brief single-qualifier floating-point matrix with 2 x 2 components. (From GLM_GTX_compatibility extension) + typedef mat<2, 3, float, highp> float2x3; //!< \brief single-qualifier floating-point matrix with 2 x 3 components. (From GLM_GTX_compatibility extension) + typedef mat<2, 4, float, highp> float2x4; //!< \brief single-qualifier floating-point matrix with 2 x 4 components. (From GLM_GTX_compatibility extension) + typedef mat<3, 2, float, highp> float3x2; //!< \brief single-qualifier floating-point matrix with 3 x 2 components. (From GLM_GTX_compatibility extension) + typedef mat<3, 3, float, highp> float3x3; //!< \brief single-qualifier floating-point matrix with 3 x 3 components. (From GLM_GTX_compatibility extension) + typedef mat<3, 4, float, highp> float3x4; //!< \brief single-qualifier floating-point matrix with 3 x 4 components. (From GLM_GTX_compatibility extension) + typedef mat<4, 2, float, highp> float4x2; //!< \brief single-qualifier floating-point matrix with 4 x 2 components. (From GLM_GTX_compatibility extension) + typedef mat<4, 3, float, highp> float4x3; //!< \brief single-qualifier floating-point matrix with 4 x 3 components. (From GLM_GTX_compatibility extension) + typedef mat<4, 4, float, highp> float4x4; //!< \brief single-qualifier floating-point matrix with 4 x 4 components. (From GLM_GTX_compatibility extension) + + typedef double double1; //!< \brief double-qualifier floating-point vector with 1 component. (From GLM_GTX_compatibility extension) + typedef vec<2, double, highp> double2; //!< \brief double-qualifier floating-point vector with 2 components. (From GLM_GTX_compatibility extension) + typedef vec<3, double, highp> double3; //!< \brief double-qualifier floating-point vector with 3 components. (From GLM_GTX_compatibility extension) + typedef vec<4, double, highp> double4; //!< \brief double-qualifier floating-point vector with 4 components. (From GLM_GTX_compatibility extension) + + typedef double double1x1; //!< \brief double-qualifier floating-point matrix with 1 component. (From GLM_GTX_compatibility extension) + typedef mat<2, 2, double, highp> double2x2; //!< \brief double-qualifier floating-point matrix with 2 x 2 components. (From GLM_GTX_compatibility extension) + typedef mat<2, 3, double, highp> double2x3; //!< \brief double-qualifier floating-point matrix with 2 x 3 components. (From GLM_GTX_compatibility extension) + typedef mat<2, 4, double, highp> double2x4; //!< \brief double-qualifier floating-point matrix with 2 x 4 components. (From GLM_GTX_compatibility extension) + typedef mat<3, 2, double, highp> double3x2; //!< \brief double-qualifier floating-point matrix with 3 x 2 components. (From GLM_GTX_compatibility extension) + typedef mat<3, 3, double, highp> double3x3; //!< \brief double-qualifier floating-point matrix with 3 x 3 components. (From GLM_GTX_compatibility extension) + typedef mat<3, 4, double, highp> double3x4; //!< \brief double-qualifier floating-point matrix with 3 x 4 components. (From GLM_GTX_compatibility extension) + typedef mat<4, 2, double, highp> double4x2; //!< \brief double-qualifier floating-point matrix with 4 x 2 components. (From GLM_GTX_compatibility extension) + typedef mat<4, 3, double, highp> double4x3; //!< \brief double-qualifier floating-point matrix with 4 x 3 components. (From GLM_GTX_compatibility extension) + typedef mat<4, 4, double, highp> double4x4; //!< \brief double-qualifier floating-point matrix with 4 x 4 components. (From GLM_GTX_compatibility extension) + + /// @} +}//namespace glm + +#include "compatibility.inl" diff --git a/MacroLibX/third_party/glm/gtx/compatibility.inl b/MacroLibX/third_party/glm/gtx/compatibility.inl new file mode 100644 index 0000000..1d49496 --- /dev/null +++ b/MacroLibX/third_party/glm/gtx/compatibility.inl @@ -0,0 +1,62 @@ +#include + +namespace glm +{ + // isfinite + template + GLM_FUNC_QUALIFIER bool isfinite( + genType const& x) + { +# if GLM_HAS_CXX11_STL + return std::isfinite(x) != 0; +# elif GLM_COMPILER & GLM_COMPILER_VC + return _finite(x) != 0; +# elif GLM_COMPILER & GLM_COMPILER_GCC && GLM_PLATFORM & GLM_PLATFORM_ANDROID + return _isfinite(x) != 0; +# else + if (std::numeric_limits::is_integer || std::denorm_absent == std::numeric_limits::has_denorm) + return std::numeric_limits::min() <= x && std::numeric_limits::max() >= x; + else + return -std::numeric_limits::max() <= x && std::numeric_limits::max() >= x; +# endif + } + + template + GLM_FUNC_QUALIFIER vec<1, bool, Q> isfinite( + vec<1, T, Q> const& x) + { + return vec<1, bool, Q>( + isfinite(x.x)); + } + + template + GLM_FUNC_QUALIFIER vec<2, bool, Q> isfinite( + vec<2, T, Q> const& x) + { + return vec<2, bool, Q>( + isfinite(x.x), + isfinite(x.y)); + } + + template + GLM_FUNC_QUALIFIER vec<3, bool, Q> isfinite( + vec<3, T, Q> const& x) + { + return vec<3, bool, Q>( + isfinite(x.x), + isfinite(x.y), + isfinite(x.z)); + } + + template + GLM_FUNC_QUALIFIER vec<4, bool, Q> isfinite( + vec<4, T, Q> const& x) + { + return vec<4, bool, Q>( + isfinite(x.x), + isfinite(x.y), + isfinite(x.z), + isfinite(x.w)); + } + +}//namespace glm diff --git a/MacroLibX/third_party/glm/gtx/component_wise.hpp b/MacroLibX/third_party/glm/gtx/component_wise.hpp new file mode 100644 index 0000000..34a2b0a --- /dev/null +++ b/MacroLibX/third_party/glm/gtx/component_wise.hpp @@ -0,0 +1,69 @@ +/// @ref gtx_component_wise +/// @file glm/gtx/component_wise.hpp +/// @date 2007-05-21 / 2011-06-07 +/// @author Christophe Riccio +/// +/// @see core (dependence) +/// +/// @defgroup gtx_component_wise GLM_GTX_component_wise +/// @ingroup gtx +/// +/// Include to use the features of this extension. +/// +/// Operations between components of a type + +#pragma once + +// Dependencies +#include "../detail/setup.hpp" +#include "../detail/qualifier.hpp" + +#if GLM_MESSAGES == GLM_ENABLE && !defined(GLM_EXT_INCLUDED) +# ifndef GLM_ENABLE_EXPERIMENTAL +# pragma message("GLM: GLM_GTX_component_wise is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it.") +# else +# pragma message("GLM: GLM_GTX_component_wise extension included") +# endif +#endif + +namespace glm +{ + /// @addtogroup gtx_component_wise + /// @{ + + /// Convert an integer vector to a normalized float vector. + /// If the parameter value type is already a floating qualifier type, the value is passed through. + /// @see gtx_component_wise + template + GLM_FUNC_DECL vec compNormalize(vec const& v); + + /// Convert a normalized float vector to an integer vector. + /// If the parameter value type is already a floating qualifier type, the value is passed through. + /// @see gtx_component_wise + template + GLM_FUNC_DECL vec compScale(vec const& v); + + /// Add all vector components together. + /// @see gtx_component_wise + template + GLM_FUNC_DECL typename genType::value_type compAdd(genType const& v); + + /// Multiply all vector components together. + /// @see gtx_component_wise + template + GLM_FUNC_DECL typename genType::value_type compMul(genType const& v); + + /// Find the minimum value between single vector components. + /// @see gtx_component_wise + template + GLM_FUNC_DECL typename genType::value_type compMin(genType const& v); + + /// Find the maximum value between single vector components. + /// @see gtx_component_wise + template + GLM_FUNC_DECL typename genType::value_type compMax(genType const& v); + + /// @} +}//namespace glm + +#include "component_wise.inl" diff --git a/MacroLibX/third_party/glm/gtx/component_wise.inl b/MacroLibX/third_party/glm/gtx/component_wise.inl new file mode 100644 index 0000000..cbbc7d4 --- /dev/null +++ b/MacroLibX/third_party/glm/gtx/component_wise.inl @@ -0,0 +1,127 @@ +/// @ref gtx_component_wise + +#include + +namespace glm{ +namespace detail +{ + template + struct compute_compNormalize + {}; + + template + struct compute_compNormalize + { + GLM_FUNC_QUALIFIER static vec call(vec const& v) + { + floatType const Min = static_cast(std::numeric_limits::min()); + floatType const Max = static_cast(std::numeric_limits::max()); + return (vec(v) - Min) / (Max - Min) * static_cast(2) - static_cast(1); + } + }; + + template + struct compute_compNormalize + { + GLM_FUNC_QUALIFIER static vec call(vec const& v) + { + return vec(v) / static_cast(std::numeric_limits::max()); + } + }; + + template + struct compute_compNormalize + { + GLM_FUNC_QUALIFIER static vec call(vec const& v) + { + return v; + } + }; + + template + struct compute_compScale + {}; + + template + struct compute_compScale + { + GLM_FUNC_QUALIFIER static vec call(vec const& v) + { + floatType const Max = static_cast(std::numeric_limits::max()) + static_cast(0.5); + vec const Scaled(v * Max); + vec const Result(Scaled - static_cast(0.5)); + return Result; + } + }; + + template + struct compute_compScale + { + GLM_FUNC_QUALIFIER static vec call(vec const& v) + { + return vec(vec(v) * static_cast(std::numeric_limits::max())); + } + }; + + template + struct compute_compScale + { + GLM_FUNC_QUALIFIER static vec call(vec const& v) + { + return v; + } + }; +}//namespace detail + + template + GLM_FUNC_QUALIFIER vec compNormalize(vec const& v) + { + GLM_STATIC_ASSERT(std::numeric_limits::is_iec559, "'compNormalize' accepts only floating-point types for 'floatType' template parameter"); + + return detail::compute_compNormalize::is_integer, std::numeric_limits::is_signed>::call(v); + } + + template + GLM_FUNC_QUALIFIER vec compScale(vec const& v) + { + GLM_STATIC_ASSERT(std::numeric_limits::is_iec559, "'compScale' accepts only floating-point types for 'floatType' template parameter"); + + return detail::compute_compScale::is_integer, std::numeric_limits::is_signed>::call(v); + } + + template + GLM_FUNC_QUALIFIER T compAdd(vec const& v) + { + T Result(0); + for(length_t i = 0, n = v.length(); i < n; ++i) + Result += v[i]; + return Result; + } + + template + GLM_FUNC_QUALIFIER T compMul(vec const& v) + { + T Result(1); + for(length_t i = 0, n = v.length(); i < n; ++i) + Result *= v[i]; + return Result; + } + + template + GLM_FUNC_QUALIFIER T compMin(vec const& v) + { + T Result(v[0]); + for(length_t i = 1, n = v.length(); i < n; ++i) + Result = min(Result, v[i]); + return Result; + } + + template + GLM_FUNC_QUALIFIER T compMax(vec const& v) + { + T Result(v[0]); + for(length_t i = 1, n = v.length(); i < n; ++i) + Result = max(Result, v[i]); + return Result; + } +}//namespace glm diff --git a/MacroLibX/third_party/glm/gtx/dual_quaternion.hpp b/MacroLibX/third_party/glm/gtx/dual_quaternion.hpp new file mode 100644 index 0000000..6a51ab7 --- /dev/null +++ b/MacroLibX/third_party/glm/gtx/dual_quaternion.hpp @@ -0,0 +1,274 @@ +/// @ref gtx_dual_quaternion +/// @file glm/gtx/dual_quaternion.hpp +/// @author Maksim Vorobiev (msomeone@gmail.com) +/// +/// @see core (dependence) +/// @see gtc_constants (dependence) +/// @see gtc_quaternion (dependence) +/// +/// @defgroup gtx_dual_quaternion GLM_GTX_dual_quaternion +/// @ingroup gtx +/// +/// Include to use the features of this extension. +/// +/// Defines a templated dual-quaternion type and several dual-quaternion operations. + +#pragma once + +// Dependency: +#include "../glm.hpp" +#include "../gtc/constants.hpp" +#include "../gtc/quaternion.hpp" + +#if GLM_MESSAGES == GLM_ENABLE && !defined(GLM_EXT_INCLUDED) +# ifndef GLM_ENABLE_EXPERIMENTAL +# pragma message("GLM: GLM_GTX_dual_quaternion is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it.") +# else +# pragma message("GLM: GLM_GTX_dual_quaternion extension included") +# endif +#endif + +namespace glm +{ + /// @addtogroup gtx_dual_quaternion + /// @{ + + template + struct tdualquat + { + // -- Implementation detail -- + + typedef T value_type; + typedef qua part_type; + + // -- Data -- + + qua real, dual; + + // -- Component accesses -- + + typedef length_t length_type; + /// Return the count of components of a dual quaternion + GLM_FUNC_DECL static GLM_CONSTEXPR length_type length(){return 2;} + + GLM_FUNC_DECL part_type & operator[](length_type i); + GLM_FUNC_DECL part_type const& operator[](length_type i) const; + + // -- Implicit basic constructors -- + + GLM_FUNC_DECL GLM_CONSTEXPR tdualquat() GLM_DEFAULT; + GLM_FUNC_DECL GLM_CONSTEXPR tdualquat(tdualquat const& d) GLM_DEFAULT; + template + GLM_FUNC_DECL GLM_CONSTEXPR tdualquat(tdualquat const& d); + + // -- Explicit basic constructors -- + + GLM_FUNC_DECL GLM_CONSTEXPR tdualquat(qua const& real); + GLM_FUNC_DECL GLM_CONSTEXPR tdualquat(qua const& orientation, vec<3, T, Q> const& translation); + GLM_FUNC_DECL GLM_CONSTEXPR tdualquat(qua const& real, qua const& dual); + + // -- Conversion constructors -- + + template + GLM_FUNC_DECL GLM_CONSTEXPR GLM_EXPLICIT tdualquat(tdualquat const& q); + + GLM_FUNC_DECL GLM_EXPLICIT GLM_CONSTEXPR tdualquat(mat<2, 4, T, Q> const& holder_mat); + GLM_FUNC_DECL GLM_EXPLICIT GLM_CONSTEXPR tdualquat(mat<3, 4, T, Q> const& aug_mat); + + // -- Unary arithmetic operators -- + + GLM_FUNC_DECL tdualquat & operator=(tdualquat const& m) GLM_DEFAULT; + + template + GLM_FUNC_DECL tdualquat & operator=(tdualquat const& m); + template + GLM_FUNC_DECL tdualquat & operator*=(U s); + template + GLM_FUNC_DECL tdualquat & operator/=(U s); + }; + + // -- Unary bit operators -- + + template + GLM_FUNC_DECL tdualquat operator+(tdualquat const& q); + + template + GLM_FUNC_DECL tdualquat operator-(tdualquat const& q); + + // -- Binary operators -- + + template + GLM_FUNC_DECL tdualquat operator+(tdualquat const& q, tdualquat const& p); + + template + GLM_FUNC_DECL tdualquat operator*(tdualquat const& q, tdualquat const& p); + + template + GLM_FUNC_DECL vec<3, T, Q> operator*(tdualquat const& q, vec<3, T, Q> const& v); + + template + GLM_FUNC_DECL vec<3, T, Q> operator*(vec<3, T, Q> const& v, tdualquat const& q); + + template + GLM_FUNC_DECL vec<4, T, Q> operator*(tdualquat const& q, vec<4, T, Q> const& v); + + template + GLM_FUNC_DECL vec<4, T, Q> operator*(vec<4, T, Q> const& v, tdualquat const& q); + + template + GLM_FUNC_DECL tdualquat operator*(tdualquat const& q, T const& s); + + template + GLM_FUNC_DECL tdualquat operator*(T const& s, tdualquat const& q); + + template + GLM_FUNC_DECL tdualquat operator/(tdualquat const& q, T const& s); + + // -- Boolean operators -- + + template + GLM_FUNC_DECL bool operator==(tdualquat const& q1, tdualquat const& q2); + + template + GLM_FUNC_DECL bool operator!=(tdualquat const& q1, tdualquat const& q2); + + /// Creates an identity dual quaternion. + /// + /// @see gtx_dual_quaternion + template + GLM_FUNC_DECL tdualquat dual_quat_identity(); + + /// Returns the normalized quaternion. + /// + /// @see gtx_dual_quaternion + template + GLM_FUNC_DECL tdualquat normalize(tdualquat const& q); + + /// Returns the linear interpolation of two dual quaternion. + /// + /// @see gtc_dual_quaternion + template + GLM_FUNC_DECL tdualquat lerp(tdualquat const& x, tdualquat const& y, T const& a); + + /// Returns the q inverse. + /// + /// @see gtx_dual_quaternion + template + GLM_FUNC_DECL tdualquat inverse(tdualquat const& q); + + /// Converts a quaternion to a 2 * 4 matrix. + /// + /// @see gtx_dual_quaternion + template + GLM_FUNC_DECL mat<2, 4, T, Q> mat2x4_cast(tdualquat const& x); + + /// Converts a quaternion to a 3 * 4 matrix. + /// + /// @see gtx_dual_quaternion + template + GLM_FUNC_DECL mat<3, 4, T, Q> mat3x4_cast(tdualquat const& x); + + /// Converts a 2 * 4 matrix (matrix which holds real and dual parts) to a quaternion. + /// + /// @see gtx_dual_quaternion + template + GLM_FUNC_DECL tdualquat dualquat_cast(mat<2, 4, T, Q> const& x); + + /// Converts a 3 * 4 matrix (augmented matrix rotation + translation) to a quaternion. + /// + /// @see gtx_dual_quaternion + template + GLM_FUNC_DECL tdualquat dualquat_cast(mat<3, 4, T, Q> const& x); + + + /// Dual-quaternion of low single-qualifier floating-point numbers. + /// + /// @see gtx_dual_quaternion + typedef tdualquat lowp_dualquat; + + /// Dual-quaternion of medium single-qualifier floating-point numbers. + /// + /// @see gtx_dual_quaternion + typedef tdualquat mediump_dualquat; + + /// Dual-quaternion of high single-qualifier floating-point numbers. + /// + /// @see gtx_dual_quaternion + typedef tdualquat highp_dualquat; + + + /// Dual-quaternion of low single-qualifier floating-point numbers. + /// + /// @see gtx_dual_quaternion + typedef tdualquat lowp_fdualquat; + + /// Dual-quaternion of medium single-qualifier floating-point numbers. + /// + /// @see gtx_dual_quaternion + typedef tdualquat mediump_fdualquat; + + /// Dual-quaternion of high single-qualifier floating-point numbers. + /// + /// @see gtx_dual_quaternion + typedef tdualquat highp_fdualquat; + + + /// Dual-quaternion of low double-qualifier floating-point numbers. + /// + /// @see gtx_dual_quaternion + typedef tdualquat lowp_ddualquat; + + /// Dual-quaternion of medium double-qualifier floating-point numbers. + /// + /// @see gtx_dual_quaternion + typedef tdualquat mediump_ddualquat; + + /// Dual-quaternion of high double-qualifier floating-point numbers. + /// + /// @see gtx_dual_quaternion + typedef tdualquat highp_ddualquat; + + +#if(!defined(GLM_PRECISION_HIGHP_FLOAT) && !defined(GLM_PRECISION_MEDIUMP_FLOAT) && !defined(GLM_PRECISION_LOWP_FLOAT)) + /// Dual-quaternion of floating-point numbers. + /// + /// @see gtx_dual_quaternion + typedef highp_fdualquat dualquat; + + /// Dual-quaternion of single-qualifier floating-point numbers. + /// + /// @see gtx_dual_quaternion + typedef highp_fdualquat fdualquat; +#elif(defined(GLM_PRECISION_HIGHP_FLOAT) && !defined(GLM_PRECISION_MEDIUMP_FLOAT) && !defined(GLM_PRECISION_LOWP_FLOAT)) + typedef highp_fdualquat dualquat; + typedef highp_fdualquat fdualquat; +#elif(!defined(GLM_PRECISION_HIGHP_FLOAT) && defined(GLM_PRECISION_MEDIUMP_FLOAT) && !defined(GLM_PRECISION_LOWP_FLOAT)) + typedef mediump_fdualquat dualquat; + typedef mediump_fdualquat fdualquat; +#elif(!defined(GLM_PRECISION_HIGHP_FLOAT) && !defined(GLM_PRECISION_MEDIUMP_FLOAT) && defined(GLM_PRECISION_LOWP_FLOAT)) + typedef lowp_fdualquat dualquat; + typedef lowp_fdualquat fdualquat; +#else +# error "GLM error: multiple default precision requested for single-precision floating-point types" +#endif + + +#if(!defined(GLM_PRECISION_HIGHP_DOUBLE) && !defined(GLM_PRECISION_MEDIUMP_DOUBLE) && !defined(GLM_PRECISION_LOWP_DOUBLE)) + /// Dual-quaternion of default double-qualifier floating-point numbers. + /// + /// @see gtx_dual_quaternion + typedef highp_ddualquat ddualquat; +#elif(defined(GLM_PRECISION_HIGHP_DOUBLE) && !defined(GLM_PRECISION_MEDIUMP_DOUBLE) && !defined(GLM_PRECISION_LOWP_DOUBLE)) + typedef highp_ddualquat ddualquat; +#elif(!defined(GLM_PRECISION_HIGHP_DOUBLE) && defined(GLM_PRECISION_MEDIUMP_DOUBLE) && !defined(GLM_PRECISION_LOWP_DOUBLE)) + typedef mediump_ddualquat ddualquat; +#elif(!defined(GLM_PRECISION_HIGHP_DOUBLE) && !defined(GLM_PRECISION_MEDIUMP_DOUBLE) && defined(GLM_PRECISION_LOWP_DOUBLE)) + typedef lowp_ddualquat ddualquat; +#else +# error "GLM error: Multiple default precision requested for double-precision floating-point types" +#endif + + /// @} +} //namespace glm + +#include "dual_quaternion.inl" diff --git a/MacroLibX/third_party/glm/gtx/dual_quaternion.inl b/MacroLibX/third_party/glm/gtx/dual_quaternion.inl new file mode 100644 index 0000000..fad07ea --- /dev/null +++ b/MacroLibX/third_party/glm/gtx/dual_quaternion.inl @@ -0,0 +1,352 @@ +/// @ref gtx_dual_quaternion + +#include "../geometric.hpp" +#include + +namespace glm +{ + // -- Component accesses -- + + template + GLM_FUNC_QUALIFIER typename tdualquat::part_type & tdualquat::operator[](typename tdualquat::length_type i) + { + assert(i >= 0 && i < this->length()); + return (&real)[i]; + } + + template + GLM_FUNC_QUALIFIER typename tdualquat::part_type const& tdualquat::operator[](typename tdualquat::length_type i) const + { + assert(i >= 0 && i < this->length()); + return (&real)[i]; + } + + // -- Implicit basic constructors -- + +# if GLM_CONFIG_DEFAULTED_FUNCTIONS == GLM_DISABLE + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR tdualquat::tdualquat() +# if GLM_CONFIG_DEFAULTED_FUNCTIONS != GLM_DISABLE + : real(qua()) + , dual(qua(0, 0, 0, 0)) +# endif + {} + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR tdualquat::tdualquat(tdualquat const& d) + : real(d.real) + , dual(d.dual) + {} +# endif + + template + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR tdualquat::tdualquat(tdualquat const& d) + : real(d.real) + , dual(d.dual) + {} + + // -- Explicit basic constructors -- + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR tdualquat::tdualquat(qua const& r) + : real(r), dual(qua(0, 0, 0, 0)) + {} + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR tdualquat::tdualquat(qua const& q, vec<3, T, Q> const& p) + : real(q), dual( + T(-0.5) * ( p.x*q.x + p.y*q.y + p.z*q.z), + T(+0.5) * ( p.x*q.w + p.y*q.z - p.z*q.y), + T(+0.5) * (-p.x*q.z + p.y*q.w + p.z*q.x), + T(+0.5) * ( p.x*q.y - p.y*q.x + p.z*q.w)) + {} + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR tdualquat::tdualquat(qua const& r, qua const& d) + : real(r), dual(d) + {} + + // -- Conversion constructors -- + + template + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR tdualquat::tdualquat(tdualquat const& q) + : real(q.real) + , dual(q.dual) + {} + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR tdualquat::tdualquat(mat<2, 4, T, Q> const& m) + { + *this = dualquat_cast(m); + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR tdualquat::tdualquat(mat<3, 4, T, Q> const& m) + { + *this = dualquat_cast(m); + } + + // -- Unary arithmetic operators -- + +# if GLM_CONFIG_DEFAULTED_FUNCTIONS == GLM_DISABLE + template + GLM_FUNC_QUALIFIER tdualquat & tdualquat::operator=(tdualquat const& q) + { + this->real = q.real; + this->dual = q.dual; + return *this; + } +# endif + + template + template + GLM_FUNC_QUALIFIER tdualquat & tdualquat::operator=(tdualquat const& q) + { + this->real = q.real; + this->dual = q.dual; + return *this; + } + + template + template + GLM_FUNC_QUALIFIER tdualquat & tdualquat::operator*=(U s) + { + this->real *= static_cast(s); + this->dual *= static_cast(s); + return *this; + } + + template + template + GLM_FUNC_QUALIFIER tdualquat & tdualquat::operator/=(U s) + { + this->real /= static_cast(s); + this->dual /= static_cast(s); + return *this; + } + + // -- Unary bit operators -- + + template + GLM_FUNC_QUALIFIER tdualquat operator+(tdualquat const& q) + { + return q; + } + + template + GLM_FUNC_QUALIFIER tdualquat operator-(tdualquat const& q) + { + return tdualquat(-q.real, -q.dual); + } + + // -- Binary operators -- + + template + GLM_FUNC_QUALIFIER tdualquat operator+(tdualquat const& q, tdualquat const& p) + { + return tdualquat(q.real + p.real,q.dual + p.dual); + } + + template + GLM_FUNC_QUALIFIER tdualquat operator*(tdualquat const& p, tdualquat const& o) + { + return tdualquat(p.real * o.real,p.real * o.dual + p.dual * o.real); + } + + template + GLM_FUNC_QUALIFIER vec<3, T, Q> operator*(tdualquat const& q, vec<3, T, Q> const& v) + { + vec<3, T, Q> const real_v3(q.real.x,q.real.y,q.real.z); + vec<3, T, Q> const dual_v3(q.dual.x,q.dual.y,q.dual.z); + return (cross(real_v3, cross(real_v3,v) + v * q.real.w + dual_v3) + dual_v3 * q.real.w - real_v3 * q.dual.w) * T(2) + v; + } + + template + GLM_FUNC_QUALIFIER vec<3, T, Q> operator*(vec<3, T, Q> const& v, tdualquat const& q) + { + return glm::inverse(q) * v; + } + + template + GLM_FUNC_QUALIFIER vec<4, T, Q> operator*(tdualquat const& q, vec<4, T, Q> const& v) + { + return vec<4, T, Q>(q * vec<3, T, Q>(v), v.w); + } + + template + GLM_FUNC_QUALIFIER vec<4, T, Q> operator*(vec<4, T, Q> const& v, tdualquat const& q) + { + return glm::inverse(q) * v; + } + + template + GLM_FUNC_QUALIFIER tdualquat operator*(tdualquat const& q, T const& s) + { + return tdualquat(q.real * s, q.dual * s); + } + + template + GLM_FUNC_QUALIFIER tdualquat operator*(T const& s, tdualquat const& q) + { + return q * s; + } + + template + GLM_FUNC_QUALIFIER tdualquat operator/(tdualquat const& q, T const& s) + { + return tdualquat(q.real / s, q.dual / s); + } + + // -- Boolean operators -- + + template + GLM_FUNC_QUALIFIER bool operator==(tdualquat const& q1, tdualquat const& q2) + { + return (q1.real == q2.real) && (q1.dual == q2.dual); + } + + template + GLM_FUNC_QUALIFIER bool operator!=(tdualquat const& q1, tdualquat const& q2) + { + return (q1.real != q2.real) || (q1.dual != q2.dual); + } + + // -- Operations -- + + template + GLM_FUNC_QUALIFIER tdualquat dual_quat_identity() + { + return tdualquat( + qua(static_cast(1), static_cast(0), static_cast(0), static_cast(0)), + qua(static_cast(0), static_cast(0), static_cast(0), static_cast(0))); + } + + template + GLM_FUNC_QUALIFIER tdualquat normalize(tdualquat const& q) + { + return q / length(q.real); + } + + template + GLM_FUNC_QUALIFIER tdualquat lerp(tdualquat const& x, tdualquat const& y, T const& a) + { + // Dual Quaternion Linear blend aka DLB: + // Lerp is only defined in [0, 1] + assert(a >= static_cast(0)); + assert(a <= static_cast(1)); + T const k = dot(x.real,y.real) < static_cast(0) ? -a : a; + T const one(1); + return tdualquat(x * (one - a) + y * k); + } + + template + GLM_FUNC_QUALIFIER tdualquat inverse(tdualquat const& q) + { + const glm::qua real = conjugate(q.real); + const glm::qua dual = conjugate(q.dual); + return tdualquat(real, dual + (real * (-2.0f * dot(real,dual)))); + } + + template + GLM_FUNC_QUALIFIER mat<2, 4, T, Q> mat2x4_cast(tdualquat const& x) + { + return mat<2, 4, T, Q>( x[0].x, x[0].y, x[0].z, x[0].w, x[1].x, x[1].y, x[1].z, x[1].w ); + } + + template + GLM_FUNC_QUALIFIER mat<3, 4, T, Q> mat3x4_cast(tdualquat const& x) + { + qua r = x.real / length2(x.real); + + qua const rr(r.w * x.real.w, r.x * x.real.x, r.y * x.real.y, r.z * x.real.z); + r *= static_cast(2); + + T const xy = r.x * x.real.y; + T const xz = r.x * x.real.z; + T const yz = r.y * x.real.z; + T const wx = r.w * x.real.x; + T const wy = r.w * x.real.y; + T const wz = r.w * x.real.z; + + vec<4, T, Q> const a( + rr.w + rr.x - rr.y - rr.z, + xy - wz, + xz + wy, + -(x.dual.w * r.x - x.dual.x * r.w + x.dual.y * r.z - x.dual.z * r.y)); + + vec<4, T, Q> const b( + xy + wz, + rr.w + rr.y - rr.x - rr.z, + yz - wx, + -(x.dual.w * r.y - x.dual.x * r.z - x.dual.y * r.w + x.dual.z * r.x)); + + vec<4, T, Q> const c( + xz - wy, + yz + wx, + rr.w + rr.z - rr.x - rr.y, + -(x.dual.w * r.z + x.dual.x * r.y - x.dual.y * r.x - x.dual.z * r.w)); + + return mat<3, 4, T, Q>(a, b, c); + } + + template + GLM_FUNC_QUALIFIER tdualquat dualquat_cast(mat<2, 4, T, Q> const& x) + { + return tdualquat( + qua( x[0].w, x[0].x, x[0].y, x[0].z ), + qua( x[1].w, x[1].x, x[1].y, x[1].z )); + } + + template + GLM_FUNC_QUALIFIER tdualquat dualquat_cast(mat<3, 4, T, Q> const& x) + { + qua real; + + T const trace = x[0].x + x[1].y + x[2].z; + if(trace > static_cast(0)) + { + T const r = sqrt(T(1) + trace); + T const invr = static_cast(0.5) / r; + real.w = static_cast(0.5) * r; + real.x = (x[2].y - x[1].z) * invr; + real.y = (x[0].z - x[2].x) * invr; + real.z = (x[1].x - x[0].y) * invr; + } + else if(x[0].x > x[1].y && x[0].x > x[2].z) + { + T const r = sqrt(T(1) + x[0].x - x[1].y - x[2].z); + T const invr = static_cast(0.5) / r; + real.x = static_cast(0.5)*r; + real.y = (x[1].x + x[0].y) * invr; + real.z = (x[0].z + x[2].x) * invr; + real.w = (x[2].y - x[1].z) * invr; + } + else if(x[1].y > x[2].z) + { + T const r = sqrt(T(1) + x[1].y - x[0].x - x[2].z); + T const invr = static_cast(0.5) / r; + real.x = (x[1].x + x[0].y) * invr; + real.y = static_cast(0.5) * r; + real.z = (x[2].y + x[1].z) * invr; + real.w = (x[0].z - x[2].x) * invr; + } + else + { + T const r = sqrt(T(1) + x[2].z - x[0].x - x[1].y); + T const invr = static_cast(0.5) / r; + real.x = (x[0].z + x[2].x) * invr; + real.y = (x[2].y + x[1].z) * invr; + real.z = static_cast(0.5) * r; + real.w = (x[1].x - x[0].y) * invr; + } + + qua dual; + dual.x = static_cast(0.5) * ( x[0].w * real.w + x[1].w * real.z - x[2].w * real.y); + dual.y = static_cast(0.5) * (-x[0].w * real.z + x[1].w * real.w + x[2].w * real.x); + dual.z = static_cast(0.5) * ( x[0].w * real.y - x[1].w * real.x + x[2].w * real.w); + dual.w = -static_cast(0.5) * ( x[0].w * real.x + x[1].w * real.y + x[2].w * real.z); + return tdualquat(real, dual); + } +}//namespace glm diff --git a/MacroLibX/third_party/glm/gtx/easing.hpp b/MacroLibX/third_party/glm/gtx/easing.hpp new file mode 100644 index 0000000..57f3d61 --- /dev/null +++ b/MacroLibX/third_party/glm/gtx/easing.hpp @@ -0,0 +1,219 @@ +/// @ref gtx_easing +/// @file glm/gtx/easing.hpp +/// @author Robert Chisholm +/// +/// @see core (dependence) +/// +/// @defgroup gtx_easing GLM_GTX_easing +/// @ingroup gtx +/// +/// Include to use the features of this extension. +/// +/// Easing functions for animations and transitons +/// All functions take a parameter x in the range [0.0,1.0] +/// +/// Based on the AHEasing project of Warren Moore (https://github.com/warrenm/AHEasing) + +#pragma once + +// Dependency: +#include "../glm.hpp" +#include "../gtc/constants.hpp" +#include "../detail/qualifier.hpp" + +#if GLM_MESSAGES == GLM_ENABLE && !defined(GLM_EXT_INCLUDED) +# ifndef GLM_ENABLE_EXPERIMENTAL +# pragma message("GLM: GLM_GTX_easing is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it.") +# else +# pragma message("GLM: GLM_GTX_easing extension included") +# endif +#endif + +namespace glm{ + /// @addtogroup gtx_easing + /// @{ + + /// Modelled after the line y = x + /// @see gtx_easing + template + GLM_FUNC_DECL genType linearInterpolation(genType const & a); + + /// Modelled after the parabola y = x^2 + /// @see gtx_easing + template + GLM_FUNC_DECL genType quadraticEaseIn(genType const & a); + + /// Modelled after the parabola y = -x^2 + 2x + /// @see gtx_easing + template + GLM_FUNC_DECL genType quadraticEaseOut(genType const & a); + + /// Modelled after the piecewise quadratic + /// y = (1/2)((2x)^2) ; [0, 0.5) + /// y = -(1/2)((2x-1)*(2x-3) - 1) ; [0.5, 1] + /// @see gtx_easing + template + GLM_FUNC_DECL genType quadraticEaseInOut(genType const & a); + + /// Modelled after the cubic y = x^3 + template + GLM_FUNC_DECL genType cubicEaseIn(genType const & a); + + /// Modelled after the cubic y = (x - 1)^3 + 1 + /// @see gtx_easing + template + GLM_FUNC_DECL genType cubicEaseOut(genType const & a); + + /// Modelled after the piecewise cubic + /// y = (1/2)((2x)^3) ; [0, 0.5) + /// y = (1/2)((2x-2)^3 + 2) ; [0.5, 1] + /// @see gtx_easing + template + GLM_FUNC_DECL genType cubicEaseInOut(genType const & a); + + /// Modelled after the quartic x^4 + /// @see gtx_easing + template + GLM_FUNC_DECL genType quarticEaseIn(genType const & a); + + /// Modelled after the quartic y = 1 - (x - 1)^4 + /// @see gtx_easing + template + GLM_FUNC_DECL genType quarticEaseOut(genType const & a); + + /// Modelled after the piecewise quartic + /// y = (1/2)((2x)^4) ; [0, 0.5) + /// y = -(1/2)((2x-2)^4 - 2) ; [0.5, 1] + /// @see gtx_easing + template + GLM_FUNC_DECL genType quarticEaseInOut(genType const & a); + + /// Modelled after the quintic y = x^5 + /// @see gtx_easing + template + GLM_FUNC_DECL genType quinticEaseIn(genType const & a); + + /// Modelled after the quintic y = (x - 1)^5 + 1 + /// @see gtx_easing + template + GLM_FUNC_DECL genType quinticEaseOut(genType const & a); + + /// Modelled after the piecewise quintic + /// y = (1/2)((2x)^5) ; [0, 0.5) + /// y = (1/2)((2x-2)^5 + 2) ; [0.5, 1] + /// @see gtx_easing + template + GLM_FUNC_DECL genType quinticEaseInOut(genType const & a); + + /// Modelled after quarter-cycle of sine wave + /// @see gtx_easing + template + GLM_FUNC_DECL genType sineEaseIn(genType const & a); + + /// Modelled after quarter-cycle of sine wave (different phase) + /// @see gtx_easing + template + GLM_FUNC_DECL genType sineEaseOut(genType const & a); + + /// Modelled after half sine wave + /// @see gtx_easing + template + GLM_FUNC_DECL genType sineEaseInOut(genType const & a); + + /// Modelled after shifted quadrant IV of unit circle + /// @see gtx_easing + template + GLM_FUNC_DECL genType circularEaseIn(genType const & a); + + /// Modelled after shifted quadrant II of unit circle + /// @see gtx_easing + template + GLM_FUNC_DECL genType circularEaseOut(genType const & a); + + /// Modelled after the piecewise circular function + /// y = (1/2)(1 - sqrt(1 - 4x^2)) ; [0, 0.5) + /// y = (1/2)(sqrt(-(2x - 3)*(2x - 1)) + 1) ; [0.5, 1] + /// @see gtx_easing + template + GLM_FUNC_DECL genType circularEaseInOut(genType const & a); + + /// Modelled after the exponential function y = 2^(10(x - 1)) + /// @see gtx_easing + template + GLM_FUNC_DECL genType exponentialEaseIn(genType const & a); + + /// Modelled after the exponential function y = -2^(-10x) + 1 + /// @see gtx_easing + template + GLM_FUNC_DECL genType exponentialEaseOut(genType const & a); + + /// Modelled after the piecewise exponential + /// y = (1/2)2^(10(2x - 1)) ; [0,0.5) + /// y = -(1/2)*2^(-10(2x - 1))) + 1 ; [0.5,1] + /// @see gtx_easing + template + GLM_FUNC_DECL genType exponentialEaseInOut(genType const & a); + + /// Modelled after the damped sine wave y = sin(13pi/2*x)*pow(2, 10 * (x - 1)) + /// @see gtx_easing + template + GLM_FUNC_DECL genType elasticEaseIn(genType const & a); + + /// Modelled after the damped sine wave y = sin(-13pi/2*(x + 1))*pow(2, -10x) + 1 + /// @see gtx_easing + template + GLM_FUNC_DECL genType elasticEaseOut(genType const & a); + + /// Modelled after the piecewise exponentially-damped sine wave: + /// y = (1/2)*sin(13pi/2*(2*x))*pow(2, 10 * ((2*x) - 1)) ; [0,0.5) + /// y = (1/2)*(sin(-13pi/2*((2x-1)+1))*pow(2,-10(2*x-1)) + 2) ; [0.5, 1] + /// @see gtx_easing + template + GLM_FUNC_DECL genType elasticEaseInOut(genType const & a); + + /// @see gtx_easing + template + GLM_FUNC_DECL genType backEaseIn(genType const& a); + + /// @see gtx_easing + template + GLM_FUNC_DECL genType backEaseOut(genType const& a); + + /// @see gtx_easing + template + GLM_FUNC_DECL genType backEaseInOut(genType const& a); + + /// @param a parameter + /// @param o Optional overshoot modifier + /// @see gtx_easing + template + GLM_FUNC_DECL genType backEaseIn(genType const& a, genType const& o); + + /// @param a parameter + /// @param o Optional overshoot modifier + /// @see gtx_easing + template + GLM_FUNC_DECL genType backEaseOut(genType const& a, genType const& o); + + /// @param a parameter + /// @param o Optional overshoot modifier + /// @see gtx_easing + template + GLM_FUNC_DECL genType backEaseInOut(genType const& a, genType const& o); + + /// @see gtx_easing + template + GLM_FUNC_DECL genType bounceEaseIn(genType const& a); + + /// @see gtx_easing + template + GLM_FUNC_DECL genType bounceEaseOut(genType const& a); + + /// @see gtx_easing + template + GLM_FUNC_DECL genType bounceEaseInOut(genType const& a); + + /// @} +}//namespace glm + +#include "easing.inl" diff --git a/MacroLibX/third_party/glm/gtx/easing.inl b/MacroLibX/third_party/glm/gtx/easing.inl new file mode 100644 index 0000000..4b7d05b --- /dev/null +++ b/MacroLibX/third_party/glm/gtx/easing.inl @@ -0,0 +1,436 @@ +/// @ref gtx_easing + +#include + +namespace glm{ + + template + GLM_FUNC_QUALIFIER genType linearInterpolation(genType const& a) + { + // Only defined in [0, 1] + assert(a >= zero()); + assert(a <= one()); + + return a; + } + + template + GLM_FUNC_QUALIFIER genType quadraticEaseIn(genType const& a) + { + // Only defined in [0, 1] + assert(a >= zero()); + assert(a <= one()); + + return a * a; + } + + template + GLM_FUNC_QUALIFIER genType quadraticEaseOut(genType const& a) + { + // Only defined in [0, 1] + assert(a >= zero()); + assert(a <= one()); + + return -(a * (a - static_cast(2))); + } + + template + GLM_FUNC_QUALIFIER genType quadraticEaseInOut(genType const& a) + { + // Only defined in [0, 1] + assert(a >= zero()); + assert(a <= one()); + + if(a < static_cast(0.5)) + { + return static_cast(2) * a * a; + } + else + { + return (-static_cast(2) * a * a) + (4 * a) - one(); + } + } + + template + GLM_FUNC_QUALIFIER genType cubicEaseIn(genType const& a) + { + // Only defined in [0, 1] + assert(a >= zero()); + assert(a <= one()); + + return a * a * a; + } + + template + GLM_FUNC_QUALIFIER genType cubicEaseOut(genType const& a) + { + // Only defined in [0, 1] + assert(a >= zero()); + assert(a <= one()); + + genType const f = a - one(); + return f * f * f + one(); + } + + template + GLM_FUNC_QUALIFIER genType cubicEaseInOut(genType const& a) + { + // Only defined in [0, 1] + assert(a >= zero()); + assert(a <= one()); + + if (a < static_cast(0.5)) + { + return static_cast(4) * a * a * a; + } + else + { + genType const f = ((static_cast(2) * a) - static_cast(2)); + return static_cast(0.5) * f * f * f + one(); + } + } + + template + GLM_FUNC_QUALIFIER genType quarticEaseIn(genType const& a) + { + // Only defined in [0, 1] + assert(a >= zero()); + assert(a <= one()); + + return a * a * a * a; + } + + template + GLM_FUNC_QUALIFIER genType quarticEaseOut(genType const& a) + { + // Only defined in [0, 1] + assert(a >= zero()); + assert(a <= one()); + + genType const f = (a - one()); + return f * f * f * (one() - a) + one(); + } + + template + GLM_FUNC_QUALIFIER genType quarticEaseInOut(genType const& a) + { + // Only defined in [0, 1] + assert(a >= zero()); + assert(a <= one()); + + if(a < static_cast(0.5)) + { + return static_cast(8) * a * a * a * a; + } + else + { + genType const f = (a - one()); + return -static_cast(8) * f * f * f * f + one(); + } + } + + template + GLM_FUNC_QUALIFIER genType quinticEaseIn(genType const& a) + { + // Only defined in [0, 1] + assert(a >= zero()); + assert(a <= one()); + + return a * a * a * a * a; + } + + template + GLM_FUNC_QUALIFIER genType quinticEaseOut(genType const& a) + { + // Only defined in [0, 1] + assert(a >= zero()); + assert(a <= one()); + + genType const f = (a - one()); + return f * f * f * f * f + one(); + } + + template + GLM_FUNC_QUALIFIER genType quinticEaseInOut(genType const& a) + { + // Only defined in [0, 1] + assert(a >= zero()); + assert(a <= one()); + + if(a < static_cast(0.5)) + { + return static_cast(16) * a * a * a * a * a; + } + else + { + genType const f = ((static_cast(2) * a) - static_cast(2)); + return static_cast(0.5) * f * f * f * f * f + one(); + } + } + + template + GLM_FUNC_QUALIFIER genType sineEaseIn(genType const& a) + { + // Only defined in [0, 1] + assert(a >= zero()); + assert(a <= one()); + + return sin((a - one()) * half_pi()) + one(); + } + + template + GLM_FUNC_QUALIFIER genType sineEaseOut(genType const& a) + { + // Only defined in [0, 1] + assert(a >= zero()); + assert(a <= one()); + + return sin(a * half_pi()); + } + + template + GLM_FUNC_QUALIFIER genType sineEaseInOut(genType const& a) + { + // Only defined in [0, 1] + assert(a >= zero()); + assert(a <= one()); + + return static_cast(0.5) * (one() - cos(a * pi())); + } + + template + GLM_FUNC_QUALIFIER genType circularEaseIn(genType const& a) + { + // Only defined in [0, 1] + assert(a >= zero()); + assert(a <= one()); + + return one() - sqrt(one() - (a * a)); + } + + template + GLM_FUNC_QUALIFIER genType circularEaseOut(genType const& a) + { + // Only defined in [0, 1] + assert(a >= zero()); + assert(a <= one()); + + return sqrt((static_cast(2) - a) * a); + } + + template + GLM_FUNC_QUALIFIER genType circularEaseInOut(genType const& a) + { + // Only defined in [0, 1] + assert(a >= zero()); + assert(a <= one()); + + if(a < static_cast(0.5)) + { + return static_cast(0.5) * (one() - std::sqrt(one() - static_cast(4) * (a * a))); + } + else + { + return static_cast(0.5) * (std::sqrt(-((static_cast(2) * a) - static_cast(3)) * ((static_cast(2) * a) - one())) + one()); + } + } + + template + GLM_FUNC_QUALIFIER genType exponentialEaseIn(genType const& a) + { + // Only defined in [0, 1] + assert(a >= zero()); + assert(a <= one()); + + if(a <= zero()) + return a; + else + { + genType const Complementary = a - one(); + genType const Two = static_cast(2); + + return glm::pow(Two, Complementary * static_cast(10)); + } + } + + template + GLM_FUNC_QUALIFIER genType exponentialEaseOut(genType const& a) + { + // Only defined in [0, 1] + assert(a >= zero()); + assert(a <= one()); + + if(a >= one()) + return a; + else + { + return one() - glm::pow(static_cast(2), -static_cast(10) * a); + } + } + + template + GLM_FUNC_QUALIFIER genType exponentialEaseInOut(genType const& a) + { + // Only defined in [0, 1] + assert(a >= zero()); + assert(a <= one()); + + if(a < static_cast(0.5)) + return static_cast(0.5) * glm::pow(static_cast(2), (static_cast(20) * a) - static_cast(10)); + else + return -static_cast(0.5) * glm::pow(static_cast(2), (-static_cast(20) * a) + static_cast(10)) + one(); + } + + template + GLM_FUNC_QUALIFIER genType elasticEaseIn(genType const& a) + { + // Only defined in [0, 1] + assert(a >= zero()); + assert(a <= one()); + + return std::sin(static_cast(13) * half_pi() * a) * glm::pow(static_cast(2), static_cast(10) * (a - one())); + } + + template + GLM_FUNC_QUALIFIER genType elasticEaseOut(genType const& a) + { + // Only defined in [0, 1] + assert(a >= zero()); + assert(a <= one()); + + return std::sin(-static_cast(13) * half_pi() * (a + one())) * glm::pow(static_cast(2), -static_cast(10) * a) + one(); + } + + template + GLM_FUNC_QUALIFIER genType elasticEaseInOut(genType const& a) + { + // Only defined in [0, 1] + assert(a >= zero()); + assert(a <= one()); + + if(a < static_cast(0.5)) + return static_cast(0.5) * std::sin(static_cast(13) * half_pi() * (static_cast(2) * a)) * glm::pow(static_cast(2), static_cast(10) * ((static_cast(2) * a) - one())); + else + return static_cast(0.5) * (std::sin(-static_cast(13) * half_pi() * ((static_cast(2) * a - one()) + one())) * glm::pow(static_cast(2), -static_cast(10) * (static_cast(2) * a - one())) + static_cast(2)); + } + + template + GLM_FUNC_QUALIFIER genType backEaseIn(genType const& a, genType const& o) + { + // Only defined in [0, 1] + assert(a >= zero()); + assert(a <= one()); + + genType z = ((o + one()) * a) - o; + return (a * a * z); + } + + template + GLM_FUNC_QUALIFIER genType backEaseOut(genType const& a, genType const& o) + { + // Only defined in [0, 1] + assert(a >= zero()); + assert(a <= one()); + + genType n = a - one(); + genType z = ((o + one()) * n) + o; + return (n * n * z) + one(); + } + + template + GLM_FUNC_QUALIFIER genType backEaseInOut(genType const& a, genType const& o) + { + // Only defined in [0, 1] + assert(a >= zero()); + assert(a <= one()); + + genType s = o * static_cast(1.525); + genType x = static_cast(0.5); + genType n = a / static_cast(0.5); + + if (n < static_cast(1)) + { + genType z = ((s + static_cast(1)) * n) - s; + genType m = n * n * z; + return x * m; + } + else + { + n -= static_cast(2); + genType z = ((s + static_cast(1)) * n) + s; + genType m = (n*n*z) + static_cast(2); + return x * m; + } + } + + template + GLM_FUNC_QUALIFIER genType backEaseIn(genType const& a) + { + return backEaseIn(a, static_cast(1.70158)); + } + + template + GLM_FUNC_QUALIFIER genType backEaseOut(genType const& a) + { + return backEaseOut(a, static_cast(1.70158)); + } + + template + GLM_FUNC_QUALIFIER genType backEaseInOut(genType const& a) + { + return backEaseInOut(a, static_cast(1.70158)); + } + + template + GLM_FUNC_QUALIFIER genType bounceEaseOut(genType const& a) + { + // Only defined in [0, 1] + assert(a >= zero()); + assert(a <= one()); + + if(a < static_cast(4.0 / 11.0)) + { + return (static_cast(121) * a * a) / static_cast(16); + } + else if(a < static_cast(8.0 / 11.0)) + { + return (static_cast(363.0 / 40.0) * a * a) - (static_cast(99.0 / 10.0) * a) + static_cast(17.0 / 5.0); + } + else if(a < static_cast(9.0 / 10.0)) + { + return (static_cast(4356.0 / 361.0) * a * a) - (static_cast(35442.0 / 1805.0) * a) + static_cast(16061.0 / 1805.0); + } + else + { + return (static_cast(54.0 / 5.0) * a * a) - (static_cast(513.0 / 25.0) * a) + static_cast(268.0 / 25.0); + } + } + + template + GLM_FUNC_QUALIFIER genType bounceEaseIn(genType const& a) + { + // Only defined in [0, 1] + assert(a >= zero()); + assert(a <= one()); + + return one() - bounceEaseOut(one() - a); + } + + template + GLM_FUNC_QUALIFIER genType bounceEaseInOut(genType const& a) + { + // Only defined in [0, 1] + assert(a >= zero()); + assert(a <= one()); + + if(a < static_cast(0.5)) + { + return static_cast(0.5) * (one() - bounceEaseOut(a * static_cast(2))); + } + else + { + return static_cast(0.5) * bounceEaseOut(a * static_cast(2) - one()) + static_cast(0.5); + } + } + +}//namespace glm diff --git a/MacroLibX/third_party/glm/gtx/euler_angles.hpp b/MacroLibX/third_party/glm/gtx/euler_angles.hpp new file mode 100644 index 0000000..2723697 --- /dev/null +++ b/MacroLibX/third_party/glm/gtx/euler_angles.hpp @@ -0,0 +1,335 @@ +/// @ref gtx_euler_angles +/// @file glm/gtx/euler_angles.hpp +/// +/// @see core (dependence) +/// +/// @defgroup gtx_euler_angles GLM_GTX_euler_angles +/// @ingroup gtx +/// +/// Include to use the features of this extension. +/// +/// Build matrices from Euler angles. +/// +/// Extraction of Euler angles from rotation matrix. +/// Based on the original paper 2014 Mike Day - Extracting Euler Angles from a Rotation Matrix. + +#pragma once + +// Dependency: +#include "../glm.hpp" + +#if GLM_MESSAGES == GLM_ENABLE && !defined(GLM_EXT_INCLUDED) +# ifndef GLM_ENABLE_EXPERIMENTAL +# pragma message("GLM: GLM_GTX_euler_angles is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it.") +# else +# pragma message("GLM: GLM_GTX_euler_angles extension included") +# endif +#endif + +namespace glm +{ + /// @addtogroup gtx_euler_angles + /// @{ + + /// Creates a 3D 4 * 4 homogeneous rotation matrix from an euler angle X. + /// @see gtx_euler_angles + template + GLM_FUNC_DECL mat<4, 4, T, defaultp> eulerAngleX( + T const& angleX); + + /// Creates a 3D 4 * 4 homogeneous rotation matrix from an euler angle Y. + /// @see gtx_euler_angles + template + GLM_FUNC_DECL mat<4, 4, T, defaultp> eulerAngleY( + T const& angleY); + + /// Creates a 3D 4 * 4 homogeneous rotation matrix from an euler angle Z. + /// @see gtx_euler_angles + template + GLM_FUNC_DECL mat<4, 4, T, defaultp> eulerAngleZ( + T const& angleZ); + + /// Creates a 3D 4 * 4 homogeneous derived matrix from the rotation matrix about X-axis. + /// @see gtx_euler_angles + template + GLM_FUNC_DECL mat<4, 4, T, defaultp> derivedEulerAngleX( + T const & angleX, T const & angularVelocityX); + + /// Creates a 3D 4 * 4 homogeneous derived matrix from the rotation matrix about Y-axis. + /// @see gtx_euler_angles + template + GLM_FUNC_DECL mat<4, 4, T, defaultp> derivedEulerAngleY( + T const & angleY, T const & angularVelocityY); + + /// Creates a 3D 4 * 4 homogeneous derived matrix from the rotation matrix about Z-axis. + /// @see gtx_euler_angles + template + GLM_FUNC_DECL mat<4, 4, T, defaultp> derivedEulerAngleZ( + T const & angleZ, T const & angularVelocityZ); + + /// Creates a 3D 4 * 4 homogeneous rotation matrix from euler angles (X * Y). + /// @see gtx_euler_angles + template + GLM_FUNC_DECL mat<4, 4, T, defaultp> eulerAngleXY( + T const& angleX, + T const& angleY); + + /// Creates a 3D 4 * 4 homogeneous rotation matrix from euler angles (Y * X). + /// @see gtx_euler_angles + template + GLM_FUNC_DECL mat<4, 4, T, defaultp> eulerAngleYX( + T const& angleY, + T const& angleX); + + /// Creates a 3D 4 * 4 homogeneous rotation matrix from euler angles (X * Z). + /// @see gtx_euler_angles + template + GLM_FUNC_DECL mat<4, 4, T, defaultp> eulerAngleXZ( + T const& angleX, + T const& angleZ); + + /// Creates a 3D 4 * 4 homogeneous rotation matrix from euler angles (Z * X). + /// @see gtx_euler_angles + template + GLM_FUNC_DECL mat<4, 4, T, defaultp> eulerAngleZX( + T const& angle, + T const& angleX); + + /// Creates a 3D 4 * 4 homogeneous rotation matrix from euler angles (Y * Z). + /// @see gtx_euler_angles + template + GLM_FUNC_DECL mat<4, 4, T, defaultp> eulerAngleYZ( + T const& angleY, + T const& angleZ); + + /// Creates a 3D 4 * 4 homogeneous rotation matrix from euler angles (Z * Y). + /// @see gtx_euler_angles + template + GLM_FUNC_DECL mat<4, 4, T, defaultp> eulerAngleZY( + T const& angleZ, + T const& angleY); + + /// Creates a 3D 4 * 4 homogeneous rotation matrix from euler angles (X * Y * Z). + /// @see gtx_euler_angles + template + GLM_FUNC_DECL mat<4, 4, T, defaultp> eulerAngleXYZ( + T const& t1, + T const& t2, + T const& t3); + + /// Creates a 3D 4 * 4 homogeneous rotation matrix from euler angles (Y * X * Z). + /// @see gtx_euler_angles + template + GLM_FUNC_DECL mat<4, 4, T, defaultp> eulerAngleYXZ( + T const& yaw, + T const& pitch, + T const& roll); + + /// Creates a 3D 4 * 4 homogeneous rotation matrix from euler angles (X * Z * X). + /// @see gtx_euler_angles + template + GLM_FUNC_DECL mat<4, 4, T, defaultp> eulerAngleXZX( + T const & t1, + T const & t2, + T const & t3); + + /// Creates a 3D 4 * 4 homogeneous rotation matrix from euler angles (X * Y * X). + /// @see gtx_euler_angles + template + GLM_FUNC_DECL mat<4, 4, T, defaultp> eulerAngleXYX( + T const & t1, + T const & t2, + T const & t3); + + /// Creates a 3D 4 * 4 homogeneous rotation matrix from euler angles (Y * X * Y). + /// @see gtx_euler_angles + template + GLM_FUNC_DECL mat<4, 4, T, defaultp> eulerAngleYXY( + T const & t1, + T const & t2, + T const & t3); + + /// Creates a 3D 4 * 4 homogeneous rotation matrix from euler angles (Y * Z * Y). + /// @see gtx_euler_angles + template + GLM_FUNC_DECL mat<4, 4, T, defaultp> eulerAngleYZY( + T const & t1, + T const & t2, + T const & t3); + + /// Creates a 3D 4 * 4 homogeneous rotation matrix from euler angles (Z * Y * Z). + /// @see gtx_euler_angles + template + GLM_FUNC_DECL mat<4, 4, T, defaultp> eulerAngleZYZ( + T const & t1, + T const & t2, + T const & t3); + + /// Creates a 3D 4 * 4 homogeneous rotation matrix from euler angles (Z * X * Z). + /// @see gtx_euler_angles + template + GLM_FUNC_DECL mat<4, 4, T, defaultp> eulerAngleZXZ( + T const & t1, + T const & t2, + T const & t3); + + /// Creates a 3D 4 * 4 homogeneous rotation matrix from euler angles (X * Z * Y). + /// @see gtx_euler_angles + template + GLM_FUNC_DECL mat<4, 4, T, defaultp> eulerAngleXZY( + T const & t1, + T const & t2, + T const & t3); + + /// Creates a 3D 4 * 4 homogeneous rotation matrix from euler angles (Y * Z * X). + /// @see gtx_euler_angles + template + GLM_FUNC_DECL mat<4, 4, T, defaultp> eulerAngleYZX( + T const & t1, + T const & t2, + T const & t3); + + /// Creates a 3D 4 * 4 homogeneous rotation matrix from euler angles (Z * Y * X). + /// @see gtx_euler_angles + template + GLM_FUNC_DECL mat<4, 4, T, defaultp> eulerAngleZYX( + T const & t1, + T const & t2, + T const & t3); + + /// Creates a 3D 4 * 4 homogeneous rotation matrix from euler angles (Z * X * Y). + /// @see gtx_euler_angles + template + GLM_FUNC_DECL mat<4, 4, T, defaultp> eulerAngleZXY( + T const & t1, + T const & t2, + T const & t3); + + /// Creates a 3D 4 * 4 homogeneous rotation matrix from euler angles (Y * X * Z). + /// @see gtx_euler_angles + template + GLM_FUNC_DECL mat<4, 4, T, defaultp> yawPitchRoll( + T const& yaw, + T const& pitch, + T const& roll); + + /// Creates a 2D 2 * 2 rotation matrix from an euler angle. + /// @see gtx_euler_angles + template + GLM_FUNC_DECL mat<2, 2, T, defaultp> orientate2(T const& angle); + + /// Creates a 2D 4 * 4 homogeneous rotation matrix from an euler angle. + /// @see gtx_euler_angles + template + GLM_FUNC_DECL mat<3, 3, T, defaultp> orientate3(T const& angle); + + /// Creates a 3D 3 * 3 rotation matrix from euler angles (Y * X * Z). + /// @see gtx_euler_angles + template + GLM_FUNC_DECL mat<3, 3, T, Q> orientate3(vec<3, T, Q> const& angles); + + /// Creates a 3D 4 * 4 homogeneous rotation matrix from euler angles (Y * X * Z). + /// @see gtx_euler_angles + template + GLM_FUNC_DECL mat<4, 4, T, Q> orientate4(vec<3, T, Q> const& angles); + + /// Extracts the (X * Y * Z) Euler angles from the rotation matrix M + /// @see gtx_euler_angles + template + GLM_FUNC_DECL void extractEulerAngleXYZ(mat<4, 4, T, defaultp> const& M, + T & t1, + T & t2, + T & t3); + + /// Extracts the (Y * X * Z) Euler angles from the rotation matrix M + /// @see gtx_euler_angles + template + GLM_FUNC_DECL void extractEulerAngleYXZ(mat<4, 4, T, defaultp> const & M, + T & t1, + T & t2, + T & t3); + + /// Extracts the (X * Z * X) Euler angles from the rotation matrix M + /// @see gtx_euler_angles + template + GLM_FUNC_DECL void extractEulerAngleXZX(mat<4, 4, T, defaultp> const & M, + T & t1, + T & t2, + T & t3); + + /// Extracts the (X * Y * X) Euler angles from the rotation matrix M + /// @see gtx_euler_angles + template + GLM_FUNC_DECL void extractEulerAngleXYX(mat<4, 4, T, defaultp> const & M, + T & t1, + T & t2, + T & t3); + + /// Extracts the (Y * X * Y) Euler angles from the rotation matrix M + /// @see gtx_euler_angles + template + GLM_FUNC_DECL void extractEulerAngleYXY(mat<4, 4, T, defaultp> const & M, + T & t1, + T & t2, + T & t3); + + /// Extracts the (Y * Z * Y) Euler angles from the rotation matrix M + /// @see gtx_euler_angles + template + GLM_FUNC_DECL void extractEulerAngleYZY(mat<4, 4, T, defaultp> const & M, + T & t1, + T & t2, + T & t3); + + /// Extracts the (Z * Y * Z) Euler angles from the rotation matrix M + /// @see gtx_euler_angles + template + GLM_FUNC_DECL void extractEulerAngleZYZ(mat<4, 4, T, defaultp> const & M, + T & t1, + T & t2, + T & t3); + + /// Extracts the (Z * X * Z) Euler angles from the rotation matrix M + /// @see gtx_euler_angles + template + GLM_FUNC_DECL void extractEulerAngleZXZ(mat<4, 4, T, defaultp> const & M, + T & t1, + T & t2, + T & t3); + + /// Extracts the (X * Z * Y) Euler angles from the rotation matrix M + /// @see gtx_euler_angles + template + GLM_FUNC_DECL void extractEulerAngleXZY(mat<4, 4, T, defaultp> const & M, + T & t1, + T & t2, + T & t3); + + /// Extracts the (Y * Z * X) Euler angles from the rotation matrix M + /// @see gtx_euler_angles + template + GLM_FUNC_DECL void extractEulerAngleYZX(mat<4, 4, T, defaultp> const & M, + T & t1, + T & t2, + T & t3); + + /// Extracts the (Z * Y * X) Euler angles from the rotation matrix M + /// @see gtx_euler_angles + template + GLM_FUNC_DECL void extractEulerAngleZYX(mat<4, 4, T, defaultp> const & M, + T & t1, + T & t2, + T & t3); + + /// Extracts the (Z * X * Y) Euler angles from the rotation matrix M + /// @see gtx_euler_angles + template + GLM_FUNC_DECL void extractEulerAngleZXY(mat<4, 4, T, defaultp> const & M, + T & t1, + T & t2, + T & t3); + + /// @} +}//namespace glm + +#include "euler_angles.inl" diff --git a/MacroLibX/third_party/glm/gtx/euler_angles.inl b/MacroLibX/third_party/glm/gtx/euler_angles.inl new file mode 100644 index 0000000..68c5012 --- /dev/null +++ b/MacroLibX/third_party/glm/gtx/euler_angles.inl @@ -0,0 +1,899 @@ +/// @ref gtx_euler_angles + +#include "compatibility.hpp" // glm::atan2 + +namespace glm +{ + template + GLM_FUNC_QUALIFIER mat<4, 4, T, defaultp> eulerAngleX + ( + T const& angleX + ) + { + T cosX = glm::cos(angleX); + T sinX = glm::sin(angleX); + + return mat<4, 4, T, defaultp>( + T(1), T(0), T(0), T(0), + T(0), cosX, sinX, T(0), + T(0),-sinX, cosX, T(0), + T(0), T(0), T(0), T(1)); + } + + template + GLM_FUNC_QUALIFIER mat<4, 4, T, defaultp> eulerAngleY + ( + T const& angleY + ) + { + T cosY = glm::cos(angleY); + T sinY = glm::sin(angleY); + + return mat<4, 4, T, defaultp>( + cosY, T(0), -sinY, T(0), + T(0), T(1), T(0), T(0), + sinY, T(0), cosY, T(0), + T(0), T(0), T(0), T(1)); + } + + template + GLM_FUNC_QUALIFIER mat<4, 4, T, defaultp> eulerAngleZ + ( + T const& angleZ + ) + { + T cosZ = glm::cos(angleZ); + T sinZ = glm::sin(angleZ); + + return mat<4, 4, T, defaultp>( + cosZ, sinZ, T(0), T(0), + -sinZ, cosZ, T(0), T(0), + T(0), T(0), T(1), T(0), + T(0), T(0), T(0), T(1)); + } + + template + GLM_FUNC_QUALIFIER mat<4, 4, T, defaultp> derivedEulerAngleX + ( + T const & angleX, + T const & angularVelocityX + ) + { + T cosX = glm::cos(angleX) * angularVelocityX; + T sinX = glm::sin(angleX) * angularVelocityX; + + return mat<4, 4, T, defaultp>( + T(0), T(0), T(0), T(0), + T(0),-sinX, cosX, T(0), + T(0),-cosX,-sinX, T(0), + T(0), T(0), T(0), T(0)); + } + + template + GLM_FUNC_QUALIFIER mat<4, 4, T, defaultp> derivedEulerAngleY + ( + T const & angleY, + T const & angularVelocityY + ) + { + T cosY = glm::cos(angleY) * angularVelocityY; + T sinY = glm::sin(angleY) * angularVelocityY; + + return mat<4, 4, T, defaultp>( + -sinY, T(0), -cosY, T(0), + T(0), T(0), T(0), T(0), + cosY, T(0), -sinY, T(0), + T(0), T(0), T(0), T(0)); + } + + template + GLM_FUNC_QUALIFIER mat<4, 4, T, defaultp> derivedEulerAngleZ + ( + T const & angleZ, + T const & angularVelocityZ + ) + { + T cosZ = glm::cos(angleZ) * angularVelocityZ; + T sinZ = glm::sin(angleZ) * angularVelocityZ; + + return mat<4, 4, T, defaultp>( + -sinZ, cosZ, T(0), T(0), + -cosZ, -sinZ, T(0), T(0), + T(0), T(0), T(0), T(0), + T(0), T(0), T(0), T(0)); + } + + template + GLM_FUNC_QUALIFIER mat<4, 4, T, defaultp> eulerAngleXY + ( + T const& angleX, + T const& angleY + ) + { + T cosX = glm::cos(angleX); + T sinX = glm::sin(angleX); + T cosY = glm::cos(angleY); + T sinY = glm::sin(angleY); + + return mat<4, 4, T, defaultp>( + cosY, -sinX * -sinY, cosX * -sinY, T(0), + T(0), cosX, sinX, T(0), + sinY, -sinX * cosY, cosX * cosY, T(0), + T(0), T(0), T(0), T(1)); + } + + template + GLM_FUNC_QUALIFIER mat<4, 4, T, defaultp> eulerAngleYX + ( + T const& angleY, + T const& angleX + ) + { + T cosX = glm::cos(angleX); + T sinX = glm::sin(angleX); + T cosY = glm::cos(angleY); + T sinY = glm::sin(angleY); + + return mat<4, 4, T, defaultp>( + cosY, 0, -sinY, T(0), + sinY * sinX, cosX, cosY * sinX, T(0), + sinY * cosX, -sinX, cosY * cosX, T(0), + T(0), T(0), T(0), T(1)); + } + + template + GLM_FUNC_QUALIFIER mat<4, 4, T, defaultp> eulerAngleXZ + ( + T const& angleX, + T const& angleZ + ) + { + return eulerAngleX(angleX) * eulerAngleZ(angleZ); + } + + template + GLM_FUNC_QUALIFIER mat<4, 4, T, defaultp> eulerAngleZX + ( + T const& angleZ, + T const& angleX + ) + { + return eulerAngleZ(angleZ) * eulerAngleX(angleX); + } + + template + GLM_FUNC_QUALIFIER mat<4, 4, T, defaultp> eulerAngleYZ + ( + T const& angleY, + T const& angleZ + ) + { + return eulerAngleY(angleY) * eulerAngleZ(angleZ); + } + + template + GLM_FUNC_QUALIFIER mat<4, 4, T, defaultp> eulerAngleZY + ( + T const& angleZ, + T const& angleY + ) + { + return eulerAngleZ(angleZ) * eulerAngleY(angleY); + } + + template + GLM_FUNC_QUALIFIER mat<4, 4, T, defaultp> eulerAngleXYZ + ( + T const& t1, + T const& t2, + T const& t3 + ) + { + T c1 = glm::cos(-t1); + T c2 = glm::cos(-t2); + T c3 = glm::cos(-t3); + T s1 = glm::sin(-t1); + T s2 = glm::sin(-t2); + T s3 = glm::sin(-t3); + + mat<4, 4, T, defaultp> Result; + Result[0][0] = c2 * c3; + Result[0][1] =-c1 * s3 + s1 * s2 * c3; + Result[0][2] = s1 * s3 + c1 * s2 * c3; + Result[0][3] = static_cast(0); + Result[1][0] = c2 * s3; + Result[1][1] = c1 * c3 + s1 * s2 * s3; + Result[1][2] =-s1 * c3 + c1 * s2 * s3; + Result[1][3] = static_cast(0); + Result[2][0] =-s2; + Result[2][1] = s1 * c2; + Result[2][2] = c1 * c2; + Result[2][3] = static_cast(0); + Result[3][0] = static_cast(0); + Result[3][1] = static_cast(0); + Result[3][2] = static_cast(0); + Result[3][3] = static_cast(1); + return Result; + } + + template + GLM_FUNC_QUALIFIER mat<4, 4, T, defaultp> eulerAngleYXZ + ( + T const& yaw, + T const& pitch, + T const& roll + ) + { + T tmp_ch = glm::cos(yaw); + T tmp_sh = glm::sin(yaw); + T tmp_cp = glm::cos(pitch); + T tmp_sp = glm::sin(pitch); + T tmp_cb = glm::cos(roll); + T tmp_sb = glm::sin(roll); + + mat<4, 4, T, defaultp> Result; + Result[0][0] = tmp_ch * tmp_cb + tmp_sh * tmp_sp * tmp_sb; + Result[0][1] = tmp_sb * tmp_cp; + Result[0][2] = -tmp_sh * tmp_cb + tmp_ch * tmp_sp * tmp_sb; + Result[0][3] = static_cast(0); + Result[1][0] = -tmp_ch * tmp_sb + tmp_sh * tmp_sp * tmp_cb; + Result[1][1] = tmp_cb * tmp_cp; + Result[1][2] = tmp_sb * tmp_sh + tmp_ch * tmp_sp * tmp_cb; + Result[1][3] = static_cast(0); + Result[2][0] = tmp_sh * tmp_cp; + Result[2][1] = -tmp_sp; + Result[2][2] = tmp_ch * tmp_cp; + Result[2][3] = static_cast(0); + Result[3][0] = static_cast(0); + Result[3][1] = static_cast(0); + Result[3][2] = static_cast(0); + Result[3][3] = static_cast(1); + return Result; + } + + template + GLM_FUNC_QUALIFIER mat<4, 4, T, defaultp> eulerAngleXZX + ( + T const & t1, + T const & t2, + T const & t3 + ) + { + T c1 = glm::cos(t1); + T s1 = glm::sin(t1); + T c2 = glm::cos(t2); + T s2 = glm::sin(t2); + T c3 = glm::cos(t3); + T s3 = glm::sin(t3); + + mat<4, 4, T, defaultp> Result; + Result[0][0] = c2; + Result[0][1] = c1 * s2; + Result[0][2] = s1 * s2; + Result[0][3] = static_cast(0); + Result[1][0] =-c3 * s2; + Result[1][1] = c1 * c2 * c3 - s1 * s3; + Result[1][2] = c1 * s3 + c2 * c3 * s1; + Result[1][3] = static_cast(0); + Result[2][0] = s2 * s3; + Result[2][1] =-c3 * s1 - c1 * c2 * s3; + Result[2][2] = c1 * c3 - c2 * s1 * s3; + Result[2][3] = static_cast(0); + Result[3][0] = static_cast(0); + Result[3][1] = static_cast(0); + Result[3][2] = static_cast(0); + Result[3][3] = static_cast(1); + return Result; + } + + template + GLM_FUNC_QUALIFIER mat<4, 4, T, defaultp> eulerAngleXYX + ( + T const & t1, + T const & t2, + T const & t3 + ) + { + T c1 = glm::cos(t1); + T s1 = glm::sin(t1); + T c2 = glm::cos(t2); + T s2 = glm::sin(t2); + T c3 = glm::cos(t3); + T s3 = glm::sin(t3); + + mat<4, 4, T, defaultp> Result; + Result[0][0] = c2; + Result[0][1] = s1 * s2; + Result[0][2] =-c1 * s2; + Result[0][3] = static_cast(0); + Result[1][0] = s2 * s3; + Result[1][1] = c1 * c3 - c2 * s1 * s3; + Result[1][2] = c3 * s1 + c1 * c2 * s3; + Result[1][3] = static_cast(0); + Result[2][0] = c3 * s2; + Result[2][1] =-c1 * s3 - c2 * c3 * s1; + Result[2][2] = c1 * c2 * c3 - s1 * s3; + Result[2][3] = static_cast(0); + Result[3][0] = static_cast(0); + Result[3][1] = static_cast(0); + Result[3][2] = static_cast(0); + Result[3][3] = static_cast(1); + return Result; + } + + template + GLM_FUNC_QUALIFIER mat<4, 4, T, defaultp> eulerAngleYXY + ( + T const & t1, + T const & t2, + T const & t3 + ) + { + T c1 = glm::cos(t1); + T s1 = glm::sin(t1); + T c2 = glm::cos(t2); + T s2 = glm::sin(t2); + T c3 = glm::cos(t3); + T s3 = glm::sin(t3); + + mat<4, 4, T, defaultp> Result; + Result[0][0] = c1 * c3 - c2 * s1 * s3; + Result[0][1] = s2* s3; + Result[0][2] =-c3 * s1 - c1 * c2 * s3; + Result[0][3] = static_cast(0); + Result[1][0] = s1 * s2; + Result[1][1] = c2; + Result[1][2] = c1 * s2; + Result[1][3] = static_cast(0); + Result[2][0] = c1 * s3 + c2 * c3 * s1; + Result[2][1] =-c3 * s2; + Result[2][2] = c1 * c2 * c3 - s1 * s3; + Result[2][3] = static_cast(0); + Result[3][0] = static_cast(0); + Result[3][1] = static_cast(0); + Result[3][2] = static_cast(0); + Result[3][3] = static_cast(1); + return Result; + } + + template + GLM_FUNC_QUALIFIER mat<4, 4, T, defaultp> eulerAngleYZY + ( + T const & t1, + T const & t2, + T const & t3 + ) + { + T c1 = glm::cos(t1); + T s1 = glm::sin(t1); + T c2 = glm::cos(t2); + T s2 = glm::sin(t2); + T c3 = glm::cos(t3); + T s3 = glm::sin(t3); + + mat<4, 4, T, defaultp> Result; + Result[0][0] = c1 * c2 * c3 - s1 * s3; + Result[0][1] = c3 * s2; + Result[0][2] =-c1 * s3 - c2 * c3 * s1; + Result[0][3] = static_cast(0); + Result[1][0] =-c1 * s2; + Result[1][1] = c2; + Result[1][2] = s1 * s2; + Result[1][3] = static_cast(0); + Result[2][0] = c3 * s1 + c1 * c2 * s3; + Result[2][1] = s2 * s3; + Result[2][2] = c1 * c3 - c2 * s1 * s3; + Result[2][3] = static_cast(0); + Result[3][0] = static_cast(0); + Result[3][1] = static_cast(0); + Result[3][2] = static_cast(0); + Result[3][3] = static_cast(1); + return Result; + } + + template + GLM_FUNC_QUALIFIER mat<4, 4, T, defaultp> eulerAngleZYZ + ( + T const & t1, + T const & t2, + T const & t3 + ) + { + T c1 = glm::cos(t1); + T s1 = glm::sin(t1); + T c2 = glm::cos(t2); + T s2 = glm::sin(t2); + T c3 = glm::cos(t3); + T s3 = glm::sin(t3); + + mat<4, 4, T, defaultp> Result; + Result[0][0] = c1 * c2 * c3 - s1 * s3; + Result[0][1] = c1 * s3 + c2 * c3 * s1; + Result[0][2] =-c3 * s2; + Result[0][3] = static_cast(0); + Result[1][0] =-c3 * s1 - c1 * c2 * s3; + Result[1][1] = c1 * c3 - c2 * s1 * s3; + Result[1][2] = s2 * s3; + Result[1][3] = static_cast(0); + Result[2][0] = c1 * s2; + Result[2][1] = s1 * s2; + Result[2][2] = c2; + Result[2][3] = static_cast(0); + Result[3][0] = static_cast(0); + Result[3][1] = static_cast(0); + Result[3][2] = static_cast(0); + Result[3][3] = static_cast(1); + return Result; + } + + template + GLM_FUNC_QUALIFIER mat<4, 4, T, defaultp> eulerAngleZXZ + ( + T const & t1, + T const & t2, + T const & t3 + ) + { + T c1 = glm::cos(t1); + T s1 = glm::sin(t1); + T c2 = glm::cos(t2); + T s2 = glm::sin(t2); + T c3 = glm::cos(t3); + T s3 = glm::sin(t3); + + mat<4, 4, T, defaultp> Result; + Result[0][0] = c1 * c3 - c2 * s1 * s3; + Result[0][1] = c3 * s1 + c1 * c2 * s3; + Result[0][2] = s2 *s3; + Result[0][3] = static_cast(0); + Result[1][0] =-c1 * s3 - c2 * c3 * s1; + Result[1][1] = c1 * c2 * c3 - s1 * s3; + Result[1][2] = c3 * s2; + Result[1][3] = static_cast(0); + Result[2][0] = s1 * s2; + Result[2][1] =-c1 * s2; + Result[2][2] = c2; + Result[2][3] = static_cast(0); + Result[3][0] = static_cast(0); + Result[3][1] = static_cast(0); + Result[3][2] = static_cast(0); + Result[3][3] = static_cast(1); + return Result; + } + + template + GLM_FUNC_QUALIFIER mat<4, 4, T, defaultp> eulerAngleXZY + ( + T const & t1, + T const & t2, + T const & t3 + ) + { + T c1 = glm::cos(t1); + T s1 = glm::sin(t1); + T c2 = glm::cos(t2); + T s2 = glm::sin(t2); + T c3 = glm::cos(t3); + T s3 = glm::sin(t3); + + mat<4, 4, T, defaultp> Result; + Result[0][0] = c2 * c3; + Result[0][1] = s1 * s3 + c1 * c3 * s2; + Result[0][2] = c3 * s1 * s2 - c1 * s3; + Result[0][3] = static_cast(0); + Result[1][0] =-s2; + Result[1][1] = c1 * c2; + Result[1][2] = c2 * s1; + Result[1][3] = static_cast(0); + Result[2][0] = c2 * s3; + Result[2][1] = c1 * s2 * s3 - c3 * s1; + Result[2][2] = c1 * c3 + s1 * s2 *s3; + Result[2][3] = static_cast(0); + Result[3][0] = static_cast(0); + Result[3][1] = static_cast(0); + Result[3][2] = static_cast(0); + Result[3][3] = static_cast(1); + return Result; + } + + template + GLM_FUNC_QUALIFIER mat<4, 4, T, defaultp> eulerAngleYZX + ( + T const & t1, + T const & t2, + T const & t3 + ) + { + T c1 = glm::cos(t1); + T s1 = glm::sin(t1); + T c2 = glm::cos(t2); + T s2 = glm::sin(t2); + T c3 = glm::cos(t3); + T s3 = glm::sin(t3); + + mat<4, 4, T, defaultp> Result; + Result[0][0] = c1 * c2; + Result[0][1] = s2; + Result[0][2] =-c2 * s1; + Result[0][3] = static_cast(0); + Result[1][0] = s1 * s3 - c1 * c3 * s2; + Result[1][1] = c2 * c3; + Result[1][2] = c1 * s3 + c3 * s1 * s2; + Result[1][3] = static_cast(0); + Result[2][0] = c3 * s1 + c1 * s2 * s3; + Result[2][1] =-c2 * s3; + Result[2][2] = c1 * c3 - s1 * s2 * s3; + Result[2][3] = static_cast(0); + Result[3][0] = static_cast(0); + Result[3][1] = static_cast(0); + Result[3][2] = static_cast(0); + Result[3][3] = static_cast(1); + return Result; + } + + template + GLM_FUNC_QUALIFIER mat<4, 4, T, defaultp> eulerAngleZYX + ( + T const & t1, + T const & t2, + T const & t3 + ) + { + T c1 = glm::cos(t1); + T s1 = glm::sin(t1); + T c2 = glm::cos(t2); + T s2 = glm::sin(t2); + T c3 = glm::cos(t3); + T s3 = glm::sin(t3); + + mat<4, 4, T, defaultp> Result; + Result[0][0] = c1 * c2; + Result[0][1] = c2 * s1; + Result[0][2] =-s2; + Result[0][3] = static_cast(0); + Result[1][0] = c1 * s2 * s3 - c3 * s1; + Result[1][1] = c1 * c3 + s1 * s2 * s3; + Result[1][2] = c2 * s3; + Result[1][3] = static_cast(0); + Result[2][0] = s1 * s3 + c1 * c3 * s2; + Result[2][1] = c3 * s1 * s2 - c1 * s3; + Result[2][2] = c2 * c3; + Result[2][3] = static_cast(0); + Result[3][0] = static_cast(0); + Result[3][1] = static_cast(0); + Result[3][2] = static_cast(0); + Result[3][3] = static_cast(1); + return Result; + } + + template + GLM_FUNC_QUALIFIER mat<4, 4, T, defaultp> eulerAngleZXY + ( + T const & t1, + T const & t2, + T const & t3 + ) + { + T c1 = glm::cos(t1); + T s1 = glm::sin(t1); + T c2 = glm::cos(t2); + T s2 = glm::sin(t2); + T c3 = glm::cos(t3); + T s3 = glm::sin(t3); + + mat<4, 4, T, defaultp> Result; + Result[0][0] = c1 * c3 - s1 * s2 * s3; + Result[0][1] = c3 * s1 + c1 * s2 * s3; + Result[0][2] =-c2 * s3; + Result[0][3] = static_cast(0); + Result[1][0] =-c2 * s1; + Result[1][1] = c1 * c2; + Result[1][2] = s2; + Result[1][3] = static_cast(0); + Result[2][0] = c1 * s3 + c3 * s1 * s2; + Result[2][1] = s1 * s3 - c1 * c3 * s2; + Result[2][2] = c2 * c3; + Result[2][3] = static_cast(0); + Result[3][0] = static_cast(0); + Result[3][1] = static_cast(0); + Result[3][2] = static_cast(0); + Result[3][3] = static_cast(1); + return Result; + } + + template + GLM_FUNC_QUALIFIER mat<4, 4, T, defaultp> yawPitchRoll + ( + T const& yaw, + T const& pitch, + T const& roll + ) + { + T tmp_ch = glm::cos(yaw); + T tmp_sh = glm::sin(yaw); + T tmp_cp = glm::cos(pitch); + T tmp_sp = glm::sin(pitch); + T tmp_cb = glm::cos(roll); + T tmp_sb = glm::sin(roll); + + mat<4, 4, T, defaultp> Result; + Result[0][0] = tmp_ch * tmp_cb + tmp_sh * tmp_sp * tmp_sb; + Result[0][1] = tmp_sb * tmp_cp; + Result[0][2] = -tmp_sh * tmp_cb + tmp_ch * tmp_sp * tmp_sb; + Result[0][3] = static_cast(0); + Result[1][0] = -tmp_ch * tmp_sb + tmp_sh * tmp_sp * tmp_cb; + Result[1][1] = tmp_cb * tmp_cp; + Result[1][2] = tmp_sb * tmp_sh + tmp_ch * tmp_sp * tmp_cb; + Result[1][3] = static_cast(0); + Result[2][0] = tmp_sh * tmp_cp; + Result[2][1] = -tmp_sp; + Result[2][2] = tmp_ch * tmp_cp; + Result[2][3] = static_cast(0); + Result[3][0] = static_cast(0); + Result[3][1] = static_cast(0); + Result[3][2] = static_cast(0); + Result[3][3] = static_cast(1); + return Result; + } + + template + GLM_FUNC_QUALIFIER mat<2, 2, T, defaultp> orientate2 + ( + T const& angle + ) + { + T c = glm::cos(angle); + T s = glm::sin(angle); + + mat<2, 2, T, defaultp> Result; + Result[0][0] = c; + Result[0][1] = s; + Result[1][0] = -s; + Result[1][1] = c; + return Result; + } + + template + GLM_FUNC_QUALIFIER mat<3, 3, T, defaultp> orientate3 + ( + T const& angle + ) + { + T c = glm::cos(angle); + T s = glm::sin(angle); + + mat<3, 3, T, defaultp> Result; + Result[0][0] = c; + Result[0][1] = s; + Result[0][2] = 0.0f; + Result[1][0] = -s; + Result[1][1] = c; + Result[1][2] = 0.0f; + Result[2][0] = 0.0f; + Result[2][1] = 0.0f; + Result[2][2] = 1.0f; + return Result; + } + + template + GLM_FUNC_QUALIFIER mat<3, 3, T, Q> orientate3 + ( + vec<3, T, Q> const& angles + ) + { + return mat<3, 3, T, Q>(yawPitchRoll(angles.z, angles.x, angles.y)); + } + + template + GLM_FUNC_QUALIFIER mat<4, 4, T, Q> orientate4 + ( + vec<3, T, Q> const& angles + ) + { + return yawPitchRoll(angles.z, angles.x, angles.y); + } + + template + GLM_FUNC_DECL void extractEulerAngleXYZ(mat<4, 4, T, defaultp> const& M, + T & t1, + T & t2, + T & t3) + { + T T1 = glm::atan2(M[2][1], M[2][2]); + T C2 = glm::sqrt(M[0][0]*M[0][0] + M[1][0]*M[1][0]); + T T2 = glm::atan2(-M[2][0], C2); + T S1 = glm::sin(T1); + T C1 = glm::cos(T1); + T T3 = glm::atan2(S1*M[0][2] - C1*M[0][1], C1*M[1][1] - S1*M[1][2 ]); + t1 = -T1; + t2 = -T2; + t3 = -T3; + } + + template + GLM_FUNC_QUALIFIER void extractEulerAngleYXZ(mat<4, 4, T, defaultp> const & M, + T & t1, + T & t2, + T & t3) + { + T T1 = glm::atan2(M[2][0], M[2][2]); + T C2 = glm::sqrt(M[0][1]*M[0][1] + M[1][1]*M[1][1]); + T T2 = glm::atan2(-M[2][1], C2); + T S1 = glm::sin(T1); + T C1 = glm::cos(T1); + T T3 = glm::atan2(S1*M[1][2] - C1*M[1][0], C1*M[0][0] - S1*M[0][2]); + t1 = T1; + t2 = T2; + t3 = T3; + } + + template + GLM_FUNC_QUALIFIER void extractEulerAngleXZX(mat<4, 4, T, defaultp> const & M, + T & t1, + T & t2, + T & t3) + { + T T1 = glm::atan2(M[0][2], M[0][1]); + T S2 = glm::sqrt(M[1][0]*M[1][0] + M[2][0]*M[2][0]); + T T2 = glm::atan2(S2, M[0][0]); + T S1 = glm::sin(T1); + T C1 = glm::cos(T1); + T T3 = glm::atan2(C1*M[1][2] - S1*M[1][1], C1*M[2][2] - S1*M[2][1]); + t1 = T1; + t2 = T2; + t3 = T3; + } + + template + GLM_FUNC_QUALIFIER void extractEulerAngleXYX(mat<4, 4, T, defaultp> const & M, + T & t1, + T & t2, + T & t3) + { + T T1 = glm::atan2(M[0][1], -M[0][2]); + T S2 = glm::sqrt(M[1][0]*M[1][0] + M[2][0]*M[2][0]); + T T2 = glm::atan2(S2, M[0][0]); + T S1 = glm::sin(T1); + T C1 = glm::cos(T1); + T T3 = glm::atan2(-C1*M[2][1] - S1*M[2][2], C1*M[1][1] + S1*M[1][2]); + t1 = T1; + t2 = T2; + t3 = T3; + } + + template + GLM_FUNC_QUALIFIER void extractEulerAngleYXY(mat<4, 4, T, defaultp> const & M, + T & t1, + T & t2, + T & t3) + { + T T1 = glm::atan2(M[1][0], M[1][2]); + T S2 = glm::sqrt(M[0][1]*M[0][1] + M[2][1]*M[2][1]); + T T2 = glm::atan2(S2, M[1][1]); + T S1 = glm::sin(T1); + T C1 = glm::cos(T1); + T T3 = glm::atan2(C1*M[2][0] - S1*M[2][2], C1*M[0][0] - S1*M[0][2]); + t1 = T1; + t2 = T2; + t3 = T3; + } + + template + GLM_FUNC_QUALIFIER void extractEulerAngleYZY(mat<4, 4, T, defaultp> const & M, + T & t1, + T & t2, + T & t3) + { + T T1 = glm::atan2(M[1][2], -M[1][0]); + T S2 = glm::sqrt(M[0][1]*M[0][1] + M[2][1]*M[2][1]); + T T2 = glm::atan2(S2, M[1][1]); + T S1 = glm::sin(T1); + T C1 = glm::cos(T1); + T T3 = glm::atan2(-S1*M[0][0] - C1*M[0][2], S1*M[2][0] + C1*M[2][2]); + t1 = T1; + t2 = T2; + t3 = T3; + } + + template + GLM_FUNC_QUALIFIER void extractEulerAngleZYZ(mat<4, 4, T, defaultp> const & M, + T & t1, + T & t2, + T & t3) + { + T T1 = glm::atan2(M[2][1], M[2][0]); + T S2 = glm::sqrt(M[0][2]*M[0][2] + M[1][2]*M[1][2]); + T T2 = glm::atan2(S2, M[2][2]); + T S1 = glm::sin(T1); + T C1 = glm::cos(T1); + T T3 = glm::atan2(C1*M[0][1] - S1*M[0][0], C1*M[1][1] - S1*M[1][0]); + t1 = T1; + t2 = T2; + t3 = T3; + } + + template + GLM_FUNC_QUALIFIER void extractEulerAngleZXZ(mat<4, 4, T, defaultp> const & M, + T & t1, + T & t2, + T & t3) + { + T T1 = glm::atan2(M[2][0], -M[2][1]); + T S2 = glm::sqrt(M[0][2]*M[0][2] + M[1][2]*M[1][2]); + T T2 = glm::atan2(S2, M[2][2]); + T S1 = glm::sin(T1); + T C1 = glm::cos(T1); + T T3 = glm::atan2(-C1*M[1][0] - S1*M[1][1], C1*M[0][0] + S1*M[0][1]); + t1 = T1; + t2 = T2; + t3 = T3; + } + + template + GLM_FUNC_QUALIFIER void extractEulerAngleXZY(mat<4, 4, T, defaultp> const & M, + T & t1, + T & t2, + T & t3) + { + T T1 = glm::atan2(M[1][2], M[1][1]); + T C2 = glm::sqrt(M[0][0]*M[0][0] + M[2][0]*M[2][0]); + T T2 = glm::atan2(-M[1][0], C2); + T S1 = glm::sin(T1); + T C1 = glm::cos(T1); + T T3 = glm::atan2(S1*M[0][1] - C1*M[0][2], C1*M[2][2] - S1*M[2][1]); + t1 = T1; + t2 = T2; + t3 = T3; + } + + template + GLM_FUNC_QUALIFIER void extractEulerAngleYZX(mat<4, 4, T, defaultp> const & M, + T & t1, + T & t2, + T & t3) + { + T T1 = glm::atan2(-M[0][2], M[0][0]); + T C2 = glm::sqrt(M[1][1]*M[1][1] + M[2][1]*M[2][1]); + T T2 = glm::atan2(M[0][1], C2); + T S1 = glm::sin(T1); + T C1 = glm::cos(T1); + T T3 = glm::atan2(S1*M[1][0] + C1*M[1][2], S1*M[2][0] + C1*M[2][2]); + t1 = T1; + t2 = T2; + t3 = T3; + } + + template + GLM_FUNC_QUALIFIER void extractEulerAngleZYX(mat<4, 4, T, defaultp> const & M, + T & t1, + T & t2, + T & t3) + { + T T1 = glm::atan2(M[0][1], M[0][0]); + T C2 = glm::sqrt(M[1][2]*M[1][2] + M[2][2]*M[2][2]); + T T2 = glm::atan2(-M[0][2], C2); + T S1 = glm::sin(T1); + T C1 = glm::cos(T1); + T T3 = glm::atan2(S1*M[2][0] - C1*M[2][1], C1*M[1][1] - S1*M[1][0]); + t1 = T1; + t2 = T2; + t3 = T3; + } + + template + GLM_FUNC_QUALIFIER void extractEulerAngleZXY(mat<4, 4, T, defaultp> const & M, + T & t1, + T & t2, + T & t3) + { + T T1 = glm::atan2(-M[1][0], M[1][1]); + T C2 = glm::sqrt(M[0][2]*M[0][2] + M[2][2]*M[2][2]); + T T2 = glm::atan2(M[1][2], C2); + T S1 = glm::sin(T1); + T C1 = glm::cos(T1); + T T3 = glm::atan2(C1*M[2][0] + S1*M[2][1], C1*M[0][0] + S1*M[0][1]); + t1 = T1; + t2 = T2; + t3 = T3; + } +}//namespace glm diff --git a/MacroLibX/third_party/glm/gtx/extend.hpp b/MacroLibX/third_party/glm/gtx/extend.hpp new file mode 100644 index 0000000..28b7c5c --- /dev/null +++ b/MacroLibX/third_party/glm/gtx/extend.hpp @@ -0,0 +1,42 @@ +/// @ref gtx_extend +/// @file glm/gtx/extend.hpp +/// +/// @see core (dependence) +/// +/// @defgroup gtx_extend GLM_GTX_extend +/// @ingroup gtx +/// +/// Include to use the features of this extension. +/// +/// Extend a position from a source to a position at a defined length. + +#pragma once + +// Dependency: +#include "../glm.hpp" + +#if GLM_MESSAGES == GLM_ENABLE && !defined(GLM_EXT_INCLUDED) +# ifndef GLM_ENABLE_EXPERIMENTAL +# pragma message("GLM: GLM_GTX_extend is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it.") +# else +# pragma message("GLM: GLM_GTX_extend extension included") +# endif +#endif + +namespace glm +{ + /// @addtogroup gtx_extend + /// @{ + + /// Extends of Length the Origin position using the (Source - Origin) direction. + /// @see gtx_extend + template + GLM_FUNC_DECL genType extend( + genType const& Origin, + genType const& Source, + typename genType::value_type const Length); + + /// @} +}//namespace glm + +#include "extend.inl" diff --git a/MacroLibX/third_party/glm/gtx/extend.inl b/MacroLibX/third_party/glm/gtx/extend.inl new file mode 100644 index 0000000..32128eb --- /dev/null +++ b/MacroLibX/third_party/glm/gtx/extend.inl @@ -0,0 +1,48 @@ +/// @ref gtx_extend + +namespace glm +{ + template + GLM_FUNC_QUALIFIER genType extend + ( + genType const& Origin, + genType const& Source, + genType const& Distance + ) + { + return Origin + (Source - Origin) * Distance; + } + + template + GLM_FUNC_QUALIFIER vec<2, T, Q> extend + ( + vec<2, T, Q> const& Origin, + vec<2, T, Q> const& Source, + T const& Distance + ) + { + return Origin + (Source - Origin) * Distance; + } + + template + GLM_FUNC_QUALIFIER vec<3, T, Q> extend + ( + vec<3, T, Q> const& Origin, + vec<3, T, Q> const& Source, + T const& Distance + ) + { + return Origin + (Source - Origin) * Distance; + } + + template + GLM_FUNC_QUALIFIER vec<4, T, Q> extend + ( + vec<4, T, Q> const& Origin, + vec<4, T, Q> const& Source, + T const& Distance + ) + { + return Origin + (Source - Origin) * Distance; + } +}//namespace glm diff --git a/MacroLibX/third_party/glm/gtx/extended_min_max.hpp b/MacroLibX/third_party/glm/gtx/extended_min_max.hpp new file mode 100644 index 0000000..ad23a91 --- /dev/null +++ b/MacroLibX/third_party/glm/gtx/extended_min_max.hpp @@ -0,0 +1,182 @@ +/// @ref gtx_extended_min_max +/// @file glm/gtx/extended_min_max.hpp +/// +/// @see core (dependence) +/// +/// @defgroup gtx_extended_min_max GLM_GTX_extented_min_max +/// @ingroup gtx +/// +/// Include to use the features of this extension. +/// +/// Min and max functions for 3 to 4 parameters. + +#pragma once + +// Dependency: +#include "../glm.hpp" + +#if GLM_MESSAGES == GLM_ENABLE && !defined(GLM_EXT_INCLUDED) +# ifndef GLM_ENABLE_EXPERIMENTAL +# pragma message("GLM: GLM_GTX_extented_min_max is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it.") +# else +# pragma message("GLM: GLM_GTX_extented_min_max extension included") +# endif +#endif + +namespace glm +{ + /// @addtogroup gtx_extended_min_max + /// @{ + + /// Return the minimum component-wise values of 3 inputs + /// @see gtx_extented_min_max + template + GLM_FUNC_DECL T min( + T const& x, + T const& y, + T const& z); + + /// Return the minimum component-wise values of 3 inputs + /// @see gtx_extented_min_max + template class C> + GLM_FUNC_DECL C min( + C const& x, + typename C::T const& y, + typename C::T const& z); + + /// Return the minimum component-wise values of 3 inputs + /// @see gtx_extented_min_max + template class C> + GLM_FUNC_DECL C min( + C const& x, + C const& y, + C const& z); + + /// Return the minimum component-wise values of 4 inputs + /// @see gtx_extented_min_max + template + GLM_FUNC_DECL T min( + T const& x, + T const& y, + T const& z, + T const& w); + + /// Return the minimum component-wise values of 4 inputs + /// @see gtx_extented_min_max + template class C> + GLM_FUNC_DECL C min( + C const& x, + typename C::T const& y, + typename C::T const& z, + typename C::T const& w); + + /// Return the minimum component-wise values of 4 inputs + /// @see gtx_extented_min_max + template class C> + GLM_FUNC_DECL C min( + C const& x, + C const& y, + C const& z, + C const& w); + + /// Return the maximum component-wise values of 3 inputs + /// @see gtx_extented_min_max + template + GLM_FUNC_DECL T max( + T const& x, + T const& y, + T const& z); + + /// Return the maximum component-wise values of 3 inputs + /// @see gtx_extented_min_max + template class C> + GLM_FUNC_DECL C max( + C const& x, + typename C::T const& y, + typename C::T const& z); + + /// Return the maximum component-wise values of 3 inputs + /// @see gtx_extented_min_max + template class C> + GLM_FUNC_DECL C max( + C const& x, + C const& y, + C const& z); + + /// Return the maximum component-wise values of 4 inputs + /// @see gtx_extented_min_max + template + GLM_FUNC_DECL T max( + T const& x, + T const& y, + T const& z, + T const& w); + + /// Return the maximum component-wise values of 4 inputs + /// @see gtx_extented_min_max + template class C> + GLM_FUNC_DECL C max( + C const& x, + typename C::T const& y, + typename C::T const& z, + typename C::T const& w); + + /// Return the maximum component-wise values of 4 inputs + /// @see gtx_extented_min_max + template class C> + GLM_FUNC_DECL C max( + C const& x, + C const& y, + C const& z, + C const& w); + + /// Returns y if y < x; otherwise, it returns x. If one of the two arguments is NaN, the value of the other argument is returned. + /// + /// @tparam genType Floating-point or integer; scalar or vector types. + /// + /// @see gtx_extented_min_max + template + GLM_FUNC_DECL genType fmin(genType x, genType y); + + /// Returns y if x < y; otherwise, it returns x. If one of the two arguments is NaN, the value of the other argument is returned. + /// + /// @tparam genType Floating-point; scalar or vector types. + /// + /// @see gtx_extented_min_max + /// @see std::fmax documentation + template + GLM_FUNC_DECL genType fmax(genType x, genType y); + + /// Returns min(max(x, minVal), maxVal) for each component in x. If one of the two arguments is NaN, the value of the other argument is returned. + /// + /// @tparam genType Floating-point scalar or vector types. + /// + /// @see gtx_extented_min_max + template + GLM_FUNC_DECL genType fclamp(genType x, genType minVal, genType maxVal); + + /// Returns min(max(x, minVal), maxVal) for each component in x. If one of the two arguments is NaN, the value of the other argument is returned. + /// + /// @tparam L Integer between 1 and 4 included that qualify the dimension of the vector + /// @tparam T Floating-point scalar types + /// @tparam Q Value from qualifier enum + /// + /// @see gtx_extented_min_max + template + GLM_FUNC_DECL vec fclamp(vec const& x, T minVal, T maxVal); + + /// Returns min(max(x, minVal), maxVal) for each component in x. If one of the two arguments is NaN, the value of the other argument is returned. + /// + /// @tparam L Integer between 1 and 4 included that qualify the dimension of the vector + /// @tparam T Floating-point scalar types + /// @tparam Q Value from qualifier enum + /// + /// @see gtx_extented_min_max + template + GLM_FUNC_DECL vec fclamp(vec const& x, vec const& minVal, vec const& maxVal); + + + /// @} +}//namespace glm + +#include "extended_min_max.inl" diff --git a/MacroLibX/third_party/glm/gtx/extended_min_max.inl b/MacroLibX/third_party/glm/gtx/extended_min_max.inl new file mode 100644 index 0000000..e72d1cc --- /dev/null +++ b/MacroLibX/third_party/glm/gtx/extended_min_max.inl @@ -0,0 +1,218 @@ +/// @ref gtx_extended_min_max + +namespace glm +{ + template + GLM_FUNC_QUALIFIER T min( + T const& x, + T const& y, + T const& z) + { + return glm::min(glm::min(x, y), z); + } + + template class C> + GLM_FUNC_QUALIFIER C min + ( + C const& x, + typename C::T const& y, + typename C::T const& z + ) + { + return glm::min(glm::min(x, y), z); + } + + template class C> + GLM_FUNC_QUALIFIER C min + ( + C const& x, + C const& y, + C const& z + ) + { + return glm::min(glm::min(x, y), z); + } + + template + GLM_FUNC_QUALIFIER T min + ( + T const& x, + T const& y, + T const& z, + T const& w + ) + { + return glm::min(glm::min(x, y), glm::min(z, w)); + } + + template class C> + GLM_FUNC_QUALIFIER C min + ( + C const& x, + typename C::T const& y, + typename C::T const& z, + typename C::T const& w + ) + { + return glm::min(glm::min(x, y), glm::min(z, w)); + } + + template class C> + GLM_FUNC_QUALIFIER C min + ( + C const& x, + C const& y, + C const& z, + C const& w + ) + { + return glm::min(glm::min(x, y), glm::min(z, w)); + } + + template + GLM_FUNC_QUALIFIER T max( + T const& x, + T const& y, + T const& z) + { + return glm::max(glm::max(x, y), z); + } + + template class C> + GLM_FUNC_QUALIFIER C max + ( + C const& x, + typename C::T const& y, + typename C::T const& z + ) + { + return glm::max(glm::max(x, y), z); + } + + template class C> + GLM_FUNC_QUALIFIER C max + ( + C const& x, + C const& y, + C const& z + ) + { + return glm::max(glm::max(x, y), z); + } + + template + GLM_FUNC_QUALIFIER T max + ( + T const& x, + T const& y, + T const& z, + T const& w + ) + { + return glm::max(glm::max(x, y), glm::max(z, w)); + } + + template class C> + GLM_FUNC_QUALIFIER C max + ( + C const& x, + typename C::T const& y, + typename C::T const& z, + typename C::T const& w + ) + { + return glm::max(glm::max(x, y), glm::max(z, w)); + } + + template class C> + GLM_FUNC_QUALIFIER C max + ( + C const& x, + C const& y, + C const& z, + C const& w + ) + { + return glm::max(glm::max(x, y), glm::max(z, w)); + } + + // fmin +# if GLM_HAS_CXX11_STL + using std::fmin; +# else + template + GLM_FUNC_QUALIFIER genType fmin(genType x, genType y) + { + GLM_STATIC_ASSERT(std::numeric_limits::is_iec559, "'fmin' only accept floating-point input"); + + if (isnan(x)) + return y; + if (isnan(y)) + return x; + + return min(x, y); + } +# endif + + template + GLM_FUNC_QUALIFIER vec fmin(vec const& a, T b) + { + return detail::functor2::call(fmin, a, vec(b)); + } + + template + GLM_FUNC_QUALIFIER vec fmin(vec const& a, vec const& b) + { + return detail::functor2::call(fmin, a, b); + } + + // fmax +# if GLM_HAS_CXX11_STL + using std::fmax; +# else + template + GLM_FUNC_QUALIFIER genType fmax(genType x, genType y) + { + GLM_STATIC_ASSERT(std::numeric_limits::is_iec559, "'fmax' only accept floating-point input"); + + if (isnan(x)) + return y; + if (isnan(y)) + return x; + + return max(x, y); + } +# endif + + template + GLM_FUNC_QUALIFIER vec fmax(vec const& a, T b) + { + return detail::functor2::call(fmax, a, vec(b)); + } + + template + GLM_FUNC_QUALIFIER vec fmax(vec const& a, vec const& b) + { + return detail::functor2::call(fmax, a, b); + } + + // fclamp + template + GLM_FUNC_QUALIFIER genType fclamp(genType x, genType minVal, genType maxVal) + { + GLM_STATIC_ASSERT(std::numeric_limits::is_iec559, "'fclamp' only accept floating-point or integer inputs"); + return fmin(fmax(x, minVal), maxVal); + } + + template + GLM_FUNC_QUALIFIER vec fclamp(vec const& x, T minVal, T maxVal) + { + return fmin(fmax(x, vec(minVal)), vec(maxVal)); + } + + template + GLM_FUNC_QUALIFIER vec fclamp(vec const& x, vec const& minVal, vec const& maxVal) + { + return fmin(fmax(x, minVal), maxVal); + } +}//namespace glm diff --git a/MacroLibX/third_party/glm/gtx/exterior_product.hpp b/MacroLibX/third_party/glm/gtx/exterior_product.hpp new file mode 100644 index 0000000..5522df7 --- /dev/null +++ b/MacroLibX/third_party/glm/gtx/exterior_product.hpp @@ -0,0 +1,45 @@ +/// @ref gtx_exterior_product +/// @file glm/gtx/exterior_product.hpp +/// +/// @see core (dependence) +/// @see gtx_exterior_product (dependence) +/// +/// @defgroup gtx_exterior_product GLM_GTX_exterior_product +/// @ingroup gtx +/// +/// Include to use the features of this extension. +/// +/// @brief Allow to perform bit operations on integer values + +#pragma once + +// Dependencies +#include "../detail/setup.hpp" +#include "../detail/qualifier.hpp" + +#if GLM_MESSAGES == GLM_ENABLE && !defined(GLM_EXT_INCLUDED) +# ifndef GLM_ENABLE_EXPERIMENTAL +# pragma message("GLM: GLM_GTX_exterior_product is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it.") +# else +# pragma message("GLM: GLM_GTX_exterior_product extension included") +# endif +#endif + +namespace glm +{ + /// @addtogroup gtx_exterior_product + /// @{ + + /// Returns the cross product of x and y. + /// + /// @tparam T Floating-point scalar types + /// @tparam Q Value from qualifier enum + /// + /// @see Exterior product + template + GLM_FUNC_DECL T cross(vec<2, T, Q> const& v, vec<2, T, Q> const& u); + + /// @} +} //namespace glm + +#include "exterior_product.inl" diff --git a/MacroLibX/third_party/glm/gtx/exterior_product.inl b/MacroLibX/third_party/glm/gtx/exterior_product.inl new file mode 100644 index 0000000..93661fd --- /dev/null +++ b/MacroLibX/third_party/glm/gtx/exterior_product.inl @@ -0,0 +1,26 @@ +/// @ref gtx_exterior_product + +#include + +namespace glm { +namespace detail +{ + template + struct compute_cross_vec2 + { + GLM_FUNC_QUALIFIER static T call(vec<2, T, Q> const& v, vec<2, T, Q> const& u) + { + GLM_STATIC_ASSERT(std::numeric_limits::is_iec559, "'cross' accepts only floating-point inputs"); + + return v.x * u.y - u.x * v.y; + } + }; +}//namespace detail + + template + GLM_FUNC_QUALIFIER T cross(vec<2, T, Q> const& x, vec<2, T, Q> const& y) + { + return detail::compute_cross_vec2::value>::call(x, y); + } +}//namespace glm + diff --git a/MacroLibX/third_party/glm/gtx/fast_exponential.hpp b/MacroLibX/third_party/glm/gtx/fast_exponential.hpp new file mode 100644 index 0000000..6fb7286 --- /dev/null +++ b/MacroLibX/third_party/glm/gtx/fast_exponential.hpp @@ -0,0 +1,95 @@ +/// @ref gtx_fast_exponential +/// @file glm/gtx/fast_exponential.hpp +/// +/// @see core (dependence) +/// @see gtx_half_float (dependence) +/// +/// @defgroup gtx_fast_exponential GLM_GTX_fast_exponential +/// @ingroup gtx +/// +/// Include to use the features of this extension. +/// +/// Fast but less accurate implementations of exponential based functions. + +#pragma once + +// Dependency: +#include "../glm.hpp" + +#if GLM_MESSAGES == GLM_ENABLE && !defined(GLM_EXT_INCLUDED) +# ifndef GLM_ENABLE_EXPERIMENTAL +# pragma message("GLM: GLM_GTX_fast_exponential is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it.") +# else +# pragma message("GLM: GLM_GTX_fast_exponential extension included") +# endif +#endif + +namespace glm +{ + /// @addtogroup gtx_fast_exponential + /// @{ + + /// Faster than the common pow function but less accurate. + /// @see gtx_fast_exponential + template + GLM_FUNC_DECL genType fastPow(genType x, genType y); + + /// Faster than the common pow function but less accurate. + /// @see gtx_fast_exponential + template + GLM_FUNC_DECL vec fastPow(vec const& x, vec const& y); + + /// Faster than the common pow function but less accurate. + /// @see gtx_fast_exponential + template + GLM_FUNC_DECL genTypeT fastPow(genTypeT x, genTypeU y); + + /// Faster than the common pow function but less accurate. + /// @see gtx_fast_exponential + template + GLM_FUNC_DECL vec fastPow(vec const& x); + + /// Faster than the common exp function but less accurate. + /// @see gtx_fast_exponential + template + GLM_FUNC_DECL T fastExp(T x); + + /// Faster than the common exp function but less accurate. + /// @see gtx_fast_exponential + template + GLM_FUNC_DECL vec fastExp(vec const& x); + + /// Faster than the common log function but less accurate. + /// @see gtx_fast_exponential + template + GLM_FUNC_DECL T fastLog(T x); + + /// Faster than the common exp2 function but less accurate. + /// @see gtx_fast_exponential + template + GLM_FUNC_DECL vec fastLog(vec const& x); + + /// Faster than the common exp2 function but less accurate. + /// @see gtx_fast_exponential + template + GLM_FUNC_DECL T fastExp2(T x); + + /// Faster than the common exp2 function but less accurate. + /// @see gtx_fast_exponential + template + GLM_FUNC_DECL vec fastExp2(vec const& x); + + /// Faster than the common log2 function but less accurate. + /// @see gtx_fast_exponential + template + GLM_FUNC_DECL T fastLog2(T x); + + /// Faster than the common log2 function but less accurate. + /// @see gtx_fast_exponential + template + GLM_FUNC_DECL vec fastLog2(vec const& x); + + /// @} +}//namespace glm + +#include "fast_exponential.inl" diff --git a/MacroLibX/third_party/glm/gtx/fast_exponential.inl b/MacroLibX/third_party/glm/gtx/fast_exponential.inl new file mode 100644 index 0000000..f139e50 --- /dev/null +++ b/MacroLibX/third_party/glm/gtx/fast_exponential.inl @@ -0,0 +1,136 @@ +/// @ref gtx_fast_exponential + +namespace glm +{ + // fastPow: + template + GLM_FUNC_QUALIFIER genType fastPow(genType x, genType y) + { + return exp(y * log(x)); + } + + template + GLM_FUNC_QUALIFIER vec fastPow(vec const& x, vec const& y) + { + return exp(y * log(x)); + } + + template + GLM_FUNC_QUALIFIER T fastPow(T x, int y) + { + T f = static_cast(1); + for(int i = 0; i < y; ++i) + f *= x; + return f; + } + + template + GLM_FUNC_QUALIFIER vec fastPow(vec const& x, vec const& y) + { + vec Result; + for(length_t i = 0, n = x.length(); i < n; ++i) + Result[i] = fastPow(x[i], y[i]); + return Result; + } + + // fastExp + // Note: This function provides accurate results only for value between -1 and 1, else avoid it. + template + GLM_FUNC_QUALIFIER T fastExp(T x) + { + // This has a better looking and same performance in release mode than the following code. However, in debug mode it's slower. + // return 1.0f + x * (1.0f + x * 0.5f * (1.0f + x * 0.3333333333f * (1.0f + x * 0.25 * (1.0f + x * 0.2f)))); + T x2 = x * x; + T x3 = x2 * x; + T x4 = x3 * x; + T x5 = x4 * x; + return T(1) + x + (x2 * T(0.5)) + (x3 * T(0.1666666667)) + (x4 * T(0.041666667)) + (x5 * T(0.008333333333)); + } + /* // Try to handle all values of float... but often shower than std::exp, glm::floor and the loop kill the performance + GLM_FUNC_QUALIFIER float fastExp(float x) + { + const float e = 2.718281828f; + const float IntegerPart = floor(x); + const float FloatPart = x - IntegerPart; + float z = 1.f; + + for(int i = 0; i < int(IntegerPart); ++i) + z *= e; + + const float x2 = FloatPart * FloatPart; + const float x3 = x2 * FloatPart; + const float x4 = x3 * FloatPart; + const float x5 = x4 * FloatPart; + return z * (1.0f + FloatPart + (x2 * 0.5f) + (x3 * 0.1666666667f) + (x4 * 0.041666667f) + (x5 * 0.008333333333f)); + } + + // Increase accuracy on number bigger that 1 and smaller than -1 but it's not enough for high and negative numbers + GLM_FUNC_QUALIFIER float fastExp(float x) + { + // This has a better looking and same performance in release mode than the following code. However, in debug mode it's slower. + // return 1.0f + x * (1.0f + x * 0.5f * (1.0f + x * 0.3333333333f * (1.0f + x * 0.25 * (1.0f + x * 0.2f)))); + float x2 = x * x; + float x3 = x2 * x; + float x4 = x3 * x; + float x5 = x4 * x; + float x6 = x5 * x; + float x7 = x6 * x; + float x8 = x7 * x; + return 1.0f + x + (x2 * 0.5f) + (x3 * 0.1666666667f) + (x4 * 0.041666667f) + (x5 * 0.008333333333f)+ (x6 * 0.00138888888888f) + (x7 * 0.000198412698f) + (x8 * 0.0000248015873f);; + } + */ + + template + GLM_FUNC_QUALIFIER vec fastExp(vec const& x) + { + return detail::functor1::call(fastExp, x); + } + + // fastLog + template + GLM_FUNC_QUALIFIER genType fastLog(genType x) + { + return std::log(x); + } + + /* Slower than the VC7.1 function... + GLM_FUNC_QUALIFIER float fastLog(float x) + { + float y1 = (x - 1.0f) / (x + 1.0f); + float y2 = y1 * y1; + return 2.0f * y1 * (1.0f + y2 * (0.3333333333f + y2 * (0.2f + y2 * 0.1428571429f))); + } + */ + + template + GLM_FUNC_QUALIFIER vec fastLog(vec const& x) + { + return detail::functor1::call(fastLog, x); + } + + //fastExp2, ln2 = 0.69314718055994530941723212145818f + template + GLM_FUNC_QUALIFIER genType fastExp2(genType x) + { + return fastExp(0.69314718055994530941723212145818f * x); + } + + template + GLM_FUNC_QUALIFIER vec fastExp2(vec const& x) + { + return detail::functor1::call(fastExp2, x); + } + + // fastLog2, ln2 = 0.69314718055994530941723212145818f + template + GLM_FUNC_QUALIFIER genType fastLog2(genType x) + { + return fastLog(x) / 0.69314718055994530941723212145818f; + } + + template + GLM_FUNC_QUALIFIER vec fastLog2(vec const& x) + { + return detail::functor1::call(fastLog2, x); + } +}//namespace glm diff --git a/MacroLibX/third_party/glm/gtx/fast_square_root.hpp b/MacroLibX/third_party/glm/gtx/fast_square_root.hpp new file mode 100644 index 0000000..9fb3f2f --- /dev/null +++ b/MacroLibX/third_party/glm/gtx/fast_square_root.hpp @@ -0,0 +1,92 @@ +/// @ref gtx_fast_square_root +/// @file glm/gtx/fast_square_root.hpp +/// +/// @see core (dependence) +/// +/// @defgroup gtx_fast_square_root GLM_GTX_fast_square_root +/// @ingroup gtx +/// +/// Include to use the features of this extension. +/// +/// Fast but less accurate implementations of square root based functions. +/// - Sqrt optimisation based on Newton's method, +/// www.gamedev.net/community/forums/topic.asp?topic id=139956 + +#pragma once + +// Dependency: +#include "../common.hpp" +#include "../exponential.hpp" +#include "../geometric.hpp" + +#if GLM_MESSAGES == GLM_ENABLE && !defined(GLM_EXT_INCLUDED) +# ifndef GLM_ENABLE_EXPERIMENTAL +# pragma message("GLM: GLM_GTX_fast_square_root is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it.") +# else +# pragma message("GLM: GLM_GTX_fast_square_root extension included") +# endif +#endif + +namespace glm +{ + /// @addtogroup gtx_fast_square_root + /// @{ + + /// Faster than the common sqrt function but less accurate. + /// + /// @see gtx_fast_square_root extension. + template + GLM_FUNC_DECL genType fastSqrt(genType x); + + /// Faster than the common sqrt function but less accurate. + /// + /// @see gtx_fast_square_root extension. + template + GLM_FUNC_DECL vec fastSqrt(vec const& x); + + /// Faster than the common inversesqrt function but less accurate. + /// + /// @see gtx_fast_square_root extension. + template + GLM_FUNC_DECL genType fastInverseSqrt(genType x); + + /// Faster than the common inversesqrt function but less accurate. + /// + /// @see gtx_fast_square_root extension. + template + GLM_FUNC_DECL vec fastInverseSqrt(vec const& x); + + /// Faster than the common length function but less accurate. + /// + /// @see gtx_fast_square_root extension. + template + GLM_FUNC_DECL genType fastLength(genType x); + + /// Faster than the common length function but less accurate. + /// + /// @see gtx_fast_square_root extension. + template + GLM_FUNC_DECL T fastLength(vec const& x); + + /// Faster than the common distance function but less accurate. + /// + /// @see gtx_fast_square_root extension. + template + GLM_FUNC_DECL genType fastDistance(genType x, genType y); + + /// Faster than the common distance function but less accurate. + /// + /// @see gtx_fast_square_root extension. + template + GLM_FUNC_DECL T fastDistance(vec const& x, vec const& y); + + /// Faster than the common normalize function but less accurate. + /// + /// @see gtx_fast_square_root extension. + template + GLM_FUNC_DECL genType fastNormalize(genType const& x); + + /// @} +}// namespace glm + +#include "fast_square_root.inl" diff --git a/MacroLibX/third_party/glm/gtx/fast_square_root.inl b/MacroLibX/third_party/glm/gtx/fast_square_root.inl new file mode 100644 index 0000000..4e6c6de --- /dev/null +++ b/MacroLibX/third_party/glm/gtx/fast_square_root.inl @@ -0,0 +1,75 @@ +/// @ref gtx_fast_square_root + +namespace glm +{ + // fastSqrt + template + GLM_FUNC_QUALIFIER genType fastSqrt(genType x) + { + GLM_STATIC_ASSERT(std::numeric_limits::is_iec559, "'fastSqrt' only accept floating-point input"); + + return genType(1) / fastInverseSqrt(x); + } + + template + GLM_FUNC_QUALIFIER vec fastSqrt(vec const& x) + { + return detail::functor1::call(fastSqrt, x); + } + + // fastInversesqrt + template + GLM_FUNC_QUALIFIER genType fastInverseSqrt(genType x) + { + return detail::compute_inversesqrt<1, genType, lowp, detail::is_aligned::value>::call(vec<1, genType, lowp>(x)).x; + } + + template + GLM_FUNC_QUALIFIER vec fastInverseSqrt(vec const& x) + { + return detail::compute_inversesqrt::value>::call(x); + } + + // fastLength + template + GLM_FUNC_QUALIFIER genType fastLength(genType x) + { + GLM_STATIC_ASSERT(std::numeric_limits::is_iec559, "'fastLength' only accept floating-point inputs"); + + return abs(x); + } + + template + GLM_FUNC_QUALIFIER T fastLength(vec const& x) + { + GLM_STATIC_ASSERT(std::numeric_limits::is_iec559, "'fastLength' only accept floating-point inputs"); + + return fastSqrt(dot(x, x)); + } + + // fastDistance + template + GLM_FUNC_QUALIFIER genType fastDistance(genType x, genType y) + { + return fastLength(y - x); + } + + template + GLM_FUNC_QUALIFIER T fastDistance(vec const& x, vec const& y) + { + return fastLength(y - x); + } + + // fastNormalize + template + GLM_FUNC_QUALIFIER genType fastNormalize(genType x) + { + return x > genType(0) ? genType(1) : -genType(1); + } + + template + GLM_FUNC_QUALIFIER vec fastNormalize(vec const& x) + { + return x * fastInverseSqrt(dot(x, x)); + } +}//namespace glm diff --git a/MacroLibX/third_party/glm/gtx/fast_trigonometry.hpp b/MacroLibX/third_party/glm/gtx/fast_trigonometry.hpp new file mode 100644 index 0000000..2650d6e --- /dev/null +++ b/MacroLibX/third_party/glm/gtx/fast_trigonometry.hpp @@ -0,0 +1,79 @@ +/// @ref gtx_fast_trigonometry +/// @file glm/gtx/fast_trigonometry.hpp +/// +/// @see core (dependence) +/// +/// @defgroup gtx_fast_trigonometry GLM_GTX_fast_trigonometry +/// @ingroup gtx +/// +/// Include to use the features of this extension. +/// +/// Fast but less accurate implementations of trigonometric functions. + +#pragma once + +// Dependency: +#include "../gtc/constants.hpp" + +#if GLM_MESSAGES == GLM_ENABLE && !defined(GLM_EXT_INCLUDED) +# ifndef GLM_ENABLE_EXPERIMENTAL +# pragma message("GLM: GLM_GTX_fast_trigonometry is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it.") +# else +# pragma message("GLM: GLM_GTX_fast_trigonometry extension included") +# endif +#endif + +namespace glm +{ + /// @addtogroup gtx_fast_trigonometry + /// @{ + + /// Wrap an angle to [0 2pi[ + /// From GLM_GTX_fast_trigonometry extension. + template + GLM_FUNC_DECL T wrapAngle(T angle); + + /// Faster than the common sin function but less accurate. + /// From GLM_GTX_fast_trigonometry extension. + template + GLM_FUNC_DECL T fastSin(T angle); + + /// Faster than the common cos function but less accurate. + /// From GLM_GTX_fast_trigonometry extension. + template + GLM_FUNC_DECL T fastCos(T angle); + + /// Faster than the common tan function but less accurate. + /// Defined between -2pi and 2pi. + /// From GLM_GTX_fast_trigonometry extension. + template + GLM_FUNC_DECL T fastTan(T angle); + + /// Faster than the common asin function but less accurate. + /// Defined between -2pi and 2pi. + /// From GLM_GTX_fast_trigonometry extension. + template + GLM_FUNC_DECL T fastAsin(T angle); + + /// Faster than the common acos function but less accurate. + /// Defined between -2pi and 2pi. + /// From GLM_GTX_fast_trigonometry extension. + template + GLM_FUNC_DECL T fastAcos(T angle); + + /// Faster than the common atan function but less accurate. + /// Defined between -2pi and 2pi. + /// From GLM_GTX_fast_trigonometry extension. + template + GLM_FUNC_DECL T fastAtan(T y, T x); + + /// Faster than the common atan function but less accurate. + /// Defined between -2pi and 2pi. + /// From GLM_GTX_fast_trigonometry extension. + template + GLM_FUNC_DECL T fastAtan(T angle); + + /// @} +}//namespace glm + +#include "fast_trigonometry.inl" diff --git a/MacroLibX/third_party/glm/gtx/fast_trigonometry.inl b/MacroLibX/third_party/glm/gtx/fast_trigonometry.inl new file mode 100644 index 0000000..1a710cb --- /dev/null +++ b/MacroLibX/third_party/glm/gtx/fast_trigonometry.inl @@ -0,0 +1,142 @@ +/// @ref gtx_fast_trigonometry + +namespace glm{ +namespace detail +{ + template + GLM_FUNC_QUALIFIER vec taylorCos(vec const& x) + { + return static_cast(1) + - (x * x) * (1.f / 2.f) + + ((x * x) * (x * x)) * (1.f / 24.f) + - (((x * x) * (x * x)) * (x * x)) * (1.f / 720.f) + + (((x * x) * (x * x)) * ((x * x) * (x * x))) * (1.f / 40320.f); + } + + template + GLM_FUNC_QUALIFIER T cos_52s(T x) + { + T const xx(x * x); + return (T(0.9999932946) + xx * (T(-0.4999124376) + xx * (T(0.0414877472) + xx * T(-0.0012712095)))); + } + + template + GLM_FUNC_QUALIFIER vec cos_52s(vec const& x) + { + return detail::functor1::call(cos_52s, x); + } +}//namespace detail + + // wrapAngle + template + GLM_FUNC_QUALIFIER T wrapAngle(T angle) + { + return abs(mod(angle, two_pi())); + } + + template + GLM_FUNC_QUALIFIER vec wrapAngle(vec const& x) + { + return detail::functor1::call(wrapAngle, x); + } + + // cos + template + GLM_FUNC_QUALIFIER T fastCos(T x) + { + T const angle(wrapAngle(x)); + + if(angle < half_pi()) + return detail::cos_52s(angle); + if(angle < pi()) + return -detail::cos_52s(pi() - angle); + if(angle < (T(3) * half_pi())) + return -detail::cos_52s(angle - pi()); + + return detail::cos_52s(two_pi() - angle); + } + + template + GLM_FUNC_QUALIFIER vec fastCos(vec const& x) + { + return detail::functor1::call(fastCos, x); + } + + // sin + template + GLM_FUNC_QUALIFIER T fastSin(T x) + { + return fastCos(half_pi() - x); + } + + template + GLM_FUNC_QUALIFIER vec fastSin(vec const& x) + { + return detail::functor1::call(fastSin, x); + } + + // tan + template + GLM_FUNC_QUALIFIER T fastTan(T x) + { + return x + (x * x * x * T(0.3333333333)) + (x * x * x * x * x * T(0.1333333333333)) + (x * x * x * x * x * x * x * T(0.0539682539)); + } + + template + GLM_FUNC_QUALIFIER vec fastTan(vec const& x) + { + return detail::functor1::call(fastTan, x); + } + + // asin + template + GLM_FUNC_QUALIFIER T fastAsin(T x) + { + return x + (x * x * x * T(0.166666667)) + (x * x * x * x * x * T(0.075)) + (x * x * x * x * x * x * x * T(0.0446428571)) + (x * x * x * x * x * x * x * x * x * T(0.0303819444));// + (x * x * x * x * x * x * x * x * x * x * x * T(0.022372159)); + } + + template + GLM_FUNC_QUALIFIER vec fastAsin(vec const& x) + { + return detail::functor1::call(fastAsin, x); + } + + // acos + template + GLM_FUNC_QUALIFIER T fastAcos(T x) + { + return T(1.5707963267948966192313216916398) - fastAsin(x); //(PI / 2) + } + + template + GLM_FUNC_QUALIFIER vec fastAcos(vec const& x) + { + return detail::functor1::call(fastAcos, x); + } + + // atan + template + GLM_FUNC_QUALIFIER T fastAtan(T y, T x) + { + T sgn = sign(y) * sign(x); + return abs(fastAtan(y / x)) * sgn; + } + + template + GLM_FUNC_QUALIFIER vec fastAtan(vec const& y, vec const& x) + { + return detail::functor2::call(fastAtan, y, x); + } + + template + GLM_FUNC_QUALIFIER T fastAtan(T x) + { + return x - (x * x * x * T(0.333333333333)) + (x * x * x * x * x * T(0.2)) - (x * x * x * x * x * x * x * T(0.1428571429)) + (x * x * x * x * x * x * x * x * x * T(0.111111111111)) - (x * x * x * x * x * x * x * x * x * x * x * T(0.0909090909)); + } + + template + GLM_FUNC_QUALIFIER vec fastAtan(vec const& x) + { + return detail::functor1::call(fastAtan, x); + } +}//namespace glm diff --git a/MacroLibX/third_party/glm/gtx/float_notmalize.inl b/MacroLibX/third_party/glm/gtx/float_notmalize.inl new file mode 100644 index 0000000..8cdbc5a --- /dev/null +++ b/MacroLibX/third_party/glm/gtx/float_notmalize.inl @@ -0,0 +1,13 @@ +/// @ref gtx_float_normalize + +#include + +namespace glm +{ + template + GLM_FUNC_QUALIFIER vec floatNormalize(vec const& v) + { + return vec(v) / static_cast(std::numeric_limits::max()); + } + +}//namespace glm diff --git a/MacroLibX/third_party/glm/gtx/functions.hpp b/MacroLibX/third_party/glm/gtx/functions.hpp new file mode 100644 index 0000000..9f4166c --- /dev/null +++ b/MacroLibX/third_party/glm/gtx/functions.hpp @@ -0,0 +1,56 @@ +/// @ref gtx_functions +/// @file glm/gtx/functions.hpp +/// +/// @see core (dependence) +/// @see gtc_quaternion (dependence) +/// +/// @defgroup gtx_functions GLM_GTX_functions +/// @ingroup gtx +/// +/// Include to use the features of this extension. +/// +/// List of useful common functions. + +#pragma once + +// Dependencies +#include "../detail/setup.hpp" +#include "../detail/qualifier.hpp" +#include "../detail/type_vec2.hpp" + +#if GLM_MESSAGES == GLM_ENABLE && !defined(GLM_EXT_INCLUDED) +# ifndef GLM_ENABLE_EXPERIMENTAL +# pragma message("GLM: GLM_GTX_functions is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it.") +# else +# pragma message("GLM: GLM_GTX_functions extension included") +# endif +#endif + +namespace glm +{ + /// @addtogroup gtx_functions + /// @{ + + /// 1D gauss function + /// + /// @see gtc_epsilon + template + GLM_FUNC_DECL T gauss( + T x, + T ExpectedValue, + T StandardDeviation); + + /// 2D gauss function + /// + /// @see gtc_epsilon + template + GLM_FUNC_DECL T gauss( + vec<2, T, Q> const& Coord, + vec<2, T, Q> const& ExpectedValue, + vec<2, T, Q> const& StandardDeviation); + + /// @} +}//namespace glm + +#include "functions.inl" + diff --git a/MacroLibX/third_party/glm/gtx/functions.inl b/MacroLibX/third_party/glm/gtx/functions.inl new file mode 100644 index 0000000..29cbb20 --- /dev/null +++ b/MacroLibX/third_party/glm/gtx/functions.inl @@ -0,0 +1,30 @@ +/// @ref gtx_functions + +#include "../exponential.hpp" + +namespace glm +{ + template + GLM_FUNC_QUALIFIER T gauss + ( + T x, + T ExpectedValue, + T StandardDeviation + ) + { + return exp(-((x - ExpectedValue) * (x - ExpectedValue)) / (static_cast(2) * StandardDeviation * StandardDeviation)) / (StandardDeviation * sqrt(static_cast(6.28318530717958647692528676655900576))); + } + + template + GLM_FUNC_QUALIFIER T gauss + ( + vec<2, T, Q> const& Coord, + vec<2, T, Q> const& ExpectedValue, + vec<2, T, Q> const& StandardDeviation + ) + { + vec<2, T, Q> const Squared = ((Coord - ExpectedValue) * (Coord - ExpectedValue)) / (static_cast(2) * StandardDeviation * StandardDeviation); + return exp(-(Squared.x + Squared.y)); + } +}//namespace glm + diff --git a/MacroLibX/third_party/glm/gtx/gradient_paint.hpp b/MacroLibX/third_party/glm/gtx/gradient_paint.hpp new file mode 100644 index 0000000..6f85bf4 --- /dev/null +++ b/MacroLibX/third_party/glm/gtx/gradient_paint.hpp @@ -0,0 +1,53 @@ +/// @ref gtx_gradient_paint +/// @file glm/gtx/gradient_paint.hpp +/// +/// @see core (dependence) +/// @see gtx_optimum_pow (dependence) +/// +/// @defgroup gtx_gradient_paint GLM_GTX_gradient_paint +/// @ingroup gtx +/// +/// Include to use the features of this extension. +/// +/// Functions that return the color of procedural gradient for specific coordinates. + +#pragma once + +// Dependency: +#include "../glm.hpp" +#include "../gtx/optimum_pow.hpp" + +#if GLM_MESSAGES == GLM_ENABLE && !defined(GLM_EXT_INCLUDED) +# ifndef GLM_ENABLE_EXPERIMENTAL +# pragma message("GLM: GLM_GTX_gradient_paint is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it.") +# else +# pragma message("GLM: GLM_GTX_gradient_paint extension included") +# endif +#endif + +namespace glm +{ + /// @addtogroup gtx_gradient_paint + /// @{ + + /// Return a color from a radial gradient. + /// @see - gtx_gradient_paint + template + GLM_FUNC_DECL T radialGradient( + vec<2, T, Q> const& Center, + T const& Radius, + vec<2, T, Q> const& Focal, + vec<2, T, Q> const& Position); + + /// Return a color from a linear gradient. + /// @see - gtx_gradient_paint + template + GLM_FUNC_DECL T linearGradient( + vec<2, T, Q> const& Point0, + vec<2, T, Q> const& Point1, + vec<2, T, Q> const& Position); + + /// @} +}// namespace glm + +#include "gradient_paint.inl" diff --git a/MacroLibX/third_party/glm/gtx/gradient_paint.inl b/MacroLibX/third_party/glm/gtx/gradient_paint.inl new file mode 100644 index 0000000..4c495e6 --- /dev/null +++ b/MacroLibX/third_party/glm/gtx/gradient_paint.inl @@ -0,0 +1,36 @@ +/// @ref gtx_gradient_paint + +namespace glm +{ + template + GLM_FUNC_QUALIFIER T radialGradient + ( + vec<2, T, Q> const& Center, + T const& Radius, + vec<2, T, Q> const& Focal, + vec<2, T, Q> const& Position + ) + { + vec<2, T, Q> F = Focal - Center; + vec<2, T, Q> D = Position - Focal; + T Radius2 = pow2(Radius); + T Fx2 = pow2(F.x); + T Fy2 = pow2(F.y); + + T Numerator = (D.x * F.x + D.y * F.y) + sqrt(Radius2 * (pow2(D.x) + pow2(D.y)) - pow2(D.x * F.y - D.y * F.x)); + T Denominator = Radius2 - (Fx2 + Fy2); + return Numerator / Denominator; + } + + template + GLM_FUNC_QUALIFIER T linearGradient + ( + vec<2, T, Q> const& Point0, + vec<2, T, Q> const& Point1, + vec<2, T, Q> const& Position + ) + { + vec<2, T, Q> Dist = Point1 - Point0; + return (Dist.x * (Position.x - Point0.x) + Dist.y * (Position.y - Point0.y)) / glm::dot(Dist, Dist); + } +}//namespace glm diff --git a/MacroLibX/third_party/glm/gtx/handed_coordinate_space.hpp b/MacroLibX/third_party/glm/gtx/handed_coordinate_space.hpp new file mode 100644 index 0000000..3c85968 --- /dev/null +++ b/MacroLibX/third_party/glm/gtx/handed_coordinate_space.hpp @@ -0,0 +1,50 @@ +/// @ref gtx_handed_coordinate_space +/// @file glm/gtx/handed_coordinate_space.hpp +/// +/// @see core (dependence) +/// +/// @defgroup gtx_handed_coordinate_space GLM_GTX_handed_coordinate_space +/// @ingroup gtx +/// +/// Include to use the features of this extension. +/// +/// To know if a set of three basis vectors defines a right or left-handed coordinate system. + +#pragma once + +// Dependency: +#include "../glm.hpp" + +#if GLM_MESSAGES == GLM_ENABLE && !defined(GLM_EXT_INCLUDED) +# ifndef GLM_ENABLE_EXPERIMENTAL +# pragma message("GLM: GLM_GTX_handed_coordinate_space is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it.") +# else +# pragma message("GLM: GLM_GTX_handed_coordinate_space extension included") +# endif +#endif + +namespace glm +{ + /// @addtogroup gtx_handed_coordinate_space + /// @{ + + //! Return if a trihedron right handed or not. + //! From GLM_GTX_handed_coordinate_space extension. + template + GLM_FUNC_DECL bool rightHanded( + vec<3, T, Q> const& tangent, + vec<3, T, Q> const& binormal, + vec<3, T, Q> const& normal); + + //! Return if a trihedron left handed or not. + //! From GLM_GTX_handed_coordinate_space extension. + template + GLM_FUNC_DECL bool leftHanded( + vec<3, T, Q> const& tangent, + vec<3, T, Q> const& binormal, + vec<3, T, Q> const& normal); + + /// @} +}// namespace glm + +#include "handed_coordinate_space.inl" diff --git a/MacroLibX/third_party/glm/gtx/handed_coordinate_space.inl b/MacroLibX/third_party/glm/gtx/handed_coordinate_space.inl new file mode 100644 index 0000000..e43c17b --- /dev/null +++ b/MacroLibX/third_party/glm/gtx/handed_coordinate_space.inl @@ -0,0 +1,26 @@ +/// @ref gtx_handed_coordinate_space + +namespace glm +{ + template + GLM_FUNC_QUALIFIER bool rightHanded + ( + vec<3, T, Q> const& tangent, + vec<3, T, Q> const& binormal, + vec<3, T, Q> const& normal + ) + { + return dot(cross(normal, tangent), binormal) > T(0); + } + + template + GLM_FUNC_QUALIFIER bool leftHanded + ( + vec<3, T, Q> const& tangent, + vec<3, T, Q> const& binormal, + vec<3, T, Q> const& normal + ) + { + return dot(cross(normal, tangent), binormal) < T(0); + } +}//namespace glm diff --git a/MacroLibX/third_party/glm/gtx/hash.hpp b/MacroLibX/third_party/glm/gtx/hash.hpp new file mode 100644 index 0000000..05dae9f --- /dev/null +++ b/MacroLibX/third_party/glm/gtx/hash.hpp @@ -0,0 +1,142 @@ +/// @ref gtx_hash +/// @file glm/gtx/hash.hpp +/// +/// @see core (dependence) +/// +/// @defgroup gtx_hash GLM_GTX_hash +/// @ingroup gtx +/// +/// Include to use the features of this extension. +/// +/// Add std::hash support for glm types + +#pragma once + +#if GLM_MESSAGES == GLM_ENABLE && !defined(GLM_EXT_INCLUDED) +# ifndef GLM_ENABLE_EXPERIMENTAL +# pragma message("GLM: GLM_GTX_hash is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it.") +# else +# pragma message("GLM: GLM_GTX_hash extension included") +# endif +#endif + +#include + +#include "../vec2.hpp" +#include "../vec3.hpp" +#include "../vec4.hpp" +#include "../gtc/vec1.hpp" + +#include "../gtc/quaternion.hpp" +#include "../gtx/dual_quaternion.hpp" + +#include "../mat2x2.hpp" +#include "../mat2x3.hpp" +#include "../mat2x4.hpp" + +#include "../mat3x2.hpp" +#include "../mat3x3.hpp" +#include "../mat3x4.hpp" + +#include "../mat4x2.hpp" +#include "../mat4x3.hpp" +#include "../mat4x4.hpp" + +#if !GLM_HAS_CXX11_STL +# error "GLM_GTX_hash requires C++11 standard library support" +#endif + +namespace std +{ + template + struct hash > + { + GLM_FUNC_DECL size_t operator()(glm::vec<1, T, Q> const& v) const; + }; + + template + struct hash > + { + GLM_FUNC_DECL size_t operator()(glm::vec<2, T, Q> const& v) const; + }; + + template + struct hash > + { + GLM_FUNC_DECL size_t operator()(glm::vec<3, T, Q> const& v) const; + }; + + template + struct hash > + { + GLM_FUNC_DECL size_t operator()(glm::vec<4, T, Q> const& v) const; + }; + + template + struct hash> + { + GLM_FUNC_DECL size_t operator()(glm::qua const& q) const; + }; + + template + struct hash > + { + GLM_FUNC_DECL size_t operator()(glm::tdualquat const& q) const; + }; + + template + struct hash > + { + GLM_FUNC_DECL size_t operator()(glm::mat<2, 2, T,Q> const& m) const; + }; + + template + struct hash > + { + GLM_FUNC_DECL size_t operator()(glm::mat<2, 3, T,Q> const& m) const; + }; + + template + struct hash > + { + GLM_FUNC_DECL size_t operator()(glm::mat<2, 4, T,Q> const& m) const; + }; + + template + struct hash > + { + GLM_FUNC_DECL size_t operator()(glm::mat<3, 2, T,Q> const& m) const; + }; + + template + struct hash > + { + GLM_FUNC_DECL size_t operator()(glm::mat<3, 3, T,Q> const& m) const; + }; + + template + struct hash > + { + GLM_FUNC_DECL size_t operator()(glm::mat<3, 4, T,Q> const& m) const; + }; + + template + struct hash > + { + GLM_FUNC_DECL size_t operator()(glm::mat<4, 2, T,Q> const& m) const; + }; + + template + struct hash > + { + GLM_FUNC_DECL size_t operator()(glm::mat<4, 3, T,Q> const& m) const; + }; + + template + struct hash > + { + GLM_FUNC_DECL size_t operator()(glm::mat<4, 4, T,Q> const& m) const; + }; +} // namespace std + +#include "hash.inl" diff --git a/MacroLibX/third_party/glm/gtx/hash.inl b/MacroLibX/third_party/glm/gtx/hash.inl new file mode 100644 index 0000000..ff71ca9 --- /dev/null +++ b/MacroLibX/third_party/glm/gtx/hash.inl @@ -0,0 +1,184 @@ +/// @ref gtx_hash +/// +/// @see core (dependence) +/// +/// @defgroup gtx_hash GLM_GTX_hash +/// @ingroup gtx +/// +/// @brief Add std::hash support for glm types +/// +/// need to be included to use the features of this extension. + +namespace glm { +namespace detail +{ + GLM_INLINE void hash_combine(size_t &seed, size_t hash) + { + hash += 0x9e3779b9 + (seed << 6) + (seed >> 2); + seed ^= hash; + } +}} + +namespace std +{ + template + GLM_FUNC_QUALIFIER size_t hash>::operator()(glm::vec<1, T, Q> const& v) const + { + hash hasher; + return hasher(v.x); + } + + template + GLM_FUNC_QUALIFIER size_t hash>::operator()(glm::vec<2, T, Q> const& v) const + { + size_t seed = 0; + hash hasher; + glm::detail::hash_combine(seed, hasher(v.x)); + glm::detail::hash_combine(seed, hasher(v.y)); + return seed; + } + + template + GLM_FUNC_QUALIFIER size_t hash>::operator()(glm::vec<3, T, Q> const& v) const + { + size_t seed = 0; + hash hasher; + glm::detail::hash_combine(seed, hasher(v.x)); + glm::detail::hash_combine(seed, hasher(v.y)); + glm::detail::hash_combine(seed, hasher(v.z)); + return seed; + } + + template + GLM_FUNC_QUALIFIER size_t hash>::operator()(glm::vec<4, T, Q> const& v) const + { + size_t seed = 0; + hash hasher; + glm::detail::hash_combine(seed, hasher(v.x)); + glm::detail::hash_combine(seed, hasher(v.y)); + glm::detail::hash_combine(seed, hasher(v.z)); + glm::detail::hash_combine(seed, hasher(v.w)); + return seed; + } + + template + GLM_FUNC_QUALIFIER size_t hash>::operator()(glm::qua const& q) const + { + size_t seed = 0; + hash hasher; + glm::detail::hash_combine(seed, hasher(q.x)); + glm::detail::hash_combine(seed, hasher(q.y)); + glm::detail::hash_combine(seed, hasher(q.z)); + glm::detail::hash_combine(seed, hasher(q.w)); + return seed; + } + + template + GLM_FUNC_QUALIFIER size_t hash>::operator()(glm::tdualquat const& q) const + { + size_t seed = 0; + hash> hasher; + glm::detail::hash_combine(seed, hasher(q.real)); + glm::detail::hash_combine(seed, hasher(q.dual)); + return seed; + } + + template + GLM_FUNC_QUALIFIER size_t hash>::operator()(glm::mat<2, 2, T, Q> const& m) const + { + size_t seed = 0; + hash> hasher; + glm::detail::hash_combine(seed, hasher(m[0])); + glm::detail::hash_combine(seed, hasher(m[1])); + return seed; + } + + template + GLM_FUNC_QUALIFIER size_t hash>::operator()(glm::mat<2, 3, T, Q> const& m) const + { + size_t seed = 0; + hash> hasher; + glm::detail::hash_combine(seed, hasher(m[0])); + glm::detail::hash_combine(seed, hasher(m[1])); + return seed; + } + + template + GLM_FUNC_QUALIFIER size_t hash>::operator()(glm::mat<2, 4, T, Q> const& m) const + { + size_t seed = 0; + hash> hasher; + glm::detail::hash_combine(seed, hasher(m[0])); + glm::detail::hash_combine(seed, hasher(m[1])); + return seed; + } + + template + GLM_FUNC_QUALIFIER size_t hash>::operator()(glm::mat<3, 2, T, Q> const& m) const + { + size_t seed = 0; + hash> hasher; + glm::detail::hash_combine(seed, hasher(m[0])); + glm::detail::hash_combine(seed, hasher(m[1])); + glm::detail::hash_combine(seed, hasher(m[2])); + return seed; + } + + template + GLM_FUNC_QUALIFIER size_t hash>::operator()(glm::mat<3, 3, T, Q> const& m) const + { + size_t seed = 0; + hash> hasher; + glm::detail::hash_combine(seed, hasher(m[0])); + glm::detail::hash_combine(seed, hasher(m[1])); + glm::detail::hash_combine(seed, hasher(m[2])); + return seed; + } + + template + GLM_FUNC_QUALIFIER size_t hash>::operator()(glm::mat<3, 4, T, Q> const& m) const + { + size_t seed = 0; + hash> hasher; + glm::detail::hash_combine(seed, hasher(m[0])); + glm::detail::hash_combine(seed, hasher(m[1])); + glm::detail::hash_combine(seed, hasher(m[2])); + return seed; + } + + template + GLM_FUNC_QUALIFIER size_t hash>::operator()(glm::mat<4, 2, T,Q> const& m) const + { + size_t seed = 0; + hash> hasher; + glm::detail::hash_combine(seed, hasher(m[0])); + glm::detail::hash_combine(seed, hasher(m[1])); + glm::detail::hash_combine(seed, hasher(m[2])); + glm::detail::hash_combine(seed, hasher(m[3])); + return seed; + } + + template + GLM_FUNC_QUALIFIER size_t hash>::operator()(glm::mat<4, 3, T,Q> const& m) const + { + size_t seed = 0; + hash> hasher; + glm::detail::hash_combine(seed, hasher(m[0])); + glm::detail::hash_combine(seed, hasher(m[1])); + glm::detail::hash_combine(seed, hasher(m[2])); + glm::detail::hash_combine(seed, hasher(m[3])); + return seed; + } + + template + GLM_FUNC_QUALIFIER size_t hash>::operator()(glm::mat<4, 4, T, Q> const& m) const + { + size_t seed = 0; + hash> hasher; + glm::detail::hash_combine(seed, hasher(m[0])); + glm::detail::hash_combine(seed, hasher(m[1])); + glm::detail::hash_combine(seed, hasher(m[2])); + glm::detail::hash_combine(seed, hasher(m[3])); + return seed; + } +} diff --git a/MacroLibX/third_party/glm/gtx/integer.hpp b/MacroLibX/third_party/glm/gtx/integer.hpp new file mode 100644 index 0000000..d0b4c61 --- /dev/null +++ b/MacroLibX/third_party/glm/gtx/integer.hpp @@ -0,0 +1,76 @@ +/// @ref gtx_integer +/// @file glm/gtx/integer.hpp +/// +/// @see core (dependence) +/// +/// @defgroup gtx_integer GLM_GTX_integer +/// @ingroup gtx +/// +/// Include to use the features of this extension. +/// +/// Add support for integer for core functions + +#pragma once + +// Dependency: +#include "../glm.hpp" +#include "../gtc/integer.hpp" + +#if GLM_MESSAGES == GLM_ENABLE && !defined(GLM_EXT_INCLUDED) +# ifndef GLM_ENABLE_EXPERIMENTAL +# pragma message("GLM: GLM_GTX_integer is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it.") +# else +# pragma message("GLM: GLM_GTX_integer extension included") +# endif +#endif + +namespace glm +{ + /// @addtogroup gtx_integer + /// @{ + + //! Returns x raised to the y power. + //! From GLM_GTX_integer extension. + GLM_FUNC_DECL int pow(int x, uint y); + + //! Returns the positive square root of x. + //! From GLM_GTX_integer extension. + GLM_FUNC_DECL int sqrt(int x); + + //! Returns the floor log2 of x. + //! From GLM_GTX_integer extension. + GLM_FUNC_DECL unsigned int floor_log2(unsigned int x); + + //! Modulus. Returns x - y * floor(x / y) for each component in x using the floating point value y. + //! From GLM_GTX_integer extension. + GLM_FUNC_DECL int mod(int x, int y); + + //! Return the factorial value of a number (!12 max, integer only) + //! From GLM_GTX_integer extension. + template + GLM_FUNC_DECL genType factorial(genType const& x); + + //! 32bit signed integer. + //! From GLM_GTX_integer extension. + typedef signed int sint; + + //! Returns x raised to the y power. + //! From GLM_GTX_integer extension. + GLM_FUNC_DECL uint pow(uint x, uint y); + + //! Returns the positive square root of x. + //! From GLM_GTX_integer extension. + GLM_FUNC_DECL uint sqrt(uint x); + + //! Modulus. Returns x - y * floor(x / y) for each component in x using the floating point value y. + //! From GLM_GTX_integer extension. + GLM_FUNC_DECL uint mod(uint x, uint y); + + //! Returns the number of leading zeros. + //! From GLM_GTX_integer extension. + GLM_FUNC_DECL uint nlz(uint x); + + /// @} +}//namespace glm + +#include "integer.inl" diff --git a/MacroLibX/third_party/glm/gtx/integer.inl b/MacroLibX/third_party/glm/gtx/integer.inl new file mode 100644 index 0000000..956366b --- /dev/null +++ b/MacroLibX/third_party/glm/gtx/integer.inl @@ -0,0 +1,185 @@ +/// @ref gtx_integer + +namespace glm +{ + // pow + GLM_FUNC_QUALIFIER int pow(int x, uint y) + { + if(y == 0) + return x >= 0 ? 1 : -1; + + int result = x; + for(uint i = 1; i < y; ++i) + result *= x; + return result; + } + + // sqrt: From Christopher J. Musial, An integer square root, Graphics Gems, 1990, page 387 + GLM_FUNC_QUALIFIER int sqrt(int x) + { + if(x <= 1) return x; + + int NextTrial = x >> 1; + int CurrentAnswer; + + do + { + CurrentAnswer = NextTrial; + NextTrial = (NextTrial + x / NextTrial) >> 1; + } while(NextTrial < CurrentAnswer); + + return CurrentAnswer; + } + +// Henry Gordon Dietz: http://aggregate.org/MAGIC/ +namespace detail +{ + GLM_FUNC_QUALIFIER unsigned int ones32(unsigned int x) + { + /* 32-bit recursive reduction using SWAR... + but first step is mapping 2-bit values + into sum of 2 1-bit values in sneaky way + */ + x -= ((x >> 1) & 0x55555555); + x = (((x >> 2) & 0x33333333) + (x & 0x33333333)); + x = (((x >> 4) + x) & 0x0f0f0f0f); + x += (x >> 8); + x += (x >> 16); + return(x & 0x0000003f); + } +}//namespace detail + + // Henry Gordon Dietz: http://aggregate.org/MAGIC/ +/* + GLM_FUNC_QUALIFIER unsigned int floor_log2(unsigned int x) + { + x |= (x >> 1); + x |= (x >> 2); + x |= (x >> 4); + x |= (x >> 8); + x |= (x >> 16); + + return _detail::ones32(x) >> 1; + } +*/ + // mod + GLM_FUNC_QUALIFIER int mod(int x, int y) + { + return ((x % y) + y) % y; + } + + // factorial (!12 max, integer only) + template + GLM_FUNC_QUALIFIER genType factorial(genType const& x) + { + genType Temp = x; + genType Result; + for(Result = 1; Temp > 1; --Temp) + Result *= Temp; + return Result; + } + + template + GLM_FUNC_QUALIFIER vec<2, T, Q> factorial( + vec<2, T, Q> const& x) + { + return vec<2, T, Q>( + factorial(x.x), + factorial(x.y)); + } + + template + GLM_FUNC_QUALIFIER vec<3, T, Q> factorial( + vec<3, T, Q> const& x) + { + return vec<3, T, Q>( + factorial(x.x), + factorial(x.y), + factorial(x.z)); + } + + template + GLM_FUNC_QUALIFIER vec<4, T, Q> factorial( + vec<4, T, Q> const& x) + { + return vec<4, T, Q>( + factorial(x.x), + factorial(x.y), + factorial(x.z), + factorial(x.w)); + } + + GLM_FUNC_QUALIFIER uint pow(uint x, uint y) + { + if (y == 0) + return 1u; + + uint result = x; + for(uint i = 1; i < y; ++i) + result *= x; + return result; + } + + GLM_FUNC_QUALIFIER uint sqrt(uint x) + { + if(x <= 1) return x; + + uint NextTrial = x >> 1; + uint CurrentAnswer; + + do + { + CurrentAnswer = NextTrial; + NextTrial = (NextTrial + x / NextTrial) >> 1; + } while(NextTrial < CurrentAnswer); + + return CurrentAnswer; + } + + GLM_FUNC_QUALIFIER uint mod(uint x, uint y) + { + return x - y * (x / y); + } + +#if(GLM_COMPILER & (GLM_COMPILER_VC | GLM_COMPILER_GCC)) + + GLM_FUNC_QUALIFIER unsigned int nlz(unsigned int x) + { + return 31u - findMSB(x); + } + +#else + + // Hackers Delight: http://www.hackersdelight.org/HDcode/nlz.c.txt + GLM_FUNC_QUALIFIER unsigned int nlz(unsigned int x) + { + int y, m, n; + + y = -int(x >> 16); // If left half of x is 0, + m = (y >> 16) & 16; // set n = 16. If left half + n = 16 - m; // is nonzero, set n = 0 and + x = x >> m; // shift x right 16. + // Now x is of the form 0000xxxx. + y = x - 0x100; // If positions 8-15 are 0, + m = (y >> 16) & 8; // add 8 to n and shift x left 8. + n = n + m; + x = x << m; + + y = x - 0x1000; // If positions 12-15 are 0, + m = (y >> 16) & 4; // add 4 to n and shift x left 4. + n = n + m; + x = x << m; + + y = x - 0x4000; // If positions 14-15 are 0, + m = (y >> 16) & 2; // add 2 to n and shift x left 2. + n = n + m; + x = x << m; + + y = x >> 14; // Set y = 0, 1, 2, or 3. + m = y & ~(y >> 1); // Set m = 0, 1, 2, or 2 resp. + return unsigned(n + 2 - m); + } + +#endif//(GLM_COMPILER) + +}//namespace glm diff --git a/MacroLibX/third_party/glm/gtx/intersect.hpp b/MacroLibX/third_party/glm/gtx/intersect.hpp new file mode 100644 index 0000000..3c78f2b --- /dev/null +++ b/MacroLibX/third_party/glm/gtx/intersect.hpp @@ -0,0 +1,92 @@ +/// @ref gtx_intersect +/// @file glm/gtx/intersect.hpp +/// +/// @see core (dependence) +/// @see gtx_closest_point (dependence) +/// +/// @defgroup gtx_intersect GLM_GTX_intersect +/// @ingroup gtx +/// +/// Include to use the features of this extension. +/// +/// Add intersection functions + +#pragma once + +// Dependency: +#include +#include +#include "../glm.hpp" +#include "../geometric.hpp" +#include "../gtx/closest_point.hpp" +#include "../gtx/vector_query.hpp" + +#if GLM_MESSAGES == GLM_ENABLE && !defined(GLM_EXT_INCLUDED) +# ifndef GLM_ENABLE_EXPERIMENTAL +# pragma message("GLM: GLM_GTX_closest_point is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it.") +# else +# pragma message("GLM: GLM_GTX_closest_point extension included") +# endif +#endif + +namespace glm +{ + /// @addtogroup gtx_intersect + /// @{ + + //! Compute the intersection of a ray and a plane. + //! Ray direction and plane normal must be unit length. + //! From GLM_GTX_intersect extension. + template + GLM_FUNC_DECL bool intersectRayPlane( + genType const& orig, genType const& dir, + genType const& planeOrig, genType const& planeNormal, + typename genType::value_type & intersectionDistance); + + //! Compute the intersection of a ray and a triangle. + /// Based om Tomas MÃļller implementation http://fileadmin.cs.lth.se/cs/Personal/Tomas_Akenine-Moller/raytri/ + //! From GLM_GTX_intersect extension. + template + GLM_FUNC_DECL bool intersectRayTriangle( + vec<3, T, Q> const& orig, vec<3, T, Q> const& dir, + vec<3, T, Q> const& v0, vec<3, T, Q> const& v1, vec<3, T, Q> const& v2, + vec<2, T, Q>& baryPosition, T& distance); + + //! Compute the intersection of a line and a triangle. + //! From GLM_GTX_intersect extension. + template + GLM_FUNC_DECL bool intersectLineTriangle( + genType const& orig, genType const& dir, + genType const& vert0, genType const& vert1, genType const& vert2, + genType & position); + + //! Compute the intersection distance of a ray and a sphere. + //! The ray direction vector is unit length. + //! From GLM_GTX_intersect extension. + template + GLM_FUNC_DECL bool intersectRaySphere( + genType const& rayStarting, genType const& rayNormalizedDirection, + genType const& sphereCenter, typename genType::value_type const sphereRadiusSquered, + typename genType::value_type & intersectionDistance); + + //! Compute the intersection of a ray and a sphere. + //! From GLM_GTX_intersect extension. + template + GLM_FUNC_DECL bool intersectRaySphere( + genType const& rayStarting, genType const& rayNormalizedDirection, + genType const& sphereCenter, const typename genType::value_type sphereRadius, + genType & intersectionPosition, genType & intersectionNormal); + + //! Compute the intersection of a line and a sphere. + //! From GLM_GTX_intersect extension + template + GLM_FUNC_DECL bool intersectLineSphere( + genType const& point0, genType const& point1, + genType const& sphereCenter, typename genType::value_type sphereRadius, + genType & intersectionPosition1, genType & intersectionNormal1, + genType & intersectionPosition2 = genType(), genType & intersectionNormal2 = genType()); + + /// @} +}//namespace glm + +#include "intersect.inl" diff --git a/MacroLibX/third_party/glm/gtx/intersect.inl b/MacroLibX/third_party/glm/gtx/intersect.inl new file mode 100644 index 0000000..54ecb4d --- /dev/null +++ b/MacroLibX/third_party/glm/gtx/intersect.inl @@ -0,0 +1,200 @@ +/// @ref gtx_intersect + +namespace glm +{ + template + GLM_FUNC_QUALIFIER bool intersectRayPlane + ( + genType const& orig, genType const& dir, + genType const& planeOrig, genType const& planeNormal, + typename genType::value_type & intersectionDistance + ) + { + typename genType::value_type d = glm::dot(dir, planeNormal); + typename genType::value_type Epsilon = std::numeric_limits::epsilon(); + + if(glm::abs(d) > Epsilon) // if dir and planeNormal are not perpendicular + { + typename genType::value_type const tmp_intersectionDistance = glm::dot(planeOrig - orig, planeNormal) / d; + if (tmp_intersectionDistance > static_cast(0)) { // allow only intersections + intersectionDistance = tmp_intersectionDistance; + return true; + } + } + + return false; + } + + template + GLM_FUNC_QUALIFIER bool intersectRayTriangle + ( + vec<3, T, Q> const& orig, vec<3, T, Q> const& dir, + vec<3, T, Q> const& vert0, vec<3, T, Q> const& vert1, vec<3, T, Q> const& vert2, + vec<2, T, Q>& baryPosition, T& distance + ) + { + // find vectors for two edges sharing vert0 + vec<3, T, Q> const edge1 = vert1 - vert0; + vec<3, T, Q> const edge2 = vert2 - vert0; + + // begin calculating determinant - also used to calculate U parameter + vec<3, T, Q> const p = glm::cross(dir, edge2); + + // if determinant is near zero, ray lies in plane of triangle + T const det = glm::dot(edge1, p); + + vec<3, T, Q> Perpendicular(0); + + if(det > std::numeric_limits::epsilon()) + { + // calculate distance from vert0 to ray origin + vec<3, T, Q> const dist = orig - vert0; + + // calculate U parameter and test bounds + baryPosition.x = glm::dot(dist, p); + if(baryPosition.x < static_cast(0) || baryPosition.x > det) + return false; + + // prepare to test V parameter + Perpendicular = glm::cross(dist, edge1); + + // calculate V parameter and test bounds + baryPosition.y = glm::dot(dir, Perpendicular); + if((baryPosition.y < static_cast(0)) || ((baryPosition.x + baryPosition.y) > det)) + return false; + } + else if(det < -std::numeric_limits::epsilon()) + { + // calculate distance from vert0 to ray origin + vec<3, T, Q> const dist = orig - vert0; + + // calculate U parameter and test bounds + baryPosition.x = glm::dot(dist, p); + if((baryPosition.x > static_cast(0)) || (baryPosition.x < det)) + return false; + + // prepare to test V parameter + Perpendicular = glm::cross(dist, edge1); + + // calculate V parameter and test bounds + baryPosition.y = glm::dot(dir, Perpendicular); + if((baryPosition.y > static_cast(0)) || (baryPosition.x + baryPosition.y < det)) + return false; + } + else + return false; // ray is parallel to the plane of the triangle + + T inv_det = static_cast(1) / det; + + // calculate distance, ray intersects triangle + distance = glm::dot(edge2, Perpendicular) * inv_det; + baryPosition *= inv_det; + + return true; + } + + template + GLM_FUNC_QUALIFIER bool intersectLineTriangle + ( + genType const& orig, genType const& dir, + genType const& vert0, genType const& vert1, genType const& vert2, + genType & position + ) + { + typename genType::value_type Epsilon = std::numeric_limits::epsilon(); + + genType edge1 = vert1 - vert0; + genType edge2 = vert2 - vert0; + + genType Perpendicular = cross(dir, edge2); + + float det = dot(edge1, Perpendicular); + + if (det > -Epsilon && det < Epsilon) + return false; + typename genType::value_type inv_det = typename genType::value_type(1) / det; + + genType Tengant = orig - vert0; + + position.y = dot(Tengant, Perpendicular) * inv_det; + if (position.y < typename genType::value_type(0) || position.y > typename genType::value_type(1)) + return false; + + genType Cotengant = cross(Tengant, edge1); + + position.z = dot(dir, Cotengant) * inv_det; + if (position.z < typename genType::value_type(0) || position.y + position.z > typename genType::value_type(1)) + return false; + + position.x = dot(edge2, Cotengant) * inv_det; + + return true; + } + + template + GLM_FUNC_QUALIFIER bool intersectRaySphere + ( + genType const& rayStarting, genType const& rayNormalizedDirection, + genType const& sphereCenter, const typename genType::value_type sphereRadiusSquered, + typename genType::value_type & intersectionDistance + ) + { + typename genType::value_type Epsilon = std::numeric_limits::epsilon(); + genType diff = sphereCenter - rayStarting; + typename genType::value_type t0 = dot(diff, rayNormalizedDirection); + typename genType::value_type dSquared = dot(diff, diff) - t0 * t0; + if( dSquared > sphereRadiusSquered ) + { + return false; + } + typename genType::value_type t1 = sqrt( sphereRadiusSquered - dSquared ); + intersectionDistance = t0 > t1 + Epsilon ? t0 - t1 : t0 + t1; + return intersectionDistance > Epsilon; + } + + template + GLM_FUNC_QUALIFIER bool intersectRaySphere + ( + genType const& rayStarting, genType const& rayNormalizedDirection, + genType const& sphereCenter, const typename genType::value_type sphereRadius, + genType & intersectionPosition, genType & intersectionNormal + ) + { + typename genType::value_type distance; + if( intersectRaySphere( rayStarting, rayNormalizedDirection, sphereCenter, sphereRadius * sphereRadius, distance ) ) + { + intersectionPosition = rayStarting + rayNormalizedDirection * distance; + intersectionNormal = (intersectionPosition - sphereCenter) / sphereRadius; + return true; + } + return false; + } + + template + GLM_FUNC_QUALIFIER bool intersectLineSphere + ( + genType const& point0, genType const& point1, + genType const& sphereCenter, typename genType::value_type sphereRadius, + genType & intersectionPoint1, genType & intersectionNormal1, + genType & intersectionPoint2, genType & intersectionNormal2 + ) + { + typename genType::value_type Epsilon = std::numeric_limits::epsilon(); + genType dir = normalize(point1 - point0); + genType diff = sphereCenter - point0; + typename genType::value_type t0 = dot(diff, dir); + typename genType::value_type dSquared = dot(diff, diff) - t0 * t0; + if( dSquared > sphereRadius * sphereRadius ) + { + return false; + } + typename genType::value_type t1 = sqrt( sphereRadius * sphereRadius - dSquared ); + if( t0 < t1 + Epsilon ) + t1 = -t1; + intersectionPoint1 = point0 + dir * (t0 - t1); + intersectionNormal1 = (intersectionPoint1 - sphereCenter) / sphereRadius; + intersectionPoint2 = point0 + dir * (t0 + t1); + intersectionNormal2 = (intersectionPoint2 - sphereCenter) / sphereRadius; + return true; + } +}//namespace glm diff --git a/MacroLibX/third_party/glm/gtx/io.hpp b/MacroLibX/third_party/glm/gtx/io.hpp new file mode 100644 index 0000000..8d974f0 --- /dev/null +++ b/MacroLibX/third_party/glm/gtx/io.hpp @@ -0,0 +1,201 @@ +/// @ref gtx_io +/// @file glm/gtx/io.hpp +/// @author Jan P Springer (regnirpsj@gmail.com) +/// +/// @see core (dependence) +/// @see gtc_matrix_access (dependence) +/// @see gtc_quaternion (dependence) +/// +/// @defgroup gtx_io GLM_GTX_io +/// @ingroup gtx +/// +/// Include to use the features of this extension. +/// +/// std::[w]ostream support for glm types +/// +/// std::[w]ostream support for glm types + qualifier/width/etc. manipulators +/// based on howard hinnant's std::chrono io proposal +/// [http://home.roadrunner.com/~hinnant/bloomington/chrono_io.html] + +#pragma once + +// Dependency: +#include "../glm.hpp" +#include "../gtx/quaternion.hpp" + +#if GLM_MESSAGES == GLM_ENABLE && !defined(GLM_EXT_INCLUDED) +# ifndef GLM_ENABLE_EXPERIMENTAL +# pragma message("GLM: GLM_GTX_io is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it.") +# else +# pragma message("GLM: GLM_GTX_io extension included") +# endif +#endif + +#include // std::basic_ostream<> (fwd) +#include // std::locale, std::locale::facet, std::locale::id +#include // std::pair<> + +namespace glm +{ + /// @addtogroup gtx_io + /// @{ + + namespace io + { + enum order_type { column_major, row_major}; + + template + class format_punct : public std::locale::facet + { + typedef CTy char_type; + + public: + + static std::locale::id id; + + bool formatted; + unsigned precision; + unsigned width; + char_type separator; + char_type delim_left; + char_type delim_right; + char_type space; + char_type newline; + order_type order; + + GLM_FUNC_DECL explicit format_punct(size_t a = 0); + GLM_FUNC_DECL explicit format_punct(format_punct const&); + }; + + template > + class basic_state_saver { + + public: + + GLM_FUNC_DECL explicit basic_state_saver(std::basic_ios&); + GLM_FUNC_DECL ~basic_state_saver(); + + private: + + typedef ::std::basic_ios state_type; + typedef typename state_type::char_type char_type; + typedef ::std::ios_base::fmtflags flags_type; + typedef ::std::streamsize streamsize_type; + typedef ::std::locale const locale_type; + + state_type& state_; + flags_type flags_; + streamsize_type precision_; + streamsize_type width_; + char_type fill_; + locale_type locale_; + + GLM_FUNC_DECL basic_state_saver& operator=(basic_state_saver const&); + }; + + typedef basic_state_saver state_saver; + typedef basic_state_saver wstate_saver; + + template > + class basic_format_saver + { + public: + + GLM_FUNC_DECL explicit basic_format_saver(std::basic_ios&); + GLM_FUNC_DECL ~basic_format_saver(); + + private: + + basic_state_saver const bss_; + + GLM_FUNC_DECL basic_format_saver& operator=(basic_format_saver const&); + }; + + typedef basic_format_saver format_saver; + typedef basic_format_saver wformat_saver; + + struct precision + { + unsigned value; + + GLM_FUNC_DECL explicit precision(unsigned); + }; + + struct width + { + unsigned value; + + GLM_FUNC_DECL explicit width(unsigned); + }; + + template + struct delimeter + { + CTy value[3]; + + GLM_FUNC_DECL explicit delimeter(CTy /* left */, CTy /* right */, CTy /* separator */ = ','); + }; + + struct order + { + order_type value; + + GLM_FUNC_DECL explicit order(order_type); + }; + + // functions, inlined (inline) + + template + FTy const& get_facet(std::basic_ios&); + template + std::basic_ios& formatted(std::basic_ios&); + template + std::basic_ios& unformattet(std::basic_ios&); + + template + std::basic_ostream& operator<<(std::basic_ostream&, precision const&); + template + std::basic_ostream& operator<<(std::basic_ostream&, width const&); + template + std::basic_ostream& operator<<(std::basic_ostream&, delimeter const&); + template + std::basic_ostream& operator<<(std::basic_ostream&, order const&); + }//namespace io + + template + GLM_FUNC_DECL std::basic_ostream& operator<<(std::basic_ostream&, qua const&); + template + GLM_FUNC_DECL std::basic_ostream& operator<<(std::basic_ostream&, vec<1, T, Q> const&); + template + GLM_FUNC_DECL std::basic_ostream& operator<<(std::basic_ostream&, vec<2, T, Q> const&); + template + GLM_FUNC_DECL std::basic_ostream& operator<<(std::basic_ostream&, vec<3, T, Q> const&); + template + GLM_FUNC_DECL std::basic_ostream& operator<<(std::basic_ostream&, vec<4, T, Q> const&); + template + GLM_FUNC_DECL std::basic_ostream& operator<<(std::basic_ostream&, mat<2, 2, T, Q> const&); + template + GLM_FUNC_DECL std::basic_ostream& operator<<(std::basic_ostream&, mat<2, 3, T, Q> const&); + template + GLM_FUNC_DECL std::basic_ostream& operator<<(std::basic_ostream&, mat<2, 4, T, Q> const&); + template + GLM_FUNC_DECL std::basic_ostream& operator<<(std::basic_ostream&, mat<3, 2, T, Q> const&); + template + GLM_FUNC_DECL std::basic_ostream& operator<<(std::basic_ostream&, mat<3, 3, T, Q> const&); + template + GLM_FUNC_DECL std::basic_ostream& operator<<(std::basic_ostream&, mat<3, 4, T, Q> const&); + template + GLM_FUNC_DECL std::basic_ostream& operator<<(std::basic_ostream&, mat<4, 2, T, Q> const&); + template + GLM_FUNC_DECL std::basic_ostream& operator<<(std::basic_ostream&, mat<4, 3, T, Q> const&); + template + GLM_FUNC_DECL std::basic_ostream& operator<<(std::basic_ostream&, mat<4, 4, T, Q> const&); + + template + GLM_FUNC_DECL std::basic_ostream & operator<<(std::basic_ostream &, + std::pair const, mat<4, 4, T, Q> const> const&); + + /// @} +}//namespace glm + +#include "io.inl" diff --git a/MacroLibX/third_party/glm/gtx/io.inl b/MacroLibX/third_party/glm/gtx/io.inl new file mode 100644 index 0000000..a3a1bb6 --- /dev/null +++ b/MacroLibX/third_party/glm/gtx/io.inl @@ -0,0 +1,440 @@ +/// @ref gtx_io +/// @author Jan P Springer (regnirpsj@gmail.com) + +#include // std::fixed, std::setfill<>, std::setprecision, std::right, std::setw +#include // std::basic_ostream<> +#include "../gtc/matrix_access.hpp" // glm::col, glm::row +#include "../gtx/type_trait.hpp" // glm::type<> + +namespace glm{ +namespace io +{ + template + GLM_FUNC_QUALIFIER format_punct::format_punct(size_t a) + : std::locale::facet(a) + , formatted(true) + , precision(3) + , width(1 + 4 + 1 + precision) + , separator(',') + , delim_left('[') + , delim_right(']') + , space(' ') + , newline('\n') + , order(column_major) + {} + + template + GLM_FUNC_QUALIFIER format_punct::format_punct(format_punct const& a) + : std::locale::facet(0) + , formatted(a.formatted) + , precision(a.precision) + , width(a.width) + , separator(a.separator) + , delim_left(a.delim_left) + , delim_right(a.delim_right) + , space(a.space) + , newline(a.newline) + , order(a.order) + {} + + template std::locale::id format_punct::id; + + template + GLM_FUNC_QUALIFIER basic_state_saver::basic_state_saver(std::basic_ios& a) + : state_(a) + , flags_(a.flags()) + , precision_(a.precision()) + , width_(a.width()) + , fill_(a.fill()) + , locale_(a.getloc()) + {} + + template + GLM_FUNC_QUALIFIER basic_state_saver::~basic_state_saver() + { + state_.imbue(locale_); + state_.fill(fill_); + state_.width(width_); + state_.precision(precision_); + state_.flags(flags_); + } + + template + GLM_FUNC_QUALIFIER basic_format_saver::basic_format_saver(std::basic_ios& a) + : bss_(a) + { + a.imbue(std::locale(a.getloc(), new format_punct(get_facet >(a)))); + } + + template + GLM_FUNC_QUALIFIER + basic_format_saver::~basic_format_saver() + {} + + GLM_FUNC_QUALIFIER precision::precision(unsigned a) + : value(a) + {} + + GLM_FUNC_QUALIFIER width::width(unsigned a) + : value(a) + {} + + template + GLM_FUNC_QUALIFIER delimeter::delimeter(CTy a, CTy b, CTy c) + : value() + { + value[0] = a; + value[1] = b; + value[2] = c; + } + + GLM_FUNC_QUALIFIER order::order(order_type a) + : value(a) + {} + + template + GLM_FUNC_QUALIFIER FTy const& get_facet(std::basic_ios& ios) + { + if(!std::has_facet(ios.getloc())) + ios.imbue(std::locale(ios.getloc(), new FTy)); + + return std::use_facet(ios.getloc()); + } + + template + GLM_FUNC_QUALIFIER std::basic_ios& formatted(std::basic_ios& ios) + { + const_cast&>(get_facet >(ios)).formatted = true; + return ios; + } + + template + GLM_FUNC_QUALIFIER std::basic_ios& unformatted(std::basic_ios& ios) + { + const_cast&>(get_facet >(ios)).formatted = false; + return ios; + } + + template + GLM_FUNC_QUALIFIER std::basic_ostream& operator<<(std::basic_ostream& os, precision const& a) + { + const_cast&>(get_facet >(os)).precision = a.value; + return os; + } + + template + GLM_FUNC_QUALIFIER std::basic_ostream& operator<<(std::basic_ostream& os, width const& a) + { + const_cast&>(get_facet >(os)).width = a.value; + return os; + } + + template + GLM_FUNC_QUALIFIER std::basic_ostream& operator<<(std::basic_ostream& os, delimeter const& a) + { + format_punct & fmt(const_cast&>(get_facet >(os))); + + fmt.delim_left = a.value[0]; + fmt.delim_right = a.value[1]; + fmt.separator = a.value[2]; + + return os; + } + + template + GLM_FUNC_QUALIFIER std::basic_ostream& operator<<(std::basic_ostream& os, order const& a) + { + const_cast&>(get_facet >(os)).order = a.value; + return os; + } +} // namespace io + +namespace detail +{ + template + GLM_FUNC_QUALIFIER std::basic_ostream& + print_vector_on(std::basic_ostream& os, V const& a) + { + typename std::basic_ostream::sentry const cerberus(os); + + if(cerberus) + { + io::format_punct const& fmt(io::get_facet >(os)); + + length_t const& components(type::components); + + if(fmt.formatted) + { + io::basic_state_saver const bss(os); + + os << std::fixed << std::right << std::setprecision(fmt.precision) << std::setfill(fmt.space) << fmt.delim_left; + + for(length_t i(0); i < components; ++i) + { + os << std::setw(fmt.width) << a[i]; + if(components-1 != i) + os << fmt.separator; + } + + os << fmt.delim_right; + } + else + { + for(length_t i(0); i < components; ++i) + { + os << a[i]; + + if(components-1 != i) + os << fmt.space; + } + } + } + + return os; + } +}//namespace detail + + template + GLM_FUNC_QUALIFIER std::basic_ostream& operator<<(std::basic_ostream& os, qua const& a) + { + return detail::print_vector_on(os, a); + } + + template + GLM_FUNC_QUALIFIER std::basic_ostream& operator<<(std::basic_ostream& os, vec<1, T, Q> const& a) + { + return detail::print_vector_on(os, a); + } + + template + GLM_FUNC_QUALIFIER std::basic_ostream& operator<<(std::basic_ostream& os, vec<2, T, Q> const& a) + { + return detail::print_vector_on(os, a); + } + + template + GLM_FUNC_QUALIFIER std::basic_ostream& operator<<(std::basic_ostream& os, vec<3, T, Q> const& a) + { + return detail::print_vector_on(os, a); + } + + template + GLM_FUNC_QUALIFIER std::basic_ostream& operator<<(std::basic_ostream& os, vec<4, T, Q> const& a) + { + return detail::print_vector_on(os, a); + } + +namespace detail +{ + template class M, length_t C, length_t R, typename T, qualifier Q> + GLM_FUNC_QUALIFIER std::basic_ostream& print_matrix_on(std::basic_ostream& os, M const& a) + { + typename std::basic_ostream::sentry const cerberus(os); + + if(cerberus) + { + io::format_punct const& fmt(io::get_facet >(os)); + + length_t const& cols(type >::cols); + length_t const& rows(type >::rows); + + if(fmt.formatted) + { + os << fmt.newline << fmt.delim_left; + + switch(fmt.order) + { + case io::column_major: + { + for(length_t i(0); i < rows; ++i) + { + if (0 != i) + os << fmt.space; + + os << row(a, i); + + if(rows-1 != i) + os << fmt.newline; + } + } + break; + + case io::row_major: + { + for(length_t i(0); i < cols; ++i) + { + if(0 != i) + os << fmt.space; + + os << column(a, i); + + if(cols-1 != i) + os << fmt.newline; + } + } + break; + } + + os << fmt.delim_right; + } + else + { + switch (fmt.order) + { + case io::column_major: + { + for(length_t i(0); i < cols; ++i) + { + os << column(a, i); + + if(cols - 1 != i) + os << fmt.space; + } + } + break; + + case io::row_major: + { + for (length_t i(0); i < rows; ++i) + { + os << row(a, i); + + if (rows-1 != i) + os << fmt.space; + } + } + break; + } + } + } + + return os; + } +}//namespace detail + + template + GLM_FUNC_QUALIFIER std::basic_ostream& operator<<(std::basic_ostream& os, mat<2, 2, T, Q> const& a) + { + return detail::print_matrix_on(os, a); + } + + template + GLM_FUNC_QUALIFIER std::basic_ostream& operator<<(std::basic_ostream& os, mat<2, 3, T, Q> const& a) + { + return detail::print_matrix_on(os, a); + } + + template + GLM_FUNC_QUALIFIER std::basic_ostream& operator<<(std::basic_ostream& os, mat<2, 4, T, Q> const& a) + { + return detail::print_matrix_on(os, a); + } + + template + GLM_FUNC_QUALIFIER std::basic_ostream& operator<<(std::basic_ostream& os, mat<3, 2, T, Q> const& a) + { + return detail::print_matrix_on(os, a); + } + + template + GLM_FUNC_QUALIFIER std::basic_ostream& operator<<(std::basic_ostream& os, mat<3, 3, T, Q> const& a) + { + return detail::print_matrix_on(os, a); + } + + template + GLM_FUNC_QUALIFIER std::basic_ostream & operator<<(std::basic_ostream& os, mat<3, 4, T, Q> const& a) + { + return detail::print_matrix_on(os, a); + } + + template + GLM_FUNC_QUALIFIER std::basic_ostream & operator<<(std::basic_ostream& os, mat<4, 2, T, Q> const& a) + { + return detail::print_matrix_on(os, a); + } + + template + GLM_FUNC_QUALIFIER std::basic_ostream & operator<<(std::basic_ostream& os, mat<4, 3, T, Q> const& a) + { + return detail::print_matrix_on(os, a); + } + + template + GLM_FUNC_QUALIFIER std::basic_ostream & operator<<(std::basic_ostream& os, mat<4, 4, T, Q> const& a) + { + return detail::print_matrix_on(os, a); + } + +namespace detail +{ + template class M, length_t C, length_t R, typename T, qualifier Q> + GLM_FUNC_QUALIFIER std::basic_ostream& print_matrix_pair_on(std::basic_ostream& os, std::pair const, M const> const& a) + { + typename std::basic_ostream::sentry const cerberus(os); + + if(cerberus) + { + io::format_punct const& fmt(io::get_facet >(os)); + M const& ml(a.first); + M const& mr(a.second); + length_t const& cols(type >::cols); + length_t const& rows(type >::rows); + + if(fmt.formatted) + { + os << fmt.newline << fmt.delim_left; + + switch(fmt.order) + { + case io::column_major: + { + for(length_t i(0); i < rows; ++i) + { + if(0 != i) + os << fmt.space; + + os << row(ml, i) << ((rows-1 != i) ? fmt.space : fmt.delim_right) << fmt.space << ((0 != i) ? fmt.space : fmt.delim_left) << row(mr, i); + + if(rows-1 != i) + os << fmt.newline; + } + } + break; + case io::row_major: + { + for(length_t i(0); i < cols; ++i) + { + if(0 != i) + os << fmt.space; + + os << column(ml, i) << ((cols-1 != i) ? fmt.space : fmt.delim_right) << fmt.space << ((0 != i) ? fmt.space : fmt.delim_left) << column(mr, i); + + if(cols-1 != i) + os << fmt.newline; + } + } + break; + } + + os << fmt.delim_right; + } + else + { + os << ml << fmt.space << mr; + } + } + + return os; + } +}//namespace detail + + template + GLM_FUNC_QUALIFIER std::basic_ostream& operator<<( + std::basic_ostream & os, + std::pair const, + mat<4, 4, T, Q> const> const& a) + { + return detail::print_matrix_pair_on(os, a); + } +}//namespace glm diff --git a/MacroLibX/third_party/glm/gtx/log_base.hpp b/MacroLibX/third_party/glm/gtx/log_base.hpp new file mode 100644 index 0000000..ba28c9d --- /dev/null +++ b/MacroLibX/third_party/glm/gtx/log_base.hpp @@ -0,0 +1,48 @@ +/// @ref gtx_log_base +/// @file glm/gtx/log_base.hpp +/// +/// @see core (dependence) +/// +/// @defgroup gtx_log_base GLM_GTX_log_base +/// @ingroup gtx +/// +/// Include to use the features of this extension. +/// +/// Logarithm for any base. base can be a vector or a scalar. + +#pragma once + +// Dependency: +#include "../glm.hpp" + +#if GLM_MESSAGES == GLM_ENABLE && !defined(GLM_EXT_INCLUDED) +# ifndef GLM_ENABLE_EXPERIMENTAL +# pragma message("GLM: GLM_GTX_log_base is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it.") +# else +# pragma message("GLM: GLM_GTX_log_base extension included") +# endif +#endif + +namespace glm +{ + /// @addtogroup gtx_log_base + /// @{ + + /// Logarithm for any base. + /// From GLM_GTX_log_base. + template + GLM_FUNC_DECL genType log( + genType const& x, + genType const& base); + + /// Logarithm for any base. + /// From GLM_GTX_log_base. + template + GLM_FUNC_DECL vec sign( + vec const& x, + vec const& base); + + /// @} +}//namespace glm + +#include "log_base.inl" diff --git a/MacroLibX/third_party/glm/gtx/log_base.inl b/MacroLibX/third_party/glm/gtx/log_base.inl new file mode 100644 index 0000000..4bbb8e8 --- /dev/null +++ b/MacroLibX/third_party/glm/gtx/log_base.inl @@ -0,0 +1,16 @@ +/// @ref gtx_log_base + +namespace glm +{ + template + GLM_FUNC_QUALIFIER genType log(genType const& x, genType const& base) + { + return glm::log(x) / glm::log(base); + } + + template + GLM_FUNC_QUALIFIER vec log(vec const& x, vec const& base) + { + return glm::log(x) / glm::log(base); + } +}//namespace glm diff --git a/MacroLibX/third_party/glm/gtx/matrix_cross_product.hpp b/MacroLibX/third_party/glm/gtx/matrix_cross_product.hpp new file mode 100644 index 0000000..1e585f9 --- /dev/null +++ b/MacroLibX/third_party/glm/gtx/matrix_cross_product.hpp @@ -0,0 +1,47 @@ +/// @ref gtx_matrix_cross_product +/// @file glm/gtx/matrix_cross_product.hpp +/// +/// @see core (dependence) +/// @see gtx_extented_min_max (dependence) +/// +/// @defgroup gtx_matrix_cross_product GLM_GTX_matrix_cross_product +/// @ingroup gtx +/// +/// Include to use the features of this extension. +/// +/// Build cross product matrices + +#pragma once + +// Dependency: +#include "../glm.hpp" + +#if GLM_MESSAGES == GLM_ENABLE && !defined(GLM_EXT_INCLUDED) +# ifndef GLM_ENABLE_EXPERIMENTAL +# pragma message("GLM: GLM_GTX_matrix_cross_product is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it.") +# else +# pragma message("GLM: GLM_GTX_matrix_cross_product extension included") +# endif +#endif + +namespace glm +{ + /// @addtogroup gtx_matrix_cross_product + /// @{ + + //! Build a cross product matrix. + //! From GLM_GTX_matrix_cross_product extension. + template + GLM_FUNC_DECL mat<3, 3, T, Q> matrixCross3( + vec<3, T, Q> const& x); + + //! Build a cross product matrix. + //! From GLM_GTX_matrix_cross_product extension. + template + GLM_FUNC_DECL mat<4, 4, T, Q> matrixCross4( + vec<3, T, Q> const& x); + + /// @} +}//namespace glm + +#include "matrix_cross_product.inl" diff --git a/MacroLibX/third_party/glm/gtx/matrix_cross_product.inl b/MacroLibX/third_party/glm/gtx/matrix_cross_product.inl new file mode 100644 index 0000000..3a15397 --- /dev/null +++ b/MacroLibX/third_party/glm/gtx/matrix_cross_product.inl @@ -0,0 +1,37 @@ +/// @ref gtx_matrix_cross_product + +namespace glm +{ + template + GLM_FUNC_QUALIFIER mat<3, 3, T, Q> matrixCross3 + ( + vec<3, T, Q> const& x + ) + { + mat<3, 3, T, Q> Result(T(0)); + Result[0][1] = x.z; + Result[1][0] = -x.z; + Result[0][2] = -x.y; + Result[2][0] = x.y; + Result[1][2] = x.x; + Result[2][1] = -x.x; + return Result; + } + + template + GLM_FUNC_QUALIFIER mat<4, 4, T, Q> matrixCross4 + ( + vec<3, T, Q> const& x + ) + { + mat<4, 4, T, Q> Result(T(0)); + Result[0][1] = x.z; + Result[1][0] = -x.z; + Result[0][2] = -x.y; + Result[2][0] = x.y; + Result[1][2] = x.x; + Result[2][1] = -x.x; + return Result; + } + +}//namespace glm diff --git a/MacroLibX/third_party/glm/gtx/matrix_decompose.hpp b/MacroLibX/third_party/glm/gtx/matrix_decompose.hpp new file mode 100644 index 0000000..acd7a7f --- /dev/null +++ b/MacroLibX/third_party/glm/gtx/matrix_decompose.hpp @@ -0,0 +1,46 @@ +/// @ref gtx_matrix_decompose +/// @file glm/gtx/matrix_decompose.hpp +/// +/// @see core (dependence) +/// +/// @defgroup gtx_matrix_decompose GLM_GTX_matrix_decompose +/// @ingroup gtx +/// +/// Include to use the features of this extension. +/// +/// Decomposes a model matrix to translations, rotation and scale components + +#pragma once + +// Dependencies +#include "../mat4x4.hpp" +#include "../vec3.hpp" +#include "../vec4.hpp" +#include "../geometric.hpp" +#include "../gtc/quaternion.hpp" +#include "../gtc/matrix_transform.hpp" + +#if GLM_MESSAGES == GLM_ENABLE && !defined(GLM_EXT_INCLUDED) +# ifndef GLM_ENABLE_EXPERIMENTAL +# pragma message("GLM: GLM_GTX_matrix_decompose is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it.") +# else +# pragma message("GLM: GLM_GTX_matrix_decompose extension included") +# endif +#endif + +namespace glm +{ + /// @addtogroup gtx_matrix_decompose + /// @{ + + /// Decomposes a model matrix to translations, rotation and scale components + /// @see gtx_matrix_decompose + template + GLM_FUNC_DECL bool decompose( + mat<4, 4, T, Q> const& modelMatrix, + vec<3, T, Q> & scale, qua & orientation, vec<3, T, Q> & translation, vec<3, T, Q> & skew, vec<4, T, Q> & perspective); + + /// @} +}//namespace glm + +#include "matrix_decompose.inl" diff --git a/MacroLibX/third_party/glm/gtx/matrix_decompose.inl b/MacroLibX/third_party/glm/gtx/matrix_decompose.inl new file mode 100644 index 0000000..694f5ec --- /dev/null +++ b/MacroLibX/third_party/glm/gtx/matrix_decompose.inl @@ -0,0 +1,186 @@ +/// @ref gtx_matrix_decompose + +#include "../gtc/constants.hpp" +#include "../gtc/epsilon.hpp" + +namespace glm{ +namespace detail +{ + /// Make a linear combination of two vectors and return the result. + // result = (a * ascl) + (b * bscl) + template + GLM_FUNC_QUALIFIER vec<3, T, Q> combine( + vec<3, T, Q> const& a, + vec<3, T, Q> const& b, + T ascl, T bscl) + { + return (a * ascl) + (b * bscl); + } + + template + GLM_FUNC_QUALIFIER vec<3, T, Q> scale(vec<3, T, Q> const& v, T desiredLength) + { + return v * desiredLength / length(v); + } +}//namespace detail + + // Matrix decompose + // http://www.opensource.apple.com/source/WebCore/WebCore-514/platform/graphics/transforms/TransformationMatrix.cpp + // Decomposes the mode matrix to translations,rotation scale components + + template + GLM_FUNC_QUALIFIER bool decompose(mat<4, 4, T, Q> const& ModelMatrix, vec<3, T, Q> & Scale, qua & Orientation, vec<3, T, Q> & Translation, vec<3, T, Q> & Skew, vec<4, T, Q> & Perspective) + { + mat<4, 4, T, Q> LocalMatrix(ModelMatrix); + + // Normalize the matrix. + if(epsilonEqual(LocalMatrix[3][3], static_cast(0), epsilon())) + return false; + + for(length_t i = 0; i < 4; ++i) + for(length_t j = 0; j < 4; ++j) + LocalMatrix[i][j] /= LocalMatrix[3][3]; + + // perspectiveMatrix is used to solve for perspective, but it also provides + // an easy way to test for singularity of the upper 3x3 component. + mat<4, 4, T, Q> PerspectiveMatrix(LocalMatrix); + + for(length_t i = 0; i < 3; i++) + PerspectiveMatrix[i][3] = static_cast(0); + PerspectiveMatrix[3][3] = static_cast(1); + + /// TODO: Fixme! + if(epsilonEqual(determinant(PerspectiveMatrix), static_cast(0), epsilon())) + return false; + + // First, isolate perspective. This is the messiest. + if( + epsilonNotEqual(LocalMatrix[0][3], static_cast(0), epsilon()) || + epsilonNotEqual(LocalMatrix[1][3], static_cast(0), epsilon()) || + epsilonNotEqual(LocalMatrix[2][3], static_cast(0), epsilon())) + { + // rightHandSide is the right hand side of the equation. + vec<4, T, Q> RightHandSide; + RightHandSide[0] = LocalMatrix[0][3]; + RightHandSide[1] = LocalMatrix[1][3]; + RightHandSide[2] = LocalMatrix[2][3]; + RightHandSide[3] = LocalMatrix[3][3]; + + // Solve the equation by inverting PerspectiveMatrix and multiplying + // rightHandSide by the inverse. (This is the easiest way, not + // necessarily the best.) + mat<4, 4, T, Q> InversePerspectiveMatrix = glm::inverse(PerspectiveMatrix);// inverse(PerspectiveMatrix, inversePerspectiveMatrix); + mat<4, 4, T, Q> TransposedInversePerspectiveMatrix = glm::transpose(InversePerspectiveMatrix);// transposeMatrix4(inversePerspectiveMatrix, transposedInversePerspectiveMatrix); + + Perspective = TransposedInversePerspectiveMatrix * RightHandSide; + // v4MulPointByMatrix(rightHandSide, transposedInversePerspectiveMatrix, perspectivePoint); + + // Clear the perspective partition + LocalMatrix[0][3] = LocalMatrix[1][3] = LocalMatrix[2][3] = static_cast(0); + LocalMatrix[3][3] = static_cast(1); + } + else + { + // No perspective. + Perspective = vec<4, T, Q>(0, 0, 0, 1); + } + + // Next take care of translation (easy). + Translation = vec<3, T, Q>(LocalMatrix[3]); + LocalMatrix[3] = vec<4, T, Q>(0, 0, 0, LocalMatrix[3].w); + + vec<3, T, Q> Row[3], Pdum3; + + // Now get scale and shear. + for(length_t i = 0; i < 3; ++i) + for(length_t j = 0; j < 3; ++j) + Row[i][j] = LocalMatrix[i][j]; + + // Compute X scale factor and normalize first row. + Scale.x = length(Row[0]);// v3Length(Row[0]); + + Row[0] = detail::scale(Row[0], static_cast(1)); + + // Compute XY shear factor and make 2nd row orthogonal to 1st. + Skew.z = dot(Row[0], Row[1]); + Row[1] = detail::combine(Row[1], Row[0], static_cast(1), -Skew.z); + + // Now, compute Y scale and normalize 2nd row. + Scale.y = length(Row[1]); + Row[1] = detail::scale(Row[1], static_cast(1)); + Skew.z /= Scale.y; + + // Compute XZ and YZ shears, orthogonalize 3rd row. + Skew.y = glm::dot(Row[0], Row[2]); + Row[2] = detail::combine(Row[2], Row[0], static_cast(1), -Skew.y); + Skew.x = glm::dot(Row[1], Row[2]); + Row[2] = detail::combine(Row[2], Row[1], static_cast(1), -Skew.x); + + // Next, get Z scale and normalize 3rd row. + Scale.z = length(Row[2]); + Row[2] = detail::scale(Row[2], static_cast(1)); + Skew.y /= Scale.z; + Skew.x /= Scale.z; + + // At this point, the matrix (in rows[]) is orthonormal. + // Check for a coordinate system flip. If the determinant + // is -1, then negate the matrix and the scaling factors. + Pdum3 = cross(Row[1], Row[2]); // v3Cross(row[1], row[2], Pdum3); + if(dot(Row[0], Pdum3) < 0) + { + for(length_t i = 0; i < 3; i++) + { + Scale[i] *= static_cast(-1); + Row[i] *= static_cast(-1); + } + } + + // Now, get the rotations out, as described in the gem. + + // FIXME - Add the ability to return either quaternions (which are + // easier to recompose with) or Euler angles (rx, ry, rz), which + // are easier for authors to deal with. The latter will only be useful + // when we fix https://bugs.webkit.org/show_bug.cgi?id=23799, so I + // will leave the Euler angle code here for now. + + // ret.rotateY = asin(-Row[0][2]); + // if (cos(ret.rotateY) != 0) { + // ret.rotateX = atan2(Row[1][2], Row[2][2]); + // ret.rotateZ = atan2(Row[0][1], Row[0][0]); + // } else { + // ret.rotateX = atan2(-Row[2][0], Row[1][1]); + // ret.rotateZ = 0; + // } + + int i, j, k = 0; + T root, trace = Row[0].x + Row[1].y + Row[2].z; + if(trace > static_cast(0)) + { + root = sqrt(trace + static_cast(1.0)); + Orientation.w = static_cast(0.5) * root; + root = static_cast(0.5) / root; + Orientation.x = root * (Row[1].z - Row[2].y); + Orientation.y = root * (Row[2].x - Row[0].z); + Orientation.z = root * (Row[0].y - Row[1].x); + } // End if > 0 + else + { + static int Next[3] = {1, 2, 0}; + i = 0; + if(Row[1].y > Row[0].x) i = 1; + if(Row[2].z > Row[i][i]) i = 2; + j = Next[i]; + k = Next[j]; + + root = sqrt(Row[i][i] - Row[j][j] - Row[k][k] + static_cast(1.0)); + + Orientation[i] = static_cast(0.5) * root; + root = static_cast(0.5) / root; + Orientation[j] = root * (Row[i][j] + Row[j][i]); + Orientation[k] = root * (Row[i][k] + Row[k][i]); + Orientation.w = root * (Row[j][k] - Row[k][j]); + } // End if <= 0 + + return true; + } +}//namespace glm diff --git a/MacroLibX/third_party/glm/gtx/matrix_factorisation.hpp b/MacroLibX/third_party/glm/gtx/matrix_factorisation.hpp new file mode 100644 index 0000000..5a975d6 --- /dev/null +++ b/MacroLibX/third_party/glm/gtx/matrix_factorisation.hpp @@ -0,0 +1,69 @@ +/// @ref gtx_matrix_factorisation +/// @file glm/gtx/matrix_factorisation.hpp +/// +/// @see core (dependence) +/// +/// @defgroup gtx_matrix_factorisation GLM_GTX_matrix_factorisation +/// @ingroup gtx +/// +/// Include to use the features of this extension. +/// +/// Functions to factor matrices in various forms + +#pragma once + +// Dependency: +#include "../glm.hpp" + +#if GLM_MESSAGES == GLM_ENABLE && !defined(GLM_EXT_INCLUDED) +# ifndef GLM_ENABLE_EXPERIMENTAL +# pragma message("GLM: GLM_GTX_matrix_factorisation is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it.") +# else +# pragma message("GLM: GLM_GTX_matrix_factorisation extension included") +# endif +#endif + +/* +Suggestions: + - Move helper functions flipud and fliplr to another file: They may be helpful in more general circumstances. + - Implement other types of matrix factorisation, such as: QL and LQ, L(D)U, eigendecompositions, etc... +*/ + +namespace glm +{ + /// @addtogroup gtx_matrix_factorisation + /// @{ + + /// Flips the matrix rows up and down. + /// + /// From GLM_GTX_matrix_factorisation extension. + template + GLM_FUNC_DECL mat flipud(mat const& in); + + /// Flips the matrix columns right and left. + /// + /// From GLM_GTX_matrix_factorisation extension. + template + GLM_FUNC_DECL mat fliplr(mat const& in); + + /// Performs QR factorisation of a matrix. + /// Returns 2 matrices, q and r, such that the columns of q are orthonormal and span the same subspace than those of the input matrix, r is an upper triangular matrix, and q*r=in. + /// Given an n-by-m input matrix, q has dimensions min(n,m)-by-m, and r has dimensions n-by-min(n,m). + /// + /// From GLM_GTX_matrix_factorisation extension. + template + GLM_FUNC_DECL void qr_decompose(mat const& in, mat<(C < R ? C : R), R, T, Q>& q, mat& r); + + /// Performs RQ factorisation of a matrix. + /// Returns 2 matrices, r and q, such that r is an upper triangular matrix, the rows of q are orthonormal and span the same subspace than those of the input matrix, and r*q=in. + /// Note that in the context of RQ factorisation, the diagonal is seen as starting in the lower-right corner of the matrix, instead of the usual upper-left. + /// Given an n-by-m input matrix, r has dimensions min(n,m)-by-m, and q has dimensions n-by-min(n,m). + /// + /// From GLM_GTX_matrix_factorisation extension. + template + GLM_FUNC_DECL void rq_decompose(mat const& in, mat<(C < R ? C : R), R, T, Q>& r, mat& q); + + /// @} +} + +#include "matrix_factorisation.inl" diff --git a/MacroLibX/third_party/glm/gtx/matrix_factorisation.inl b/MacroLibX/third_party/glm/gtx/matrix_factorisation.inl new file mode 100644 index 0000000..c479b8a --- /dev/null +++ b/MacroLibX/third_party/glm/gtx/matrix_factorisation.inl @@ -0,0 +1,84 @@ +/// @ref gtx_matrix_factorisation + +namespace glm +{ + template + GLM_FUNC_QUALIFIER mat flipud(mat const& in) + { + mat tin = transpose(in); + tin = fliplr(tin); + mat out = transpose(tin); + + return out; + } + + template + GLM_FUNC_QUALIFIER mat fliplr(mat const& in) + { + mat out; + for (length_t i = 0; i < C; i++) + { + out[i] = in[(C - i) - 1]; + } + + return out; + } + + template + GLM_FUNC_QUALIFIER void qr_decompose(mat const& in, mat<(C < R ? C : R), R, T, Q>& q, mat& r) + { + // Uses modified Gram-Schmidt method + // Source: https://en.wikipedia.org/wiki/Gram–Schmidt_process + // And https://en.wikipedia.org/wiki/QR_decomposition + + //For all the linearly independs columns of the input... + // (there can be no more linearly independents columns than there are rows.) + for (length_t i = 0; i < (C < R ? C : R); i++) + { + //Copy in Q the input's i-th column. + q[i] = in[i]; + + //j = [0,i[ + // Make that column orthogonal to all the previous ones by substracting to it the non-orthogonal projection of all the previous columns. + // Also: Fill the zero elements of R + for (length_t j = 0; j < i; j++) + { + q[i] -= dot(q[i], q[j])*q[j]; + r[j][i] = 0; + } + + //Now, Q i-th column is orthogonal to all the previous columns. Normalize it. + q[i] = normalize(q[i]); + + //j = [i,C[ + //Finally, compute the corresponding coefficients of R by computing the projection of the resulting column on the other columns of the input. + for (length_t j = i; j < C; j++) + { + r[j][i] = dot(in[j], q[i]); + } + } + } + + template + GLM_FUNC_QUALIFIER void rq_decompose(mat const& in, mat<(C < R ? C : R), R, T, Q>& r, mat& q) + { + // From https://en.wikipedia.org/wiki/QR_decomposition: + // The RQ decomposition transforms a matrix A into the product of an upper triangular matrix R (also known as right-triangular) and an orthogonal matrix Q. The only difference from QR decomposition is the order of these matrices. + // QR decomposition is Gram–Schmidt orthogonalization of columns of A, started from the first column. + // RQ decomposition is Gram–Schmidt orthogonalization of rows of A, started from the last row. + + mat tin = transpose(in); + tin = fliplr(tin); + + mat tr; + mat<(C < R ? C : R), C, T, Q> tq; + qr_decompose(tin, tq, tr); + + tr = fliplr(tr); + r = transpose(tr); + r = fliplr(r); + + tq = fliplr(tq); + q = transpose(tq); + } +} //namespace glm diff --git a/MacroLibX/third_party/glm/gtx/matrix_interpolation.hpp b/MacroLibX/third_party/glm/gtx/matrix_interpolation.hpp new file mode 100644 index 0000000..7d5ad4c --- /dev/null +++ b/MacroLibX/third_party/glm/gtx/matrix_interpolation.hpp @@ -0,0 +1,60 @@ +/// @ref gtx_matrix_interpolation +/// @file glm/gtx/matrix_interpolation.hpp +/// @author Ghenadii Ursachi (the.asteroth@gmail.com) +/// +/// @see core (dependence) +/// +/// @defgroup gtx_matrix_interpolation GLM_GTX_matrix_interpolation +/// @ingroup gtx +/// +/// Include to use the features of this extension. +/// +/// Allows to directly interpolate two matrices. + +#pragma once + +// Dependency: +#include "../glm.hpp" + +#if GLM_MESSAGES == GLM_ENABLE && !defined(GLM_EXT_INCLUDED) +# ifndef GLM_ENABLE_EXPERIMENTAL +# pragma message("GLM: GLM_GTX_matrix_interpolation is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it.") +# else +# pragma message("GLM: GLM_GTX_matrix_interpolation extension included") +# endif +#endif + +namespace glm +{ + /// @addtogroup gtx_matrix_interpolation + /// @{ + + /// Get the axis and angle of the rotation from a matrix. + /// From GLM_GTX_matrix_interpolation extension. + template + GLM_FUNC_DECL void axisAngle( + mat<4, 4, T, Q> const& Mat, vec<3, T, Q> & Axis, T & Angle); + + /// Build a matrix from axis and angle. + /// From GLM_GTX_matrix_interpolation extension. + template + GLM_FUNC_DECL mat<4, 4, T, Q> axisAngleMatrix( + vec<3, T, Q> const& Axis, T const Angle); + + /// Extracts the rotation part of a matrix. + /// From GLM_GTX_matrix_interpolation extension. + template + GLM_FUNC_DECL mat<4, 4, T, Q> extractMatrixRotation( + mat<4, 4, T, Q> const& Mat); + + /// Build a interpolation of 4 * 4 matrixes. + /// From GLM_GTX_matrix_interpolation extension. + /// Warning! works only with rotation and/or translation matrixes, scale will generate unexpected results. + template + GLM_FUNC_DECL mat<4, 4, T, Q> interpolate( + mat<4, 4, T, Q> const& m1, mat<4, 4, T, Q> const& m2, T const Delta); + + /// @} +}//namespace glm + +#include "matrix_interpolation.inl" diff --git a/MacroLibX/third_party/glm/gtx/matrix_interpolation.inl b/MacroLibX/third_party/glm/gtx/matrix_interpolation.inl new file mode 100644 index 0000000..de40b7d --- /dev/null +++ b/MacroLibX/third_party/glm/gtx/matrix_interpolation.inl @@ -0,0 +1,129 @@ +/// @ref gtx_matrix_interpolation + +#include "../gtc/constants.hpp" + +namespace glm +{ + template + GLM_FUNC_QUALIFIER void axisAngle(mat<4, 4, T, Q> const& m, vec<3, T, Q> & axis, T& angle) + { + T epsilon = static_cast(0.01); + T epsilon2 = static_cast(0.1); + + if((abs(m[1][0] - m[0][1]) < epsilon) && (abs(m[2][0] - m[0][2]) < epsilon) && (abs(m[2][1] - m[1][2]) < epsilon)) + { + if ((abs(m[1][0] + m[0][1]) < epsilon2) && (abs(m[2][0] + m[0][2]) < epsilon2) && (abs(m[2][1] + m[1][2]) < epsilon2) && (abs(m[0][0] + m[1][1] + m[2][2] - static_cast(3.0)) < epsilon2)) + { + angle = static_cast(0.0); + axis.x = static_cast(1.0); + axis.y = static_cast(0.0); + axis.z = static_cast(0.0); + return; + } + angle = static_cast(3.1415926535897932384626433832795); + T xx = (m[0][0] + static_cast(1.0)) * static_cast(0.5); + T yy = (m[1][1] + static_cast(1.0)) * static_cast(0.5); + T zz = (m[2][2] + static_cast(1.0)) * static_cast(0.5); + T xy = (m[1][0] + m[0][1]) * static_cast(0.25); + T xz = (m[2][0] + m[0][2]) * static_cast(0.25); + T yz = (m[2][1] + m[1][2]) * static_cast(0.25); + if((xx > yy) && (xx > zz)) + { + if(xx < epsilon) + { + axis.x = static_cast(0.0); + axis.y = static_cast(0.7071); + axis.z = static_cast(0.7071); + } + else + { + axis.x = sqrt(xx); + axis.y = xy / axis.x; + axis.z = xz / axis.x; + } + } + else if (yy > zz) + { + if(yy < epsilon) + { + axis.x = static_cast(0.7071); + axis.y = static_cast(0.0); + axis.z = static_cast(0.7071); + } + else + { + axis.y = sqrt(yy); + axis.x = xy / axis.y; + axis.z = yz / axis.y; + } + } + else + { + if (zz < epsilon) + { + axis.x = static_cast(0.7071); + axis.y = static_cast(0.7071); + axis.z = static_cast(0.0); + } + else + { + axis.z = sqrt(zz); + axis.x = xz / axis.z; + axis.y = yz / axis.z; + } + } + return; + } + T s = sqrt((m[2][1] - m[1][2]) * (m[2][1] - m[1][2]) + (m[2][0] - m[0][2]) * (m[2][0] - m[0][2]) + (m[1][0] - m[0][1]) * (m[1][0] - m[0][1])); + if (glm::abs(s) < T(0.001)) + s = static_cast(1); + T const angleCos = (m[0][0] + m[1][1] + m[2][2] - static_cast(1)) * static_cast(0.5); + if(angleCos - static_cast(1) < epsilon) + angle = pi() * static_cast(0.25); + else + angle = acos(angleCos); + axis.x = (m[1][2] - m[2][1]) / s; + axis.y = (m[2][0] - m[0][2]) / s; + axis.z = (m[0][1] - m[1][0]) / s; + } + + template + GLM_FUNC_QUALIFIER mat<4, 4, T, Q> axisAngleMatrix(vec<3, T, Q> const& axis, T const angle) + { + T c = cos(angle); + T s = sin(angle); + T t = static_cast(1) - c; + vec<3, T, Q> n = normalize(axis); + + return mat<4, 4, T, Q>( + t * n.x * n.x + c, t * n.x * n.y + n.z * s, t * n.x * n.z - n.y * s, static_cast(0.0), + t * n.x * n.y - n.z * s, t * n.y * n.y + c, t * n.y * n.z + n.x * s, static_cast(0.0), + t * n.x * n.z + n.y * s, t * n.y * n.z - n.x * s, t * n.z * n.z + c, static_cast(0.0), + static_cast(0.0), static_cast(0.0), static_cast(0.0), static_cast(1.0)); + } + + template + GLM_FUNC_QUALIFIER mat<4, 4, T, Q> extractMatrixRotation(mat<4, 4, T, Q> const& m) + { + return mat<4, 4, T, Q>( + m[0][0], m[0][1], m[0][2], static_cast(0.0), + m[1][0], m[1][1], m[1][2], static_cast(0.0), + m[2][0], m[2][1], m[2][2], static_cast(0.0), + static_cast(0.0), static_cast(0.0), static_cast(0.0), static_cast(1.0)); + } + + template + GLM_FUNC_QUALIFIER mat<4, 4, T, Q> interpolate(mat<4, 4, T, Q> const& m1, mat<4, 4, T, Q> const& m2, T const delta) + { + mat<4, 4, T, Q> m1rot = extractMatrixRotation(m1); + mat<4, 4, T, Q> dltRotation = m2 * transpose(m1rot); + vec<3, T, Q> dltAxis; + T dltAngle; + axisAngle(dltRotation, dltAxis, dltAngle); + mat<4, 4, T, Q> out = axisAngleMatrix(dltAxis, dltAngle * delta) * m1rot; + out[3][0] = m1[3][0] + delta * (m2[3][0] - m1[3][0]); + out[3][1] = m1[3][1] + delta * (m2[3][1] - m1[3][1]); + out[3][2] = m1[3][2] + delta * (m2[3][2] - m1[3][2]); + return out; + } +}//namespace glm diff --git a/MacroLibX/third_party/glm/gtx/matrix_major_storage.hpp b/MacroLibX/third_party/glm/gtx/matrix_major_storage.hpp new file mode 100644 index 0000000..8c6bc22 --- /dev/null +++ b/MacroLibX/third_party/glm/gtx/matrix_major_storage.hpp @@ -0,0 +1,119 @@ +/// @ref gtx_matrix_major_storage +/// @file glm/gtx/matrix_major_storage.hpp +/// +/// @see core (dependence) +/// @see gtx_extented_min_max (dependence) +/// +/// @defgroup gtx_matrix_major_storage GLM_GTX_matrix_major_storage +/// @ingroup gtx +/// +/// Include to use the features of this extension. +/// +/// Build matrices with specific matrix order, row or column + +#pragma once + +// Dependency: +#include "../glm.hpp" + +#if GLM_MESSAGES == GLM_ENABLE && !defined(GLM_EXT_INCLUDED) +# ifndef GLM_ENABLE_EXPERIMENTAL +# pragma message("GLM: GLM_GTX_matrix_major_storage is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it.") +# else +# pragma message("GLM: GLM_GTX_matrix_major_storage extension included") +# endif +#endif + +namespace glm +{ + /// @addtogroup gtx_matrix_major_storage + /// @{ + + //! Build a row major matrix from row vectors. + //! From GLM_GTX_matrix_major_storage extension. + template + GLM_FUNC_DECL mat<2, 2, T, Q> rowMajor2( + vec<2, T, Q> const& v1, + vec<2, T, Q> const& v2); + + //! Build a row major matrix from other matrix. + //! From GLM_GTX_matrix_major_storage extension. + template + GLM_FUNC_DECL mat<2, 2, T, Q> rowMajor2( + mat<2, 2, T, Q> const& m); + + //! Build a row major matrix from row vectors. + //! From GLM_GTX_matrix_major_storage extension. + template + GLM_FUNC_DECL mat<3, 3, T, Q> rowMajor3( + vec<3, T, Q> const& v1, + vec<3, T, Q> const& v2, + vec<3, T, Q> const& v3); + + //! Build a row major matrix from other matrix. + //! From GLM_GTX_matrix_major_storage extension. + template + GLM_FUNC_DECL mat<3, 3, T, Q> rowMajor3( + mat<3, 3, T, Q> const& m); + + //! Build a row major matrix from row vectors. + //! From GLM_GTX_matrix_major_storage extension. + template + GLM_FUNC_DECL mat<4, 4, T, Q> rowMajor4( + vec<4, T, Q> const& v1, + vec<4, T, Q> const& v2, + vec<4, T, Q> const& v3, + vec<4, T, Q> const& v4); + + //! Build a row major matrix from other matrix. + //! From GLM_GTX_matrix_major_storage extension. + template + GLM_FUNC_DECL mat<4, 4, T, Q> rowMajor4( + mat<4, 4, T, Q> const& m); + + //! Build a column major matrix from column vectors. + //! From GLM_GTX_matrix_major_storage extension. + template + GLM_FUNC_DECL mat<2, 2, T, Q> colMajor2( + vec<2, T, Q> const& v1, + vec<2, T, Q> const& v2); + + //! Build a column major matrix from other matrix. + //! From GLM_GTX_matrix_major_storage extension. + template + GLM_FUNC_DECL mat<2, 2, T, Q> colMajor2( + mat<2, 2, T, Q> const& m); + + //! Build a column major matrix from column vectors. + //! From GLM_GTX_matrix_major_storage extension. + template + GLM_FUNC_DECL mat<3, 3, T, Q> colMajor3( + vec<3, T, Q> const& v1, + vec<3, T, Q> const& v2, + vec<3, T, Q> const& v3); + + //! Build a column major matrix from other matrix. + //! From GLM_GTX_matrix_major_storage extension. + template + GLM_FUNC_DECL mat<3, 3, T, Q> colMajor3( + mat<3, 3, T, Q> const& m); + + //! Build a column major matrix from column vectors. + //! From GLM_GTX_matrix_major_storage extension. + template + GLM_FUNC_DECL mat<4, 4, T, Q> colMajor4( + vec<4, T, Q> const& v1, + vec<4, T, Q> const& v2, + vec<4, T, Q> const& v3, + vec<4, T, Q> const& v4); + + //! Build a column major matrix from other matrix. + //! From GLM_GTX_matrix_major_storage extension. + template + GLM_FUNC_DECL mat<4, 4, T, Q> colMajor4( + mat<4, 4, T, Q> const& m); + + /// @} +}//namespace glm + +#include "matrix_major_storage.inl" diff --git a/MacroLibX/third_party/glm/gtx/matrix_major_storage.inl b/MacroLibX/third_party/glm/gtx/matrix_major_storage.inl new file mode 100644 index 0000000..279dd34 --- /dev/null +++ b/MacroLibX/third_party/glm/gtx/matrix_major_storage.inl @@ -0,0 +1,166 @@ +/// @ref gtx_matrix_major_storage + +namespace glm +{ + template + GLM_FUNC_QUALIFIER mat<2, 2, T, Q> rowMajor2 + ( + vec<2, T, Q> const& v1, + vec<2, T, Q> const& v2 + ) + { + mat<2, 2, T, Q> Result; + Result[0][0] = v1.x; + Result[1][0] = v1.y; + Result[0][1] = v2.x; + Result[1][1] = v2.y; + return Result; + } + + template + GLM_FUNC_QUALIFIER mat<2, 2, T, Q> rowMajor2( + const mat<2, 2, T, Q>& m) + { + mat<2, 2, T, Q> Result; + Result[0][0] = m[0][0]; + Result[0][1] = m[1][0]; + Result[1][0] = m[0][1]; + Result[1][1] = m[1][1]; + return Result; + } + + template + GLM_FUNC_QUALIFIER mat<3, 3, T, Q> rowMajor3( + const vec<3, T, Q>& v1, + const vec<3, T, Q>& v2, + const vec<3, T, Q>& v3) + { + mat<3, 3, T, Q> Result; + Result[0][0] = v1.x; + Result[1][0] = v1.y; + Result[2][0] = v1.z; + Result[0][1] = v2.x; + Result[1][1] = v2.y; + Result[2][1] = v2.z; + Result[0][2] = v3.x; + Result[1][2] = v3.y; + Result[2][2] = v3.z; + return Result; + } + + template + GLM_FUNC_QUALIFIER mat<3, 3, T, Q> rowMajor3( + const mat<3, 3, T, Q>& m) + { + mat<3, 3, T, Q> Result; + Result[0][0] = m[0][0]; + Result[0][1] = m[1][0]; + Result[0][2] = m[2][0]; + Result[1][0] = m[0][1]; + Result[1][1] = m[1][1]; + Result[1][2] = m[2][1]; + Result[2][0] = m[0][2]; + Result[2][1] = m[1][2]; + Result[2][2] = m[2][2]; + return Result; + } + + template + GLM_FUNC_QUALIFIER mat<4, 4, T, Q> rowMajor4( + const vec<4, T, Q>& v1, + const vec<4, T, Q>& v2, + const vec<4, T, Q>& v3, + const vec<4, T, Q>& v4) + { + mat<4, 4, T, Q> Result; + Result[0][0] = v1.x; + Result[1][0] = v1.y; + Result[2][0] = v1.z; + Result[3][0] = v1.w; + Result[0][1] = v2.x; + Result[1][1] = v2.y; + Result[2][1] = v2.z; + Result[3][1] = v2.w; + Result[0][2] = v3.x; + Result[1][2] = v3.y; + Result[2][2] = v3.z; + Result[3][2] = v3.w; + Result[0][3] = v4.x; + Result[1][3] = v4.y; + Result[2][3] = v4.z; + Result[3][3] = v4.w; + return Result; + } + + template + GLM_FUNC_QUALIFIER mat<4, 4, T, Q> rowMajor4( + const mat<4, 4, T, Q>& m) + { + mat<4, 4, T, Q> Result; + Result[0][0] = m[0][0]; + Result[0][1] = m[1][0]; + Result[0][2] = m[2][0]; + Result[0][3] = m[3][0]; + Result[1][0] = m[0][1]; + Result[1][1] = m[1][1]; + Result[1][2] = m[2][1]; + Result[1][3] = m[3][1]; + Result[2][0] = m[0][2]; + Result[2][1] = m[1][2]; + Result[2][2] = m[2][2]; + Result[2][3] = m[3][2]; + Result[3][0] = m[0][3]; + Result[3][1] = m[1][3]; + Result[3][2] = m[2][3]; + Result[3][3] = m[3][3]; + return Result; + } + + template + GLM_FUNC_QUALIFIER mat<2, 2, T, Q> colMajor2( + const vec<2, T, Q>& v1, + const vec<2, T, Q>& v2) + { + return mat<2, 2, T, Q>(v1, v2); + } + + template + GLM_FUNC_QUALIFIER mat<2, 2, T, Q> colMajor2( + const mat<2, 2, T, Q>& m) + { + return mat<2, 2, T, Q>(m); + } + + template + GLM_FUNC_QUALIFIER mat<3, 3, T, Q> colMajor3( + const vec<3, T, Q>& v1, + const vec<3, T, Q>& v2, + const vec<3, T, Q>& v3) + { + return mat<3, 3, T, Q>(v1, v2, v3); + } + + template + GLM_FUNC_QUALIFIER mat<3, 3, T, Q> colMajor3( + const mat<3, 3, T, Q>& m) + { + return mat<3, 3, T, Q>(m); + } + + template + GLM_FUNC_QUALIFIER mat<4, 4, T, Q> colMajor4( + const vec<4, T, Q>& v1, + const vec<4, T, Q>& v2, + const vec<4, T, Q>& v3, + const vec<4, T, Q>& v4) + { + return mat<4, 4, T, Q>(v1, v2, v3, v4); + } + + template + GLM_FUNC_QUALIFIER mat<4, 4, T, Q> colMajor4( + const mat<4, 4, T, Q>& m) + { + return mat<4, 4, T, Q>(m); + } +}//namespace glm diff --git a/MacroLibX/third_party/glm/gtx/matrix_operation.hpp b/MacroLibX/third_party/glm/gtx/matrix_operation.hpp new file mode 100644 index 0000000..de6ff1f --- /dev/null +++ b/MacroLibX/third_party/glm/gtx/matrix_operation.hpp @@ -0,0 +1,103 @@ +/// @ref gtx_matrix_operation +/// @file glm/gtx/matrix_operation.hpp +/// +/// @see core (dependence) +/// +/// @defgroup gtx_matrix_operation GLM_GTX_matrix_operation +/// @ingroup gtx +/// +/// Include to use the features of this extension. +/// +/// Build diagonal matrices from vectors. + +#pragma once + +// Dependency: +#include "../glm.hpp" + +#if GLM_MESSAGES == GLM_ENABLE && !defined(GLM_EXT_INCLUDED) +# ifndef GLM_ENABLE_EXPERIMENTAL +# pragma message("GLM: GLM_GTX_matrix_operation is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it.") +# else +# pragma message("GLM: GLM_GTX_matrix_operation extension included") +# endif +#endif + +namespace glm +{ + /// @addtogroup gtx_matrix_operation + /// @{ + + //! Build a diagonal matrix. + //! From GLM_GTX_matrix_operation extension. + template + GLM_FUNC_DECL mat<2, 2, T, Q> diagonal2x2( + vec<2, T, Q> const& v); + + //! Build a diagonal matrix. + //! From GLM_GTX_matrix_operation extension. + template + GLM_FUNC_DECL mat<2, 3, T, Q> diagonal2x3( + vec<2, T, Q> const& v); + + //! Build a diagonal matrix. + //! From GLM_GTX_matrix_operation extension. + template + GLM_FUNC_DECL mat<2, 4, T, Q> diagonal2x4( + vec<2, T, Q> const& v); + + //! Build a diagonal matrix. + //! From GLM_GTX_matrix_operation extension. + template + GLM_FUNC_DECL mat<3, 2, T, Q> diagonal3x2( + vec<2, T, Q> const& v); + + //! Build a diagonal matrix. + //! From GLM_GTX_matrix_operation extension. + template + GLM_FUNC_DECL mat<3, 3, T, Q> diagonal3x3( + vec<3, T, Q> const& v); + + //! Build a diagonal matrix. + //! From GLM_GTX_matrix_operation extension. + template + GLM_FUNC_DECL mat<3, 4, T, Q> diagonal3x4( + vec<3, T, Q> const& v); + + //! Build a diagonal matrix. + //! From GLM_GTX_matrix_operation extension. + template + GLM_FUNC_DECL mat<4, 2, T, Q> diagonal4x2( + vec<2, T, Q> const& v); + + //! Build a diagonal matrix. + //! From GLM_GTX_matrix_operation extension. + template + GLM_FUNC_DECL mat<4, 3, T, Q> diagonal4x3( + vec<3, T, Q> const& v); + + //! Build a diagonal matrix. + //! From GLM_GTX_matrix_operation extension. + template + GLM_FUNC_DECL mat<4, 4, T, Q> diagonal4x4( + vec<4, T, Q> const& v); + + /// Build an adjugate matrix. + /// From GLM_GTX_matrix_operation extension. + template + GLM_FUNC_DECL mat<2, 2, T, Q> adjugate(mat<2, 2, T, Q> const& m); + + /// Build an adjugate matrix. + /// From GLM_GTX_matrix_operation extension. + template + GLM_FUNC_DECL mat<3, 3, T, Q> adjugate(mat<3, 3, T, Q> const& m); + + /// Build an adjugate matrix. + /// From GLM_GTX_matrix_operation extension. + template + GLM_FUNC_DECL mat<4, 4, T, Q> adjugate(mat<4, 4, T, Q> const& m); + + /// @} +}//namespace glm + +#include "matrix_operation.inl" diff --git a/MacroLibX/third_party/glm/gtx/matrix_operation.inl b/MacroLibX/third_party/glm/gtx/matrix_operation.inl new file mode 100644 index 0000000..9de83f8 --- /dev/null +++ b/MacroLibX/third_party/glm/gtx/matrix_operation.inl @@ -0,0 +1,176 @@ +/// @ref gtx_matrix_operation + +namespace glm +{ + template + GLM_FUNC_QUALIFIER mat<2, 2, T, Q> diagonal2x2 + ( + vec<2, T, Q> const& v + ) + { + mat<2, 2, T, Q> Result(static_cast(1)); + Result[0][0] = v[0]; + Result[1][1] = v[1]; + return Result; + } + + template + GLM_FUNC_QUALIFIER mat<2, 3, T, Q> diagonal2x3 + ( + vec<2, T, Q> const& v + ) + { + mat<2, 3, T, Q> Result(static_cast(1)); + Result[0][0] = v[0]; + Result[1][1] = v[1]; + return Result; + } + + template + GLM_FUNC_QUALIFIER mat<2, 4, T, Q> diagonal2x4 + ( + vec<2, T, Q> const& v + ) + { + mat<2, 4, T, Q> Result(static_cast(1)); + Result[0][0] = v[0]; + Result[1][1] = v[1]; + return Result; + } + + template + GLM_FUNC_QUALIFIER mat<3, 2, T, Q> diagonal3x2 + ( + vec<2, T, Q> const& v + ) + { + mat<3, 2, T, Q> Result(static_cast(1)); + Result[0][0] = v[0]; + Result[1][1] = v[1]; + return Result; + } + + template + GLM_FUNC_QUALIFIER mat<3, 3, T, Q> diagonal3x3 + ( + vec<3, T, Q> const& v + ) + { + mat<3, 3, T, Q> Result(static_cast(1)); + Result[0][0] = v[0]; + Result[1][1] = v[1]; + Result[2][2] = v[2]; + return Result; + } + + template + GLM_FUNC_QUALIFIER mat<3, 4, T, Q> diagonal3x4 + ( + vec<3, T, Q> const& v + ) + { + mat<3, 4, T, Q> Result(static_cast(1)); + Result[0][0] = v[0]; + Result[1][1] = v[1]; + Result[2][2] = v[2]; + return Result; + } + + template + GLM_FUNC_QUALIFIER mat<4, 4, T, Q> diagonal4x4 + ( + vec<4, T, Q> const& v + ) + { + mat<4, 4, T, Q> Result(static_cast(1)); + Result[0][0] = v[0]; + Result[1][1] = v[1]; + Result[2][2] = v[2]; + Result[3][3] = v[3]; + return Result; + } + + template + GLM_FUNC_QUALIFIER mat<4, 3, T, Q> diagonal4x3 + ( + vec<3, T, Q> const& v + ) + { + mat<4, 3, T, Q> Result(static_cast(1)); + Result[0][0] = v[0]; + Result[1][1] = v[1]; + Result[2][2] = v[2]; + return Result; + } + + template + GLM_FUNC_QUALIFIER mat<4, 2, T, Q> diagonal4x2 + ( + vec<2, T, Q> const& v + ) + { + mat<4, 2, T, Q> Result(static_cast(1)); + Result[0][0] = v[0]; + Result[1][1] = v[1]; + return Result; + } + + template + GLM_FUNC_QUALIFIER mat<2, 2, T, Q> adjugate(mat<2, 2, T, Q> const& m) + { + return mat<2, 2, T, Q>( + +m[1][1], -m[1][0], + -m[0][1], +m[0][0]); + } + + template + GLM_FUNC_QUALIFIER mat<3, 3, T, Q> adjugate(mat<3, 3, T, Q> const& m) + { + T const m00 = determinant(mat<2, 2, T, Q>(m[1][1], m[2][1], m[1][2], m[2][2])); + T const m01 = determinant(mat<2, 2, T, Q>(m[0][1], m[2][1], m[0][2], m[2][2])); + T const m02 = determinant(mat<2, 2, T, Q>(m[0][1], m[1][1], m[0][2], m[1][2])); + + T const m10 = determinant(mat<2, 2, T, Q>(m[1][0], m[2][0], m[1][2], m[2][2])); + T const m11 = determinant(mat<2, 2, T, Q>(m[0][0], m[2][0], m[0][2], m[2][2])); + T const m12 = determinant(mat<2, 2, T, Q>(m[0][0], m[1][0], m[0][2], m[1][2])); + + T const m20 = determinant(mat<2, 2, T, Q>(m[1][0], m[2][0], m[1][1], m[2][1])); + T const m21 = determinant(mat<2, 2, T, Q>(m[0][0], m[2][0], m[0][1], m[2][1])); + T const m22 = determinant(mat<2, 2, T, Q>(m[0][0], m[1][0], m[0][1], m[1][1])); + + return mat<3, 3, T, Q>( + +m00, -m01, +m02, + -m10, +m11, -m12, + +m20, -m21, +m22); + } + + template + GLM_FUNC_QUALIFIER mat<4, 4, T, Q> adjugate(mat<4, 4, T, Q> const& m) + { + T const m00 = determinant(mat<3, 3, T, Q>(m[1][1], m[1][2], m[1][3], m[2][1], m[2][2], m[2][3], m[3][1], m[3][2], m[3][3])); + T const m01 = determinant(mat<3, 3, T, Q>(m[1][0], m[1][2], m[1][3], m[2][0], m[2][2], m[2][3], m[3][0], m[3][2], m[3][3])); + T const m02 = determinant(mat<3, 3, T, Q>(m[1][0], m[1][1], m[1][3], m[2][0], m[2][2], m[2][3], m[3][0], m[3][1], m[3][3])); + T const m03 = determinant(mat<3, 3, T, Q>(m[1][0], m[1][1], m[1][2], m[2][0], m[2][1], m[2][2], m[3][0], m[3][1], m[3][2])); + + T const m10 = determinant(mat<3, 3, T, Q>(m[0][1], m[0][2], m[0][3], m[2][1], m[2][2], m[2][3], m[3][1], m[3][2], m[3][3])); + T const m11 = determinant(mat<3, 3, T, Q>(m[0][0], m[0][2], m[0][3], m[2][0], m[2][2], m[2][3], m[3][0], m[3][2], m[3][3])); + T const m12 = determinant(mat<3, 3, T, Q>(m[0][0], m[0][1], m[0][3], m[2][0], m[2][1], m[2][3], m[3][0], m[3][1], m[3][3])); + T const m13 = determinant(mat<3, 3, T, Q>(m[0][0], m[0][1], m[0][2], m[2][0], m[2][1], m[2][2], m[3][0], m[3][1], m[3][2])); + + T const m20 = determinant(mat<3, 3, T, Q>(m[0][1], m[0][2], m[0][3], m[1][1], m[1][2], m[1][3], m[3][1], m[3][2], m[3][3])); + T const m21 = determinant(mat<3, 3, T, Q>(m[0][0], m[0][2], m[0][3], m[1][0], m[1][2], m[1][3], m[3][0], m[3][2], m[3][3])); + T const m22 = determinant(mat<3, 3, T, Q>(m[0][0], m[0][1], m[0][3], m[1][0], m[1][1], m[1][3], m[3][0], m[3][1], m[3][3])); + T const m23 = determinant(mat<3, 3, T, Q>(m[0][0], m[0][1], m[0][2], m[1][0], m[1][1], m[1][2], m[3][0], m[3][1], m[3][2])); + + T const m30 = determinant(mat<3, 3, T, Q>(m[0][1], m[0][2], m[0][3], m[1][1], m[1][2], m[1][3], m[2][1], m[2][2], m[2][3])); + T const m31 = determinant(mat<3, 3, T, Q>(m[0][0], m[0][2], m[0][3], m[1][0], m[1][2], m[1][3], m[2][0], m[2][2], m[2][3])); + T const m32 = determinant(mat<3, 3, T, Q>(m[0][0], m[0][1], m[0][3], m[1][0], m[1][1], m[1][3], m[2][0], m[2][1], m[2][3])); + T const m33 = determinant(mat<3, 3, T, Q>(m[0][0], m[0][1], m[0][2], m[1][0], m[1][1], m[1][2], m[2][0], m[2][1], m[2][2])); + + return mat<4, 4, T, Q>( + +m00, -m01, +m02, -m03, + -m10, +m11, -m12, +m13, + +m20, -m21, +m22, -m23, + -m30, +m31, -m32, +m33); + } +}//namespace glm diff --git a/MacroLibX/third_party/glm/gtx/matrix_query.hpp b/MacroLibX/third_party/glm/gtx/matrix_query.hpp new file mode 100644 index 0000000..8011b2b --- /dev/null +++ b/MacroLibX/third_party/glm/gtx/matrix_query.hpp @@ -0,0 +1,77 @@ +/// @ref gtx_matrix_query +/// @file glm/gtx/matrix_query.hpp +/// +/// @see core (dependence) +/// @see gtx_vector_query (dependence) +/// +/// @defgroup gtx_matrix_query GLM_GTX_matrix_query +/// @ingroup gtx +/// +/// Include to use the features of this extension. +/// +/// Query to evaluate matrix properties + +#pragma once + +// Dependency: +#include "../glm.hpp" +#include "../gtx/vector_query.hpp" +#include + +#if GLM_MESSAGES == GLM_ENABLE && !defined(GLM_EXT_INCLUDED) +# ifndef GLM_ENABLE_EXPERIMENTAL +# pragma message("GLM: GLM_GTX_matrix_query is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it.") +# else +# pragma message("GLM: GLM_GTX_matrix_query extension included") +# endif +#endif + +namespace glm +{ + /// @addtogroup gtx_matrix_query + /// @{ + + /// Return whether a matrix a null matrix. + /// From GLM_GTX_matrix_query extension. + template + GLM_FUNC_DECL bool isNull(mat<2, 2, T, Q> const& m, T const& epsilon); + + /// Return whether a matrix a null matrix. + /// From GLM_GTX_matrix_query extension. + template + GLM_FUNC_DECL bool isNull(mat<3, 3, T, Q> const& m, T const& epsilon); + + /// Return whether a matrix is a null matrix. + /// From GLM_GTX_matrix_query extension. + template + GLM_FUNC_DECL bool isNull(mat<4, 4, T, Q> const& m, T const& epsilon); + + /// Return whether a matrix is an identity matrix. + /// From GLM_GTX_matrix_query extension. + template class matType> + GLM_FUNC_DECL bool isIdentity(matType const& m, T const& epsilon); + + /// Return whether a matrix is a normalized matrix. + /// From GLM_GTX_matrix_query extension. + template + GLM_FUNC_DECL bool isNormalized(mat<2, 2, T, Q> const& m, T const& epsilon); + + /// Return whether a matrix is a normalized matrix. + /// From GLM_GTX_matrix_query extension. + template + GLM_FUNC_DECL bool isNormalized(mat<3, 3, T, Q> const& m, T const& epsilon); + + /// Return whether a matrix is a normalized matrix. + /// From GLM_GTX_matrix_query extension. + template + GLM_FUNC_DECL bool isNormalized(mat<4, 4, T, Q> const& m, T const& epsilon); + + /// Return whether a matrix is an orthonormalized matrix. + /// From GLM_GTX_matrix_query extension. + template class matType> + GLM_FUNC_DECL bool isOrthogonal(matType const& m, T const& epsilon); + + /// @} +}//namespace glm + +#include "matrix_query.inl" diff --git a/MacroLibX/third_party/glm/gtx/matrix_query.inl b/MacroLibX/third_party/glm/gtx/matrix_query.inl new file mode 100644 index 0000000..77bd231 --- /dev/null +++ b/MacroLibX/third_party/glm/gtx/matrix_query.inl @@ -0,0 +1,113 @@ +/// @ref gtx_matrix_query + +namespace glm +{ + template + GLM_FUNC_QUALIFIER bool isNull(mat<2, 2, T, Q> const& m, T const& epsilon) + { + bool result = true; + for(length_t i = 0; result && i < m.length() ; ++i) + result = isNull(m[i], epsilon); + return result; + } + + template + GLM_FUNC_QUALIFIER bool isNull(mat<3, 3, T, Q> const& m, T const& epsilon) + { + bool result = true; + for(length_t i = 0; result && i < m.length() ; ++i) + result = isNull(m[i], epsilon); + return result; + } + + template + GLM_FUNC_QUALIFIER bool isNull(mat<4, 4, T, Q> const& m, T const& epsilon) + { + bool result = true; + for(length_t i = 0; result && i < m.length() ; ++i) + result = isNull(m[i], epsilon); + return result; + } + + template + GLM_FUNC_QUALIFIER bool isIdentity(mat const& m, T const& epsilon) + { + bool result = true; + for(length_t i = 0; result && i < m[0].length() ; ++i) + { + for(length_t j = 0; result && j < i ; ++j) + result = abs(m[i][j]) <= epsilon; + if(result) + result = abs(m[i][i] - 1) <= epsilon; + for(length_t j = i + 1; result && j < m.length(); ++j) + result = abs(m[i][j]) <= epsilon; + } + return result; + } + + template + GLM_FUNC_QUALIFIER bool isNormalized(mat<2, 2, T, Q> const& m, T const& epsilon) + { + bool result(true); + for(length_t i = 0; result && i < m.length(); ++i) + result = isNormalized(m[i], epsilon); + for(length_t i = 0; result && i < m.length(); ++i) + { + typename mat<2, 2, T, Q>::col_type v; + for(length_t j = 0; j < m.length(); ++j) + v[j] = m[j][i]; + result = isNormalized(v, epsilon); + } + return result; + } + + template + GLM_FUNC_QUALIFIER bool isNormalized(mat<3, 3, T, Q> const& m, T const& epsilon) + { + bool result(true); + for(length_t i = 0; result && i < m.length(); ++i) + result = isNormalized(m[i], epsilon); + for(length_t i = 0; result && i < m.length(); ++i) + { + typename mat<3, 3, T, Q>::col_type v; + for(length_t j = 0; j < m.length(); ++j) + v[j] = m[j][i]; + result = isNormalized(v, epsilon); + } + return result; + } + + template + GLM_FUNC_QUALIFIER bool isNormalized(mat<4, 4, T, Q> const& m, T const& epsilon) + { + bool result(true); + for(length_t i = 0; result && i < m.length(); ++i) + result = isNormalized(m[i], epsilon); + for(length_t i = 0; result && i < m.length(); ++i) + { + typename mat<4, 4, T, Q>::col_type v; + for(length_t j = 0; j < m.length(); ++j) + v[j] = m[j][i]; + result = isNormalized(v, epsilon); + } + return result; + } + + template + GLM_FUNC_QUALIFIER bool isOrthogonal(mat const& m, T const& epsilon) + { + bool result = true; + for(length_t i(0); result && i < m.length() - 1; ++i) + for(length_t j(i + 1); result && j < m.length(); ++j) + result = areOrthogonal(m[i], m[j], epsilon); + + if(result) + { + mat tmp = transpose(m); + for(length_t i(0); result && i < m.length() - 1 ; ++i) + for(length_t j(i + 1); result && j < m.length(); ++j) + result = areOrthogonal(tmp[i], tmp[j], epsilon); + } + return result; + } +}//namespace glm diff --git a/MacroLibX/third_party/glm/gtx/matrix_transform_2d.hpp b/MacroLibX/third_party/glm/gtx/matrix_transform_2d.hpp new file mode 100644 index 0000000..5f9c540 --- /dev/null +++ b/MacroLibX/third_party/glm/gtx/matrix_transform_2d.hpp @@ -0,0 +1,81 @@ +/// @ref gtx_matrix_transform_2d +/// @file glm/gtx/matrix_transform_2d.hpp +/// @author Miguel Ángel PÊrez Martínez +/// +/// @see core (dependence) +/// +/// @defgroup gtx_matrix_transform_2d GLM_GTX_matrix_transform_2d +/// @ingroup gtx +/// +/// Include to use the features of this extension. +/// +/// Defines functions that generate common 2d transformation matrices. + +#pragma once + +// Dependency: +#include "../mat3x3.hpp" +#include "../vec2.hpp" + +#if GLM_MESSAGES == GLM_ENABLE && !defined(GLM_EXT_INCLUDED) +# ifndef GLM_ENABLE_EXPERIMENTAL +# pragma message("GLM: GLM_GTX_matrix_transform_2d is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it.") +# else +# pragma message("GLM: GLM_GTX_matrix_transform_2d extension included") +# endif +#endif + +namespace glm +{ + /// @addtogroup gtx_matrix_transform_2d + /// @{ + + /// Builds a translation 3 * 3 matrix created from a vector of 2 components. + /// + /// @param m Input matrix multiplied by this translation matrix. + /// @param v Coordinates of a translation vector. + template + GLM_FUNC_QUALIFIER mat<3, 3, T, Q> translate( + mat<3, 3, T, Q> const& m, + vec<2, T, Q> const& v); + + /// Builds a rotation 3 * 3 matrix created from an angle. + /// + /// @param m Input matrix multiplied by this translation matrix. + /// @param angle Rotation angle expressed in radians. + template + GLM_FUNC_QUALIFIER mat<3, 3, T, Q> rotate( + mat<3, 3, T, Q> const& m, + T angle); + + /// Builds a scale 3 * 3 matrix created from a vector of 2 components. + /// + /// @param m Input matrix multiplied by this translation matrix. + /// @param v Coordinates of a scale vector. + template + GLM_FUNC_QUALIFIER mat<3, 3, T, Q> scale( + mat<3, 3, T, Q> const& m, + vec<2, T, Q> const& v); + + /// Builds an horizontal (parallel to the x axis) shear 3 * 3 matrix. + /// + /// @param m Input matrix multiplied by this translation matrix. + /// @param y Shear factor. + template + GLM_FUNC_QUALIFIER mat<3, 3, T, Q> shearX( + mat<3, 3, T, Q> const& m, + T y); + + /// Builds a vertical (parallel to the y axis) shear 3 * 3 matrix. + /// + /// @param m Input matrix multiplied by this translation matrix. + /// @param x Shear factor. + template + GLM_FUNC_QUALIFIER mat<3, 3, T, Q> shearY( + mat<3, 3, T, Q> const& m, + T x); + + /// @} +}//namespace glm + +#include "matrix_transform_2d.inl" diff --git a/MacroLibX/third_party/glm/gtx/matrix_transform_2d.inl b/MacroLibX/third_party/glm/gtx/matrix_transform_2d.inl new file mode 100644 index 0000000..a68d24d --- /dev/null +++ b/MacroLibX/third_party/glm/gtx/matrix_transform_2d.inl @@ -0,0 +1,68 @@ +/// @ref gtx_matrix_transform_2d +/// @author Miguel Ángel PÊrez Martínez + +#include "../trigonometric.hpp" + +namespace glm +{ + + template + GLM_FUNC_QUALIFIER mat<3, 3, T, Q> translate( + mat<3, 3, T, Q> const& m, + vec<2, T, Q> const& v) + { + mat<3, 3, T, Q> Result(m); + Result[2] = m[0] * v[0] + m[1] * v[1] + m[2]; + return Result; + } + + + template + GLM_FUNC_QUALIFIER mat<3, 3, T, Q> rotate( + mat<3, 3, T, Q> const& m, + T angle) + { + T const a = angle; + T const c = cos(a); + T const s = sin(a); + + mat<3, 3, T, Q> Result; + Result[0] = m[0] * c + m[1] * s; + Result[1] = m[0] * -s + m[1] * c; + Result[2] = m[2]; + return Result; + } + + template + GLM_FUNC_QUALIFIER mat<3, 3, T, Q> scale( + mat<3, 3, T, Q> const& m, + vec<2, T, Q> const& v) + { + mat<3, 3, T, Q> Result; + Result[0] = m[0] * v[0]; + Result[1] = m[1] * v[1]; + Result[2] = m[2]; + return Result; + } + + template + GLM_FUNC_QUALIFIER mat<3, 3, T, Q> shearX( + mat<3, 3, T, Q> const& m, + T y) + { + mat<3, 3, T, Q> Result(1); + Result[0][1] = y; + return m * Result; + } + + template + GLM_FUNC_QUALIFIER mat<3, 3, T, Q> shearY( + mat<3, 3, T, Q> const& m, + T x) + { + mat<3, 3, T, Q> Result(1); + Result[1][0] = x; + return m * Result; + } + +}//namespace glm diff --git a/MacroLibX/third_party/glm/gtx/mixed_product.hpp b/MacroLibX/third_party/glm/gtx/mixed_product.hpp new file mode 100644 index 0000000..b242e35 --- /dev/null +++ b/MacroLibX/third_party/glm/gtx/mixed_product.hpp @@ -0,0 +1,41 @@ +/// @ref gtx_mixed_product +/// @file glm/gtx/mixed_product.hpp +/// +/// @see core (dependence) +/// +/// @defgroup gtx_mixed_product GLM_GTX_mixed_producte +/// @ingroup gtx +/// +/// Include to use the features of this extension. +/// +/// Mixed product of 3 vectors. + +#pragma once + +// Dependency: +#include "../glm.hpp" + +#if GLM_MESSAGES == GLM_ENABLE && !defined(GLM_EXT_INCLUDED) +# ifndef GLM_ENABLE_EXPERIMENTAL +# pragma message("GLM: GLM_GTX_mixed_product is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it.") +# else +# pragma message("GLM: GLM_GTX_mixed_product extension included") +# endif +#endif + +namespace glm +{ + /// @addtogroup gtx_mixed_product + /// @{ + + /// @brief Mixed product of 3 vectors (from GLM_GTX_mixed_product extension) + template + GLM_FUNC_DECL T mixedProduct( + vec<3, T, Q> const& v1, + vec<3, T, Q> const& v2, + vec<3, T, Q> const& v3); + + /// @} +}// namespace glm + +#include "mixed_product.inl" diff --git a/MacroLibX/third_party/glm/gtx/mixed_product.inl b/MacroLibX/third_party/glm/gtx/mixed_product.inl new file mode 100644 index 0000000..e5cdbdb --- /dev/null +++ b/MacroLibX/third_party/glm/gtx/mixed_product.inl @@ -0,0 +1,15 @@ +/// @ref gtx_mixed_product + +namespace glm +{ + template + GLM_FUNC_QUALIFIER T mixedProduct + ( + vec<3, T, Q> const& v1, + vec<3, T, Q> const& v2, + vec<3, T, Q> const& v3 + ) + { + return dot(cross(v1, v2), v3); + } +}//namespace glm diff --git a/MacroLibX/third_party/glm/gtx/norm.hpp b/MacroLibX/third_party/glm/gtx/norm.hpp new file mode 100644 index 0000000..dfaebb7 --- /dev/null +++ b/MacroLibX/third_party/glm/gtx/norm.hpp @@ -0,0 +1,88 @@ +/// @ref gtx_norm +/// @file glm/gtx/norm.hpp +/// +/// @see core (dependence) +/// @see gtx_quaternion (dependence) +/// @see gtx_component_wise (dependence) +/// +/// @defgroup gtx_norm GLM_GTX_norm +/// @ingroup gtx +/// +/// Include to use the features of this extension. +/// +/// Various ways to compute vector norms. + +#pragma once + +// Dependency: +#include "../geometric.hpp" +#include "../gtx/quaternion.hpp" +#include "../gtx/component_wise.hpp" + +#if GLM_MESSAGES == GLM_ENABLE && !defined(GLM_EXT_INCLUDED) +# ifndef GLM_ENABLE_EXPERIMENTAL +# pragma message("GLM: GLM_GTX_norm is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it.") +# else +# pragma message("GLM: GLM_GTX_norm extension included") +# endif +#endif + +namespace glm +{ + /// @addtogroup gtx_norm + /// @{ + + /// Returns the squared length of x. + /// From GLM_GTX_norm extension. + template + GLM_FUNC_DECL T length2(vec const& x); + + /// Returns the squared distance between p0 and p1, i.e., length2(p0 - p1). + /// From GLM_GTX_norm extension. + template + GLM_FUNC_DECL T distance2(vec const& p0, vec const& p1); + + //! Returns the L1 norm between x and y. + //! From GLM_GTX_norm extension. + template + GLM_FUNC_DECL T l1Norm(vec<3, T, Q> const& x, vec<3, T, Q> const& y); + + //! Returns the L1 norm of v. + //! From GLM_GTX_norm extension. + template + GLM_FUNC_DECL T l1Norm(vec<3, T, Q> const& v); + + //! Returns the L2 norm between x and y. + //! From GLM_GTX_norm extension. + template + GLM_FUNC_DECL T l2Norm(vec<3, T, Q> const& x, vec<3, T, Q> const& y); + + //! Returns the L2 norm of v. + //! From GLM_GTX_norm extension. + template + GLM_FUNC_DECL T l2Norm(vec<3, T, Q> const& x); + + //! Returns the L norm between x and y. + //! From GLM_GTX_norm extension. + template + GLM_FUNC_DECL T lxNorm(vec<3, T, Q> const& x, vec<3, T, Q> const& y, unsigned int Depth); + + //! Returns the L norm of v. + //! From GLM_GTX_norm extension. + template + GLM_FUNC_DECL T lxNorm(vec<3, T, Q> const& x, unsigned int Depth); + + //! Returns the LMax norm between x and y. + //! From GLM_GTX_norm extension. + template + GLM_FUNC_DECL T lMaxNorm(vec<3, T, Q> const& x, vec<3, T, Q> const& y); + + //! Returns the LMax norm of v. + //! From GLM_GTX_norm extension. + template + GLM_FUNC_DECL T lMaxNorm(vec<3, T, Q> const& x); + + /// @} +}//namespace glm + +#include "norm.inl" diff --git a/MacroLibX/third_party/glm/gtx/norm.inl b/MacroLibX/third_party/glm/gtx/norm.inl new file mode 100644 index 0000000..6db561b --- /dev/null +++ b/MacroLibX/third_party/glm/gtx/norm.inl @@ -0,0 +1,95 @@ +/// @ref gtx_norm + +#include "../detail/qualifier.hpp" + +namespace glm{ +namespace detail +{ + template + struct compute_length2 + { + GLM_FUNC_QUALIFIER static T call(vec const& v) + { + return dot(v, v); + } + }; +}//namespace detail + + template + GLM_FUNC_QUALIFIER genType length2(genType x) + { + GLM_STATIC_ASSERT(std::numeric_limits::is_iec559, "'length2' accepts only floating-point inputs"); + return x * x; + } + + template + GLM_FUNC_QUALIFIER T length2(vec const& v) + { + GLM_STATIC_ASSERT(std::numeric_limits::is_iec559, "'length2' accepts only floating-point inputs"); + return detail::compute_length2::value>::call(v); + } + + template + GLM_FUNC_QUALIFIER T distance2(T p0, T p1) + { + GLM_STATIC_ASSERT(std::numeric_limits::is_iec559, "'distance2' accepts only floating-point inputs"); + return length2(p1 - p0); + } + + template + GLM_FUNC_QUALIFIER T distance2(vec const& p0, vec const& p1) + { + GLM_STATIC_ASSERT(std::numeric_limits::is_iec559, "'distance2' accepts only floating-point inputs"); + return length2(p1 - p0); + } + + template + GLM_FUNC_QUALIFIER T l1Norm(vec<3, T, Q> const& a, vec<3, T, Q> const& b) + { + return abs(b.x - a.x) + abs(b.y - a.y) + abs(b.z - a.z); + } + + template + GLM_FUNC_QUALIFIER T l1Norm(vec<3, T, Q> const& v) + { + return abs(v.x) + abs(v.y) + abs(v.z); + } + + template + GLM_FUNC_QUALIFIER T l2Norm(vec<3, T, Q> const& a, vec<3, T, Q> const& b + ) + { + return length(b - a); + } + + template + GLM_FUNC_QUALIFIER T l2Norm(vec<3, T, Q> const& v) + { + return length(v); + } + + template + GLM_FUNC_QUALIFIER T lxNorm(vec<3, T, Q> const& x, vec<3, T, Q> const& y, unsigned int Depth) + { + return pow(pow(abs(y.x - x.x), T(Depth)) + pow(abs(y.y - x.y), T(Depth)) + pow(abs(y.z - x.z), T(Depth)), T(1) / T(Depth)); + } + + template + GLM_FUNC_QUALIFIER T lxNorm(vec<3, T, Q> const& v, unsigned int Depth) + { + return pow(pow(abs(v.x), T(Depth)) + pow(abs(v.y), T(Depth)) + pow(abs(v.z), T(Depth)), T(1) / T(Depth)); + } + + template + GLM_FUNC_QUALIFIER T lMaxNorm(vec<3, T, Q> const& a, vec<3, T, Q> const& b) + { + return compMax(abs(b - a)); + } + + template + GLM_FUNC_QUALIFIER T lMaxNorm(vec<3, T, Q> const& v) + { + return compMax(abs(v)); + } + +}//namespace glm diff --git a/MacroLibX/third_party/glm/gtx/normal.hpp b/MacroLibX/third_party/glm/gtx/normal.hpp new file mode 100644 index 0000000..068682f --- /dev/null +++ b/MacroLibX/third_party/glm/gtx/normal.hpp @@ -0,0 +1,41 @@ +/// @ref gtx_normal +/// @file glm/gtx/normal.hpp +/// +/// @see core (dependence) +/// @see gtx_extented_min_max (dependence) +/// +/// @defgroup gtx_normal GLM_GTX_normal +/// @ingroup gtx +/// +/// Include to use the features of this extension. +/// +/// Compute the normal of a triangle. + +#pragma once + +// Dependency: +#include "../glm.hpp" + +#if GLM_MESSAGES == GLM_ENABLE && !defined(GLM_EXT_INCLUDED) +# ifndef GLM_ENABLE_EXPERIMENTAL +# pragma message("GLM: GLM_GTX_normal is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it.") +# else +# pragma message("GLM: GLM_GTX_normal extension included") +# endif +#endif + +namespace glm +{ + /// @addtogroup gtx_normal + /// @{ + + /// Computes triangle normal from triangle points. + /// + /// @see gtx_normal + template + GLM_FUNC_DECL vec<3, T, Q> triangleNormal(vec<3, T, Q> const& p1, vec<3, T, Q> const& p2, vec<3, T, Q> const& p3); + + /// @} +}//namespace glm + +#include "normal.inl" diff --git a/MacroLibX/third_party/glm/gtx/normal.inl b/MacroLibX/third_party/glm/gtx/normal.inl new file mode 100644 index 0000000..74f9fc9 --- /dev/null +++ b/MacroLibX/third_party/glm/gtx/normal.inl @@ -0,0 +1,15 @@ +/// @ref gtx_normal + +namespace glm +{ + template + GLM_FUNC_QUALIFIER vec<3, T, Q> triangleNormal + ( + vec<3, T, Q> const& p1, + vec<3, T, Q> const& p2, + vec<3, T, Q> const& p3 + ) + { + return normalize(cross(p1 - p2, p1 - p3)); + } +}//namespace glm diff --git a/MacroLibX/third_party/glm/gtx/normalize_dot.hpp b/MacroLibX/third_party/glm/gtx/normalize_dot.hpp new file mode 100644 index 0000000..5195802 --- /dev/null +++ b/MacroLibX/third_party/glm/gtx/normalize_dot.hpp @@ -0,0 +1,49 @@ +/// @ref gtx_normalize_dot +/// @file glm/gtx/normalize_dot.hpp +/// +/// @see core (dependence) +/// @see gtx_fast_square_root (dependence) +/// +/// @defgroup gtx_normalize_dot GLM_GTX_normalize_dot +/// @ingroup gtx +/// +/// Include to use the features of this extension. +/// +/// Dot product of vectors that need to be normalize with a single square root. + +#pragma once + +// Dependency: +#include "../gtx/fast_square_root.hpp" + +#if GLM_MESSAGES == GLM_ENABLE && !defined(GLM_EXT_INCLUDED) +# ifndef GLM_ENABLE_EXPERIMENTAL +# pragma message("GLM: GLM_GTX_normalize_dot is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it.") +# else +# pragma message("GLM: GLM_GTX_normalize_dot extension included") +# endif +#endif + +namespace glm +{ + /// @addtogroup gtx_normalize_dot + /// @{ + + /// Normalize parameters and returns the dot product of x and y. + /// It's faster that dot(normalize(x), normalize(y)). + /// + /// @see gtx_normalize_dot extension. + template + GLM_FUNC_DECL T normalizeDot(vec const& x, vec const& y); + + /// Normalize parameters and returns the dot product of x and y. + /// Faster that dot(fastNormalize(x), fastNormalize(y)). + /// + /// @see gtx_normalize_dot extension. + template + GLM_FUNC_DECL T fastNormalizeDot(vec const& x, vec const& y); + + /// @} +}//namespace glm + +#include "normalize_dot.inl" diff --git a/MacroLibX/third_party/glm/gtx/normalize_dot.inl b/MacroLibX/third_party/glm/gtx/normalize_dot.inl new file mode 100644 index 0000000..7bcd9a5 --- /dev/null +++ b/MacroLibX/third_party/glm/gtx/normalize_dot.inl @@ -0,0 +1,16 @@ +/// @ref gtx_normalize_dot + +namespace glm +{ + template + GLM_FUNC_QUALIFIER T normalizeDot(vec const& x, vec const& y) + { + return glm::dot(x, y) * glm::inversesqrt(glm::dot(x, x) * glm::dot(y, y)); + } + + template + GLM_FUNC_QUALIFIER T fastNormalizeDot(vec const& x, vec const& y) + { + return glm::dot(x, y) * glm::fastInverseSqrt(glm::dot(x, x) * glm::dot(y, y)); + } +}//namespace glm diff --git a/MacroLibX/third_party/glm/gtx/number_precision.hpp b/MacroLibX/third_party/glm/gtx/number_precision.hpp new file mode 100644 index 0000000..3a606bd --- /dev/null +++ b/MacroLibX/third_party/glm/gtx/number_precision.hpp @@ -0,0 +1,61 @@ +/// @ref gtx_number_precision +/// @file glm/gtx/number_precision.hpp +/// +/// @see core (dependence) +/// @see gtc_type_precision (dependence) +/// @see gtc_quaternion (dependence) +/// +/// @defgroup gtx_number_precision GLM_GTX_number_precision +/// @ingroup gtx +/// +/// Include to use the features of this extension. +/// +/// Defined size types. + +#pragma once + +// Dependency: +#include "../glm.hpp" +#include "../gtc/type_precision.hpp" + +#if GLM_MESSAGES == GLM_ENABLE && !defined(GLM_EXT_INCLUDED) +# ifndef GLM_ENABLE_EXPERIMENTAL +# pragma message("GLM: GLM_GTX_number_precision is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it.") +# else +# pragma message("GLM: GLM_GTX_number_precision extension included") +# endif +#endif + +namespace glm{ +namespace gtx +{ + ///////////////////////////// + // Unsigned int vector types + + /// @addtogroup gtx_number_precision + /// @{ + + typedef u8 u8vec1; //!< \brief 8bit unsigned integer scalar. (from GLM_GTX_number_precision extension) + typedef u16 u16vec1; //!< \brief 16bit unsigned integer scalar. (from GLM_GTX_number_precision extension) + typedef u32 u32vec1; //!< \brief 32bit unsigned integer scalar. (from GLM_GTX_number_precision extension) + typedef u64 u64vec1; //!< \brief 64bit unsigned integer scalar. (from GLM_GTX_number_precision extension) + + ////////////////////// + // Float vector types + + typedef f32 f32vec1; //!< \brief Single-qualifier floating-point scalar. (from GLM_GTX_number_precision extension) + typedef f64 f64vec1; //!< \brief Single-qualifier floating-point scalar. (from GLM_GTX_number_precision extension) + + ////////////////////// + // Float matrix types + + typedef f32 f32mat1; //!< \brief Single-qualifier floating-point scalar. (from GLM_GTX_number_precision extension) + typedef f32 f32mat1x1; //!< \brief Single-qualifier floating-point scalar. (from GLM_GTX_number_precision extension) + typedef f64 f64mat1; //!< \brief Double-qualifier floating-point scalar. (from GLM_GTX_number_precision extension) + typedef f64 f64mat1x1; //!< \brief Double-qualifier floating-point scalar. (from GLM_GTX_number_precision extension) + + /// @} +}//namespace gtx +}//namespace glm + +#include "number_precision.inl" diff --git a/MacroLibX/third_party/glm/gtx/number_precision.inl b/MacroLibX/third_party/glm/gtx/number_precision.inl new file mode 100644 index 0000000..b39d71c --- /dev/null +++ b/MacroLibX/third_party/glm/gtx/number_precision.inl @@ -0,0 +1,6 @@ +/// @ref gtx_number_precision + +namespace glm +{ + +} diff --git a/MacroLibX/third_party/glm/gtx/optimum_pow.hpp b/MacroLibX/third_party/glm/gtx/optimum_pow.hpp new file mode 100644 index 0000000..9284a47 --- /dev/null +++ b/MacroLibX/third_party/glm/gtx/optimum_pow.hpp @@ -0,0 +1,54 @@ +/// @ref gtx_optimum_pow +/// @file glm/gtx/optimum_pow.hpp +/// +/// @see core (dependence) +/// +/// @defgroup gtx_optimum_pow GLM_GTX_optimum_pow +/// @ingroup gtx +/// +/// Include to use the features of this extension. +/// +/// Integer exponentiation of power functions. + +#pragma once + +// Dependency: +#include "../glm.hpp" + +#if GLM_MESSAGES == GLM_ENABLE && !defined(GLM_EXT_INCLUDED) +# ifndef GLM_ENABLE_EXPERIMENTAL +# pragma message("GLM: GLM_GTX_optimum_pow is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it.") +# else +# pragma message("GLM: GLM_GTX_optimum_pow extension included") +# endif +#endif + +namespace glm{ +namespace gtx +{ + /// @addtogroup gtx_optimum_pow + /// @{ + + /// Returns x raised to the power of 2. + /// + /// @see gtx_optimum_pow + template + GLM_FUNC_DECL genType pow2(genType const& x); + + /// Returns x raised to the power of 3. + /// + /// @see gtx_optimum_pow + template + GLM_FUNC_DECL genType pow3(genType const& x); + + /// Returns x raised to the power of 4. + /// + /// @see gtx_optimum_pow + template + GLM_FUNC_DECL genType pow4(genType const& x); + + /// @} +}//namespace gtx +}//namespace glm + +#include "optimum_pow.inl" diff --git a/MacroLibX/third_party/glm/gtx/optimum_pow.inl b/MacroLibX/third_party/glm/gtx/optimum_pow.inl new file mode 100644 index 0000000..a26c19c --- /dev/null +++ b/MacroLibX/third_party/glm/gtx/optimum_pow.inl @@ -0,0 +1,22 @@ +/// @ref gtx_optimum_pow + +namespace glm +{ + template + GLM_FUNC_QUALIFIER genType pow2(genType const& x) + { + return x * x; + } + + template + GLM_FUNC_QUALIFIER genType pow3(genType const& x) + { + return x * x * x; + } + + template + GLM_FUNC_QUALIFIER genType pow4(genType const& x) + { + return (x * x) * (x * x); + } +}//namespace glm diff --git a/MacroLibX/third_party/glm/gtx/orthonormalize.hpp b/MacroLibX/third_party/glm/gtx/orthonormalize.hpp new file mode 100644 index 0000000..3e004fb --- /dev/null +++ b/MacroLibX/third_party/glm/gtx/orthonormalize.hpp @@ -0,0 +1,49 @@ +/// @ref gtx_orthonormalize +/// @file glm/gtx/orthonormalize.hpp +/// +/// @see core (dependence) +/// @see gtx_extented_min_max (dependence) +/// +/// @defgroup gtx_orthonormalize GLM_GTX_orthonormalize +/// @ingroup gtx +/// +/// Include to use the features of this extension. +/// +/// Orthonormalize matrices. + +#pragma once + +// Dependency: +#include "../vec3.hpp" +#include "../mat3x3.hpp" +#include "../geometric.hpp" + +#if GLM_MESSAGES == GLM_ENABLE && !defined(GLM_EXT_INCLUDED) +# ifndef GLM_ENABLE_EXPERIMENTAL +# pragma message("GLM: GLM_GTX_orthonormalize is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it.") +# else +# pragma message("GLM: GLM_GTX_orthonormalize extension included") +# endif +#endif + +namespace glm +{ + /// @addtogroup gtx_orthonormalize + /// @{ + + /// Returns the orthonormalized matrix of m. + /// + /// @see gtx_orthonormalize + template + GLM_FUNC_DECL mat<3, 3, T, Q> orthonormalize(mat<3, 3, T, Q> const& m); + + /// Orthonormalizes x according y. + /// + /// @see gtx_orthonormalize + template + GLM_FUNC_DECL vec<3, T, Q> orthonormalize(vec<3, T, Q> const& x, vec<3, T, Q> const& y); + + /// @} +}//namespace glm + +#include "orthonormalize.inl" diff --git a/MacroLibX/third_party/glm/gtx/orthonormalize.inl b/MacroLibX/third_party/glm/gtx/orthonormalize.inl new file mode 100644 index 0000000..cb553ba --- /dev/null +++ b/MacroLibX/third_party/glm/gtx/orthonormalize.inl @@ -0,0 +1,29 @@ +/// @ref gtx_orthonormalize + +namespace glm +{ + template + GLM_FUNC_QUALIFIER mat<3, 3, T, Q> orthonormalize(mat<3, 3, T, Q> const& m) + { + mat<3, 3, T, Q> r = m; + + r[0] = normalize(r[0]); + + T d0 = dot(r[0], r[1]); + r[1] -= r[0] * d0; + r[1] = normalize(r[1]); + + T d1 = dot(r[1], r[2]); + d0 = dot(r[0], r[2]); + r[2] -= r[0] * d0 + r[1] * d1; + r[2] = normalize(r[2]); + + return r; + } + + template + GLM_FUNC_QUALIFIER vec<3, T, Q> orthonormalize(vec<3, T, Q> const& x, vec<3, T, Q> const& y) + { + return normalize(x - y * dot(y, x)); + } +}//namespace glm diff --git a/MacroLibX/third_party/glm/gtx/perpendicular.hpp b/MacroLibX/third_party/glm/gtx/perpendicular.hpp new file mode 100644 index 0000000..72b77b6 --- /dev/null +++ b/MacroLibX/third_party/glm/gtx/perpendicular.hpp @@ -0,0 +1,41 @@ +/// @ref gtx_perpendicular +/// @file glm/gtx/perpendicular.hpp +/// +/// @see core (dependence) +/// @see gtx_projection (dependence) +/// +/// @defgroup gtx_perpendicular GLM_GTX_perpendicular +/// @ingroup gtx +/// +/// Include to use the features of this extension. +/// +/// Perpendicular of a vector from other one + +#pragma once + +// Dependency: +#include "../glm.hpp" +#include "../gtx/projection.hpp" + +#if GLM_MESSAGES == GLM_ENABLE && !defined(GLM_EXT_INCLUDED) +# ifndef GLM_ENABLE_EXPERIMENTAL +# pragma message("GLM: GLM_GTX_perpendicular is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it.") +# else +# pragma message("GLM: GLM_GTX_perpendicular extension included") +# endif +#endif + +namespace glm +{ + /// @addtogroup gtx_perpendicular + /// @{ + + //! Projects x a perpendicular axis of Normal. + //! From GLM_GTX_perpendicular extension. + template + GLM_FUNC_DECL genType perp(genType const& x, genType const& Normal); + + /// @} +}//namespace glm + +#include "perpendicular.inl" diff --git a/MacroLibX/third_party/glm/gtx/perpendicular.inl b/MacroLibX/third_party/glm/gtx/perpendicular.inl new file mode 100644 index 0000000..1e72f33 --- /dev/null +++ b/MacroLibX/third_party/glm/gtx/perpendicular.inl @@ -0,0 +1,10 @@ +/// @ref gtx_perpendicular + +namespace glm +{ + template + GLM_FUNC_QUALIFIER genType perp(genType const& x, genType const& Normal) + { + return x - proj(x, Normal); + } +}//namespace glm diff --git a/MacroLibX/third_party/glm/gtx/polar_coordinates.hpp b/MacroLibX/third_party/glm/gtx/polar_coordinates.hpp new file mode 100644 index 0000000..b399112 --- /dev/null +++ b/MacroLibX/third_party/glm/gtx/polar_coordinates.hpp @@ -0,0 +1,48 @@ +/// @ref gtx_polar_coordinates +/// @file glm/gtx/polar_coordinates.hpp +/// +/// @see core (dependence) +/// +/// @defgroup gtx_polar_coordinates GLM_GTX_polar_coordinates +/// @ingroup gtx +/// +/// Include to use the features of this extension. +/// +/// Conversion from Euclidean space to polar space and revert. + +#pragma once + +// Dependency: +#include "../glm.hpp" + +#if GLM_MESSAGES == GLM_ENABLE && !defined(GLM_EXT_INCLUDED) +# ifndef GLM_ENABLE_EXPERIMENTAL +# pragma message("GLM: GLM_GTX_polar_coordinates is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it.") +# else +# pragma message("GLM: GLM_GTX_polar_coordinates extension included") +# endif +#endif + +namespace glm +{ + /// @addtogroup gtx_polar_coordinates + /// @{ + + /// Convert Euclidean to Polar coordinates, x is the xz distance, y, the latitude and z the longitude. + /// + /// @see gtx_polar_coordinates + template + GLM_FUNC_DECL vec<3, T, Q> polar( + vec<3, T, Q> const& euclidean); + + /// Convert Polar to Euclidean coordinates. + /// + /// @see gtx_polar_coordinates + template + GLM_FUNC_DECL vec<3, T, Q> euclidean( + vec<2, T, Q> const& polar); + + /// @} +}//namespace glm + +#include "polar_coordinates.inl" diff --git a/MacroLibX/third_party/glm/gtx/polar_coordinates.inl b/MacroLibX/third_party/glm/gtx/polar_coordinates.inl new file mode 100644 index 0000000..371c8dd --- /dev/null +++ b/MacroLibX/third_party/glm/gtx/polar_coordinates.inl @@ -0,0 +1,36 @@ +/// @ref gtx_polar_coordinates + +namespace glm +{ + template + GLM_FUNC_QUALIFIER vec<3, T, Q> polar + ( + vec<3, T, Q> const& euclidean + ) + { + T const Length(length(euclidean)); + vec<3, T, Q> const tmp(euclidean / Length); + T const xz_dist(sqrt(tmp.x * tmp.x + tmp.z * tmp.z)); + + return vec<3, T, Q>( + asin(tmp.y), // latitude + atan(tmp.x, tmp.z), // longitude + xz_dist); // xz distance + } + + template + GLM_FUNC_QUALIFIER vec<3, T, Q> euclidean + ( + vec<2, T, Q> const& polar + ) + { + T const latitude(polar.x); + T const longitude(polar.y); + + return vec<3, T, Q>( + cos(latitude) * sin(longitude), + sin(latitude), + cos(latitude) * cos(longitude)); + } + +}//namespace glm diff --git a/MacroLibX/third_party/glm/gtx/projection.hpp b/MacroLibX/third_party/glm/gtx/projection.hpp new file mode 100644 index 0000000..678f3ad --- /dev/null +++ b/MacroLibX/third_party/glm/gtx/projection.hpp @@ -0,0 +1,43 @@ +/// @ref gtx_projection +/// @file glm/gtx/projection.hpp +/// +/// @see core (dependence) +/// +/// @defgroup gtx_projection GLM_GTX_projection +/// @ingroup gtx +/// +/// Include to use the features of this extension. +/// +/// Projection of a vector to other one + +#pragma once + +// Dependency: +#include "../geometric.hpp" + +#if GLM_MESSAGES == GLM_ENABLE && !defined(GLM_EXT_INCLUDED) +# ifndef GLM_ENABLE_EXPERIMENTAL +# pragma message("GLM: GLM_GTX_projection is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it.") +# else +# pragma message("GLM: GLM_GTX_projection extension included") +# endif +#endif + +namespace glm +{ + /// @addtogroup gtx_projection + /// @{ + + /// Projects x on Normal. + /// + /// @param[in] x A vector to project + /// @param[in] Normal A normal that doesn't need to be of unit length. + /// + /// @see gtx_projection + template + GLM_FUNC_DECL genType proj(genType const& x, genType const& Normal); + + /// @} +}//namespace glm + +#include "projection.inl" diff --git a/MacroLibX/third_party/glm/gtx/projection.inl b/MacroLibX/third_party/glm/gtx/projection.inl new file mode 100644 index 0000000..f23f884 --- /dev/null +++ b/MacroLibX/third_party/glm/gtx/projection.inl @@ -0,0 +1,10 @@ +/// @ref gtx_projection + +namespace glm +{ + template + GLM_FUNC_QUALIFIER genType proj(genType const& x, genType const& Normal) + { + return glm::dot(x, Normal) / glm::dot(Normal, Normal) * Normal; + } +}//namespace glm diff --git a/MacroLibX/third_party/glm/gtx/quaternion.hpp b/MacroLibX/third_party/glm/gtx/quaternion.hpp new file mode 100644 index 0000000..5c2b5ad --- /dev/null +++ b/MacroLibX/third_party/glm/gtx/quaternion.hpp @@ -0,0 +1,174 @@ +/// @ref gtx_quaternion +/// @file glm/gtx/quaternion.hpp +/// +/// @see core (dependence) +/// @see gtx_extented_min_max (dependence) +/// +/// @defgroup gtx_quaternion GLM_GTX_quaternion +/// @ingroup gtx +/// +/// Include to use the features of this extension. +/// +/// Extented quaternion types and functions + +#pragma once + +// Dependency: +#include "../glm.hpp" +#include "../gtc/constants.hpp" +#include "../gtc/quaternion.hpp" +#include "../ext/quaternion_exponential.hpp" +#include "../gtx/norm.hpp" + +#if GLM_MESSAGES == GLM_ENABLE && !defined(GLM_EXT_INCLUDED) +# ifndef GLM_ENABLE_EXPERIMENTAL +# pragma message("GLM: GLM_GTX_quaternion is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it.") +# else +# pragma message("GLM: GLM_GTX_quaternion extension included") +# endif +#endif + +namespace glm +{ + /// @addtogroup gtx_quaternion + /// @{ + + /// Create an identity quaternion. + /// + /// @see gtx_quaternion + template + GLM_FUNC_DECL GLM_CONSTEXPR qua quat_identity(); + + /// Compute a cross product between a quaternion and a vector. + /// + /// @see gtx_quaternion + template + GLM_FUNC_DECL vec<3, T, Q> cross( + qua const& q, + vec<3, T, Q> const& v); + + //! Compute a cross product between a vector and a quaternion. + /// + /// @see gtx_quaternion + template + GLM_FUNC_DECL vec<3, T, Q> cross( + vec<3, T, Q> const& v, + qua const& q); + + //! Compute a point on a path according squad equation. + //! q1 and q2 are control points; s1 and s2 are intermediate control points. + /// + /// @see gtx_quaternion + template + GLM_FUNC_DECL qua squad( + qua const& q1, + qua const& q2, + qua const& s1, + qua const& s2, + T const& h); + + //! Returns an intermediate control point for squad interpolation. + /// + /// @see gtx_quaternion + template + GLM_FUNC_DECL qua intermediate( + qua const& prev, + qua const& curr, + qua const& next); + + //! Returns quarternion square root. + /// + /// @see gtx_quaternion + //template + //qua sqrt( + // qua const& q); + + //! Rotates a 3 components vector by a quaternion. + /// + /// @see gtx_quaternion + template + GLM_FUNC_DECL vec<3, T, Q> rotate( + qua const& q, + vec<3, T, Q> const& v); + + /// Rotates a 4 components vector by a quaternion. + /// + /// @see gtx_quaternion + template + GLM_FUNC_DECL vec<4, T, Q> rotate( + qua const& q, + vec<4, T, Q> const& v); + + /// Extract the real component of a quaternion. + /// + /// @see gtx_quaternion + template + GLM_FUNC_DECL T extractRealComponent( + qua const& q); + + /// Converts a quaternion to a 3 * 3 matrix. + /// + /// @see gtx_quaternion + template + GLM_FUNC_DECL mat<3, 3, T, Q> toMat3( + qua const& x){return mat3_cast(x);} + + /// Converts a quaternion to a 4 * 4 matrix. + /// + /// @see gtx_quaternion + template + GLM_FUNC_DECL mat<4, 4, T, Q> toMat4( + qua const& x){return mat4_cast(x);} + + /// Converts a 3 * 3 matrix to a quaternion. + /// + /// @see gtx_quaternion + template + GLM_FUNC_DECL qua toQuat( + mat<3, 3, T, Q> const& x){return quat_cast(x);} + + /// Converts a 4 * 4 matrix to a quaternion. + /// + /// @see gtx_quaternion + template + GLM_FUNC_DECL qua toQuat( + mat<4, 4, T, Q> const& x){return quat_cast(x);} + + /// Quaternion interpolation using the rotation short path. + /// + /// @see gtx_quaternion + template + GLM_FUNC_DECL qua shortMix( + qua const& x, + qua const& y, + T const& a); + + /// Quaternion normalized linear interpolation. + /// + /// @see gtx_quaternion + template + GLM_FUNC_DECL qua fastMix( + qua const& x, + qua const& y, + T const& a); + + /// Compute the rotation between two vectors. + /// @param orig vector, needs to be normalized + /// @param dest vector, needs to be normalized + /// + /// @see gtx_quaternion + template + GLM_FUNC_DECL qua rotation( + vec<3, T, Q> const& orig, + vec<3, T, Q> const& dest); + + /// Returns the squared length of x. + /// + /// @see gtx_quaternion + template + GLM_FUNC_DECL GLM_CONSTEXPR T length2(qua const& q); + + /// @} +}//namespace glm + +#include "quaternion.inl" diff --git a/MacroLibX/third_party/glm/gtx/quaternion.inl b/MacroLibX/third_party/glm/gtx/quaternion.inl new file mode 100644 index 0000000..d125bcc --- /dev/null +++ b/MacroLibX/third_party/glm/gtx/quaternion.inl @@ -0,0 +1,159 @@ +/// @ref gtx_quaternion + +#include +#include "../gtc/constants.hpp" + +namespace glm +{ + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR qua quat_identity() + { + return qua(static_cast(1), static_cast(0), static_cast(0), static_cast(0)); + } + + template + GLM_FUNC_QUALIFIER vec<3, T, Q> cross(vec<3, T, Q> const& v, qua const& q) + { + return inverse(q) * v; + } + + template + GLM_FUNC_QUALIFIER vec<3, T, Q> cross(qua const& q, vec<3, T, Q> const& v) + { + return q * v; + } + + template + GLM_FUNC_QUALIFIER qua squad + ( + qua const& q1, + qua const& q2, + qua const& s1, + qua const& s2, + T const& h) + { + return mix(mix(q1, q2, h), mix(s1, s2, h), static_cast(2) * (static_cast(1) - h) * h); + } + + template + GLM_FUNC_QUALIFIER qua intermediate + ( + qua const& prev, + qua const& curr, + qua const& next + ) + { + qua invQuat = inverse(curr); + return exp((log(next * invQuat) + log(prev * invQuat)) / static_cast(-4)) * curr; + } + + template + GLM_FUNC_QUALIFIER vec<3, T, Q> rotate(qua const& q, vec<3, T, Q> const& v) + { + return q * v; + } + + template + GLM_FUNC_QUALIFIER vec<4, T, Q> rotate(qua const& q, vec<4, T, Q> const& v) + { + return q * v; + } + + template + GLM_FUNC_QUALIFIER T extractRealComponent(qua const& q) + { + T w = static_cast(1) - q.x * q.x - q.y * q.y - q.z * q.z; + if(w < T(0)) + return T(0); + else + return -sqrt(w); + } + + template + GLM_FUNC_QUALIFIER GLM_CONSTEXPR T length2(qua const& q) + { + return q.x * q.x + q.y * q.y + q.z * q.z + q.w * q.w; + } + + template + GLM_FUNC_QUALIFIER qua shortMix(qua const& x, qua const& y, T const& a) + { + if(a <= static_cast(0)) return x; + if(a >= static_cast(1)) return y; + + T fCos = dot(x, y); + qua y2(y); //BUG!!! qua y2; + if(fCos < static_cast(0)) + { + y2 = -y; + fCos = -fCos; + } + + //if(fCos > 1.0f) // problem + T k0, k1; + if(fCos > (static_cast(1) - epsilon())) + { + k0 = static_cast(1) - a; + k1 = static_cast(0) + a; //BUG!!! 1.0f + a; + } + else + { + T fSin = sqrt(T(1) - fCos * fCos); + T fAngle = atan(fSin, fCos); + T fOneOverSin = static_cast(1) / fSin; + k0 = sin((static_cast(1) - a) * fAngle) * fOneOverSin; + k1 = sin((static_cast(0) + a) * fAngle) * fOneOverSin; + } + + return qua( + k0 * x.w + k1 * y2.w, + k0 * x.x + k1 * y2.x, + k0 * x.y + k1 * y2.y, + k0 * x.z + k1 * y2.z); + } + + template + GLM_FUNC_QUALIFIER qua fastMix(qua const& x, qua const& y, T const& a) + { + return glm::normalize(x * (static_cast(1) - a) + (y * a)); + } + + template + GLM_FUNC_QUALIFIER qua rotation(vec<3, T, Q> const& orig, vec<3, T, Q> const& dest) + { + T cosTheta = dot(orig, dest); + vec<3, T, Q> rotationAxis; + + if(cosTheta >= static_cast(1) - epsilon()) { + // orig and dest point in the same direction + return quat_identity(); + } + + if(cosTheta < static_cast(-1) + epsilon()) + { + // special case when vectors in opposite directions : + // there is no "ideal" rotation axis + // So guess one; any will do as long as it's perpendicular to start + // This implementation favors a rotation around the Up axis (Y), + // since it's often what you want to do. + rotationAxis = cross(vec<3, T, Q>(0, 0, 1), orig); + if(length2(rotationAxis) < epsilon()) // bad luck, they were parallel, try again! + rotationAxis = cross(vec<3, T, Q>(1, 0, 0), orig); + + rotationAxis = normalize(rotationAxis); + return angleAxis(pi(), rotationAxis); + } + + // Implementation from Stan Melax's Game Programming Gems 1 article + rotationAxis = cross(orig, dest); + + T s = sqrt((T(1) + cosTheta) * static_cast(2)); + T invs = static_cast(1) / s; + + return qua( + s * static_cast(0.5f), + rotationAxis.x * invs, + rotationAxis.y * invs, + rotationAxis.z * invs); + } +}//namespace glm diff --git a/MacroLibX/third_party/glm/gtx/range.hpp b/MacroLibX/third_party/glm/gtx/range.hpp new file mode 100644 index 0000000..93bcb9a --- /dev/null +++ b/MacroLibX/third_party/glm/gtx/range.hpp @@ -0,0 +1,98 @@ +/// @ref gtx_range +/// @file glm/gtx/range.hpp +/// @author Joshua Moerman +/// +/// @defgroup gtx_range GLM_GTX_range +/// @ingroup gtx +/// +/// Include to use the features of this extension. +/// +/// Defines begin and end for vectors and matrices. Useful for range-based for loop. +/// The range is defined over the elements, not over columns or rows (e.g. mat4 has 16 elements). + +#pragma once + +// Dependencies +#include "../detail/setup.hpp" + +#if GLM_MESSAGES == GLM_ENABLE && !defined(GLM_EXT_INCLUDED) +# ifndef GLM_ENABLE_EXPERIMENTAL +# pragma message("GLM: GLM_GTX_range is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it.") +# else +# pragma message("GLM: GLM_GTX_range extension included") +# endif +#endif + +#include "../gtc/type_ptr.hpp" +#include "../gtc/vec1.hpp" + +namespace glm +{ + /// @addtogroup gtx_range + /// @{ + +# if GLM_COMPILER & GLM_COMPILER_VC +# pragma warning(push) +# pragma warning(disable : 4100) // unreferenced formal parameter +# endif + + template + inline length_t components(vec<1, T, Q> const& v) + { + return v.length(); + } + + template + inline length_t components(vec<2, T, Q> const& v) + { + return v.length(); + } + + template + inline length_t components(vec<3, T, Q> const& v) + { + return v.length(); + } + + template + inline length_t components(vec<4, T, Q> const& v) + { + return v.length(); + } + + template + inline length_t components(genType const& m) + { + return m.length() * m[0].length(); + } + + template + inline typename genType::value_type const * begin(genType const& v) + { + return value_ptr(v); + } + + template + inline typename genType::value_type const * end(genType const& v) + { + return begin(v) + components(v); + } + + template + inline typename genType::value_type * begin(genType& v) + { + return value_ptr(v); + } + + template + inline typename genType::value_type * end(genType& v) + { + return begin(v) + components(v); + } + +# if GLM_COMPILER & GLM_COMPILER_VC +# pragma warning(pop) +# endif + + /// @} +}//namespace glm diff --git a/MacroLibX/third_party/glm/gtx/raw_data.hpp b/MacroLibX/third_party/glm/gtx/raw_data.hpp new file mode 100644 index 0000000..86cbe77 --- /dev/null +++ b/MacroLibX/third_party/glm/gtx/raw_data.hpp @@ -0,0 +1,51 @@ +/// @ref gtx_raw_data +/// @file glm/gtx/raw_data.hpp +/// +/// @see core (dependence) +/// +/// @defgroup gtx_raw_data GLM_GTX_raw_data +/// @ingroup gtx +/// +/// Include to use the features of this extension. +/// +/// Projection of a vector to other one + +#pragma once + +// Dependencies +#include "../ext/scalar_uint_sized.hpp" +#include "../detail/setup.hpp" + +#if GLM_MESSAGES == GLM_ENABLE && !defined(GLM_EXT_INCLUDED) +# ifndef GLM_ENABLE_EXPERIMENTAL +# pragma message("GLM: GLM_GTX_raw_data is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it.") +# else +# pragma message("GLM: GLM_GTX_raw_data extension included") +# endif +#endif + +namespace glm +{ + /// @addtogroup gtx_raw_data + /// @{ + + //! Type for byte numbers. + //! From GLM_GTX_raw_data extension. + typedef detail::uint8 byte; + + //! Type for word numbers. + //! From GLM_GTX_raw_data extension. + typedef detail::uint16 word; + + //! Type for dword numbers. + //! From GLM_GTX_raw_data extension. + typedef detail::uint32 dword; + + //! Type for qword numbers. + //! From GLM_GTX_raw_data extension. + typedef detail::uint64 qword; + + /// @} +}// namespace glm + +#include "raw_data.inl" diff --git a/MacroLibX/third_party/glm/gtx/raw_data.inl b/MacroLibX/third_party/glm/gtx/raw_data.inl new file mode 100644 index 0000000..c740317 --- /dev/null +++ b/MacroLibX/third_party/glm/gtx/raw_data.inl @@ -0,0 +1,2 @@ +/// @ref gtx_raw_data + diff --git a/MacroLibX/third_party/glm/gtx/rotate_normalized_axis.hpp b/MacroLibX/third_party/glm/gtx/rotate_normalized_axis.hpp new file mode 100644 index 0000000..2103ca0 --- /dev/null +++ b/MacroLibX/third_party/glm/gtx/rotate_normalized_axis.hpp @@ -0,0 +1,68 @@ +/// @ref gtx_rotate_normalized_axis +/// @file glm/gtx/rotate_normalized_axis.hpp +/// +/// @see core (dependence) +/// @see gtc_matrix_transform +/// @see gtc_quaternion +/// +/// @defgroup gtx_rotate_normalized_axis GLM_GTX_rotate_normalized_axis +/// @ingroup gtx +/// +/// Include to use the features of this extension. +/// +/// Quaternions and matrices rotations around normalized axis. + +#pragma once + +// Dependency: +#include "../glm.hpp" +#include "../gtc/epsilon.hpp" +#include "../gtc/quaternion.hpp" + +#if GLM_MESSAGES == GLM_ENABLE && !defined(GLM_EXT_INCLUDED) +# ifndef GLM_ENABLE_EXPERIMENTAL +# pragma message("GLM: GLM_GTX_rotate_normalized_axis is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it.") +# else +# pragma message("GLM: GLM_GTX_rotate_normalized_axis extension included") +# endif +#endif + +namespace glm +{ + /// @addtogroup gtx_rotate_normalized_axis + /// @{ + + /// Builds a rotation 4 * 4 matrix created from a normalized axis and an angle. + /// + /// @param m Input matrix multiplied by this rotation matrix. + /// @param angle Rotation angle expressed in radians. + /// @param axis Rotation axis, must be normalized. + /// @tparam T Value type used to build the matrix. Currently supported: half (not recommended), float or double. + /// + /// @see gtx_rotate_normalized_axis + /// @see - rotate(T angle, T x, T y, T z) + /// @see - rotate(mat<4, 4, T, Q> const& m, T angle, T x, T y, T z) + /// @see - rotate(T angle, vec<3, T, Q> const& v) + template + GLM_FUNC_DECL mat<4, 4, T, Q> rotateNormalizedAxis( + mat<4, 4, T, Q> const& m, + T const& angle, + vec<3, T, Q> const& axis); + + /// Rotates a quaternion from a vector of 3 components normalized axis and an angle. + /// + /// @param q Source orientation + /// @param angle Angle expressed in radians. + /// @param axis Normalized axis of the rotation, must be normalized. + /// + /// @see gtx_rotate_normalized_axis + template + GLM_FUNC_DECL qua rotateNormalizedAxis( + qua const& q, + T const& angle, + vec<3, T, Q> const& axis); + + /// @} +}//namespace glm + +#include "rotate_normalized_axis.inl" diff --git a/MacroLibX/third_party/glm/gtx/rotate_normalized_axis.inl b/MacroLibX/third_party/glm/gtx/rotate_normalized_axis.inl new file mode 100644 index 0000000..b2e9278 --- /dev/null +++ b/MacroLibX/third_party/glm/gtx/rotate_normalized_axis.inl @@ -0,0 +1,58 @@ +/// @ref gtx_rotate_normalized_axis + +namespace glm +{ + template + GLM_FUNC_QUALIFIER mat<4, 4, T, Q> rotateNormalizedAxis + ( + mat<4, 4, T, Q> const& m, + T const& angle, + vec<3, T, Q> const& v + ) + { + T const a = angle; + T const c = cos(a); + T const s = sin(a); + + vec<3, T, Q> const axis(v); + + vec<3, T, Q> const temp((static_cast(1) - c) * axis); + + mat<4, 4, T, Q> Rotate; + Rotate[0][0] = c + temp[0] * axis[0]; + Rotate[0][1] = 0 + temp[0] * axis[1] + s * axis[2]; + Rotate[0][2] = 0 + temp[0] * axis[2] - s * axis[1]; + + Rotate[1][0] = 0 + temp[1] * axis[0] - s * axis[2]; + Rotate[1][1] = c + temp[1] * axis[1]; + Rotate[1][2] = 0 + temp[1] * axis[2] + s * axis[0]; + + Rotate[2][0] = 0 + temp[2] * axis[0] + s * axis[1]; + Rotate[2][1] = 0 + temp[2] * axis[1] - s * axis[0]; + Rotate[2][2] = c + temp[2] * axis[2]; + + mat<4, 4, T, Q> Result; + Result[0] = m[0] * Rotate[0][0] + m[1] * Rotate[0][1] + m[2] * Rotate[0][2]; + Result[1] = m[0] * Rotate[1][0] + m[1] * Rotate[1][1] + m[2] * Rotate[1][2]; + Result[2] = m[0] * Rotate[2][0] + m[1] * Rotate[2][1] + m[2] * Rotate[2][2]; + Result[3] = m[3]; + return Result; + } + + template + GLM_FUNC_QUALIFIER qua rotateNormalizedAxis + ( + qua const& q, + T const& angle, + vec<3, T, Q> const& v + ) + { + vec<3, T, Q> const Tmp(v); + + T const AngleRad(angle); + T const Sin = sin(AngleRad * T(0.5)); + + return q * qua(cos(AngleRad * static_cast(0.5)), Tmp.x * Sin, Tmp.y * Sin, Tmp.z * Sin); + //return gtc::quaternion::cross(q, tquat(cos(AngleRad * T(0.5)), Tmp.x * fSin, Tmp.y * fSin, Tmp.z * fSin)); + } +}//namespace glm diff --git a/MacroLibX/third_party/glm/gtx/rotate_vector.hpp b/MacroLibX/third_party/glm/gtx/rotate_vector.hpp new file mode 100644 index 0000000..dcd5b95 --- /dev/null +++ b/MacroLibX/third_party/glm/gtx/rotate_vector.hpp @@ -0,0 +1,123 @@ +/// @ref gtx_rotate_vector +/// @file glm/gtx/rotate_vector.hpp +/// +/// @see core (dependence) +/// @see gtx_transform (dependence) +/// +/// @defgroup gtx_rotate_vector GLM_GTX_rotate_vector +/// @ingroup gtx +/// +/// Include to use the features of this extension. +/// +/// Function to directly rotate a vector + +#pragma once + +// Dependency: +#include "../gtx/transform.hpp" +#include "../gtc/epsilon.hpp" +#include "../ext/vector_relational.hpp" +#include "../glm.hpp" + +#if GLM_MESSAGES == GLM_ENABLE && !defined(GLM_EXT_INCLUDED) +# ifndef GLM_ENABLE_EXPERIMENTAL +# pragma message("GLM: GLM_GTX_rotate_vector is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it.") +# else +# pragma message("GLM: GLM_GTX_rotate_vector extension included") +# endif +#endif + +namespace glm +{ + /// @addtogroup gtx_rotate_vector + /// @{ + + /// Returns Spherical interpolation between two vectors + /// + /// @param x A first vector + /// @param y A second vector + /// @param a Interpolation factor. The interpolation is defined beyond the range [0, 1]. + /// + /// @see gtx_rotate_vector + template + GLM_FUNC_DECL vec<3, T, Q> slerp( + vec<3, T, Q> const& x, + vec<3, T, Q> const& y, + T const& a); + + //! Rotate a two dimensional vector. + //! From GLM_GTX_rotate_vector extension. + template + GLM_FUNC_DECL vec<2, T, Q> rotate( + vec<2, T, Q> const& v, + T const& angle); + + //! Rotate a three dimensional vector around an axis. + //! From GLM_GTX_rotate_vector extension. + template + GLM_FUNC_DECL vec<3, T, Q> rotate( + vec<3, T, Q> const& v, + T const& angle, + vec<3, T, Q> const& normal); + + //! Rotate a four dimensional vector around an axis. + //! From GLM_GTX_rotate_vector extension. + template + GLM_FUNC_DECL vec<4, T, Q> rotate( + vec<4, T, Q> const& v, + T const& angle, + vec<3, T, Q> const& normal); + + //! Rotate a three dimensional vector around the X axis. + //! From GLM_GTX_rotate_vector extension. + template + GLM_FUNC_DECL vec<3, T, Q> rotateX( + vec<3, T, Q> const& v, + T const& angle); + + //! Rotate a three dimensional vector around the Y axis. + //! From GLM_GTX_rotate_vector extension. + template + GLM_FUNC_DECL vec<3, T, Q> rotateY( + vec<3, T, Q> const& v, + T const& angle); + + //! Rotate a three dimensional vector around the Z axis. + //! From GLM_GTX_rotate_vector extension. + template + GLM_FUNC_DECL vec<3, T, Q> rotateZ( + vec<3, T, Q> const& v, + T const& angle); + + //! Rotate a four dimensional vector around the X axis. + //! From GLM_GTX_rotate_vector extension. + template + GLM_FUNC_DECL vec<4, T, Q> rotateX( + vec<4, T, Q> const& v, + T const& angle); + + //! Rotate a four dimensional vector around the Y axis. + //! From GLM_GTX_rotate_vector extension. + template + GLM_FUNC_DECL vec<4, T, Q> rotateY( + vec<4, T, Q> const& v, + T const& angle); + + //! Rotate a four dimensional vector around the Z axis. + //! From GLM_GTX_rotate_vector extension. + template + GLM_FUNC_DECL vec<4, T, Q> rotateZ( + vec<4, T, Q> const& v, + T const& angle); + + //! Build a rotation matrix from a normal and a up vector. + //! From GLM_GTX_rotate_vector extension. + template + GLM_FUNC_DECL mat<4, 4, T, Q> orientation( + vec<3, T, Q> const& Normal, + vec<3, T, Q> const& Up); + + /// @} +}//namespace glm + +#include "rotate_vector.inl" diff --git a/MacroLibX/third_party/glm/gtx/rotate_vector.inl b/MacroLibX/third_party/glm/gtx/rotate_vector.inl new file mode 100644 index 0000000..f8136e7 --- /dev/null +++ b/MacroLibX/third_party/glm/gtx/rotate_vector.inl @@ -0,0 +1,187 @@ +/// @ref gtx_rotate_vector + +namespace glm +{ + template + GLM_FUNC_QUALIFIER vec<3, T, Q> slerp + ( + vec<3, T, Q> const& x, + vec<3, T, Q> const& y, + T const& a + ) + { + // get cosine of angle between vectors (-1 -> 1) + T CosAlpha = dot(x, y); + // get angle (0 -> pi) + T Alpha = acos(CosAlpha); + // get sine of angle between vectors (0 -> 1) + T SinAlpha = sin(Alpha); + // this breaks down when SinAlpha = 0, i.e. Alpha = 0 or pi + T t1 = sin((static_cast(1) - a) * Alpha) / SinAlpha; + T t2 = sin(a * Alpha) / SinAlpha; + + // interpolate src vectors + return x * t1 + y * t2; + } + + template + GLM_FUNC_QUALIFIER vec<2, T, Q> rotate + ( + vec<2, T, Q> const& v, + T const& angle + ) + { + vec<2, T, Q> Result; + T const Cos(cos(angle)); + T const Sin(sin(angle)); + + Result.x = v.x * Cos - v.y * Sin; + Result.y = v.x * Sin + v.y * Cos; + return Result; + } + + template + GLM_FUNC_QUALIFIER vec<3, T, Q> rotate + ( + vec<3, T, Q> const& v, + T const& angle, + vec<3, T, Q> const& normal + ) + { + return mat<3, 3, T, Q>(glm::rotate(angle, normal)) * v; + } + /* + template + GLM_FUNC_QUALIFIER vec<3, T, Q> rotateGTX( + const vec<3, T, Q>& x, + T angle, + const vec<3, T, Q>& normal) + { + const T Cos = cos(radians(angle)); + const T Sin = sin(radians(angle)); + return x * Cos + ((x * normal) * (T(1) - Cos)) * normal + cross(x, normal) * Sin; + } + */ + template + GLM_FUNC_QUALIFIER vec<4, T, Q> rotate + ( + vec<4, T, Q> const& v, + T const& angle, + vec<3, T, Q> const& normal + ) + { + return rotate(angle, normal) * v; + } + + template + GLM_FUNC_QUALIFIER vec<3, T, Q> rotateX + ( + vec<3, T, Q> const& v, + T const& angle + ) + { + vec<3, T, Q> Result(v); + T const Cos(cos(angle)); + T const Sin(sin(angle)); + + Result.y = v.y * Cos - v.z * Sin; + Result.z = v.y * Sin + v.z * Cos; + return Result; + } + + template + GLM_FUNC_QUALIFIER vec<3, T, Q> rotateY + ( + vec<3, T, Q> const& v, + T const& angle + ) + { + vec<3, T, Q> Result = v; + T const Cos(cos(angle)); + T const Sin(sin(angle)); + + Result.x = v.x * Cos + v.z * Sin; + Result.z = -v.x * Sin + v.z * Cos; + return Result; + } + + template + GLM_FUNC_QUALIFIER vec<3, T, Q> rotateZ + ( + vec<3, T, Q> const& v, + T const& angle + ) + { + vec<3, T, Q> Result = v; + T const Cos(cos(angle)); + T const Sin(sin(angle)); + + Result.x = v.x * Cos - v.y * Sin; + Result.y = v.x * Sin + v.y * Cos; + return Result; + } + + template + GLM_FUNC_QUALIFIER vec<4, T, Q> rotateX + ( + vec<4, T, Q> const& v, + T const& angle + ) + { + vec<4, T, Q> Result = v; + T const Cos(cos(angle)); + T const Sin(sin(angle)); + + Result.y = v.y * Cos - v.z * Sin; + Result.z = v.y * Sin + v.z * Cos; + return Result; + } + + template + GLM_FUNC_QUALIFIER vec<4, T, Q> rotateY + ( + vec<4, T, Q> const& v, + T const& angle + ) + { + vec<4, T, Q> Result = v; + T const Cos(cos(angle)); + T const Sin(sin(angle)); + + Result.x = v.x * Cos + v.z * Sin; + Result.z = -v.x * Sin + v.z * Cos; + return Result; + } + + template + GLM_FUNC_QUALIFIER vec<4, T, Q> rotateZ + ( + vec<4, T, Q> const& v, + T const& angle + ) + { + vec<4, T, Q> Result = v; + T const Cos(cos(angle)); + T const Sin(sin(angle)); + + Result.x = v.x * Cos - v.y * Sin; + Result.y = v.x * Sin + v.y * Cos; + return Result; + } + + template + GLM_FUNC_QUALIFIER mat<4, 4, T, Q> orientation + ( + vec<3, T, Q> const& Normal, + vec<3, T, Q> const& Up + ) + { + if(all(equal(Normal, Up, epsilon()))) + return mat<4, 4, T, Q>(static_cast(1)); + + vec<3, T, Q> RotationAxis = cross(Up, Normal); + T Angle = acos(dot(Normal, Up)); + + return rotate(Angle, RotationAxis); + } +}//namespace glm diff --git a/MacroLibX/third_party/glm/gtx/scalar_multiplication.hpp b/MacroLibX/third_party/glm/gtx/scalar_multiplication.hpp new file mode 100644 index 0000000..496ba19 --- /dev/null +++ b/MacroLibX/third_party/glm/gtx/scalar_multiplication.hpp @@ -0,0 +1,75 @@ +/// @ref gtx +/// @file glm/gtx/scalar_multiplication.hpp +/// @author Joshua Moerman +/// +/// Include to use the features of this extension. +/// +/// Enables scalar multiplication for all types +/// +/// Since GLSL is very strict about types, the following (often used) combinations do not work: +/// double * vec4 +/// int * vec4 +/// vec4 / int +/// So we'll fix that! Of course "float * vec4" should remain the same (hence the enable_if magic) + +#pragma once + +#include "../detail/setup.hpp" + +#if GLM_MESSAGES == GLM_ENABLE && !defined(GLM_EXT_INCLUDED) +# ifndef GLM_ENABLE_EXPERIMENTAL +# pragma message("GLM: GLM_GTX_scalar_multiplication is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it.") +# else +# pragma message("GLM: GLM_GTX_scalar_multiplication extension included") +# endif +#endif + +#include "../vec2.hpp" +#include "../vec3.hpp" +#include "../vec4.hpp" +#include "../mat2x2.hpp" +#include + +namespace glm +{ + template + using return_type_scalar_multiplication = typename std::enable_if< + !std::is_same::value // T may not be a float + && std::is_arithmetic::value, Vec // But it may be an int or double (no vec3 or mat3, ...) + >::type; + +#define GLM_IMPLEMENT_SCAL_MULT(Vec) \ + template \ + return_type_scalar_multiplication \ + operator*(T const& s, Vec rh){ \ + return rh *= static_cast(s); \ + } \ + \ + template \ + return_type_scalar_multiplication \ + operator*(Vec lh, T const& s){ \ + return lh *= static_cast(s); \ + } \ + \ + template \ + return_type_scalar_multiplication \ + operator/(Vec lh, T const& s){ \ + return lh *= 1.0f / static_cast(s); \ + } + +GLM_IMPLEMENT_SCAL_MULT(vec2) +GLM_IMPLEMENT_SCAL_MULT(vec3) +GLM_IMPLEMENT_SCAL_MULT(vec4) + +GLM_IMPLEMENT_SCAL_MULT(mat2) +GLM_IMPLEMENT_SCAL_MULT(mat2x3) +GLM_IMPLEMENT_SCAL_MULT(mat2x4) +GLM_IMPLEMENT_SCAL_MULT(mat3x2) +GLM_IMPLEMENT_SCAL_MULT(mat3) +GLM_IMPLEMENT_SCAL_MULT(mat3x4) +GLM_IMPLEMENT_SCAL_MULT(mat4x2) +GLM_IMPLEMENT_SCAL_MULT(mat4x3) +GLM_IMPLEMENT_SCAL_MULT(mat4) + +#undef GLM_IMPLEMENT_SCAL_MULT +} // namespace glm diff --git a/MacroLibX/third_party/glm/gtx/scalar_relational.hpp b/MacroLibX/third_party/glm/gtx/scalar_relational.hpp new file mode 100644 index 0000000..8be9c57 --- /dev/null +++ b/MacroLibX/third_party/glm/gtx/scalar_relational.hpp @@ -0,0 +1,36 @@ +/// @ref gtx_scalar_relational +/// @file glm/gtx/scalar_relational.hpp +/// +/// @see core (dependence) +/// +/// @defgroup gtx_scalar_relational GLM_GTX_scalar_relational +/// @ingroup gtx +/// +/// Include to use the features of this extension. +/// +/// Extend a position from a source to a position at a defined length. + +#pragma once + +// Dependency: +#include "../glm.hpp" + +#if GLM_MESSAGES == GLM_ENABLE && !defined(GLM_EXT_INCLUDED) +# ifndef GLM_ENABLE_EXPERIMENTAL +# pragma message("GLM: GLM_GTX_extend is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it.") +# else +# pragma message("GLM: GLM_GTX_extend extension included") +# endif +#endif + +namespace glm +{ + /// @addtogroup gtx_scalar_relational + /// @{ + + + + /// @} +}//namespace glm + +#include "scalar_relational.inl" diff --git a/MacroLibX/third_party/glm/gtx/scalar_relational.inl b/MacroLibX/third_party/glm/gtx/scalar_relational.inl new file mode 100644 index 0000000..c2a121c --- /dev/null +++ b/MacroLibX/third_party/glm/gtx/scalar_relational.inl @@ -0,0 +1,88 @@ +/// @ref gtx_scalar_relational + +namespace glm +{ + template + GLM_FUNC_QUALIFIER bool lessThan + ( + T const& x, + T const& y + ) + { + return x < y; + } + + template + GLM_FUNC_QUALIFIER bool lessThanEqual + ( + T const& x, + T const& y + ) + { + return x <= y; + } + + template + GLM_FUNC_QUALIFIER bool greaterThan + ( + T const& x, + T const& y + ) + { + return x > y; + } + + template + GLM_FUNC_QUALIFIER bool greaterThanEqual + ( + T const& x, + T const& y + ) + { + return x >= y; + } + + template + GLM_FUNC_QUALIFIER bool equal + ( + T const& x, + T const& y + ) + { + return detail::compute_equal::is_iec559>::call(x, y); + } + + template + GLM_FUNC_QUALIFIER bool notEqual + ( + T const& x, + T const& y + ) + { + return !detail::compute_equal::is_iec559>::call(x, y); + } + + GLM_FUNC_QUALIFIER bool any + ( + bool const& x + ) + { + return x; + } + + GLM_FUNC_QUALIFIER bool all + ( + bool const& x + ) + { + return x; + } + + GLM_FUNC_QUALIFIER bool not_ + ( + bool const& x + ) + { + return !x; + } +}//namespace glm diff --git a/MacroLibX/third_party/glm/gtx/spline.hpp b/MacroLibX/third_party/glm/gtx/spline.hpp new file mode 100644 index 0000000..731c979 --- /dev/null +++ b/MacroLibX/third_party/glm/gtx/spline.hpp @@ -0,0 +1,65 @@ +/// @ref gtx_spline +/// @file glm/gtx/spline.hpp +/// +/// @see core (dependence) +/// +/// @defgroup gtx_spline GLM_GTX_spline +/// @ingroup gtx +/// +/// Include to use the features of this extension. +/// +/// Spline functions + +#pragma once + +// Dependency: +#include "../glm.hpp" +#include "../gtx/optimum_pow.hpp" + +#if GLM_MESSAGES == GLM_ENABLE && !defined(GLM_EXT_INCLUDED) +# ifndef GLM_ENABLE_EXPERIMENTAL +# pragma message("GLM: GLM_GTX_spline is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it.") +# else +# pragma message("GLM: GLM_GTX_spline extension included") +# endif +#endif + +namespace glm +{ + /// @addtogroup gtx_spline + /// @{ + + /// Return a point from a catmull rom curve. + /// @see gtx_spline extension. + template + GLM_FUNC_DECL genType catmullRom( + genType const& v1, + genType const& v2, + genType const& v3, + genType const& v4, + typename genType::value_type const& s); + + /// Return a point from a hermite curve. + /// @see gtx_spline extension. + template + GLM_FUNC_DECL genType hermite( + genType const& v1, + genType const& t1, + genType const& v2, + genType const& t2, + typename genType::value_type const& s); + + /// Return a point from a cubic curve. + /// @see gtx_spline extension. + template + GLM_FUNC_DECL genType cubic( + genType const& v1, + genType const& v2, + genType const& v3, + genType const& v4, + typename genType::value_type const& s); + + /// @} +}//namespace glm + +#include "spline.inl" diff --git a/MacroLibX/third_party/glm/gtx/spline.inl b/MacroLibX/third_party/glm/gtx/spline.inl new file mode 100644 index 0000000..c3fd056 --- /dev/null +++ b/MacroLibX/third_party/glm/gtx/spline.inl @@ -0,0 +1,60 @@ +/// @ref gtx_spline + +namespace glm +{ + template + GLM_FUNC_QUALIFIER genType catmullRom + ( + genType const& v1, + genType const& v2, + genType const& v3, + genType const& v4, + typename genType::value_type const& s + ) + { + typename genType::value_type s2 = pow2(s); + typename genType::value_type s3 = pow3(s); + + typename genType::value_type f1 = -s3 + typename genType::value_type(2) * s2 - s; + typename genType::value_type f2 = typename genType::value_type(3) * s3 - typename genType::value_type(5) * s2 + typename genType::value_type(2); + typename genType::value_type f3 = typename genType::value_type(-3) * s3 + typename genType::value_type(4) * s2 + s; + typename genType::value_type f4 = s3 - s2; + + return (f1 * v1 + f2 * v2 + f3 * v3 + f4 * v4) / typename genType::value_type(2); + + } + + template + GLM_FUNC_QUALIFIER genType hermite + ( + genType const& v1, + genType const& t1, + genType const& v2, + genType const& t2, + typename genType::value_type const& s + ) + { + typename genType::value_type s2 = pow2(s); + typename genType::value_type s3 = pow3(s); + + typename genType::value_type f1 = typename genType::value_type(2) * s3 - typename genType::value_type(3) * s2 + typename genType::value_type(1); + typename genType::value_type f2 = typename genType::value_type(-2) * s3 + typename genType::value_type(3) * s2; + typename genType::value_type f3 = s3 - typename genType::value_type(2) * s2 + s; + typename genType::value_type f4 = s3 - s2; + + return f1 * v1 + f2 * v2 + f3 * t1 + f4 * t2; + } + + template + GLM_FUNC_QUALIFIER genType cubic + ( + genType const& v1, + genType const& v2, + genType const& v3, + genType const& v4, + typename genType::value_type const& s + ) + { + return ((v1 * s + v2) * s + v3) * s + v4; + } +}//namespace glm diff --git a/MacroLibX/third_party/glm/gtx/std_based_type.hpp b/MacroLibX/third_party/glm/gtx/std_based_type.hpp new file mode 100644 index 0000000..cd3be8c --- /dev/null +++ b/MacroLibX/third_party/glm/gtx/std_based_type.hpp @@ -0,0 +1,68 @@ +/// @ref gtx_std_based_type +/// @file glm/gtx/std_based_type.hpp +/// +/// @see core (dependence) +/// @see gtx_extented_min_max (dependence) +/// +/// @defgroup gtx_std_based_type GLM_GTX_std_based_type +/// @ingroup gtx +/// +/// Include to use the features of this extension. +/// +/// Adds vector types based on STL value types. + +#pragma once + +// Dependency: +#include "../glm.hpp" +#include + +#if GLM_MESSAGES == GLM_ENABLE && !defined(GLM_EXT_INCLUDED) +# ifndef GLM_ENABLE_EXPERIMENTAL +# pragma message("GLM: GLM_GTX_std_based_type is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it.") +# else +# pragma message("GLM: GLM_GTX_std_based_type extension included") +# endif +#endif + +namespace glm +{ + /// @addtogroup gtx_std_based_type + /// @{ + + /// Vector type based of one std::size_t component. + /// @see GLM_GTX_std_based_type + typedef vec<1, std::size_t, defaultp> size1; + + /// Vector type based of two std::size_t components. + /// @see GLM_GTX_std_based_type + typedef vec<2, std::size_t, defaultp> size2; + + /// Vector type based of three std::size_t components. + /// @see GLM_GTX_std_based_type + typedef vec<3, std::size_t, defaultp> size3; + + /// Vector type based of four std::size_t components. + /// @see GLM_GTX_std_based_type + typedef vec<4, std::size_t, defaultp> size4; + + /// Vector type based of one std::size_t component. + /// @see GLM_GTX_std_based_type + typedef vec<1, std::size_t, defaultp> size1_t; + + /// Vector type based of two std::size_t components. + /// @see GLM_GTX_std_based_type + typedef vec<2, std::size_t, defaultp> size2_t; + + /// Vector type based of three std::size_t components. + /// @see GLM_GTX_std_based_type + typedef vec<3, std::size_t, defaultp> size3_t; + + /// Vector type based of four std::size_t components. + /// @see GLM_GTX_std_based_type + typedef vec<4, std::size_t, defaultp> size4_t; + + /// @} +}//namespace glm + +#include "std_based_type.inl" diff --git a/MacroLibX/third_party/glm/gtx/std_based_type.inl b/MacroLibX/third_party/glm/gtx/std_based_type.inl new file mode 100644 index 0000000..9c34bdb --- /dev/null +++ b/MacroLibX/third_party/glm/gtx/std_based_type.inl @@ -0,0 +1,6 @@ +/// @ref gtx_std_based_type + +namespace glm +{ + +} diff --git a/MacroLibX/third_party/glm/gtx/string_cast.hpp b/MacroLibX/third_party/glm/gtx/string_cast.hpp new file mode 100644 index 0000000..27846bf --- /dev/null +++ b/MacroLibX/third_party/glm/gtx/string_cast.hpp @@ -0,0 +1,52 @@ +/// @ref gtx_string_cast +/// @file glm/gtx/string_cast.hpp +/// +/// @see core (dependence) +/// @see gtx_integer (dependence) +/// @see gtx_quaternion (dependence) +/// +/// @defgroup gtx_string_cast GLM_GTX_string_cast +/// @ingroup gtx +/// +/// Include to use the features of this extension. +/// +/// Setup strings for GLM type values +/// +/// This extension is not supported with CUDA + +#pragma once + +// Dependency: +#include "../glm.hpp" +#include "../gtc/type_precision.hpp" +#include "../gtc/quaternion.hpp" +#include "../gtx/dual_quaternion.hpp" +#include +#include + +#if GLM_MESSAGES == GLM_ENABLE && !defined(GLM_EXT_INCLUDED) +# ifndef GLM_ENABLE_EXPERIMENTAL +# pragma message("GLM: GLM_GTX_string_cast is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it.") +# else +# pragma message("GLM: GLM_GTX_string_cast extension included") +# endif +#endif + +#if(GLM_COMPILER & GLM_COMPILER_CUDA) +# error "GLM_GTX_string_cast is not supported on CUDA compiler" +#endif + +namespace glm +{ + /// @addtogroup gtx_string_cast + /// @{ + + /// Create a string from a GLM vector or matrix typed variable. + /// @see gtx_string_cast extension. + template + GLM_FUNC_DECL std::string to_string(genType const& x); + + /// @} +}//namespace glm + +#include "string_cast.inl" diff --git a/MacroLibX/third_party/glm/gtx/string_cast.inl b/MacroLibX/third_party/glm/gtx/string_cast.inl new file mode 100644 index 0000000..f67751d --- /dev/null +++ b/MacroLibX/third_party/glm/gtx/string_cast.inl @@ -0,0 +1,492 @@ +/// @ref gtx_string_cast + +#include +#include + +namespace glm{ +namespace detail +{ + template + struct cast + { + typedef T value_type; + }; + + template <> + struct cast + { + typedef double value_type; + }; + + GLM_FUNC_QUALIFIER std::string format(const char* msg, ...) + { + std::size_t const STRING_BUFFER(4096); + char text[STRING_BUFFER]; + va_list list; + + if(msg == GLM_NULLPTR) + return std::string(); + + va_start(list, msg); +# if (GLM_COMPILER & GLM_COMPILER_VC) + vsprintf_s(text, STRING_BUFFER, msg, list); +# else// + std::vsprintf(text, msg, list); +# endif// + va_end(list); + + return std::string(text); + } + + static const char* LabelTrue = "true"; + static const char* LabelFalse = "false"; + + template + struct literal + { + GLM_FUNC_QUALIFIER static char const * value() {return "%d";} + }; + + template + struct literal + { + GLM_FUNC_QUALIFIER static char const * value() {return "%f";} + }; + +# if GLM_MODEL == GLM_MODEL_32 && GLM_COMPILER && GLM_COMPILER_VC + template<> + struct literal + { + GLM_FUNC_QUALIFIER static char const * value() {return "%lld";} + }; + + template<> + struct literal + { + GLM_FUNC_QUALIFIER static char const * value() {return "%lld";} + }; +# endif//GLM_MODEL == GLM_MODEL_32 && GLM_COMPILER && GLM_COMPILER_VC + + template + struct prefix{}; + + template<> + struct prefix + { + GLM_FUNC_QUALIFIER static char const * value() {return "";} + }; + + template<> + struct prefix + { + GLM_FUNC_QUALIFIER static char const * value() {return "d";} + }; + + template<> + struct prefix + { + GLM_FUNC_QUALIFIER static char const * value() {return "b";} + }; + + template<> + struct prefix + { + GLM_FUNC_QUALIFIER static char const * value() {return "u8";} + }; + + template<> + struct prefix + { + GLM_FUNC_QUALIFIER static char const * value() {return "i8";} + }; + + template<> + struct prefix + { + GLM_FUNC_QUALIFIER static char const * value() {return "u16";} + }; + + template<> + struct prefix + { + GLM_FUNC_QUALIFIER static char const * value() {return "i16";} + }; + + template<> + struct prefix + { + GLM_FUNC_QUALIFIER static char const * value() {return "u";} + }; + + template<> + struct prefix + { + GLM_FUNC_QUALIFIER static char const * value() {return "i";} + }; + + template<> + struct prefix + { + GLM_FUNC_QUALIFIER static char const * value() {return "u64";} + }; + + template<> + struct prefix + { + GLM_FUNC_QUALIFIER static char const * value() {return "i64";} + }; + + template + struct compute_to_string + {}; + + template + struct compute_to_string > + { + GLM_FUNC_QUALIFIER static std::string call(vec<1, bool, Q> const& x) + { + return detail::format("bvec1(%s)", + x[0] ? detail::LabelTrue : detail::LabelFalse); + } + }; + + template + struct compute_to_string > + { + GLM_FUNC_QUALIFIER static std::string call(vec<2, bool, Q> const& x) + { + return detail::format("bvec2(%s, %s)", + x[0] ? detail::LabelTrue : detail::LabelFalse, + x[1] ? detail::LabelTrue : detail::LabelFalse); + } + }; + + template + struct compute_to_string > + { + GLM_FUNC_QUALIFIER static std::string call(vec<3, bool, Q> const& x) + { + return detail::format("bvec3(%s, %s, %s)", + x[0] ? detail::LabelTrue : detail::LabelFalse, + x[1] ? detail::LabelTrue : detail::LabelFalse, + x[2] ? detail::LabelTrue : detail::LabelFalse); + } + }; + + template + struct compute_to_string > + { + GLM_FUNC_QUALIFIER static std::string call(vec<4, bool, Q> const& x) + { + return detail::format("bvec4(%s, %s, %s, %s)", + x[0] ? detail::LabelTrue : detail::LabelFalse, + x[1] ? detail::LabelTrue : detail::LabelFalse, + x[2] ? detail::LabelTrue : detail::LabelFalse, + x[3] ? detail::LabelTrue : detail::LabelFalse); + } + }; + + template + struct compute_to_string > + { + GLM_FUNC_QUALIFIER static std::string call(vec<1, T, Q> const& x) + { + char const * PrefixStr = prefix::value(); + char const * LiteralStr = literal::is_iec559>::value(); + std::string FormatStr(detail::format("%svec1(%s)", + PrefixStr, + LiteralStr)); + + return detail::format(FormatStr.c_str(), + static_cast::value_type>(x[0])); + } + }; + + template + struct compute_to_string > + { + GLM_FUNC_QUALIFIER static std::string call(vec<2, T, Q> const& x) + { + char const * PrefixStr = prefix::value(); + char const * LiteralStr = literal::is_iec559>::value(); + std::string FormatStr(detail::format("%svec2(%s, %s)", + PrefixStr, + LiteralStr, LiteralStr)); + + return detail::format(FormatStr.c_str(), + static_cast::value_type>(x[0]), + static_cast::value_type>(x[1])); + } + }; + + template + struct compute_to_string > + { + GLM_FUNC_QUALIFIER static std::string call(vec<3, T, Q> const& x) + { + char const * PrefixStr = prefix::value(); + char const * LiteralStr = literal::is_iec559>::value(); + std::string FormatStr(detail::format("%svec3(%s, %s, %s)", + PrefixStr, + LiteralStr, LiteralStr, LiteralStr)); + + return detail::format(FormatStr.c_str(), + static_cast::value_type>(x[0]), + static_cast::value_type>(x[1]), + static_cast::value_type>(x[2])); + } + }; + + template + struct compute_to_string > + { + GLM_FUNC_QUALIFIER static std::string call(vec<4, T, Q> const& x) + { + char const * PrefixStr = prefix::value(); + char const * LiteralStr = literal::is_iec559>::value(); + std::string FormatStr(detail::format("%svec4(%s, %s, %s, %s)", + PrefixStr, + LiteralStr, LiteralStr, LiteralStr, LiteralStr)); + + return detail::format(FormatStr.c_str(), + static_cast::value_type>(x[0]), + static_cast::value_type>(x[1]), + static_cast::value_type>(x[2]), + static_cast::value_type>(x[3])); + } + }; + + + template + struct compute_to_string > + { + GLM_FUNC_QUALIFIER static std::string call(mat<2, 2, T, Q> const& x) + { + char const * PrefixStr = prefix::value(); + char const * LiteralStr = literal::is_iec559>::value(); + std::string FormatStr(detail::format("%smat2x2((%s, %s), (%s, %s))", + PrefixStr, + LiteralStr, LiteralStr, + LiteralStr, LiteralStr)); + + return detail::format(FormatStr.c_str(), + static_cast::value_type>(x[0][0]), static_cast::value_type>(x[0][1]), + static_cast::value_type>(x[1][0]), static_cast::value_type>(x[1][1])); + } + }; + + template + struct compute_to_string > + { + GLM_FUNC_QUALIFIER static std::string call(mat<2, 3, T, Q> const& x) + { + char const * PrefixStr = prefix::value(); + char const * LiteralStr = literal::is_iec559>::value(); + std::string FormatStr(detail::format("%smat2x3((%s, %s, %s), (%s, %s, %s))", + PrefixStr, + LiteralStr, LiteralStr, LiteralStr, + LiteralStr, LiteralStr, LiteralStr)); + + return detail::format(FormatStr.c_str(), + static_cast::value_type>(x[0][0]), static_cast::value_type>(x[0][1]), static_cast::value_type>(x[0][2]), + static_cast::value_type>(x[1][0]), static_cast::value_type>(x[1][1]), static_cast::value_type>(x[1][2])); + } + }; + + template + struct compute_to_string > + { + GLM_FUNC_QUALIFIER static std::string call(mat<2, 4, T, Q> const& x) + { + char const * PrefixStr = prefix::value(); + char const * LiteralStr = literal::is_iec559>::value(); + std::string FormatStr(detail::format("%smat2x4((%s, %s, %s, %s), (%s, %s, %s, %s))", + PrefixStr, + LiteralStr, LiteralStr, LiteralStr, LiteralStr, + LiteralStr, LiteralStr, LiteralStr, LiteralStr)); + + return detail::format(FormatStr.c_str(), + static_cast::value_type>(x[0][0]), static_cast::value_type>(x[0][1]), static_cast::value_type>(x[0][2]), static_cast::value_type>(x[0][3]), + static_cast::value_type>(x[1][0]), static_cast::value_type>(x[1][1]), static_cast::value_type>(x[1][2]), static_cast::value_type>(x[1][3])); + } + }; + + template + struct compute_to_string > + { + GLM_FUNC_QUALIFIER static std::string call(mat<3, 2, T, Q> const& x) + { + char const * PrefixStr = prefix::value(); + char const * LiteralStr = literal::is_iec559>::value(); + std::string FormatStr(detail::format("%smat3x2((%s, %s), (%s, %s), (%s, %s))", + PrefixStr, + LiteralStr, LiteralStr, + LiteralStr, LiteralStr, + LiteralStr, LiteralStr)); + + return detail::format(FormatStr.c_str(), + static_cast::value_type>(x[0][0]), static_cast::value_type>(x[0][1]), + static_cast::value_type>(x[1][0]), static_cast::value_type>(x[1][1]), + static_cast::value_type>(x[2][0]), static_cast::value_type>(x[2][1])); + } + }; + + template + struct compute_to_string > + { + GLM_FUNC_QUALIFIER static std::string call(mat<3, 3, T, Q> const& x) + { + char const * PrefixStr = prefix::value(); + char const * LiteralStr = literal::is_iec559>::value(); + std::string FormatStr(detail::format("%smat3x3((%s, %s, %s), (%s, %s, %s), (%s, %s, %s))", + PrefixStr, + LiteralStr, LiteralStr, LiteralStr, + LiteralStr, LiteralStr, LiteralStr, + LiteralStr, LiteralStr, LiteralStr)); + + return detail::format(FormatStr.c_str(), + static_cast::value_type>(x[0][0]), static_cast::value_type>(x[0][1]), static_cast::value_type>(x[0][2]), + static_cast::value_type>(x[1][0]), static_cast::value_type>(x[1][1]), static_cast::value_type>(x[1][2]), + static_cast::value_type>(x[2][0]), static_cast::value_type>(x[2][1]), static_cast::value_type>(x[2][2])); + } + }; + + template + struct compute_to_string > + { + GLM_FUNC_QUALIFIER static std::string call(mat<3, 4, T, Q> const& x) + { + char const * PrefixStr = prefix::value(); + char const * LiteralStr = literal::is_iec559>::value(); + std::string FormatStr(detail::format("%smat3x4((%s, %s, %s, %s), (%s, %s, %s, %s), (%s, %s, %s, %s))", + PrefixStr, + LiteralStr, LiteralStr, LiteralStr, LiteralStr, + LiteralStr, LiteralStr, LiteralStr, LiteralStr, + LiteralStr, LiteralStr, LiteralStr, LiteralStr)); + + return detail::format(FormatStr.c_str(), + static_cast::value_type>(x[0][0]), static_cast::value_type>(x[0][1]), static_cast::value_type>(x[0][2]), static_cast::value_type>(x[0][3]), + static_cast::value_type>(x[1][0]), static_cast::value_type>(x[1][1]), static_cast::value_type>(x[1][2]), static_cast::value_type>(x[1][3]), + static_cast::value_type>(x[2][0]), static_cast::value_type>(x[2][1]), static_cast::value_type>(x[2][2]), static_cast::value_type>(x[2][3])); + } + }; + + template + struct compute_to_string > + { + GLM_FUNC_QUALIFIER static std::string call(mat<4, 2, T, Q> const& x) + { + char const * PrefixStr = prefix::value(); + char const * LiteralStr = literal::is_iec559>::value(); + std::string FormatStr(detail::format("%smat4x2((%s, %s), (%s, %s), (%s, %s), (%s, %s))", + PrefixStr, + LiteralStr, LiteralStr, + LiteralStr, LiteralStr, + LiteralStr, LiteralStr, + LiteralStr, LiteralStr)); + + return detail::format(FormatStr.c_str(), + static_cast::value_type>(x[0][0]), static_cast::value_type>(x[0][1]), + static_cast::value_type>(x[1][0]), static_cast::value_type>(x[1][1]), + static_cast::value_type>(x[2][0]), static_cast::value_type>(x[2][1]), + static_cast::value_type>(x[3][0]), static_cast::value_type>(x[3][1])); + } + }; + + template + struct compute_to_string > + { + GLM_FUNC_QUALIFIER static std::string call(mat<4, 3, T, Q> const& x) + { + char const * PrefixStr = prefix::value(); + char const * LiteralStr = literal::is_iec559>::value(); + std::string FormatStr(detail::format("%smat4x3((%s, %s, %s), (%s, %s, %s), (%s, %s, %s), (%s, %s, %s))", + PrefixStr, + LiteralStr, LiteralStr, LiteralStr, + LiteralStr, LiteralStr, LiteralStr, + LiteralStr, LiteralStr, LiteralStr, + LiteralStr, LiteralStr, LiteralStr)); + + return detail::format(FormatStr.c_str(), + static_cast::value_type>(x[0][0]), static_cast::value_type>(x[0][1]), static_cast::value_type>(x[0][2]), + static_cast::value_type>(x[1][0]), static_cast::value_type>(x[1][1]), static_cast::value_type>(x[1][2]), + static_cast::value_type>(x[2][0]), static_cast::value_type>(x[2][1]), static_cast::value_type>(x[2][2]), + static_cast::value_type>(x[3][0]), static_cast::value_type>(x[3][1]), static_cast::value_type>(x[3][2])); + } + }; + + template + struct compute_to_string > + { + GLM_FUNC_QUALIFIER static std::string call(mat<4, 4, T, Q> const& x) + { + char const * PrefixStr = prefix::value(); + char const * LiteralStr = literal::is_iec559>::value(); + std::string FormatStr(detail::format("%smat4x4((%s, %s, %s, %s), (%s, %s, %s, %s), (%s, %s, %s, %s), (%s, %s, %s, %s))", + PrefixStr, + LiteralStr, LiteralStr, LiteralStr, LiteralStr, + LiteralStr, LiteralStr, LiteralStr, LiteralStr, + LiteralStr, LiteralStr, LiteralStr, LiteralStr, + LiteralStr, LiteralStr, LiteralStr, LiteralStr)); + + return detail::format(FormatStr.c_str(), + static_cast::value_type>(x[0][0]), static_cast::value_type>(x[0][1]), static_cast::value_type>(x[0][2]), static_cast::value_type>(x[0][3]), + static_cast::value_type>(x[1][0]), static_cast::value_type>(x[1][1]), static_cast::value_type>(x[1][2]), static_cast::value_type>(x[1][3]), + static_cast::value_type>(x[2][0]), static_cast::value_type>(x[2][1]), static_cast::value_type>(x[2][2]), static_cast::value_type>(x[2][3]), + static_cast::value_type>(x[3][0]), static_cast::value_type>(x[3][1]), static_cast::value_type>(x[3][2]), static_cast::value_type>(x[3][3])); + } + }; + + + template + struct compute_to_string > + { + GLM_FUNC_QUALIFIER static std::string call(qua const& q) + { + char const * PrefixStr = prefix::value(); + char const * LiteralStr = literal::is_iec559>::value(); + std::string FormatStr(detail::format("%squat(%s, {%s, %s, %s})", + PrefixStr, + LiteralStr, LiteralStr, LiteralStr, LiteralStr)); + + return detail::format(FormatStr.c_str(), + static_cast::value_type>(q.w), + static_cast::value_type>(q.x), + static_cast::value_type>(q.y), + static_cast::value_type>(q.z)); + } + }; + + template + struct compute_to_string > + { + GLM_FUNC_QUALIFIER static std::string call(tdualquat const& x) + { + char const * PrefixStr = prefix::value(); + char const * LiteralStr = literal::is_iec559>::value(); + std::string FormatStr(detail::format("%sdualquat((%s, {%s, %s, %s}), (%s, {%s, %s, %s}))", + PrefixStr, + LiteralStr, LiteralStr, LiteralStr, LiteralStr, + LiteralStr, LiteralStr, LiteralStr, LiteralStr)); + + return detail::format(FormatStr.c_str(), + static_cast::value_type>(x.real.w), + static_cast::value_type>(x.real.x), + static_cast::value_type>(x.real.y), + static_cast::value_type>(x.real.z), + static_cast::value_type>(x.dual.w), + static_cast::value_type>(x.dual.x), + static_cast::value_type>(x.dual.y), + static_cast::value_type>(x.dual.z)); + } + }; + +}//namespace detail + +template +GLM_FUNC_QUALIFIER std::string to_string(matType const& x) +{ + return detail::compute_to_string::call(x); +} + +}//namespace glm diff --git a/MacroLibX/third_party/glm/gtx/texture.hpp b/MacroLibX/third_party/glm/gtx/texture.hpp new file mode 100644 index 0000000..20585e6 --- /dev/null +++ b/MacroLibX/third_party/glm/gtx/texture.hpp @@ -0,0 +1,46 @@ +/// @ref gtx_texture +/// @file glm/gtx/texture.hpp +/// +/// @see core (dependence) +/// +/// @defgroup gtx_texture GLM_GTX_texture +/// @ingroup gtx +/// +/// Include to use the features of this extension. +/// +/// Wrapping mode of texture coordinates. + +#pragma once + +// Dependency: +#include "../glm.hpp" +#include "../gtc/integer.hpp" +#include "../gtx/component_wise.hpp" + +#if GLM_MESSAGES == GLM_ENABLE && !defined(GLM_EXT_INCLUDED) +# ifndef GLM_ENABLE_EXPERIMENTAL +# pragma message("GLM: GLM_GTX_texture is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it.") +# else +# pragma message("GLM: GLM_GTX_texture extension included") +# endif +#endif + +namespace glm +{ + /// @addtogroup gtx_texture + /// @{ + + /// Compute the number of mipmaps levels necessary to create a mipmap complete texture + /// + /// @param Extent Extent of the texture base level mipmap + /// @tparam L Integer between 1 and 4 included that qualify the dimension of the vector + /// @tparam T Floating-point or signed integer scalar types + /// @tparam Q Value from qualifier enum + template + T levels(vec const& Extent); + + /// @} +}// namespace glm + +#include "texture.inl" + diff --git a/MacroLibX/third_party/glm/gtx/texture.inl b/MacroLibX/third_party/glm/gtx/texture.inl new file mode 100644 index 0000000..593c826 --- /dev/null +++ b/MacroLibX/third_party/glm/gtx/texture.inl @@ -0,0 +1,17 @@ +/// @ref gtx_texture + +namespace glm +{ + template + inline T levels(vec const& Extent) + { + return glm::log2(compMax(Extent)) + static_cast(1); + } + + template + inline T levels(T Extent) + { + return vec<1, T, defaultp>(Extent).x; + } +}//namespace glm + diff --git a/MacroLibX/third_party/glm/gtx/transform.hpp b/MacroLibX/third_party/glm/gtx/transform.hpp new file mode 100644 index 0000000..0279fc8 --- /dev/null +++ b/MacroLibX/third_party/glm/gtx/transform.hpp @@ -0,0 +1,60 @@ +/// @ref gtx_transform +/// @file glm/gtx/transform.hpp +/// +/// @see core (dependence) +/// @see gtc_matrix_transform (dependence) +/// @see gtx_transform +/// @see gtx_transform2 +/// +/// @defgroup gtx_transform GLM_GTX_transform +/// @ingroup gtx +/// +/// Include to use the features of this extension. +/// +/// Add transformation matrices + +#pragma once + +// Dependency: +#include "../glm.hpp" +#include "../gtc/matrix_transform.hpp" + +#if GLM_MESSAGES == GLM_ENABLE && !defined(GLM_EXT_INCLUDED) +# ifndef GLM_ENABLE_EXPERIMENTAL +# pragma message("GLM: GLM_GTX_transform is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it.") +# else +# pragma message("GLM: GLM_GTX_transform extension included") +# endif +#endif + +namespace glm +{ + /// @addtogroup gtx_transform + /// @{ + + /// Transforms a matrix with a translation 4 * 4 matrix created from 3 scalars. + /// @see gtc_matrix_transform + /// @see gtx_transform + template + GLM_FUNC_DECL mat<4, 4, T, Q> translate( + vec<3, T, Q> const& v); + + /// Builds a rotation 4 * 4 matrix created from an axis of 3 scalars and an angle expressed in radians. + /// @see gtc_matrix_transform + /// @see gtx_transform + template + GLM_FUNC_DECL mat<4, 4, T, Q> rotate( + T angle, + vec<3, T, Q> const& v); + + /// Transforms a matrix with a scale 4 * 4 matrix created from a vector of 3 components. + /// @see gtc_matrix_transform + /// @see gtx_transform + template + GLM_FUNC_DECL mat<4, 4, T, Q> scale( + vec<3, T, Q> const& v); + + /// @} +}// namespace glm + +#include "transform.inl" diff --git a/MacroLibX/third_party/glm/gtx/transform.inl b/MacroLibX/third_party/glm/gtx/transform.inl new file mode 100644 index 0000000..48ee680 --- /dev/null +++ b/MacroLibX/third_party/glm/gtx/transform.inl @@ -0,0 +1,23 @@ +/// @ref gtx_transform + +namespace glm +{ + template + GLM_FUNC_QUALIFIER mat<4, 4, T, Q> translate(vec<3, T, Q> const& v) + { + return translate(mat<4, 4, T, Q>(static_cast(1)), v); + } + + template + GLM_FUNC_QUALIFIER mat<4, 4, T, Q> rotate(T angle, vec<3, T, Q> const& v) + { + return rotate(mat<4, 4, T, Q>(static_cast(1)), angle, v); + } + + template + GLM_FUNC_QUALIFIER mat<4, 4, T, Q> scale(vec<3, T, Q> const& v) + { + return scale(mat<4, 4, T, Q>(static_cast(1)), v); + } + +}//namespace glm diff --git a/MacroLibX/third_party/glm/gtx/transform2.hpp b/MacroLibX/third_party/glm/gtx/transform2.hpp new file mode 100644 index 0000000..0d8ba9d --- /dev/null +++ b/MacroLibX/third_party/glm/gtx/transform2.hpp @@ -0,0 +1,89 @@ +/// @ref gtx_transform2 +/// @file glm/gtx/transform2.hpp +/// +/// @see core (dependence) +/// @see gtx_transform (dependence) +/// +/// @defgroup gtx_transform2 GLM_GTX_transform2 +/// @ingroup gtx +/// +/// Include to use the features of this extension. +/// +/// Add extra transformation matrices + +#pragma once + +// Dependency: +#include "../glm.hpp" +#include "../gtx/transform.hpp" + +#if GLM_MESSAGES == GLM_ENABLE && !defined(GLM_EXT_INCLUDED) +# ifndef GLM_ENABLE_EXPERIMENTAL +# pragma message("GLM: GLM_GTX_transform2 is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it.") +# else +# pragma message("GLM: GLM_GTX_transform2 extension included") +# endif +#endif + +namespace glm +{ + /// @addtogroup gtx_transform2 + /// @{ + + //! Transforms a matrix with a shearing on X axis. + //! From GLM_GTX_transform2 extension. + template + GLM_FUNC_DECL mat<3, 3, T, Q> shearX2D(mat<3, 3, T, Q> const& m, T y); + + //! Transforms a matrix with a shearing on Y axis. + //! From GLM_GTX_transform2 extension. + template + GLM_FUNC_DECL mat<3, 3, T, Q> shearY2D(mat<3, 3, T, Q> const& m, T x); + + //! Transforms a matrix with a shearing on X axis + //! From GLM_GTX_transform2 extension. + template + GLM_FUNC_DECL mat<4, 4, T, Q> shearX3D(mat<4, 4, T, Q> const& m, T y, T z); + + //! Transforms a matrix with a shearing on Y axis. + //! From GLM_GTX_transform2 extension. + template + GLM_FUNC_DECL mat<4, 4, T, Q> shearY3D(mat<4, 4, T, Q> const& m, T x, T z); + + //! Transforms a matrix with a shearing on Z axis. + //! From GLM_GTX_transform2 extension. + template + GLM_FUNC_DECL mat<4, 4, T, Q> shearZ3D(mat<4, 4, T, Q> const& m, T x, T y); + + //template GLM_FUNC_QUALIFIER mat<4, 4, T, Q> shear(const mat<4, 4, T, Q> & m, shearPlane, planePoint, angle) + // Identity + tan(angle) * cross(Normal, OnPlaneVector) 0 + // - dot(PointOnPlane, normal) * OnPlaneVector 1 + + // Reflect functions seem to don't work + //template mat<3, 3, T, Q> reflect2D(const mat<3, 3, T, Q> & m, const vec<3, T, Q>& normal){return reflect2DGTX(m, normal);} //!< \brief Build a reflection matrix (from GLM_GTX_transform2 extension) + //template mat<4, 4, T, Q> reflect3D(const mat<4, 4, T, Q> & m, const vec<3, T, Q>& normal){return reflect3DGTX(m, normal);} //!< \brief Build a reflection matrix (from GLM_GTX_transform2 extension) + + //! Build planar projection matrix along normal axis. + //! From GLM_GTX_transform2 extension. + template + GLM_FUNC_DECL mat<3, 3, T, Q> proj2D(mat<3, 3, T, Q> const& m, vec<3, T, Q> const& normal); + + //! Build planar projection matrix along normal axis. + //! From GLM_GTX_transform2 extension. + template + GLM_FUNC_DECL mat<4, 4, T, Q> proj3D(mat<4, 4, T, Q> const & m, vec<3, T, Q> const& normal); + + //! Build a scale bias matrix. + //! From GLM_GTX_transform2 extension. + template + GLM_FUNC_DECL mat<4, 4, T, Q> scaleBias(T scale, T bias); + + //! Build a scale bias matrix. + //! From GLM_GTX_transform2 extension. + template + GLM_FUNC_DECL mat<4, 4, T, Q> scaleBias(mat<4, 4, T, Q> const& m, T scale, T bias); + + /// @} +}// namespace glm + +#include "transform2.inl" diff --git a/MacroLibX/third_party/glm/gtx/transform2.inl b/MacroLibX/third_party/glm/gtx/transform2.inl new file mode 100644 index 0000000..2b53198 --- /dev/null +++ b/MacroLibX/third_party/glm/gtx/transform2.inl @@ -0,0 +1,125 @@ +/// @ref gtx_transform2 + +namespace glm +{ + template + GLM_FUNC_QUALIFIER mat<3, 3, T, Q> shearX2D(mat<3, 3, T, Q> const& m, T s) + { + mat<3, 3, T, Q> r(1); + r[1][0] = s; + return m * r; + } + + template + GLM_FUNC_QUALIFIER mat<3, 3, T, Q> shearY2D(mat<3, 3, T, Q> const& m, T s) + { + mat<3, 3, T, Q> r(1); + r[0][1] = s; + return m * r; + } + + template + GLM_FUNC_QUALIFIER mat<4, 4, T, Q> shearX3D(mat<4, 4, T, Q> const& m, T s, T t) + { + mat<4, 4, T, Q> r(1); + r[0][1] = s; + r[0][2] = t; + return m * r; + } + + template + GLM_FUNC_QUALIFIER mat<4, 4, T, Q> shearY3D(mat<4, 4, T, Q> const& m, T s, T t) + { + mat<4, 4, T, Q> r(1); + r[1][0] = s; + r[1][2] = t; + return m * r; + } + + template + GLM_FUNC_QUALIFIER mat<4, 4, T, Q> shearZ3D(mat<4, 4, T, Q> const& m, T s, T t) + { + mat<4, 4, T, Q> r(1); + r[2][0] = s; + r[2][1] = t; + return m * r; + } + + template + GLM_FUNC_QUALIFIER mat<3, 3, T, Q> reflect2D(mat<3, 3, T, Q> const& m, vec<3, T, Q> const& normal) + { + mat<3, 3, T, Q> r(static_cast(1)); + r[0][0] = static_cast(1) - static_cast(2) * normal.x * normal.x; + r[0][1] = -static_cast(2) * normal.x * normal.y; + r[1][0] = -static_cast(2) * normal.x * normal.y; + r[1][1] = static_cast(1) - static_cast(2) * normal.y * normal.y; + return m * r; + } + + template + GLM_FUNC_QUALIFIER mat<4, 4, T, Q> reflect3D(mat<4, 4, T, Q> const& m, vec<3, T, Q> const& normal) + { + mat<4, 4, T, Q> r(static_cast(1)); + r[0][0] = static_cast(1) - static_cast(2) * normal.x * normal.x; + r[0][1] = -static_cast(2) * normal.x * normal.y; + r[0][2] = -static_cast(2) * normal.x * normal.z; + + r[1][0] = -static_cast(2) * normal.x * normal.y; + r[1][1] = static_cast(1) - static_cast(2) * normal.y * normal.y; + r[1][2] = -static_cast(2) * normal.y * normal.z; + + r[2][0] = -static_cast(2) * normal.x * normal.z; + r[2][1] = -static_cast(2) * normal.y * normal.z; + r[2][2] = static_cast(1) - static_cast(2) * normal.z * normal.z; + return m * r; + } + + template + GLM_FUNC_QUALIFIER mat<3, 3, T, Q> proj2D( + const mat<3, 3, T, Q>& m, + const vec<3, T, Q>& normal) + { + mat<3, 3, T, Q> r(static_cast(1)); + r[0][0] = static_cast(1) - normal.x * normal.x; + r[0][1] = - normal.x * normal.y; + r[1][0] = - normal.x * normal.y; + r[1][1] = static_cast(1) - normal.y * normal.y; + return m * r; + } + + template + GLM_FUNC_QUALIFIER mat<4, 4, T, Q> proj3D( + const mat<4, 4, T, Q>& m, + const vec<3, T, Q>& normal) + { + mat<4, 4, T, Q> r(static_cast(1)); + r[0][0] = static_cast(1) - normal.x * normal.x; + r[0][1] = - normal.x * normal.y; + r[0][2] = - normal.x * normal.z; + r[1][0] = - normal.x * normal.y; + r[1][1] = static_cast(1) - normal.y * normal.y; + r[1][2] = - normal.y * normal.z; + r[2][0] = - normal.x * normal.z; + r[2][1] = - normal.y * normal.z; + r[2][2] = static_cast(1) - normal.z * normal.z; + return m * r; + } + + template + GLM_FUNC_QUALIFIER mat<4, 4, T, Q> scaleBias(T scale, T bias) + { + mat<4, 4, T, Q> result; + result[3] = vec<4, T, Q>(vec<3, T, Q>(bias), static_cast(1)); + result[0][0] = scale; + result[1][1] = scale; + result[2][2] = scale; + return result; + } + + template + GLM_FUNC_QUALIFIER mat<4, 4, T, Q> scaleBias(mat<4, 4, T, Q> const& m, T scale, T bias) + { + return m * scaleBias(scale, bias); + } +}//namespace glm + diff --git a/MacroLibX/third_party/glm/gtx/type_aligned.hpp b/MacroLibX/third_party/glm/gtx/type_aligned.hpp new file mode 100644 index 0000000..2ae522c --- /dev/null +++ b/MacroLibX/third_party/glm/gtx/type_aligned.hpp @@ -0,0 +1,982 @@ +/// @ref gtx_type_aligned +/// @file glm/gtx/type_aligned.hpp +/// +/// @see core (dependence) +/// @see gtc_quaternion (dependence) +/// +/// @defgroup gtx_type_aligned GLM_GTX_type_aligned +/// @ingroup gtx +/// +/// Include to use the features of this extension. +/// +/// Defines aligned types. + +#pragma once + +// Dependency: +#include "../gtc/type_precision.hpp" +#include "../gtc/quaternion.hpp" + +#if GLM_MESSAGES == GLM_ENABLE && !defined(GLM_EXT_INCLUDED) +# ifndef GLM_ENABLE_EXPERIMENTAL +# pragma message("GLM: GLM_GTX_type_aligned is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it.") +# else +# pragma message("GLM: GLM_GTX_type_aligned extension included") +# endif +#endif + +namespace glm +{ + /////////////////////////// + // Signed int vector types + + /// @addtogroup gtx_type_aligned + /// @{ + + /// Low qualifier 8 bit signed integer aligned scalar type. + /// @see gtx_type_aligned + GLM_ALIGNED_TYPEDEF(lowp_int8, aligned_lowp_int8, 1); + + /// Low qualifier 16 bit signed integer aligned scalar type. + /// @see gtx_type_aligned + GLM_ALIGNED_TYPEDEF(lowp_int16, aligned_lowp_int16, 2); + + /// Low qualifier 32 bit signed integer aligned scalar type. + /// @see gtx_type_aligned + GLM_ALIGNED_TYPEDEF(lowp_int32, aligned_lowp_int32, 4); + + /// Low qualifier 64 bit signed integer aligned scalar type. + /// @see gtx_type_aligned + GLM_ALIGNED_TYPEDEF(lowp_int64, aligned_lowp_int64, 8); + + + /// Low qualifier 8 bit signed integer aligned scalar type. + /// @see gtx_type_aligned + GLM_ALIGNED_TYPEDEF(lowp_int8_t, aligned_lowp_int8_t, 1); + + /// Low qualifier 16 bit signed integer aligned scalar type. + /// @see gtx_type_aligned + GLM_ALIGNED_TYPEDEF(lowp_int16_t, aligned_lowp_int16_t, 2); + + /// Low qualifier 32 bit signed integer aligned scalar type. + /// @see gtx_type_aligned + GLM_ALIGNED_TYPEDEF(lowp_int32_t, aligned_lowp_int32_t, 4); + + /// Low qualifier 64 bit signed integer aligned scalar type. + /// @see gtx_type_aligned + GLM_ALIGNED_TYPEDEF(lowp_int64_t, aligned_lowp_int64_t, 8); + + + /// Low qualifier 8 bit signed integer aligned scalar type. + /// @see gtx_type_aligned + GLM_ALIGNED_TYPEDEF(lowp_i8, aligned_lowp_i8, 1); + + /// Low qualifier 16 bit signed integer aligned scalar type. + /// @see gtx_type_aligned + GLM_ALIGNED_TYPEDEF(lowp_i16, aligned_lowp_i16, 2); + + /// Low qualifier 32 bit signed integer aligned scalar type. + /// @see gtx_type_aligned + GLM_ALIGNED_TYPEDEF(lowp_i32, aligned_lowp_i32, 4); + + /// Low qualifier 64 bit signed integer aligned scalar type. + /// @see gtx_type_aligned + GLM_ALIGNED_TYPEDEF(lowp_i64, aligned_lowp_i64, 8); + + + /// Medium qualifier 8 bit signed integer aligned scalar type. + /// @see gtx_type_aligned + GLM_ALIGNED_TYPEDEF(mediump_int8, aligned_mediump_int8, 1); + + /// Medium qualifier 16 bit signed integer aligned scalar type. + /// @see gtx_type_aligned + GLM_ALIGNED_TYPEDEF(mediump_int16, aligned_mediump_int16, 2); + + /// Medium qualifier 32 bit signed integer aligned scalar type. + /// @see gtx_type_aligned + GLM_ALIGNED_TYPEDEF(mediump_int32, aligned_mediump_int32, 4); + + /// Medium qualifier 64 bit signed integer aligned scalar type. + /// @see gtx_type_aligned + GLM_ALIGNED_TYPEDEF(mediump_int64, aligned_mediump_int64, 8); + + + /// Medium qualifier 8 bit signed integer aligned scalar type. + /// @see gtx_type_aligned + GLM_ALIGNED_TYPEDEF(mediump_int8_t, aligned_mediump_int8_t, 1); + + /// Medium qualifier 16 bit signed integer aligned scalar type. + /// @see gtx_type_aligned + GLM_ALIGNED_TYPEDEF(mediump_int16_t, aligned_mediump_int16_t, 2); + + /// Medium qualifier 32 bit signed integer aligned scalar type. + /// @see gtx_type_aligned + GLM_ALIGNED_TYPEDEF(mediump_int32_t, aligned_mediump_int32_t, 4); + + /// Medium qualifier 64 bit signed integer aligned scalar type. + /// @see gtx_type_aligned + GLM_ALIGNED_TYPEDEF(mediump_int64_t, aligned_mediump_int64_t, 8); + + + /// Medium qualifier 8 bit signed integer aligned scalar type. + /// @see gtx_type_aligned + GLM_ALIGNED_TYPEDEF(mediump_i8, aligned_mediump_i8, 1); + + /// Medium qualifier 16 bit signed integer aligned scalar type. + /// @see gtx_type_aligned + GLM_ALIGNED_TYPEDEF(mediump_i16, aligned_mediump_i16, 2); + + /// Medium qualifier 32 bit signed integer aligned scalar type. + /// @see gtx_type_aligned + GLM_ALIGNED_TYPEDEF(mediump_i32, aligned_mediump_i32, 4); + + /// Medium qualifier 64 bit signed integer aligned scalar type. + /// @see gtx_type_aligned + GLM_ALIGNED_TYPEDEF(mediump_i64, aligned_mediump_i64, 8); + + + /// High qualifier 8 bit signed integer aligned scalar type. + /// @see gtx_type_aligned + GLM_ALIGNED_TYPEDEF(highp_int8, aligned_highp_int8, 1); + + /// High qualifier 16 bit signed integer aligned scalar type. + /// @see gtx_type_aligned + GLM_ALIGNED_TYPEDEF(highp_int16, aligned_highp_int16, 2); + + /// High qualifier 32 bit signed integer aligned scalar type. + /// @see gtx_type_aligned + GLM_ALIGNED_TYPEDEF(highp_int32, aligned_highp_int32, 4); + + /// High qualifier 64 bit signed integer aligned scalar type. + /// @see gtx_type_aligned + GLM_ALIGNED_TYPEDEF(highp_int64, aligned_highp_int64, 8); + + + /// High qualifier 8 bit signed integer aligned scalar type. + /// @see gtx_type_aligned + GLM_ALIGNED_TYPEDEF(highp_int8_t, aligned_highp_int8_t, 1); + + /// High qualifier 16 bit signed integer aligned scalar type. + /// @see gtx_type_aligned + GLM_ALIGNED_TYPEDEF(highp_int16_t, aligned_highp_int16_t, 2); + + /// High qualifier 32 bit signed integer aligned scalar type. + /// @see gtx_type_aligned + GLM_ALIGNED_TYPEDEF(highp_int32_t, aligned_highp_int32_t, 4); + + /// High qualifier 64 bit signed integer aligned scalar type. + /// @see gtx_type_aligned + GLM_ALIGNED_TYPEDEF(highp_int64_t, aligned_highp_int64_t, 8); + + + /// High qualifier 8 bit signed integer aligned scalar type. + /// @see gtx_type_aligned + GLM_ALIGNED_TYPEDEF(highp_i8, aligned_highp_i8, 1); + + /// High qualifier 16 bit signed integer aligned scalar type. + /// @see gtx_type_aligned + GLM_ALIGNED_TYPEDEF(highp_i16, aligned_highp_i16, 2); + + /// High qualifier 32 bit signed integer aligned scalar type. + /// @see gtx_type_aligned + GLM_ALIGNED_TYPEDEF(highp_i32, aligned_highp_i32, 4); + + /// High qualifier 64 bit signed integer aligned scalar type. + /// @see gtx_type_aligned + GLM_ALIGNED_TYPEDEF(highp_i64, aligned_highp_i64, 8); + + + /// Default qualifier 8 bit signed integer aligned scalar type. + /// @see gtx_type_aligned + GLM_ALIGNED_TYPEDEF(int8, aligned_int8, 1); + + /// Default qualifier 16 bit signed integer aligned scalar type. + /// @see gtx_type_aligned + GLM_ALIGNED_TYPEDEF(int16, aligned_int16, 2); + + /// Default qualifier 32 bit signed integer aligned scalar type. + /// @see gtx_type_aligned + GLM_ALIGNED_TYPEDEF(int32, aligned_int32, 4); + + /// Default qualifier 64 bit signed integer aligned scalar type. + /// @see gtx_type_aligned + GLM_ALIGNED_TYPEDEF(int64, aligned_int64, 8); + + + /// Default qualifier 8 bit signed integer aligned scalar type. + /// @see gtx_type_aligned + GLM_ALIGNED_TYPEDEF(int8_t, aligned_int8_t, 1); + + /// Default qualifier 16 bit signed integer aligned scalar type. + /// @see gtx_type_aligned + GLM_ALIGNED_TYPEDEF(int16_t, aligned_int16_t, 2); + + /// Default qualifier 32 bit signed integer aligned scalar type. + /// @see gtx_type_aligned + GLM_ALIGNED_TYPEDEF(int32_t, aligned_int32_t, 4); + + /// Default qualifier 64 bit signed integer aligned scalar type. + /// @see gtx_type_aligned + GLM_ALIGNED_TYPEDEF(int64_t, aligned_int64_t, 8); + + + /// Default qualifier 8 bit signed integer aligned scalar type. + /// @see gtx_type_aligned + GLM_ALIGNED_TYPEDEF(i8, aligned_i8, 1); + + /// Default qualifier 16 bit signed integer aligned scalar type. + /// @see gtx_type_aligned + GLM_ALIGNED_TYPEDEF(i16, aligned_i16, 2); + + /// Default qualifier 32 bit signed integer aligned scalar type. + /// @see gtx_type_aligned + GLM_ALIGNED_TYPEDEF(i32, aligned_i32, 4); + + /// Default qualifier 64 bit signed integer aligned scalar type. + /// @see gtx_type_aligned + GLM_ALIGNED_TYPEDEF(i64, aligned_i64, 8); + + + /// Default qualifier 32 bit signed integer aligned scalar type. + /// @see gtx_type_aligned + GLM_ALIGNED_TYPEDEF(ivec1, aligned_ivec1, 4); + + /// Default qualifier 32 bit signed integer aligned vector of 2 components type. + /// @see gtx_type_aligned + GLM_ALIGNED_TYPEDEF(ivec2, aligned_ivec2, 8); + + /// Default qualifier 32 bit signed integer aligned vector of 3 components type. + /// @see gtx_type_aligned + GLM_ALIGNED_TYPEDEF(ivec3, aligned_ivec3, 16); + + /// Default qualifier 32 bit signed integer aligned vector of 4 components type. + /// @see gtx_type_aligned + GLM_ALIGNED_TYPEDEF(ivec4, aligned_ivec4, 16); + + + /// Default qualifier 8 bit signed integer aligned scalar type. + /// @see gtx_type_aligned + GLM_ALIGNED_TYPEDEF(i8vec1, aligned_i8vec1, 1); + + /// Default qualifier 8 bit signed integer aligned vector of 2 components type. + /// @see gtx_type_aligned + GLM_ALIGNED_TYPEDEF(i8vec2, aligned_i8vec2, 2); + + /// Default qualifier 8 bit signed integer aligned vector of 3 components type. + /// @see gtx_type_aligned + GLM_ALIGNED_TYPEDEF(i8vec3, aligned_i8vec3, 4); + + /// Default qualifier 8 bit signed integer aligned vector of 4 components type. + /// @see gtx_type_aligned + GLM_ALIGNED_TYPEDEF(i8vec4, aligned_i8vec4, 4); + + + /// Default qualifier 16 bit signed integer aligned scalar type. + /// @see gtx_type_aligned + GLM_ALIGNED_TYPEDEF(i16vec1, aligned_i16vec1, 2); + + /// Default qualifier 16 bit signed integer aligned vector of 2 components type. + /// @see gtx_type_aligned + GLM_ALIGNED_TYPEDEF(i16vec2, aligned_i16vec2, 4); + + /// Default qualifier 16 bit signed integer aligned vector of 3 components type. + /// @see gtx_type_aligned + GLM_ALIGNED_TYPEDEF(i16vec3, aligned_i16vec3, 8); + + /// Default qualifier 16 bit signed integer aligned vector of 4 components type. + /// @see gtx_type_aligned + GLM_ALIGNED_TYPEDEF(i16vec4, aligned_i16vec4, 8); + + + /// Default qualifier 32 bit signed integer aligned scalar type. + /// @see gtx_type_aligned + GLM_ALIGNED_TYPEDEF(i32vec1, aligned_i32vec1, 4); + + /// Default qualifier 32 bit signed integer aligned vector of 2 components type. + /// @see gtx_type_aligned + GLM_ALIGNED_TYPEDEF(i32vec2, aligned_i32vec2, 8); + + /// Default qualifier 32 bit signed integer aligned vector of 3 components type. + /// @see gtx_type_aligned + GLM_ALIGNED_TYPEDEF(i32vec3, aligned_i32vec3, 16); + + /// Default qualifier 32 bit signed integer aligned vector of 4 components type. + /// @see gtx_type_aligned + GLM_ALIGNED_TYPEDEF(i32vec4, aligned_i32vec4, 16); + + + /// Default qualifier 64 bit signed integer aligned scalar type. + /// @see gtx_type_aligned + GLM_ALIGNED_TYPEDEF(i64vec1, aligned_i64vec1, 8); + + /// Default qualifier 64 bit signed integer aligned vector of 2 components type. + /// @see gtx_type_aligned + GLM_ALIGNED_TYPEDEF(i64vec2, aligned_i64vec2, 16); + + /// Default qualifier 64 bit signed integer aligned vector of 3 components type. + /// @see gtx_type_aligned + GLM_ALIGNED_TYPEDEF(i64vec3, aligned_i64vec3, 32); + + /// Default qualifier 64 bit signed integer aligned vector of 4 components type. + /// @see gtx_type_aligned + GLM_ALIGNED_TYPEDEF(i64vec4, aligned_i64vec4, 32); + + + ///////////////////////////// + // Unsigned int vector types + + /// Low qualifier 8 bit unsigned integer aligned scalar type. + /// @see gtx_type_aligned + GLM_ALIGNED_TYPEDEF(lowp_uint8, aligned_lowp_uint8, 1); + + /// Low qualifier 16 bit unsigned integer aligned scalar type. + /// @see gtx_type_aligned + GLM_ALIGNED_TYPEDEF(lowp_uint16, aligned_lowp_uint16, 2); + + /// Low qualifier 32 bit unsigned integer aligned scalar type. + /// @see gtx_type_aligned + GLM_ALIGNED_TYPEDEF(lowp_uint32, aligned_lowp_uint32, 4); + + /// Low qualifier 64 bit unsigned integer aligned scalar type. + /// @see gtx_type_aligned + GLM_ALIGNED_TYPEDEF(lowp_uint64, aligned_lowp_uint64, 8); + + + /// Low qualifier 8 bit unsigned integer aligned scalar type. + /// @see gtx_type_aligned + GLM_ALIGNED_TYPEDEF(lowp_uint8_t, aligned_lowp_uint8_t, 1); + + /// Low qualifier 16 bit unsigned integer aligned scalar type. + /// @see gtx_type_aligned + GLM_ALIGNED_TYPEDEF(lowp_uint16_t, aligned_lowp_uint16_t, 2); + + /// Low qualifier 32 bit unsigned integer aligned scalar type. + /// @see gtx_type_aligned + GLM_ALIGNED_TYPEDEF(lowp_uint32_t, aligned_lowp_uint32_t, 4); + + /// Low qualifier 64 bit unsigned integer aligned scalar type. + /// @see gtx_type_aligned + GLM_ALIGNED_TYPEDEF(lowp_uint64_t, aligned_lowp_uint64_t, 8); + + + /// Low qualifier 8 bit unsigned integer aligned scalar type. + /// @see gtx_type_aligned + GLM_ALIGNED_TYPEDEF(lowp_u8, aligned_lowp_u8, 1); + + /// Low qualifier 16 bit unsigned integer aligned scalar type. + /// @see gtx_type_aligned + GLM_ALIGNED_TYPEDEF(lowp_u16, aligned_lowp_u16, 2); + + /// Low qualifier 32 bit unsigned integer aligned scalar type. + /// @see gtx_type_aligned + GLM_ALIGNED_TYPEDEF(lowp_u32, aligned_lowp_u32, 4); + + /// Low qualifier 64 bit unsigned integer aligned scalar type. + /// @see gtx_type_aligned + GLM_ALIGNED_TYPEDEF(lowp_u64, aligned_lowp_u64, 8); + + + /// Medium qualifier 8 bit unsigned integer aligned scalar type. + /// @see gtx_type_aligned + GLM_ALIGNED_TYPEDEF(mediump_uint8, aligned_mediump_uint8, 1); + + /// Medium qualifier 16 bit unsigned integer aligned scalar type. + /// @see gtx_type_aligned + GLM_ALIGNED_TYPEDEF(mediump_uint16, aligned_mediump_uint16, 2); + + /// Medium qualifier 32 bit unsigned integer aligned scalar type. + /// @see gtx_type_aligned + GLM_ALIGNED_TYPEDEF(mediump_uint32, aligned_mediump_uint32, 4); + + /// Medium qualifier 64 bit unsigned integer aligned scalar type. + /// @see gtx_type_aligned + GLM_ALIGNED_TYPEDEF(mediump_uint64, aligned_mediump_uint64, 8); + + + /// Medium qualifier 8 bit unsigned integer aligned scalar type. + /// @see gtx_type_aligned + GLM_ALIGNED_TYPEDEF(mediump_uint8_t, aligned_mediump_uint8_t, 1); + + /// Medium qualifier 16 bit unsigned integer aligned scalar type. + /// @see gtx_type_aligned + GLM_ALIGNED_TYPEDEF(mediump_uint16_t, aligned_mediump_uint16_t, 2); + + /// Medium qualifier 32 bit unsigned integer aligned scalar type. + /// @see gtx_type_aligned + GLM_ALIGNED_TYPEDEF(mediump_uint32_t, aligned_mediump_uint32_t, 4); + + /// Medium qualifier 64 bit unsigned integer aligned scalar type. + /// @see gtx_type_aligned + GLM_ALIGNED_TYPEDEF(mediump_uint64_t, aligned_mediump_uint64_t, 8); + + + /// Medium qualifier 8 bit unsigned integer aligned scalar type. + /// @see gtx_type_aligned + GLM_ALIGNED_TYPEDEF(mediump_u8, aligned_mediump_u8, 1); + + /// Medium qualifier 16 bit unsigned integer aligned scalar type. + /// @see gtx_type_aligned + GLM_ALIGNED_TYPEDEF(mediump_u16, aligned_mediump_u16, 2); + + /// Medium qualifier 32 bit unsigned integer aligned scalar type. + /// @see gtx_type_aligned + GLM_ALIGNED_TYPEDEF(mediump_u32, aligned_mediump_u32, 4); + + /// Medium qualifier 64 bit unsigned integer aligned scalar type. + /// @see gtx_type_aligned + GLM_ALIGNED_TYPEDEF(mediump_u64, aligned_mediump_u64, 8); + + + /// High qualifier 8 bit unsigned integer aligned scalar type. + /// @see gtx_type_aligned + GLM_ALIGNED_TYPEDEF(highp_uint8, aligned_highp_uint8, 1); + + /// High qualifier 16 bit unsigned integer aligned scalar type. + /// @see gtx_type_aligned + GLM_ALIGNED_TYPEDEF(highp_uint16, aligned_highp_uint16, 2); + + /// High qualifier 32 bit unsigned integer aligned scalar type. + /// @see gtx_type_aligned + GLM_ALIGNED_TYPEDEF(highp_uint32, aligned_highp_uint32, 4); + + /// High qualifier 64 bit unsigned integer aligned scalar type. + /// @see gtx_type_aligned + GLM_ALIGNED_TYPEDEF(highp_uint64, aligned_highp_uint64, 8); + + + /// High qualifier 8 bit unsigned integer aligned scalar type. + /// @see gtx_type_aligned + GLM_ALIGNED_TYPEDEF(highp_uint8_t, aligned_highp_uint8_t, 1); + + /// High qualifier 16 bit unsigned integer aligned scalar type. + /// @see gtx_type_aligned + GLM_ALIGNED_TYPEDEF(highp_uint16_t, aligned_highp_uint16_t, 2); + + /// High qualifier 32 bit unsigned integer aligned scalar type. + /// @see gtx_type_aligned + GLM_ALIGNED_TYPEDEF(highp_uint32_t, aligned_highp_uint32_t, 4); + + /// High qualifier 64 bit unsigned integer aligned scalar type. + /// @see gtx_type_aligned + GLM_ALIGNED_TYPEDEF(highp_uint64_t, aligned_highp_uint64_t, 8); + + + /// High qualifier 8 bit unsigned integer aligned scalar type. + /// @see gtx_type_aligned + GLM_ALIGNED_TYPEDEF(highp_u8, aligned_highp_u8, 1); + + /// High qualifier 16 bit unsigned integer aligned scalar type. + /// @see gtx_type_aligned + GLM_ALIGNED_TYPEDEF(highp_u16, aligned_highp_u16, 2); + + /// High qualifier 32 bit unsigned integer aligned scalar type. + /// @see gtx_type_aligned + GLM_ALIGNED_TYPEDEF(highp_u32, aligned_highp_u32, 4); + + /// High qualifier 64 bit unsigned integer aligned scalar type. + /// @see gtx_type_aligned + GLM_ALIGNED_TYPEDEF(highp_u64, aligned_highp_u64, 8); + + + /// Default qualifier 8 bit unsigned integer aligned scalar type. + /// @see gtx_type_aligned + GLM_ALIGNED_TYPEDEF(uint8, aligned_uint8, 1); + + /// Default qualifier 16 bit unsigned integer aligned scalar type. + /// @see gtx_type_aligned + GLM_ALIGNED_TYPEDEF(uint16, aligned_uint16, 2); + + /// Default qualifier 32 bit unsigned integer aligned scalar type. + /// @see gtx_type_aligned + GLM_ALIGNED_TYPEDEF(uint32, aligned_uint32, 4); + + /// Default qualifier 64 bit unsigned integer aligned scalar type. + /// @see gtx_type_aligned + GLM_ALIGNED_TYPEDEF(uint64, aligned_uint64, 8); + + + /// Default qualifier 8 bit unsigned integer aligned scalar type. + /// @see gtx_type_aligned + GLM_ALIGNED_TYPEDEF(uint8_t, aligned_uint8_t, 1); + + /// Default qualifier 16 bit unsigned integer aligned scalar type. + /// @see gtx_type_aligned + GLM_ALIGNED_TYPEDEF(uint16_t, aligned_uint16_t, 2); + + /// Default qualifier 32 bit unsigned integer aligned scalar type. + /// @see gtx_type_aligned + GLM_ALIGNED_TYPEDEF(uint32_t, aligned_uint32_t, 4); + + /// Default qualifier 64 bit unsigned integer aligned scalar type. + /// @see gtx_type_aligned + GLM_ALIGNED_TYPEDEF(uint64_t, aligned_uint64_t, 8); + + + /// Default qualifier 8 bit unsigned integer aligned scalar type. + /// @see gtx_type_aligned + GLM_ALIGNED_TYPEDEF(u8, aligned_u8, 1); + + /// Default qualifier 16 bit unsigned integer aligned scalar type. + /// @see gtx_type_aligned + GLM_ALIGNED_TYPEDEF(u16, aligned_u16, 2); + + /// Default qualifier 32 bit unsigned integer aligned scalar type. + /// @see gtx_type_aligned + GLM_ALIGNED_TYPEDEF(u32, aligned_u32, 4); + + /// Default qualifier 64 bit unsigned integer aligned scalar type. + /// @see gtx_type_aligned + GLM_ALIGNED_TYPEDEF(u64, aligned_u64, 8); + + + /// Default qualifier 32 bit unsigned integer aligned scalar type. + /// @see gtx_type_aligned + GLM_ALIGNED_TYPEDEF(uvec1, aligned_uvec1, 4); + + /// Default qualifier 32 bit unsigned integer aligned vector of 2 components type. + /// @see gtx_type_aligned + GLM_ALIGNED_TYPEDEF(uvec2, aligned_uvec2, 8); + + /// Default qualifier 32 bit unsigned integer aligned vector of 3 components type. + /// @see gtx_type_aligned + GLM_ALIGNED_TYPEDEF(uvec3, aligned_uvec3, 16); + + /// Default qualifier 32 bit unsigned integer aligned vector of 4 components type. + /// @see gtx_type_aligned + GLM_ALIGNED_TYPEDEF(uvec4, aligned_uvec4, 16); + + + /// Default qualifier 8 bit unsigned integer aligned scalar type. + /// @see gtx_type_aligned + GLM_ALIGNED_TYPEDEF(u8vec1, aligned_u8vec1, 1); + + /// Default qualifier 8 bit unsigned integer aligned vector of 2 components type. + /// @see gtx_type_aligned + GLM_ALIGNED_TYPEDEF(u8vec2, aligned_u8vec2, 2); + + /// Default qualifier 8 bit unsigned integer aligned vector of 3 components type. + /// @see gtx_type_aligned + GLM_ALIGNED_TYPEDEF(u8vec3, aligned_u8vec3, 4); + + /// Default qualifier 8 bit unsigned integer aligned vector of 4 components type. + /// @see gtx_type_aligned + GLM_ALIGNED_TYPEDEF(u8vec4, aligned_u8vec4, 4); + + + /// Default qualifier 16 bit unsigned integer aligned scalar type. + /// @see gtx_type_aligned + GLM_ALIGNED_TYPEDEF(u16vec1, aligned_u16vec1, 2); + + /// Default qualifier 16 bit unsigned integer aligned vector of 2 components type. + /// @see gtx_type_aligned + GLM_ALIGNED_TYPEDEF(u16vec2, aligned_u16vec2, 4); + + /// Default qualifier 16 bit unsigned integer aligned vector of 3 components type. + /// @see gtx_type_aligned + GLM_ALIGNED_TYPEDEF(u16vec3, aligned_u16vec3, 8); + + /// Default qualifier 16 bit unsigned integer aligned vector of 4 components type. + /// @see gtx_type_aligned + GLM_ALIGNED_TYPEDEF(u16vec4, aligned_u16vec4, 8); + + + /// Default qualifier 32 bit unsigned integer aligned scalar type. + /// @see gtx_type_aligned + GLM_ALIGNED_TYPEDEF(u32vec1, aligned_u32vec1, 4); + + /// Default qualifier 32 bit unsigned integer aligned vector of 2 components type. + /// @see gtx_type_aligned + GLM_ALIGNED_TYPEDEF(u32vec2, aligned_u32vec2, 8); + + /// Default qualifier 32 bit unsigned integer aligned vector of 3 components type. + /// @see gtx_type_aligned + GLM_ALIGNED_TYPEDEF(u32vec3, aligned_u32vec3, 16); + + /// Default qualifier 32 bit unsigned integer aligned vector of 4 components type. + /// @see gtx_type_aligned + GLM_ALIGNED_TYPEDEF(u32vec4, aligned_u32vec4, 16); + + + /// Default qualifier 64 bit unsigned integer aligned scalar type. + /// @see gtx_type_aligned + GLM_ALIGNED_TYPEDEF(u64vec1, aligned_u64vec1, 8); + + /// Default qualifier 64 bit unsigned integer aligned vector of 2 components type. + /// @see gtx_type_aligned + GLM_ALIGNED_TYPEDEF(u64vec2, aligned_u64vec2, 16); + + /// Default qualifier 64 bit unsigned integer aligned vector of 3 components type. + /// @see gtx_type_aligned + GLM_ALIGNED_TYPEDEF(u64vec3, aligned_u64vec3, 32); + + /// Default qualifier 64 bit unsigned integer aligned vector of 4 components type. + /// @see gtx_type_aligned + GLM_ALIGNED_TYPEDEF(u64vec4, aligned_u64vec4, 32); + + + ////////////////////// + // Float vector types + + /// 32 bit single-qualifier floating-point aligned scalar. + /// @see gtx_type_aligned + GLM_ALIGNED_TYPEDEF(float32, aligned_float32, 4); + + /// 32 bit single-qualifier floating-point aligned scalar. + /// @see gtx_type_aligned + GLM_ALIGNED_TYPEDEF(float32_t, aligned_float32_t, 4); + + /// 32 bit single-qualifier floating-point aligned scalar. + /// @see gtx_type_aligned + GLM_ALIGNED_TYPEDEF(float32, aligned_f32, 4); + +# ifndef GLM_FORCE_SINGLE_ONLY + + /// 64 bit double-qualifier floating-point aligned scalar. + /// @see gtx_type_aligned + GLM_ALIGNED_TYPEDEF(float64, aligned_float64, 8); + + /// 64 bit double-qualifier floating-point aligned scalar. + /// @see gtx_type_aligned + GLM_ALIGNED_TYPEDEF(float64_t, aligned_float64_t, 8); + + /// 64 bit double-qualifier floating-point aligned scalar. + /// @see gtx_type_aligned + GLM_ALIGNED_TYPEDEF(float64, aligned_f64, 8); + +# endif//GLM_FORCE_SINGLE_ONLY + + + /// Single-qualifier floating-point aligned vector of 1 component. + /// @see gtx_type_aligned + GLM_ALIGNED_TYPEDEF(vec1, aligned_vec1, 4); + + /// Single-qualifier floating-point aligned vector of 2 components. + /// @see gtx_type_aligned + GLM_ALIGNED_TYPEDEF(vec2, aligned_vec2, 8); + + /// Single-qualifier floating-point aligned vector of 3 components. + /// @see gtx_type_aligned + GLM_ALIGNED_TYPEDEF(vec3, aligned_vec3, 16); + + /// Single-qualifier floating-point aligned vector of 4 components. + /// @see gtx_type_aligned + GLM_ALIGNED_TYPEDEF(vec4, aligned_vec4, 16); + + + /// Single-qualifier floating-point aligned vector of 1 component. + /// @see gtx_type_aligned + GLM_ALIGNED_TYPEDEF(fvec1, aligned_fvec1, 4); + + /// Single-qualifier floating-point aligned vector of 2 components. + /// @see gtx_type_aligned + GLM_ALIGNED_TYPEDEF(fvec2, aligned_fvec2, 8); + + /// Single-qualifier floating-point aligned vector of 3 components. + /// @see gtx_type_aligned + GLM_ALIGNED_TYPEDEF(fvec3, aligned_fvec3, 16); + + /// Single-qualifier floating-point aligned vector of 4 components. + /// @see gtx_type_aligned + GLM_ALIGNED_TYPEDEF(fvec4, aligned_fvec4, 16); + + + /// Single-qualifier floating-point aligned vector of 1 component. + /// @see gtx_type_aligned + GLM_ALIGNED_TYPEDEF(f32vec1, aligned_f32vec1, 4); + + /// Single-qualifier floating-point aligned vector of 2 components. + /// @see gtx_type_aligned + GLM_ALIGNED_TYPEDEF(f32vec2, aligned_f32vec2, 8); + + /// Single-qualifier floating-point aligned vector of 3 components. + /// @see gtx_type_aligned + GLM_ALIGNED_TYPEDEF(f32vec3, aligned_f32vec3, 16); + + /// Single-qualifier floating-point aligned vector of 4 components. + /// @see gtx_type_aligned + GLM_ALIGNED_TYPEDEF(f32vec4, aligned_f32vec4, 16); + + + /// Double-qualifier floating-point aligned vector of 1 component. + /// @see gtx_type_aligned + GLM_ALIGNED_TYPEDEF(dvec1, aligned_dvec1, 8); + + /// Double-qualifier floating-point aligned vector of 2 components. + /// @see gtx_type_aligned + GLM_ALIGNED_TYPEDEF(dvec2, aligned_dvec2, 16); + + /// Double-qualifier floating-point aligned vector of 3 components. + /// @see gtx_type_aligned + GLM_ALIGNED_TYPEDEF(dvec3, aligned_dvec3, 32); + + /// Double-qualifier floating-point aligned vector of 4 components. + /// @see gtx_type_aligned + GLM_ALIGNED_TYPEDEF(dvec4, aligned_dvec4, 32); + + +# ifndef GLM_FORCE_SINGLE_ONLY + + /// Double-qualifier floating-point aligned vector of 1 component. + /// @see gtx_type_aligned + GLM_ALIGNED_TYPEDEF(f64vec1, aligned_f64vec1, 8); + + /// Double-qualifier floating-point aligned vector of 2 components. + /// @see gtx_type_aligned + GLM_ALIGNED_TYPEDEF(f64vec2, aligned_f64vec2, 16); + + /// Double-qualifier floating-point aligned vector of 3 components. + /// @see gtx_type_aligned + GLM_ALIGNED_TYPEDEF(f64vec3, aligned_f64vec3, 32); + + /// Double-qualifier floating-point aligned vector of 4 components. + /// @see gtx_type_aligned + GLM_ALIGNED_TYPEDEF(f64vec4, aligned_f64vec4, 32); + +# endif//GLM_FORCE_SINGLE_ONLY + + ////////////////////// + // Float matrix types + + /// Single-qualifier floating-point aligned 1x1 matrix. + /// @see gtx_type_aligned + //typedef detail::tmat1 mat1; + + /// Single-qualifier floating-point aligned 2x2 matrix. + /// @see gtx_type_aligned + GLM_ALIGNED_TYPEDEF(mat2, aligned_mat2, 16); + + /// Single-qualifier floating-point aligned 3x3 matrix. + /// @see gtx_type_aligned + GLM_ALIGNED_TYPEDEF(mat3, aligned_mat3, 16); + + /// Single-qualifier floating-point aligned 4x4 matrix. + /// @see gtx_type_aligned + GLM_ALIGNED_TYPEDEF(mat4, aligned_mat4, 16); + + + /// Single-qualifier floating-point aligned 1x1 matrix. + /// @see gtx_type_aligned + //typedef detail::tmat1x1 mat1; + + /// Single-qualifier floating-point aligned 2x2 matrix. + /// @see gtx_type_aligned + GLM_ALIGNED_TYPEDEF(mat2x2, aligned_mat2x2, 16); + + /// Single-qualifier floating-point aligned 3x3 matrix. + /// @see gtx_type_aligned + GLM_ALIGNED_TYPEDEF(mat3x3, aligned_mat3x3, 16); + + /// Single-qualifier floating-point aligned 4x4 matrix. + /// @see gtx_type_aligned + GLM_ALIGNED_TYPEDEF(mat4x4, aligned_mat4x4, 16); + + + /// Single-qualifier floating-point aligned 1x1 matrix. + /// @see gtx_type_aligned + //typedef detail::tmat1x1 fmat1; + + /// Single-qualifier floating-point aligned 2x2 matrix. + /// @see gtx_type_aligned + GLM_ALIGNED_TYPEDEF(fmat2x2, aligned_fmat2, 16); + + /// Single-qualifier floating-point aligned 3x3 matrix. + /// @see gtx_type_aligned + GLM_ALIGNED_TYPEDEF(fmat3x3, aligned_fmat3, 16); + + /// Single-qualifier floating-point aligned 4x4 matrix. + /// @see gtx_type_aligned + GLM_ALIGNED_TYPEDEF(fmat4x4, aligned_fmat4, 16); + + + /// Single-qualifier floating-point aligned 1x1 matrix. + /// @see gtx_type_aligned + //typedef f32 fmat1x1; + + /// Single-qualifier floating-point aligned 2x2 matrix. + /// @see gtx_type_aligned + GLM_ALIGNED_TYPEDEF(fmat2x2, aligned_fmat2x2, 16); + + /// Single-qualifier floating-point aligned 2x3 matrix. + /// @see gtx_type_aligned + GLM_ALIGNED_TYPEDEF(fmat2x3, aligned_fmat2x3, 16); + + /// Single-qualifier floating-point aligned 2x4 matrix. + /// @see gtx_type_aligned + GLM_ALIGNED_TYPEDEF(fmat2x4, aligned_fmat2x4, 16); + + /// Single-qualifier floating-point aligned 3x2 matrix. + /// @see gtx_type_aligned + GLM_ALIGNED_TYPEDEF(fmat3x2, aligned_fmat3x2, 16); + + /// Single-qualifier floating-point aligned 3x3 matrix. + /// @see gtx_type_aligned + GLM_ALIGNED_TYPEDEF(fmat3x3, aligned_fmat3x3, 16); + + /// Single-qualifier floating-point aligned 3x4 matrix. + /// @see gtx_type_aligned + GLM_ALIGNED_TYPEDEF(fmat3x4, aligned_fmat3x4, 16); + + /// Single-qualifier floating-point aligned 4x2 matrix. + /// @see gtx_type_aligned + GLM_ALIGNED_TYPEDEF(fmat4x2, aligned_fmat4x2, 16); + + /// Single-qualifier floating-point aligned 4x3 matrix. + /// @see gtx_type_aligned + GLM_ALIGNED_TYPEDEF(fmat4x3, aligned_fmat4x3, 16); + + /// Single-qualifier floating-point aligned 4x4 matrix. + /// @see gtx_type_aligned + GLM_ALIGNED_TYPEDEF(fmat4x4, aligned_fmat4x4, 16); + + + /// Single-qualifier floating-point aligned 1x1 matrix. + /// @see gtx_type_aligned + //typedef detail::tmat1x1 f32mat1; + + /// Single-qualifier floating-point aligned 2x2 matrix. + /// @see gtx_type_aligned + GLM_ALIGNED_TYPEDEF(f32mat2x2, aligned_f32mat2, 16); + + /// Single-qualifier floating-point aligned 3x3 matrix. + /// @see gtx_type_aligned + GLM_ALIGNED_TYPEDEF(f32mat3x3, aligned_f32mat3, 16); + + /// Single-qualifier floating-point aligned 4x4 matrix. + /// @see gtx_type_aligned + GLM_ALIGNED_TYPEDEF(f32mat4x4, aligned_f32mat4, 16); + + + /// Single-qualifier floating-point aligned 1x1 matrix. + /// @see gtx_type_aligned + //typedef f32 f32mat1x1; + + /// Single-qualifier floating-point aligned 2x2 matrix. + /// @see gtx_type_aligned + GLM_ALIGNED_TYPEDEF(f32mat2x2, aligned_f32mat2x2, 16); + + /// Single-qualifier floating-point aligned 2x3 matrix. + /// @see gtx_type_aligned + GLM_ALIGNED_TYPEDEF(f32mat2x3, aligned_f32mat2x3, 16); + + /// Single-qualifier floating-point aligned 2x4 matrix. + /// @see gtx_type_aligned + GLM_ALIGNED_TYPEDEF(f32mat2x4, aligned_f32mat2x4, 16); + + /// Single-qualifier floating-point aligned 3x2 matrix. + /// @see gtx_type_aligned + GLM_ALIGNED_TYPEDEF(f32mat3x2, aligned_f32mat3x2, 16); + + /// Single-qualifier floating-point aligned 3x3 matrix. + /// @see gtx_type_aligned + GLM_ALIGNED_TYPEDEF(f32mat3x3, aligned_f32mat3x3, 16); + + /// Single-qualifier floating-point aligned 3x4 matrix. + /// @see gtx_type_aligned + GLM_ALIGNED_TYPEDEF(f32mat3x4, aligned_f32mat3x4, 16); + + /// Single-qualifier floating-point aligned 4x2 matrix. + /// @see gtx_type_aligned + GLM_ALIGNED_TYPEDEF(f32mat4x2, aligned_f32mat4x2, 16); + + /// Single-qualifier floating-point aligned 4x3 matrix. + /// @see gtx_type_aligned + GLM_ALIGNED_TYPEDEF(f32mat4x3, aligned_f32mat4x3, 16); + + /// Single-qualifier floating-point aligned 4x4 matrix. + /// @see gtx_type_aligned + GLM_ALIGNED_TYPEDEF(f32mat4x4, aligned_f32mat4x4, 16); + + +# ifndef GLM_FORCE_SINGLE_ONLY + + /// Double-qualifier floating-point aligned 1x1 matrix. + /// @see gtx_type_aligned + //typedef detail::tmat1x1 f64mat1; + + /// Double-qualifier floating-point aligned 2x2 matrix. + /// @see gtx_type_aligned + GLM_ALIGNED_TYPEDEF(f64mat2x2, aligned_f64mat2, 32); + + /// Double-qualifier floating-point aligned 3x3 matrix. + /// @see gtx_type_aligned + GLM_ALIGNED_TYPEDEF(f64mat3x3, aligned_f64mat3, 32); + + /// Double-qualifier floating-point aligned 4x4 matrix. + /// @see gtx_type_aligned + GLM_ALIGNED_TYPEDEF(f64mat4x4, aligned_f64mat4, 32); + + + /// Double-qualifier floating-point aligned 1x1 matrix. + /// @see gtx_type_aligned + //typedef f64 f64mat1x1; + + /// Double-qualifier floating-point aligned 2x2 matrix. + /// @see gtx_type_aligned + GLM_ALIGNED_TYPEDEF(f64mat2x2, aligned_f64mat2x2, 32); + + /// Double-qualifier floating-point aligned 2x3 matrix. + /// @see gtx_type_aligned + GLM_ALIGNED_TYPEDEF(f64mat2x3, aligned_f64mat2x3, 32); + + /// Double-qualifier floating-point aligned 2x4 matrix. + /// @see gtx_type_aligned + GLM_ALIGNED_TYPEDEF(f64mat2x4, aligned_f64mat2x4, 32); + + /// Double-qualifier floating-point aligned 3x2 matrix. + /// @see gtx_type_aligned + GLM_ALIGNED_TYPEDEF(f64mat3x2, aligned_f64mat3x2, 32); + + /// Double-qualifier floating-point aligned 3x3 matrix. + /// @see gtx_type_aligned + GLM_ALIGNED_TYPEDEF(f64mat3x3, aligned_f64mat3x3, 32); + + /// Double-qualifier floating-point aligned 3x4 matrix. + /// @see gtx_type_aligned + GLM_ALIGNED_TYPEDEF(f64mat3x4, aligned_f64mat3x4, 32); + + /// Double-qualifier floating-point aligned 4x2 matrix. + /// @see gtx_type_aligned + GLM_ALIGNED_TYPEDEF(f64mat4x2, aligned_f64mat4x2, 32); + + /// Double-qualifier floating-point aligned 4x3 matrix. + /// @see gtx_type_aligned + GLM_ALIGNED_TYPEDEF(f64mat4x3, aligned_f64mat4x3, 32); + + /// Double-qualifier floating-point aligned 4x4 matrix. + /// @see gtx_type_aligned + GLM_ALIGNED_TYPEDEF(f64mat4x4, aligned_f64mat4x4, 32); + +# endif//GLM_FORCE_SINGLE_ONLY + + + ////////////////////////// + // Quaternion types + + /// Single-qualifier floating-point aligned quaternion. + /// @see gtx_type_aligned + GLM_ALIGNED_TYPEDEF(quat, aligned_quat, 16); + + /// Single-qualifier floating-point aligned quaternion. + /// @see gtx_type_aligned + GLM_ALIGNED_TYPEDEF(quat, aligned_fquat, 16); + + /// Double-qualifier floating-point aligned quaternion. + /// @see gtx_type_aligned + GLM_ALIGNED_TYPEDEF(dquat, aligned_dquat, 32); + + /// Single-qualifier floating-point aligned quaternion. + /// @see gtx_type_aligned + GLM_ALIGNED_TYPEDEF(f32quat, aligned_f32quat, 16); + +# ifndef GLM_FORCE_SINGLE_ONLY + + /// Double-qualifier floating-point aligned quaternion. + /// @see gtx_type_aligned + GLM_ALIGNED_TYPEDEF(f64quat, aligned_f64quat, 32); + +# endif//GLM_FORCE_SINGLE_ONLY + + /// @} +}//namespace glm + +#include "type_aligned.inl" diff --git a/MacroLibX/third_party/glm/gtx/type_aligned.inl b/MacroLibX/third_party/glm/gtx/type_aligned.inl new file mode 100644 index 0000000..54c1b81 --- /dev/null +++ b/MacroLibX/third_party/glm/gtx/type_aligned.inl @@ -0,0 +1,6 @@ +/// @ref gtc_type_aligned + +namespace glm +{ + +} diff --git a/MacroLibX/third_party/glm/gtx/type_trait.hpp b/MacroLibX/third_party/glm/gtx/type_trait.hpp new file mode 100644 index 0000000..56685c8 --- /dev/null +++ b/MacroLibX/third_party/glm/gtx/type_trait.hpp @@ -0,0 +1,85 @@ +/// @ref gtx_type_trait +/// @file glm/gtx/type_trait.hpp +/// +/// @see core (dependence) +/// +/// @defgroup gtx_type_trait GLM_GTX_type_trait +/// @ingroup gtx +/// +/// Include to use the features of this extension. +/// +/// Defines traits for each type. + +#pragma once + +#if GLM_MESSAGES == GLM_ENABLE && !defined(GLM_EXT_INCLUDED) +# ifndef GLM_ENABLE_EXPERIMENTAL +# pragma message("GLM: GLM_GTX_type_trait is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it.") +# else +# pragma message("GLM: GLM_GTX_type_trait extension included") +# endif +#endif + +// Dependency: +#include "../detail/qualifier.hpp" +#include "../gtc/quaternion.hpp" +#include "../gtx/dual_quaternion.hpp" + +namespace glm +{ + /// @addtogroup gtx_type_trait + /// @{ + + template + struct type + { + static bool const is_vec = false; + static bool const is_mat = false; + static bool const is_quat = false; + static length_t const components = 0; + static length_t const cols = 0; + static length_t const rows = 0; + }; + + template + struct type > + { + static bool const is_vec = true; + static bool const is_mat = false; + static bool const is_quat = false; + static length_t const components = L; + }; + + template + struct type > + { + static bool const is_vec = false; + static bool const is_mat = true; + static bool const is_quat = false; + static length_t const components = C; + static length_t const cols = C; + static length_t const rows = R; + }; + + template + struct type > + { + static bool const is_vec = false; + static bool const is_mat = false; + static bool const is_quat = true; + static length_t const components = 4; + }; + + template + struct type > + { + static bool const is_vec = false; + static bool const is_mat = false; + static bool const is_quat = true; + static length_t const components = 8; + }; + + /// @} +}//namespace glm + +#include "type_trait.inl" diff --git a/MacroLibX/third_party/glm/gtx/type_trait.inl b/MacroLibX/third_party/glm/gtx/type_trait.inl new file mode 100644 index 0000000..045de95 --- /dev/null +++ b/MacroLibX/third_party/glm/gtx/type_trait.inl @@ -0,0 +1,61 @@ +/// @ref gtx_type_trait + +namespace glm +{ + template + bool const type::is_vec; + template + bool const type::is_mat; + template + bool const type::is_quat; + template + length_t const type::components; + template + length_t const type::cols; + template + length_t const type::rows; + + // vec + template + bool const type >::is_vec; + template + bool const type >::is_mat; + template + bool const type >::is_quat; + template + length_t const type >::components; + + // mat + template + bool const type >::is_vec; + template + bool const type >::is_mat; + template + bool const type >::is_quat; + template + length_t const type >::components; + template + length_t const type >::cols; + template + length_t const type >::rows; + + // tquat + template + bool const type >::is_vec; + template + bool const type >::is_mat; + template + bool const type >::is_quat; + template + length_t const type >::components; + + // tdualquat + template + bool const type >::is_vec; + template + bool const type >::is_mat; + template + bool const type >::is_quat; + template + length_t const type >::components; +}//namespace glm diff --git a/MacroLibX/third_party/glm/gtx/vec_swizzle.hpp b/MacroLibX/third_party/glm/gtx/vec_swizzle.hpp new file mode 100644 index 0000000..1c49abc --- /dev/null +++ b/MacroLibX/third_party/glm/gtx/vec_swizzle.hpp @@ -0,0 +1,2782 @@ +/// @ref gtx_vec_swizzle +/// @file glm/gtx/vec_swizzle.hpp +/// +/// @see core (dependence) +/// +/// @defgroup gtx_vec_swizzle GLM_GTX_vec_swizzle +/// @ingroup gtx +/// +/// Include to use the features of this extension. +/// +/// Functions to perform swizzle operation. + +#pragma once + +#include "../glm.hpp" + +#if GLM_MESSAGES == GLM_ENABLE && !defined(GLM_EXT_INCLUDED) +# ifndef GLM_ENABLE_EXPERIMENTAL +# pragma message("GLM: GLM_GTX_vec_swizzle is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it.") +# else +# pragma message("GLM: GLM_GTX_vec_swizzle extension included") +# endif +#endif + +namespace glm { + // xx + template + GLM_INLINE glm::vec<2, T, Q> xx(const glm::vec<1, T, Q> &v) { + return glm::vec<2, T, Q>(v.x, v.x); + } + + template + GLM_INLINE glm::vec<2, T, Q> xx(const glm::vec<2, T, Q> &v) { + return glm::vec<2, T, Q>(v.x, v.x); + } + + template + GLM_INLINE glm::vec<2, T, Q> xx(const glm::vec<3, T, Q> &v) { + return glm::vec<2, T, Q>(v.x, v.x); + } + + template + GLM_INLINE glm::vec<2, T, Q> xx(const glm::vec<4, T, Q> &v) { + return glm::vec<2, T, Q>(v.x, v.x); + } + + // xy + template + GLM_INLINE glm::vec<2, T, Q> xy(const glm::vec<2, T, Q> &v) { + return glm::vec<2, T, Q>(v.x, v.y); + } + + template + GLM_INLINE glm::vec<2, T, Q> xy(const glm::vec<3, T, Q> &v) { + return glm::vec<2, T, Q>(v.x, v.y); + } + + template + GLM_INLINE glm::vec<2, T, Q> xy(const glm::vec<4, T, Q> &v) { + return glm::vec<2, T, Q>(v.x, v.y); + } + + // xz + template + GLM_INLINE glm::vec<2, T, Q> xz(const glm::vec<3, T, Q> &v) { + return glm::vec<2, T, Q>(v.x, v.z); + } + + template + GLM_INLINE glm::vec<2, T, Q> xz(const glm::vec<4, T, Q> &v) { + return glm::vec<2, T, Q>(v.x, v.z); + } + + // xw + template + GLM_INLINE glm::vec<2, T, Q> xw(const glm::vec<4, T, Q> &v) { + return glm::vec<2, T, Q>(v.x, v.w); + } + + // yx + template + GLM_INLINE glm::vec<2, T, Q> yx(const glm::vec<2, T, Q> &v) { + return glm::vec<2, T, Q>(v.y, v.x); + } + + template + GLM_INLINE glm::vec<2, T, Q> yx(const glm::vec<3, T, Q> &v) { + return glm::vec<2, T, Q>(v.y, v.x); + } + + template + GLM_INLINE glm::vec<2, T, Q> yx(const glm::vec<4, T, Q> &v) { + return glm::vec<2, T, Q>(v.y, v.x); + } + + // yy + template + GLM_INLINE glm::vec<2, T, Q> yy(const glm::vec<2, T, Q> &v) { + return glm::vec<2, T, Q>(v.y, v.y); + } + + template + GLM_INLINE glm::vec<2, T, Q> yy(const glm::vec<3, T, Q> &v) { + return glm::vec<2, T, Q>(v.y, v.y); + } + + template + GLM_INLINE glm::vec<2, T, Q> yy(const glm::vec<4, T, Q> &v) { + return glm::vec<2, T, Q>(v.y, v.y); + } + + // yz + template + GLM_INLINE glm::vec<2, T, Q> yz(const glm::vec<3, T, Q> &v) { + return glm::vec<2, T, Q>(v.y, v.z); + } + + template + GLM_INLINE glm::vec<2, T, Q> yz(const glm::vec<4, T, Q> &v) { + return glm::vec<2, T, Q>(v.y, v.z); + } + + // yw + template + GLM_INLINE glm::vec<2, T, Q> yw(const glm::vec<4, T, Q> &v) { + return glm::vec<2, T, Q>(v.y, v.w); + } + + // zx + template + GLM_INLINE glm::vec<2, T, Q> zx(const glm::vec<3, T, Q> &v) { + return glm::vec<2, T, Q>(v.z, v.x); + } + + template + GLM_INLINE glm::vec<2, T, Q> zx(const glm::vec<4, T, Q> &v) { + return glm::vec<2, T, Q>(v.z, v.x); + } + + // zy + template + GLM_INLINE glm::vec<2, T, Q> zy(const glm::vec<3, T, Q> &v) { + return glm::vec<2, T, Q>(v.z, v.y); + } + + template + GLM_INLINE glm::vec<2, T, Q> zy(const glm::vec<4, T, Q> &v) { + return glm::vec<2, T, Q>(v.z, v.y); + } + + // zz + template + GLM_INLINE glm::vec<2, T, Q> zz(const glm::vec<3, T, Q> &v) { + return glm::vec<2, T, Q>(v.z, v.z); + } + + template + GLM_INLINE glm::vec<2, T, Q> zz(const glm::vec<4, T, Q> &v) { + return glm::vec<2, T, Q>(v.z, v.z); + } + + // zw + template + GLM_INLINE glm::vec<2, T, Q> zw(const glm::vec<4, T, Q> &v) { + return glm::vec<2, T, Q>(v.z, v.w); + } + + // wx + template + GLM_INLINE glm::vec<2, T, Q> wx(const glm::vec<4, T, Q> &v) { + return glm::vec<2, T, Q>(v.w, v.x); + } + + // wy + template + GLM_INLINE glm::vec<2, T, Q> wy(const glm::vec<4, T, Q> &v) { + return glm::vec<2, T, Q>(v.w, v.y); + } + + // wz + template + GLM_INLINE glm::vec<2, T, Q> wz(const glm::vec<4, T, Q> &v) { + return glm::vec<2, T, Q>(v.w, v.z); + } + + // ww + template + GLM_INLINE glm::vec<2, T, Q> ww(const glm::vec<4, T, Q> &v) { + return glm::vec<2, T, Q>(v.w, v.w); + } + + // xxx + template + GLM_INLINE glm::vec<3, T, Q> xxx(const glm::vec<1, T, Q> &v) { + return glm::vec<3, T, Q>(v.x, v.x, v.x); + } + + template + GLM_INLINE glm::vec<3, T, Q> xxx(const glm::vec<2, T, Q> &v) { + return glm::vec<3, T, Q>(v.x, v.x, v.x); + } + + template + GLM_INLINE glm::vec<3, T, Q> xxx(const glm::vec<3, T, Q> &v) { + return glm::vec<3, T, Q>(v.x, v.x, v.x); + } + + template + GLM_INLINE glm::vec<3, T, Q> xxx(const glm::vec<4, T, Q> &v) { + return glm::vec<3, T, Q>(v.x, v.x, v.x); + } + + // xxy + template + GLM_INLINE glm::vec<3, T, Q> xxy(const glm::vec<2, T, Q> &v) { + return glm::vec<3, T, Q>(v.x, v.x, v.y); + } + + template + GLM_INLINE glm::vec<3, T, Q> xxy(const glm::vec<3, T, Q> &v) { + return glm::vec<3, T, Q>(v.x, v.x, v.y); + } + + template + GLM_INLINE glm::vec<3, T, Q> xxy(const glm::vec<4, T, Q> &v) { + return glm::vec<3, T, Q>(v.x, v.x, v.y); + } + + // xxz + template + GLM_INLINE glm::vec<3, T, Q> xxz(const glm::vec<3, T, Q> &v) { + return glm::vec<3, T, Q>(v.x, v.x, v.z); + } + + template + GLM_INLINE glm::vec<3, T, Q> xxz(const glm::vec<4, T, Q> &v) { + return glm::vec<3, T, Q>(v.x, v.x, v.z); + } + + // xxw + template + GLM_INLINE glm::vec<3, T, Q> xxw(const glm::vec<4, T, Q> &v) { + return glm::vec<3, T, Q>(v.x, v.x, v.w); + } + + // xyx + template + GLM_INLINE glm::vec<3, T, Q> xyx(const glm::vec<2, T, Q> &v) { + return glm::vec<3, T, Q>(v.x, v.y, v.x); + } + + template + GLM_INLINE glm::vec<3, T, Q> xyx(const glm::vec<3, T, Q> &v) { + return glm::vec<3, T, Q>(v.x, v.y, v.x); + } + + template + GLM_INLINE glm::vec<3, T, Q> xyx(const glm::vec<4, T, Q> &v) { + return glm::vec<3, T, Q>(v.x, v.y, v.x); + } + + // xyy + template + GLM_INLINE glm::vec<3, T, Q> xyy(const glm::vec<2, T, Q> &v) { + return glm::vec<3, T, Q>(v.x, v.y, v.y); + } + + template + GLM_INLINE glm::vec<3, T, Q> xyy(const glm::vec<3, T, Q> &v) { + return glm::vec<3, T, Q>(v.x, v.y, v.y); + } + + template + GLM_INLINE glm::vec<3, T, Q> xyy(const glm::vec<4, T, Q> &v) { + return glm::vec<3, T, Q>(v.x, v.y, v.y); + } + + // xyz + template + GLM_INLINE glm::vec<3, T, Q> xyz(const glm::vec<3, T, Q> &v) { + return glm::vec<3, T, Q>(v.x, v.y, v.z); + } + + template + GLM_INLINE glm::vec<3, T, Q> xyz(const glm::vec<4, T, Q> &v) { + return glm::vec<3, T, Q>(v.x, v.y, v.z); + } + + // xyw + template + GLM_INLINE glm::vec<3, T, Q> xyw(const glm::vec<4, T, Q> &v) { + return glm::vec<3, T, Q>(v.x, v.y, v.w); + } + + // xzx + template + GLM_INLINE glm::vec<3, T, Q> xzx(const glm::vec<3, T, Q> &v) { + return glm::vec<3, T, Q>(v.x, v.z, v.x); + } + + template + GLM_INLINE glm::vec<3, T, Q> xzx(const glm::vec<4, T, Q> &v) { + return glm::vec<3, T, Q>(v.x, v.z, v.x); + } + + // xzy + template + GLM_INLINE glm::vec<3, T, Q> xzy(const glm::vec<3, T, Q> &v) { + return glm::vec<3, T, Q>(v.x, v.z, v.y); + } + + template + GLM_INLINE glm::vec<3, T, Q> xzy(const glm::vec<4, T, Q> &v) { + return glm::vec<3, T, Q>(v.x, v.z, v.y); + } + + // xzz + template + GLM_INLINE glm::vec<3, T, Q> xzz(const glm::vec<3, T, Q> &v) { + return glm::vec<3, T, Q>(v.x, v.z, v.z); + } + + template + GLM_INLINE glm::vec<3, T, Q> xzz(const glm::vec<4, T, Q> &v) { + return glm::vec<3, T, Q>(v.x, v.z, v.z); + } + + // xzw + template + GLM_INLINE glm::vec<3, T, Q> xzw(const glm::vec<4, T, Q> &v) { + return glm::vec<3, T, Q>(v.x, v.z, v.w); + } + + // xwx + template + GLM_INLINE glm::vec<3, T, Q> xwx(const glm::vec<4, T, Q> &v) { + return glm::vec<3, T, Q>(v.x, v.w, v.x); + } + + // xwy + template + GLM_INLINE glm::vec<3, T, Q> xwy(const glm::vec<4, T, Q> &v) { + return glm::vec<3, T, Q>(v.x, v.w, v.y); + } + + // xwz + template + GLM_INLINE glm::vec<3, T, Q> xwz(const glm::vec<4, T, Q> &v) { + return glm::vec<3, T, Q>(v.x, v.w, v.z); + } + + // xww + template + GLM_INLINE glm::vec<3, T, Q> xww(const glm::vec<4, T, Q> &v) { + return glm::vec<3, T, Q>(v.x, v.w, v.w); + } + + // yxx + template + GLM_INLINE glm::vec<3, T, Q> yxx(const glm::vec<2, T, Q> &v) { + return glm::vec<3, T, Q>(v.y, v.x, v.x); + } + + template + GLM_INLINE glm::vec<3, T, Q> yxx(const glm::vec<3, T, Q> &v) { + return glm::vec<3, T, Q>(v.y, v.x, v.x); + } + + template + GLM_INLINE glm::vec<3, T, Q> yxx(const glm::vec<4, T, Q> &v) { + return glm::vec<3, T, Q>(v.y, v.x, v.x); + } + + // yxy + template + GLM_INLINE glm::vec<3, T, Q> yxy(const glm::vec<2, T, Q> &v) { + return glm::vec<3, T, Q>(v.y, v.x, v.y); + } + + template + GLM_INLINE glm::vec<3, T, Q> yxy(const glm::vec<3, T, Q> &v) { + return glm::vec<3, T, Q>(v.y, v.x, v.y); + } + + template + GLM_INLINE glm::vec<3, T, Q> yxy(const glm::vec<4, T, Q> &v) { + return glm::vec<3, T, Q>(v.y, v.x, v.y); + } + + // yxz + template + GLM_INLINE glm::vec<3, T, Q> yxz(const glm::vec<3, T, Q> &v) { + return glm::vec<3, T, Q>(v.y, v.x, v.z); + } + + template + GLM_INLINE glm::vec<3, T, Q> yxz(const glm::vec<4, T, Q> &v) { + return glm::vec<3, T, Q>(v.y, v.x, v.z); + } + + // yxw + template + GLM_INLINE glm::vec<3, T, Q> yxw(const glm::vec<4, T, Q> &v) { + return glm::vec<3, T, Q>(v.y, v.x, v.w); + } + + // yyx + template + GLM_INLINE glm::vec<3, T, Q> yyx(const glm::vec<2, T, Q> &v) { + return glm::vec<3, T, Q>(v.y, v.y, v.x); + } + + template + GLM_INLINE glm::vec<3, T, Q> yyx(const glm::vec<3, T, Q> &v) { + return glm::vec<3, T, Q>(v.y, v.y, v.x); + } + + template + GLM_INLINE glm::vec<3, T, Q> yyx(const glm::vec<4, T, Q> &v) { + return glm::vec<3, T, Q>(v.y, v.y, v.x); + } + + // yyy + template + GLM_INLINE glm::vec<3, T, Q> yyy(const glm::vec<2, T, Q> &v) { + return glm::vec<3, T, Q>(v.y, v.y, v.y); + } + + template + GLM_INLINE glm::vec<3, T, Q> yyy(const glm::vec<3, T, Q> &v) { + return glm::vec<3, T, Q>(v.y, v.y, v.y); + } + + template + GLM_INLINE glm::vec<3, T, Q> yyy(const glm::vec<4, T, Q> &v) { + return glm::vec<3, T, Q>(v.y, v.y, v.y); + } + + // yyz + template + GLM_INLINE glm::vec<3, T, Q> yyz(const glm::vec<3, T, Q> &v) { + return glm::vec<3, T, Q>(v.y, v.y, v.z); + } + + template + GLM_INLINE glm::vec<3, T, Q> yyz(const glm::vec<4, T, Q> &v) { + return glm::vec<3, T, Q>(v.y, v.y, v.z); + } + + // yyw + template + GLM_INLINE glm::vec<3, T, Q> yyw(const glm::vec<4, T, Q> &v) { + return glm::vec<3, T, Q>(v.y, v.y, v.w); + } + + // yzx + template + GLM_INLINE glm::vec<3, T, Q> yzx(const glm::vec<3, T, Q> &v) { + return glm::vec<3, T, Q>(v.y, v.z, v.x); + } + + template + GLM_INLINE glm::vec<3, T, Q> yzx(const glm::vec<4, T, Q> &v) { + return glm::vec<3, T, Q>(v.y, v.z, v.x); + } + + // yzy + template + GLM_INLINE glm::vec<3, T, Q> yzy(const glm::vec<3, T, Q> &v) { + return glm::vec<3, T, Q>(v.y, v.z, v.y); + } + + template + GLM_INLINE glm::vec<3, T, Q> yzy(const glm::vec<4, T, Q> &v) { + return glm::vec<3, T, Q>(v.y, v.z, v.y); + } + + // yzz + template + GLM_INLINE glm::vec<3, T, Q> yzz(const glm::vec<3, T, Q> &v) { + return glm::vec<3, T, Q>(v.y, v.z, v.z); + } + + template + GLM_INLINE glm::vec<3, T, Q> yzz(const glm::vec<4, T, Q> &v) { + return glm::vec<3, T, Q>(v.y, v.z, v.z); + } + + // yzw + template + GLM_INLINE glm::vec<3, T, Q> yzw(const glm::vec<4, T, Q> &v) { + return glm::vec<3, T, Q>(v.y, v.z, v.w); + } + + // ywx + template + GLM_INLINE glm::vec<3, T, Q> ywx(const glm::vec<4, T, Q> &v) { + return glm::vec<3, T, Q>(v.y, v.w, v.x); + } + + // ywy + template + GLM_INLINE glm::vec<3, T, Q> ywy(const glm::vec<4, T, Q> &v) { + return glm::vec<3, T, Q>(v.y, v.w, v.y); + } + + // ywz + template + GLM_INLINE glm::vec<3, T, Q> ywz(const glm::vec<4, T, Q> &v) { + return glm::vec<3, T, Q>(v.y, v.w, v.z); + } + + // yww + template + GLM_INLINE glm::vec<3, T, Q> yww(const glm::vec<4, T, Q> &v) { + return glm::vec<3, T, Q>(v.y, v.w, v.w); + } + + // zxx + template + GLM_INLINE glm::vec<3, T, Q> zxx(const glm::vec<3, T, Q> &v) { + return glm::vec<3, T, Q>(v.z, v.x, v.x); + } + + template + GLM_INLINE glm::vec<3, T, Q> zxx(const glm::vec<4, T, Q> &v) { + return glm::vec<3, T, Q>(v.z, v.x, v.x); + } + + // zxy + template + GLM_INLINE glm::vec<3, T, Q> zxy(const glm::vec<3, T, Q> &v) { + return glm::vec<3, T, Q>(v.z, v.x, v.y); + } + + template + GLM_INLINE glm::vec<3, T, Q> zxy(const glm::vec<4, T, Q> &v) { + return glm::vec<3, T, Q>(v.z, v.x, v.y); + } + + // zxz + template + GLM_INLINE glm::vec<3, T, Q> zxz(const glm::vec<3, T, Q> &v) { + return glm::vec<3, T, Q>(v.z, v.x, v.z); + } + + template + GLM_INLINE glm::vec<3, T, Q> zxz(const glm::vec<4, T, Q> &v) { + return glm::vec<3, T, Q>(v.z, v.x, v.z); + } + + // zxw + template + GLM_INLINE glm::vec<3, T, Q> zxw(const glm::vec<4, T, Q> &v) { + return glm::vec<3, T, Q>(v.z, v.x, v.w); + } + + // zyx + template + GLM_INLINE glm::vec<3, T, Q> zyx(const glm::vec<3, T, Q> &v) { + return glm::vec<3, T, Q>(v.z, v.y, v.x); + } + + template + GLM_INLINE glm::vec<3, T, Q> zyx(const glm::vec<4, T, Q> &v) { + return glm::vec<3, T, Q>(v.z, v.y, v.x); + } + + // zyy + template + GLM_INLINE glm::vec<3, T, Q> zyy(const glm::vec<3, T, Q> &v) { + return glm::vec<3, T, Q>(v.z, v.y, v.y); + } + + template + GLM_INLINE glm::vec<3, T, Q> zyy(const glm::vec<4, T, Q> &v) { + return glm::vec<3, T, Q>(v.z, v.y, v.y); + } + + // zyz + template + GLM_INLINE glm::vec<3, T, Q> zyz(const glm::vec<3, T, Q> &v) { + return glm::vec<3, T, Q>(v.z, v.y, v.z); + } + + template + GLM_INLINE glm::vec<3, T, Q> zyz(const glm::vec<4, T, Q> &v) { + return glm::vec<3, T, Q>(v.z, v.y, v.z); + } + + // zyw + template + GLM_INLINE glm::vec<3, T, Q> zyw(const glm::vec<4, T, Q> &v) { + return glm::vec<3, T, Q>(v.z, v.y, v.w); + } + + // zzx + template + GLM_INLINE glm::vec<3, T, Q> zzx(const glm::vec<3, T, Q> &v) { + return glm::vec<3, T, Q>(v.z, v.z, v.x); + } + + template + GLM_INLINE glm::vec<3, T, Q> zzx(const glm::vec<4, T, Q> &v) { + return glm::vec<3, T, Q>(v.z, v.z, v.x); + } + + // zzy + template + GLM_INLINE glm::vec<3, T, Q> zzy(const glm::vec<3, T, Q> &v) { + return glm::vec<3, T, Q>(v.z, v.z, v.y); + } + + template + GLM_INLINE glm::vec<3, T, Q> zzy(const glm::vec<4, T, Q> &v) { + return glm::vec<3, T, Q>(v.z, v.z, v.y); + } + + // zzz + template + GLM_INLINE glm::vec<3, T, Q> zzz(const glm::vec<3, T, Q> &v) { + return glm::vec<3, T, Q>(v.z, v.z, v.z); + } + + template + GLM_INLINE glm::vec<3, T, Q> zzz(const glm::vec<4, T, Q> &v) { + return glm::vec<3, T, Q>(v.z, v.z, v.z); + } + + // zzw + template + GLM_INLINE glm::vec<3, T, Q> zzw(const glm::vec<4, T, Q> &v) { + return glm::vec<3, T, Q>(v.z, v.z, v.w); + } + + // zwx + template + GLM_INLINE glm::vec<3, T, Q> zwx(const glm::vec<4, T, Q> &v) { + return glm::vec<3, T, Q>(v.z, v.w, v.x); + } + + // zwy + template + GLM_INLINE glm::vec<3, T, Q> zwy(const glm::vec<4, T, Q> &v) { + return glm::vec<3, T, Q>(v.z, v.w, v.y); + } + + // zwz + template + GLM_INLINE glm::vec<3, T, Q> zwz(const glm::vec<4, T, Q> &v) { + return glm::vec<3, T, Q>(v.z, v.w, v.z); + } + + // zww + template + GLM_INLINE glm::vec<3, T, Q> zww(const glm::vec<4, T, Q> &v) { + return glm::vec<3, T, Q>(v.z, v.w, v.w); + } + + // wxx + template + GLM_INLINE glm::vec<3, T, Q> wxx(const glm::vec<4, T, Q> &v) { + return glm::vec<3, T, Q>(v.w, v.x, v.x); + } + + // wxy + template + GLM_INLINE glm::vec<3, T, Q> wxy(const glm::vec<4, T, Q> &v) { + return glm::vec<3, T, Q>(v.w, v.x, v.y); + } + + // wxz + template + GLM_INLINE glm::vec<3, T, Q> wxz(const glm::vec<4, T, Q> &v) { + return glm::vec<3, T, Q>(v.w, v.x, v.z); + } + + // wxw + template + GLM_INLINE glm::vec<3, T, Q> wxw(const glm::vec<4, T, Q> &v) { + return glm::vec<3, T, Q>(v.w, v.x, v.w); + } + + // wyx + template + GLM_INLINE glm::vec<3, T, Q> wyx(const glm::vec<4, T, Q> &v) { + return glm::vec<3, T, Q>(v.w, v.y, v.x); + } + + // wyy + template + GLM_INLINE glm::vec<3, T, Q> wyy(const glm::vec<4, T, Q> &v) { + return glm::vec<3, T, Q>(v.w, v.y, v.y); + } + + // wyz + template + GLM_INLINE glm::vec<3, T, Q> wyz(const glm::vec<4, T, Q> &v) { + return glm::vec<3, T, Q>(v.w, v.y, v.z); + } + + // wyw + template + GLM_INLINE glm::vec<3, T, Q> wyw(const glm::vec<4, T, Q> &v) { + return glm::vec<3, T, Q>(v.w, v.y, v.w); + } + + // wzx + template + GLM_INLINE glm::vec<3, T, Q> wzx(const glm::vec<4, T, Q> &v) { + return glm::vec<3, T, Q>(v.w, v.z, v.x); + } + + // wzy + template + GLM_INLINE glm::vec<3, T, Q> wzy(const glm::vec<4, T, Q> &v) { + return glm::vec<3, T, Q>(v.w, v.z, v.y); + } + + // wzz + template + GLM_INLINE glm::vec<3, T, Q> wzz(const glm::vec<4, T, Q> &v) { + return glm::vec<3, T, Q>(v.w, v.z, v.z); + } + + // wzw + template + GLM_INLINE glm::vec<3, T, Q> wzw(const glm::vec<4, T, Q> &v) { + return glm::vec<3, T, Q>(v.w, v.z, v.w); + } + + // wwx + template + GLM_INLINE glm::vec<3, T, Q> wwx(const glm::vec<4, T, Q> &v) { + return glm::vec<3, T, Q>(v.w, v.w, v.x); + } + + // wwy + template + GLM_INLINE glm::vec<3, T, Q> wwy(const glm::vec<4, T, Q> &v) { + return glm::vec<3, T, Q>(v.w, v.w, v.y); + } + + // wwz + template + GLM_INLINE glm::vec<3, T, Q> wwz(const glm::vec<4, T, Q> &v) { + return glm::vec<3, T, Q>(v.w, v.w, v.z); + } + + // www + template + GLM_INLINE glm::vec<3, T, Q> www(const glm::vec<4, T, Q> &v) { + return glm::vec<3, T, Q>(v.w, v.w, v.w); + } + + // xxxx + template + GLM_INLINE glm::vec<4, T, Q> xxxx(const glm::vec<1, T, Q> &v) { + return glm::vec<4, T, Q>(v.x, v.x, v.x, v.x); + } + + template + GLM_INLINE glm::vec<4, T, Q> xxxx(const glm::vec<2, T, Q> &v) { + return glm::vec<4, T, Q>(v.x, v.x, v.x, v.x); + } + + template + GLM_INLINE glm::vec<4, T, Q> xxxx(const glm::vec<3, T, Q> &v) { + return glm::vec<4, T, Q>(v.x, v.x, v.x, v.x); + } + + template + GLM_INLINE glm::vec<4, T, Q> xxxx(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.x, v.x, v.x, v.x); + } + + // xxxy + template + GLM_INLINE glm::vec<4, T, Q> xxxy(const glm::vec<2, T, Q> &v) { + return glm::vec<4, T, Q>(v.x, v.x, v.x, v.y); + } + + template + GLM_INLINE glm::vec<4, T, Q> xxxy(const glm::vec<3, T, Q> &v) { + return glm::vec<4, T, Q>(v.x, v.x, v.x, v.y); + } + + template + GLM_INLINE glm::vec<4, T, Q> xxxy(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.x, v.x, v.x, v.y); + } + + // xxxz + template + GLM_INLINE glm::vec<4, T, Q> xxxz(const glm::vec<3, T, Q> &v) { + return glm::vec<4, T, Q>(v.x, v.x, v.x, v.z); + } + + template + GLM_INLINE glm::vec<4, T, Q> xxxz(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.x, v.x, v.x, v.z); + } + + // xxxw + template + GLM_INLINE glm::vec<4, T, Q> xxxw(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.x, v.x, v.x, v.w); + } + + // xxyx + template + GLM_INLINE glm::vec<4, T, Q> xxyx(const glm::vec<2, T, Q> &v) { + return glm::vec<4, T, Q>(v.x, v.x, v.y, v.x); + } + + template + GLM_INLINE glm::vec<4, T, Q> xxyx(const glm::vec<3, T, Q> &v) { + return glm::vec<4, T, Q>(v.x, v.x, v.y, v.x); + } + + template + GLM_INLINE glm::vec<4, T, Q> xxyx(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.x, v.x, v.y, v.x); + } + + // xxyy + template + GLM_INLINE glm::vec<4, T, Q> xxyy(const glm::vec<2, T, Q> &v) { + return glm::vec<4, T, Q>(v.x, v.x, v.y, v.y); + } + + template + GLM_INLINE glm::vec<4, T, Q> xxyy(const glm::vec<3, T, Q> &v) { + return glm::vec<4, T, Q>(v.x, v.x, v.y, v.y); + } + + template + GLM_INLINE glm::vec<4, T, Q> xxyy(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.x, v.x, v.y, v.y); + } + + // xxyz + template + GLM_INLINE glm::vec<4, T, Q> xxyz(const glm::vec<3, T, Q> &v) { + return glm::vec<4, T, Q>(v.x, v.x, v.y, v.z); + } + + template + GLM_INLINE glm::vec<4, T, Q> xxyz(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.x, v.x, v.y, v.z); + } + + // xxyw + template + GLM_INLINE glm::vec<4, T, Q> xxyw(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.x, v.x, v.y, v.w); + } + + // xxzx + template + GLM_INLINE glm::vec<4, T, Q> xxzx(const glm::vec<3, T, Q> &v) { + return glm::vec<4, T, Q>(v.x, v.x, v.z, v.x); + } + + template + GLM_INLINE glm::vec<4, T, Q> xxzx(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.x, v.x, v.z, v.x); + } + + // xxzy + template + GLM_INLINE glm::vec<4, T, Q> xxzy(const glm::vec<3, T, Q> &v) { + return glm::vec<4, T, Q>(v.x, v.x, v.z, v.y); + } + + template + GLM_INLINE glm::vec<4, T, Q> xxzy(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.x, v.x, v.z, v.y); + } + + // xxzz + template + GLM_INLINE glm::vec<4, T, Q> xxzz(const glm::vec<3, T, Q> &v) { + return glm::vec<4, T, Q>(v.x, v.x, v.z, v.z); + } + + template + GLM_INLINE glm::vec<4, T, Q> xxzz(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.x, v.x, v.z, v.z); + } + + // xxzw + template + GLM_INLINE glm::vec<4, T, Q> xxzw(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.x, v.x, v.z, v.w); + } + + // xxwx + template + GLM_INLINE glm::vec<4, T, Q> xxwx(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.x, v.x, v.w, v.x); + } + + // xxwy + template + GLM_INLINE glm::vec<4, T, Q> xxwy(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.x, v.x, v.w, v.y); + } + + // xxwz + template + GLM_INLINE glm::vec<4, T, Q> xxwz(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.x, v.x, v.w, v.z); + } + + // xxww + template + GLM_INLINE glm::vec<4, T, Q> xxww(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.x, v.x, v.w, v.w); + } + + // xyxx + template + GLM_INLINE glm::vec<4, T, Q> xyxx(const glm::vec<2, T, Q> &v) { + return glm::vec<4, T, Q>(v.x, v.y, v.x, v.x); + } + + template + GLM_INLINE glm::vec<4, T, Q> xyxx(const glm::vec<3, T, Q> &v) { + return glm::vec<4, T, Q>(v.x, v.y, v.x, v.x); + } + + template + GLM_INLINE glm::vec<4, T, Q> xyxx(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.x, v.y, v.x, v.x); + } + + // xyxy + template + GLM_INLINE glm::vec<4, T, Q> xyxy(const glm::vec<2, T, Q> &v) { + return glm::vec<4, T, Q>(v.x, v.y, v.x, v.y); + } + + template + GLM_INLINE glm::vec<4, T, Q> xyxy(const glm::vec<3, T, Q> &v) { + return glm::vec<4, T, Q>(v.x, v.y, v.x, v.y); + } + + template + GLM_INLINE glm::vec<4, T, Q> xyxy(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.x, v.y, v.x, v.y); + } + + // xyxz + template + GLM_INLINE glm::vec<4, T, Q> xyxz(const glm::vec<3, T, Q> &v) { + return glm::vec<4, T, Q>(v.x, v.y, v.x, v.z); + } + + template + GLM_INLINE glm::vec<4, T, Q> xyxz(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.x, v.y, v.x, v.z); + } + + // xyxw + template + GLM_INLINE glm::vec<4, T, Q> xyxw(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.x, v.y, v.x, v.w); + } + + // xyyx + template + GLM_INLINE glm::vec<4, T, Q> xyyx(const glm::vec<2, T, Q> &v) { + return glm::vec<4, T, Q>(v.x, v.y, v.y, v.x); + } + + template + GLM_INLINE glm::vec<4, T, Q> xyyx(const glm::vec<3, T, Q> &v) { + return glm::vec<4, T, Q>(v.x, v.y, v.y, v.x); + } + + template + GLM_INLINE glm::vec<4, T, Q> xyyx(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.x, v.y, v.y, v.x); + } + + // xyyy + template + GLM_INLINE glm::vec<4, T, Q> xyyy(const glm::vec<2, T, Q> &v) { + return glm::vec<4, T, Q>(v.x, v.y, v.y, v.y); + } + + template + GLM_INLINE glm::vec<4, T, Q> xyyy(const glm::vec<3, T, Q> &v) { + return glm::vec<4, T, Q>(v.x, v.y, v.y, v.y); + } + + template + GLM_INLINE glm::vec<4, T, Q> xyyy(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.x, v.y, v.y, v.y); + } + + // xyyz + template + GLM_INLINE glm::vec<4, T, Q> xyyz(const glm::vec<3, T, Q> &v) { + return glm::vec<4, T, Q>(v.x, v.y, v.y, v.z); + } + + template + GLM_INLINE glm::vec<4, T, Q> xyyz(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.x, v.y, v.y, v.z); + } + + // xyyw + template + GLM_INLINE glm::vec<4, T, Q> xyyw(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.x, v.y, v.y, v.w); + } + + // xyzx + template + GLM_INLINE glm::vec<4, T, Q> xyzx(const glm::vec<3, T, Q> &v) { + return glm::vec<4, T, Q>(v.x, v.y, v.z, v.x); + } + + template + GLM_INLINE glm::vec<4, T, Q> xyzx(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.x, v.y, v.z, v.x); + } + + // xyzy + template + GLM_INLINE glm::vec<4, T, Q> xyzy(const glm::vec<3, T, Q> &v) { + return glm::vec<4, T, Q>(v.x, v.y, v.z, v.y); + } + + template + GLM_INLINE glm::vec<4, T, Q> xyzy(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.x, v.y, v.z, v.y); + } + + // xyzz + template + GLM_INLINE glm::vec<4, T, Q> xyzz(const glm::vec<3, T, Q> &v) { + return glm::vec<4, T, Q>(v.x, v.y, v.z, v.z); + } + + template + GLM_INLINE glm::vec<4, T, Q> xyzz(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.x, v.y, v.z, v.z); + } + + // xyzw + template + GLM_INLINE glm::vec<4, T, Q> xyzw(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.x, v.y, v.z, v.w); + } + + // xywx + template + GLM_INLINE glm::vec<4, T, Q> xywx(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.x, v.y, v.w, v.x); + } + + // xywy + template + GLM_INLINE glm::vec<4, T, Q> xywy(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.x, v.y, v.w, v.y); + } + + // xywz + template + GLM_INLINE glm::vec<4, T, Q> xywz(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.x, v.y, v.w, v.z); + } + + // xyww + template + GLM_INLINE glm::vec<4, T, Q> xyww(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.x, v.y, v.w, v.w); + } + + // xzxx + template + GLM_INLINE glm::vec<4, T, Q> xzxx(const glm::vec<3, T, Q> &v) { + return glm::vec<4, T, Q>(v.x, v.z, v.x, v.x); + } + + template + GLM_INLINE glm::vec<4, T, Q> xzxx(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.x, v.z, v.x, v.x); + } + + // xzxy + template + GLM_INLINE glm::vec<4, T, Q> xzxy(const glm::vec<3, T, Q> &v) { + return glm::vec<4, T, Q>(v.x, v.z, v.x, v.y); + } + + template + GLM_INLINE glm::vec<4, T, Q> xzxy(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.x, v.z, v.x, v.y); + } + + // xzxz + template + GLM_INLINE glm::vec<4, T, Q> xzxz(const glm::vec<3, T, Q> &v) { + return glm::vec<4, T, Q>(v.x, v.z, v.x, v.z); + } + + template + GLM_INLINE glm::vec<4, T, Q> xzxz(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.x, v.z, v.x, v.z); + } + + // xzxw + template + GLM_INLINE glm::vec<4, T, Q> xzxw(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.x, v.z, v.x, v.w); + } + + // xzyx + template + GLM_INLINE glm::vec<4, T, Q> xzyx(const glm::vec<3, T, Q> &v) { + return glm::vec<4, T, Q>(v.x, v.z, v.y, v.x); + } + + template + GLM_INLINE glm::vec<4, T, Q> xzyx(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.x, v.z, v.y, v.x); + } + + // xzyy + template + GLM_INLINE glm::vec<4, T, Q> xzyy(const glm::vec<3, T, Q> &v) { + return glm::vec<4, T, Q>(v.x, v.z, v.y, v.y); + } + + template + GLM_INLINE glm::vec<4, T, Q> xzyy(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.x, v.z, v.y, v.y); + } + + // xzyz + template + GLM_INLINE glm::vec<4, T, Q> xzyz(const glm::vec<3, T, Q> &v) { + return glm::vec<4, T, Q>(v.x, v.z, v.y, v.z); + } + + template + GLM_INLINE glm::vec<4, T, Q> xzyz(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.x, v.z, v.y, v.z); + } + + // xzyw + template + GLM_INLINE glm::vec<4, T, Q> xzyw(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.x, v.z, v.y, v.w); + } + + // xzzx + template + GLM_INLINE glm::vec<4, T, Q> xzzx(const glm::vec<3, T, Q> &v) { + return glm::vec<4, T, Q>(v.x, v.z, v.z, v.x); + } + + template + GLM_INLINE glm::vec<4, T, Q> xzzx(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.x, v.z, v.z, v.x); + } + + // xzzy + template + GLM_INLINE glm::vec<4, T, Q> xzzy(const glm::vec<3, T, Q> &v) { + return glm::vec<4, T, Q>(v.x, v.z, v.z, v.y); + } + + template + GLM_INLINE glm::vec<4, T, Q> xzzy(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.x, v.z, v.z, v.y); + } + + // xzzz + template + GLM_INLINE glm::vec<4, T, Q> xzzz(const glm::vec<3, T, Q> &v) { + return glm::vec<4, T, Q>(v.x, v.z, v.z, v.z); + } + + template + GLM_INLINE glm::vec<4, T, Q> xzzz(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.x, v.z, v.z, v.z); + } + + // xzzw + template + GLM_INLINE glm::vec<4, T, Q> xzzw(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.x, v.z, v.z, v.w); + } + + // xzwx + template + GLM_INLINE glm::vec<4, T, Q> xzwx(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.x, v.z, v.w, v.x); + } + + // xzwy + template + GLM_INLINE glm::vec<4, T, Q> xzwy(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.x, v.z, v.w, v.y); + } + + // xzwz + template + GLM_INLINE glm::vec<4, T, Q> xzwz(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.x, v.z, v.w, v.z); + } + + // xzww + template + GLM_INLINE glm::vec<4, T, Q> xzww(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.x, v.z, v.w, v.w); + } + + // xwxx + template + GLM_INLINE glm::vec<4, T, Q> xwxx(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.x, v.w, v.x, v.x); + } + + // xwxy + template + GLM_INLINE glm::vec<4, T, Q> xwxy(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.x, v.w, v.x, v.y); + } + + // xwxz + template + GLM_INLINE glm::vec<4, T, Q> xwxz(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.x, v.w, v.x, v.z); + } + + // xwxw + template + GLM_INLINE glm::vec<4, T, Q> xwxw(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.x, v.w, v.x, v.w); + } + + // xwyx + template + GLM_INLINE glm::vec<4, T, Q> xwyx(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.x, v.w, v.y, v.x); + } + + // xwyy + template + GLM_INLINE glm::vec<4, T, Q> xwyy(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.x, v.w, v.y, v.y); + } + + // xwyz + template + GLM_INLINE glm::vec<4, T, Q> xwyz(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.x, v.w, v.y, v.z); + } + + // xwyw + template + GLM_INLINE glm::vec<4, T, Q> xwyw(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.x, v.w, v.y, v.w); + } + + // xwzx + template + GLM_INLINE glm::vec<4, T, Q> xwzx(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.x, v.w, v.z, v.x); + } + + // xwzy + template + GLM_INLINE glm::vec<4, T, Q> xwzy(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.x, v.w, v.z, v.y); + } + + // xwzz + template + GLM_INLINE glm::vec<4, T, Q> xwzz(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.x, v.w, v.z, v.z); + } + + // xwzw + template + GLM_INLINE glm::vec<4, T, Q> xwzw(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.x, v.w, v.z, v.w); + } + + // xwwx + template + GLM_INLINE glm::vec<4, T, Q> xwwx(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.x, v.w, v.w, v.x); + } + + // xwwy + template + GLM_INLINE glm::vec<4, T, Q> xwwy(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.x, v.w, v.w, v.y); + } + + // xwwz + template + GLM_INLINE glm::vec<4, T, Q> xwwz(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.x, v.w, v.w, v.z); + } + + // xwww + template + GLM_INLINE glm::vec<4, T, Q> xwww(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.x, v.w, v.w, v.w); + } + + // yxxx + template + GLM_INLINE glm::vec<4, T, Q> yxxx(const glm::vec<2, T, Q> &v) { + return glm::vec<4, T, Q>(v.y, v.x, v.x, v.x); + } + + template + GLM_INLINE glm::vec<4, T, Q> yxxx(const glm::vec<3, T, Q> &v) { + return glm::vec<4, T, Q>(v.y, v.x, v.x, v.x); + } + + template + GLM_INLINE glm::vec<4, T, Q> yxxx(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.y, v.x, v.x, v.x); + } + + // yxxy + template + GLM_INLINE glm::vec<4, T, Q> yxxy(const glm::vec<2, T, Q> &v) { + return glm::vec<4, T, Q>(v.y, v.x, v.x, v.y); + } + + template + GLM_INLINE glm::vec<4, T, Q> yxxy(const glm::vec<3, T, Q> &v) { + return glm::vec<4, T, Q>(v.y, v.x, v.x, v.y); + } + + template + GLM_INLINE glm::vec<4, T, Q> yxxy(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.y, v.x, v.x, v.y); + } + + // yxxz + template + GLM_INLINE glm::vec<4, T, Q> yxxz(const glm::vec<3, T, Q> &v) { + return glm::vec<4, T, Q>(v.y, v.x, v.x, v.z); + } + + template + GLM_INLINE glm::vec<4, T, Q> yxxz(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.y, v.x, v.x, v.z); + } + + // yxxw + template + GLM_INLINE glm::vec<4, T, Q> yxxw(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.y, v.x, v.x, v.w); + } + + // yxyx + template + GLM_INLINE glm::vec<4, T, Q> yxyx(const glm::vec<2, T, Q> &v) { + return glm::vec<4, T, Q>(v.y, v.x, v.y, v.x); + } + + template + GLM_INLINE glm::vec<4, T, Q> yxyx(const glm::vec<3, T, Q> &v) { + return glm::vec<4, T, Q>(v.y, v.x, v.y, v.x); + } + + template + GLM_INLINE glm::vec<4, T, Q> yxyx(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.y, v.x, v.y, v.x); + } + + // yxyy + template + GLM_INLINE glm::vec<4, T, Q> yxyy(const glm::vec<2, T, Q> &v) { + return glm::vec<4, T, Q>(v.y, v.x, v.y, v.y); + } + + template + GLM_INLINE glm::vec<4, T, Q> yxyy(const glm::vec<3, T, Q> &v) { + return glm::vec<4, T, Q>(v.y, v.x, v.y, v.y); + } + + template + GLM_INLINE glm::vec<4, T, Q> yxyy(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.y, v.x, v.y, v.y); + } + + // yxyz + template + GLM_INLINE glm::vec<4, T, Q> yxyz(const glm::vec<3, T, Q> &v) { + return glm::vec<4, T, Q>(v.y, v.x, v.y, v.z); + } + + template + GLM_INLINE glm::vec<4, T, Q> yxyz(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.y, v.x, v.y, v.z); + } + + // yxyw + template + GLM_INLINE glm::vec<4, T, Q> yxyw(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.y, v.x, v.y, v.w); + } + + // yxzx + template + GLM_INLINE glm::vec<4, T, Q> yxzx(const glm::vec<3, T, Q> &v) { + return glm::vec<4, T, Q>(v.y, v.x, v.z, v.x); + } + + template + GLM_INLINE glm::vec<4, T, Q> yxzx(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.y, v.x, v.z, v.x); + } + + // yxzy + template + GLM_INLINE glm::vec<4, T, Q> yxzy(const glm::vec<3, T, Q> &v) { + return glm::vec<4, T, Q>(v.y, v.x, v.z, v.y); + } + + template + GLM_INLINE glm::vec<4, T, Q> yxzy(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.y, v.x, v.z, v.y); + } + + // yxzz + template + GLM_INLINE glm::vec<4, T, Q> yxzz(const glm::vec<3, T, Q> &v) { + return glm::vec<4, T, Q>(v.y, v.x, v.z, v.z); + } + + template + GLM_INLINE glm::vec<4, T, Q> yxzz(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.y, v.x, v.z, v.z); + } + + // yxzw + template + GLM_INLINE glm::vec<4, T, Q> yxzw(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.y, v.x, v.z, v.w); + } + + // yxwx + template + GLM_INLINE glm::vec<4, T, Q> yxwx(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.y, v.x, v.w, v.x); + } + + // yxwy + template + GLM_INLINE glm::vec<4, T, Q> yxwy(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.y, v.x, v.w, v.y); + } + + // yxwz + template + GLM_INLINE glm::vec<4, T, Q> yxwz(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.y, v.x, v.w, v.z); + } + + // yxww + template + GLM_INLINE glm::vec<4, T, Q> yxww(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.y, v.x, v.w, v.w); + } + + // yyxx + template + GLM_INLINE glm::vec<4, T, Q> yyxx(const glm::vec<2, T, Q> &v) { + return glm::vec<4, T, Q>(v.y, v.y, v.x, v.x); + } + + template + GLM_INLINE glm::vec<4, T, Q> yyxx(const glm::vec<3, T, Q> &v) { + return glm::vec<4, T, Q>(v.y, v.y, v.x, v.x); + } + + template + GLM_INLINE glm::vec<4, T, Q> yyxx(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.y, v.y, v.x, v.x); + } + + // yyxy + template + GLM_INLINE glm::vec<4, T, Q> yyxy(const glm::vec<2, T, Q> &v) { + return glm::vec<4, T, Q>(v.y, v.y, v.x, v.y); + } + + template + GLM_INLINE glm::vec<4, T, Q> yyxy(const glm::vec<3, T, Q> &v) { + return glm::vec<4, T, Q>(v.y, v.y, v.x, v.y); + } + + template + GLM_INLINE glm::vec<4, T, Q> yyxy(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.y, v.y, v.x, v.y); + } + + // yyxz + template + GLM_INLINE glm::vec<4, T, Q> yyxz(const glm::vec<3, T, Q> &v) { + return glm::vec<4, T, Q>(v.y, v.y, v.x, v.z); + } + + template + GLM_INLINE glm::vec<4, T, Q> yyxz(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.y, v.y, v.x, v.z); + } + + // yyxw + template + GLM_INLINE glm::vec<4, T, Q> yyxw(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.y, v.y, v.x, v.w); + } + + // yyyx + template + GLM_INLINE glm::vec<4, T, Q> yyyx(const glm::vec<2, T, Q> &v) { + return glm::vec<4, T, Q>(v.y, v.y, v.y, v.x); + } + + template + GLM_INLINE glm::vec<4, T, Q> yyyx(const glm::vec<3, T, Q> &v) { + return glm::vec<4, T, Q>(v.y, v.y, v.y, v.x); + } + + template + GLM_INLINE glm::vec<4, T, Q> yyyx(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.y, v.y, v.y, v.x); + } + + // yyyy + template + GLM_INLINE glm::vec<4, T, Q> yyyy(const glm::vec<2, T, Q> &v) { + return glm::vec<4, T, Q>(v.y, v.y, v.y, v.y); + } + + template + GLM_INLINE glm::vec<4, T, Q> yyyy(const glm::vec<3, T, Q> &v) { + return glm::vec<4, T, Q>(v.y, v.y, v.y, v.y); + } + + template + GLM_INLINE glm::vec<4, T, Q> yyyy(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.y, v.y, v.y, v.y); + } + + // yyyz + template + GLM_INLINE glm::vec<4, T, Q> yyyz(const glm::vec<3, T, Q> &v) { + return glm::vec<4, T, Q>(v.y, v.y, v.y, v.z); + } + + template + GLM_INLINE glm::vec<4, T, Q> yyyz(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.y, v.y, v.y, v.z); + } + + // yyyw + template + GLM_INLINE glm::vec<4, T, Q> yyyw(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.y, v.y, v.y, v.w); + } + + // yyzx + template + GLM_INLINE glm::vec<4, T, Q> yyzx(const glm::vec<3, T, Q> &v) { + return glm::vec<4, T, Q>(v.y, v.y, v.z, v.x); + } + + template + GLM_INLINE glm::vec<4, T, Q> yyzx(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.y, v.y, v.z, v.x); + } + + // yyzy + template + GLM_INLINE glm::vec<4, T, Q> yyzy(const glm::vec<3, T, Q> &v) { + return glm::vec<4, T, Q>(v.y, v.y, v.z, v.y); + } + + template + GLM_INLINE glm::vec<4, T, Q> yyzy(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.y, v.y, v.z, v.y); + } + + // yyzz + template + GLM_INLINE glm::vec<4, T, Q> yyzz(const glm::vec<3, T, Q> &v) { + return glm::vec<4, T, Q>(v.y, v.y, v.z, v.z); + } + + template + GLM_INLINE glm::vec<4, T, Q> yyzz(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.y, v.y, v.z, v.z); + } + + // yyzw + template + GLM_INLINE glm::vec<4, T, Q> yyzw(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.y, v.y, v.z, v.w); + } + + // yywx + template + GLM_INLINE glm::vec<4, T, Q> yywx(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.y, v.y, v.w, v.x); + } + + // yywy + template + GLM_INLINE glm::vec<4, T, Q> yywy(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.y, v.y, v.w, v.y); + } + + // yywz + template + GLM_INLINE glm::vec<4, T, Q> yywz(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.y, v.y, v.w, v.z); + } + + // yyww + template + GLM_INLINE glm::vec<4, T, Q> yyww(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.y, v.y, v.w, v.w); + } + + // yzxx + template + GLM_INLINE glm::vec<4, T, Q> yzxx(const glm::vec<3, T, Q> &v) { + return glm::vec<4, T, Q>(v.y, v.z, v.x, v.x); + } + + template + GLM_INLINE glm::vec<4, T, Q> yzxx(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.y, v.z, v.x, v.x); + } + + // yzxy + template + GLM_INLINE glm::vec<4, T, Q> yzxy(const glm::vec<3, T, Q> &v) { + return glm::vec<4, T, Q>(v.y, v.z, v.x, v.y); + } + + template + GLM_INLINE glm::vec<4, T, Q> yzxy(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.y, v.z, v.x, v.y); + } + + // yzxz + template + GLM_INLINE glm::vec<4, T, Q> yzxz(const glm::vec<3, T, Q> &v) { + return glm::vec<4, T, Q>(v.y, v.z, v.x, v.z); + } + + template + GLM_INLINE glm::vec<4, T, Q> yzxz(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.y, v.z, v.x, v.z); + } + + // yzxw + template + GLM_INLINE glm::vec<4, T, Q> yzxw(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.y, v.z, v.x, v.w); + } + + // yzyx + template + GLM_INLINE glm::vec<4, T, Q> yzyx(const glm::vec<3, T, Q> &v) { + return glm::vec<4, T, Q>(v.y, v.z, v.y, v.x); + } + + template + GLM_INLINE glm::vec<4, T, Q> yzyx(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.y, v.z, v.y, v.x); + } + + // yzyy + template + GLM_INLINE glm::vec<4, T, Q> yzyy(const glm::vec<3, T, Q> &v) { + return glm::vec<4, T, Q>(v.y, v.z, v.y, v.y); + } + + template + GLM_INLINE glm::vec<4, T, Q> yzyy(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.y, v.z, v.y, v.y); + } + + // yzyz + template + GLM_INLINE glm::vec<4, T, Q> yzyz(const glm::vec<3, T, Q> &v) { + return glm::vec<4, T, Q>(v.y, v.z, v.y, v.z); + } + + template + GLM_INLINE glm::vec<4, T, Q> yzyz(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.y, v.z, v.y, v.z); + } + + // yzyw + template + GLM_INLINE glm::vec<4, T, Q> yzyw(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.y, v.z, v.y, v.w); + } + + // yzzx + template + GLM_INLINE glm::vec<4, T, Q> yzzx(const glm::vec<3, T, Q> &v) { + return glm::vec<4, T, Q>(v.y, v.z, v.z, v.x); + } + + template + GLM_INLINE glm::vec<4, T, Q> yzzx(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.y, v.z, v.z, v.x); + } + + // yzzy + template + GLM_INLINE glm::vec<4, T, Q> yzzy(const glm::vec<3, T, Q> &v) { + return glm::vec<4, T, Q>(v.y, v.z, v.z, v.y); + } + + template + GLM_INLINE glm::vec<4, T, Q> yzzy(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.y, v.z, v.z, v.y); + } + + // yzzz + template + GLM_INLINE glm::vec<4, T, Q> yzzz(const glm::vec<3, T, Q> &v) { + return glm::vec<4, T, Q>(v.y, v.z, v.z, v.z); + } + + template + GLM_INLINE glm::vec<4, T, Q> yzzz(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.y, v.z, v.z, v.z); + } + + // yzzw + template + GLM_INLINE glm::vec<4, T, Q> yzzw(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.y, v.z, v.z, v.w); + } + + // yzwx + template + GLM_INLINE glm::vec<4, T, Q> yzwx(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.y, v.z, v.w, v.x); + } + + // yzwy + template + GLM_INLINE glm::vec<4, T, Q> yzwy(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.y, v.z, v.w, v.y); + } + + // yzwz + template + GLM_INLINE glm::vec<4, T, Q> yzwz(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.y, v.z, v.w, v.z); + } + + // yzww + template + GLM_INLINE glm::vec<4, T, Q> yzww(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.y, v.z, v.w, v.w); + } + + // ywxx + template + GLM_INLINE glm::vec<4, T, Q> ywxx(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.y, v.w, v.x, v.x); + } + + // ywxy + template + GLM_INLINE glm::vec<4, T, Q> ywxy(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.y, v.w, v.x, v.y); + } + + // ywxz + template + GLM_INLINE glm::vec<4, T, Q> ywxz(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.y, v.w, v.x, v.z); + } + + // ywxw + template + GLM_INLINE glm::vec<4, T, Q> ywxw(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.y, v.w, v.x, v.w); + } + + // ywyx + template + GLM_INLINE glm::vec<4, T, Q> ywyx(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.y, v.w, v.y, v.x); + } + + // ywyy + template + GLM_INLINE glm::vec<4, T, Q> ywyy(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.y, v.w, v.y, v.y); + } + + // ywyz + template + GLM_INLINE glm::vec<4, T, Q> ywyz(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.y, v.w, v.y, v.z); + } + + // ywyw + template + GLM_INLINE glm::vec<4, T, Q> ywyw(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.y, v.w, v.y, v.w); + } + + // ywzx + template + GLM_INLINE glm::vec<4, T, Q> ywzx(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.y, v.w, v.z, v.x); + } + + // ywzy + template + GLM_INLINE glm::vec<4, T, Q> ywzy(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.y, v.w, v.z, v.y); + } + + // ywzz + template + GLM_INLINE glm::vec<4, T, Q> ywzz(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.y, v.w, v.z, v.z); + } + + // ywzw + template + GLM_INLINE glm::vec<4, T, Q> ywzw(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.y, v.w, v.z, v.w); + } + + // ywwx + template + GLM_INLINE glm::vec<4, T, Q> ywwx(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.y, v.w, v.w, v.x); + } + + // ywwy + template + GLM_INLINE glm::vec<4, T, Q> ywwy(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.y, v.w, v.w, v.y); + } + + // ywwz + template + GLM_INLINE glm::vec<4, T, Q> ywwz(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.y, v.w, v.w, v.z); + } + + // ywww + template + GLM_INLINE glm::vec<4, T, Q> ywww(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.y, v.w, v.w, v.w); + } + + // zxxx + template + GLM_INLINE glm::vec<4, T, Q> zxxx(const glm::vec<3, T, Q> &v) { + return glm::vec<4, T, Q>(v.z, v.x, v.x, v.x); + } + + template + GLM_INLINE glm::vec<4, T, Q> zxxx(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.z, v.x, v.x, v.x); + } + + // zxxy + template + GLM_INLINE glm::vec<4, T, Q> zxxy(const glm::vec<3, T, Q> &v) { + return glm::vec<4, T, Q>(v.z, v.x, v.x, v.y); + } + + template + GLM_INLINE glm::vec<4, T, Q> zxxy(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.z, v.x, v.x, v.y); + } + + // zxxz + template + GLM_INLINE glm::vec<4, T, Q> zxxz(const glm::vec<3, T, Q> &v) { + return glm::vec<4, T, Q>(v.z, v.x, v.x, v.z); + } + + template + GLM_INLINE glm::vec<4, T, Q> zxxz(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.z, v.x, v.x, v.z); + } + + // zxxw + template + GLM_INLINE glm::vec<4, T, Q> zxxw(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.z, v.x, v.x, v.w); + } + + // zxyx + template + GLM_INLINE glm::vec<4, T, Q> zxyx(const glm::vec<3, T, Q> &v) { + return glm::vec<4, T, Q>(v.z, v.x, v.y, v.x); + } + + template + GLM_INLINE glm::vec<4, T, Q> zxyx(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.z, v.x, v.y, v.x); + } + + // zxyy + template + GLM_INLINE glm::vec<4, T, Q> zxyy(const glm::vec<3, T, Q> &v) { + return glm::vec<4, T, Q>(v.z, v.x, v.y, v.y); + } + + template + GLM_INLINE glm::vec<4, T, Q> zxyy(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.z, v.x, v.y, v.y); + } + + // zxyz + template + GLM_INLINE glm::vec<4, T, Q> zxyz(const glm::vec<3, T, Q> &v) { + return glm::vec<4, T, Q>(v.z, v.x, v.y, v.z); + } + + template + GLM_INLINE glm::vec<4, T, Q> zxyz(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.z, v.x, v.y, v.z); + } + + // zxyw + template + GLM_INLINE glm::vec<4, T, Q> zxyw(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.z, v.x, v.y, v.w); + } + + // zxzx + template + GLM_INLINE glm::vec<4, T, Q> zxzx(const glm::vec<3, T, Q> &v) { + return glm::vec<4, T, Q>(v.z, v.x, v.z, v.x); + } + + template + GLM_INLINE glm::vec<4, T, Q> zxzx(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.z, v.x, v.z, v.x); + } + + // zxzy + template + GLM_INLINE glm::vec<4, T, Q> zxzy(const glm::vec<3, T, Q> &v) { + return glm::vec<4, T, Q>(v.z, v.x, v.z, v.y); + } + + template + GLM_INLINE glm::vec<4, T, Q> zxzy(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.z, v.x, v.z, v.y); + } + + // zxzz + template + GLM_INLINE glm::vec<4, T, Q> zxzz(const glm::vec<3, T, Q> &v) { + return glm::vec<4, T, Q>(v.z, v.x, v.z, v.z); + } + + template + GLM_INLINE glm::vec<4, T, Q> zxzz(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.z, v.x, v.z, v.z); + } + + // zxzw + template + GLM_INLINE glm::vec<4, T, Q> zxzw(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.z, v.x, v.z, v.w); + } + + // zxwx + template + GLM_INLINE glm::vec<4, T, Q> zxwx(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.z, v.x, v.w, v.x); + } + + // zxwy + template + GLM_INLINE glm::vec<4, T, Q> zxwy(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.z, v.x, v.w, v.y); + } + + // zxwz + template + GLM_INLINE glm::vec<4, T, Q> zxwz(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.z, v.x, v.w, v.z); + } + + // zxww + template + GLM_INLINE glm::vec<4, T, Q> zxww(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.z, v.x, v.w, v.w); + } + + // zyxx + template + GLM_INLINE glm::vec<4, T, Q> zyxx(const glm::vec<3, T, Q> &v) { + return glm::vec<4, T, Q>(v.z, v.y, v.x, v.x); + } + + template + GLM_INLINE glm::vec<4, T, Q> zyxx(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.z, v.y, v.x, v.x); + } + + // zyxy + template + GLM_INLINE glm::vec<4, T, Q> zyxy(const glm::vec<3, T, Q> &v) { + return glm::vec<4, T, Q>(v.z, v.y, v.x, v.y); + } + + template + GLM_INLINE glm::vec<4, T, Q> zyxy(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.z, v.y, v.x, v.y); + } + + // zyxz + template + GLM_INLINE glm::vec<4, T, Q> zyxz(const glm::vec<3, T, Q> &v) { + return glm::vec<4, T, Q>(v.z, v.y, v.x, v.z); + } + + template + GLM_INLINE glm::vec<4, T, Q> zyxz(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.z, v.y, v.x, v.z); + } + + // zyxw + template + GLM_INLINE glm::vec<4, T, Q> zyxw(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.z, v.y, v.x, v.w); + } + + // zyyx + template + GLM_INLINE glm::vec<4, T, Q> zyyx(const glm::vec<3, T, Q> &v) { + return glm::vec<4, T, Q>(v.z, v.y, v.y, v.x); + } + + template + GLM_INLINE glm::vec<4, T, Q> zyyx(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.z, v.y, v.y, v.x); + } + + // zyyy + template + GLM_INLINE glm::vec<4, T, Q> zyyy(const glm::vec<3, T, Q> &v) { + return glm::vec<4, T, Q>(v.z, v.y, v.y, v.y); + } + + template + GLM_INLINE glm::vec<4, T, Q> zyyy(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.z, v.y, v.y, v.y); + } + + // zyyz + template + GLM_INLINE glm::vec<4, T, Q> zyyz(const glm::vec<3, T, Q> &v) { + return glm::vec<4, T, Q>(v.z, v.y, v.y, v.z); + } + + template + GLM_INLINE glm::vec<4, T, Q> zyyz(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.z, v.y, v.y, v.z); + } + + // zyyw + template + GLM_INLINE glm::vec<4, T, Q> zyyw(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.z, v.y, v.y, v.w); + } + + // zyzx + template + GLM_INLINE glm::vec<4, T, Q> zyzx(const glm::vec<3, T, Q> &v) { + return glm::vec<4, T, Q>(v.z, v.y, v.z, v.x); + } + + template + GLM_INLINE glm::vec<4, T, Q> zyzx(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.z, v.y, v.z, v.x); + } + + // zyzy + template + GLM_INLINE glm::vec<4, T, Q> zyzy(const glm::vec<3, T, Q> &v) { + return glm::vec<4, T, Q>(v.z, v.y, v.z, v.y); + } + + template + GLM_INLINE glm::vec<4, T, Q> zyzy(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.z, v.y, v.z, v.y); + } + + // zyzz + template + GLM_INLINE glm::vec<4, T, Q> zyzz(const glm::vec<3, T, Q> &v) { + return glm::vec<4, T, Q>(v.z, v.y, v.z, v.z); + } + + template + GLM_INLINE glm::vec<4, T, Q> zyzz(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.z, v.y, v.z, v.z); + } + + // zyzw + template + GLM_INLINE glm::vec<4, T, Q> zyzw(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.z, v.y, v.z, v.w); + } + + // zywx + template + GLM_INLINE glm::vec<4, T, Q> zywx(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.z, v.y, v.w, v.x); + } + + // zywy + template + GLM_INLINE glm::vec<4, T, Q> zywy(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.z, v.y, v.w, v.y); + } + + // zywz + template + GLM_INLINE glm::vec<4, T, Q> zywz(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.z, v.y, v.w, v.z); + } + + // zyww + template + GLM_INLINE glm::vec<4, T, Q> zyww(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.z, v.y, v.w, v.w); + } + + // zzxx + template + GLM_INLINE glm::vec<4, T, Q> zzxx(const glm::vec<3, T, Q> &v) { + return glm::vec<4, T, Q>(v.z, v.z, v.x, v.x); + } + + template + GLM_INLINE glm::vec<4, T, Q> zzxx(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.z, v.z, v.x, v.x); + } + + // zzxy + template + GLM_INLINE glm::vec<4, T, Q> zzxy(const glm::vec<3, T, Q> &v) { + return glm::vec<4, T, Q>(v.z, v.z, v.x, v.y); + } + + template + GLM_INLINE glm::vec<4, T, Q> zzxy(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.z, v.z, v.x, v.y); + } + + // zzxz + template + GLM_INLINE glm::vec<4, T, Q> zzxz(const glm::vec<3, T, Q> &v) { + return glm::vec<4, T, Q>(v.z, v.z, v.x, v.z); + } + + template + GLM_INLINE glm::vec<4, T, Q> zzxz(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.z, v.z, v.x, v.z); + } + + // zzxw + template + GLM_INLINE glm::vec<4, T, Q> zzxw(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.z, v.z, v.x, v.w); + } + + // zzyx + template + GLM_INLINE glm::vec<4, T, Q> zzyx(const glm::vec<3, T, Q> &v) { + return glm::vec<4, T, Q>(v.z, v.z, v.y, v.x); + } + + template + GLM_INLINE glm::vec<4, T, Q> zzyx(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.z, v.z, v.y, v.x); + } + + // zzyy + template + GLM_INLINE glm::vec<4, T, Q> zzyy(const glm::vec<3, T, Q> &v) { + return glm::vec<4, T, Q>(v.z, v.z, v.y, v.y); + } + + template + GLM_INLINE glm::vec<4, T, Q> zzyy(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.z, v.z, v.y, v.y); + } + + // zzyz + template + GLM_INLINE glm::vec<4, T, Q> zzyz(const glm::vec<3, T, Q> &v) { + return glm::vec<4, T, Q>(v.z, v.z, v.y, v.z); + } + + template + GLM_INLINE glm::vec<4, T, Q> zzyz(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.z, v.z, v.y, v.z); + } + + // zzyw + template + GLM_INLINE glm::vec<4, T, Q> zzyw(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.z, v.z, v.y, v.w); + } + + // zzzx + template + GLM_INLINE glm::vec<4, T, Q> zzzx(const glm::vec<3, T, Q> &v) { + return glm::vec<4, T, Q>(v.z, v.z, v.z, v.x); + } + + template + GLM_INLINE glm::vec<4, T, Q> zzzx(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.z, v.z, v.z, v.x); + } + + // zzzy + template + GLM_INLINE glm::vec<4, T, Q> zzzy(const glm::vec<3, T, Q> &v) { + return glm::vec<4, T, Q>(v.z, v.z, v.z, v.y); + } + + template + GLM_INLINE glm::vec<4, T, Q> zzzy(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.z, v.z, v.z, v.y); + } + + // zzzz + template + GLM_INLINE glm::vec<4, T, Q> zzzz(const glm::vec<3, T, Q> &v) { + return glm::vec<4, T, Q>(v.z, v.z, v.z, v.z); + } + + template + GLM_INLINE glm::vec<4, T, Q> zzzz(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.z, v.z, v.z, v.z); + } + + // zzzw + template + GLM_INLINE glm::vec<4, T, Q> zzzw(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.z, v.z, v.z, v.w); + } + + // zzwx + template + GLM_INLINE glm::vec<4, T, Q> zzwx(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.z, v.z, v.w, v.x); + } + + // zzwy + template + GLM_INLINE glm::vec<4, T, Q> zzwy(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.z, v.z, v.w, v.y); + } + + // zzwz + template + GLM_INLINE glm::vec<4, T, Q> zzwz(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.z, v.z, v.w, v.z); + } + + // zzww + template + GLM_INLINE glm::vec<4, T, Q> zzww(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.z, v.z, v.w, v.w); + } + + // zwxx + template + GLM_INLINE glm::vec<4, T, Q> zwxx(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.z, v.w, v.x, v.x); + } + + // zwxy + template + GLM_INLINE glm::vec<4, T, Q> zwxy(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.z, v.w, v.x, v.y); + } + + // zwxz + template + GLM_INLINE glm::vec<4, T, Q> zwxz(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.z, v.w, v.x, v.z); + } + + // zwxw + template + GLM_INLINE glm::vec<4, T, Q> zwxw(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.z, v.w, v.x, v.w); + } + + // zwyx + template + GLM_INLINE glm::vec<4, T, Q> zwyx(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.z, v.w, v.y, v.x); + } + + // zwyy + template + GLM_INLINE glm::vec<4, T, Q> zwyy(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.z, v.w, v.y, v.y); + } + + // zwyz + template + GLM_INLINE glm::vec<4, T, Q> zwyz(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.z, v.w, v.y, v.z); + } + + // zwyw + template + GLM_INLINE glm::vec<4, T, Q> zwyw(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.z, v.w, v.y, v.w); + } + + // zwzx + template + GLM_INLINE glm::vec<4, T, Q> zwzx(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.z, v.w, v.z, v.x); + } + + // zwzy + template + GLM_INLINE glm::vec<4, T, Q> zwzy(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.z, v.w, v.z, v.y); + } + + // zwzz + template + GLM_INLINE glm::vec<4, T, Q> zwzz(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.z, v.w, v.z, v.z); + } + + // zwzw + template + GLM_INLINE glm::vec<4, T, Q> zwzw(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.z, v.w, v.z, v.w); + } + + // zwwx + template + GLM_INLINE glm::vec<4, T, Q> zwwx(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.z, v.w, v.w, v.x); + } + + // zwwy + template + GLM_INLINE glm::vec<4, T, Q> zwwy(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.z, v.w, v.w, v.y); + } + + // zwwz + template + GLM_INLINE glm::vec<4, T, Q> zwwz(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.z, v.w, v.w, v.z); + } + + // zwww + template + GLM_INLINE glm::vec<4, T, Q> zwww(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.z, v.w, v.w, v.w); + } + + // wxxx + template + GLM_INLINE glm::vec<4, T, Q> wxxx(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.w, v.x, v.x, v.x); + } + + // wxxy + template + GLM_INLINE glm::vec<4, T, Q> wxxy(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.w, v.x, v.x, v.y); + } + + // wxxz + template + GLM_INLINE glm::vec<4, T, Q> wxxz(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.w, v.x, v.x, v.z); + } + + // wxxw + template + GLM_INLINE glm::vec<4, T, Q> wxxw(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.w, v.x, v.x, v.w); + } + + // wxyx + template + GLM_INLINE glm::vec<4, T, Q> wxyx(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.w, v.x, v.y, v.x); + } + + // wxyy + template + GLM_INLINE glm::vec<4, T, Q> wxyy(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.w, v.x, v.y, v.y); + } + + // wxyz + template + GLM_INLINE glm::vec<4, T, Q> wxyz(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.w, v.x, v.y, v.z); + } + + // wxyw + template + GLM_INLINE glm::vec<4, T, Q> wxyw(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.w, v.x, v.y, v.w); + } + + // wxzx + template + GLM_INLINE glm::vec<4, T, Q> wxzx(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.w, v.x, v.z, v.x); + } + + // wxzy + template + GLM_INLINE glm::vec<4, T, Q> wxzy(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.w, v.x, v.z, v.y); + } + + // wxzz + template + GLM_INLINE glm::vec<4, T, Q> wxzz(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.w, v.x, v.z, v.z); + } + + // wxzw + template + GLM_INLINE glm::vec<4, T, Q> wxzw(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.w, v.x, v.z, v.w); + } + + // wxwx + template + GLM_INLINE glm::vec<4, T, Q> wxwx(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.w, v.x, v.w, v.x); + } + + // wxwy + template + GLM_INLINE glm::vec<4, T, Q> wxwy(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.w, v.x, v.w, v.y); + } + + // wxwz + template + GLM_INLINE glm::vec<4, T, Q> wxwz(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.w, v.x, v.w, v.z); + } + + // wxww + template + GLM_INLINE glm::vec<4, T, Q> wxww(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.w, v.x, v.w, v.w); + } + + // wyxx + template + GLM_INLINE glm::vec<4, T, Q> wyxx(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.w, v.y, v.x, v.x); + } + + // wyxy + template + GLM_INLINE glm::vec<4, T, Q> wyxy(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.w, v.y, v.x, v.y); + } + + // wyxz + template + GLM_INLINE glm::vec<4, T, Q> wyxz(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.w, v.y, v.x, v.z); + } + + // wyxw + template + GLM_INLINE glm::vec<4, T, Q> wyxw(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.w, v.y, v.x, v.w); + } + + // wyyx + template + GLM_INLINE glm::vec<4, T, Q> wyyx(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.w, v.y, v.y, v.x); + } + + // wyyy + template + GLM_INLINE glm::vec<4, T, Q> wyyy(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.w, v.y, v.y, v.y); + } + + // wyyz + template + GLM_INLINE glm::vec<4, T, Q> wyyz(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.w, v.y, v.y, v.z); + } + + // wyyw + template + GLM_INLINE glm::vec<4, T, Q> wyyw(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.w, v.y, v.y, v.w); + } + + // wyzx + template + GLM_INLINE glm::vec<4, T, Q> wyzx(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.w, v.y, v.z, v.x); + } + + // wyzy + template + GLM_INLINE glm::vec<4, T, Q> wyzy(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.w, v.y, v.z, v.y); + } + + // wyzz + template + GLM_INLINE glm::vec<4, T, Q> wyzz(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.w, v.y, v.z, v.z); + } + + // wyzw + template + GLM_INLINE glm::vec<4, T, Q> wyzw(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.w, v.y, v.z, v.w); + } + + // wywx + template + GLM_INLINE glm::vec<4, T, Q> wywx(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.w, v.y, v.w, v.x); + } + + // wywy + template + GLM_INLINE glm::vec<4, T, Q> wywy(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.w, v.y, v.w, v.y); + } + + // wywz + template + GLM_INLINE glm::vec<4, T, Q> wywz(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.w, v.y, v.w, v.z); + } + + // wyww + template + GLM_INLINE glm::vec<4, T, Q> wyww(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.w, v.y, v.w, v.w); + } + + // wzxx + template + GLM_INLINE glm::vec<4, T, Q> wzxx(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.w, v.z, v.x, v.x); + } + + // wzxy + template + GLM_INLINE glm::vec<4, T, Q> wzxy(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.w, v.z, v.x, v.y); + } + + // wzxz + template + GLM_INLINE glm::vec<4, T, Q> wzxz(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.w, v.z, v.x, v.z); + } + + // wzxw + template + GLM_INLINE glm::vec<4, T, Q> wzxw(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.w, v.z, v.x, v.w); + } + + // wzyx + template + GLM_INLINE glm::vec<4, T, Q> wzyx(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.w, v.z, v.y, v.x); + } + + // wzyy + template + GLM_INLINE glm::vec<4, T, Q> wzyy(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.w, v.z, v.y, v.y); + } + + // wzyz + template + GLM_INLINE glm::vec<4, T, Q> wzyz(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.w, v.z, v.y, v.z); + } + + // wzyw + template + GLM_INLINE glm::vec<4, T, Q> wzyw(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.w, v.z, v.y, v.w); + } + + // wzzx + template + GLM_INLINE glm::vec<4, T, Q> wzzx(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.w, v.z, v.z, v.x); + } + + // wzzy + template + GLM_INLINE glm::vec<4, T, Q> wzzy(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.w, v.z, v.z, v.y); + } + + // wzzz + template + GLM_INLINE glm::vec<4, T, Q> wzzz(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.w, v.z, v.z, v.z); + } + + // wzzw + template + GLM_INLINE glm::vec<4, T, Q> wzzw(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.w, v.z, v.z, v.w); + } + + // wzwx + template + GLM_INLINE glm::vec<4, T, Q> wzwx(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.w, v.z, v.w, v.x); + } + + // wzwy + template + GLM_INLINE glm::vec<4, T, Q> wzwy(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.w, v.z, v.w, v.y); + } + + // wzwz + template + GLM_INLINE glm::vec<4, T, Q> wzwz(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.w, v.z, v.w, v.z); + } + + // wzww + template + GLM_INLINE glm::vec<4, T, Q> wzww(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.w, v.z, v.w, v.w); + } + + // wwxx + template + GLM_INLINE glm::vec<4, T, Q> wwxx(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.w, v.w, v.x, v.x); + } + + // wwxy + template + GLM_INLINE glm::vec<4, T, Q> wwxy(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.w, v.w, v.x, v.y); + } + + // wwxz + template + GLM_INLINE glm::vec<4, T, Q> wwxz(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.w, v.w, v.x, v.z); + } + + // wwxw + template + GLM_INLINE glm::vec<4, T, Q> wwxw(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.w, v.w, v.x, v.w); + } + + // wwyx + template + GLM_INLINE glm::vec<4, T, Q> wwyx(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.w, v.w, v.y, v.x); + } + + // wwyy + template + GLM_INLINE glm::vec<4, T, Q> wwyy(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.w, v.w, v.y, v.y); + } + + // wwyz + template + GLM_INLINE glm::vec<4, T, Q> wwyz(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.w, v.w, v.y, v.z); + } + + // wwyw + template + GLM_INLINE glm::vec<4, T, Q> wwyw(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.w, v.w, v.y, v.w); + } + + // wwzx + template + GLM_INLINE glm::vec<4, T, Q> wwzx(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.w, v.w, v.z, v.x); + } + + // wwzy + template + GLM_INLINE glm::vec<4, T, Q> wwzy(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.w, v.w, v.z, v.y); + } + + // wwzz + template + GLM_INLINE glm::vec<4, T, Q> wwzz(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.w, v.w, v.z, v.z); + } + + // wwzw + template + GLM_INLINE glm::vec<4, T, Q> wwzw(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.w, v.w, v.z, v.w); + } + + // wwwx + template + GLM_INLINE glm::vec<4, T, Q> wwwx(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.w, v.w, v.w, v.x); + } + + // wwwy + template + GLM_INLINE glm::vec<4, T, Q> wwwy(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.w, v.w, v.w, v.y); + } + + // wwwz + template + GLM_INLINE glm::vec<4, T, Q> wwwz(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.w, v.w, v.w, v.z); + } + + // wwww + template + GLM_INLINE glm::vec<4, T, Q> wwww(const glm::vec<4, T, Q> &v) { + return glm::vec<4, T, Q>(v.w, v.w, v.w, v.w); + } + +} diff --git a/MacroLibX/third_party/glm/gtx/vector_angle.hpp b/MacroLibX/third_party/glm/gtx/vector_angle.hpp new file mode 100644 index 0000000..9ae4371 --- /dev/null +++ b/MacroLibX/third_party/glm/gtx/vector_angle.hpp @@ -0,0 +1,57 @@ +/// @ref gtx_vector_angle +/// @file glm/gtx/vector_angle.hpp +/// +/// @see core (dependence) +/// @see gtx_quaternion (dependence) +/// @see gtx_epsilon (dependence) +/// +/// @defgroup gtx_vector_angle GLM_GTX_vector_angle +/// @ingroup gtx +/// +/// Include to use the features of this extension. +/// +/// Compute angle between vectors + +#pragma once + +// Dependency: +#include "../glm.hpp" +#include "../gtc/epsilon.hpp" +#include "../gtx/quaternion.hpp" +#include "../gtx/rotate_vector.hpp" + +#if GLM_MESSAGES == GLM_ENABLE && !defined(GLM_EXT_INCLUDED) +# ifndef GLM_ENABLE_EXPERIMENTAL +# pragma message("GLM: GLM_GTX_vector_angle is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it.") +# else +# pragma message("GLM: GLM_GTX_vector_angle extension included") +# endif +#endif + +namespace glm +{ + /// @addtogroup gtx_vector_angle + /// @{ + + //! Returns the absolute angle between two vectors. + //! Parameters need to be normalized. + /// @see gtx_vector_angle extension. + template + GLM_FUNC_DECL T angle(vec const& x, vec const& y); + + //! Returns the oriented angle between two 2d vectors. + //! Parameters need to be normalized. + /// @see gtx_vector_angle extension. + template + GLM_FUNC_DECL T orientedAngle(vec<2, T, Q> const& x, vec<2, T, Q> const& y); + + //! Returns the oriented angle between two 3d vectors based from a reference axis. + //! Parameters need to be normalized. + /// @see gtx_vector_angle extension. + template + GLM_FUNC_DECL T orientedAngle(vec<3, T, Q> const& x, vec<3, T, Q> const& y, vec<3, T, Q> const& ref); + + /// @} +}// namespace glm + +#include "vector_angle.inl" diff --git a/MacroLibX/third_party/glm/gtx/vector_angle.inl b/MacroLibX/third_party/glm/gtx/vector_angle.inl new file mode 100644 index 0000000..a1f957a --- /dev/null +++ b/MacroLibX/third_party/glm/gtx/vector_angle.inl @@ -0,0 +1,44 @@ +/// @ref gtx_vector_angle + +namespace glm +{ + template + GLM_FUNC_QUALIFIER genType angle + ( + genType const& x, + genType const& y + ) + { + GLM_STATIC_ASSERT(std::numeric_limits::is_iec559, "'angle' only accept floating-point inputs"); + return acos(clamp(dot(x, y), genType(-1), genType(1))); + } + + template + GLM_FUNC_QUALIFIER T angle(vec const& x, vec const& y) + { + GLM_STATIC_ASSERT(std::numeric_limits::is_iec559, "'angle' only accept floating-point inputs"); + return acos(clamp(dot(x, y), T(-1), T(1))); + } + + //! \todo epsilon is hard coded to 0.01 + template + GLM_FUNC_QUALIFIER T orientedAngle(vec<2, T, Q> const& x, vec<2, T, Q> const& y) + { + GLM_STATIC_ASSERT(std::numeric_limits::is_iec559, "'orientedAngle' only accept floating-point inputs"); + T const Angle(acos(clamp(dot(x, y), T(-1), T(1)))); + + if(all(epsilonEqual(y, glm::rotate(x, Angle), T(0.0001)))) + return Angle; + else + return -Angle; + } + + template + GLM_FUNC_QUALIFIER T orientedAngle(vec<3, T, Q> const& x, vec<3, T, Q> const& y, vec<3, T, Q> const& ref) + { + GLM_STATIC_ASSERT(std::numeric_limits::is_iec559, "'orientedAngle' only accept floating-point inputs"); + + T const Angle(acos(clamp(dot(x, y), T(-1), T(1)))); + return mix(Angle, -Angle, dot(ref, cross(x, y)) < T(0)); + } +}//namespace glm diff --git a/MacroLibX/third_party/glm/gtx/vector_query.hpp b/MacroLibX/third_party/glm/gtx/vector_query.hpp new file mode 100644 index 0000000..77c7b97 --- /dev/null +++ b/MacroLibX/third_party/glm/gtx/vector_query.hpp @@ -0,0 +1,66 @@ +/// @ref gtx_vector_query +/// @file glm/gtx/vector_query.hpp +/// +/// @see core (dependence) +/// +/// @defgroup gtx_vector_query GLM_GTX_vector_query +/// @ingroup gtx +/// +/// Include to use the features of this extension. +/// +/// Query informations of vector types + +#pragma once + +// Dependency: +#include "../glm.hpp" +#include +#include + +#if GLM_MESSAGES == GLM_ENABLE && !defined(GLM_EXT_INCLUDED) +# ifndef GLM_ENABLE_EXPERIMENTAL +# pragma message("GLM: GLM_GTX_vector_query is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it.") +# else +# pragma message("GLM: GLM_GTX_vector_query extension included") +# endif +#endif + +namespace glm +{ + /// @addtogroup gtx_vector_query + /// @{ + + //! Check whether two vectors are collinears. + /// @see gtx_vector_query extensions. + template + GLM_FUNC_DECL bool areCollinear(vec const& v0, vec const& v1, T const& epsilon); + + //! Check whether two vectors are orthogonals. + /// @see gtx_vector_query extensions. + template + GLM_FUNC_DECL bool areOrthogonal(vec const& v0, vec const& v1, T const& epsilon); + + //! Check whether a vector is normalized. + /// @see gtx_vector_query extensions. + template + GLM_FUNC_DECL bool isNormalized(vec const& v, T const& epsilon); + + //! Check whether a vector is null. + /// @see gtx_vector_query extensions. + template + GLM_FUNC_DECL bool isNull(vec const& v, T const& epsilon); + + //! Check whether a each component of a vector is null. + /// @see gtx_vector_query extensions. + template + GLM_FUNC_DECL vec isCompNull(vec const& v, T const& epsilon); + + //! Check whether two vectors are orthonormal. + /// @see gtx_vector_query extensions. + template + GLM_FUNC_DECL bool areOrthonormal(vec const& v0, vec const& v1, T const& epsilon); + + /// @} +}// namespace glm + +#include "vector_query.inl" diff --git a/MacroLibX/third_party/glm/gtx/vector_query.inl b/MacroLibX/third_party/glm/gtx/vector_query.inl new file mode 100644 index 0000000..d1a5c9b --- /dev/null +++ b/MacroLibX/third_party/glm/gtx/vector_query.inl @@ -0,0 +1,154 @@ +/// @ref gtx_vector_query + +#include + +namespace glm{ +namespace detail +{ + template + struct compute_areCollinear{}; + + template + struct compute_areCollinear<2, T, Q> + { + GLM_FUNC_QUALIFIER static bool call(vec<2, T, Q> const& v0, vec<2, T, Q> const& v1, T const& epsilon) + { + return length(cross(vec<3, T, Q>(v0, static_cast(0)), vec<3, T, Q>(v1, static_cast(0)))) < epsilon; + } + }; + + template + struct compute_areCollinear<3, T, Q> + { + GLM_FUNC_QUALIFIER static bool call(vec<3, T, Q> const& v0, vec<3, T, Q> const& v1, T const& epsilon) + { + return length(cross(v0, v1)) < epsilon; + } + }; + + template + struct compute_areCollinear<4, T, Q> + { + GLM_FUNC_QUALIFIER static bool call(vec<4, T, Q> const& v0, vec<4, T, Q> const& v1, T const& epsilon) + { + return length(cross(vec<3, T, Q>(v0), vec<3, T, Q>(v1))) < epsilon; + } + }; + + template + struct compute_isCompNull{}; + + template + struct compute_isCompNull<2, T, Q> + { + GLM_FUNC_QUALIFIER static vec<2, bool, Q> call(vec<2, T, Q> const& v, T const& epsilon) + { + return vec<2, bool, Q>( + (abs(v.x) < epsilon), + (abs(v.y) < epsilon)); + } + }; + + template + struct compute_isCompNull<3, T, Q> + { + GLM_FUNC_QUALIFIER static vec<3, bool, Q> call(vec<3, T, Q> const& v, T const& epsilon) + { + return vec<3, bool, Q>( + (abs(v.x) < epsilon), + (abs(v.y) < epsilon), + (abs(v.z) < epsilon)); + } + }; + + template + struct compute_isCompNull<4, T, Q> + { + GLM_FUNC_QUALIFIER static vec<4, bool, Q> call(vec<4, T, Q> const& v, T const& epsilon) + { + return vec<4, bool, Q>( + (abs(v.x) < epsilon), + (abs(v.y) < epsilon), + (abs(v.z) < epsilon), + (abs(v.w) < epsilon)); + } + }; + +}//namespace detail + + template + GLM_FUNC_QUALIFIER bool areCollinear(vec const& v0, vec const& v1, T const& epsilon) + { + GLM_STATIC_ASSERT(std::numeric_limits::is_iec559, "'areCollinear' only accept floating-point inputs"); + + return detail::compute_areCollinear::call(v0, v1, epsilon); + } + + template + GLM_FUNC_QUALIFIER bool areOrthogonal(vec const& v0, vec const& v1, T const& epsilon) + { + GLM_STATIC_ASSERT(std::numeric_limits::is_iec559, "'areOrthogonal' only accept floating-point inputs"); + + return abs(dot(v0, v1)) <= max( + static_cast(1), + length(v0)) * max(static_cast(1), length(v1)) * epsilon; + } + + template + GLM_FUNC_QUALIFIER bool isNormalized(vec const& v, T const& epsilon) + { + GLM_STATIC_ASSERT(std::numeric_limits::is_iec559, "'isNormalized' only accept floating-point inputs"); + + return abs(length(v) - static_cast(1)) <= static_cast(2) * epsilon; + } + + template + GLM_FUNC_QUALIFIER bool isNull(vec const& v, T const& epsilon) + { + GLM_STATIC_ASSERT(std::numeric_limits::is_iec559, "'isNull' only accept floating-point inputs"); + + return length(v) <= epsilon; + } + + template + GLM_FUNC_QUALIFIER vec isCompNull(vec const& v, T const& epsilon) + { + GLM_STATIC_ASSERT(std::numeric_limits::is_iec559, "'isCompNull' only accept floating-point inputs"); + + return detail::compute_isCompNull::call(v, epsilon); + } + + template + GLM_FUNC_QUALIFIER vec<2, bool, Q> isCompNull(vec<2, T, Q> const& v, T const& epsilon) + { + return vec<2, bool, Q>( + abs(v.x) < epsilon, + abs(v.y) < epsilon); + } + + template + GLM_FUNC_QUALIFIER vec<3, bool, Q> isCompNull(vec<3, T, Q> const& v, T const& epsilon) + { + return vec<3, bool, Q>( + abs(v.x) < epsilon, + abs(v.y) < epsilon, + abs(v.z) < epsilon); + } + + template + GLM_FUNC_QUALIFIER vec<4, bool, Q> isCompNull(vec<4, T, Q> const& v, T const& epsilon) + { + return vec<4, bool, Q>( + abs(v.x) < epsilon, + abs(v.y) < epsilon, + abs(v.z) < epsilon, + abs(v.w) < epsilon); + } + + template + GLM_FUNC_QUALIFIER bool areOrthonormal(vec const& v0, vec const& v1, T const& epsilon) + { + return isNormalized(v0, epsilon) && isNormalized(v1, epsilon) && (abs(dot(v0, v1)) <= epsilon); + } + +}//namespace glm diff --git a/MacroLibX/third_party/glm/gtx/wrap.hpp b/MacroLibX/third_party/glm/gtx/wrap.hpp new file mode 100644 index 0000000..02c5196 --- /dev/null +++ b/MacroLibX/third_party/glm/gtx/wrap.hpp @@ -0,0 +1,55 @@ +/// @ref gtx_wrap +/// @file glm/gtx/wrap.hpp +/// +/// @see core (dependence) +/// +/// @defgroup gtx_wrap GLM_GTX_wrap +/// @ingroup gtx +/// +/// Include to use the features of this extension. +/// +/// Wrapping mode of texture coordinates. + +#pragma once + +// Dependency: +#include "../glm.hpp" +#include "../gtc/vec1.hpp" + +#if GLM_MESSAGES == GLM_ENABLE && !defined(GLM_EXT_INCLUDED) +# ifndef GLM_ENABLE_EXPERIMENTAL +# pragma message("GLM: GLM_GTX_wrap is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it.") +# else +# pragma message("GLM: GLM_GTX_wrap extension included") +# endif +#endif + +namespace glm +{ + /// @addtogroup gtx_wrap + /// @{ + + /// Simulate GL_CLAMP OpenGL wrap mode + /// @see gtx_wrap extension. + template + GLM_FUNC_DECL genType clamp(genType const& Texcoord); + + /// Simulate GL_REPEAT OpenGL wrap mode + /// @see gtx_wrap extension. + template + GLM_FUNC_DECL genType repeat(genType const& Texcoord); + + /// Simulate GL_MIRRORED_REPEAT OpenGL wrap mode + /// @see gtx_wrap extension. + template + GLM_FUNC_DECL genType mirrorClamp(genType const& Texcoord); + + /// Simulate GL_MIRROR_REPEAT OpenGL wrap mode + /// @see gtx_wrap extension. + template + GLM_FUNC_DECL genType mirrorRepeat(genType const& Texcoord); + + /// @} +}// namespace glm + +#include "wrap.inl" diff --git a/MacroLibX/third_party/glm/gtx/wrap.inl b/MacroLibX/third_party/glm/gtx/wrap.inl new file mode 100644 index 0000000..409a316 --- /dev/null +++ b/MacroLibX/third_party/glm/gtx/wrap.inl @@ -0,0 +1,57 @@ +/// @ref gtx_wrap + +namespace glm +{ + template + GLM_FUNC_QUALIFIER vec clamp(vec const& Texcoord) + { + return glm::clamp(Texcoord, vec(0), vec(1)); + } + + template + GLM_FUNC_QUALIFIER genType clamp(genType const& Texcoord) + { + return clamp(vec<1, genType, defaultp>(Texcoord)).x; + } + + template + GLM_FUNC_QUALIFIER vec repeat(vec const& Texcoord) + { + return glm::fract(Texcoord); + } + + template + GLM_FUNC_QUALIFIER genType repeat(genType const& Texcoord) + { + return repeat(vec<1, genType, defaultp>(Texcoord)).x; + } + + template + GLM_FUNC_QUALIFIER vec mirrorClamp(vec const& Texcoord) + { + return glm::fract(glm::abs(Texcoord)); + } + + template + GLM_FUNC_QUALIFIER genType mirrorClamp(genType const& Texcoord) + { + return mirrorClamp(vec<1, genType, defaultp>(Texcoord)).x; + } + + template + GLM_FUNC_QUALIFIER vec mirrorRepeat(vec const& Texcoord) + { + vec const Abs = glm::abs(Texcoord); + vec const Clamp = glm::mod(glm::floor(Abs), vec(2)); + vec const Floor = glm::floor(Abs); + vec const Rest = Abs - Floor; + vec const Mirror = Clamp + Rest; + return mix(Rest, vec(1) - Rest, glm::greaterThanEqual(Mirror, vec(1))); + } + + template + GLM_FUNC_QUALIFIER genType mirrorRepeat(genType const& Texcoord) + { + return mirrorRepeat(vec<1, genType, defaultp>(Texcoord)).x; + } +}//namespace glm diff --git a/MacroLibX/third_party/glm/integer.hpp b/MacroLibX/third_party/glm/integer.hpp new file mode 100644 index 0000000..8817db3 --- /dev/null +++ b/MacroLibX/third_party/glm/integer.hpp @@ -0,0 +1,212 @@ +/// @ref core +/// @file glm/integer.hpp +/// +/// @see GLSL 4.20.8 specification, section 8.8 Integer Functions +/// +/// @defgroup core_func_integer Integer functions +/// @ingroup core +/// +/// Provides GLSL functions on integer types +/// +/// These all operate component-wise. The description is per component. +/// The notation [a, b] means the set of bits from bit-number a through bit-number +/// b, inclusive. The lowest-order bit is bit 0. +/// +/// Include to use these core features. + +#pragma once + +#include "detail/qualifier.hpp" +#include "common.hpp" +#include "vector_relational.hpp" + +namespace glm +{ + /// @addtogroup core_func_integer + /// @{ + + /// Adds 32-bit unsigned integer x and y, returning the sum + /// modulo pow(2, 32). The value carry is set to 0 if the sum was + /// less than pow(2, 32), or to 1 otherwise. + /// + /// @tparam L An integer between 1 and 4 included that qualify the dimension of the vector. + /// + /// @see GLSL uaddCarry man page + /// @see GLSL 4.20.8 specification, section 8.8 Integer Functions + template + GLM_FUNC_DECL vec uaddCarry( + vec const& x, + vec const& y, + vec & carry); + + /// Subtracts the 32-bit unsigned integer y from x, returning + /// the difference if non-negative, or pow(2, 32) plus the difference + /// otherwise. The value borrow is set to 0 if x >= y, or to 1 otherwise. + /// + /// @tparam L An integer between 1 and 4 included that qualify the dimension of the vector. + /// + /// @see GLSL usubBorrow man page + /// @see GLSL 4.20.8 specification, section 8.8 Integer Functions + template + GLM_FUNC_DECL vec usubBorrow( + vec const& x, + vec const& y, + vec & borrow); + + /// Multiplies 32-bit integers x and y, producing a 64-bit + /// result. The 32 least-significant bits are returned in lsb. + /// The 32 most-significant bits are returned in msb. + /// + /// @tparam L An integer between 1 and 4 included that qualify the dimension of the vector. + /// + /// @see GLSL umulExtended man page + /// @see GLSL 4.20.8 specification, section 8.8 Integer Functions + template + GLM_FUNC_DECL void umulExtended( + vec const& x, + vec const& y, + vec & msb, + vec & lsb); + + /// Multiplies 32-bit integers x and y, producing a 64-bit + /// result. The 32 least-significant bits are returned in lsb. + /// The 32 most-significant bits are returned in msb. + /// + /// @tparam L An integer between 1 and 4 included that qualify the dimension of the vector. + /// + /// @see GLSL imulExtended man page + /// @see GLSL 4.20.8 specification, section 8.8 Integer Functions + template + GLM_FUNC_DECL void imulExtended( + vec const& x, + vec const& y, + vec & msb, + vec & lsb); + + /// Extracts bits [offset, offset + bits - 1] from value, + /// returning them in the least significant bits of the result. + /// For unsigned data types, the most significant bits of the + /// result will be set to zero. For signed data types, the + /// most significant bits will be set to the value of bit offset + base - 1. + /// + /// If bits is zero, the result will be zero. The result will be + /// undefined if offset or bits is negative, or if the sum of + /// offset and bits is greater than the number of bits used + /// to store the operand. + /// + /// @tparam L An integer between 1 and 4 included that qualify the dimension of the vector. + /// @tparam T Signed or unsigned integer scalar types. + /// + /// @see GLSL bitfieldExtract man page + /// @see GLSL 4.20.8 specification, section 8.8 Integer Functions + template + GLM_FUNC_DECL vec bitfieldExtract( + vec const& Value, + int Offset, + int Bits); + + /// Returns the insertion the bits least-significant bits of insert into base. + /// + /// The result will have bits [offset, offset + bits - 1] taken + /// from bits [0, bits - 1] of insert, and all other bits taken + /// directly from the corresponding bits of base. If bits is + /// zero, the result will simply be base. The result will be + /// undefined if offset or bits is negative, or if the sum of + /// offset and bits is greater than the number of bits used to + /// store the operand. + /// + /// @tparam L An integer between 1 and 4 included that qualify the dimension of the vector. + /// @tparam T Signed or unsigned integer scalar or vector types. + /// + /// @see GLSL bitfieldInsert man page + /// @see GLSL 4.20.8 specification, section 8.8 Integer Functions + template + GLM_FUNC_DECL vec bitfieldInsert( + vec const& Base, + vec const& Insert, + int Offset, + int Bits); + + /// Returns the reversal of the bits of value. + /// The bit numbered n of the result will be taken from bit (bits - 1) - n of value, + /// where bits is the total number of bits used to represent value. + /// + /// @tparam L An integer between 1 and 4 included that qualify the dimension of the vector. + /// @tparam T Signed or unsigned integer scalar or vector types. + /// + /// @see GLSL bitfieldReverse man page + /// @see GLSL 4.20.8 specification, section 8.8 Integer Functions + template + GLM_FUNC_DECL vec bitfieldReverse(vec const& v); + + /// Returns the number of bits set to 1 in the binary representation of value. + /// + /// @tparam genType Signed or unsigned integer scalar or vector types. + /// + /// @see GLSL bitCount man page + /// @see GLSL 4.20.8 specification, section 8.8 Integer Functions + template + GLM_FUNC_DECL int bitCount(genType v); + + /// Returns the number of bits set to 1 in the binary representation of value. + /// + /// @tparam L An integer between 1 and 4 included that qualify the dimension of the vector. + /// @tparam T Signed or unsigned integer scalar or vector types. + /// + /// @see GLSL bitCount man page + /// @see GLSL 4.20.8 specification, section 8.8 Integer Functions + template + GLM_FUNC_DECL vec bitCount(vec const& v); + + /// Returns the bit number of the least significant bit set to + /// 1 in the binary representation of value. + /// If value is zero, -1 will be returned. + /// + /// @tparam genIUType Signed or unsigned integer scalar types. + /// + /// @see GLSL findLSB man page + /// @see GLSL 4.20.8 specification, section 8.8 Integer Functions + template + GLM_FUNC_DECL int findLSB(genIUType x); + + /// Returns the bit number of the least significant bit set to + /// 1 in the binary representation of value. + /// If value is zero, -1 will be returned. + /// + /// @tparam L An integer between 1 and 4 included that qualify the dimension of the vector. + /// @tparam T Signed or unsigned integer scalar types. + /// + /// @see GLSL findLSB man page + /// @see GLSL 4.20.8 specification, section 8.8 Integer Functions + template + GLM_FUNC_DECL vec findLSB(vec const& v); + + /// Returns the bit number of the most significant bit in the binary representation of value. + /// For positive integers, the result will be the bit number of the most significant bit set to 1. + /// For negative integers, the result will be the bit number of the most significant + /// bit set to 0. For a value of zero or negative one, -1 will be returned. + /// + /// @tparam genIUType Signed or unsigned integer scalar types. + /// + /// @see GLSL findMSB man page + /// @see GLSL 4.20.8 specification, section 8.8 Integer Functions + template + GLM_FUNC_DECL int findMSB(genIUType x); + + /// Returns the bit number of the most significant bit in the binary representation of value. + /// For positive integers, the result will be the bit number of the most significant bit set to 1. + /// For negative integers, the result will be the bit number of the most significant + /// bit set to 0. For a value of zero or negative one, -1 will be returned. + /// + /// @tparam L An integer between 1 and 4 included that qualify the dimension of the vector. + /// @tparam T Signed or unsigned integer scalar types. + /// + /// @see GLSL findMSB man page + /// @see GLSL 4.20.8 specification, section 8.8 Integer Functions + template + GLM_FUNC_DECL vec findMSB(vec const& v); + + /// @} +}//namespace glm + +#include "detail/func_integer.inl" diff --git a/MacroLibX/third_party/glm/mat2x2.hpp b/MacroLibX/third_party/glm/mat2x2.hpp new file mode 100644 index 0000000..96bec96 --- /dev/null +++ b/MacroLibX/third_party/glm/mat2x2.hpp @@ -0,0 +1,9 @@ +/// @ref core +/// @file glm/mat2x2.hpp + +#pragma once +#include "./ext/matrix_double2x2.hpp" +#include "./ext/matrix_double2x2_precision.hpp" +#include "./ext/matrix_float2x2.hpp" +#include "./ext/matrix_float2x2_precision.hpp" + diff --git a/MacroLibX/third_party/glm/mat2x3.hpp b/MacroLibX/third_party/glm/mat2x3.hpp new file mode 100644 index 0000000..d68dc25 --- /dev/null +++ b/MacroLibX/third_party/glm/mat2x3.hpp @@ -0,0 +1,9 @@ +/// @ref core +/// @file glm/mat2x3.hpp + +#pragma once +#include "./ext/matrix_double2x3.hpp" +#include "./ext/matrix_double2x3_precision.hpp" +#include "./ext/matrix_float2x3.hpp" +#include "./ext/matrix_float2x3_precision.hpp" + diff --git a/MacroLibX/third_party/glm/mat2x4.hpp b/MacroLibX/third_party/glm/mat2x4.hpp new file mode 100644 index 0000000..b04b738 --- /dev/null +++ b/MacroLibX/third_party/glm/mat2x4.hpp @@ -0,0 +1,9 @@ +/// @ref core +/// @file glm/mat2x4.hpp + +#pragma once +#include "./ext/matrix_double2x4.hpp" +#include "./ext/matrix_double2x4_precision.hpp" +#include "./ext/matrix_float2x4.hpp" +#include "./ext/matrix_float2x4_precision.hpp" + diff --git a/MacroLibX/third_party/glm/mat3x2.hpp b/MacroLibX/third_party/glm/mat3x2.hpp new file mode 100644 index 0000000..c853153 --- /dev/null +++ b/MacroLibX/third_party/glm/mat3x2.hpp @@ -0,0 +1,9 @@ +/// @ref core +/// @file glm/mat3x2.hpp + +#pragma once +#include "./ext/matrix_double3x2.hpp" +#include "./ext/matrix_double3x2_precision.hpp" +#include "./ext/matrix_float3x2.hpp" +#include "./ext/matrix_float3x2_precision.hpp" + diff --git a/MacroLibX/third_party/glm/mat3x3.hpp b/MacroLibX/third_party/glm/mat3x3.hpp new file mode 100644 index 0000000..fd4fa31 --- /dev/null +++ b/MacroLibX/third_party/glm/mat3x3.hpp @@ -0,0 +1,8 @@ +/// @ref core +/// @file glm/mat3x3.hpp + +#pragma once +#include "./ext/matrix_double3x3.hpp" +#include "./ext/matrix_double3x3_precision.hpp" +#include "./ext/matrix_float3x3.hpp" +#include "./ext/matrix_float3x3_precision.hpp" diff --git a/MacroLibX/third_party/glm/mat3x4.hpp b/MacroLibX/third_party/glm/mat3x4.hpp new file mode 100644 index 0000000..6342bf5 --- /dev/null +++ b/MacroLibX/third_party/glm/mat3x4.hpp @@ -0,0 +1,8 @@ +/// @ref core +/// @file glm/mat3x4.hpp + +#pragma once +#include "./ext/matrix_double3x4.hpp" +#include "./ext/matrix_double3x4_precision.hpp" +#include "./ext/matrix_float3x4.hpp" +#include "./ext/matrix_float3x4_precision.hpp" diff --git a/MacroLibX/third_party/glm/mat4x2.hpp b/MacroLibX/third_party/glm/mat4x2.hpp new file mode 100644 index 0000000..e013e46 --- /dev/null +++ b/MacroLibX/third_party/glm/mat4x2.hpp @@ -0,0 +1,9 @@ +/// @ref core +/// @file glm/mat4x2.hpp + +#pragma once +#include "./ext/matrix_double4x2.hpp" +#include "./ext/matrix_double4x2_precision.hpp" +#include "./ext/matrix_float4x2.hpp" +#include "./ext/matrix_float4x2_precision.hpp" + diff --git a/MacroLibX/third_party/glm/mat4x3.hpp b/MacroLibX/third_party/glm/mat4x3.hpp new file mode 100644 index 0000000..205725a --- /dev/null +++ b/MacroLibX/third_party/glm/mat4x3.hpp @@ -0,0 +1,8 @@ +/// @ref core +/// @file glm/mat4x3.hpp + +#pragma once +#include "./ext/matrix_double4x3.hpp" +#include "./ext/matrix_double4x3_precision.hpp" +#include "./ext/matrix_float4x3.hpp" +#include "./ext/matrix_float4x3_precision.hpp" diff --git a/MacroLibX/third_party/glm/mat4x4.hpp b/MacroLibX/third_party/glm/mat4x4.hpp new file mode 100644 index 0000000..3515f7f --- /dev/null +++ b/MacroLibX/third_party/glm/mat4x4.hpp @@ -0,0 +1,9 @@ +/// @ref core +/// @file glm/mat4x4.hpp + +#pragma once +#include "./ext/matrix_double4x4.hpp" +#include "./ext/matrix_double4x4_precision.hpp" +#include "./ext/matrix_float4x4.hpp" +#include "./ext/matrix_float4x4_precision.hpp" + diff --git a/MacroLibX/third_party/glm/matrix.hpp b/MacroLibX/third_party/glm/matrix.hpp new file mode 100644 index 0000000..6badf53 --- /dev/null +++ b/MacroLibX/third_party/glm/matrix.hpp @@ -0,0 +1,161 @@ +/// @ref core +/// @file glm/matrix.hpp +/// +/// @see GLSL 4.20.8 specification, section 8.6 Matrix Functions +/// +/// @defgroup core_func_matrix Matrix functions +/// @ingroup core +/// +/// Provides GLSL matrix functions. +/// +/// Include to use these core features. + +#pragma once + +// Dependencies +#include "detail/qualifier.hpp" +#include "detail/setup.hpp" +#include "vec2.hpp" +#include "vec3.hpp" +#include "vec4.hpp" +#include "mat2x2.hpp" +#include "mat2x3.hpp" +#include "mat2x4.hpp" +#include "mat3x2.hpp" +#include "mat3x3.hpp" +#include "mat3x4.hpp" +#include "mat4x2.hpp" +#include "mat4x3.hpp" +#include "mat4x4.hpp" + +namespace glm { +namespace detail +{ + template + struct outerProduct_trait{}; + + template + struct outerProduct_trait<2, 2, T, Q> + { + typedef mat<2, 2, T, Q> type; + }; + + template + struct outerProduct_trait<2, 3, T, Q> + { + typedef mat<3, 2, T, Q> type; + }; + + template + struct outerProduct_trait<2, 4, T, Q> + { + typedef mat<4, 2, T, Q> type; + }; + + template + struct outerProduct_trait<3, 2, T, Q> + { + typedef mat<2, 3, T, Q> type; + }; + + template + struct outerProduct_trait<3, 3, T, Q> + { + typedef mat<3, 3, T, Q> type; + }; + + template + struct outerProduct_trait<3, 4, T, Q> + { + typedef mat<4, 3, T, Q> type; + }; + + template + struct outerProduct_trait<4, 2, T, Q> + { + typedef mat<2, 4, T, Q> type; + }; + + template + struct outerProduct_trait<4, 3, T, Q> + { + typedef mat<3, 4, T, Q> type; + }; + + template + struct outerProduct_trait<4, 4, T, Q> + { + typedef mat<4, 4, T, Q> type; + }; +}//namespace detail + + /// @addtogroup core_func_matrix + /// @{ + + /// Multiply matrix x by matrix y component-wise, i.e., + /// result[i][j] is the scalar product of x[i][j] and y[i][j]. + /// + /// @tparam C Integer between 1 and 4 included that qualify the number a column + /// @tparam R Integer between 1 and 4 included that qualify the number a row + /// @tparam T Floating-point or signed integer scalar types + /// @tparam Q Value from qualifier enum + /// + /// @see GLSL matrixCompMult man page + /// @see GLSL 4.20.8 specification, section 8.6 Matrix Functions + template + GLM_FUNC_DECL mat matrixCompMult(mat const& x, mat const& y); + + /// Treats the first parameter c as a column vector + /// and the second parameter r as a row vector + /// and does a linear algebraic matrix multiply c * r. + /// + /// @tparam C Integer between 1 and 4 included that qualify the number a column + /// @tparam R Integer between 1 and 4 included that qualify the number a row + /// @tparam T Floating-point or signed integer scalar types + /// @tparam Q Value from qualifier enum + /// + /// @see GLSL outerProduct man page + /// @see GLSL 4.20.8 specification, section 8.6 Matrix Functions + template + GLM_FUNC_DECL typename detail::outerProduct_trait::type outerProduct(vec const& c, vec const& r); + + /// Returns the transposed matrix of x + /// + /// @tparam C Integer between 1 and 4 included that qualify the number a column + /// @tparam R Integer between 1 and 4 included that qualify the number a row + /// @tparam T Floating-point or signed integer scalar types + /// @tparam Q Value from qualifier enum + /// + /// @see GLSL transpose man page + /// @see GLSL 4.20.8 specification, section 8.6 Matrix Functions + template + GLM_FUNC_DECL typename mat::transpose_type transpose(mat const& x); + + /// Return the determinant of a squared matrix. + /// + /// @tparam C Integer between 1 and 4 included that qualify the number a column + /// @tparam R Integer between 1 and 4 included that qualify the number a row + /// @tparam T Floating-point or signed integer scalar types + /// @tparam Q Value from qualifier enum + /// + /// @see GLSL determinant man page + /// @see GLSL 4.20.8 specification, section 8.6 Matrix Functions + template + GLM_FUNC_DECL T determinant(mat const& m); + + /// Return the inverse of a squared matrix. + /// + /// @tparam C Integer between 1 and 4 included that qualify the number a column + /// @tparam R Integer between 1 and 4 included that qualify the number a row + /// @tparam T Floating-point or signed integer scalar types + /// @tparam Q Value from qualifier enum + /// + /// @see GLSL inverse man page + /// @see GLSL 4.20.8 specification, section 8.6 Matrix Functions + template + GLM_FUNC_DECL mat inverse(mat const& m); + + /// @} +}//namespace glm + +#include "detail/func_matrix.inl" diff --git a/MacroLibX/third_party/glm/packing.hpp b/MacroLibX/third_party/glm/packing.hpp new file mode 100644 index 0000000..ca83ac1 --- /dev/null +++ b/MacroLibX/third_party/glm/packing.hpp @@ -0,0 +1,173 @@ +/// @ref core +/// @file glm/packing.hpp +/// +/// @see GLSL 4.20.8 specification, section 8.4 Floating-Point Pack and Unpack Functions +/// @see gtc_packing +/// +/// @defgroup core_func_packing Floating-Point Pack and Unpack Functions +/// @ingroup core +/// +/// Provides GLSL functions to pack and unpack half, single and double-precision floating point values into more compact integer types. +/// +/// These functions do not operate component-wise, rather as described in each case. +/// +/// Include to use these core features. + +#pragma once + +#include "./ext/vector_uint2.hpp" +#include "./ext/vector_float2.hpp" +#include "./ext/vector_float4.hpp" + +namespace glm +{ + /// @addtogroup core_func_packing + /// @{ + + /// First, converts each component of the normalized floating-point value v into 8- or 16-bit integer values. + /// Then, the results are packed into the returned 32-bit unsigned integer. + /// + /// The conversion for component c of v to fixed point is done as follows: + /// packUnorm2x16: round(clamp(c, 0, +1) * 65535.0) + /// + /// The first component of the vector will be written to the least significant bits of the output; + /// the last component will be written to the most significant bits. + /// + /// @see GLSL packUnorm2x16 man page + /// @see GLSL 4.20.8 specification, section 8.4 Floating-Point Pack and Unpack Functions + GLM_FUNC_DECL uint packUnorm2x16(vec2 const& v); + + /// First, converts each component of the normalized floating-point value v into 8- or 16-bit integer values. + /// Then, the results are packed into the returned 32-bit unsigned integer. + /// + /// The conversion for component c of v to fixed point is done as follows: + /// packSnorm2x16: round(clamp(v, -1, +1) * 32767.0) + /// + /// The first component of the vector will be written to the least significant bits of the output; + /// the last component will be written to the most significant bits. + /// + /// @see GLSL packSnorm2x16 man page + /// @see GLSL 4.20.8 specification, section 8.4 Floating-Point Pack and Unpack Functions + GLM_FUNC_DECL uint packSnorm2x16(vec2 const& v); + + /// First, converts each component of the normalized floating-point value v into 8- or 16-bit integer values. + /// Then, the results are packed into the returned 32-bit unsigned integer. + /// + /// The conversion for component c of v to fixed point is done as follows: + /// packUnorm4x8: round(clamp(c, 0, +1) * 255.0) + /// + /// The first component of the vector will be written to the least significant bits of the output; + /// the last component will be written to the most significant bits. + /// + /// @see GLSL packUnorm4x8 man page + /// @see GLSL 4.20.8 specification, section 8.4 Floating-Point Pack and Unpack Functions + GLM_FUNC_DECL uint packUnorm4x8(vec4 const& v); + + /// First, converts each component of the normalized floating-point value v into 8- or 16-bit integer values. + /// Then, the results are packed into the returned 32-bit unsigned integer. + /// + /// The conversion for component c of v to fixed point is done as follows: + /// packSnorm4x8: round(clamp(c, -1, +1) * 127.0) + /// + /// The first component of the vector will be written to the least significant bits of the output; + /// the last component will be written to the most significant bits. + /// + /// @see GLSL packSnorm4x8 man page + /// @see GLSL 4.20.8 specification, section 8.4 Floating-Point Pack and Unpack Functions + GLM_FUNC_DECL uint packSnorm4x8(vec4 const& v); + + /// First, unpacks a single 32-bit unsigned integer p into a pair of 16-bit unsigned integers, four 8-bit unsigned integers, or four 8-bit signed integers. + /// Then, each component is converted to a normalized floating-point value to generate the returned two- or four-component vector. + /// + /// The conversion for unpacked fixed-point value f to floating point is done as follows: + /// unpackUnorm2x16: f / 65535.0 + /// + /// The first component of the returned vector will be extracted from the least significant bits of the input; + /// the last component will be extracted from the most significant bits. + /// + /// @see GLSL unpackUnorm2x16 man page + /// @see GLSL 4.20.8 specification, section 8.4 Floating-Point Pack and Unpack Functions + GLM_FUNC_DECL vec2 unpackUnorm2x16(uint p); + + /// First, unpacks a single 32-bit unsigned integer p into a pair of 16-bit unsigned integers, four 8-bit unsigned integers, or four 8-bit signed integers. + /// Then, each component is converted to a normalized floating-point value to generate the returned two- or four-component vector. + /// + /// The conversion for unpacked fixed-point value f to floating point is done as follows: + /// unpackSnorm2x16: clamp(f / 32767.0, -1, +1) + /// + /// The first component of the returned vector will be extracted from the least significant bits of the input; + /// the last component will be extracted from the most significant bits. + /// + /// @see GLSL unpackSnorm2x16 man page + /// @see GLSL 4.20.8 specification, section 8.4 Floating-Point Pack and Unpack Functions + GLM_FUNC_DECL vec2 unpackSnorm2x16(uint p); + + /// First, unpacks a single 32-bit unsigned integer p into a pair of 16-bit unsigned integers, four 8-bit unsigned integers, or four 8-bit signed integers. + /// Then, each component is converted to a normalized floating-point value to generate the returned two- or four-component vector. + /// + /// The conversion for unpacked fixed-point value f to floating point is done as follows: + /// unpackUnorm4x8: f / 255.0 + /// + /// The first component of the returned vector will be extracted from the least significant bits of the input; + /// the last component will be extracted from the most significant bits. + /// + /// @see GLSL unpackUnorm4x8 man page + /// @see GLSL 4.20.8 specification, section 8.4 Floating-Point Pack and Unpack Functions + GLM_FUNC_DECL vec4 unpackUnorm4x8(uint p); + + /// First, unpacks a single 32-bit unsigned integer p into a pair of 16-bit unsigned integers, four 8-bit unsigned integers, or four 8-bit signed integers. + /// Then, each component is converted to a normalized floating-point value to generate the returned two- or four-component vector. + /// + /// The conversion for unpacked fixed-point value f to floating point is done as follows: + /// unpackSnorm4x8: clamp(f / 127.0, -1, +1) + /// + /// The first component of the returned vector will be extracted from the least significant bits of the input; + /// the last component will be extracted from the most significant bits. + /// + /// @see GLSL unpackSnorm4x8 man page + /// @see GLSL 4.20.8 specification, section 8.4 Floating-Point Pack and Unpack Functions + GLM_FUNC_DECL vec4 unpackSnorm4x8(uint p); + + /// Returns a double-qualifier value obtained by packing the components of v into a 64-bit value. + /// If an IEEE 754 Inf or NaN is created, it will not signal, and the resulting floating point value is unspecified. + /// Otherwise, the bit- level representation of v is preserved. + /// The first vector component specifies the 32 least significant bits; + /// the second component specifies the 32 most significant bits. + /// + /// @see GLSL packDouble2x32 man page + /// @see GLSL 4.20.8 specification, section 8.4 Floating-Point Pack and Unpack Functions + GLM_FUNC_DECL double packDouble2x32(uvec2 const& v); + + /// Returns a two-component unsigned integer vector representation of v. + /// The bit-level representation of v is preserved. + /// The first component of the vector contains the 32 least significant bits of the double; + /// the second component consists the 32 most significant bits. + /// + /// @see GLSL unpackDouble2x32 man page + /// @see GLSL 4.20.8 specification, section 8.4 Floating-Point Pack and Unpack Functions + GLM_FUNC_DECL uvec2 unpackDouble2x32(double v); + + /// Returns an unsigned integer obtained by converting the components of a two-component floating-point vector + /// to the 16-bit floating-point representation found in the OpenGL Specification, + /// and then packing these two 16- bit integers into a 32-bit unsigned integer. + /// The first vector component specifies the 16 least-significant bits of the result; + /// the second component specifies the 16 most-significant bits. + /// + /// @see GLSL packHalf2x16 man page + /// @see GLSL 4.20.8 specification, section 8.4 Floating-Point Pack and Unpack Functions + GLM_FUNC_DECL uint packHalf2x16(vec2 const& v); + + /// Returns a two-component floating-point vector with components obtained by unpacking a 32-bit unsigned integer into a pair of 16-bit values, + /// interpreting those values as 16-bit floating-point numbers according to the OpenGL Specification, + /// and converting them to 32-bit floating-point values. + /// The first component of the vector is obtained from the 16 least-significant bits of v; + /// the second component is obtained from the 16 most-significant bits of v. + /// + /// @see GLSL unpackHalf2x16 man page + /// @see GLSL 4.20.8 specification, section 8.4 Floating-Point Pack and Unpack Functions + GLM_FUNC_DECL vec2 unpackHalf2x16(uint v); + + /// @} +}//namespace glm + +#include "detail/func_packing.inl" diff --git a/MacroLibX/third_party/glm/simd/common.h b/MacroLibX/third_party/glm/simd/common.h new file mode 100644 index 0000000..9b017cb --- /dev/null +++ b/MacroLibX/third_party/glm/simd/common.h @@ -0,0 +1,240 @@ +/// @ref simd +/// @file glm/simd/common.h + +#pragma once + +#include "platform.h" + +#if GLM_ARCH & GLM_ARCH_SSE2_BIT + +GLM_FUNC_QUALIFIER glm_f32vec4 glm_vec4_add(glm_f32vec4 a, glm_f32vec4 b) +{ + return _mm_add_ps(a, b); +} + +GLM_FUNC_QUALIFIER glm_f32vec4 glm_vec1_add(glm_f32vec4 a, glm_f32vec4 b) +{ + return _mm_add_ss(a, b); +} + +GLM_FUNC_QUALIFIER glm_f32vec4 glm_vec4_sub(glm_f32vec4 a, glm_f32vec4 b) +{ + return _mm_sub_ps(a, b); +} + +GLM_FUNC_QUALIFIER glm_f32vec4 glm_vec1_sub(glm_f32vec4 a, glm_f32vec4 b) +{ + return _mm_sub_ss(a, b); +} + +GLM_FUNC_QUALIFIER glm_f32vec4 glm_vec4_mul(glm_f32vec4 a, glm_f32vec4 b) +{ + return _mm_mul_ps(a, b); +} + +GLM_FUNC_QUALIFIER glm_f32vec4 glm_vec1_mul(glm_f32vec4 a, glm_f32vec4 b) +{ + return _mm_mul_ss(a, b); +} + +GLM_FUNC_QUALIFIER glm_f32vec4 glm_vec4_div(glm_f32vec4 a, glm_f32vec4 b) +{ + return _mm_div_ps(a, b); +} + +GLM_FUNC_QUALIFIER glm_f32vec4 glm_vec1_div(glm_f32vec4 a, glm_f32vec4 b) +{ + return _mm_div_ss(a, b); +} + +GLM_FUNC_QUALIFIER glm_f32vec4 glm_vec4_div_lowp(glm_f32vec4 a, glm_f32vec4 b) +{ + return glm_vec4_mul(a, _mm_rcp_ps(b)); +} + +GLM_FUNC_QUALIFIER glm_f32vec4 glm_vec4_swizzle_xyzw(glm_f32vec4 a) +{ +# if GLM_ARCH & GLM_ARCH_AVX2_BIT + return _mm_permute_ps(a, _MM_SHUFFLE(3, 2, 1, 0)); +# else + return _mm_shuffle_ps(a, a, _MM_SHUFFLE(3, 2, 1, 0)); +# endif +} + +GLM_FUNC_QUALIFIER glm_f32vec4 glm_vec1_fma(glm_f32vec4 a, glm_f32vec4 b, glm_f32vec4 c) +{ +# if (GLM_ARCH & GLM_ARCH_AVX2_BIT) && !(GLM_COMPILER & GLM_COMPILER_CLANG) + return _mm_fmadd_ss(a, b, c); +# else + return _mm_add_ss(_mm_mul_ss(a, b), c); +# endif +} + +GLM_FUNC_QUALIFIER glm_f32vec4 glm_vec4_fma(glm_f32vec4 a, glm_f32vec4 b, glm_f32vec4 c) +{ +# if (GLM_ARCH & GLM_ARCH_AVX2_BIT) && !(GLM_COMPILER & GLM_COMPILER_CLANG) + return _mm_fmadd_ps(a, b, c); +# else + return glm_vec4_add(glm_vec4_mul(a, b), c); +# endif +} + +GLM_FUNC_QUALIFIER glm_f32vec4 glm_vec4_abs(glm_f32vec4 x) +{ + return _mm_and_ps(x, _mm_castsi128_ps(_mm_set1_epi32(0x7FFFFFFF))); +} + +GLM_FUNC_QUALIFIER glm_ivec4 glm_ivec4_abs(glm_ivec4 x) +{ +# if GLM_ARCH & GLM_ARCH_SSSE3_BIT + return _mm_sign_epi32(x, x); +# else + glm_ivec4 const sgn0 = _mm_srai_epi32(x, 31); + glm_ivec4 const inv0 = _mm_xor_si128(x, sgn0); + glm_ivec4 const sub0 = _mm_sub_epi32(inv0, sgn0); + return sub0; +# endif +} + +GLM_FUNC_QUALIFIER glm_vec4 glm_vec4_sign(glm_vec4 x) +{ + glm_vec4 const zro0 = _mm_setzero_ps(); + glm_vec4 const cmp0 = _mm_cmplt_ps(x, zro0); + glm_vec4 const cmp1 = _mm_cmpgt_ps(x, zro0); + glm_vec4 const and0 = _mm_and_ps(cmp0, _mm_set1_ps(-1.0f)); + glm_vec4 const and1 = _mm_and_ps(cmp1, _mm_set1_ps(1.0f)); + glm_vec4 const or0 = _mm_or_ps(and0, and1); + return or0; +} + +GLM_FUNC_QUALIFIER glm_vec4 glm_vec4_round(glm_vec4 x) +{ +# if GLM_ARCH & GLM_ARCH_SSE41_BIT + return _mm_round_ps(x, _MM_FROUND_TO_NEAREST_INT); +# else + glm_vec4 const sgn0 = _mm_castsi128_ps(_mm_set1_epi32(int(0x80000000))); + glm_vec4 const and0 = _mm_and_ps(sgn0, x); + glm_vec4 const or0 = _mm_or_ps(and0, _mm_set_ps1(8388608.0f)); + glm_vec4 const add0 = glm_vec4_add(x, or0); + glm_vec4 const sub0 = glm_vec4_sub(add0, or0); + return sub0; +# endif +} + +GLM_FUNC_QUALIFIER glm_vec4 glm_vec4_floor(glm_vec4 x) +{ +# if GLM_ARCH & GLM_ARCH_SSE41_BIT + return _mm_floor_ps(x); +# else + glm_vec4 const rnd0 = glm_vec4_round(x); + glm_vec4 const cmp0 = _mm_cmplt_ps(x, rnd0); + glm_vec4 const and0 = _mm_and_ps(cmp0, _mm_set1_ps(1.0f)); + glm_vec4 const sub0 = glm_vec4_sub(rnd0, and0); + return sub0; +# endif +} + +/* trunc TODO +GLM_FUNC_QUALIFIER glm_vec4 glm_vec4_trunc(glm_vec4 x) +{ + return glm_vec4(); +} +*/ + +//roundEven +GLM_FUNC_QUALIFIER glm_vec4 glm_vec4_roundEven(glm_vec4 x) +{ + glm_vec4 const sgn0 = _mm_castsi128_ps(_mm_set1_epi32(int(0x80000000))); + glm_vec4 const and0 = _mm_and_ps(sgn0, x); + glm_vec4 const or0 = _mm_or_ps(and0, _mm_set_ps1(8388608.0f)); + glm_vec4 const add0 = glm_vec4_add(x, or0); + glm_vec4 const sub0 = glm_vec4_sub(add0, or0); + return sub0; +} + +GLM_FUNC_QUALIFIER glm_vec4 glm_vec4_ceil(glm_vec4 x) +{ +# if GLM_ARCH & GLM_ARCH_SSE41_BIT + return _mm_ceil_ps(x); +# else + glm_vec4 const rnd0 = glm_vec4_round(x); + glm_vec4 const cmp0 = _mm_cmpgt_ps(x, rnd0); + glm_vec4 const and0 = _mm_and_ps(cmp0, _mm_set1_ps(1.0f)); + glm_vec4 const add0 = glm_vec4_add(rnd0, and0); + return add0; +# endif +} + +GLM_FUNC_QUALIFIER glm_vec4 glm_vec4_fract(glm_vec4 x) +{ + glm_vec4 const flr0 = glm_vec4_floor(x); + glm_vec4 const sub0 = glm_vec4_sub(x, flr0); + return sub0; +} + +GLM_FUNC_QUALIFIER glm_vec4 glm_vec4_mod(glm_vec4 x, glm_vec4 y) +{ + glm_vec4 const div0 = glm_vec4_div(x, y); + glm_vec4 const flr0 = glm_vec4_floor(div0); + glm_vec4 const mul0 = glm_vec4_mul(y, flr0); + glm_vec4 const sub0 = glm_vec4_sub(x, mul0); + return sub0; +} + +GLM_FUNC_QUALIFIER glm_vec4 glm_vec4_clamp(glm_vec4 v, glm_vec4 minVal, glm_vec4 maxVal) +{ + glm_vec4 const min0 = _mm_min_ps(v, maxVal); + glm_vec4 const max0 = _mm_max_ps(min0, minVal); + return max0; +} + +GLM_FUNC_QUALIFIER glm_vec4 glm_vec4_mix(glm_vec4 v1, glm_vec4 v2, glm_vec4 a) +{ + glm_vec4 const sub0 = glm_vec4_sub(_mm_set1_ps(1.0f), a); + glm_vec4 const mul0 = glm_vec4_mul(v1, sub0); + glm_vec4 const mad0 = glm_vec4_fma(v2, a, mul0); + return mad0; +} + +GLM_FUNC_QUALIFIER glm_vec4 glm_vec4_step(glm_vec4 edge, glm_vec4 x) +{ + glm_vec4 const cmp = _mm_cmple_ps(x, edge); + return _mm_movemask_ps(cmp) == 0 ? _mm_set1_ps(1.0f) : _mm_setzero_ps(); +} + +GLM_FUNC_QUALIFIER glm_vec4 glm_vec4_smoothstep(glm_vec4 edge0, glm_vec4 edge1, glm_vec4 x) +{ + glm_vec4 const sub0 = glm_vec4_sub(x, edge0); + glm_vec4 const sub1 = glm_vec4_sub(edge1, edge0); + glm_vec4 const div0 = glm_vec4_sub(sub0, sub1); + glm_vec4 const clp0 = glm_vec4_clamp(div0, _mm_setzero_ps(), _mm_set1_ps(1.0f)); + glm_vec4 const mul0 = glm_vec4_mul(_mm_set1_ps(2.0f), clp0); + glm_vec4 const sub2 = glm_vec4_sub(_mm_set1_ps(3.0f), mul0); + glm_vec4 const mul1 = glm_vec4_mul(clp0, clp0); + glm_vec4 const mul2 = glm_vec4_mul(mul1, sub2); + return mul2; +} + +// Agner Fog method +GLM_FUNC_QUALIFIER glm_vec4 glm_vec4_nan(glm_vec4 x) +{ + glm_ivec4 const t1 = _mm_castps_si128(x); // reinterpret as 32-bit integer + glm_ivec4 const t2 = _mm_sll_epi32(t1, _mm_cvtsi32_si128(1)); // shift out sign bit + glm_ivec4 const t3 = _mm_set1_epi32(int(0xFF000000)); // exponent mask + glm_ivec4 const t4 = _mm_and_si128(t2, t3); // exponent + glm_ivec4 const t5 = _mm_andnot_si128(t3, t2); // fraction + glm_ivec4 const Equal = _mm_cmpeq_epi32(t3, t4); + glm_ivec4 const Nequal = _mm_cmpeq_epi32(t5, _mm_setzero_si128()); + glm_ivec4 const And = _mm_and_si128(Equal, Nequal); + return _mm_castsi128_ps(And); // exponent = all 1s and fraction != 0 +} + +// Agner Fog method +GLM_FUNC_QUALIFIER glm_vec4 glm_vec4_inf(glm_vec4 x) +{ + glm_ivec4 const t1 = _mm_castps_si128(x); // reinterpret as 32-bit integer + glm_ivec4 const t2 = _mm_sll_epi32(t1, _mm_cvtsi32_si128(1)); // shift out sign bit + return _mm_castsi128_ps(_mm_cmpeq_epi32(t2, _mm_set1_epi32(int(0xFF000000)))); // exponent is all 1s, fraction is 0 +} + +#endif//GLM_ARCH & GLM_ARCH_SSE2_BIT diff --git a/MacroLibX/third_party/glm/simd/exponential.h b/MacroLibX/third_party/glm/simd/exponential.h new file mode 100644 index 0000000..bc351d0 --- /dev/null +++ b/MacroLibX/third_party/glm/simd/exponential.h @@ -0,0 +1,20 @@ +/// @ref simd +/// @file glm/simd/experimental.h + +#pragma once + +#include "platform.h" + +#if GLM_ARCH & GLM_ARCH_SSE2_BIT + +GLM_FUNC_QUALIFIER glm_f32vec4 glm_vec1_sqrt_lowp(glm_f32vec4 x) +{ + return _mm_mul_ss(_mm_rsqrt_ss(x), x); +} + +GLM_FUNC_QUALIFIER glm_f32vec4 glm_vec4_sqrt_lowp(glm_f32vec4 x) +{ + return _mm_mul_ps(_mm_rsqrt_ps(x), x); +} + +#endif//GLM_ARCH & GLM_ARCH_SSE2_BIT diff --git a/MacroLibX/third_party/glm/simd/geometric.h b/MacroLibX/third_party/glm/simd/geometric.h new file mode 100644 index 0000000..07d7cbc --- /dev/null +++ b/MacroLibX/third_party/glm/simd/geometric.h @@ -0,0 +1,124 @@ +/// @ref simd +/// @file glm/simd/geometric.h + +#pragma once + +#include "common.h" + +#if GLM_ARCH & GLM_ARCH_SSE2_BIT + +GLM_FUNC_DECL glm_vec4 glm_vec4_dot(glm_vec4 v1, glm_vec4 v2); +GLM_FUNC_DECL glm_vec4 glm_vec1_dot(glm_vec4 v1, glm_vec4 v2); + +GLM_FUNC_QUALIFIER glm_vec4 glm_vec4_length(glm_vec4 x) +{ + glm_vec4 const dot0 = glm_vec4_dot(x, x); + glm_vec4 const sqt0 = _mm_sqrt_ps(dot0); + return sqt0; +} + +GLM_FUNC_QUALIFIER glm_vec4 glm_vec4_distance(glm_vec4 p0, glm_vec4 p1) +{ + glm_vec4 const sub0 = _mm_sub_ps(p0, p1); + glm_vec4 const len0 = glm_vec4_length(sub0); + return len0; +} + +GLM_FUNC_QUALIFIER glm_vec4 glm_vec4_dot(glm_vec4 v1, glm_vec4 v2) +{ +# if GLM_ARCH & GLM_ARCH_AVX_BIT + return _mm_dp_ps(v1, v2, 0xff); +# elif GLM_ARCH & GLM_ARCH_SSE3_BIT + glm_vec4 const mul0 = _mm_mul_ps(v1, v2); + glm_vec4 const hadd0 = _mm_hadd_ps(mul0, mul0); + glm_vec4 const hadd1 = _mm_hadd_ps(hadd0, hadd0); + return hadd1; +# else + glm_vec4 const mul0 = _mm_mul_ps(v1, v2); + glm_vec4 const swp0 = _mm_shuffle_ps(mul0, mul0, _MM_SHUFFLE(2, 3, 0, 1)); + glm_vec4 const add0 = _mm_add_ps(mul0, swp0); + glm_vec4 const swp1 = _mm_shuffle_ps(add0, add0, _MM_SHUFFLE(0, 1, 2, 3)); + glm_vec4 const add1 = _mm_add_ps(add0, swp1); + return add1; +# endif +} + +GLM_FUNC_QUALIFIER glm_vec4 glm_vec1_dot(glm_vec4 v1, glm_vec4 v2) +{ +# if GLM_ARCH & GLM_ARCH_AVX_BIT + return _mm_dp_ps(v1, v2, 0xff); +# elif GLM_ARCH & GLM_ARCH_SSE3_BIT + glm_vec4 const mul0 = _mm_mul_ps(v1, v2); + glm_vec4 const had0 = _mm_hadd_ps(mul0, mul0); + glm_vec4 const had1 = _mm_hadd_ps(had0, had0); + return had1; +# else + glm_vec4 const mul0 = _mm_mul_ps(v1, v2); + glm_vec4 const mov0 = _mm_movehl_ps(mul0, mul0); + glm_vec4 const add0 = _mm_add_ps(mov0, mul0); + glm_vec4 const swp1 = _mm_shuffle_ps(add0, add0, 1); + glm_vec4 const add1 = _mm_add_ss(add0, swp1); + return add1; +# endif +} + +GLM_FUNC_QUALIFIER glm_vec4 glm_vec4_cross(glm_vec4 v1, glm_vec4 v2) +{ + glm_vec4 const swp0 = _mm_shuffle_ps(v1, v1, _MM_SHUFFLE(3, 0, 2, 1)); + glm_vec4 const swp1 = _mm_shuffle_ps(v1, v1, _MM_SHUFFLE(3, 1, 0, 2)); + glm_vec4 const swp2 = _mm_shuffle_ps(v2, v2, _MM_SHUFFLE(3, 0, 2, 1)); + glm_vec4 const swp3 = _mm_shuffle_ps(v2, v2, _MM_SHUFFLE(3, 1, 0, 2)); + glm_vec4 const mul0 = _mm_mul_ps(swp0, swp3); + glm_vec4 const mul1 = _mm_mul_ps(swp1, swp2); + glm_vec4 const sub0 = _mm_sub_ps(mul0, mul1); + return sub0; +} + +GLM_FUNC_QUALIFIER glm_vec4 glm_vec4_normalize(glm_vec4 v) +{ + glm_vec4 const dot0 = glm_vec4_dot(v, v); + glm_vec4 const isr0 = _mm_rsqrt_ps(dot0); + glm_vec4 const mul0 = _mm_mul_ps(v, isr0); + return mul0; +} + +GLM_FUNC_QUALIFIER glm_vec4 glm_vec4_faceforward(glm_vec4 N, glm_vec4 I, glm_vec4 Nref) +{ + glm_vec4 const dot0 = glm_vec4_dot(Nref, I); + glm_vec4 const sgn0 = glm_vec4_sign(dot0); + glm_vec4 const mul0 = _mm_mul_ps(sgn0, _mm_set1_ps(-1.0f)); + glm_vec4 const mul1 = _mm_mul_ps(N, mul0); + return mul1; +} + +GLM_FUNC_QUALIFIER glm_vec4 glm_vec4_reflect(glm_vec4 I, glm_vec4 N) +{ + glm_vec4 const dot0 = glm_vec4_dot(N, I); + glm_vec4 const mul0 = _mm_mul_ps(N, dot0); + glm_vec4 const mul1 = _mm_mul_ps(mul0, _mm_set1_ps(2.0f)); + glm_vec4 const sub0 = _mm_sub_ps(I, mul1); + return sub0; +} + +GLM_FUNC_QUALIFIER __m128 glm_vec4_refract(glm_vec4 I, glm_vec4 N, glm_vec4 eta) +{ + glm_vec4 const dot0 = glm_vec4_dot(N, I); + glm_vec4 const mul0 = _mm_mul_ps(eta, eta); + glm_vec4 const mul1 = _mm_mul_ps(dot0, dot0); + glm_vec4 const sub0 = _mm_sub_ps(_mm_set1_ps(1.0f), mul0); + glm_vec4 const sub1 = _mm_sub_ps(_mm_set1_ps(1.0f), mul1); + glm_vec4 const mul2 = _mm_mul_ps(sub0, sub1); + + if(_mm_movemask_ps(_mm_cmplt_ss(mul2, _mm_set1_ps(0.0f))) == 0) + return _mm_set1_ps(0.0f); + + glm_vec4 const sqt0 = _mm_sqrt_ps(mul2); + glm_vec4 const mad0 = glm_vec4_fma(eta, dot0, sqt0); + glm_vec4 const mul4 = _mm_mul_ps(mad0, N); + glm_vec4 const mul5 = _mm_mul_ps(eta, I); + glm_vec4 const sub2 = _mm_sub_ps(mul5, mul4); + + return sub2; +} + +#endif//GLM_ARCH & GLM_ARCH_SSE2_BIT diff --git a/MacroLibX/third_party/glm/simd/integer.h b/MacroLibX/third_party/glm/simd/integer.h new file mode 100644 index 0000000..9381418 --- /dev/null +++ b/MacroLibX/third_party/glm/simd/integer.h @@ -0,0 +1,115 @@ +/// @ref simd +/// @file glm/simd/integer.h + +#pragma once + +#if GLM_ARCH & GLM_ARCH_SSE2_BIT + +GLM_FUNC_QUALIFIER glm_uvec4 glm_i128_interleave(glm_uvec4 x) +{ + glm_uvec4 const Mask4 = _mm_set1_epi32(0x0000FFFF); + glm_uvec4 const Mask3 = _mm_set1_epi32(0x00FF00FF); + glm_uvec4 const Mask2 = _mm_set1_epi32(0x0F0F0F0F); + glm_uvec4 const Mask1 = _mm_set1_epi32(0x33333333); + glm_uvec4 const Mask0 = _mm_set1_epi32(0x55555555); + + glm_uvec4 Reg1; + glm_uvec4 Reg2; + + // REG1 = x; + // REG2 = y; + //Reg1 = _mm_unpacklo_epi64(x, y); + Reg1 = x; + + //REG1 = ((REG1 << 16) | REG1) & glm::uint64(0x0000FFFF0000FFFF); + //REG2 = ((REG2 << 16) | REG2) & glm::uint64(0x0000FFFF0000FFFF); + Reg2 = _mm_slli_si128(Reg1, 2); + Reg1 = _mm_or_si128(Reg2, Reg1); + Reg1 = _mm_and_si128(Reg1, Mask4); + + //REG1 = ((REG1 << 8) | REG1) & glm::uint64(0x00FF00FF00FF00FF); + //REG2 = ((REG2 << 8) | REG2) & glm::uint64(0x00FF00FF00FF00FF); + Reg2 = _mm_slli_si128(Reg1, 1); + Reg1 = _mm_or_si128(Reg2, Reg1); + Reg1 = _mm_and_si128(Reg1, Mask3); + + //REG1 = ((REG1 << 4) | REG1) & glm::uint64(0x0F0F0F0F0F0F0F0F); + //REG2 = ((REG2 << 4) | REG2) & glm::uint64(0x0F0F0F0F0F0F0F0F); + Reg2 = _mm_slli_epi32(Reg1, 4); + Reg1 = _mm_or_si128(Reg2, Reg1); + Reg1 = _mm_and_si128(Reg1, Mask2); + + //REG1 = ((REG1 << 2) | REG1) & glm::uint64(0x3333333333333333); + //REG2 = ((REG2 << 2) | REG2) & glm::uint64(0x3333333333333333); + Reg2 = _mm_slli_epi32(Reg1, 2); + Reg1 = _mm_or_si128(Reg2, Reg1); + Reg1 = _mm_and_si128(Reg1, Mask1); + + //REG1 = ((REG1 << 1) | REG1) & glm::uint64(0x5555555555555555); + //REG2 = ((REG2 << 1) | REG2) & glm::uint64(0x5555555555555555); + Reg2 = _mm_slli_epi32(Reg1, 1); + Reg1 = _mm_or_si128(Reg2, Reg1); + Reg1 = _mm_and_si128(Reg1, Mask0); + + //return REG1 | (REG2 << 1); + Reg2 = _mm_slli_epi32(Reg1, 1); + Reg2 = _mm_srli_si128(Reg2, 8); + Reg1 = _mm_or_si128(Reg1, Reg2); + + return Reg1; +} + +GLM_FUNC_QUALIFIER glm_uvec4 glm_i128_interleave2(glm_uvec4 x, glm_uvec4 y) +{ + glm_uvec4 const Mask4 = _mm_set1_epi32(0x0000FFFF); + glm_uvec4 const Mask3 = _mm_set1_epi32(0x00FF00FF); + glm_uvec4 const Mask2 = _mm_set1_epi32(0x0F0F0F0F); + glm_uvec4 const Mask1 = _mm_set1_epi32(0x33333333); + glm_uvec4 const Mask0 = _mm_set1_epi32(0x55555555); + + glm_uvec4 Reg1; + glm_uvec4 Reg2; + + // REG1 = x; + // REG2 = y; + Reg1 = _mm_unpacklo_epi64(x, y); + + //REG1 = ((REG1 << 16) | REG1) & glm::uint64(0x0000FFFF0000FFFF); + //REG2 = ((REG2 << 16) | REG2) & glm::uint64(0x0000FFFF0000FFFF); + Reg2 = _mm_slli_si128(Reg1, 2); + Reg1 = _mm_or_si128(Reg2, Reg1); + Reg1 = _mm_and_si128(Reg1, Mask4); + + //REG1 = ((REG1 << 8) | REG1) & glm::uint64(0x00FF00FF00FF00FF); + //REG2 = ((REG2 << 8) | REG2) & glm::uint64(0x00FF00FF00FF00FF); + Reg2 = _mm_slli_si128(Reg1, 1); + Reg1 = _mm_or_si128(Reg2, Reg1); + Reg1 = _mm_and_si128(Reg1, Mask3); + + //REG1 = ((REG1 << 4) | REG1) & glm::uint64(0x0F0F0F0F0F0F0F0F); + //REG2 = ((REG2 << 4) | REG2) & glm::uint64(0x0F0F0F0F0F0F0F0F); + Reg2 = _mm_slli_epi32(Reg1, 4); + Reg1 = _mm_or_si128(Reg2, Reg1); + Reg1 = _mm_and_si128(Reg1, Mask2); + + //REG1 = ((REG1 << 2) | REG1) & glm::uint64(0x3333333333333333); + //REG2 = ((REG2 << 2) | REG2) & glm::uint64(0x3333333333333333); + Reg2 = _mm_slli_epi32(Reg1, 2); + Reg1 = _mm_or_si128(Reg2, Reg1); + Reg1 = _mm_and_si128(Reg1, Mask1); + + //REG1 = ((REG1 << 1) | REG1) & glm::uint64(0x5555555555555555); + //REG2 = ((REG2 << 1) | REG2) & glm::uint64(0x5555555555555555); + Reg2 = _mm_slli_epi32(Reg1, 1); + Reg1 = _mm_or_si128(Reg2, Reg1); + Reg1 = _mm_and_si128(Reg1, Mask0); + + //return REG1 | (REG2 << 1); + Reg2 = _mm_slli_epi32(Reg1, 1); + Reg2 = _mm_srli_si128(Reg2, 8); + Reg1 = _mm_or_si128(Reg1, Reg2); + + return Reg1; +} + +#endif//GLM_ARCH & GLM_ARCH_SSE2_BIT diff --git a/MacroLibX/third_party/glm/simd/matrix.h b/MacroLibX/third_party/glm/simd/matrix.h new file mode 100644 index 0000000..b6c42ea --- /dev/null +++ b/MacroLibX/third_party/glm/simd/matrix.h @@ -0,0 +1,1028 @@ +/// @ref simd +/// @file glm/simd/matrix.h + +#pragma once + +#include "geometric.h" + +#if GLM_ARCH & GLM_ARCH_SSE2_BIT + +GLM_FUNC_QUALIFIER void glm_mat4_matrixCompMult(glm_vec4 const in1[4], glm_vec4 const in2[4], glm_vec4 out[4]) +{ + out[0] = _mm_mul_ps(in1[0], in2[0]); + out[1] = _mm_mul_ps(in1[1], in2[1]); + out[2] = _mm_mul_ps(in1[2], in2[2]); + out[3] = _mm_mul_ps(in1[3], in2[3]); +} + +GLM_FUNC_QUALIFIER void glm_mat4_add(glm_vec4 const in1[4], glm_vec4 const in2[4], glm_vec4 out[4]) +{ + out[0] = _mm_add_ps(in1[0], in2[0]); + out[1] = _mm_add_ps(in1[1], in2[1]); + out[2] = _mm_add_ps(in1[2], in2[2]); + out[3] = _mm_add_ps(in1[3], in2[3]); +} + +GLM_FUNC_QUALIFIER void glm_mat4_sub(glm_vec4 const in1[4], glm_vec4 const in2[4], glm_vec4 out[4]) +{ + out[0] = _mm_sub_ps(in1[0], in2[0]); + out[1] = _mm_sub_ps(in1[1], in2[1]); + out[2] = _mm_sub_ps(in1[2], in2[2]); + out[3] = _mm_sub_ps(in1[3], in2[3]); +} + +GLM_FUNC_QUALIFIER glm_vec4 glm_mat4_mul_vec4(glm_vec4 const m[4], glm_vec4 v) +{ + __m128 v0 = _mm_shuffle_ps(v, v, _MM_SHUFFLE(0, 0, 0, 0)); + __m128 v1 = _mm_shuffle_ps(v, v, _MM_SHUFFLE(1, 1, 1, 1)); + __m128 v2 = _mm_shuffle_ps(v, v, _MM_SHUFFLE(2, 2, 2, 2)); + __m128 v3 = _mm_shuffle_ps(v, v, _MM_SHUFFLE(3, 3, 3, 3)); + + __m128 m0 = _mm_mul_ps(m[0], v0); + __m128 m1 = _mm_mul_ps(m[1], v1); + __m128 m2 = _mm_mul_ps(m[2], v2); + __m128 m3 = _mm_mul_ps(m[3], v3); + + __m128 a0 = _mm_add_ps(m0, m1); + __m128 a1 = _mm_add_ps(m2, m3); + __m128 a2 = _mm_add_ps(a0, a1); + + return a2; +} + +GLM_FUNC_QUALIFIER __m128 glm_vec4_mul_mat4(glm_vec4 v, glm_vec4 const m[4]) +{ + __m128 i0 = m[0]; + __m128 i1 = m[1]; + __m128 i2 = m[2]; + __m128 i3 = m[3]; + + __m128 m0 = _mm_mul_ps(v, i0); + __m128 m1 = _mm_mul_ps(v, i1); + __m128 m2 = _mm_mul_ps(v, i2); + __m128 m3 = _mm_mul_ps(v, i3); + + __m128 u0 = _mm_unpacklo_ps(m0, m1); + __m128 u1 = _mm_unpackhi_ps(m0, m1); + __m128 a0 = _mm_add_ps(u0, u1); + + __m128 u2 = _mm_unpacklo_ps(m2, m3); + __m128 u3 = _mm_unpackhi_ps(m2, m3); + __m128 a1 = _mm_add_ps(u2, u3); + + __m128 f0 = _mm_movelh_ps(a0, a1); + __m128 f1 = _mm_movehl_ps(a1, a0); + __m128 f2 = _mm_add_ps(f0, f1); + + return f2; +} + +GLM_FUNC_QUALIFIER void glm_mat4_mul(glm_vec4 const in1[4], glm_vec4 const in2[4], glm_vec4 out[4]) +{ + { + __m128 e0 = _mm_shuffle_ps(in2[0], in2[0], _MM_SHUFFLE(0, 0, 0, 0)); + __m128 e1 = _mm_shuffle_ps(in2[0], in2[0], _MM_SHUFFLE(1, 1, 1, 1)); + __m128 e2 = _mm_shuffle_ps(in2[0], in2[0], _MM_SHUFFLE(2, 2, 2, 2)); + __m128 e3 = _mm_shuffle_ps(in2[0], in2[0], _MM_SHUFFLE(3, 3, 3, 3)); + + __m128 m0 = _mm_mul_ps(in1[0], e0); + __m128 m1 = _mm_mul_ps(in1[1], e1); + __m128 m2 = _mm_mul_ps(in1[2], e2); + __m128 m3 = _mm_mul_ps(in1[3], e3); + + __m128 a0 = _mm_add_ps(m0, m1); + __m128 a1 = _mm_add_ps(m2, m3); + __m128 a2 = _mm_add_ps(a0, a1); + + out[0] = a2; + } + + { + __m128 e0 = _mm_shuffle_ps(in2[1], in2[1], _MM_SHUFFLE(0, 0, 0, 0)); + __m128 e1 = _mm_shuffle_ps(in2[1], in2[1], _MM_SHUFFLE(1, 1, 1, 1)); + __m128 e2 = _mm_shuffle_ps(in2[1], in2[1], _MM_SHUFFLE(2, 2, 2, 2)); + __m128 e3 = _mm_shuffle_ps(in2[1], in2[1], _MM_SHUFFLE(3, 3, 3, 3)); + + __m128 m0 = _mm_mul_ps(in1[0], e0); + __m128 m1 = _mm_mul_ps(in1[1], e1); + __m128 m2 = _mm_mul_ps(in1[2], e2); + __m128 m3 = _mm_mul_ps(in1[3], e3); + + __m128 a0 = _mm_add_ps(m0, m1); + __m128 a1 = _mm_add_ps(m2, m3); + __m128 a2 = _mm_add_ps(a0, a1); + + out[1] = a2; + } + + { + __m128 e0 = _mm_shuffle_ps(in2[2], in2[2], _MM_SHUFFLE(0, 0, 0, 0)); + __m128 e1 = _mm_shuffle_ps(in2[2], in2[2], _MM_SHUFFLE(1, 1, 1, 1)); + __m128 e2 = _mm_shuffle_ps(in2[2], in2[2], _MM_SHUFFLE(2, 2, 2, 2)); + __m128 e3 = _mm_shuffle_ps(in2[2], in2[2], _MM_SHUFFLE(3, 3, 3, 3)); + + __m128 m0 = _mm_mul_ps(in1[0], e0); + __m128 m1 = _mm_mul_ps(in1[1], e1); + __m128 m2 = _mm_mul_ps(in1[2], e2); + __m128 m3 = _mm_mul_ps(in1[3], e3); + + __m128 a0 = _mm_add_ps(m0, m1); + __m128 a1 = _mm_add_ps(m2, m3); + __m128 a2 = _mm_add_ps(a0, a1); + + out[2] = a2; + } + + { + //(__m128&)_mm_shuffle_epi32(__m128i&)in2[0], _MM_SHUFFLE(3, 3, 3, 3)) + __m128 e0 = _mm_shuffle_ps(in2[3], in2[3], _MM_SHUFFLE(0, 0, 0, 0)); + __m128 e1 = _mm_shuffle_ps(in2[3], in2[3], _MM_SHUFFLE(1, 1, 1, 1)); + __m128 e2 = _mm_shuffle_ps(in2[3], in2[3], _MM_SHUFFLE(2, 2, 2, 2)); + __m128 e3 = _mm_shuffle_ps(in2[3], in2[3], _MM_SHUFFLE(3, 3, 3, 3)); + + __m128 m0 = _mm_mul_ps(in1[0], e0); + __m128 m1 = _mm_mul_ps(in1[1], e1); + __m128 m2 = _mm_mul_ps(in1[2], e2); + __m128 m3 = _mm_mul_ps(in1[3], e3); + + __m128 a0 = _mm_add_ps(m0, m1); + __m128 a1 = _mm_add_ps(m2, m3); + __m128 a2 = _mm_add_ps(a0, a1); + + out[3] = a2; + } +} + +GLM_FUNC_QUALIFIER void glm_mat4_transpose(glm_vec4 const in[4], glm_vec4 out[4]) +{ + __m128 tmp0 = _mm_shuffle_ps(in[0], in[1], 0x44); + __m128 tmp2 = _mm_shuffle_ps(in[0], in[1], 0xEE); + __m128 tmp1 = _mm_shuffle_ps(in[2], in[3], 0x44); + __m128 tmp3 = _mm_shuffle_ps(in[2], in[3], 0xEE); + + out[0] = _mm_shuffle_ps(tmp0, tmp1, 0x88); + out[1] = _mm_shuffle_ps(tmp0, tmp1, 0xDD); + out[2] = _mm_shuffle_ps(tmp2, tmp3, 0x88); + out[3] = _mm_shuffle_ps(tmp2, tmp3, 0xDD); +} + +GLM_FUNC_QUALIFIER glm_vec4 glm_mat4_determinant_highp(glm_vec4 const in[4]) +{ + __m128 Fac0; + { + // valType SubFactor00 = m[2][2] * m[3][3] - m[3][2] * m[2][3]; + // valType SubFactor00 = m[2][2] * m[3][3] - m[3][2] * m[2][3]; + // valType SubFactor06 = m[1][2] * m[3][3] - m[3][2] * m[1][3]; + // valType SubFactor13 = m[1][2] * m[2][3] - m[2][2] * m[1][3]; + + __m128 Swp0a = _mm_shuffle_ps(in[3], in[2], _MM_SHUFFLE(3, 3, 3, 3)); + __m128 Swp0b = _mm_shuffle_ps(in[3], in[2], _MM_SHUFFLE(2, 2, 2, 2)); + + __m128 Swp00 = _mm_shuffle_ps(in[2], in[1], _MM_SHUFFLE(2, 2, 2, 2)); + __m128 Swp01 = _mm_shuffle_ps(Swp0a, Swp0a, _MM_SHUFFLE(2, 0, 0, 0)); + __m128 Swp02 = _mm_shuffle_ps(Swp0b, Swp0b, _MM_SHUFFLE(2, 0, 0, 0)); + __m128 Swp03 = _mm_shuffle_ps(in[2], in[1], _MM_SHUFFLE(3, 3, 3, 3)); + + __m128 Mul00 = _mm_mul_ps(Swp00, Swp01); + __m128 Mul01 = _mm_mul_ps(Swp02, Swp03); + Fac0 = _mm_sub_ps(Mul00, Mul01); + } + + __m128 Fac1; + { + // valType SubFactor01 = m[2][1] * m[3][3] - m[3][1] * m[2][3]; + // valType SubFactor01 = m[2][1] * m[3][3] - m[3][1] * m[2][3]; + // valType SubFactor07 = m[1][1] * m[3][3] - m[3][1] * m[1][3]; + // valType SubFactor14 = m[1][1] * m[2][3] - m[2][1] * m[1][3]; + + __m128 Swp0a = _mm_shuffle_ps(in[3], in[2], _MM_SHUFFLE(3, 3, 3, 3)); + __m128 Swp0b = _mm_shuffle_ps(in[3], in[2], _MM_SHUFFLE(1, 1, 1, 1)); + + __m128 Swp00 = _mm_shuffle_ps(in[2], in[1], _MM_SHUFFLE(1, 1, 1, 1)); + __m128 Swp01 = _mm_shuffle_ps(Swp0a, Swp0a, _MM_SHUFFLE(2, 0, 0, 0)); + __m128 Swp02 = _mm_shuffle_ps(Swp0b, Swp0b, _MM_SHUFFLE(2, 0, 0, 0)); + __m128 Swp03 = _mm_shuffle_ps(in[2], in[1], _MM_SHUFFLE(3, 3, 3, 3)); + + __m128 Mul00 = _mm_mul_ps(Swp00, Swp01); + __m128 Mul01 = _mm_mul_ps(Swp02, Swp03); + Fac1 = _mm_sub_ps(Mul00, Mul01); + } + + + __m128 Fac2; + { + // valType SubFactor02 = m[2][1] * m[3][2] - m[3][1] * m[2][2]; + // valType SubFactor02 = m[2][1] * m[3][2] - m[3][1] * m[2][2]; + // valType SubFactor08 = m[1][1] * m[3][2] - m[3][1] * m[1][2]; + // valType SubFactor15 = m[1][1] * m[2][2] - m[2][1] * m[1][2]; + + __m128 Swp0a = _mm_shuffle_ps(in[3], in[2], _MM_SHUFFLE(2, 2, 2, 2)); + __m128 Swp0b = _mm_shuffle_ps(in[3], in[2], _MM_SHUFFLE(1, 1, 1, 1)); + + __m128 Swp00 = _mm_shuffle_ps(in[2], in[1], _MM_SHUFFLE(1, 1, 1, 1)); + __m128 Swp01 = _mm_shuffle_ps(Swp0a, Swp0a, _MM_SHUFFLE(2, 0, 0, 0)); + __m128 Swp02 = _mm_shuffle_ps(Swp0b, Swp0b, _MM_SHUFFLE(2, 0, 0, 0)); + __m128 Swp03 = _mm_shuffle_ps(in[2], in[1], _MM_SHUFFLE(2, 2, 2, 2)); + + __m128 Mul00 = _mm_mul_ps(Swp00, Swp01); + __m128 Mul01 = _mm_mul_ps(Swp02, Swp03); + Fac2 = _mm_sub_ps(Mul00, Mul01); + } + + __m128 Fac3; + { + // valType SubFactor03 = m[2][0] * m[3][3] - m[3][0] * m[2][3]; + // valType SubFactor03 = m[2][0] * m[3][3] - m[3][0] * m[2][3]; + // valType SubFactor09 = m[1][0] * m[3][3] - m[3][0] * m[1][3]; + // valType SubFactor16 = m[1][0] * m[2][3] - m[2][0] * m[1][3]; + + __m128 Swp0a = _mm_shuffle_ps(in[3], in[2], _MM_SHUFFLE(3, 3, 3, 3)); + __m128 Swp0b = _mm_shuffle_ps(in[3], in[2], _MM_SHUFFLE(0, 0, 0, 0)); + + __m128 Swp00 = _mm_shuffle_ps(in[2], in[1], _MM_SHUFFLE(0, 0, 0, 0)); + __m128 Swp01 = _mm_shuffle_ps(Swp0a, Swp0a, _MM_SHUFFLE(2, 0, 0, 0)); + __m128 Swp02 = _mm_shuffle_ps(Swp0b, Swp0b, _MM_SHUFFLE(2, 0, 0, 0)); + __m128 Swp03 = _mm_shuffle_ps(in[2], in[1], _MM_SHUFFLE(3, 3, 3, 3)); + + __m128 Mul00 = _mm_mul_ps(Swp00, Swp01); + __m128 Mul01 = _mm_mul_ps(Swp02, Swp03); + Fac3 = _mm_sub_ps(Mul00, Mul01); + } + + __m128 Fac4; + { + // valType SubFactor04 = m[2][0] * m[3][2] - m[3][0] * m[2][2]; + // valType SubFactor04 = m[2][0] * m[3][2] - m[3][0] * m[2][2]; + // valType SubFactor10 = m[1][0] * m[3][2] - m[3][0] * m[1][2]; + // valType SubFactor17 = m[1][0] * m[2][2] - m[2][0] * m[1][2]; + + __m128 Swp0a = _mm_shuffle_ps(in[3], in[2], _MM_SHUFFLE(2, 2, 2, 2)); + __m128 Swp0b = _mm_shuffle_ps(in[3], in[2], _MM_SHUFFLE(0, 0, 0, 0)); + + __m128 Swp00 = _mm_shuffle_ps(in[2], in[1], _MM_SHUFFLE(0, 0, 0, 0)); + __m128 Swp01 = _mm_shuffle_ps(Swp0a, Swp0a, _MM_SHUFFLE(2, 0, 0, 0)); + __m128 Swp02 = _mm_shuffle_ps(Swp0b, Swp0b, _MM_SHUFFLE(2, 0, 0, 0)); + __m128 Swp03 = _mm_shuffle_ps(in[2], in[1], _MM_SHUFFLE(2, 2, 2, 2)); + + __m128 Mul00 = _mm_mul_ps(Swp00, Swp01); + __m128 Mul01 = _mm_mul_ps(Swp02, Swp03); + Fac4 = _mm_sub_ps(Mul00, Mul01); + } + + __m128 Fac5; + { + // valType SubFactor05 = m[2][0] * m[3][1] - m[3][0] * m[2][1]; + // valType SubFactor05 = m[2][0] * m[3][1] - m[3][0] * m[2][1]; + // valType SubFactor12 = m[1][0] * m[3][1] - m[3][0] * m[1][1]; + // valType SubFactor18 = m[1][0] * m[2][1] - m[2][0] * m[1][1]; + + __m128 Swp0a = _mm_shuffle_ps(in[3], in[2], _MM_SHUFFLE(1, 1, 1, 1)); + __m128 Swp0b = _mm_shuffle_ps(in[3], in[2], _MM_SHUFFLE(0, 0, 0, 0)); + + __m128 Swp00 = _mm_shuffle_ps(in[2], in[1], _MM_SHUFFLE(0, 0, 0, 0)); + __m128 Swp01 = _mm_shuffle_ps(Swp0a, Swp0a, _MM_SHUFFLE(2, 0, 0, 0)); + __m128 Swp02 = _mm_shuffle_ps(Swp0b, Swp0b, _MM_SHUFFLE(2, 0, 0, 0)); + __m128 Swp03 = _mm_shuffle_ps(in[2], in[1], _MM_SHUFFLE(1, 1, 1, 1)); + + __m128 Mul00 = _mm_mul_ps(Swp00, Swp01); + __m128 Mul01 = _mm_mul_ps(Swp02, Swp03); + Fac5 = _mm_sub_ps(Mul00, Mul01); + } + + __m128 SignA = _mm_set_ps( 1.0f,-1.0f, 1.0f,-1.0f); + __m128 SignB = _mm_set_ps(-1.0f, 1.0f,-1.0f, 1.0f); + + // m[1][0] + // m[0][0] + // m[0][0] + // m[0][0] + __m128 Temp0 = _mm_shuffle_ps(in[1], in[0], _MM_SHUFFLE(0, 0, 0, 0)); + __m128 Vec0 = _mm_shuffle_ps(Temp0, Temp0, _MM_SHUFFLE(2, 2, 2, 0)); + + // m[1][1] + // m[0][1] + // m[0][1] + // m[0][1] + __m128 Temp1 = _mm_shuffle_ps(in[1], in[0], _MM_SHUFFLE(1, 1, 1, 1)); + __m128 Vec1 = _mm_shuffle_ps(Temp1, Temp1, _MM_SHUFFLE(2, 2, 2, 0)); + + // m[1][2] + // m[0][2] + // m[0][2] + // m[0][2] + __m128 Temp2 = _mm_shuffle_ps(in[1], in[0], _MM_SHUFFLE(2, 2, 2, 2)); + __m128 Vec2 = _mm_shuffle_ps(Temp2, Temp2, _MM_SHUFFLE(2, 2, 2, 0)); + + // m[1][3] + // m[0][3] + // m[0][3] + // m[0][3] + __m128 Temp3 = _mm_shuffle_ps(in[1], in[0], _MM_SHUFFLE(3, 3, 3, 3)); + __m128 Vec3 = _mm_shuffle_ps(Temp3, Temp3, _MM_SHUFFLE(2, 2, 2, 0)); + + // col0 + // + (Vec1[0] * Fac0[0] - Vec2[0] * Fac1[0] + Vec3[0] * Fac2[0]), + // - (Vec1[1] * Fac0[1] - Vec2[1] * Fac1[1] + Vec3[1] * Fac2[1]), + // + (Vec1[2] * Fac0[2] - Vec2[2] * Fac1[2] + Vec3[2] * Fac2[2]), + // - (Vec1[3] * Fac0[3] - Vec2[3] * Fac1[3] + Vec3[3] * Fac2[3]), + __m128 Mul00 = _mm_mul_ps(Vec1, Fac0); + __m128 Mul01 = _mm_mul_ps(Vec2, Fac1); + __m128 Mul02 = _mm_mul_ps(Vec3, Fac2); + __m128 Sub00 = _mm_sub_ps(Mul00, Mul01); + __m128 Add00 = _mm_add_ps(Sub00, Mul02); + __m128 Inv0 = _mm_mul_ps(SignB, Add00); + + // col1 + // - (Vec0[0] * Fac0[0] - Vec2[0] * Fac3[0] + Vec3[0] * Fac4[0]), + // + (Vec0[0] * Fac0[1] - Vec2[1] * Fac3[1] + Vec3[1] * Fac4[1]), + // - (Vec0[0] * Fac0[2] - Vec2[2] * Fac3[2] + Vec3[2] * Fac4[2]), + // + (Vec0[0] * Fac0[3] - Vec2[3] * Fac3[3] + Vec3[3] * Fac4[3]), + __m128 Mul03 = _mm_mul_ps(Vec0, Fac0); + __m128 Mul04 = _mm_mul_ps(Vec2, Fac3); + __m128 Mul05 = _mm_mul_ps(Vec3, Fac4); + __m128 Sub01 = _mm_sub_ps(Mul03, Mul04); + __m128 Add01 = _mm_add_ps(Sub01, Mul05); + __m128 Inv1 = _mm_mul_ps(SignA, Add01); + + // col2 + // + (Vec0[0] * Fac1[0] - Vec1[0] * Fac3[0] + Vec3[0] * Fac5[0]), + // - (Vec0[0] * Fac1[1] - Vec1[1] * Fac3[1] + Vec3[1] * Fac5[1]), + // + (Vec0[0] * Fac1[2] - Vec1[2] * Fac3[2] + Vec3[2] * Fac5[2]), + // - (Vec0[0] * Fac1[3] - Vec1[3] * Fac3[3] + Vec3[3] * Fac5[3]), + __m128 Mul06 = _mm_mul_ps(Vec0, Fac1); + __m128 Mul07 = _mm_mul_ps(Vec1, Fac3); + __m128 Mul08 = _mm_mul_ps(Vec3, Fac5); + __m128 Sub02 = _mm_sub_ps(Mul06, Mul07); + __m128 Add02 = _mm_add_ps(Sub02, Mul08); + __m128 Inv2 = _mm_mul_ps(SignB, Add02); + + // col3 + // - (Vec1[0] * Fac2[0] - Vec1[0] * Fac4[0] + Vec2[0] * Fac5[0]), + // + (Vec1[0] * Fac2[1] - Vec1[1] * Fac4[1] + Vec2[1] * Fac5[1]), + // - (Vec1[0] * Fac2[2] - Vec1[2] * Fac4[2] + Vec2[2] * Fac5[2]), + // + (Vec1[0] * Fac2[3] - Vec1[3] * Fac4[3] + Vec2[3] * Fac5[3])); + __m128 Mul09 = _mm_mul_ps(Vec0, Fac2); + __m128 Mul10 = _mm_mul_ps(Vec1, Fac4); + __m128 Mul11 = _mm_mul_ps(Vec2, Fac5); + __m128 Sub03 = _mm_sub_ps(Mul09, Mul10); + __m128 Add03 = _mm_add_ps(Sub03, Mul11); + __m128 Inv3 = _mm_mul_ps(SignA, Add03); + + __m128 Row0 = _mm_shuffle_ps(Inv0, Inv1, _MM_SHUFFLE(0, 0, 0, 0)); + __m128 Row1 = _mm_shuffle_ps(Inv2, Inv3, _MM_SHUFFLE(0, 0, 0, 0)); + __m128 Row2 = _mm_shuffle_ps(Row0, Row1, _MM_SHUFFLE(2, 0, 2, 0)); + + // valType Determinant = m[0][0] * Inverse[0][0] + // + m[0][1] * Inverse[1][0] + // + m[0][2] * Inverse[2][0] + // + m[0][3] * Inverse[3][0]; + __m128 Det0 = glm_vec4_dot(in[0], Row2); + return Det0; +} + +GLM_FUNC_QUALIFIER glm_vec4 glm_mat4_determinant_lowp(glm_vec4 const m[4]) +{ + // _mm_castsi128_ps(_mm_shuffle_epi32(_mm_castps_si128( + + //T SubFactor00 = m[2][2] * m[3][3] - m[3][2] * m[2][3]; + //T SubFactor01 = m[2][1] * m[3][3] - m[3][1] * m[2][3]; + //T SubFactor02 = m[2][1] * m[3][2] - m[3][1] * m[2][2]; + //T SubFactor03 = m[2][0] * m[3][3] - m[3][0] * m[2][3]; + //T SubFactor04 = m[2][0] * m[3][2] - m[3][0] * m[2][2]; + //T SubFactor05 = m[2][0] * m[3][1] - m[3][0] * m[2][1]; + + // First 2 columns + __m128 Swp2A = _mm_castsi128_ps(_mm_shuffle_epi32(_mm_castps_si128(m[2]), _MM_SHUFFLE(0, 1, 1, 2))); + __m128 Swp3A = _mm_castsi128_ps(_mm_shuffle_epi32(_mm_castps_si128(m[3]), _MM_SHUFFLE(3, 2, 3, 3))); + __m128 MulA = _mm_mul_ps(Swp2A, Swp3A); + + // Second 2 columns + __m128 Swp2B = _mm_castsi128_ps(_mm_shuffle_epi32(_mm_castps_si128(m[2]), _MM_SHUFFLE(3, 2, 3, 3))); + __m128 Swp3B = _mm_castsi128_ps(_mm_shuffle_epi32(_mm_castps_si128(m[3]), _MM_SHUFFLE(0, 1, 1, 2))); + __m128 MulB = _mm_mul_ps(Swp2B, Swp3B); + + // Columns subtraction + __m128 SubE = _mm_sub_ps(MulA, MulB); + + // Last 2 rows + __m128 Swp2C = _mm_castsi128_ps(_mm_shuffle_epi32(_mm_castps_si128(m[2]), _MM_SHUFFLE(0, 0, 1, 2))); + __m128 Swp3C = _mm_castsi128_ps(_mm_shuffle_epi32(_mm_castps_si128(m[3]), _MM_SHUFFLE(1, 2, 0, 0))); + __m128 MulC = _mm_mul_ps(Swp2C, Swp3C); + __m128 SubF = _mm_sub_ps(_mm_movehl_ps(MulC, MulC), MulC); + + //vec<4, T, Q> DetCof( + // + (m[1][1] * SubFactor00 - m[1][2] * SubFactor01 + m[1][3] * SubFactor02), + // - (m[1][0] * SubFactor00 - m[1][2] * SubFactor03 + m[1][3] * SubFactor04), + // + (m[1][0] * SubFactor01 - m[1][1] * SubFactor03 + m[1][3] * SubFactor05), + // - (m[1][0] * SubFactor02 - m[1][1] * SubFactor04 + m[1][2] * SubFactor05)); + + __m128 SubFacA = _mm_castsi128_ps(_mm_shuffle_epi32(_mm_castps_si128(SubE), _MM_SHUFFLE(2, 1, 0, 0))); + __m128 SwpFacA = _mm_castsi128_ps(_mm_shuffle_epi32(_mm_castps_si128(m[1]), _MM_SHUFFLE(0, 0, 0, 1))); + __m128 MulFacA = _mm_mul_ps(SwpFacA, SubFacA); + + __m128 SubTmpB = _mm_shuffle_ps(SubE, SubF, _MM_SHUFFLE(0, 0, 3, 1)); + __m128 SubFacB = _mm_castsi128_ps(_mm_shuffle_epi32(_mm_castps_si128(SubTmpB), _MM_SHUFFLE(3, 1, 1, 0)));//SubF[0], SubE[3], SubE[3], SubE[1]; + __m128 SwpFacB = _mm_castsi128_ps(_mm_shuffle_epi32(_mm_castps_si128(m[1]), _MM_SHUFFLE(1, 1, 2, 2))); + __m128 MulFacB = _mm_mul_ps(SwpFacB, SubFacB); + + __m128 SubRes = _mm_sub_ps(MulFacA, MulFacB); + + __m128 SubTmpC = _mm_shuffle_ps(SubE, SubF, _MM_SHUFFLE(1, 0, 2, 2)); + __m128 SubFacC = _mm_castsi128_ps(_mm_shuffle_epi32(_mm_castps_si128(SubTmpC), _MM_SHUFFLE(3, 3, 2, 0))); + __m128 SwpFacC = _mm_castsi128_ps(_mm_shuffle_epi32(_mm_castps_si128(m[1]), _MM_SHUFFLE(2, 3, 3, 3))); + __m128 MulFacC = _mm_mul_ps(SwpFacC, SubFacC); + + __m128 AddRes = _mm_add_ps(SubRes, MulFacC); + __m128 DetCof = _mm_mul_ps(AddRes, _mm_setr_ps( 1.0f,-1.0f, 1.0f,-1.0f)); + + //return m[0][0] * DetCof[0] + // + m[0][1] * DetCof[1] + // + m[0][2] * DetCof[2] + // + m[0][3] * DetCof[3]; + + return glm_vec4_dot(m[0], DetCof); +} + +GLM_FUNC_QUALIFIER glm_vec4 glm_mat4_determinant(glm_vec4 const m[4]) +{ + // _mm_castsi128_ps(_mm_shuffle_epi32(_mm_castps_si128(add) + + //T SubFactor00 = m[2][2] * m[3][3] - m[3][2] * m[2][3]; + //T SubFactor01 = m[2][1] * m[3][3] - m[3][1] * m[2][3]; + //T SubFactor02 = m[2][1] * m[3][2] - m[3][1] * m[2][2]; + //T SubFactor03 = m[2][0] * m[3][3] - m[3][0] * m[2][3]; + //T SubFactor04 = m[2][0] * m[3][2] - m[3][0] * m[2][2]; + //T SubFactor05 = m[2][0] * m[3][1] - m[3][0] * m[2][1]; + + // First 2 columns + __m128 Swp2A = _mm_shuffle_ps(m[2], m[2], _MM_SHUFFLE(0, 1, 1, 2)); + __m128 Swp3A = _mm_shuffle_ps(m[3], m[3], _MM_SHUFFLE(3, 2, 3, 3)); + __m128 MulA = _mm_mul_ps(Swp2A, Swp3A); + + // Second 2 columns + __m128 Swp2B = _mm_shuffle_ps(m[2], m[2], _MM_SHUFFLE(3, 2, 3, 3)); + __m128 Swp3B = _mm_shuffle_ps(m[3], m[3], _MM_SHUFFLE(0, 1, 1, 2)); + __m128 MulB = _mm_mul_ps(Swp2B, Swp3B); + + // Columns subtraction + __m128 SubE = _mm_sub_ps(MulA, MulB); + + // Last 2 rows + __m128 Swp2C = _mm_shuffle_ps(m[2], m[2], _MM_SHUFFLE(0, 0, 1, 2)); + __m128 Swp3C = _mm_shuffle_ps(m[3], m[3], _MM_SHUFFLE(1, 2, 0, 0)); + __m128 MulC = _mm_mul_ps(Swp2C, Swp3C); + __m128 SubF = _mm_sub_ps(_mm_movehl_ps(MulC, MulC), MulC); + + //vec<4, T, Q> DetCof( + // + (m[1][1] * SubFactor00 - m[1][2] * SubFactor01 + m[1][3] * SubFactor02), + // - (m[1][0] * SubFactor00 - m[1][2] * SubFactor03 + m[1][3] * SubFactor04), + // + (m[1][0] * SubFactor01 - m[1][1] * SubFactor03 + m[1][3] * SubFactor05), + // - (m[1][0] * SubFactor02 - m[1][1] * SubFactor04 + m[1][2] * SubFactor05)); + + __m128 SubFacA = _mm_shuffle_ps(SubE, SubE, _MM_SHUFFLE(2, 1, 0, 0)); + __m128 SwpFacA = _mm_shuffle_ps(m[1], m[1], _MM_SHUFFLE(0, 0, 0, 1)); + __m128 MulFacA = _mm_mul_ps(SwpFacA, SubFacA); + + __m128 SubTmpB = _mm_shuffle_ps(SubE, SubF, _MM_SHUFFLE(0, 0, 3, 1)); + __m128 SubFacB = _mm_shuffle_ps(SubTmpB, SubTmpB, _MM_SHUFFLE(3, 1, 1, 0));//SubF[0], SubE[3], SubE[3], SubE[1]; + __m128 SwpFacB = _mm_shuffle_ps(m[1], m[1], _MM_SHUFFLE(1, 1, 2, 2)); + __m128 MulFacB = _mm_mul_ps(SwpFacB, SubFacB); + + __m128 SubRes = _mm_sub_ps(MulFacA, MulFacB); + + __m128 SubTmpC = _mm_shuffle_ps(SubE, SubF, _MM_SHUFFLE(1, 0, 2, 2)); + __m128 SubFacC = _mm_shuffle_ps(SubTmpC, SubTmpC, _MM_SHUFFLE(3, 3, 2, 0)); + __m128 SwpFacC = _mm_shuffle_ps(m[1], m[1], _MM_SHUFFLE(2, 3, 3, 3)); + __m128 MulFacC = _mm_mul_ps(SwpFacC, SubFacC); + + __m128 AddRes = _mm_add_ps(SubRes, MulFacC); + __m128 DetCof = _mm_mul_ps(AddRes, _mm_setr_ps( 1.0f,-1.0f, 1.0f,-1.0f)); + + //return m[0][0] * DetCof[0] + // + m[0][1] * DetCof[1] + // + m[0][2] * DetCof[2] + // + m[0][3] * DetCof[3]; + + return glm_vec4_dot(m[0], DetCof); +} + +GLM_FUNC_QUALIFIER void glm_mat4_inverse(glm_vec4 const in[4], glm_vec4 out[4]) +{ + __m128 Fac0; + { + // valType SubFactor00 = m[2][2] * m[3][3] - m[3][2] * m[2][3]; + // valType SubFactor00 = m[2][2] * m[3][3] - m[3][2] * m[2][3]; + // valType SubFactor06 = m[1][2] * m[3][3] - m[3][2] * m[1][3]; + // valType SubFactor13 = m[1][2] * m[2][3] - m[2][2] * m[1][3]; + + __m128 Swp0a = _mm_shuffle_ps(in[3], in[2], _MM_SHUFFLE(3, 3, 3, 3)); + __m128 Swp0b = _mm_shuffle_ps(in[3], in[2], _MM_SHUFFLE(2, 2, 2, 2)); + + __m128 Swp00 = _mm_shuffle_ps(in[2], in[1], _MM_SHUFFLE(2, 2, 2, 2)); + __m128 Swp01 = _mm_shuffle_ps(Swp0a, Swp0a, _MM_SHUFFLE(2, 0, 0, 0)); + __m128 Swp02 = _mm_shuffle_ps(Swp0b, Swp0b, _MM_SHUFFLE(2, 0, 0, 0)); + __m128 Swp03 = _mm_shuffle_ps(in[2], in[1], _MM_SHUFFLE(3, 3, 3, 3)); + + __m128 Mul00 = _mm_mul_ps(Swp00, Swp01); + __m128 Mul01 = _mm_mul_ps(Swp02, Swp03); + Fac0 = _mm_sub_ps(Mul00, Mul01); + } + + __m128 Fac1; + { + // valType SubFactor01 = m[2][1] * m[3][3] - m[3][1] * m[2][3]; + // valType SubFactor01 = m[2][1] * m[3][3] - m[3][1] * m[2][3]; + // valType SubFactor07 = m[1][1] * m[3][3] - m[3][1] * m[1][3]; + // valType SubFactor14 = m[1][1] * m[2][3] - m[2][1] * m[1][3]; + + __m128 Swp0a = _mm_shuffle_ps(in[3], in[2], _MM_SHUFFLE(3, 3, 3, 3)); + __m128 Swp0b = _mm_shuffle_ps(in[3], in[2], _MM_SHUFFLE(1, 1, 1, 1)); + + __m128 Swp00 = _mm_shuffle_ps(in[2], in[1], _MM_SHUFFLE(1, 1, 1, 1)); + __m128 Swp01 = _mm_shuffle_ps(Swp0a, Swp0a, _MM_SHUFFLE(2, 0, 0, 0)); + __m128 Swp02 = _mm_shuffle_ps(Swp0b, Swp0b, _MM_SHUFFLE(2, 0, 0, 0)); + __m128 Swp03 = _mm_shuffle_ps(in[2], in[1], _MM_SHUFFLE(3, 3, 3, 3)); + + __m128 Mul00 = _mm_mul_ps(Swp00, Swp01); + __m128 Mul01 = _mm_mul_ps(Swp02, Swp03); + Fac1 = _mm_sub_ps(Mul00, Mul01); + } + + + __m128 Fac2; + { + // valType SubFactor02 = m[2][1] * m[3][2] - m[3][1] * m[2][2]; + // valType SubFactor02 = m[2][1] * m[3][2] - m[3][1] * m[2][2]; + // valType SubFactor08 = m[1][1] * m[3][2] - m[3][1] * m[1][2]; + // valType SubFactor15 = m[1][1] * m[2][2] - m[2][1] * m[1][2]; + + __m128 Swp0a = _mm_shuffle_ps(in[3], in[2], _MM_SHUFFLE(2, 2, 2, 2)); + __m128 Swp0b = _mm_shuffle_ps(in[3], in[2], _MM_SHUFFLE(1, 1, 1, 1)); + + __m128 Swp00 = _mm_shuffle_ps(in[2], in[1], _MM_SHUFFLE(1, 1, 1, 1)); + __m128 Swp01 = _mm_shuffle_ps(Swp0a, Swp0a, _MM_SHUFFLE(2, 0, 0, 0)); + __m128 Swp02 = _mm_shuffle_ps(Swp0b, Swp0b, _MM_SHUFFLE(2, 0, 0, 0)); + __m128 Swp03 = _mm_shuffle_ps(in[2], in[1], _MM_SHUFFLE(2, 2, 2, 2)); + + __m128 Mul00 = _mm_mul_ps(Swp00, Swp01); + __m128 Mul01 = _mm_mul_ps(Swp02, Swp03); + Fac2 = _mm_sub_ps(Mul00, Mul01); + } + + __m128 Fac3; + { + // valType SubFactor03 = m[2][0] * m[3][3] - m[3][0] * m[2][3]; + // valType SubFactor03 = m[2][0] * m[3][3] - m[3][0] * m[2][3]; + // valType SubFactor09 = m[1][0] * m[3][3] - m[3][0] * m[1][3]; + // valType SubFactor16 = m[1][0] * m[2][3] - m[2][0] * m[1][3]; + + __m128 Swp0a = _mm_shuffle_ps(in[3], in[2], _MM_SHUFFLE(3, 3, 3, 3)); + __m128 Swp0b = _mm_shuffle_ps(in[3], in[2], _MM_SHUFFLE(0, 0, 0, 0)); + + __m128 Swp00 = _mm_shuffle_ps(in[2], in[1], _MM_SHUFFLE(0, 0, 0, 0)); + __m128 Swp01 = _mm_shuffle_ps(Swp0a, Swp0a, _MM_SHUFFLE(2, 0, 0, 0)); + __m128 Swp02 = _mm_shuffle_ps(Swp0b, Swp0b, _MM_SHUFFLE(2, 0, 0, 0)); + __m128 Swp03 = _mm_shuffle_ps(in[2], in[1], _MM_SHUFFLE(3, 3, 3, 3)); + + __m128 Mul00 = _mm_mul_ps(Swp00, Swp01); + __m128 Mul01 = _mm_mul_ps(Swp02, Swp03); + Fac3 = _mm_sub_ps(Mul00, Mul01); + } + + __m128 Fac4; + { + // valType SubFactor04 = m[2][0] * m[3][2] - m[3][0] * m[2][2]; + // valType SubFactor04 = m[2][0] * m[3][2] - m[3][0] * m[2][2]; + // valType SubFactor10 = m[1][0] * m[3][2] - m[3][0] * m[1][2]; + // valType SubFactor17 = m[1][0] * m[2][2] - m[2][0] * m[1][2]; + + __m128 Swp0a = _mm_shuffle_ps(in[3], in[2], _MM_SHUFFLE(2, 2, 2, 2)); + __m128 Swp0b = _mm_shuffle_ps(in[3], in[2], _MM_SHUFFLE(0, 0, 0, 0)); + + __m128 Swp00 = _mm_shuffle_ps(in[2], in[1], _MM_SHUFFLE(0, 0, 0, 0)); + __m128 Swp01 = _mm_shuffle_ps(Swp0a, Swp0a, _MM_SHUFFLE(2, 0, 0, 0)); + __m128 Swp02 = _mm_shuffle_ps(Swp0b, Swp0b, _MM_SHUFFLE(2, 0, 0, 0)); + __m128 Swp03 = _mm_shuffle_ps(in[2], in[1], _MM_SHUFFLE(2, 2, 2, 2)); + + __m128 Mul00 = _mm_mul_ps(Swp00, Swp01); + __m128 Mul01 = _mm_mul_ps(Swp02, Swp03); + Fac4 = _mm_sub_ps(Mul00, Mul01); + } + + __m128 Fac5; + { + // valType SubFactor05 = m[2][0] * m[3][1] - m[3][0] * m[2][1]; + // valType SubFactor05 = m[2][0] * m[3][1] - m[3][0] * m[2][1]; + // valType SubFactor12 = m[1][0] * m[3][1] - m[3][0] * m[1][1]; + // valType SubFactor18 = m[1][0] * m[2][1] - m[2][0] * m[1][1]; + + __m128 Swp0a = _mm_shuffle_ps(in[3], in[2], _MM_SHUFFLE(1, 1, 1, 1)); + __m128 Swp0b = _mm_shuffle_ps(in[3], in[2], _MM_SHUFFLE(0, 0, 0, 0)); + + __m128 Swp00 = _mm_shuffle_ps(in[2], in[1], _MM_SHUFFLE(0, 0, 0, 0)); + __m128 Swp01 = _mm_shuffle_ps(Swp0a, Swp0a, _MM_SHUFFLE(2, 0, 0, 0)); + __m128 Swp02 = _mm_shuffle_ps(Swp0b, Swp0b, _MM_SHUFFLE(2, 0, 0, 0)); + __m128 Swp03 = _mm_shuffle_ps(in[2], in[1], _MM_SHUFFLE(1, 1, 1, 1)); + + __m128 Mul00 = _mm_mul_ps(Swp00, Swp01); + __m128 Mul01 = _mm_mul_ps(Swp02, Swp03); + Fac5 = _mm_sub_ps(Mul00, Mul01); + } + + __m128 SignA = _mm_set_ps( 1.0f,-1.0f, 1.0f,-1.0f); + __m128 SignB = _mm_set_ps(-1.0f, 1.0f,-1.0f, 1.0f); + + // m[1][0] + // m[0][0] + // m[0][0] + // m[0][0] + __m128 Temp0 = _mm_shuffle_ps(in[1], in[0], _MM_SHUFFLE(0, 0, 0, 0)); + __m128 Vec0 = _mm_shuffle_ps(Temp0, Temp0, _MM_SHUFFLE(2, 2, 2, 0)); + + // m[1][1] + // m[0][1] + // m[0][1] + // m[0][1] + __m128 Temp1 = _mm_shuffle_ps(in[1], in[0], _MM_SHUFFLE(1, 1, 1, 1)); + __m128 Vec1 = _mm_shuffle_ps(Temp1, Temp1, _MM_SHUFFLE(2, 2, 2, 0)); + + // m[1][2] + // m[0][2] + // m[0][2] + // m[0][2] + __m128 Temp2 = _mm_shuffle_ps(in[1], in[0], _MM_SHUFFLE(2, 2, 2, 2)); + __m128 Vec2 = _mm_shuffle_ps(Temp2, Temp2, _MM_SHUFFLE(2, 2, 2, 0)); + + // m[1][3] + // m[0][3] + // m[0][3] + // m[0][3] + __m128 Temp3 = _mm_shuffle_ps(in[1], in[0], _MM_SHUFFLE(3, 3, 3, 3)); + __m128 Vec3 = _mm_shuffle_ps(Temp3, Temp3, _MM_SHUFFLE(2, 2, 2, 0)); + + // col0 + // + (Vec1[0] * Fac0[0] - Vec2[0] * Fac1[0] + Vec3[0] * Fac2[0]), + // - (Vec1[1] * Fac0[1] - Vec2[1] * Fac1[1] + Vec3[1] * Fac2[1]), + // + (Vec1[2] * Fac0[2] - Vec2[2] * Fac1[2] + Vec3[2] * Fac2[2]), + // - (Vec1[3] * Fac0[3] - Vec2[3] * Fac1[3] + Vec3[3] * Fac2[3]), + __m128 Mul00 = _mm_mul_ps(Vec1, Fac0); + __m128 Mul01 = _mm_mul_ps(Vec2, Fac1); + __m128 Mul02 = _mm_mul_ps(Vec3, Fac2); + __m128 Sub00 = _mm_sub_ps(Mul00, Mul01); + __m128 Add00 = _mm_add_ps(Sub00, Mul02); + __m128 Inv0 = _mm_mul_ps(SignB, Add00); + + // col1 + // - (Vec0[0] * Fac0[0] - Vec2[0] * Fac3[0] + Vec3[0] * Fac4[0]), + // + (Vec0[0] * Fac0[1] - Vec2[1] * Fac3[1] + Vec3[1] * Fac4[1]), + // - (Vec0[0] * Fac0[2] - Vec2[2] * Fac3[2] + Vec3[2] * Fac4[2]), + // + (Vec0[0] * Fac0[3] - Vec2[3] * Fac3[3] + Vec3[3] * Fac4[3]), + __m128 Mul03 = _mm_mul_ps(Vec0, Fac0); + __m128 Mul04 = _mm_mul_ps(Vec2, Fac3); + __m128 Mul05 = _mm_mul_ps(Vec3, Fac4); + __m128 Sub01 = _mm_sub_ps(Mul03, Mul04); + __m128 Add01 = _mm_add_ps(Sub01, Mul05); + __m128 Inv1 = _mm_mul_ps(SignA, Add01); + + // col2 + // + (Vec0[0] * Fac1[0] - Vec1[0] * Fac3[0] + Vec3[0] * Fac5[0]), + // - (Vec0[0] * Fac1[1] - Vec1[1] * Fac3[1] + Vec3[1] * Fac5[1]), + // + (Vec0[0] * Fac1[2] - Vec1[2] * Fac3[2] + Vec3[2] * Fac5[2]), + // - (Vec0[0] * Fac1[3] - Vec1[3] * Fac3[3] + Vec3[3] * Fac5[3]), + __m128 Mul06 = _mm_mul_ps(Vec0, Fac1); + __m128 Mul07 = _mm_mul_ps(Vec1, Fac3); + __m128 Mul08 = _mm_mul_ps(Vec3, Fac5); + __m128 Sub02 = _mm_sub_ps(Mul06, Mul07); + __m128 Add02 = _mm_add_ps(Sub02, Mul08); + __m128 Inv2 = _mm_mul_ps(SignB, Add02); + + // col3 + // - (Vec1[0] * Fac2[0] - Vec1[0] * Fac4[0] + Vec2[0] * Fac5[0]), + // + (Vec1[0] * Fac2[1] - Vec1[1] * Fac4[1] + Vec2[1] * Fac5[1]), + // - (Vec1[0] * Fac2[2] - Vec1[2] * Fac4[2] + Vec2[2] * Fac5[2]), + // + (Vec1[0] * Fac2[3] - Vec1[3] * Fac4[3] + Vec2[3] * Fac5[3])); + __m128 Mul09 = _mm_mul_ps(Vec0, Fac2); + __m128 Mul10 = _mm_mul_ps(Vec1, Fac4); + __m128 Mul11 = _mm_mul_ps(Vec2, Fac5); + __m128 Sub03 = _mm_sub_ps(Mul09, Mul10); + __m128 Add03 = _mm_add_ps(Sub03, Mul11); + __m128 Inv3 = _mm_mul_ps(SignA, Add03); + + __m128 Row0 = _mm_shuffle_ps(Inv0, Inv1, _MM_SHUFFLE(0, 0, 0, 0)); + __m128 Row1 = _mm_shuffle_ps(Inv2, Inv3, _MM_SHUFFLE(0, 0, 0, 0)); + __m128 Row2 = _mm_shuffle_ps(Row0, Row1, _MM_SHUFFLE(2, 0, 2, 0)); + + // valType Determinant = m[0][0] * Inverse[0][0] + // + m[0][1] * Inverse[1][0] + // + m[0][2] * Inverse[2][0] + // + m[0][3] * Inverse[3][0]; + __m128 Det0 = glm_vec4_dot(in[0], Row2); + __m128 Rcp0 = _mm_div_ps(_mm_set1_ps(1.0f), Det0); + //__m128 Rcp0 = _mm_rcp_ps(Det0); + + // Inverse /= Determinant; + out[0] = _mm_mul_ps(Inv0, Rcp0); + out[1] = _mm_mul_ps(Inv1, Rcp0); + out[2] = _mm_mul_ps(Inv2, Rcp0); + out[3] = _mm_mul_ps(Inv3, Rcp0); +} + +GLM_FUNC_QUALIFIER void glm_mat4_inverse_lowp(glm_vec4 const in[4], glm_vec4 out[4]) +{ + __m128 Fac0; + { + // valType SubFactor00 = m[2][2] * m[3][3] - m[3][2] * m[2][3]; + // valType SubFactor00 = m[2][2] * m[3][3] - m[3][2] * m[2][3]; + // valType SubFactor06 = m[1][2] * m[3][3] - m[3][2] * m[1][3]; + // valType SubFactor13 = m[1][2] * m[2][3] - m[2][2] * m[1][3]; + + __m128 Swp0a = _mm_shuffle_ps(in[3], in[2], _MM_SHUFFLE(3, 3, 3, 3)); + __m128 Swp0b = _mm_shuffle_ps(in[3], in[2], _MM_SHUFFLE(2, 2, 2, 2)); + + __m128 Swp00 = _mm_shuffle_ps(in[2], in[1], _MM_SHUFFLE(2, 2, 2, 2)); + __m128 Swp01 = _mm_shuffle_ps(Swp0a, Swp0a, _MM_SHUFFLE(2, 0, 0, 0)); + __m128 Swp02 = _mm_shuffle_ps(Swp0b, Swp0b, _MM_SHUFFLE(2, 0, 0, 0)); + __m128 Swp03 = _mm_shuffle_ps(in[2], in[1], _MM_SHUFFLE(3, 3, 3, 3)); + + __m128 Mul00 = _mm_mul_ps(Swp00, Swp01); + __m128 Mul01 = _mm_mul_ps(Swp02, Swp03); + Fac0 = _mm_sub_ps(Mul00, Mul01); + } + + __m128 Fac1; + { + // valType SubFactor01 = m[2][1] * m[3][3] - m[3][1] * m[2][3]; + // valType SubFactor01 = m[2][1] * m[3][3] - m[3][1] * m[2][3]; + // valType SubFactor07 = m[1][1] * m[3][3] - m[3][1] * m[1][3]; + // valType SubFactor14 = m[1][1] * m[2][3] - m[2][1] * m[1][3]; + + __m128 Swp0a = _mm_shuffle_ps(in[3], in[2], _MM_SHUFFLE(3, 3, 3, 3)); + __m128 Swp0b = _mm_shuffle_ps(in[3], in[2], _MM_SHUFFLE(1, 1, 1, 1)); + + __m128 Swp00 = _mm_shuffle_ps(in[2], in[1], _MM_SHUFFLE(1, 1, 1, 1)); + __m128 Swp01 = _mm_shuffle_ps(Swp0a, Swp0a, _MM_SHUFFLE(2, 0, 0, 0)); + __m128 Swp02 = _mm_shuffle_ps(Swp0b, Swp0b, _MM_SHUFFLE(2, 0, 0, 0)); + __m128 Swp03 = _mm_shuffle_ps(in[2], in[1], _MM_SHUFFLE(3, 3, 3, 3)); + + __m128 Mul00 = _mm_mul_ps(Swp00, Swp01); + __m128 Mul01 = _mm_mul_ps(Swp02, Swp03); + Fac1 = _mm_sub_ps(Mul00, Mul01); + } + + + __m128 Fac2; + { + // valType SubFactor02 = m[2][1] * m[3][2] - m[3][1] * m[2][2]; + // valType SubFactor02 = m[2][1] * m[3][2] - m[3][1] * m[2][2]; + // valType SubFactor08 = m[1][1] * m[3][2] - m[3][1] * m[1][2]; + // valType SubFactor15 = m[1][1] * m[2][2] - m[2][1] * m[1][2]; + + __m128 Swp0a = _mm_shuffle_ps(in[3], in[2], _MM_SHUFFLE(2, 2, 2, 2)); + __m128 Swp0b = _mm_shuffle_ps(in[3], in[2], _MM_SHUFFLE(1, 1, 1, 1)); + + __m128 Swp00 = _mm_shuffle_ps(in[2], in[1], _MM_SHUFFLE(1, 1, 1, 1)); + __m128 Swp01 = _mm_shuffle_ps(Swp0a, Swp0a, _MM_SHUFFLE(2, 0, 0, 0)); + __m128 Swp02 = _mm_shuffle_ps(Swp0b, Swp0b, _MM_SHUFFLE(2, 0, 0, 0)); + __m128 Swp03 = _mm_shuffle_ps(in[2], in[1], _MM_SHUFFLE(2, 2, 2, 2)); + + __m128 Mul00 = _mm_mul_ps(Swp00, Swp01); + __m128 Mul01 = _mm_mul_ps(Swp02, Swp03); + Fac2 = _mm_sub_ps(Mul00, Mul01); + } + + __m128 Fac3; + { + // valType SubFactor03 = m[2][0] * m[3][3] - m[3][0] * m[2][3]; + // valType SubFactor03 = m[2][0] * m[3][3] - m[3][0] * m[2][3]; + // valType SubFactor09 = m[1][0] * m[3][3] - m[3][0] * m[1][3]; + // valType SubFactor16 = m[1][0] * m[2][3] - m[2][0] * m[1][3]; + + __m128 Swp0a = _mm_shuffle_ps(in[3], in[2], _MM_SHUFFLE(3, 3, 3, 3)); + __m128 Swp0b = _mm_shuffle_ps(in[3], in[2], _MM_SHUFFLE(0, 0, 0, 0)); + + __m128 Swp00 = _mm_shuffle_ps(in[2], in[1], _MM_SHUFFLE(0, 0, 0, 0)); + __m128 Swp01 = _mm_shuffle_ps(Swp0a, Swp0a, _MM_SHUFFLE(2, 0, 0, 0)); + __m128 Swp02 = _mm_shuffle_ps(Swp0b, Swp0b, _MM_SHUFFLE(2, 0, 0, 0)); + __m128 Swp03 = _mm_shuffle_ps(in[2], in[1], _MM_SHUFFLE(3, 3, 3, 3)); + + __m128 Mul00 = _mm_mul_ps(Swp00, Swp01); + __m128 Mul01 = _mm_mul_ps(Swp02, Swp03); + Fac3 = _mm_sub_ps(Mul00, Mul01); + } + + __m128 Fac4; + { + // valType SubFactor04 = m[2][0] * m[3][2] - m[3][0] * m[2][2]; + // valType SubFactor04 = m[2][0] * m[3][2] - m[3][0] * m[2][2]; + // valType SubFactor10 = m[1][0] * m[3][2] - m[3][0] * m[1][2]; + // valType SubFactor17 = m[1][0] * m[2][2] - m[2][0] * m[1][2]; + + __m128 Swp0a = _mm_shuffle_ps(in[3], in[2], _MM_SHUFFLE(2, 2, 2, 2)); + __m128 Swp0b = _mm_shuffle_ps(in[3], in[2], _MM_SHUFFLE(0, 0, 0, 0)); + + __m128 Swp00 = _mm_shuffle_ps(in[2], in[1], _MM_SHUFFLE(0, 0, 0, 0)); + __m128 Swp01 = _mm_shuffle_ps(Swp0a, Swp0a, _MM_SHUFFLE(2, 0, 0, 0)); + __m128 Swp02 = _mm_shuffle_ps(Swp0b, Swp0b, _MM_SHUFFLE(2, 0, 0, 0)); + __m128 Swp03 = _mm_shuffle_ps(in[2], in[1], _MM_SHUFFLE(2, 2, 2, 2)); + + __m128 Mul00 = _mm_mul_ps(Swp00, Swp01); + __m128 Mul01 = _mm_mul_ps(Swp02, Swp03); + Fac4 = _mm_sub_ps(Mul00, Mul01); + } + + __m128 Fac5; + { + // valType SubFactor05 = m[2][0] * m[3][1] - m[3][0] * m[2][1]; + // valType SubFactor05 = m[2][0] * m[3][1] - m[3][0] * m[2][1]; + // valType SubFactor12 = m[1][0] * m[3][1] - m[3][0] * m[1][1]; + // valType SubFactor18 = m[1][0] * m[2][1] - m[2][0] * m[1][1]; + + __m128 Swp0a = _mm_shuffle_ps(in[3], in[2], _MM_SHUFFLE(1, 1, 1, 1)); + __m128 Swp0b = _mm_shuffle_ps(in[3], in[2], _MM_SHUFFLE(0, 0, 0, 0)); + + __m128 Swp00 = _mm_shuffle_ps(in[2], in[1], _MM_SHUFFLE(0, 0, 0, 0)); + __m128 Swp01 = _mm_shuffle_ps(Swp0a, Swp0a, _MM_SHUFFLE(2, 0, 0, 0)); + __m128 Swp02 = _mm_shuffle_ps(Swp0b, Swp0b, _MM_SHUFFLE(2, 0, 0, 0)); + __m128 Swp03 = _mm_shuffle_ps(in[2], in[1], _MM_SHUFFLE(1, 1, 1, 1)); + + __m128 Mul00 = _mm_mul_ps(Swp00, Swp01); + __m128 Mul01 = _mm_mul_ps(Swp02, Swp03); + Fac5 = _mm_sub_ps(Mul00, Mul01); + } + + __m128 SignA = _mm_set_ps( 1.0f,-1.0f, 1.0f,-1.0f); + __m128 SignB = _mm_set_ps(-1.0f, 1.0f,-1.0f, 1.0f); + + // m[1][0] + // m[0][0] + // m[0][0] + // m[0][0] + __m128 Temp0 = _mm_shuffle_ps(in[1], in[0], _MM_SHUFFLE(0, 0, 0, 0)); + __m128 Vec0 = _mm_shuffle_ps(Temp0, Temp0, _MM_SHUFFLE(2, 2, 2, 0)); + + // m[1][1] + // m[0][1] + // m[0][1] + // m[0][1] + __m128 Temp1 = _mm_shuffle_ps(in[1], in[0], _MM_SHUFFLE(1, 1, 1, 1)); + __m128 Vec1 = _mm_shuffle_ps(Temp1, Temp1, _MM_SHUFFLE(2, 2, 2, 0)); + + // m[1][2] + // m[0][2] + // m[0][2] + // m[0][2] + __m128 Temp2 = _mm_shuffle_ps(in[1], in[0], _MM_SHUFFLE(2, 2, 2, 2)); + __m128 Vec2 = _mm_shuffle_ps(Temp2, Temp2, _MM_SHUFFLE(2, 2, 2, 0)); + + // m[1][3] + // m[0][3] + // m[0][3] + // m[0][3] + __m128 Temp3 = _mm_shuffle_ps(in[1], in[0], _MM_SHUFFLE(3, 3, 3, 3)); + __m128 Vec3 = _mm_shuffle_ps(Temp3, Temp3, _MM_SHUFFLE(2, 2, 2, 0)); + + // col0 + // + (Vec1[0] * Fac0[0] - Vec2[0] * Fac1[0] + Vec3[0] * Fac2[0]), + // - (Vec1[1] * Fac0[1] - Vec2[1] * Fac1[1] + Vec3[1] * Fac2[1]), + // + (Vec1[2] * Fac0[2] - Vec2[2] * Fac1[2] + Vec3[2] * Fac2[2]), + // - (Vec1[3] * Fac0[3] - Vec2[3] * Fac1[3] + Vec3[3] * Fac2[3]), + __m128 Mul00 = _mm_mul_ps(Vec1, Fac0); + __m128 Mul01 = _mm_mul_ps(Vec2, Fac1); + __m128 Mul02 = _mm_mul_ps(Vec3, Fac2); + __m128 Sub00 = _mm_sub_ps(Mul00, Mul01); + __m128 Add00 = _mm_add_ps(Sub00, Mul02); + __m128 Inv0 = _mm_mul_ps(SignB, Add00); + + // col1 + // - (Vec0[0] * Fac0[0] - Vec2[0] * Fac3[0] + Vec3[0] * Fac4[0]), + // + (Vec0[0] * Fac0[1] - Vec2[1] * Fac3[1] + Vec3[1] * Fac4[1]), + // - (Vec0[0] * Fac0[2] - Vec2[2] * Fac3[2] + Vec3[2] * Fac4[2]), + // + (Vec0[0] * Fac0[3] - Vec2[3] * Fac3[3] + Vec3[3] * Fac4[3]), + __m128 Mul03 = _mm_mul_ps(Vec0, Fac0); + __m128 Mul04 = _mm_mul_ps(Vec2, Fac3); + __m128 Mul05 = _mm_mul_ps(Vec3, Fac4); + __m128 Sub01 = _mm_sub_ps(Mul03, Mul04); + __m128 Add01 = _mm_add_ps(Sub01, Mul05); + __m128 Inv1 = _mm_mul_ps(SignA, Add01); + + // col2 + // + (Vec0[0] * Fac1[0] - Vec1[0] * Fac3[0] + Vec3[0] * Fac5[0]), + // - (Vec0[0] * Fac1[1] - Vec1[1] * Fac3[1] + Vec3[1] * Fac5[1]), + // + (Vec0[0] * Fac1[2] - Vec1[2] * Fac3[2] + Vec3[2] * Fac5[2]), + // - (Vec0[0] * Fac1[3] - Vec1[3] * Fac3[3] + Vec3[3] * Fac5[3]), + __m128 Mul06 = _mm_mul_ps(Vec0, Fac1); + __m128 Mul07 = _mm_mul_ps(Vec1, Fac3); + __m128 Mul08 = _mm_mul_ps(Vec3, Fac5); + __m128 Sub02 = _mm_sub_ps(Mul06, Mul07); + __m128 Add02 = _mm_add_ps(Sub02, Mul08); + __m128 Inv2 = _mm_mul_ps(SignB, Add02); + + // col3 + // - (Vec1[0] * Fac2[0] - Vec1[0] * Fac4[0] + Vec2[0] * Fac5[0]), + // + (Vec1[0] * Fac2[1] - Vec1[1] * Fac4[1] + Vec2[1] * Fac5[1]), + // - (Vec1[0] * Fac2[2] - Vec1[2] * Fac4[2] + Vec2[2] * Fac5[2]), + // + (Vec1[0] * Fac2[3] - Vec1[3] * Fac4[3] + Vec2[3] * Fac5[3])); + __m128 Mul09 = _mm_mul_ps(Vec0, Fac2); + __m128 Mul10 = _mm_mul_ps(Vec1, Fac4); + __m128 Mul11 = _mm_mul_ps(Vec2, Fac5); + __m128 Sub03 = _mm_sub_ps(Mul09, Mul10); + __m128 Add03 = _mm_add_ps(Sub03, Mul11); + __m128 Inv3 = _mm_mul_ps(SignA, Add03); + + __m128 Row0 = _mm_shuffle_ps(Inv0, Inv1, _MM_SHUFFLE(0, 0, 0, 0)); + __m128 Row1 = _mm_shuffle_ps(Inv2, Inv3, _MM_SHUFFLE(0, 0, 0, 0)); + __m128 Row2 = _mm_shuffle_ps(Row0, Row1, _MM_SHUFFLE(2, 0, 2, 0)); + + // valType Determinant = m[0][0] * Inverse[0][0] + // + m[0][1] * Inverse[1][0] + // + m[0][2] * Inverse[2][0] + // + m[0][3] * Inverse[3][0]; + __m128 Det0 = glm_vec4_dot(in[0], Row2); + __m128 Rcp0 = _mm_rcp_ps(Det0); + //__m128 Rcp0 = _mm_div_ps(one, Det0); + // Inverse /= Determinant; + out[0] = _mm_mul_ps(Inv0, Rcp0); + out[1] = _mm_mul_ps(Inv1, Rcp0); + out[2] = _mm_mul_ps(Inv2, Rcp0); + out[3] = _mm_mul_ps(Inv3, Rcp0); +} +/* +GLM_FUNC_QUALIFIER void glm_mat4_rotate(__m128 const in[4], float Angle, float const v[3], __m128 out[4]) +{ + float a = glm::radians(Angle); + float c = cos(a); + float s = sin(a); + + glm::vec4 AxisA(v[0], v[1], v[2], float(0)); + __m128 AxisB = _mm_set_ps(AxisA.w, AxisA.z, AxisA.y, AxisA.x); + __m128 AxisC = detail::sse_nrm_ps(AxisB); + + __m128 Cos0 = _mm_set_ss(c); + __m128 CosA = _mm_shuffle_ps(Cos0, Cos0, _MM_SHUFFLE(0, 0, 0, 0)); + __m128 Sin0 = _mm_set_ss(s); + __m128 SinA = _mm_shuffle_ps(Sin0, Sin0, _MM_SHUFFLE(0, 0, 0, 0)); + + // vec<3, T, Q> temp = (valType(1) - c) * axis; + __m128 Temp0 = _mm_sub_ps(one, CosA); + __m128 Temp1 = _mm_mul_ps(Temp0, AxisC); + + //Rotate[0][0] = c + temp[0] * axis[0]; + //Rotate[0][1] = 0 + temp[0] * axis[1] + s * axis[2]; + //Rotate[0][2] = 0 + temp[0] * axis[2] - s * axis[1]; + __m128 Axis0 = _mm_shuffle_ps(AxisC, AxisC, _MM_SHUFFLE(0, 0, 0, 0)); + __m128 TmpA0 = _mm_mul_ps(Axis0, AxisC); + __m128 CosA0 = _mm_shuffle_ps(Cos0, Cos0, _MM_SHUFFLE(1, 1, 1, 0)); + __m128 TmpA1 = _mm_add_ps(CosA0, TmpA0); + __m128 SinA0 = SinA;//_mm_set_ps(0.0f, s, -s, 0.0f); + __m128 TmpA2 = _mm_shuffle_ps(AxisC, AxisC, _MM_SHUFFLE(3, 1, 2, 3)); + __m128 TmpA3 = _mm_mul_ps(SinA0, TmpA2); + __m128 TmpA4 = _mm_add_ps(TmpA1, TmpA3); + + //Rotate[1][0] = 0 + temp[1] * axis[0] - s * axis[2]; + //Rotate[1][1] = c + temp[1] * axis[1]; + //Rotate[1][2] = 0 + temp[1] * axis[2] + s * axis[0]; + __m128 Axis1 = _mm_shuffle_ps(AxisC, AxisC, _MM_SHUFFLE(1, 1, 1, 1)); + __m128 TmpB0 = _mm_mul_ps(Axis1, AxisC); + __m128 CosA1 = _mm_shuffle_ps(Cos0, Cos0, _MM_SHUFFLE(1, 1, 0, 1)); + __m128 TmpB1 = _mm_add_ps(CosA1, TmpB0); + __m128 SinB0 = SinA;//_mm_set_ps(-s, 0.0f, s, 0.0f); + __m128 TmpB2 = _mm_shuffle_ps(AxisC, AxisC, _MM_SHUFFLE(3, 0, 3, 2)); + __m128 TmpB3 = _mm_mul_ps(SinA0, TmpB2); + __m128 TmpB4 = _mm_add_ps(TmpB1, TmpB3); + + //Rotate[2][0] = 0 + temp[2] * axis[0] + s * axis[1]; + //Rotate[2][1] = 0 + temp[2] * axis[1] - s * axis[0]; + //Rotate[2][2] = c + temp[2] * axis[2]; + __m128 Axis2 = _mm_shuffle_ps(AxisC, AxisC, _MM_SHUFFLE(2, 2, 2, 2)); + __m128 TmpC0 = _mm_mul_ps(Axis2, AxisC); + __m128 CosA2 = _mm_shuffle_ps(Cos0, Cos0, _MM_SHUFFLE(1, 0, 1, 1)); + __m128 TmpC1 = _mm_add_ps(CosA2, TmpC0); + __m128 SinC0 = SinA;//_mm_set_ps(s, -s, 0.0f, 0.0f); + __m128 TmpC2 = _mm_shuffle_ps(AxisC, AxisC, _MM_SHUFFLE(3, 3, 0, 1)); + __m128 TmpC3 = _mm_mul_ps(SinA0, TmpC2); + __m128 TmpC4 = _mm_add_ps(TmpC1, TmpC3); + + __m128 Result[4]; + Result[0] = TmpA4; + Result[1] = TmpB4; + Result[2] = TmpC4; + Result[3] = _mm_set_ps(1, 0, 0, 0); + + //mat<4, 4, valType> Result; + //Result[0] = m[0] * Rotate[0][0] + m[1] * Rotate[0][1] + m[2] * Rotate[0][2]; + //Result[1] = m[0] * Rotate[1][0] + m[1] * Rotate[1][1] + m[2] * Rotate[1][2]; + //Result[2] = m[0] * Rotate[2][0] + m[1] * Rotate[2][1] + m[2] * Rotate[2][2]; + //Result[3] = m[3]; + //return Result; + sse_mul_ps(in, Result, out); +} +*/ +GLM_FUNC_QUALIFIER void glm_mat4_outerProduct(__m128 const& c, __m128 const& r, __m128 out[4]) +{ + out[0] = _mm_mul_ps(c, _mm_shuffle_ps(r, r, _MM_SHUFFLE(0, 0, 0, 0))); + out[1] = _mm_mul_ps(c, _mm_shuffle_ps(r, r, _MM_SHUFFLE(1, 1, 1, 1))); + out[2] = _mm_mul_ps(c, _mm_shuffle_ps(r, r, _MM_SHUFFLE(2, 2, 2, 2))); + out[3] = _mm_mul_ps(c, _mm_shuffle_ps(r, r, _MM_SHUFFLE(3, 3, 3, 3))); +} + +#endif//GLM_ARCH & GLM_ARCH_SSE2_BIT diff --git a/MacroLibX/third_party/glm/simd/neon.h b/MacroLibX/third_party/glm/simd/neon.h new file mode 100644 index 0000000..6c38b06 --- /dev/null +++ b/MacroLibX/third_party/glm/simd/neon.h @@ -0,0 +1,155 @@ +/// @ref simd_neon +/// @file glm/simd/neon.h + +#pragma once + +#if GLM_ARCH & GLM_ARCH_NEON_BIT +#include + +namespace glm { + namespace neon { + static float32x4_t dupq_lane(float32x4_t vsrc, int lane) { + switch(lane) { +#if GLM_ARCH & GLM_ARCH_ARMV8_BIT + case 0: return vdupq_laneq_f32(vsrc, 0); + case 1: return vdupq_laneq_f32(vsrc, 1); + case 2: return vdupq_laneq_f32(vsrc, 2); + case 3: return vdupq_laneq_f32(vsrc, 3); +#else + case 0: return vdupq_n_f32(vgetq_lane_f32(vsrc, 0)); + case 1: return vdupq_n_f32(vgetq_lane_f32(vsrc, 1)); + case 2: return vdupq_n_f32(vgetq_lane_f32(vsrc, 2)); + case 3: return vdupq_n_f32(vgetq_lane_f32(vsrc, 3)); +#endif + } + assert(!"Unreachable code executed!"); + return vdupq_n_f32(0.0f); + } + + static float32x2_t dup_lane(float32x4_t vsrc, int lane) { + switch(lane) { +#if GLM_ARCH & GLM_ARCH_ARMV8_BIT + case 0: return vdup_laneq_f32(vsrc, 0); + case 1: return vdup_laneq_f32(vsrc, 1); + case 2: return vdup_laneq_f32(vsrc, 2); + case 3: return vdup_laneq_f32(vsrc, 3); +#else + case 0: return vdup_n_f32(vgetq_lane_f32(vsrc, 0)); + case 1: return vdup_n_f32(vgetq_lane_f32(vsrc, 1)); + case 2: return vdup_n_f32(vgetq_lane_f32(vsrc, 2)); + case 3: return vdup_n_f32(vgetq_lane_f32(vsrc, 3)); +#endif + } + assert(!"Unreachable code executed!"); + return vdup_n_f32(0.0f); + } + + static float32x4_t copy_lane(float32x4_t vdst, int dlane, float32x4_t vsrc, int slane) { +#if GLM_ARCH & GLM_ARCH_ARMV8_BIT + switch(dlane) { + case 0: + switch(slane) { + case 0: return vcopyq_laneq_f32(vdst, 0, vsrc, 0); + case 1: return vcopyq_laneq_f32(vdst, 0, vsrc, 1); + case 2: return vcopyq_laneq_f32(vdst, 0, vsrc, 2); + case 3: return vcopyq_laneq_f32(vdst, 0, vsrc, 3); + } + assert(!"Unreachable code executed!"); + case 1: + switch(slane) { + case 0: return vcopyq_laneq_f32(vdst, 1, vsrc, 0); + case 1: return vcopyq_laneq_f32(vdst, 1, vsrc, 1); + case 2: return vcopyq_laneq_f32(vdst, 1, vsrc, 2); + case 3: return vcopyq_laneq_f32(vdst, 1, vsrc, 3); + } + assert(!"Unreachable code executed!"); + case 2: + switch(slane) { + case 0: return vcopyq_laneq_f32(vdst, 2, vsrc, 0); + case 1: return vcopyq_laneq_f32(vdst, 2, vsrc, 1); + case 2: return vcopyq_laneq_f32(vdst, 2, vsrc, 2); + case 3: return vcopyq_laneq_f32(vdst, 2, vsrc, 3); + } + assert(!"Unreachable code executed!"); + case 3: + switch(slane) { + case 0: return vcopyq_laneq_f32(vdst, 3, vsrc, 0); + case 1: return vcopyq_laneq_f32(vdst, 3, vsrc, 1); + case 2: return vcopyq_laneq_f32(vdst, 3, vsrc, 2); + case 3: return vcopyq_laneq_f32(vdst, 3, vsrc, 3); + } + assert(!"Unreachable code executed!"); + } +#else + + float l; + switch(slane) { + case 0: l = vgetq_lane_f32(vsrc, 0); break; + case 1: l = vgetq_lane_f32(vsrc, 1); break; + case 2: l = vgetq_lane_f32(vsrc, 2); break; + case 3: l = vgetq_lane_f32(vsrc, 3); break; + default: + assert(!"Unreachable code executed!"); + } + switch(dlane) { + case 0: return vsetq_lane_f32(l, vdst, 0); + case 1: return vsetq_lane_f32(l, vdst, 1); + case 2: return vsetq_lane_f32(l, vdst, 2); + case 3: return vsetq_lane_f32(l, vdst, 3); + } +#endif + assert(!"Unreachable code executed!"); + return vdupq_n_f32(0.0f); + } + + static float32x4_t mul_lane(float32x4_t v, float32x4_t vlane, int lane) { +#if GLM_ARCH & GLM_ARCH_ARMV8_BIT + switch(lane) { + case 0: return vmulq_laneq_f32(v, vlane, 0); break; + case 1: return vmulq_laneq_f32(v, vlane, 1); break; + case 2: return vmulq_laneq_f32(v, vlane, 2); break; + case 3: return vmulq_laneq_f32(v, vlane, 3); break; + default: + assert(!"Unreachable code executed!"); + } + assert(!"Unreachable code executed!"); + return vdupq_n_f32(0.0f); +#else + return vmulq_f32(v, dupq_lane(vlane, lane)); +#endif + } + + static float32x4_t madd_lane(float32x4_t acc, float32x4_t v, float32x4_t vlane, int lane) { +#if GLM_ARCH & GLM_ARCH_ARMV8_BIT +#ifdef GLM_CONFIG_FORCE_FMA +# define FMADD_LANE(acc, x, y, L) do { asm volatile ("fmla %0.4s, %1.4s, %2.4s" : "+w"(acc) : "w"(x), "w"(dup_lane(y, L))); } while(0) +#else +# define FMADD_LANE(acc, x, y, L) do { acc = vmlaq_laneq_f32(acc, x, y, L); } while(0) +#endif + + switch(lane) { + case 0: + FMADD_LANE(acc, v, vlane, 0); + return acc; + case 1: + FMADD_LANE(acc, v, vlane, 1); + return acc; + case 2: + FMADD_LANE(acc, v, vlane, 2); + return acc; + case 3: + FMADD_LANE(acc, v, vlane, 3); + return acc; + default: + assert(!"Unreachable code executed!"); + } + assert(!"Unreachable code executed!"); + return vdupq_n_f32(0.0f); +# undef FMADD_LANE +#else + return vaddq_f32(acc, vmulq_f32(v, dupq_lane(vlane, lane))); +#endif + } + } //namespace neon +} // namespace glm +#endif // GLM_ARCH & GLM_ARCH_NEON_BIT diff --git a/MacroLibX/third_party/glm/simd/packing.h b/MacroLibX/third_party/glm/simd/packing.h new file mode 100644 index 0000000..609163e --- /dev/null +++ b/MacroLibX/third_party/glm/simd/packing.h @@ -0,0 +1,8 @@ +/// @ref simd +/// @file glm/simd/packing.h + +#pragma once + +#if GLM_ARCH & GLM_ARCH_SSE2_BIT + +#endif//GLM_ARCH & GLM_ARCH_SSE2_BIT diff --git a/MacroLibX/third_party/glm/simd/platform.h b/MacroLibX/third_party/glm/simd/platform.h new file mode 100644 index 0000000..ad25cc1 --- /dev/null +++ b/MacroLibX/third_party/glm/simd/platform.h @@ -0,0 +1,398 @@ +#pragma once + +/////////////////////////////////////////////////////////////////////////////////// +// Platform + +#define GLM_PLATFORM_UNKNOWN 0x00000000 +#define GLM_PLATFORM_WINDOWS 0x00010000 +#define GLM_PLATFORM_LINUX 0x00020000 +#define GLM_PLATFORM_APPLE 0x00040000 +//#define GLM_PLATFORM_IOS 0x00080000 +#define GLM_PLATFORM_ANDROID 0x00100000 +#define GLM_PLATFORM_CHROME_NACL 0x00200000 +#define GLM_PLATFORM_UNIX 0x00400000 +#define GLM_PLATFORM_QNXNTO 0x00800000 +#define GLM_PLATFORM_WINCE 0x01000000 +#define GLM_PLATFORM_CYGWIN 0x02000000 + +#ifdef GLM_FORCE_PLATFORM_UNKNOWN +# define GLM_PLATFORM GLM_PLATFORM_UNKNOWN +#elif defined(__CYGWIN__) +# define GLM_PLATFORM GLM_PLATFORM_CYGWIN +#elif defined(__QNXNTO__) +# define GLM_PLATFORM GLM_PLATFORM_QNXNTO +#elif defined(__APPLE__) +# define GLM_PLATFORM GLM_PLATFORM_APPLE +#elif defined(WINCE) +# define GLM_PLATFORM GLM_PLATFORM_WINCE +#elif defined(_WIN32) +# define GLM_PLATFORM GLM_PLATFORM_WINDOWS +#elif defined(__native_client__) +# define GLM_PLATFORM GLM_PLATFORM_CHROME_NACL +#elif defined(__ANDROID__) +# define GLM_PLATFORM GLM_PLATFORM_ANDROID +#elif defined(__linux) +# define GLM_PLATFORM GLM_PLATFORM_LINUX +#elif defined(__unix) +# define GLM_PLATFORM GLM_PLATFORM_UNIX +#else +# define GLM_PLATFORM GLM_PLATFORM_UNKNOWN +#endif// + +/////////////////////////////////////////////////////////////////////////////////// +// Compiler + +#define GLM_COMPILER_UNKNOWN 0x00000000 + +// Intel +#define GLM_COMPILER_INTEL 0x00100000 +#define GLM_COMPILER_INTEL14 0x00100040 +#define GLM_COMPILER_INTEL15 0x00100050 +#define GLM_COMPILER_INTEL16 0x00100060 +#define GLM_COMPILER_INTEL17 0x00100070 + +// Visual C++ defines +#define GLM_COMPILER_VC 0x01000000 +#define GLM_COMPILER_VC12 0x01000001 +#define GLM_COMPILER_VC14 0x01000002 +#define GLM_COMPILER_VC15 0x01000003 +#define GLM_COMPILER_VC15_3 0x01000004 +#define GLM_COMPILER_VC15_5 0x01000005 +#define GLM_COMPILER_VC15_6 0x01000006 +#define GLM_COMPILER_VC15_7 0x01000007 +#define GLM_COMPILER_VC15_8 0x01000008 +#define GLM_COMPILER_VC15_9 0x01000009 +#define GLM_COMPILER_VC16 0x0100000A + +// GCC defines +#define GLM_COMPILER_GCC 0x02000000 +#define GLM_COMPILER_GCC46 0x020000D0 +#define GLM_COMPILER_GCC47 0x020000E0 +#define GLM_COMPILER_GCC48 0x020000F0 +#define GLM_COMPILER_GCC49 0x02000100 +#define GLM_COMPILER_GCC5 0x02000200 +#define GLM_COMPILER_GCC6 0x02000300 +#define GLM_COMPILER_GCC7 0x02000400 +#define GLM_COMPILER_GCC8 0x02000500 + +// CUDA +#define GLM_COMPILER_CUDA 0x10000000 +#define GLM_COMPILER_CUDA75 0x10000001 +#define GLM_COMPILER_CUDA80 0x10000002 +#define GLM_COMPILER_CUDA90 0x10000004 + +// SYCL +#define GLM_COMPILER_SYCL 0x00300000 + +// Clang +#define GLM_COMPILER_CLANG 0x20000000 +#define GLM_COMPILER_CLANG34 0x20000050 +#define GLM_COMPILER_CLANG35 0x20000060 +#define GLM_COMPILER_CLANG36 0x20000070 +#define GLM_COMPILER_CLANG37 0x20000080 +#define GLM_COMPILER_CLANG38 0x20000090 +#define GLM_COMPILER_CLANG39 0x200000A0 +#define GLM_COMPILER_CLANG40 0x200000B0 +#define GLM_COMPILER_CLANG41 0x200000C0 +#define GLM_COMPILER_CLANG42 0x200000D0 + +// Build model +#define GLM_MODEL_32 0x00000010 +#define GLM_MODEL_64 0x00000020 + +// Force generic C++ compiler +#ifdef GLM_FORCE_COMPILER_UNKNOWN +# define GLM_COMPILER GLM_COMPILER_UNKNOWN + +#elif defined(__INTEL_COMPILER) +# if __INTEL_COMPILER >= 1700 +# define GLM_COMPILER GLM_COMPILER_INTEL17 +# elif __INTEL_COMPILER >= 1600 +# define GLM_COMPILER GLM_COMPILER_INTEL16 +# elif __INTEL_COMPILER >= 1500 +# define GLM_COMPILER GLM_COMPILER_INTEL15 +# elif __INTEL_COMPILER >= 1400 +# define GLM_COMPILER GLM_COMPILER_INTEL14 +# elif __INTEL_COMPILER < 1400 +# error "GLM requires ICC 2013 SP1 or newer" +# endif + +// CUDA +#elif defined(__CUDACC__) +# if !defined(CUDA_VERSION) && !defined(GLM_FORCE_CUDA) +# include // make sure version is defined since nvcc does not define it itself! +# endif +# if CUDA_VERSION >= 8000 +# define GLM_COMPILER GLM_COMPILER_CUDA80 +# elif CUDA_VERSION >= 7500 +# define GLM_COMPILER GLM_COMPILER_CUDA75 +# elif CUDA_VERSION >= 7000 +# define GLM_COMPILER GLM_COMPILER_CUDA70 +# elif CUDA_VERSION < 7000 +# error "GLM requires CUDA 7.0 or higher" +# endif + +// SYCL +#elif defined(__SYCL_DEVICE_ONLY__) +# define GLM_COMPILER GLM_COMPILER_SYCL + +// Clang +#elif defined(__clang__) +# if defined(__apple_build_version__) +# if (__clang_major__ < 6) +# error "GLM requires Clang 3.4 / Apple Clang 6.0 or higher" +# elif __clang_major__ == 6 && __clang_minor__ == 0 +# define GLM_COMPILER GLM_COMPILER_CLANG35 +# elif __clang_major__ == 6 && __clang_minor__ >= 1 +# define GLM_COMPILER GLM_COMPILER_CLANG36 +# elif __clang_major__ >= 7 +# define GLM_COMPILER GLM_COMPILER_CLANG37 +# endif +# else +# if ((__clang_major__ == 3) && (__clang_minor__ < 4)) || (__clang_major__ < 3) +# error "GLM requires Clang 3.4 or higher" +# elif __clang_major__ == 3 && __clang_minor__ == 4 +# define GLM_COMPILER GLM_COMPILER_CLANG34 +# elif __clang_major__ == 3 && __clang_minor__ == 5 +# define GLM_COMPILER GLM_COMPILER_CLANG35 +# elif __clang_major__ == 3 && __clang_minor__ == 6 +# define GLM_COMPILER GLM_COMPILER_CLANG36 +# elif __clang_major__ == 3 && __clang_minor__ == 7 +# define GLM_COMPILER GLM_COMPILER_CLANG37 +# elif __clang_major__ == 3 && __clang_minor__ == 8 +# define GLM_COMPILER GLM_COMPILER_CLANG38 +# elif __clang_major__ == 3 && __clang_minor__ >= 9 +# define GLM_COMPILER GLM_COMPILER_CLANG39 +# elif __clang_major__ == 4 && __clang_minor__ == 0 +# define GLM_COMPILER GLM_COMPILER_CLANG40 +# elif __clang_major__ == 4 && __clang_minor__ == 1 +# define GLM_COMPILER GLM_COMPILER_CLANG41 +# elif __clang_major__ == 4 && __clang_minor__ >= 2 +# define GLM_COMPILER GLM_COMPILER_CLANG42 +# elif __clang_major__ >= 4 +# define GLM_COMPILER GLM_COMPILER_CLANG42 +# endif +# endif + +// Visual C++ +#elif defined(_MSC_VER) +# if _MSC_VER >= 1920 +# define GLM_COMPILER GLM_COMPILER_VC16 +# elif _MSC_VER >= 1916 +# define GLM_COMPILER GLM_COMPILER_VC15_9 +# elif _MSC_VER >= 1915 +# define GLM_COMPILER GLM_COMPILER_VC15_8 +# elif _MSC_VER >= 1914 +# define GLM_COMPILER GLM_COMPILER_VC15_7 +# elif _MSC_VER >= 1913 +# define GLM_COMPILER GLM_COMPILER_VC15_6 +# elif _MSC_VER >= 1912 +# define GLM_COMPILER GLM_COMPILER_VC15_5 +# elif _MSC_VER >= 1911 +# define GLM_COMPILER GLM_COMPILER_VC15_3 +# elif _MSC_VER >= 1910 +# define GLM_COMPILER GLM_COMPILER_VC15 +# elif _MSC_VER >= 1900 +# define GLM_COMPILER GLM_COMPILER_VC14 +# elif _MSC_VER >= 1800 +# define GLM_COMPILER GLM_COMPILER_VC12 +# elif _MSC_VER < 1800 +# error "GLM requires Visual C++ 12 - 2013 or higher" +# endif//_MSC_VER + +// G++ +#elif defined(__GNUC__) || defined(__MINGW32__) +# if __GNUC__ >= 8 +# define GLM_COMPILER GLM_COMPILER_GCC8 +# elif __GNUC__ >= 7 +# define GLM_COMPILER GLM_COMPILER_GCC7 +# elif __GNUC__ >= 6 +# define GLM_COMPILER GLM_COMPILER_GCC6 +# elif __GNUC__ >= 5 +# define GLM_COMPILER GLM_COMPILER_GCC5 +# elif __GNUC__ == 4 && __GNUC_MINOR__ >= 9 +# define GLM_COMPILER GLM_COMPILER_GCC49 +# elif __GNUC__ == 4 && __GNUC_MINOR__ >= 8 +# define GLM_COMPILER GLM_COMPILER_GCC48 +# elif __GNUC__ == 4 && __GNUC_MINOR__ >= 7 +# define GLM_COMPILER GLM_COMPILER_GCC47 +# elif __GNUC__ == 4 && __GNUC_MINOR__ >= 6 +# define GLM_COMPILER GLM_COMPILER_GCC46 +# elif ((__GNUC__ == 4) && (__GNUC_MINOR__ < 6)) || (__GNUC__ < 4) +# error "GLM requires GCC 4.6 or higher" +# endif + +#else +# define GLM_COMPILER GLM_COMPILER_UNKNOWN +#endif + +#ifndef GLM_COMPILER +# error "GLM_COMPILER undefined, your compiler may not be supported by GLM. Add #define GLM_COMPILER 0 to ignore this message." +#endif//GLM_COMPILER + +/////////////////////////////////////////////////////////////////////////////////// +// Instruction sets + +// User defines: GLM_FORCE_PURE GLM_FORCE_INTRINSICS GLM_FORCE_SSE2 GLM_FORCE_SSE3 GLM_FORCE_AVX GLM_FORCE_AVX2 GLM_FORCE_AVX2 + +#define GLM_ARCH_MIPS_BIT (0x10000000) +#define GLM_ARCH_PPC_BIT (0x20000000) +#define GLM_ARCH_ARM_BIT (0x40000000) +#define GLM_ARCH_ARMV8_BIT (0x01000000) +#define GLM_ARCH_X86_BIT (0x80000000) + +#define GLM_ARCH_SIMD_BIT (0x00001000) + +#define GLM_ARCH_NEON_BIT (0x00000001) +#define GLM_ARCH_SSE_BIT (0x00000002) +#define GLM_ARCH_SSE2_BIT (0x00000004) +#define GLM_ARCH_SSE3_BIT (0x00000008) +#define GLM_ARCH_SSSE3_BIT (0x00000010) +#define GLM_ARCH_SSE41_BIT (0x00000020) +#define GLM_ARCH_SSE42_BIT (0x00000040) +#define GLM_ARCH_AVX_BIT (0x00000080) +#define GLM_ARCH_AVX2_BIT (0x00000100) + +#define GLM_ARCH_UNKNOWN (0) +#define GLM_ARCH_X86 (GLM_ARCH_X86_BIT) +#define GLM_ARCH_SSE (GLM_ARCH_SSE_BIT | GLM_ARCH_SIMD_BIT | GLM_ARCH_X86) +#define GLM_ARCH_SSE2 (GLM_ARCH_SSE2_BIT | GLM_ARCH_SSE) +#define GLM_ARCH_SSE3 (GLM_ARCH_SSE3_BIT | GLM_ARCH_SSE2) +#define GLM_ARCH_SSSE3 (GLM_ARCH_SSSE3_BIT | GLM_ARCH_SSE3) +#define GLM_ARCH_SSE41 (GLM_ARCH_SSE41_BIT | GLM_ARCH_SSSE3) +#define GLM_ARCH_SSE42 (GLM_ARCH_SSE42_BIT | GLM_ARCH_SSE41) +#define GLM_ARCH_AVX (GLM_ARCH_AVX_BIT | GLM_ARCH_SSE42) +#define GLM_ARCH_AVX2 (GLM_ARCH_AVX2_BIT | GLM_ARCH_AVX) +#define GLM_ARCH_ARM (GLM_ARCH_ARM_BIT) +#define GLM_ARCH_ARMV8 (GLM_ARCH_NEON_BIT | GLM_ARCH_SIMD_BIT | GLM_ARCH_ARM | GLM_ARCH_ARMV8_BIT) +#define GLM_ARCH_NEON (GLM_ARCH_NEON_BIT | GLM_ARCH_SIMD_BIT | GLM_ARCH_ARM) +#define GLM_ARCH_MIPS (GLM_ARCH_MIPS_BIT) +#define GLM_ARCH_PPC (GLM_ARCH_PPC_BIT) + +#if defined(GLM_FORCE_ARCH_UNKNOWN) || defined(GLM_FORCE_PURE) +# define GLM_ARCH GLM_ARCH_UNKNOWN +#elif defined(GLM_FORCE_NEON) +# if __ARM_ARCH >= 8 +# define GLM_ARCH (GLM_ARCH_ARMV8) +# else +# define GLM_ARCH (GLM_ARCH_NEON) +# endif +# define GLM_FORCE_INTRINSICS +#elif defined(GLM_FORCE_AVX2) +# define GLM_ARCH (GLM_ARCH_AVX2) +# define GLM_FORCE_INTRINSICS +#elif defined(GLM_FORCE_AVX) +# define GLM_ARCH (GLM_ARCH_AVX) +# define GLM_FORCE_INTRINSICS +#elif defined(GLM_FORCE_SSE42) +# define GLM_ARCH (GLM_ARCH_SSE42) +# define GLM_FORCE_INTRINSICS +#elif defined(GLM_FORCE_SSE41) +# define GLM_ARCH (GLM_ARCH_SSE41) +# define GLM_FORCE_INTRINSICS +#elif defined(GLM_FORCE_SSSE3) +# define GLM_ARCH (GLM_ARCH_SSSE3) +# define GLM_FORCE_INTRINSICS +#elif defined(GLM_FORCE_SSE3) +# define GLM_ARCH (GLM_ARCH_SSE3) +# define GLM_FORCE_INTRINSICS +#elif defined(GLM_FORCE_SSE2) +# define GLM_ARCH (GLM_ARCH_SSE2) +# define GLM_FORCE_INTRINSICS +#elif defined(GLM_FORCE_SSE) +# define GLM_ARCH (GLM_ARCH_SSE) +# define GLM_FORCE_INTRINSICS +#elif defined(GLM_FORCE_INTRINSICS) && !defined(GLM_FORCE_XYZW_ONLY) +# if defined(__AVX2__) +# define GLM_ARCH (GLM_ARCH_AVX2) +# elif defined(__AVX__) +# define GLM_ARCH (GLM_ARCH_AVX) +# elif defined(__SSE4_2__) +# define GLM_ARCH (GLM_ARCH_SSE42) +# elif defined(__SSE4_1__) +# define GLM_ARCH (GLM_ARCH_SSE41) +# elif defined(__SSSE3__) +# define GLM_ARCH (GLM_ARCH_SSSE3) +# elif defined(__SSE3__) +# define GLM_ARCH (GLM_ARCH_SSE3) +# elif defined(__SSE2__) || defined(__x86_64__) || defined(_M_X64) || defined(_M_IX86_FP) +# define GLM_ARCH (GLM_ARCH_SSE2) +# elif defined(__i386__) +# define GLM_ARCH (GLM_ARCH_X86) +# elif defined(__ARM_ARCH) && (__ARM_ARCH >= 8) +# define GLM_ARCH (GLM_ARCH_ARMV8) +# elif defined(__ARM_NEON) +# define GLM_ARCH (GLM_ARCH_ARM | GLM_ARCH_NEON) +# elif defined(__arm__ ) || defined(_M_ARM) +# define GLM_ARCH (GLM_ARCH_ARM) +# elif defined(__mips__ ) +# define GLM_ARCH (GLM_ARCH_MIPS) +# elif defined(__powerpc__ ) || defined(_M_PPC) +# define GLM_ARCH (GLM_ARCH_PPC) +# else +# define GLM_ARCH (GLM_ARCH_UNKNOWN) +# endif +#else +# if defined(__x86_64__) || defined(_M_X64) || defined(_M_IX86) || defined(__i386__) +# define GLM_ARCH (GLM_ARCH_X86) +# elif defined(__arm__) || defined(_M_ARM) +# define GLM_ARCH (GLM_ARCH_ARM) +# elif defined(__powerpc__) || defined(_M_PPC) +# define GLM_ARCH (GLM_ARCH_PPC) +# elif defined(__mips__) +# define GLM_ARCH (GLM_ARCH_MIPS) +# else +# define GLM_ARCH (GLM_ARCH_UNKNOWN) +# endif +#endif + +#if GLM_ARCH & GLM_ARCH_AVX2_BIT +# include +#elif GLM_ARCH & GLM_ARCH_AVX_BIT +# include +#elif GLM_ARCH & GLM_ARCH_SSE42_BIT +# if GLM_COMPILER & GLM_COMPILER_CLANG +# include +# endif +# include +#elif GLM_ARCH & GLM_ARCH_SSE41_BIT +# include +#elif GLM_ARCH & GLM_ARCH_SSSE3_BIT +# include +#elif GLM_ARCH & GLM_ARCH_SSE3_BIT +# include +#elif GLM_ARCH & GLM_ARCH_SSE2_BIT +# include +#elif GLM_ARCH & GLM_ARCH_NEON_BIT +# include "neon.h" +#endif//GLM_ARCH + +#if GLM_ARCH & GLM_ARCH_SSE2_BIT + typedef __m128 glm_f32vec4; + typedef __m128i glm_i32vec4; + typedef __m128i glm_u32vec4; + typedef __m128d glm_f64vec2; + typedef __m128i glm_i64vec2; + typedef __m128i glm_u64vec2; + + typedef glm_f32vec4 glm_vec4; + typedef glm_i32vec4 glm_ivec4; + typedef glm_u32vec4 glm_uvec4; + typedef glm_f64vec2 glm_dvec2; +#endif + +#if GLM_ARCH & GLM_ARCH_AVX_BIT + typedef __m256d glm_f64vec4; + typedef glm_f64vec4 glm_dvec4; +#endif + +#if GLM_ARCH & GLM_ARCH_AVX2_BIT + typedef __m256i glm_i64vec4; + typedef __m256i glm_u64vec4; +#endif + +#if GLM_ARCH & GLM_ARCH_NEON_BIT + typedef float32x4_t glm_f32vec4; + typedef int32x4_t glm_i32vec4; + typedef uint32x4_t glm_u32vec4; +#endif diff --git a/MacroLibX/third_party/glm/simd/trigonometric.h b/MacroLibX/third_party/glm/simd/trigonometric.h new file mode 100644 index 0000000..739b796 --- /dev/null +++ b/MacroLibX/third_party/glm/simd/trigonometric.h @@ -0,0 +1,9 @@ +/// @ref simd +/// @file glm/simd/trigonometric.h + +#pragma once + +#if GLM_ARCH & GLM_ARCH_SSE2_BIT + +#endif//GLM_ARCH & GLM_ARCH_SSE2_BIT + diff --git a/MacroLibX/third_party/glm/simd/vector_relational.h b/MacroLibX/third_party/glm/simd/vector_relational.h new file mode 100644 index 0000000..f7385e9 --- /dev/null +++ b/MacroLibX/third_party/glm/simd/vector_relational.h @@ -0,0 +1,8 @@ +/// @ref simd +/// @file glm/simd/vector_relational.h + +#pragma once + +#if GLM_ARCH & GLM_ARCH_SSE2_BIT + +#endif//GLM_ARCH & GLM_ARCH_SSE2_BIT diff --git a/MacroLibX/third_party/glm/trigonometric.hpp b/MacroLibX/third_party/glm/trigonometric.hpp new file mode 100644 index 0000000..fcf07f8 --- /dev/null +++ b/MacroLibX/third_party/glm/trigonometric.hpp @@ -0,0 +1,210 @@ +/// @ref core +/// @file glm/trigonometric.hpp +/// +/// @see GLSL 4.20.8 specification, section 8.1 Angle and Trigonometry Functions +/// +/// @defgroup core_func_trigonometric Angle and Trigonometry Functions +/// @ingroup core +/// +/// Function parameters specified as angle are assumed to be in units of radians. +/// In no case will any of these functions result in a divide by zero error. If +/// the divisor of a ratio is 0, then results will be undefined. +/// +/// These all operate component-wise. The description is per component. +/// +/// Include to use these core features. +/// +/// @see ext_vector_trigonometric + +#pragma once + +#include "detail/setup.hpp" +#include "detail/qualifier.hpp" + +namespace glm +{ + /// @addtogroup core_func_trigonometric + /// @{ + + /// Converts degrees to radians and returns the result. + /// + /// @tparam L Integer between 1 and 4 included that qualify the dimension of the vector + /// @tparam T Floating-point scalar types + /// @tparam Q Value from qualifier enum + /// + /// @see GLSL radians man page + /// @see GLSL 4.20.8 specification, section 8.1 Angle and Trigonometry Functions + template + GLM_FUNC_DECL GLM_CONSTEXPR vec radians(vec const& degrees); + + /// Converts radians to degrees and returns the result. + /// + /// @tparam L Integer between 1 and 4 included that qualify the dimension of the vector + /// @tparam T Floating-point scalar types + /// @tparam Q Value from qualifier enum + /// + /// @see GLSL degrees man page + /// @see GLSL 4.20.8 specification, section 8.1 Angle and Trigonometry Functions + template + GLM_FUNC_DECL GLM_CONSTEXPR vec degrees(vec const& radians); + + /// The standard trigonometric sine function. + /// The values returned by this function will range from [-1, 1]. + /// + /// @tparam L Integer between 1 and 4 included that qualify the dimension of the vector + /// @tparam T Floating-point scalar types + /// @tparam Q Value from qualifier enum + /// + /// @see GLSL sin man page + /// @see GLSL 4.20.8 specification, section 8.1 Angle and Trigonometry Functions + template + GLM_FUNC_DECL vec sin(vec const& angle); + + /// The standard trigonometric cosine function. + /// The values returned by this function will range from [-1, 1]. + /// + /// @tparam L Integer between 1 and 4 included that qualify the dimension of the vector + /// @tparam T Floating-point scalar types + /// @tparam Q Value from qualifier enum + /// + /// @see GLSL cos man page + /// @see GLSL 4.20.8 specification, section 8.1 Angle and Trigonometry Functions + template + GLM_FUNC_DECL vec cos(vec const& angle); + + /// The standard trigonometric tangent function. + /// + /// @tparam L Integer between 1 and 4 included that qualify the dimension of the vector + /// @tparam T Floating-point scalar types + /// @tparam Q Value from qualifier enum + /// + /// @see GLSL tan man page + /// @see GLSL 4.20.8 specification, section 8.1 Angle and Trigonometry Functions + template + GLM_FUNC_DECL vec tan(vec const& angle); + + /// Arc sine. Returns an angle whose sine is x. + /// The range of values returned by this function is [-PI/2, PI/2]. + /// Results are undefined if |x| > 1. + /// + /// @tparam L Integer between 1 and 4 included that qualify the dimension of the vector + /// @tparam T Floating-point scalar types + /// @tparam Q Value from qualifier enum + /// + /// @see GLSL asin man page + /// @see GLSL 4.20.8 specification, section 8.1 Angle and Trigonometry Functions + template + GLM_FUNC_DECL vec asin(vec const& x); + + /// Arc cosine. Returns an angle whose sine is x. + /// The range of values returned by this function is [0, PI]. + /// Results are undefined if |x| > 1. + /// + /// @tparam L Integer between 1 and 4 included that qualify the dimension of the vector + /// @tparam T Floating-point scalar types + /// @tparam Q Value from qualifier enum + /// + /// @see GLSL acos man page + /// @see GLSL 4.20.8 specification, section 8.1 Angle and Trigonometry Functions + template + GLM_FUNC_DECL vec acos(vec const& x); + + /// Arc tangent. Returns an angle whose tangent is y/x. + /// The signs of x and y are used to determine what + /// quadrant the angle is in. The range of values returned + /// by this function is [-PI, PI]. Results are undefined + /// if x and y are both 0. + /// + /// @tparam L Integer between 1 and 4 included that qualify the dimension of the vector + /// @tparam T Floating-point scalar types + /// @tparam Q Value from qualifier enum + /// + /// @see GLSL atan man page + /// @see GLSL 4.20.8 specification, section 8.1 Angle and Trigonometry Functions + template + GLM_FUNC_DECL vec atan(vec const& y, vec const& x); + + /// Arc tangent. Returns an angle whose tangent is y_over_x. + /// The range of values returned by this function is [-PI/2, PI/2]. + /// + /// @tparam L Integer between 1 and 4 included that qualify the dimension of the vector + /// @tparam T Floating-point scalar types + /// @tparam Q Value from qualifier enum + /// + /// @see GLSL atan man page + /// @see GLSL 4.20.8 specification, section 8.1 Angle and Trigonometry Functions + template + GLM_FUNC_DECL vec atan(vec const& y_over_x); + + /// Returns the hyperbolic sine function, (exp(x) - exp(-x)) / 2 + /// + /// @tparam L Integer between 1 and 4 included that qualify the dimension of the vector + /// @tparam T Floating-point scalar types + /// @tparam Q Value from qualifier enum + /// + /// @see GLSL sinh man page + /// @see GLSL 4.20.8 specification, section 8.1 Angle and Trigonometry Functions + template + GLM_FUNC_DECL vec sinh(vec const& angle); + + /// Returns the hyperbolic cosine function, (exp(x) + exp(-x)) / 2 + /// + /// @tparam L Integer between 1 and 4 included that qualify the dimension of the vector + /// @tparam T Floating-point scalar types + /// @tparam Q Value from qualifier enum + /// + /// @see GLSL cosh man page + /// @see GLSL 4.20.8 specification, section 8.1 Angle and Trigonometry Functions + template + GLM_FUNC_DECL vec cosh(vec const& angle); + + /// Returns the hyperbolic tangent function, sinh(angle) / cosh(angle) + /// + /// @tparam L Integer between 1 and 4 included that qualify the dimension of the vector + /// @tparam T Floating-point scalar types + /// @tparam Q Value from qualifier enum + /// + /// @see GLSL tanh man page + /// @see GLSL 4.20.8 specification, section 8.1 Angle and Trigonometry Functions + template + GLM_FUNC_DECL vec tanh(vec const& angle); + + /// Arc hyperbolic sine; returns the inverse of sinh. + /// + /// @tparam L Integer between 1 and 4 included that qualify the dimension of the vector + /// @tparam T Floating-point scalar types + /// @tparam Q Value from qualifier enum + /// + /// @see GLSL asinh man page + /// @see GLSL 4.20.8 specification, section 8.1 Angle and Trigonometry Functions + template + GLM_FUNC_DECL vec asinh(vec const& x); + + /// Arc hyperbolic cosine; returns the non-negative inverse + /// of cosh. Results are undefined if x < 1. + /// + /// @tparam L Integer between 1 and 4 included that qualify the dimension of the vector + /// @tparam T Floating-point scalar types + /// @tparam Q Value from qualifier enum + /// + /// @see GLSL acosh man page + /// @see GLSL 4.20.8 specification, section 8.1 Angle and Trigonometry Functions + template + GLM_FUNC_DECL vec acosh(vec const& x); + + /// Arc hyperbolic tangent; returns the inverse of tanh. + /// Results are undefined if abs(x) >= 1. + /// + /// @tparam L Integer between 1 and 4 included that qualify the dimension of the vector + /// @tparam T Floating-point scalar types + /// @tparam Q Value from qualifier enum + /// + /// @see GLSL atanh man page + /// @see GLSL 4.20.8 specification, section 8.1 Angle and Trigonometry Functions + template + GLM_FUNC_DECL vec atanh(vec const& x); + + /// @} +}//namespace glm + +#include "detail/func_trigonometric.inl" diff --git a/MacroLibX/third_party/glm/vec2.hpp b/MacroLibX/third_party/glm/vec2.hpp new file mode 100644 index 0000000..be768bf --- /dev/null +++ b/MacroLibX/third_party/glm/vec2.hpp @@ -0,0 +1,14 @@ +/// @ref core +/// @file glm/vec2.hpp + +#pragma once +#include "./ext/vector_bool2.hpp" +#include "./ext/vector_bool2_precision.hpp" +#include "./ext/vector_float2.hpp" +#include "./ext/vector_float2_precision.hpp" +#include "./ext/vector_double2.hpp" +#include "./ext/vector_double2_precision.hpp" +#include "./ext/vector_int2.hpp" +#include "./ext/vector_int2_precision.hpp" +#include "./ext/vector_uint2.hpp" +#include "./ext/vector_uint2_precision.hpp" diff --git a/MacroLibX/third_party/glm/vec3.hpp b/MacroLibX/third_party/glm/vec3.hpp new file mode 100644 index 0000000..f570722 --- /dev/null +++ b/MacroLibX/third_party/glm/vec3.hpp @@ -0,0 +1,14 @@ +/// @ref core +/// @file glm/vec3.hpp + +#pragma once +#include "./ext/vector_bool3.hpp" +#include "./ext/vector_bool3_precision.hpp" +#include "./ext/vector_float3.hpp" +#include "./ext/vector_float3_precision.hpp" +#include "./ext/vector_double3.hpp" +#include "./ext/vector_double3_precision.hpp" +#include "./ext/vector_int3.hpp" +#include "./ext/vector_int3_precision.hpp" +#include "./ext/vector_uint3.hpp" +#include "./ext/vector_uint3_precision.hpp" diff --git a/MacroLibX/third_party/glm/vec4.hpp b/MacroLibX/third_party/glm/vec4.hpp new file mode 100644 index 0000000..9117020 --- /dev/null +++ b/MacroLibX/third_party/glm/vec4.hpp @@ -0,0 +1,15 @@ +/// @ref core +/// @file glm/vec4.hpp + +#pragma once +#include "./ext/vector_bool4.hpp" +#include "./ext/vector_bool4_precision.hpp" +#include "./ext/vector_float4.hpp" +#include "./ext/vector_float4_precision.hpp" +#include "./ext/vector_double4.hpp" +#include "./ext/vector_double4_precision.hpp" +#include "./ext/vector_int4.hpp" +#include "./ext/vector_int4_precision.hpp" +#include "./ext/vector_uint4.hpp" +#include "./ext/vector_uint4_precision.hpp" + diff --git a/MacroLibX/third_party/glm/vector_relational.hpp b/MacroLibX/third_party/glm/vector_relational.hpp new file mode 100644 index 0000000..a0fe17e --- /dev/null +++ b/MacroLibX/third_party/glm/vector_relational.hpp @@ -0,0 +1,121 @@ +/// @ref core +/// @file glm/vector_relational.hpp +/// +/// @see GLSL 4.20.8 specification, section 8.7 Vector Relational Functions +/// +/// @defgroup core_func_vector_relational Vector Relational Functions +/// @ingroup core +/// +/// Relational and equality operators (<, <=, >, >=, ==, !=) are defined to +/// operate on scalars and produce scalar Boolean results. For vector results, +/// use the following built-in functions. +/// +/// In all cases, the sizes of all the input and return vectors for any particular +/// call must match. +/// +/// Include to use these core features. +/// +/// @see ext_vector_relational + +#pragma once + +#include "detail/qualifier.hpp" +#include "detail/setup.hpp" + +namespace glm +{ + /// @addtogroup core_func_vector_relational + /// @{ + + /// Returns the component-wise comparison result of x < y. + /// + /// @tparam L An integer between 1 and 4 included that qualify the dimension of the vector. + /// @tparam T A floating-point or integer scalar type. + /// + /// @see GLSL lessThan man page + /// @see GLSL 4.20.8 specification, section 8.7 Vector Relational Functions + template + GLM_FUNC_DECL GLM_CONSTEXPR vec lessThan(vec const& x, vec const& y); + + /// Returns the component-wise comparison of result x <= y. + /// + /// @tparam L An integer between 1 and 4 included that qualify the dimension of the vector. + /// @tparam T A floating-point or integer scalar type. + /// + /// @see GLSL lessThanEqual man page + /// @see GLSL 4.20.8 specification, section 8.7 Vector Relational Functions + template + GLM_FUNC_DECL GLM_CONSTEXPR vec lessThanEqual(vec const& x, vec const& y); + + /// Returns the component-wise comparison of result x > y. + /// + /// @tparam L An integer between 1 and 4 included that qualify the dimension of the vector. + /// @tparam T A floating-point or integer scalar type. + /// + /// @see GLSL greaterThan man page + /// @see GLSL 4.20.8 specification, section 8.7 Vector Relational Functions + template + GLM_FUNC_DECL GLM_CONSTEXPR vec greaterThan(vec const& x, vec const& y); + + /// Returns the component-wise comparison of result x >= y. + /// + /// @tparam L An integer between 1 and 4 included that qualify the dimension of the vector. + /// @tparam T A floating-point or integer scalar type. + /// + /// @see GLSL greaterThanEqual man page + /// @see GLSL 4.20.8 specification, section 8.7 Vector Relational Functions + template + GLM_FUNC_DECL GLM_CONSTEXPR vec greaterThanEqual(vec const& x, vec const& y); + + /// Returns the component-wise comparison of result x == y. + /// + /// @tparam L An integer between 1 and 4 included that qualify the dimension of the vector. + /// @tparam T A floating-point, integer or bool scalar type. + /// + /// @see GLSL equal man page + /// @see GLSL 4.20.8 specification, section 8.7 Vector Relational Functions + template + GLM_FUNC_DECL GLM_CONSTEXPR vec equal(vec const& x, vec const& y); + + /// Returns the component-wise comparison of result x != y. + /// + /// @tparam L An integer between 1 and 4 included that qualify the dimension of the vector. + /// @tparam T A floating-point, integer or bool scalar type. + /// + /// @see GLSL notEqual man page + /// @see GLSL 4.20.8 specification, section 8.7 Vector Relational Functions + template + GLM_FUNC_DECL GLM_CONSTEXPR vec notEqual(vec const& x, vec const& y); + + /// Returns true if any component of x is true. + /// + /// @tparam L An integer between 1 and 4 included that qualify the dimension of the vector. + /// + /// @see GLSL any man page + /// @see GLSL 4.20.8 specification, section 8.7 Vector Relational Functions + template + GLM_FUNC_DECL GLM_CONSTEXPR bool any(vec const& v); + + /// Returns true if all components of x are true. + /// + /// @tparam L An integer between 1 and 4 included that qualify the dimension of the vector. + /// + /// @see GLSL all man page + /// @see GLSL 4.20.8 specification, section 8.7 Vector Relational Functions + template + GLM_FUNC_DECL GLM_CONSTEXPR bool all(vec const& v); + + /// Returns the component-wise logical complement of x. + /// /!\ Because of language incompatibilities between C++ and GLSL, GLM defines the function not but not_ instead. + /// + /// @tparam L An integer between 1 and 4 included that qualify the dimension of the vector. + /// + /// @see GLSL not man page + /// @see GLSL 4.20.8 specification, section 8.7 Vector Relational Functions + template + GLM_FUNC_DECL GLM_CONSTEXPR vec not_(vec const& v); + + /// @} +}//namespace glm + +#include "detail/func_vector_relational.inl" diff --git a/MacroLibX/third_party/stb_image.h b/MacroLibX/third_party/stb_image.h new file mode 100644 index 0000000..5e807a0 --- /dev/null +++ b/MacroLibX/third_party/stb_image.h @@ -0,0 +1,7987 @@ +/* stb_image - v2.28 - public domain image loader - http://nothings.org/stb + no warranty implied; use at your own risk + + Do this: + #define STB_IMAGE_IMPLEMENTATION + before you include this file in *one* C or C++ file to create the implementation. + + // i.e. it should look like this: + #include ... + #include ... + #include ... + #define STB_IMAGE_IMPLEMENTATION + #include "stb_image.h" + + You can #define STBI_ASSERT(x) before the #include to avoid using assert.h. + And #define STBI_MALLOC, STBI_REALLOC, and STBI_FREE to avoid using malloc,realloc,free + + + QUICK NOTES: + Primarily of interest to game developers and other people who can + avoid problematic images and only need the trivial interface + + JPEG baseline & progressive (12 bpc/arithmetic not supported, same as stock IJG lib) + PNG 1/2/4/8/16-bit-per-channel + + TGA (not sure what subset, if a subset) + BMP non-1bpp, non-RLE + PSD (composited view only, no extra channels, 8/16 bit-per-channel) + + GIF (*comp always reports as 4-channel) + HDR (radiance rgbE format) + PIC (Softimage PIC) + PNM (PPM and PGM binary only) + + Animated GIF still needs a proper API, but here's one way to do it: + http://gist.github.com/urraka/685d9a6340b26b830d49 + + - decode from memory or through FILE (define STBI_NO_STDIO to remove code) + - decode from arbitrary I/O callbacks + - SIMD acceleration on x86/x64 (SSE2) and ARM (NEON) + + Full documentation under "DOCUMENTATION" below. + + +LICENSE + + See end of file for license information. + +RECENT REVISION HISTORY: + + 2.28 (2023-01-29) many error fixes, security errors, just tons of stuff + 2.27 (2021-07-11) document stbi_info better, 16-bit PNM support, bug fixes + 2.26 (2020-07-13) many minor fixes + 2.25 (2020-02-02) fix warnings + 2.24 (2020-02-02) fix warnings; thread-local failure_reason and flip_vertically + 2.23 (2019-08-11) fix clang static analysis warning + 2.22 (2019-03-04) gif fixes, fix warnings + 2.21 (2019-02-25) fix typo in comment + 2.20 (2019-02-07) support utf8 filenames in Windows; fix warnings and platform ifdefs + 2.19 (2018-02-11) fix warning + 2.18 (2018-01-30) fix warnings + 2.17 (2018-01-29) bugfix, 1-bit BMP, 16-bitness query, fix warnings + 2.16 (2017-07-23) all functions have 16-bit variants; optimizations; bugfixes + 2.15 (2017-03-18) fix png-1,2,4; all Imagenet JPGs; no runtime SSE detection on GCC + 2.14 (2017-03-03) remove deprecated STBI_JPEG_OLD; fixes for Imagenet JPGs + 2.13 (2016-12-04) experimental 16-bit API, only for PNG so far; fixes + 2.12 (2016-04-02) fix typo in 2.11 PSD fix that caused crashes + 2.11 (2016-04-02) 16-bit PNGS; enable SSE2 in non-gcc x64 + RGB-format JPEG; remove white matting in PSD; + allocate large structures on the stack; + correct channel count for PNG & BMP + 2.10 (2016-01-22) avoid warning introduced in 2.09 + 2.09 (2016-01-16) 16-bit TGA; comments in PNM files; STBI_REALLOC_SIZED + + See end of file for full revision history. + + + ============================ Contributors ========================= + + Image formats Extensions, features + Sean Barrett (jpeg, png, bmp) Jetro Lauha (stbi_info) + Nicolas Schulz (hdr, psd) Martin "SpartanJ" Golini (stbi_info) + Jonathan Dummer (tga) James "moose2000" Brown (iPhone PNG) + Jean-Marc Lienher (gif) Ben "Disch" Wenger (io callbacks) + Tom Seddon (pic) Omar Cornut (1/2/4-bit PNG) + Thatcher Ulrich (psd) Nicolas Guillemot (vertical flip) + Ken Miller (pgm, ppm) Richard Mitton (16-bit PSD) + github:urraka (animated gif) Junggon Kim (PNM comments) + Christopher Forseth (animated gif) Daniel Gibson (16-bit TGA) + socks-the-fox (16-bit PNG) + Jeremy Sawicki (handle all ImageNet JPGs) + Optimizations & bugfixes Mikhail Morozov (1-bit BMP) + Fabian "ryg" Giesen Anael Seghezzi (is-16-bit query) + Arseny Kapoulkine Simon Breuss (16-bit PNM) + John-Mark Allen + Carmelo J Fdez-Aguera + + Bug & warning fixes + Marc LeBlanc David Woo Guillaume George Martins Mozeiko + Christpher Lloyd Jerry Jansson Joseph Thomson Blazej Dariusz Roszkowski + Phil Jordan Dave Moore Roy Eltham + Hayaki Saito Nathan Reed Won Chun + Luke Graham Johan Duparc Nick Verigakis the Horde3D community + Thomas Ruf Ronny Chevalier github:rlyeh + Janez Zemva John Bartholomew Michal Cichon github:romigrou + Jonathan Blow Ken Hamada Tero Hanninen github:svdijk + Eugene Golushkov Laurent Gomila Cort Stratton github:snagar + Aruelien Pocheville Sergio Gonzalez Thibault Reuille github:Zelex + Cass Everitt Ryamond Barbiero github:grim210 + Paul Du Bois Engin Manap Aldo Culquicondor github:sammyhw + Philipp Wiesemann Dale Weiler Oriol Ferrer Mesia github:phprus + Josh Tobin Neil Bickford Matthew Gregan github:poppolopoppo + Julian Raschke Gregory Mullen Christian Floisand github:darealshinji + Baldur Karlsson Kevin Schmidt JR Smith github:Michaelangel007 + Brad Weinberger Matvey Cherevko github:mosra + Luca Sas Alexander Veselov Zack Middleton [reserved] + Ryan C. Gordon [reserved] [reserved] + DO NOT ADD YOUR NAME HERE + + Jacko Dirks + + To add your name to the credits, pick a random blank space in the middle and fill it. + 80% of merge conflicts on stb PRs are due to people adding their name at the end + of the credits. +*/ + +#ifndef STBI_INCLUDE_STB_IMAGE_H +#define STBI_INCLUDE_STB_IMAGE_H + +// DOCUMENTATION +// +// Limitations: +// - no 12-bit-per-channel JPEG +// - no JPEGs with arithmetic coding +// - GIF always returns *comp=4 +// +// Basic usage (see HDR discussion below for HDR usage): +// int x,y,n; +// unsigned char *data = stbi_load(filename, &x, &y, &n, 0); +// // ... process data if not NULL ... +// // ... x = width, y = height, n = # 8-bit components per pixel ... +// // ... replace '0' with '1'..'4' to force that many components per pixel +// // ... but 'n' will always be the number that it would have been if you said 0 +// stbi_image_free(data); +// +// Standard parameters: +// int *x -- outputs image width in pixels +// int *y -- outputs image height in pixels +// int *channels_in_file -- outputs # of image components in image file +// int desired_channels -- if non-zero, # of image components requested in result +// +// The return value from an image loader is an 'unsigned char *' which points +// to the pixel data, or NULL on an allocation failure or if the image is +// corrupt or invalid. The pixel data consists of *y scanlines of *x pixels, +// with each pixel consisting of N interleaved 8-bit components; the first +// pixel pointed to is top-left-most in the image. There is no padding between +// image scanlines or between pixels, regardless of format. The number of +// components N is 'desired_channels' if desired_channels is non-zero, or +// *channels_in_file otherwise. If desired_channels is non-zero, +// *channels_in_file has the number of components that _would_ have been +// output otherwise. E.g. if you set desired_channels to 4, you will always +// get RGBA output, but you can check *channels_in_file to see if it's trivially +// opaque because e.g. there were only 3 channels in the source image. +// +// An output image with N components has the following components interleaved +// in this order in each pixel: +// +// N=#comp components +// 1 grey +// 2 grey, alpha +// 3 red, green, blue +// 4 red, green, blue, alpha +// +// If image loading fails for any reason, the return value will be NULL, +// and *x, *y, *channels_in_file will be unchanged. The function +// stbi_failure_reason() can be queried for an extremely brief, end-user +// unfriendly explanation of why the load failed. Define STBI_NO_FAILURE_STRINGS +// to avoid compiling these strings at all, and STBI_FAILURE_USERMSG to get slightly +// more user-friendly ones. +// +// Paletted PNG, BMP, GIF, and PIC images are automatically depalettized. +// +// To query the width, height and component count of an image without having to +// decode the full file, you can use the stbi_info family of functions: +// +// int x,y,n,ok; +// ok = stbi_info(filename, &x, &y, &n); +// // returns ok=1 and sets x, y, n if image is a supported format, +// // 0 otherwise. +// +// Note that stb_image pervasively uses ints in its public API for sizes, +// including sizes of memory buffers. This is now part of the API and thus +// hard to change without causing breakage. As a result, the various image +// loaders all have certain limits on image size; these differ somewhat +// by format but generally boil down to either just under 2GB or just under +// 1GB. When the decoded image would be larger than this, stb_image decoding +// will fail. +// +// Additionally, stb_image will reject image files that have any of their +// dimensions set to a larger value than the configurable STBI_MAX_DIMENSIONS, +// which defaults to 2**24 = 16777216 pixels. Due to the above memory limit, +// the only way to have an image with such dimensions load correctly +// is for it to have a rather extreme aspect ratio. Either way, the +// assumption here is that such larger images are likely to be malformed +// or malicious. If you do need to load an image with individual dimensions +// larger than that, and it still fits in the overall size limit, you can +// #define STBI_MAX_DIMENSIONS on your own to be something larger. +// +// =========================================================================== +// +// UNICODE: +// +// If compiling for Windows and you wish to use Unicode filenames, compile +// with +// #define STBI_WINDOWS_UTF8 +// and pass utf8-encoded filenames. Call stbi_convert_wchar_to_utf8 to convert +// Windows wchar_t filenames to utf8. +// +// =========================================================================== +// +// Philosophy +// +// stb libraries are designed with the following priorities: +// +// 1. easy to use +// 2. easy to maintain +// 3. good performance +// +// Sometimes I let "good performance" creep up in priority over "easy to maintain", +// and for best performance I may provide less-easy-to-use APIs that give higher +// performance, in addition to the easy-to-use ones. Nevertheless, it's important +// to keep in mind that from the standpoint of you, a client of this library, +// all you care about is #1 and #3, and stb libraries DO NOT emphasize #3 above all. +// +// Some secondary priorities arise directly from the first two, some of which +// provide more explicit reasons why performance can't be emphasized. +// +// - Portable ("ease of use") +// - Small source code footprint ("easy to maintain") +// - No dependencies ("ease of use") +// +// =========================================================================== +// +// I/O callbacks +// +// I/O callbacks allow you to read from arbitrary sources, like packaged +// files or some other source. Data read from callbacks are processed +// through a small internal buffer (currently 128 bytes) to try to reduce +// overhead. +// +// The three functions you must define are "read" (reads some bytes of data), +// "skip" (skips some bytes of data), "eof" (reports if the stream is at the end). +// +// =========================================================================== +// +// SIMD support +// +// The JPEG decoder will try to automatically use SIMD kernels on x86 when +// supported by the compiler. For ARM Neon support, you must explicitly +// request it. +// +// (The old do-it-yourself SIMD API is no longer supported in the current +// code.) +// +// On x86, SSE2 will automatically be used when available based on a run-time +// test; if not, the generic C versions are used as a fall-back. On ARM targets, +// the typical path is to have separate builds for NEON and non-NEON devices +// (at least this is true for iOS and Android). Therefore, the NEON support is +// toggled by a build flag: define STBI_NEON to get NEON loops. +// +// If for some reason you do not want to use any of SIMD code, or if +// you have issues compiling it, you can disable it entirely by +// defining STBI_NO_SIMD. +// +// =========================================================================== +// +// HDR image support (disable by defining STBI_NO_HDR) +// +// stb_image supports loading HDR images in general, and currently the Radiance +// .HDR file format specifically. You can still load any file through the existing +// interface; if you attempt to load an HDR file, it will be automatically remapped +// to LDR, assuming gamma 2.2 and an arbitrary scale factor defaulting to 1; +// both of these constants can be reconfigured through this interface: +// +// stbi_hdr_to_ldr_gamma(2.2f); +// stbi_hdr_to_ldr_scale(1.0f); +// +// (note, do not use _inverse_ constants; stbi_image will invert them +// appropriately). +// +// Additionally, there is a new, parallel interface for loading files as +// (linear) floats to preserve the full dynamic range: +// +// float *data = stbi_loadf(filename, &x, &y, &n, 0); +// +// If you load LDR images through this interface, those images will +// be promoted to floating point values, run through the inverse of +// constants corresponding to the above: +// +// stbi_ldr_to_hdr_scale(1.0f); +// stbi_ldr_to_hdr_gamma(2.2f); +// +// Finally, given a filename (or an open file or memory block--see header +// file for details) containing image data, you can query for the "most +// appropriate" interface to use (that is, whether the image is HDR or +// not), using: +// +// stbi_is_hdr(char *filename); +// +// =========================================================================== +// +// iPhone PNG support: +// +// We optionally support converting iPhone-formatted PNGs (which store +// premultiplied BGRA) back to RGB, even though they're internally encoded +// differently. To enable this conversion, call +// stbi_convert_iphone_png_to_rgb(1). +// +// Call stbi_set_unpremultiply_on_load(1) as well to force a divide per +// pixel to remove any premultiplied alpha *only* if the image file explicitly +// says there's premultiplied data (currently only happens in iPhone images, +// and only if iPhone convert-to-rgb processing is on). +// +// =========================================================================== +// +// ADDITIONAL CONFIGURATION +// +// - You can suppress implementation of any of the decoders to reduce +// your code footprint by #defining one or more of the following +// symbols before creating the implementation. +// +// STBI_NO_JPEG +// STBI_NO_PNG +// STBI_NO_BMP +// STBI_NO_PSD +// STBI_NO_TGA +// STBI_NO_GIF +// STBI_NO_HDR +// STBI_NO_PIC +// STBI_NO_PNM (.ppm and .pgm) +// +// - You can request *only* certain decoders and suppress all other ones +// (this will be more forward-compatible, as addition of new decoders +// doesn't require you to disable them explicitly): +// +// STBI_ONLY_JPEG +// STBI_ONLY_PNG +// STBI_ONLY_BMP +// STBI_ONLY_PSD +// STBI_ONLY_TGA +// STBI_ONLY_GIF +// STBI_ONLY_HDR +// STBI_ONLY_PIC +// STBI_ONLY_PNM (.ppm and .pgm) +// +// - If you use STBI_NO_PNG (or _ONLY_ without PNG), and you still +// want the zlib decoder to be available, #define STBI_SUPPORT_ZLIB +// +// - If you define STBI_MAX_DIMENSIONS, stb_image will reject images greater +// than that size (in either width or height) without further processing. +// This is to let programs in the wild set an upper bound to prevent +// denial-of-service attacks on untrusted data, as one could generate a +// valid image of gigantic dimensions and force stb_image to allocate a +// huge block of memory and spend disproportionate time decoding it. By +// default this is set to (1 << 24), which is 16777216, but that's still +// very big. + +#ifndef STBI_NO_STDIO +#include +#endif // STBI_NO_STDIO + +#define STBI_VERSION 1 + +enum +{ + STBI_default = 0, // only used for desired_channels + + STBI_grey = 1, + STBI_grey_alpha = 2, + STBI_rgb = 3, + STBI_rgb_alpha = 4 +}; + +#include +typedef unsigned char stbi_uc; +typedef unsigned short stbi_us; + +#ifdef __cplusplus +extern "C" { +#endif + +#ifndef STBIDEF +#ifdef STB_IMAGE_STATIC +#define STBIDEF static +#else +#define STBIDEF extern +#endif +#endif + +////////////////////////////////////////////////////////////////////////////// +// +// PRIMARY API - works on images of any type +// + +// +// load image by filename, open file, or memory buffer +// + +typedef struct +{ + int (*read) (void *user,char *data,int size); // fill 'data' with 'size' bytes. return number of bytes actually read + void (*skip) (void *user,int n); // skip the next 'n' bytes, or 'unget' the last -n bytes if negative + int (*eof) (void *user); // returns nonzero if we are at end of file/data +} stbi_io_callbacks; + +//////////////////////////////////// +// +// 8-bits-per-channel interface +// + +STBIDEF stbi_uc *stbi_load_from_memory (stbi_uc const *buffer, int len , int *x, int *y, int *channels_in_file, int desired_channels); +STBIDEF stbi_uc *stbi_load_from_callbacks(stbi_io_callbacks const *clbk , void *user, int *x, int *y, int *channels_in_file, int desired_channels); + +#ifndef STBI_NO_STDIO +STBIDEF stbi_uc *stbi_load (char const *filename, int *x, int *y, int *channels_in_file, int desired_channels); +STBIDEF stbi_uc *stbi_load_from_file (FILE *f, int *x, int *y, int *channels_in_file, int desired_channels); +// for stbi_load_from_file, file pointer is left pointing immediately after image +#endif + +#ifndef STBI_NO_GIF +STBIDEF stbi_uc *stbi_load_gif_from_memory(stbi_uc const *buffer, int len, int **delays, int *x, int *y, int *z, int *comp, int req_comp); +#endif + +#ifdef STBI_WINDOWS_UTF8 +STBIDEF int stbi_convert_wchar_to_utf8(char *buffer, size_t bufferlen, const wchar_t* input); +#endif + +//////////////////////////////////// +// +// 16-bits-per-channel interface +// + +STBIDEF stbi_us *stbi_load_16_from_memory (stbi_uc const *buffer, int len, int *x, int *y, int *channels_in_file, int desired_channels); +STBIDEF stbi_us *stbi_load_16_from_callbacks(stbi_io_callbacks const *clbk, void *user, int *x, int *y, int *channels_in_file, int desired_channels); + +#ifndef STBI_NO_STDIO +STBIDEF stbi_us *stbi_load_16 (char const *filename, int *x, int *y, int *channels_in_file, int desired_channels); +STBIDEF stbi_us *stbi_load_from_file_16(FILE *f, int *x, int *y, int *channels_in_file, int desired_channels); +#endif + +//////////////////////////////////// +// +// float-per-channel interface +// +#ifndef STBI_NO_LINEAR + STBIDEF float *stbi_loadf_from_memory (stbi_uc const *buffer, int len, int *x, int *y, int *channels_in_file, int desired_channels); + STBIDEF float *stbi_loadf_from_callbacks (stbi_io_callbacks const *clbk, void *user, int *x, int *y, int *channels_in_file, int desired_channels); + + #ifndef STBI_NO_STDIO + STBIDEF float *stbi_loadf (char const *filename, int *x, int *y, int *channels_in_file, int desired_channels); + STBIDEF float *stbi_loadf_from_file (FILE *f, int *x, int *y, int *channels_in_file, int desired_channels); + #endif +#endif + +#ifndef STBI_NO_HDR + STBIDEF void stbi_hdr_to_ldr_gamma(float gamma); + STBIDEF void stbi_hdr_to_ldr_scale(float scale); +#endif // STBI_NO_HDR + +#ifndef STBI_NO_LINEAR + STBIDEF void stbi_ldr_to_hdr_gamma(float gamma); + STBIDEF void stbi_ldr_to_hdr_scale(float scale); +#endif // STBI_NO_LINEAR + +// stbi_is_hdr is always defined, but always returns false if STBI_NO_HDR +STBIDEF int stbi_is_hdr_from_callbacks(stbi_io_callbacks const *clbk, void *user); +STBIDEF int stbi_is_hdr_from_memory(stbi_uc const *buffer, int len); +#ifndef STBI_NO_STDIO +STBIDEF int stbi_is_hdr (char const *filename); +STBIDEF int stbi_is_hdr_from_file(FILE *f); +#endif // STBI_NO_STDIO + + +// get a VERY brief reason for failure +// on most compilers (and ALL modern mainstream compilers) this is threadsafe +STBIDEF const char *stbi_failure_reason (void); + +// free the loaded image -- this is just free() +STBIDEF void stbi_image_free (void *retval_from_stbi_load); + +// get image dimensions & components without fully decoding +STBIDEF int stbi_info_from_memory(stbi_uc const *buffer, int len, int *x, int *y, int *comp); +STBIDEF int stbi_info_from_callbacks(stbi_io_callbacks const *clbk, void *user, int *x, int *y, int *comp); +STBIDEF int stbi_is_16_bit_from_memory(stbi_uc const *buffer, int len); +STBIDEF int stbi_is_16_bit_from_callbacks(stbi_io_callbacks const *clbk, void *user); + +#ifndef STBI_NO_STDIO +STBIDEF int stbi_info (char const *filename, int *x, int *y, int *comp); +STBIDEF int stbi_info_from_file (FILE *f, int *x, int *y, int *comp); +STBIDEF int stbi_is_16_bit (char const *filename); +STBIDEF int stbi_is_16_bit_from_file(FILE *f); +#endif + + + +// for image formats that explicitly notate that they have premultiplied alpha, +// we just return the colors as stored in the file. set this flag to force +// unpremultiplication. results are undefined if the unpremultiply overflow. +STBIDEF void stbi_set_unpremultiply_on_load(int flag_true_if_should_unpremultiply); + +// indicate whether we should process iphone images back to canonical format, +// or just pass them through "as-is" +STBIDEF void stbi_convert_iphone_png_to_rgb(int flag_true_if_should_convert); + +// flip the image vertically, so the first pixel in the output array is the bottom left +STBIDEF void stbi_set_flip_vertically_on_load(int flag_true_if_should_flip); + +// as above, but only applies to images loaded on the thread that calls the function +// this function is only available if your compiler supports thread-local variables; +// calling it will fail to link if your compiler doesn't +STBIDEF void stbi_set_unpremultiply_on_load_thread(int flag_true_if_should_unpremultiply); +STBIDEF void stbi_convert_iphone_png_to_rgb_thread(int flag_true_if_should_convert); +STBIDEF void stbi_set_flip_vertically_on_load_thread(int flag_true_if_should_flip); + +// ZLIB client - used by PNG, available for other purposes + +STBIDEF char *stbi_zlib_decode_malloc_guesssize(const char *buffer, int len, int initial_size, int *outlen); +STBIDEF char *stbi_zlib_decode_malloc_guesssize_headerflag(const char *buffer, int len, int initial_size, int *outlen, int parse_header); +STBIDEF char *stbi_zlib_decode_malloc(const char *buffer, int len, int *outlen); +STBIDEF int stbi_zlib_decode_buffer(char *obuffer, int olen, const char *ibuffer, int ilen); + +STBIDEF char *stbi_zlib_decode_noheader_malloc(const char *buffer, int len, int *outlen); +STBIDEF int stbi_zlib_decode_noheader_buffer(char *obuffer, int olen, const char *ibuffer, int ilen); + + +#ifdef __cplusplus +} +#endif + +// +// +//// end header file ///////////////////////////////////////////////////// +#endif // STBI_INCLUDE_STB_IMAGE_H + +#ifdef STB_IMAGE_IMPLEMENTATION + +#if defined(STBI_ONLY_JPEG) || defined(STBI_ONLY_PNG) || defined(STBI_ONLY_BMP) \ + || defined(STBI_ONLY_TGA) || defined(STBI_ONLY_GIF) || defined(STBI_ONLY_PSD) \ + || defined(STBI_ONLY_HDR) || defined(STBI_ONLY_PIC) || defined(STBI_ONLY_PNM) \ + || defined(STBI_ONLY_ZLIB) + #ifndef STBI_ONLY_JPEG + #define STBI_NO_JPEG + #endif + #ifndef STBI_ONLY_PNG + #define STBI_NO_PNG + #endif + #ifndef STBI_ONLY_BMP + #define STBI_NO_BMP + #endif + #ifndef STBI_ONLY_PSD + #define STBI_NO_PSD + #endif + #ifndef STBI_ONLY_TGA + #define STBI_NO_TGA + #endif + #ifndef STBI_ONLY_GIF + #define STBI_NO_GIF + #endif + #ifndef STBI_ONLY_HDR + #define STBI_NO_HDR + #endif + #ifndef STBI_ONLY_PIC + #define STBI_NO_PIC + #endif + #ifndef STBI_ONLY_PNM + #define STBI_NO_PNM + #endif +#endif + +#if defined(STBI_NO_PNG) && !defined(STBI_SUPPORT_ZLIB) && !defined(STBI_NO_ZLIB) +#define STBI_NO_ZLIB +#endif + + +#include +#include // ptrdiff_t on osx +#include +#include +#include + +#if !defined(STBI_NO_LINEAR) || !defined(STBI_NO_HDR) +#include // ldexp, pow +#endif + +#ifndef STBI_NO_STDIO +#include +#endif + +#ifndef STBI_ASSERT +#include +#define STBI_ASSERT(x) assert(x) +#endif + +#ifdef __cplusplus +#define STBI_EXTERN extern "C" +#else +#define STBI_EXTERN extern +#endif + + +#ifndef _MSC_VER + #ifdef __cplusplus + #define stbi_inline inline + #else + #define stbi_inline + #endif +#else + #define stbi_inline __forceinline +#endif + +#ifndef STBI_NO_THREAD_LOCALS + #if defined(__cplusplus) && __cplusplus >= 201103L + #define STBI_THREAD_LOCAL thread_local + #elif defined(__GNUC__) && __GNUC__ < 5 + #define STBI_THREAD_LOCAL __thread + #elif defined(_MSC_VER) + #define STBI_THREAD_LOCAL __declspec(thread) + #elif defined (__STDC_VERSION__) && __STDC_VERSION__ >= 201112L && !defined(__STDC_NO_THREADS__) + #define STBI_THREAD_LOCAL _Thread_local + #endif + + #ifndef STBI_THREAD_LOCAL + #if defined(__GNUC__) + #define STBI_THREAD_LOCAL __thread + #endif + #endif +#endif + +#if defined(_MSC_VER) || defined(__SYMBIAN32__) +typedef unsigned short stbi__uint16; +typedef signed short stbi__int16; +typedef unsigned int stbi__uint32; +typedef signed int stbi__int32; +#else +#include +typedef uint16_t stbi__uint16; +typedef int16_t stbi__int16; +typedef uint32_t stbi__uint32; +typedef int32_t stbi__int32; +#endif + +// should produce compiler error if size is wrong +typedef unsigned char validate_uint32[sizeof(stbi__uint32)==4 ? 1 : -1]; + +#ifdef _MSC_VER +#define STBI_NOTUSED(v) (void)(v) +#else +#define STBI_NOTUSED(v) (void)sizeof(v) +#endif + +#ifdef _MSC_VER +#define STBI_HAS_LROTL +#endif + +#ifdef STBI_HAS_LROTL + #define stbi_lrot(x,y) _lrotl(x,y) +#else + #define stbi_lrot(x,y) (((x) << (y)) | ((x) >> (-(y) & 31))) +#endif + +#if defined(STBI_MALLOC) && defined(STBI_FREE) && (defined(STBI_REALLOC) || defined(STBI_REALLOC_SIZED)) +// ok +#elif !defined(STBI_MALLOC) && !defined(STBI_FREE) && !defined(STBI_REALLOC) && !defined(STBI_REALLOC_SIZED) +// ok +#else +#error "Must define all or none of STBI_MALLOC, STBI_FREE, and STBI_REALLOC (or STBI_REALLOC_SIZED)." +#endif + +#ifndef STBI_MALLOC +#define STBI_MALLOC(sz) malloc(sz) +#define STBI_REALLOC(p,newsz) realloc(p,newsz) +#define STBI_FREE(p) free(p) +#endif + +#ifndef STBI_REALLOC_SIZED +#define STBI_REALLOC_SIZED(p,oldsz,newsz) STBI_REALLOC(p,newsz) +#endif + +// x86/x64 detection +#if defined(__x86_64__) || defined(_M_X64) +#define STBI__X64_TARGET +#elif defined(__i386) || defined(_M_IX86) +#define STBI__X86_TARGET +#endif + +#if defined(__GNUC__) && defined(STBI__X86_TARGET) && !defined(__SSE2__) && !defined(STBI_NO_SIMD) +// gcc doesn't support sse2 intrinsics unless you compile with -msse2, +// which in turn means it gets to use SSE2 everywhere. This is unfortunate, +// but previous attempts to provide the SSE2 functions with runtime +// detection caused numerous issues. The way architecture extensions are +// exposed in GCC/Clang is, sadly, not really suited for one-file libs. +// New behavior: if compiled with -msse2, we use SSE2 without any +// detection; if not, we don't use it at all. +#define STBI_NO_SIMD +#endif + +#if defined(__MINGW32__) && defined(STBI__X86_TARGET) && !defined(STBI_MINGW_ENABLE_SSE2) && !defined(STBI_NO_SIMD) +// Note that __MINGW32__ doesn't actually mean 32-bit, so we have to avoid STBI__X64_TARGET +// +// 32-bit MinGW wants ESP to be 16-byte aligned, but this is not in the +// Windows ABI and VC++ as well as Windows DLLs don't maintain that invariant. +// As a result, enabling SSE2 on 32-bit MinGW is dangerous when not +// simultaneously enabling "-mstackrealign". +// +// See https://github.com/nothings/stb/issues/81 for more information. +// +// So default to no SSE2 on 32-bit MinGW. If you've read this far and added +// -mstackrealign to your build settings, feel free to #define STBI_MINGW_ENABLE_SSE2. +#define STBI_NO_SIMD +#endif + +#if !defined(STBI_NO_SIMD) && (defined(STBI__X86_TARGET) || defined(STBI__X64_TARGET)) +#define STBI_SSE2 +#include + +#ifdef _MSC_VER + +#if _MSC_VER >= 1400 // not VC6 +#include // __cpuid +static int stbi__cpuid3(void) +{ + int info[4]; + __cpuid(info,1); + return info[3]; +} +#else +static int stbi__cpuid3(void) +{ + int res; + __asm { + mov eax,1 + cpuid + mov res,edx + } + return res; +} +#endif + +#define STBI_SIMD_ALIGN(type, name) __declspec(align(16)) type name + +#if !defined(STBI_NO_JPEG) && defined(STBI_SSE2) +static int stbi__sse2_available(void) +{ + int info3 = stbi__cpuid3(); + return ((info3 >> 26) & 1) != 0; +} +#endif + +#else // assume GCC-style if not VC++ +#define STBI_SIMD_ALIGN(type, name) type name __attribute__((aligned(16))) + +#if !defined(STBI_NO_JPEG) && defined(STBI_SSE2) +static int stbi__sse2_available(void) +{ + // If we're even attempting to compile this on GCC/Clang, that means + // -msse2 is on, which means the compiler is allowed to use SSE2 + // instructions at will, and so are we. + return 1; +} +#endif + +#endif +#endif + +// ARM NEON +#if defined(STBI_NO_SIMD) && defined(STBI_NEON) +#undef STBI_NEON +#endif + +#ifdef STBI_NEON +#include +#ifdef _MSC_VER +#define STBI_SIMD_ALIGN(type, name) __declspec(align(16)) type name +#else +#define STBI_SIMD_ALIGN(type, name) type name __attribute__((aligned(16))) +#endif +#endif + +#ifndef STBI_SIMD_ALIGN +#define STBI_SIMD_ALIGN(type, name) type name +#endif + +#ifndef STBI_MAX_DIMENSIONS +#define STBI_MAX_DIMENSIONS (1 << 24) +#endif + +/////////////////////////////////////////////// +// +// stbi__context struct and start_xxx functions + +// stbi__context structure is our basic context used by all images, so it +// contains all the IO context, plus some basic image information +typedef struct +{ + stbi__uint32 img_x, img_y; + int img_n, img_out_n; + + stbi_io_callbacks io; + void *io_user_data; + + int read_from_callbacks; + int buflen; + stbi_uc buffer_start[128]; + int callback_already_read; + + stbi_uc *img_buffer, *img_buffer_end; + stbi_uc *img_buffer_original, *img_buffer_original_end; +} stbi__context; + + +static void stbi__refill_buffer(stbi__context *s); + +// initialize a memory-decode context +static void stbi__start_mem(stbi__context *s, stbi_uc const *buffer, int len) +{ + s->io.read = NULL; + s->read_from_callbacks = 0; + s->callback_already_read = 0; + s->img_buffer = s->img_buffer_original = (stbi_uc *) buffer; + s->img_buffer_end = s->img_buffer_original_end = (stbi_uc *) buffer+len; +} + +// initialize a callback-based context +static void stbi__start_callbacks(stbi__context *s, stbi_io_callbacks *c, void *user) +{ + s->io = *c; + s->io_user_data = user; + s->buflen = sizeof(s->buffer_start); + s->read_from_callbacks = 1; + s->callback_already_read = 0; + s->img_buffer = s->img_buffer_original = s->buffer_start; + stbi__refill_buffer(s); + s->img_buffer_original_end = s->img_buffer_end; +} + +#ifndef STBI_NO_STDIO + +static int stbi__stdio_read(void *user, char *data, int size) +{ + return (int) fread(data,1,size,(FILE*) user); +} + +static void stbi__stdio_skip(void *user, int n) +{ + int ch; + fseek((FILE*) user, n, SEEK_CUR); + ch = fgetc((FILE*) user); /* have to read a byte to reset feof()'s flag */ + if (ch != EOF) { + ungetc(ch, (FILE *) user); /* push byte back onto stream if valid. */ + } +} + +static int stbi__stdio_eof(void *user) +{ + return feof((FILE*) user) || ferror((FILE *) user); +} + +static stbi_io_callbacks stbi__stdio_callbacks = +{ + stbi__stdio_read, + stbi__stdio_skip, + stbi__stdio_eof, +}; + +static void stbi__start_file(stbi__context *s, FILE *f) +{ + stbi__start_callbacks(s, &stbi__stdio_callbacks, (void *) f); +} + +//static void stop_file(stbi__context *s) { } + +#endif // !STBI_NO_STDIO + +static void stbi__rewind(stbi__context *s) +{ + // conceptually rewind SHOULD rewind to the beginning of the stream, + // but we just rewind to the beginning of the initial buffer, because + // we only use it after doing 'test', which only ever looks at at most 92 bytes + s->img_buffer = s->img_buffer_original; + s->img_buffer_end = s->img_buffer_original_end; +} + +enum +{ + STBI_ORDER_RGB, + STBI_ORDER_BGR +}; + +typedef struct +{ + int bits_per_channel; + int num_channels; + int channel_order; +} stbi__result_info; + +#ifndef STBI_NO_JPEG +static int stbi__jpeg_test(stbi__context *s); +static void *stbi__jpeg_load(stbi__context *s, int *x, int *y, int *comp, int req_comp, stbi__result_info *ri); +static int stbi__jpeg_info(stbi__context *s, int *x, int *y, int *comp); +#endif + +#ifndef STBI_NO_PNG +static int stbi__png_test(stbi__context *s); +static void *stbi__png_load(stbi__context *s, int *x, int *y, int *comp, int req_comp, stbi__result_info *ri); +static int stbi__png_info(stbi__context *s, int *x, int *y, int *comp); +static int stbi__png_is16(stbi__context *s); +#endif + +#ifndef STBI_NO_BMP +static int stbi__bmp_test(stbi__context *s); +static void *stbi__bmp_load(stbi__context *s, int *x, int *y, int *comp, int req_comp, stbi__result_info *ri); +static int stbi__bmp_info(stbi__context *s, int *x, int *y, int *comp); +#endif + +#ifndef STBI_NO_TGA +static int stbi__tga_test(stbi__context *s); +static void *stbi__tga_load(stbi__context *s, int *x, int *y, int *comp, int req_comp, stbi__result_info *ri); +static int stbi__tga_info(stbi__context *s, int *x, int *y, int *comp); +#endif + +#ifndef STBI_NO_PSD +static int stbi__psd_test(stbi__context *s); +static void *stbi__psd_load(stbi__context *s, int *x, int *y, int *comp, int req_comp, stbi__result_info *ri, int bpc); +static int stbi__psd_info(stbi__context *s, int *x, int *y, int *comp); +static int stbi__psd_is16(stbi__context *s); +#endif + +#ifndef STBI_NO_HDR +static int stbi__hdr_test(stbi__context *s); +static float *stbi__hdr_load(stbi__context *s, int *x, int *y, int *comp, int req_comp, stbi__result_info *ri); +static int stbi__hdr_info(stbi__context *s, int *x, int *y, int *comp); +#endif + +#ifndef STBI_NO_PIC +static int stbi__pic_test(stbi__context *s); +static void *stbi__pic_load(stbi__context *s, int *x, int *y, int *comp, int req_comp, stbi__result_info *ri); +static int stbi__pic_info(stbi__context *s, int *x, int *y, int *comp); +#endif + +#ifndef STBI_NO_GIF +static int stbi__gif_test(stbi__context *s); +static void *stbi__gif_load(stbi__context *s, int *x, int *y, int *comp, int req_comp, stbi__result_info *ri); +static void *stbi__load_gif_main(stbi__context *s, int **delays, int *x, int *y, int *z, int *comp, int req_comp); +static int stbi__gif_info(stbi__context *s, int *x, int *y, int *comp); +#endif + +#ifndef STBI_NO_PNM +static int stbi__pnm_test(stbi__context *s); +static void *stbi__pnm_load(stbi__context *s, int *x, int *y, int *comp, int req_comp, stbi__result_info *ri); +static int stbi__pnm_info(stbi__context *s, int *x, int *y, int *comp); +static int stbi__pnm_is16(stbi__context *s); +#endif + +static +#ifdef STBI_THREAD_LOCAL +STBI_THREAD_LOCAL +#endif +const char *stbi__g_failure_reason; + +STBIDEF const char *stbi_failure_reason(void) +{ + return stbi__g_failure_reason; +} + +#ifndef STBI_NO_FAILURE_STRINGS +static int stbi__err(const char *str) +{ + stbi__g_failure_reason = str; + return 0; +} +#endif + +static void *stbi__malloc(size_t size) +{ + return STBI_MALLOC(size); +} + +// stb_image uses ints pervasively, including for offset calculations. +// therefore the largest decoded image size we can support with the +// current code, even on 64-bit targets, is INT_MAX. this is not a +// significant limitation for the intended use case. +// +// we do, however, need to make sure our size calculations don't +// overflow. hence a few helper functions for size calculations that +// multiply integers together, making sure that they're non-negative +// and no overflow occurs. + +// return 1 if the sum is valid, 0 on overflow. +// negative terms are considered invalid. +static int stbi__addsizes_valid(int a, int b) +{ + if (b < 0) return 0; + // now 0 <= b <= INT_MAX, hence also + // 0 <= INT_MAX - b <= INTMAX. + // And "a + b <= INT_MAX" (which might overflow) is the + // same as a <= INT_MAX - b (no overflow) + return a <= INT_MAX - b; +} + +// returns 1 if the product is valid, 0 on overflow. +// negative factors are considered invalid. +static int stbi__mul2sizes_valid(int a, int b) +{ + if (a < 0 || b < 0) return 0; + if (b == 0) return 1; // mul-by-0 is always safe + // portable way to check for no overflows in a*b + return a <= INT_MAX/b; +} + +#if !defined(STBI_NO_JPEG) || !defined(STBI_NO_PNG) || !defined(STBI_NO_TGA) || !defined(STBI_NO_HDR) +// returns 1 if "a*b + add" has no negative terms/factors and doesn't overflow +static int stbi__mad2sizes_valid(int a, int b, int add) +{ + return stbi__mul2sizes_valid(a, b) && stbi__addsizes_valid(a*b, add); +} +#endif + +// returns 1 if "a*b*c + add" has no negative terms/factors and doesn't overflow +static int stbi__mad3sizes_valid(int a, int b, int c, int add) +{ + return stbi__mul2sizes_valid(a, b) && stbi__mul2sizes_valid(a*b, c) && + stbi__addsizes_valid(a*b*c, add); +} + +// returns 1 if "a*b*c*d + add" has no negative terms/factors and doesn't overflow +#if !defined(STBI_NO_LINEAR) || !defined(STBI_NO_HDR) || !defined(STBI_NO_PNM) +static int stbi__mad4sizes_valid(int a, int b, int c, int d, int add) +{ + return stbi__mul2sizes_valid(a, b) && stbi__mul2sizes_valid(a*b, c) && + stbi__mul2sizes_valid(a*b*c, d) && stbi__addsizes_valid(a*b*c*d, add); +} +#endif + +#if !defined(STBI_NO_JPEG) || !defined(STBI_NO_PNG) || !defined(STBI_NO_TGA) || !defined(STBI_NO_HDR) +// mallocs with size overflow checking +static void *stbi__malloc_mad2(int a, int b, int add) +{ + if (!stbi__mad2sizes_valid(a, b, add)) return NULL; + return stbi__malloc(a*b + add); +} +#endif + +static void *stbi__malloc_mad3(int a, int b, int c, int add) +{ + if (!stbi__mad3sizes_valid(a, b, c, add)) return NULL; + return stbi__malloc(a*b*c + add); +} + +#if !defined(STBI_NO_LINEAR) || !defined(STBI_NO_HDR) || !defined(STBI_NO_PNM) +static void *stbi__malloc_mad4(int a, int b, int c, int d, int add) +{ + if (!stbi__mad4sizes_valid(a, b, c, d, add)) return NULL; + return stbi__malloc(a*b*c*d + add); +} +#endif + +// returns 1 if the sum of two signed ints is valid (between -2^31 and 2^31-1 inclusive), 0 on overflow. +static int stbi__addints_valid(int a, int b) +{ + if ((a >= 0) != (b >= 0)) return 1; // a and b have different signs, so no overflow + if (a < 0 && b < 0) return a >= INT_MIN - b; // same as a + b >= INT_MIN; INT_MIN - b cannot overflow since b < 0. + return a <= INT_MAX - b; +} + +// returns 1 if the product of two signed shorts is valid, 0 on overflow. +static int stbi__mul2shorts_valid(short a, short b) +{ + if (b == 0 || b == -1) return 1; // multiplication by 0 is always 0; check for -1 so SHRT_MIN/b doesn't overflow + if ((a >= 0) == (b >= 0)) return a <= SHRT_MAX/b; // product is positive, so similar to mul2sizes_valid + if (b < 0) return a <= SHRT_MIN / b; // same as a * b >= SHRT_MIN + return a >= SHRT_MIN / b; +} + +// stbi__err - error +// stbi__errpf - error returning pointer to float +// stbi__errpuc - error returning pointer to unsigned char + +#ifdef STBI_NO_FAILURE_STRINGS + #define stbi__err(x,y) 0 +#elif defined(STBI_FAILURE_USERMSG) + #define stbi__err(x,y) stbi__err(y) +#else + #define stbi__err(x,y) stbi__err(x) +#endif + +#define stbi__errpf(x,y) ((float *)(size_t) (stbi__err(x,y)?NULL:NULL)) +#define stbi__errpuc(x,y) ((unsigned char *)(size_t) (stbi__err(x,y)?NULL:NULL)) + +STBIDEF void stbi_image_free(void *retval_from_stbi_load) +{ + STBI_FREE(retval_from_stbi_load); +} + +#ifndef STBI_NO_LINEAR +static float *stbi__ldr_to_hdr(stbi_uc *data, int x, int y, int comp); +#endif + +#ifndef STBI_NO_HDR +static stbi_uc *stbi__hdr_to_ldr(float *data, int x, int y, int comp); +#endif + +static int stbi__vertically_flip_on_load_global = 0; + +STBIDEF void stbi_set_flip_vertically_on_load(int flag_true_if_should_flip) +{ + stbi__vertically_flip_on_load_global = flag_true_if_should_flip; +} + +#ifndef STBI_THREAD_LOCAL +#define stbi__vertically_flip_on_load stbi__vertically_flip_on_load_global +#else +static STBI_THREAD_LOCAL int stbi__vertically_flip_on_load_local, stbi__vertically_flip_on_load_set; + +STBIDEF void stbi_set_flip_vertically_on_load_thread(int flag_true_if_should_flip) +{ + stbi__vertically_flip_on_load_local = flag_true_if_should_flip; + stbi__vertically_flip_on_load_set = 1; +} + +#define stbi__vertically_flip_on_load (stbi__vertically_flip_on_load_set \ + ? stbi__vertically_flip_on_load_local \ + : stbi__vertically_flip_on_load_global) +#endif // STBI_THREAD_LOCAL + +static void *stbi__load_main(stbi__context *s, int *x, int *y, int *comp, int req_comp, stbi__result_info *ri, int bpc) +{ + memset(ri, 0, sizeof(*ri)); // make sure it's initialized if we add new fields + ri->bits_per_channel = 8; // default is 8 so most paths don't have to be changed + ri->channel_order = STBI_ORDER_RGB; // all current input & output are this, but this is here so we can add BGR order + ri->num_channels = 0; + + // test the formats with a very explicit header first (at least a FOURCC + // or distinctive magic number first) + #ifndef STBI_NO_PNG + if (stbi__png_test(s)) return stbi__png_load(s,x,y,comp,req_comp, ri); + #endif + #ifndef STBI_NO_BMP + if (stbi__bmp_test(s)) return stbi__bmp_load(s,x,y,comp,req_comp, ri); + #endif + #ifndef STBI_NO_GIF + if (stbi__gif_test(s)) return stbi__gif_load(s,x,y,comp,req_comp, ri); + #endif + #ifndef STBI_NO_PSD + if (stbi__psd_test(s)) return stbi__psd_load(s,x,y,comp,req_comp, ri, bpc); + #else + STBI_NOTUSED(bpc); + #endif + #ifndef STBI_NO_PIC + if (stbi__pic_test(s)) return stbi__pic_load(s,x,y,comp,req_comp, ri); + #endif + + // then the formats that can end up attempting to load with just 1 or 2 + // bytes matching expectations; these are prone to false positives, so + // try them later + #ifndef STBI_NO_JPEG + if (stbi__jpeg_test(s)) return stbi__jpeg_load(s,x,y,comp,req_comp, ri); + #endif + #ifndef STBI_NO_PNM + if (stbi__pnm_test(s)) return stbi__pnm_load(s,x,y,comp,req_comp, ri); + #endif + + #ifndef STBI_NO_HDR + if (stbi__hdr_test(s)) { + float *hdr = stbi__hdr_load(s, x,y,comp,req_comp, ri); + return stbi__hdr_to_ldr(hdr, *x, *y, req_comp ? req_comp : *comp); + } + #endif + + #ifndef STBI_NO_TGA + // test tga last because it's a crappy test! + if (stbi__tga_test(s)) + return stbi__tga_load(s,x,y,comp,req_comp, ri); + #endif + + return stbi__errpuc("unknown image type", "Image not of any known type, or corrupt"); +} + +static stbi_uc *stbi__convert_16_to_8(stbi__uint16 *orig, int w, int h, int channels) +{ + int i; + int img_len = w * h * channels; + stbi_uc *reduced; + + reduced = (stbi_uc *) stbi__malloc(img_len); + if (reduced == NULL) return stbi__errpuc("outofmem", "Out of memory"); + + for (i = 0; i < img_len; ++i) + reduced[i] = (stbi_uc)((orig[i] >> 8) & 0xFF); // top half of each byte is sufficient approx of 16->8 bit scaling + + STBI_FREE(orig); + return reduced; +} + +static stbi__uint16 *stbi__convert_8_to_16(stbi_uc *orig, int w, int h, int channels) +{ + int i; + int img_len = w * h * channels; + stbi__uint16 *enlarged; + + enlarged = (stbi__uint16 *) stbi__malloc(img_len*2); + if (enlarged == NULL) return (stbi__uint16 *) stbi__errpuc("outofmem", "Out of memory"); + + for (i = 0; i < img_len; ++i) + enlarged[i] = (stbi__uint16)((orig[i] << 8) + orig[i]); // replicate to high and low byte, maps 0->0, 255->0xffff + + STBI_FREE(orig); + return enlarged; +} + +static void stbi__vertical_flip(void *image, int w, int h, int bytes_per_pixel) +{ + int row; + size_t bytes_per_row = (size_t)w * bytes_per_pixel; + stbi_uc temp[2048]; + stbi_uc *bytes = (stbi_uc *)image; + + for (row = 0; row < (h>>1); row++) { + stbi_uc *row0 = bytes + row*bytes_per_row; + stbi_uc *row1 = bytes + (h - row - 1)*bytes_per_row; + // swap row0 with row1 + size_t bytes_left = bytes_per_row; + while (bytes_left) { + size_t bytes_copy = (bytes_left < sizeof(temp)) ? bytes_left : sizeof(temp); + memcpy(temp, row0, bytes_copy); + memcpy(row0, row1, bytes_copy); + memcpy(row1, temp, bytes_copy); + row0 += bytes_copy; + row1 += bytes_copy; + bytes_left -= bytes_copy; + } + } +} + +#ifndef STBI_NO_GIF +static void stbi__vertical_flip_slices(void *image, int w, int h, int z, int bytes_per_pixel) +{ + int slice; + int slice_size = w * h * bytes_per_pixel; + + stbi_uc *bytes = (stbi_uc *)image; + for (slice = 0; slice < z; ++slice) { + stbi__vertical_flip(bytes, w, h, bytes_per_pixel); + bytes += slice_size; + } +} +#endif + +static unsigned char *stbi__load_and_postprocess_8bit(stbi__context *s, int *x, int *y, int *comp, int req_comp) +{ + stbi__result_info ri; + void *result = stbi__load_main(s, x, y, comp, req_comp, &ri, 8); + + if (result == NULL) + return NULL; + + // it is the responsibility of the loaders to make sure we get either 8 or 16 bit. + STBI_ASSERT(ri.bits_per_channel == 8 || ri.bits_per_channel == 16); + + if (ri.bits_per_channel != 8) { + result = stbi__convert_16_to_8((stbi__uint16 *) result, *x, *y, req_comp == 0 ? *comp : req_comp); + ri.bits_per_channel = 8; + } + + // @TODO: move stbi__convert_format to here + + if (stbi__vertically_flip_on_load) { + int channels = req_comp ? req_comp : *comp; + stbi__vertical_flip(result, *x, *y, channels * sizeof(stbi_uc)); + } + + return (unsigned char *) result; +} + +static stbi__uint16 *stbi__load_and_postprocess_16bit(stbi__context *s, int *x, int *y, int *comp, int req_comp) +{ + stbi__result_info ri; + void *result = stbi__load_main(s, x, y, comp, req_comp, &ri, 16); + + if (result == NULL) + return NULL; + + // it is the responsibility of the loaders to make sure we get either 8 or 16 bit. + STBI_ASSERT(ri.bits_per_channel == 8 || ri.bits_per_channel == 16); + + if (ri.bits_per_channel != 16) { + result = stbi__convert_8_to_16((stbi_uc *) result, *x, *y, req_comp == 0 ? *comp : req_comp); + ri.bits_per_channel = 16; + } + + // @TODO: move stbi__convert_format16 to here + // @TODO: special case RGB-to-Y (and RGBA-to-YA) for 8-bit-to-16-bit case to keep more precision + + if (stbi__vertically_flip_on_load) { + int channels = req_comp ? req_comp : *comp; + stbi__vertical_flip(result, *x, *y, channels * sizeof(stbi__uint16)); + } + + return (stbi__uint16 *) result; +} + +#if !defined(STBI_NO_HDR) && !defined(STBI_NO_LINEAR) +static void stbi__float_postprocess(float *result, int *x, int *y, int *comp, int req_comp) +{ + if (stbi__vertically_flip_on_load && result != NULL) { + int channels = req_comp ? req_comp : *comp; + stbi__vertical_flip(result, *x, *y, channels * sizeof(float)); + } +} +#endif + +#ifndef STBI_NO_STDIO + +#if defined(_WIN32) && defined(STBI_WINDOWS_UTF8) +STBI_EXTERN __declspec(dllimport) int __stdcall MultiByteToWideChar(unsigned int cp, unsigned long flags, const char *str, int cbmb, wchar_t *widestr, int cchwide); +STBI_EXTERN __declspec(dllimport) int __stdcall WideCharToMultiByte(unsigned int cp, unsigned long flags, const wchar_t *widestr, int cchwide, char *str, int cbmb, const char *defchar, int *used_default); +#endif + +#if defined(_WIN32) && defined(STBI_WINDOWS_UTF8) +STBIDEF int stbi_convert_wchar_to_utf8(char *buffer, size_t bufferlen, const wchar_t* input) +{ + return WideCharToMultiByte(65001 /* UTF8 */, 0, input, -1, buffer, (int) bufferlen, NULL, NULL); +} +#endif + +static FILE *stbi__fopen(char const *filename, char const *mode) +{ + FILE *f; +#if defined(_WIN32) && defined(STBI_WINDOWS_UTF8) + wchar_t wMode[64]; + wchar_t wFilename[1024]; + if (0 == MultiByteToWideChar(65001 /* UTF8 */, 0, filename, -1, wFilename, sizeof(wFilename)/sizeof(*wFilename))) + return 0; + + if (0 == MultiByteToWideChar(65001 /* UTF8 */, 0, mode, -1, wMode, sizeof(wMode)/sizeof(*wMode))) + return 0; + +#if defined(_MSC_VER) && _MSC_VER >= 1400 + if (0 != _wfopen_s(&f, wFilename, wMode)) + f = 0; +#else + f = _wfopen(wFilename, wMode); +#endif + +#elif defined(_MSC_VER) && _MSC_VER >= 1400 + if (0 != fopen_s(&f, filename, mode)) + f=0; +#else + f = fopen(filename, mode); +#endif + return f; +} + + +STBIDEF stbi_uc *stbi_load(char const *filename, int *x, int *y, int *comp, int req_comp) +{ + FILE *f = stbi__fopen(filename, "rb"); + unsigned char *result; + if (!f) return stbi__errpuc("can't fopen", "Unable to open file"); + result = stbi_load_from_file(f,x,y,comp,req_comp); + fclose(f); + return result; +} + +STBIDEF stbi_uc *stbi_load_from_file(FILE *f, int *x, int *y, int *comp, int req_comp) +{ + unsigned char *result; + stbi__context s; + stbi__start_file(&s,f); + result = stbi__load_and_postprocess_8bit(&s,x,y,comp,req_comp); + if (result) { + // need to 'unget' all the characters in the IO buffer + fseek(f, - (int) (s.img_buffer_end - s.img_buffer), SEEK_CUR); + } + return result; +} + +STBIDEF stbi__uint16 *stbi_load_from_file_16(FILE *f, int *x, int *y, int *comp, int req_comp) +{ + stbi__uint16 *result; + stbi__context s; + stbi__start_file(&s,f); + result = stbi__load_and_postprocess_16bit(&s,x,y,comp,req_comp); + if (result) { + // need to 'unget' all the characters in the IO buffer + fseek(f, - (int) (s.img_buffer_end - s.img_buffer), SEEK_CUR); + } + return result; +} + +STBIDEF stbi_us *stbi_load_16(char const *filename, int *x, int *y, int *comp, int req_comp) +{ + FILE *f = stbi__fopen(filename, "rb"); + stbi__uint16 *result; + if (!f) return (stbi_us *) stbi__errpuc("can't fopen", "Unable to open file"); + result = stbi_load_from_file_16(f,x,y,comp,req_comp); + fclose(f); + return result; +} + + +#endif //!STBI_NO_STDIO + +STBIDEF stbi_us *stbi_load_16_from_memory(stbi_uc const *buffer, int len, int *x, int *y, int *channels_in_file, int desired_channels) +{ + stbi__context s; + stbi__start_mem(&s,buffer,len); + return stbi__load_and_postprocess_16bit(&s,x,y,channels_in_file,desired_channels); +} + +STBIDEF stbi_us *stbi_load_16_from_callbacks(stbi_io_callbacks const *clbk, void *user, int *x, int *y, int *channels_in_file, int desired_channels) +{ + stbi__context s; + stbi__start_callbacks(&s, (stbi_io_callbacks *)clbk, user); + return stbi__load_and_postprocess_16bit(&s,x,y,channels_in_file,desired_channels); +} + +STBIDEF stbi_uc *stbi_load_from_memory(stbi_uc const *buffer, int len, int *x, int *y, int *comp, int req_comp) +{ + stbi__context s; + stbi__start_mem(&s,buffer,len); + return stbi__load_and_postprocess_8bit(&s,x,y,comp,req_comp); +} + +STBIDEF stbi_uc *stbi_load_from_callbacks(stbi_io_callbacks const *clbk, void *user, int *x, int *y, int *comp, int req_comp) +{ + stbi__context s; + stbi__start_callbacks(&s, (stbi_io_callbacks *) clbk, user); + return stbi__load_and_postprocess_8bit(&s,x,y,comp,req_comp); +} + +#ifndef STBI_NO_GIF +STBIDEF stbi_uc *stbi_load_gif_from_memory(stbi_uc const *buffer, int len, int **delays, int *x, int *y, int *z, int *comp, int req_comp) +{ + unsigned char *result; + stbi__context s; + stbi__start_mem(&s,buffer,len); + + result = (unsigned char*) stbi__load_gif_main(&s, delays, x, y, z, comp, req_comp); + if (stbi__vertically_flip_on_load) { + stbi__vertical_flip_slices( result, *x, *y, *z, *comp ); + } + + return result; +} +#endif + +#ifndef STBI_NO_LINEAR +static float *stbi__loadf_main(stbi__context *s, int *x, int *y, int *comp, int req_comp) +{ + unsigned char *data; + #ifndef STBI_NO_HDR + if (stbi__hdr_test(s)) { + stbi__result_info ri; + float *hdr_data = stbi__hdr_load(s,x,y,comp,req_comp, &ri); + if (hdr_data) + stbi__float_postprocess(hdr_data,x,y,comp,req_comp); + return hdr_data; + } + #endif + data = stbi__load_and_postprocess_8bit(s, x, y, comp, req_comp); + if (data) + return stbi__ldr_to_hdr(data, *x, *y, req_comp ? req_comp : *comp); + return stbi__errpf("unknown image type", "Image not of any known type, or corrupt"); +} + +STBIDEF float *stbi_loadf_from_memory(stbi_uc const *buffer, int len, int *x, int *y, int *comp, int req_comp) +{ + stbi__context s; + stbi__start_mem(&s,buffer,len); + return stbi__loadf_main(&s,x,y,comp,req_comp); +} + +STBIDEF float *stbi_loadf_from_callbacks(stbi_io_callbacks const *clbk, void *user, int *x, int *y, int *comp, int req_comp) +{ + stbi__context s; + stbi__start_callbacks(&s, (stbi_io_callbacks *) clbk, user); + return stbi__loadf_main(&s,x,y,comp,req_comp); +} + +#ifndef STBI_NO_STDIO +STBIDEF float *stbi_loadf(char const *filename, int *x, int *y, int *comp, int req_comp) +{ + float *result; + FILE *f = stbi__fopen(filename, "rb"); + if (!f) return stbi__errpf("can't fopen", "Unable to open file"); + result = stbi_loadf_from_file(f,x,y,comp,req_comp); + fclose(f); + return result; +} + +STBIDEF float *stbi_loadf_from_file(FILE *f, int *x, int *y, int *comp, int req_comp) +{ + stbi__context s; + stbi__start_file(&s,f); + return stbi__loadf_main(&s,x,y,comp,req_comp); +} +#endif // !STBI_NO_STDIO + +#endif // !STBI_NO_LINEAR + +// these is-hdr-or-not is defined independent of whether STBI_NO_LINEAR is +// defined, for API simplicity; if STBI_NO_LINEAR is defined, it always +// reports false! + +STBIDEF int stbi_is_hdr_from_memory(stbi_uc const *buffer, int len) +{ + #ifndef STBI_NO_HDR + stbi__context s; + stbi__start_mem(&s,buffer,len); + return stbi__hdr_test(&s); + #else + STBI_NOTUSED(buffer); + STBI_NOTUSED(len); + return 0; + #endif +} + +#ifndef STBI_NO_STDIO +STBIDEF int stbi_is_hdr (char const *filename) +{ + FILE *f = stbi__fopen(filename, "rb"); + int result=0; + if (f) { + result = stbi_is_hdr_from_file(f); + fclose(f); + } + return result; +} + +STBIDEF int stbi_is_hdr_from_file(FILE *f) +{ + #ifndef STBI_NO_HDR + long pos = ftell(f); + int res; + stbi__context s; + stbi__start_file(&s,f); + res = stbi__hdr_test(&s); + fseek(f, pos, SEEK_SET); + return res; + #else + STBI_NOTUSED(f); + return 0; + #endif +} +#endif // !STBI_NO_STDIO + +STBIDEF int stbi_is_hdr_from_callbacks(stbi_io_callbacks const *clbk, void *user) +{ + #ifndef STBI_NO_HDR + stbi__context s; + stbi__start_callbacks(&s, (stbi_io_callbacks *) clbk, user); + return stbi__hdr_test(&s); + #else + STBI_NOTUSED(clbk); + STBI_NOTUSED(user); + return 0; + #endif +} + +#ifndef STBI_NO_LINEAR +static float stbi__l2h_gamma=2.2f, stbi__l2h_scale=1.0f; + +STBIDEF void stbi_ldr_to_hdr_gamma(float gamma) { stbi__l2h_gamma = gamma; } +STBIDEF void stbi_ldr_to_hdr_scale(float scale) { stbi__l2h_scale = scale; } +#endif + +static float stbi__h2l_gamma_i=1.0f/2.2f, stbi__h2l_scale_i=1.0f; + +STBIDEF void stbi_hdr_to_ldr_gamma(float gamma) { stbi__h2l_gamma_i = 1/gamma; } +STBIDEF void stbi_hdr_to_ldr_scale(float scale) { stbi__h2l_scale_i = 1/scale; } + + +////////////////////////////////////////////////////////////////////////////// +// +// Common code used by all image loaders +// + +enum +{ + STBI__SCAN_load=0, + STBI__SCAN_type, + STBI__SCAN_header +}; + +static void stbi__refill_buffer(stbi__context *s) +{ + int n = (s->io.read)(s->io_user_data,(char*)s->buffer_start,s->buflen); + s->callback_already_read += (int) (s->img_buffer - s->img_buffer_original); + if (n == 0) { + // at end of file, treat same as if from memory, but need to handle case + // where s->img_buffer isn't pointing to safe memory, e.g. 0-byte file + s->read_from_callbacks = 0; + s->img_buffer = s->buffer_start; + s->img_buffer_end = s->buffer_start+1; + *s->img_buffer = 0; + } else { + s->img_buffer = s->buffer_start; + s->img_buffer_end = s->buffer_start + n; + } +} + +stbi_inline static stbi_uc stbi__get8(stbi__context *s) +{ + if (s->img_buffer < s->img_buffer_end) + return *s->img_buffer++; + if (s->read_from_callbacks) { + stbi__refill_buffer(s); + return *s->img_buffer++; + } + return 0; +} + +#if defined(STBI_NO_JPEG) && defined(STBI_NO_HDR) && defined(STBI_NO_PIC) && defined(STBI_NO_PNM) +// nothing +#else +stbi_inline static int stbi__at_eof(stbi__context *s) +{ + if (s->io.read) { + if (!(s->io.eof)(s->io_user_data)) return 0; + // if feof() is true, check if buffer = end + // special case: we've only got the special 0 character at the end + if (s->read_from_callbacks == 0) return 1; + } + + return s->img_buffer >= s->img_buffer_end; +} +#endif + +#if defined(STBI_NO_JPEG) && defined(STBI_NO_PNG) && defined(STBI_NO_BMP) && defined(STBI_NO_PSD) && defined(STBI_NO_TGA) && defined(STBI_NO_GIF) && defined(STBI_NO_PIC) +// nothing +#else +static void stbi__skip(stbi__context *s, int n) +{ + if (n == 0) return; // already there! + if (n < 0) { + s->img_buffer = s->img_buffer_end; + return; + } + if (s->io.read) { + int blen = (int) (s->img_buffer_end - s->img_buffer); + if (blen < n) { + s->img_buffer = s->img_buffer_end; + (s->io.skip)(s->io_user_data, n - blen); + return; + } + } + s->img_buffer += n; +} +#endif + +#if defined(STBI_NO_PNG) && defined(STBI_NO_TGA) && defined(STBI_NO_HDR) && defined(STBI_NO_PNM) +// nothing +#else +static int stbi__getn(stbi__context *s, stbi_uc *buffer, int n) +{ + if (s->io.read) { + int blen = (int) (s->img_buffer_end - s->img_buffer); + if (blen < n) { + int res, count; + + memcpy(buffer, s->img_buffer, blen); + + count = (s->io.read)(s->io_user_data, (char*) buffer + blen, n - blen); + res = (count == (n-blen)); + s->img_buffer = s->img_buffer_end; + return res; + } + } + + if (s->img_buffer+n <= s->img_buffer_end) { + memcpy(buffer, s->img_buffer, n); + s->img_buffer += n; + return 1; + } else + return 0; +} +#endif + +#if defined(STBI_NO_JPEG) && defined(STBI_NO_PNG) && defined(STBI_NO_PSD) && defined(STBI_NO_PIC) +// nothing +#else +static int stbi__get16be(stbi__context *s) +{ + int z = stbi__get8(s); + return (z << 8) + stbi__get8(s); +} +#endif + +#if defined(STBI_NO_PNG) && defined(STBI_NO_PSD) && defined(STBI_NO_PIC) +// nothing +#else +static stbi__uint32 stbi__get32be(stbi__context *s) +{ + stbi__uint32 z = stbi__get16be(s); + return (z << 16) + stbi__get16be(s); +} +#endif + +#if defined(STBI_NO_BMP) && defined(STBI_NO_TGA) && defined(STBI_NO_GIF) +// nothing +#else +static int stbi__get16le(stbi__context *s) +{ + int z = stbi__get8(s); + return z + (stbi__get8(s) << 8); +} +#endif + +#ifndef STBI_NO_BMP +static stbi__uint32 stbi__get32le(stbi__context *s) +{ + stbi__uint32 z = stbi__get16le(s); + z += (stbi__uint32)stbi__get16le(s) << 16; + return z; +} +#endif + +#define STBI__BYTECAST(x) ((stbi_uc) ((x) & 255)) // truncate int to byte without warnings + +#if defined(STBI_NO_JPEG) && defined(STBI_NO_PNG) && defined(STBI_NO_BMP) && defined(STBI_NO_PSD) && defined(STBI_NO_TGA) && defined(STBI_NO_GIF) && defined(STBI_NO_PIC) && defined(STBI_NO_PNM) +// nothing +#else +////////////////////////////////////////////////////////////////////////////// +// +// generic converter from built-in img_n to req_comp +// individual types do this automatically as much as possible (e.g. jpeg +// does all cases internally since it needs to colorspace convert anyway, +// and it never has alpha, so very few cases ). png can automatically +// interleave an alpha=255 channel, but falls back to this for other cases +// +// assume data buffer is malloced, so malloc a new one and free that one +// only failure mode is malloc failing + +static stbi_uc stbi__compute_y(int r, int g, int b) +{ + return (stbi_uc) (((r*77) + (g*150) + (29*b)) >> 8); +} +#endif + +#if defined(STBI_NO_PNG) && defined(STBI_NO_BMP) && defined(STBI_NO_PSD) && defined(STBI_NO_TGA) && defined(STBI_NO_GIF) && defined(STBI_NO_PIC) && defined(STBI_NO_PNM) +// nothing +#else +static unsigned char *stbi__convert_format(unsigned char *data, int img_n, int req_comp, unsigned int x, unsigned int y) +{ + int i,j; + unsigned char *good; + + if (req_comp == img_n) return data; + STBI_ASSERT(req_comp >= 1 && req_comp <= 4); + + good = (unsigned char *) stbi__malloc_mad3(req_comp, x, y, 0); + if (good == NULL) { + STBI_FREE(data); + return stbi__errpuc("outofmem", "Out of memory"); + } + + for (j=0; j < (int) y; ++j) { + unsigned char *src = data + j * x * img_n ; + unsigned char *dest = good + j * x * req_comp; + + #define STBI__COMBO(a,b) ((a)*8+(b)) + #define STBI__CASE(a,b) case STBI__COMBO(a,b): for(i=x-1; i >= 0; --i, src += a, dest += b) + // convert source image with img_n components to one with req_comp components; + // avoid switch per pixel, so use switch per scanline and massive macros + switch (STBI__COMBO(img_n, req_comp)) { + STBI__CASE(1,2) { dest[0]=src[0]; dest[1]=255; } break; + STBI__CASE(1,3) { dest[0]=dest[1]=dest[2]=src[0]; } break; + STBI__CASE(1,4) { dest[0]=dest[1]=dest[2]=src[0]; dest[3]=255; } break; + STBI__CASE(2,1) { dest[0]=src[0]; } break; + STBI__CASE(2,3) { dest[0]=dest[1]=dest[2]=src[0]; } break; + STBI__CASE(2,4) { dest[0]=dest[1]=dest[2]=src[0]; dest[3]=src[1]; } break; + STBI__CASE(3,4) { dest[0]=src[0];dest[1]=src[1];dest[2]=src[2];dest[3]=255; } break; + STBI__CASE(3,1) { dest[0]=stbi__compute_y(src[0],src[1],src[2]); } break; + STBI__CASE(3,2) { dest[0]=stbi__compute_y(src[0],src[1],src[2]); dest[1] = 255; } break; + STBI__CASE(4,1) { dest[0]=stbi__compute_y(src[0],src[1],src[2]); } break; + STBI__CASE(4,2) { dest[0]=stbi__compute_y(src[0],src[1],src[2]); dest[1] = src[3]; } break; + STBI__CASE(4,3) { dest[0]=src[0];dest[1]=src[1];dest[2]=src[2]; } break; + default: STBI_ASSERT(0); STBI_FREE(data); STBI_FREE(good); return stbi__errpuc("unsupported", "Unsupported format conversion"); + } + #undef STBI__CASE + } + + STBI_FREE(data); + return good; +} +#endif + +#if defined(STBI_NO_PNG) && defined(STBI_NO_PSD) +// nothing +#else +static stbi__uint16 stbi__compute_y_16(int r, int g, int b) +{ + return (stbi__uint16) (((r*77) + (g*150) + (29*b)) >> 8); +} +#endif + +#if defined(STBI_NO_PNG) && defined(STBI_NO_PSD) +// nothing +#else +static stbi__uint16 *stbi__convert_format16(stbi__uint16 *data, int img_n, int req_comp, unsigned int x, unsigned int y) +{ + int i,j; + stbi__uint16 *good; + + if (req_comp == img_n) return data; + STBI_ASSERT(req_comp >= 1 && req_comp <= 4); + + good = (stbi__uint16 *) stbi__malloc(req_comp * x * y * 2); + if (good == NULL) { + STBI_FREE(data); + return (stbi__uint16 *) stbi__errpuc("outofmem", "Out of memory"); + } + + for (j=0; j < (int) y; ++j) { + stbi__uint16 *src = data + j * x * img_n ; + stbi__uint16 *dest = good + j * x * req_comp; + + #define STBI__COMBO(a,b) ((a)*8+(b)) + #define STBI__CASE(a,b) case STBI__COMBO(a,b): for(i=x-1; i >= 0; --i, src += a, dest += b) + // convert source image with img_n components to one with req_comp components; + // avoid switch per pixel, so use switch per scanline and massive macros + switch (STBI__COMBO(img_n, req_comp)) { + STBI__CASE(1,2) { dest[0]=src[0]; dest[1]=0xffff; } break; + STBI__CASE(1,3) { dest[0]=dest[1]=dest[2]=src[0]; } break; + STBI__CASE(1,4) { dest[0]=dest[1]=dest[2]=src[0]; dest[3]=0xffff; } break; + STBI__CASE(2,1) { dest[0]=src[0]; } break; + STBI__CASE(2,3) { dest[0]=dest[1]=dest[2]=src[0]; } break; + STBI__CASE(2,4) { dest[0]=dest[1]=dest[2]=src[0]; dest[3]=src[1]; } break; + STBI__CASE(3,4) { dest[0]=src[0];dest[1]=src[1];dest[2]=src[2];dest[3]=0xffff; } break; + STBI__CASE(3,1) { dest[0]=stbi__compute_y_16(src[0],src[1],src[2]); } break; + STBI__CASE(3,2) { dest[0]=stbi__compute_y_16(src[0],src[1],src[2]); dest[1] = 0xffff; } break; + STBI__CASE(4,1) { dest[0]=stbi__compute_y_16(src[0],src[1],src[2]); } break; + STBI__CASE(4,2) { dest[0]=stbi__compute_y_16(src[0],src[1],src[2]); dest[1] = src[3]; } break; + STBI__CASE(4,3) { dest[0]=src[0];dest[1]=src[1];dest[2]=src[2]; } break; + default: STBI_ASSERT(0); STBI_FREE(data); STBI_FREE(good); return (stbi__uint16*) stbi__errpuc("unsupported", "Unsupported format conversion"); + } + #undef STBI__CASE + } + + STBI_FREE(data); + return good; +} +#endif + +#ifndef STBI_NO_LINEAR +static float *stbi__ldr_to_hdr(stbi_uc *data, int x, int y, int comp) +{ + int i,k,n; + float *output; + if (!data) return NULL; + output = (float *) stbi__malloc_mad4(x, y, comp, sizeof(float), 0); + if (output == NULL) { STBI_FREE(data); return stbi__errpf("outofmem", "Out of memory"); } + // compute number of non-alpha components + if (comp & 1) n = comp; else n = comp-1; + for (i=0; i < x*y; ++i) { + for (k=0; k < n; ++k) { + output[i*comp + k] = (float) (pow(data[i*comp+k]/255.0f, stbi__l2h_gamma) * stbi__l2h_scale); + } + } + if (n < comp) { + for (i=0; i < x*y; ++i) { + output[i*comp + n] = data[i*comp + n]/255.0f; + } + } + STBI_FREE(data); + return output; +} +#endif + +#ifndef STBI_NO_HDR +#define stbi__float2int(x) ((int) (x)) +static stbi_uc *stbi__hdr_to_ldr(float *data, int x, int y, int comp) +{ + int i,k,n; + stbi_uc *output; + if (!data) return NULL; + output = (stbi_uc *) stbi__malloc_mad3(x, y, comp, 0); + if (output == NULL) { STBI_FREE(data); return stbi__errpuc("outofmem", "Out of memory"); } + // compute number of non-alpha components + if (comp & 1) n = comp; else n = comp-1; + for (i=0; i < x*y; ++i) { + for (k=0; k < n; ++k) { + float z = (float) pow(data[i*comp+k]*stbi__h2l_scale_i, stbi__h2l_gamma_i) * 255 + 0.5f; + if (z < 0) z = 0; + if (z > 255) z = 255; + output[i*comp + k] = (stbi_uc) stbi__float2int(z); + } + if (k < comp) { + float z = data[i*comp+k] * 255 + 0.5f; + if (z < 0) z = 0; + if (z > 255) z = 255; + output[i*comp + k] = (stbi_uc) stbi__float2int(z); + } + } + STBI_FREE(data); + return output; +} +#endif + +////////////////////////////////////////////////////////////////////////////// +// +// "baseline" JPEG/JFIF decoder +// +// simple implementation +// - doesn't support delayed output of y-dimension +// - simple interface (only one output format: 8-bit interleaved RGB) +// - doesn't try to recover corrupt jpegs +// - doesn't allow partial loading, loading multiple at once +// - still fast on x86 (copying globals into locals doesn't help x86) +// - allocates lots of intermediate memory (full size of all components) +// - non-interleaved case requires this anyway +// - allows good upsampling (see next) +// high-quality +// - upsampled channels are bilinearly interpolated, even across blocks +// - quality integer IDCT derived from IJG's 'slow' +// performance +// - fast huffman; reasonable integer IDCT +// - some SIMD kernels for common paths on targets with SSE2/NEON +// - uses a lot of intermediate memory, could cache poorly + +#ifndef STBI_NO_JPEG + +// huffman decoding acceleration +#define FAST_BITS 9 // larger handles more cases; smaller stomps less cache + +typedef struct +{ + stbi_uc fast[1 << FAST_BITS]; + // weirdly, repacking this into AoS is a 10% speed loss, instead of a win + stbi__uint16 code[256]; + stbi_uc values[256]; + stbi_uc size[257]; + unsigned int maxcode[18]; + int delta[17]; // old 'firstsymbol' - old 'firstcode' +} stbi__huffman; + +typedef struct +{ + stbi__context *s; + stbi__huffman huff_dc[4]; + stbi__huffman huff_ac[4]; + stbi__uint16 dequant[4][64]; + stbi__int16 fast_ac[4][1 << FAST_BITS]; + +// sizes for components, interleaved MCUs + int img_h_max, img_v_max; + int img_mcu_x, img_mcu_y; + int img_mcu_w, img_mcu_h; + +// definition of jpeg image component + struct + { + int id; + int h,v; + int tq; + int hd,ha; + int dc_pred; + + int x,y,w2,h2; + stbi_uc *data; + void *raw_data, *raw_coeff; + stbi_uc *linebuf; + short *coeff; // progressive only + int coeff_w, coeff_h; // number of 8x8 coefficient blocks + } img_comp[4]; + + stbi__uint32 code_buffer; // jpeg entropy-coded buffer + int code_bits; // number of valid bits + unsigned char marker; // marker seen while filling entropy buffer + int nomore; // flag if we saw a marker so must stop + + int progressive; + int spec_start; + int spec_end; + int succ_high; + int succ_low; + int eob_run; + int jfif; + int app14_color_transform; // Adobe APP14 tag + int rgb; + + int scan_n, order[4]; + int restart_interval, todo; + +// kernels + void (*idct_block_kernel)(stbi_uc *out, int out_stride, short data[64]); + void (*YCbCr_to_RGB_kernel)(stbi_uc *out, const stbi_uc *y, const stbi_uc *pcb, const stbi_uc *pcr, int count, int step); + stbi_uc *(*resample_row_hv_2_kernel)(stbi_uc *out, stbi_uc *in_near, stbi_uc *in_far, int w, int hs); +} stbi__jpeg; + +static int stbi__build_huffman(stbi__huffman *h, int *count) +{ + int i,j,k=0; + unsigned int code; + // build size list for each symbol (from JPEG spec) + for (i=0; i < 16; ++i) { + for (j=0; j < count[i]; ++j) { + h->size[k++] = (stbi_uc) (i+1); + if(k >= 257) return stbi__err("bad size list","Corrupt JPEG"); + } + } + h->size[k] = 0; + + // compute actual symbols (from jpeg spec) + code = 0; + k = 0; + for(j=1; j <= 16; ++j) { + // compute delta to add to code to compute symbol id + h->delta[j] = k - code; + if (h->size[k] == j) { + while (h->size[k] == j) + h->code[k++] = (stbi__uint16) (code++); + if (code-1 >= (1u << j)) return stbi__err("bad code lengths","Corrupt JPEG"); + } + // compute largest code + 1 for this size, preshifted as needed later + h->maxcode[j] = code << (16-j); + code <<= 1; + } + h->maxcode[j] = 0xffffffff; + + // build non-spec acceleration table; 255 is flag for not-accelerated + memset(h->fast, 255, 1 << FAST_BITS); + for (i=0; i < k; ++i) { + int s = h->size[i]; + if (s <= FAST_BITS) { + int c = h->code[i] << (FAST_BITS-s); + int m = 1 << (FAST_BITS-s); + for (j=0; j < m; ++j) { + h->fast[c+j] = (stbi_uc) i; + } + } + } + return 1; +} + +// build a table that decodes both magnitude and value of small ACs in +// one go. +static void stbi__build_fast_ac(stbi__int16 *fast_ac, stbi__huffman *h) +{ + int i; + for (i=0; i < (1 << FAST_BITS); ++i) { + stbi_uc fast = h->fast[i]; + fast_ac[i] = 0; + if (fast < 255) { + int rs = h->values[fast]; + int run = (rs >> 4) & 15; + int magbits = rs & 15; + int len = h->size[fast]; + + if (magbits && len + magbits <= FAST_BITS) { + // magnitude code followed by receive_extend code + int k = ((i << len) & ((1 << FAST_BITS) - 1)) >> (FAST_BITS - magbits); + int m = 1 << (magbits - 1); + if (k < m) k += (~0U << magbits) + 1; + // if the result is small enough, we can fit it in fast_ac table + if (k >= -128 && k <= 127) + fast_ac[i] = (stbi__int16) ((k * 256) + (run * 16) + (len + magbits)); + } + } + } +} + +static void stbi__grow_buffer_unsafe(stbi__jpeg *j) +{ + do { + unsigned int b = j->nomore ? 0 : stbi__get8(j->s); + if (b == 0xff) { + int c = stbi__get8(j->s); + while (c == 0xff) c = stbi__get8(j->s); // consume fill bytes + if (c != 0) { + j->marker = (unsigned char) c; + j->nomore = 1; + return; + } + } + j->code_buffer |= b << (24 - j->code_bits); + j->code_bits += 8; + } while (j->code_bits <= 24); +} + +// (1 << n) - 1 +static const stbi__uint32 stbi__bmask[17]={0,1,3,7,15,31,63,127,255,511,1023,2047,4095,8191,16383,32767,65535}; + +// decode a jpeg huffman value from the bitstream +stbi_inline static int stbi__jpeg_huff_decode(stbi__jpeg *j, stbi__huffman *h) +{ + unsigned int temp; + int c,k; + + if (j->code_bits < 16) stbi__grow_buffer_unsafe(j); + + // look at the top FAST_BITS and determine what symbol ID it is, + // if the code is <= FAST_BITS + c = (j->code_buffer >> (32 - FAST_BITS)) & ((1 << FAST_BITS)-1); + k = h->fast[c]; + if (k < 255) { + int s = h->size[k]; + if (s > j->code_bits) + return -1; + j->code_buffer <<= s; + j->code_bits -= s; + return h->values[k]; + } + + // naive test is to shift the code_buffer down so k bits are + // valid, then test against maxcode. To speed this up, we've + // preshifted maxcode left so that it has (16-k) 0s at the + // end; in other words, regardless of the number of bits, it + // wants to be compared against something shifted to have 16; + // that way we don't need to shift inside the loop. + temp = j->code_buffer >> 16; + for (k=FAST_BITS+1 ; ; ++k) + if (temp < h->maxcode[k]) + break; + if (k == 17) { + // error! code not found + j->code_bits -= 16; + return -1; + } + + if (k > j->code_bits) + return -1; + + // convert the huffman code to the symbol id + c = ((j->code_buffer >> (32 - k)) & stbi__bmask[k]) + h->delta[k]; + if(c < 0 || c >= 256) // symbol id out of bounds! + return -1; + STBI_ASSERT((((j->code_buffer) >> (32 - h->size[c])) & stbi__bmask[h->size[c]]) == h->code[c]); + + // convert the id to a symbol + j->code_bits -= k; + j->code_buffer <<= k; + return h->values[c]; +} + +// bias[n] = (-1<code_bits < n) stbi__grow_buffer_unsafe(j); + if (j->code_bits < n) return 0; // ran out of bits from stream, return 0s intead of continuing + + sgn = j->code_buffer >> 31; // sign bit always in MSB; 0 if MSB clear (positive), 1 if MSB set (negative) + k = stbi_lrot(j->code_buffer, n); + j->code_buffer = k & ~stbi__bmask[n]; + k &= stbi__bmask[n]; + j->code_bits -= n; + return k + (stbi__jbias[n] & (sgn - 1)); +} + +// get some unsigned bits +stbi_inline static int stbi__jpeg_get_bits(stbi__jpeg *j, int n) +{ + unsigned int k; + if (j->code_bits < n) stbi__grow_buffer_unsafe(j); + if (j->code_bits < n) return 0; // ran out of bits from stream, return 0s intead of continuing + k = stbi_lrot(j->code_buffer, n); + j->code_buffer = k & ~stbi__bmask[n]; + k &= stbi__bmask[n]; + j->code_bits -= n; + return k; +} + +stbi_inline static int stbi__jpeg_get_bit(stbi__jpeg *j) +{ + unsigned int k; + if (j->code_bits < 1) stbi__grow_buffer_unsafe(j); + if (j->code_bits < 1) return 0; // ran out of bits from stream, return 0s intead of continuing + k = j->code_buffer; + j->code_buffer <<= 1; + --j->code_bits; + return k & 0x80000000; +} + +// given a value that's at position X in the zigzag stream, +// where does it appear in the 8x8 matrix coded as row-major? +static const stbi_uc stbi__jpeg_dezigzag[64+15] = +{ + 0, 1, 8, 16, 9, 2, 3, 10, + 17, 24, 32, 25, 18, 11, 4, 5, + 12, 19, 26, 33, 40, 48, 41, 34, + 27, 20, 13, 6, 7, 14, 21, 28, + 35, 42, 49, 56, 57, 50, 43, 36, + 29, 22, 15, 23, 30, 37, 44, 51, + 58, 59, 52, 45, 38, 31, 39, 46, + 53, 60, 61, 54, 47, 55, 62, 63, + // let corrupt input sample past end + 63, 63, 63, 63, 63, 63, 63, 63, + 63, 63, 63, 63, 63, 63, 63 +}; + +// decode one 64-entry block-- +static int stbi__jpeg_decode_block(stbi__jpeg *j, short data[64], stbi__huffman *hdc, stbi__huffman *hac, stbi__int16 *fac, int b, stbi__uint16 *dequant) +{ + int diff,dc,k; + int t; + + if (j->code_bits < 16) stbi__grow_buffer_unsafe(j); + t = stbi__jpeg_huff_decode(j, hdc); + if (t < 0 || t > 15) return stbi__err("bad huffman code","Corrupt JPEG"); + + // 0 all the ac values now so we can do it 32-bits at a time + memset(data,0,64*sizeof(data[0])); + + diff = t ? stbi__extend_receive(j, t) : 0; + if (!stbi__addints_valid(j->img_comp[b].dc_pred, diff)) return stbi__err("bad delta","Corrupt JPEG"); + dc = j->img_comp[b].dc_pred + diff; + j->img_comp[b].dc_pred = dc; + if (!stbi__mul2shorts_valid(dc, dequant[0])) return stbi__err("can't merge dc and ac", "Corrupt JPEG"); + data[0] = (short) (dc * dequant[0]); + + // decode AC components, see JPEG spec + k = 1; + do { + unsigned int zig; + int c,r,s; + if (j->code_bits < 16) stbi__grow_buffer_unsafe(j); + c = (j->code_buffer >> (32 - FAST_BITS)) & ((1 << FAST_BITS)-1); + r = fac[c]; + if (r) { // fast-AC path + k += (r >> 4) & 15; // run + s = r & 15; // combined length + if (s > j->code_bits) return stbi__err("bad huffman code", "Combined length longer than code bits available"); + j->code_buffer <<= s; + j->code_bits -= s; + // decode into unzigzag'd location + zig = stbi__jpeg_dezigzag[k++]; + data[zig] = (short) ((r >> 8) * dequant[zig]); + } else { + int rs = stbi__jpeg_huff_decode(j, hac); + if (rs < 0) return stbi__err("bad huffman code","Corrupt JPEG"); + s = rs & 15; + r = rs >> 4; + if (s == 0) { + if (rs != 0xf0) break; // end block + k += 16; + } else { + k += r; + // decode into unzigzag'd location + zig = stbi__jpeg_dezigzag[k++]; + data[zig] = (short) (stbi__extend_receive(j,s) * dequant[zig]); + } + } + } while (k < 64); + return 1; +} + +static int stbi__jpeg_decode_block_prog_dc(stbi__jpeg *j, short data[64], stbi__huffman *hdc, int b) +{ + int diff,dc; + int t; + if (j->spec_end != 0) return stbi__err("can't merge dc and ac", "Corrupt JPEG"); + + if (j->code_bits < 16) stbi__grow_buffer_unsafe(j); + + if (j->succ_high == 0) { + // first scan for DC coefficient, must be first + memset(data,0,64*sizeof(data[0])); // 0 all the ac values now + t = stbi__jpeg_huff_decode(j, hdc); + if (t < 0 || t > 15) return stbi__err("can't merge dc and ac", "Corrupt JPEG"); + diff = t ? stbi__extend_receive(j, t) : 0; + + if (!stbi__addints_valid(j->img_comp[b].dc_pred, diff)) return stbi__err("bad delta", "Corrupt JPEG"); + dc = j->img_comp[b].dc_pred + diff; + j->img_comp[b].dc_pred = dc; + if (!stbi__mul2shorts_valid(dc, 1 << j->succ_low)) return stbi__err("can't merge dc and ac", "Corrupt JPEG"); + data[0] = (short) (dc * (1 << j->succ_low)); + } else { + // refinement scan for DC coefficient + if (stbi__jpeg_get_bit(j)) + data[0] += (short) (1 << j->succ_low); + } + return 1; +} + +// @OPTIMIZE: store non-zigzagged during the decode passes, +// and only de-zigzag when dequantizing +static int stbi__jpeg_decode_block_prog_ac(stbi__jpeg *j, short data[64], stbi__huffman *hac, stbi__int16 *fac) +{ + int k; + if (j->spec_start == 0) return stbi__err("can't merge dc and ac", "Corrupt JPEG"); + + if (j->succ_high == 0) { + int shift = j->succ_low; + + if (j->eob_run) { + --j->eob_run; + return 1; + } + + k = j->spec_start; + do { + unsigned int zig; + int c,r,s; + if (j->code_bits < 16) stbi__grow_buffer_unsafe(j); + c = (j->code_buffer >> (32 - FAST_BITS)) & ((1 << FAST_BITS)-1); + r = fac[c]; + if (r) { // fast-AC path + k += (r >> 4) & 15; // run + s = r & 15; // combined length + if (s > j->code_bits) return stbi__err("bad huffman code", "Combined length longer than code bits available"); + j->code_buffer <<= s; + j->code_bits -= s; + zig = stbi__jpeg_dezigzag[k++]; + data[zig] = (short) ((r >> 8) * (1 << shift)); + } else { + int rs = stbi__jpeg_huff_decode(j, hac); + if (rs < 0) return stbi__err("bad huffman code","Corrupt JPEG"); + s = rs & 15; + r = rs >> 4; + if (s == 0) { + if (r < 15) { + j->eob_run = (1 << r); + if (r) + j->eob_run += stbi__jpeg_get_bits(j, r); + --j->eob_run; + break; + } + k += 16; + } else { + k += r; + zig = stbi__jpeg_dezigzag[k++]; + data[zig] = (short) (stbi__extend_receive(j,s) * (1 << shift)); + } + } + } while (k <= j->spec_end); + } else { + // refinement scan for these AC coefficients + + short bit = (short) (1 << j->succ_low); + + if (j->eob_run) { + --j->eob_run; + for (k = j->spec_start; k <= j->spec_end; ++k) { + short *p = &data[stbi__jpeg_dezigzag[k]]; + if (*p != 0) + if (stbi__jpeg_get_bit(j)) + if ((*p & bit)==0) { + if (*p > 0) + *p += bit; + else + *p -= bit; + } + } + } else { + k = j->spec_start; + do { + int r,s; + int rs = stbi__jpeg_huff_decode(j, hac); // @OPTIMIZE see if we can use the fast path here, advance-by-r is so slow, eh + if (rs < 0) return stbi__err("bad huffman code","Corrupt JPEG"); + s = rs & 15; + r = rs >> 4; + if (s == 0) { + if (r < 15) { + j->eob_run = (1 << r) - 1; + if (r) + j->eob_run += stbi__jpeg_get_bits(j, r); + r = 64; // force end of block + } else { + // r=15 s=0 should write 16 0s, so we just do + // a run of 15 0s and then write s (which is 0), + // so we don't have to do anything special here + } + } else { + if (s != 1) return stbi__err("bad huffman code", "Corrupt JPEG"); + // sign bit + if (stbi__jpeg_get_bit(j)) + s = bit; + else + s = -bit; + } + + // advance by r + while (k <= j->spec_end) { + short *p = &data[stbi__jpeg_dezigzag[k++]]; + if (*p != 0) { + if (stbi__jpeg_get_bit(j)) + if ((*p & bit)==0) { + if (*p > 0) + *p += bit; + else + *p -= bit; + } + } else { + if (r == 0) { + *p = (short) s; + break; + } + --r; + } + } + } while (k <= j->spec_end); + } + } + return 1; +} + +// take a -128..127 value and stbi__clamp it and convert to 0..255 +stbi_inline static stbi_uc stbi__clamp(int x) +{ + // trick to use a single test to catch both cases + if ((unsigned int) x > 255) { + if (x < 0) return 0; + if (x > 255) return 255; + } + return (stbi_uc) x; +} + +#define stbi__f2f(x) ((int) (((x) * 4096 + 0.5))) +#define stbi__fsh(x) ((x) * 4096) + +// derived from jidctint -- DCT_ISLOW +#define STBI__IDCT_1D(s0,s1,s2,s3,s4,s5,s6,s7) \ + int t0,t1,t2,t3,p1,p2,p3,p4,p5,x0,x1,x2,x3; \ + p2 = s2; \ + p3 = s6; \ + p1 = (p2+p3) * stbi__f2f(0.5411961f); \ + t2 = p1 + p3*stbi__f2f(-1.847759065f); \ + t3 = p1 + p2*stbi__f2f( 0.765366865f); \ + p2 = s0; \ + p3 = s4; \ + t0 = stbi__fsh(p2+p3); \ + t1 = stbi__fsh(p2-p3); \ + x0 = t0+t3; \ + x3 = t0-t3; \ + x1 = t1+t2; \ + x2 = t1-t2; \ + t0 = s7; \ + t1 = s5; \ + t2 = s3; \ + t3 = s1; \ + p3 = t0+t2; \ + p4 = t1+t3; \ + p1 = t0+t3; \ + p2 = t1+t2; \ + p5 = (p3+p4)*stbi__f2f( 1.175875602f); \ + t0 = t0*stbi__f2f( 0.298631336f); \ + t1 = t1*stbi__f2f( 2.053119869f); \ + t2 = t2*stbi__f2f( 3.072711026f); \ + t3 = t3*stbi__f2f( 1.501321110f); \ + p1 = p5 + p1*stbi__f2f(-0.899976223f); \ + p2 = p5 + p2*stbi__f2f(-2.562915447f); \ + p3 = p3*stbi__f2f(-1.961570560f); \ + p4 = p4*stbi__f2f(-0.390180644f); \ + t3 += p1+p4; \ + t2 += p2+p3; \ + t1 += p2+p4; \ + t0 += p1+p3; + +static void stbi__idct_block(stbi_uc *out, int out_stride, short data[64]) +{ + int i,val[64],*v=val; + stbi_uc *o; + short *d = data; + + // columns + for (i=0; i < 8; ++i,++d, ++v) { + // if all zeroes, shortcut -- this avoids dequantizing 0s and IDCTing + if (d[ 8]==0 && d[16]==0 && d[24]==0 && d[32]==0 + && d[40]==0 && d[48]==0 && d[56]==0) { + // no shortcut 0 seconds + // (1|2|3|4|5|6|7)==0 0 seconds + // all separate -0.047 seconds + // 1 && 2|3 && 4|5 && 6|7: -0.047 seconds + int dcterm = d[0]*4; + v[0] = v[8] = v[16] = v[24] = v[32] = v[40] = v[48] = v[56] = dcterm; + } else { + STBI__IDCT_1D(d[ 0],d[ 8],d[16],d[24],d[32],d[40],d[48],d[56]) + // constants scaled things up by 1<<12; let's bring them back + // down, but keep 2 extra bits of precision + x0 += 512; x1 += 512; x2 += 512; x3 += 512; + v[ 0] = (x0+t3) >> 10; + v[56] = (x0-t3) >> 10; + v[ 8] = (x1+t2) >> 10; + v[48] = (x1-t2) >> 10; + v[16] = (x2+t1) >> 10; + v[40] = (x2-t1) >> 10; + v[24] = (x3+t0) >> 10; + v[32] = (x3-t0) >> 10; + } + } + + for (i=0, v=val, o=out; i < 8; ++i,v+=8,o+=out_stride) { + // no fast case since the first 1D IDCT spread components out + STBI__IDCT_1D(v[0],v[1],v[2],v[3],v[4],v[5],v[6],v[7]) + // constants scaled things up by 1<<12, plus we had 1<<2 from first + // loop, plus horizontal and vertical each scale by sqrt(8) so together + // we've got an extra 1<<3, so 1<<17 total we need to remove. + // so we want to round that, which means adding 0.5 * 1<<17, + // aka 65536. Also, we'll end up with -128 to 127 that we want + // to encode as 0..255 by adding 128, so we'll add that before the shift + x0 += 65536 + (128<<17); + x1 += 65536 + (128<<17); + x2 += 65536 + (128<<17); + x3 += 65536 + (128<<17); + // tried computing the shifts into temps, or'ing the temps to see + // if any were out of range, but that was slower + o[0] = stbi__clamp((x0+t3) >> 17); + o[7] = stbi__clamp((x0-t3) >> 17); + o[1] = stbi__clamp((x1+t2) >> 17); + o[6] = stbi__clamp((x1-t2) >> 17); + o[2] = stbi__clamp((x2+t1) >> 17); + o[5] = stbi__clamp((x2-t1) >> 17); + o[3] = stbi__clamp((x3+t0) >> 17); + o[4] = stbi__clamp((x3-t0) >> 17); + } +} + +#ifdef STBI_SSE2 +// sse2 integer IDCT. not the fastest possible implementation but it +// produces bit-identical results to the generic C version so it's +// fully "transparent". +static void stbi__idct_simd(stbi_uc *out, int out_stride, short data[64]) +{ + // This is constructed to match our regular (generic) integer IDCT exactly. + __m128i row0, row1, row2, row3, row4, row5, row6, row7; + __m128i tmp; + + // dot product constant: even elems=x, odd elems=y + #define dct_const(x,y) _mm_setr_epi16((x),(y),(x),(y),(x),(y),(x),(y)) + + // out(0) = c0[even]*x + c0[odd]*y (c0, x, y 16-bit, out 32-bit) + // out(1) = c1[even]*x + c1[odd]*y + #define dct_rot(out0,out1, x,y,c0,c1) \ + __m128i c0##lo = _mm_unpacklo_epi16((x),(y)); \ + __m128i c0##hi = _mm_unpackhi_epi16((x),(y)); \ + __m128i out0##_l = _mm_madd_epi16(c0##lo, c0); \ + __m128i out0##_h = _mm_madd_epi16(c0##hi, c0); \ + __m128i out1##_l = _mm_madd_epi16(c0##lo, c1); \ + __m128i out1##_h = _mm_madd_epi16(c0##hi, c1) + + // out = in << 12 (in 16-bit, out 32-bit) + #define dct_widen(out, in) \ + __m128i out##_l = _mm_srai_epi32(_mm_unpacklo_epi16(_mm_setzero_si128(), (in)), 4); \ + __m128i out##_h = _mm_srai_epi32(_mm_unpackhi_epi16(_mm_setzero_si128(), (in)), 4) + + // wide add + #define dct_wadd(out, a, b) \ + __m128i out##_l = _mm_add_epi32(a##_l, b##_l); \ + __m128i out##_h = _mm_add_epi32(a##_h, b##_h) + + // wide sub + #define dct_wsub(out, a, b) \ + __m128i out##_l = _mm_sub_epi32(a##_l, b##_l); \ + __m128i out##_h = _mm_sub_epi32(a##_h, b##_h) + + // butterfly a/b, add bias, then shift by "s" and pack + #define dct_bfly32o(out0, out1, a,b,bias,s) \ + { \ + __m128i abiased_l = _mm_add_epi32(a##_l, bias); \ + __m128i abiased_h = _mm_add_epi32(a##_h, bias); \ + dct_wadd(sum, abiased, b); \ + dct_wsub(dif, abiased, b); \ + out0 = _mm_packs_epi32(_mm_srai_epi32(sum_l, s), _mm_srai_epi32(sum_h, s)); \ + out1 = _mm_packs_epi32(_mm_srai_epi32(dif_l, s), _mm_srai_epi32(dif_h, s)); \ + } + + // 8-bit interleave step (for transposes) + #define dct_interleave8(a, b) \ + tmp = a; \ + a = _mm_unpacklo_epi8(a, b); \ + b = _mm_unpackhi_epi8(tmp, b) + + // 16-bit interleave step (for transposes) + #define dct_interleave16(a, b) \ + tmp = a; \ + a = _mm_unpacklo_epi16(a, b); \ + b = _mm_unpackhi_epi16(tmp, b) + + #define dct_pass(bias,shift) \ + { \ + /* even part */ \ + dct_rot(t2e,t3e, row2,row6, rot0_0,rot0_1); \ + __m128i sum04 = _mm_add_epi16(row0, row4); \ + __m128i dif04 = _mm_sub_epi16(row0, row4); \ + dct_widen(t0e, sum04); \ + dct_widen(t1e, dif04); \ + dct_wadd(x0, t0e, t3e); \ + dct_wsub(x3, t0e, t3e); \ + dct_wadd(x1, t1e, t2e); \ + dct_wsub(x2, t1e, t2e); \ + /* odd part */ \ + dct_rot(y0o,y2o, row7,row3, rot2_0,rot2_1); \ + dct_rot(y1o,y3o, row5,row1, rot3_0,rot3_1); \ + __m128i sum17 = _mm_add_epi16(row1, row7); \ + __m128i sum35 = _mm_add_epi16(row3, row5); \ + dct_rot(y4o,y5o, sum17,sum35, rot1_0,rot1_1); \ + dct_wadd(x4, y0o, y4o); \ + dct_wadd(x5, y1o, y5o); \ + dct_wadd(x6, y2o, y5o); \ + dct_wadd(x7, y3o, y4o); \ + dct_bfly32o(row0,row7, x0,x7,bias,shift); \ + dct_bfly32o(row1,row6, x1,x6,bias,shift); \ + dct_bfly32o(row2,row5, x2,x5,bias,shift); \ + dct_bfly32o(row3,row4, x3,x4,bias,shift); \ + } + + __m128i rot0_0 = dct_const(stbi__f2f(0.5411961f), stbi__f2f(0.5411961f) + stbi__f2f(-1.847759065f)); + __m128i rot0_1 = dct_const(stbi__f2f(0.5411961f) + stbi__f2f( 0.765366865f), stbi__f2f(0.5411961f)); + __m128i rot1_0 = dct_const(stbi__f2f(1.175875602f) + stbi__f2f(-0.899976223f), stbi__f2f(1.175875602f)); + __m128i rot1_1 = dct_const(stbi__f2f(1.175875602f), stbi__f2f(1.175875602f) + stbi__f2f(-2.562915447f)); + __m128i rot2_0 = dct_const(stbi__f2f(-1.961570560f) + stbi__f2f( 0.298631336f), stbi__f2f(-1.961570560f)); + __m128i rot2_1 = dct_const(stbi__f2f(-1.961570560f), stbi__f2f(-1.961570560f) + stbi__f2f( 3.072711026f)); + __m128i rot3_0 = dct_const(stbi__f2f(-0.390180644f) + stbi__f2f( 2.053119869f), stbi__f2f(-0.390180644f)); + __m128i rot3_1 = dct_const(stbi__f2f(-0.390180644f), stbi__f2f(-0.390180644f) + stbi__f2f( 1.501321110f)); + + // rounding biases in column/row passes, see stbi__idct_block for explanation. + __m128i bias_0 = _mm_set1_epi32(512); + __m128i bias_1 = _mm_set1_epi32(65536 + (128<<17)); + + // load + row0 = _mm_load_si128((const __m128i *) (data + 0*8)); + row1 = _mm_load_si128((const __m128i *) (data + 1*8)); + row2 = _mm_load_si128((const __m128i *) (data + 2*8)); + row3 = _mm_load_si128((const __m128i *) (data + 3*8)); + row4 = _mm_load_si128((const __m128i *) (data + 4*8)); + row5 = _mm_load_si128((const __m128i *) (data + 5*8)); + row6 = _mm_load_si128((const __m128i *) (data + 6*8)); + row7 = _mm_load_si128((const __m128i *) (data + 7*8)); + + // column pass + dct_pass(bias_0, 10); + + { + // 16bit 8x8 transpose pass 1 + dct_interleave16(row0, row4); + dct_interleave16(row1, row5); + dct_interleave16(row2, row6); + dct_interleave16(row3, row7); + + // transpose pass 2 + dct_interleave16(row0, row2); + dct_interleave16(row1, row3); + dct_interleave16(row4, row6); + dct_interleave16(row5, row7); + + // transpose pass 3 + dct_interleave16(row0, row1); + dct_interleave16(row2, row3); + dct_interleave16(row4, row5); + dct_interleave16(row6, row7); + } + + // row pass + dct_pass(bias_1, 17); + + { + // pack + __m128i p0 = _mm_packus_epi16(row0, row1); // a0a1a2a3...a7b0b1b2b3...b7 + __m128i p1 = _mm_packus_epi16(row2, row3); + __m128i p2 = _mm_packus_epi16(row4, row5); + __m128i p3 = _mm_packus_epi16(row6, row7); + + // 8bit 8x8 transpose pass 1 + dct_interleave8(p0, p2); // a0e0a1e1... + dct_interleave8(p1, p3); // c0g0c1g1... + + // transpose pass 2 + dct_interleave8(p0, p1); // a0c0e0g0... + dct_interleave8(p2, p3); // b0d0f0h0... + + // transpose pass 3 + dct_interleave8(p0, p2); // a0b0c0d0... + dct_interleave8(p1, p3); // a4b4c4d4... + + // store + _mm_storel_epi64((__m128i *) out, p0); out += out_stride; + _mm_storel_epi64((__m128i *) out, _mm_shuffle_epi32(p0, 0x4e)); out += out_stride; + _mm_storel_epi64((__m128i *) out, p2); out += out_stride; + _mm_storel_epi64((__m128i *) out, _mm_shuffle_epi32(p2, 0x4e)); out += out_stride; + _mm_storel_epi64((__m128i *) out, p1); out += out_stride; + _mm_storel_epi64((__m128i *) out, _mm_shuffle_epi32(p1, 0x4e)); out += out_stride; + _mm_storel_epi64((__m128i *) out, p3); out += out_stride; + _mm_storel_epi64((__m128i *) out, _mm_shuffle_epi32(p3, 0x4e)); + } + +#undef dct_const +#undef dct_rot +#undef dct_widen +#undef dct_wadd +#undef dct_wsub +#undef dct_bfly32o +#undef dct_interleave8 +#undef dct_interleave16 +#undef dct_pass +} + +#endif // STBI_SSE2 + +#ifdef STBI_NEON + +// NEON integer IDCT. should produce bit-identical +// results to the generic C version. +static void stbi__idct_simd(stbi_uc *out, int out_stride, short data[64]) +{ + int16x8_t row0, row1, row2, row3, row4, row5, row6, row7; + + int16x4_t rot0_0 = vdup_n_s16(stbi__f2f(0.5411961f)); + int16x4_t rot0_1 = vdup_n_s16(stbi__f2f(-1.847759065f)); + int16x4_t rot0_2 = vdup_n_s16(stbi__f2f( 0.765366865f)); + int16x4_t rot1_0 = vdup_n_s16(stbi__f2f( 1.175875602f)); + int16x4_t rot1_1 = vdup_n_s16(stbi__f2f(-0.899976223f)); + int16x4_t rot1_2 = vdup_n_s16(stbi__f2f(-2.562915447f)); + int16x4_t rot2_0 = vdup_n_s16(stbi__f2f(-1.961570560f)); + int16x4_t rot2_1 = vdup_n_s16(stbi__f2f(-0.390180644f)); + int16x4_t rot3_0 = vdup_n_s16(stbi__f2f( 0.298631336f)); + int16x4_t rot3_1 = vdup_n_s16(stbi__f2f( 2.053119869f)); + int16x4_t rot3_2 = vdup_n_s16(stbi__f2f( 3.072711026f)); + int16x4_t rot3_3 = vdup_n_s16(stbi__f2f( 1.501321110f)); + +#define dct_long_mul(out, inq, coeff) \ + int32x4_t out##_l = vmull_s16(vget_low_s16(inq), coeff); \ + int32x4_t out##_h = vmull_s16(vget_high_s16(inq), coeff) + +#define dct_long_mac(out, acc, inq, coeff) \ + int32x4_t out##_l = vmlal_s16(acc##_l, vget_low_s16(inq), coeff); \ + int32x4_t out##_h = vmlal_s16(acc##_h, vget_high_s16(inq), coeff) + +#define dct_widen(out, inq) \ + int32x4_t out##_l = vshll_n_s16(vget_low_s16(inq), 12); \ + int32x4_t out##_h = vshll_n_s16(vget_high_s16(inq), 12) + +// wide add +#define dct_wadd(out, a, b) \ + int32x4_t out##_l = vaddq_s32(a##_l, b##_l); \ + int32x4_t out##_h = vaddq_s32(a##_h, b##_h) + +// wide sub +#define dct_wsub(out, a, b) \ + int32x4_t out##_l = vsubq_s32(a##_l, b##_l); \ + int32x4_t out##_h = vsubq_s32(a##_h, b##_h) + +// butterfly a/b, then shift using "shiftop" by "s" and pack +#define dct_bfly32o(out0,out1, a,b,shiftop,s) \ + { \ + dct_wadd(sum, a, b); \ + dct_wsub(dif, a, b); \ + out0 = vcombine_s16(shiftop(sum_l, s), shiftop(sum_h, s)); \ + out1 = vcombine_s16(shiftop(dif_l, s), shiftop(dif_h, s)); \ + } + +#define dct_pass(shiftop, shift) \ + { \ + /* even part */ \ + int16x8_t sum26 = vaddq_s16(row2, row6); \ + dct_long_mul(p1e, sum26, rot0_0); \ + dct_long_mac(t2e, p1e, row6, rot0_1); \ + dct_long_mac(t3e, p1e, row2, rot0_2); \ + int16x8_t sum04 = vaddq_s16(row0, row4); \ + int16x8_t dif04 = vsubq_s16(row0, row4); \ + dct_widen(t0e, sum04); \ + dct_widen(t1e, dif04); \ + dct_wadd(x0, t0e, t3e); \ + dct_wsub(x3, t0e, t3e); \ + dct_wadd(x1, t1e, t2e); \ + dct_wsub(x2, t1e, t2e); \ + /* odd part */ \ + int16x8_t sum15 = vaddq_s16(row1, row5); \ + int16x8_t sum17 = vaddq_s16(row1, row7); \ + int16x8_t sum35 = vaddq_s16(row3, row5); \ + int16x8_t sum37 = vaddq_s16(row3, row7); \ + int16x8_t sumodd = vaddq_s16(sum17, sum35); \ + dct_long_mul(p5o, sumodd, rot1_0); \ + dct_long_mac(p1o, p5o, sum17, rot1_1); \ + dct_long_mac(p2o, p5o, sum35, rot1_2); \ + dct_long_mul(p3o, sum37, rot2_0); \ + dct_long_mul(p4o, sum15, rot2_1); \ + dct_wadd(sump13o, p1o, p3o); \ + dct_wadd(sump24o, p2o, p4o); \ + dct_wadd(sump23o, p2o, p3o); \ + dct_wadd(sump14o, p1o, p4o); \ + dct_long_mac(x4, sump13o, row7, rot3_0); \ + dct_long_mac(x5, sump24o, row5, rot3_1); \ + dct_long_mac(x6, sump23o, row3, rot3_2); \ + dct_long_mac(x7, sump14o, row1, rot3_3); \ + dct_bfly32o(row0,row7, x0,x7,shiftop,shift); \ + dct_bfly32o(row1,row6, x1,x6,shiftop,shift); \ + dct_bfly32o(row2,row5, x2,x5,shiftop,shift); \ + dct_bfly32o(row3,row4, x3,x4,shiftop,shift); \ + } + + // load + row0 = vld1q_s16(data + 0*8); + row1 = vld1q_s16(data + 1*8); + row2 = vld1q_s16(data + 2*8); + row3 = vld1q_s16(data + 3*8); + row4 = vld1q_s16(data + 4*8); + row5 = vld1q_s16(data + 5*8); + row6 = vld1q_s16(data + 6*8); + row7 = vld1q_s16(data + 7*8); + + // add DC bias + row0 = vaddq_s16(row0, vsetq_lane_s16(1024, vdupq_n_s16(0), 0)); + + // column pass + dct_pass(vrshrn_n_s32, 10); + + // 16bit 8x8 transpose + { +// these three map to a single VTRN.16, VTRN.32, and VSWP, respectively. +// whether compilers actually get this is another story, sadly. +#define dct_trn16(x, y) { int16x8x2_t t = vtrnq_s16(x, y); x = t.val[0]; y = t.val[1]; } +#define dct_trn32(x, y) { int32x4x2_t t = vtrnq_s32(vreinterpretq_s32_s16(x), vreinterpretq_s32_s16(y)); x = vreinterpretq_s16_s32(t.val[0]); y = vreinterpretq_s16_s32(t.val[1]); } +#define dct_trn64(x, y) { int16x8_t x0 = x; int16x8_t y0 = y; x = vcombine_s16(vget_low_s16(x0), vget_low_s16(y0)); y = vcombine_s16(vget_high_s16(x0), vget_high_s16(y0)); } + + // pass 1 + dct_trn16(row0, row1); // a0b0a2b2a4b4a6b6 + dct_trn16(row2, row3); + dct_trn16(row4, row5); + dct_trn16(row6, row7); + + // pass 2 + dct_trn32(row0, row2); // a0b0c0d0a4b4c4d4 + dct_trn32(row1, row3); + dct_trn32(row4, row6); + dct_trn32(row5, row7); + + // pass 3 + dct_trn64(row0, row4); // a0b0c0d0e0f0g0h0 + dct_trn64(row1, row5); + dct_trn64(row2, row6); + dct_trn64(row3, row7); + +#undef dct_trn16 +#undef dct_trn32 +#undef dct_trn64 + } + + // row pass + // vrshrn_n_s32 only supports shifts up to 16, we need + // 17. so do a non-rounding shift of 16 first then follow + // up with a rounding shift by 1. + dct_pass(vshrn_n_s32, 16); + + { + // pack and round + uint8x8_t p0 = vqrshrun_n_s16(row0, 1); + uint8x8_t p1 = vqrshrun_n_s16(row1, 1); + uint8x8_t p2 = vqrshrun_n_s16(row2, 1); + uint8x8_t p3 = vqrshrun_n_s16(row3, 1); + uint8x8_t p4 = vqrshrun_n_s16(row4, 1); + uint8x8_t p5 = vqrshrun_n_s16(row5, 1); + uint8x8_t p6 = vqrshrun_n_s16(row6, 1); + uint8x8_t p7 = vqrshrun_n_s16(row7, 1); + + // again, these can translate into one instruction, but often don't. +#define dct_trn8_8(x, y) { uint8x8x2_t t = vtrn_u8(x, y); x = t.val[0]; y = t.val[1]; } +#define dct_trn8_16(x, y) { uint16x4x2_t t = vtrn_u16(vreinterpret_u16_u8(x), vreinterpret_u16_u8(y)); x = vreinterpret_u8_u16(t.val[0]); y = vreinterpret_u8_u16(t.val[1]); } +#define dct_trn8_32(x, y) { uint32x2x2_t t = vtrn_u32(vreinterpret_u32_u8(x), vreinterpret_u32_u8(y)); x = vreinterpret_u8_u32(t.val[0]); y = vreinterpret_u8_u32(t.val[1]); } + + // sadly can't use interleaved stores here since we only write + // 8 bytes to each scan line! + + // 8x8 8-bit transpose pass 1 + dct_trn8_8(p0, p1); + dct_trn8_8(p2, p3); + dct_trn8_8(p4, p5); + dct_trn8_8(p6, p7); + + // pass 2 + dct_trn8_16(p0, p2); + dct_trn8_16(p1, p3); + dct_trn8_16(p4, p6); + dct_trn8_16(p5, p7); + + // pass 3 + dct_trn8_32(p0, p4); + dct_trn8_32(p1, p5); + dct_trn8_32(p2, p6); + dct_trn8_32(p3, p7); + + // store + vst1_u8(out, p0); out += out_stride; + vst1_u8(out, p1); out += out_stride; + vst1_u8(out, p2); out += out_stride; + vst1_u8(out, p3); out += out_stride; + vst1_u8(out, p4); out += out_stride; + vst1_u8(out, p5); out += out_stride; + vst1_u8(out, p6); out += out_stride; + vst1_u8(out, p7); + +#undef dct_trn8_8 +#undef dct_trn8_16 +#undef dct_trn8_32 + } + +#undef dct_long_mul +#undef dct_long_mac +#undef dct_widen +#undef dct_wadd +#undef dct_wsub +#undef dct_bfly32o +#undef dct_pass +} + +#endif // STBI_NEON + +#define STBI__MARKER_none 0xff +// if there's a pending marker from the entropy stream, return that +// otherwise, fetch from the stream and get a marker. if there's no +// marker, return 0xff, which is never a valid marker value +static stbi_uc stbi__get_marker(stbi__jpeg *j) +{ + stbi_uc x; + if (j->marker != STBI__MARKER_none) { x = j->marker; j->marker = STBI__MARKER_none; return x; } + x = stbi__get8(j->s); + if (x != 0xff) return STBI__MARKER_none; + while (x == 0xff) + x = stbi__get8(j->s); // consume repeated 0xff fill bytes + return x; +} + +// in each scan, we'll have scan_n components, and the order +// of the components is specified by order[] +#define STBI__RESTART(x) ((x) >= 0xd0 && (x) <= 0xd7) + +// after a restart interval, stbi__jpeg_reset the entropy decoder and +// the dc prediction +static void stbi__jpeg_reset(stbi__jpeg *j) +{ + j->code_bits = 0; + j->code_buffer = 0; + j->nomore = 0; + j->img_comp[0].dc_pred = j->img_comp[1].dc_pred = j->img_comp[2].dc_pred = j->img_comp[3].dc_pred = 0; + j->marker = STBI__MARKER_none; + j->todo = j->restart_interval ? j->restart_interval : 0x7fffffff; + j->eob_run = 0; + // no more than 1<<31 MCUs if no restart_interal? that's plenty safe, + // since we don't even allow 1<<30 pixels +} + +static int stbi__parse_entropy_coded_data(stbi__jpeg *z) +{ + stbi__jpeg_reset(z); + if (!z->progressive) { + if (z->scan_n == 1) { + int i,j; + STBI_SIMD_ALIGN(short, data[64]); + int n = z->order[0]; + // non-interleaved data, we just need to process one block at a time, + // in trivial scanline order + // number of blocks to do just depends on how many actual "pixels" this + // component has, independent of interleaved MCU blocking and such + int w = (z->img_comp[n].x+7) >> 3; + int h = (z->img_comp[n].y+7) >> 3; + for (j=0; j < h; ++j) { + for (i=0; i < w; ++i) { + int ha = z->img_comp[n].ha; + if (!stbi__jpeg_decode_block(z, data, z->huff_dc+z->img_comp[n].hd, z->huff_ac+ha, z->fast_ac[ha], n, z->dequant[z->img_comp[n].tq])) return 0; + z->idct_block_kernel(z->img_comp[n].data+z->img_comp[n].w2*j*8+i*8, z->img_comp[n].w2, data); + // every data block is an MCU, so countdown the restart interval + if (--z->todo <= 0) { + if (z->code_bits < 24) stbi__grow_buffer_unsafe(z); + // if it's NOT a restart, then just bail, so we get corrupt data + // rather than no data + if (!STBI__RESTART(z->marker)) return 1; + stbi__jpeg_reset(z); + } + } + } + return 1; + } else { // interleaved + int i,j,k,x,y; + STBI_SIMD_ALIGN(short, data[64]); + for (j=0; j < z->img_mcu_y; ++j) { + for (i=0; i < z->img_mcu_x; ++i) { + // scan an interleaved mcu... process scan_n components in order + for (k=0; k < z->scan_n; ++k) { + int n = z->order[k]; + // scan out an mcu's worth of this component; that's just determined + // by the basic H and V specified for the component + for (y=0; y < z->img_comp[n].v; ++y) { + for (x=0; x < z->img_comp[n].h; ++x) { + int x2 = (i*z->img_comp[n].h + x)*8; + int y2 = (j*z->img_comp[n].v + y)*8; + int ha = z->img_comp[n].ha; + if (!stbi__jpeg_decode_block(z, data, z->huff_dc+z->img_comp[n].hd, z->huff_ac+ha, z->fast_ac[ha], n, z->dequant[z->img_comp[n].tq])) return 0; + z->idct_block_kernel(z->img_comp[n].data+z->img_comp[n].w2*y2+x2, z->img_comp[n].w2, data); + } + } + } + // after all interleaved components, that's an interleaved MCU, + // so now count down the restart interval + if (--z->todo <= 0) { + if (z->code_bits < 24) stbi__grow_buffer_unsafe(z); + if (!STBI__RESTART(z->marker)) return 1; + stbi__jpeg_reset(z); + } + } + } + return 1; + } + } else { + if (z->scan_n == 1) { + int i,j; + int n = z->order[0]; + // non-interleaved data, we just need to process one block at a time, + // in trivial scanline order + // number of blocks to do just depends on how many actual "pixels" this + // component has, independent of interleaved MCU blocking and such + int w = (z->img_comp[n].x+7) >> 3; + int h = (z->img_comp[n].y+7) >> 3; + for (j=0; j < h; ++j) { + for (i=0; i < w; ++i) { + short *data = z->img_comp[n].coeff + 64 * (i + j * z->img_comp[n].coeff_w); + if (z->spec_start == 0) { + if (!stbi__jpeg_decode_block_prog_dc(z, data, &z->huff_dc[z->img_comp[n].hd], n)) + return 0; + } else { + int ha = z->img_comp[n].ha; + if (!stbi__jpeg_decode_block_prog_ac(z, data, &z->huff_ac[ha], z->fast_ac[ha])) + return 0; + } + // every data block is an MCU, so countdown the restart interval + if (--z->todo <= 0) { + if (z->code_bits < 24) stbi__grow_buffer_unsafe(z); + if (!STBI__RESTART(z->marker)) return 1; + stbi__jpeg_reset(z); + } + } + } + return 1; + } else { // interleaved + int i,j,k,x,y; + for (j=0; j < z->img_mcu_y; ++j) { + for (i=0; i < z->img_mcu_x; ++i) { + // scan an interleaved mcu... process scan_n components in order + for (k=0; k < z->scan_n; ++k) { + int n = z->order[k]; + // scan out an mcu's worth of this component; that's just determined + // by the basic H and V specified for the component + for (y=0; y < z->img_comp[n].v; ++y) { + for (x=0; x < z->img_comp[n].h; ++x) { + int x2 = (i*z->img_comp[n].h + x); + int y2 = (j*z->img_comp[n].v + y); + short *data = z->img_comp[n].coeff + 64 * (x2 + y2 * z->img_comp[n].coeff_w); + if (!stbi__jpeg_decode_block_prog_dc(z, data, &z->huff_dc[z->img_comp[n].hd], n)) + return 0; + } + } + } + // after all interleaved components, that's an interleaved MCU, + // so now count down the restart interval + if (--z->todo <= 0) { + if (z->code_bits < 24) stbi__grow_buffer_unsafe(z); + if (!STBI__RESTART(z->marker)) return 1; + stbi__jpeg_reset(z); + } + } + } + return 1; + } + } +} + +static void stbi__jpeg_dequantize(short *data, stbi__uint16 *dequant) +{ + int i; + for (i=0; i < 64; ++i) + data[i] *= dequant[i]; +} + +static void stbi__jpeg_finish(stbi__jpeg *z) +{ + if (z->progressive) { + // dequantize and idct the data + int i,j,n; + for (n=0; n < z->s->img_n; ++n) { + int w = (z->img_comp[n].x+7) >> 3; + int h = (z->img_comp[n].y+7) >> 3; + for (j=0; j < h; ++j) { + for (i=0; i < w; ++i) { + short *data = z->img_comp[n].coeff + 64 * (i + j * z->img_comp[n].coeff_w); + stbi__jpeg_dequantize(data, z->dequant[z->img_comp[n].tq]); + z->idct_block_kernel(z->img_comp[n].data+z->img_comp[n].w2*j*8+i*8, z->img_comp[n].w2, data); + } + } + } + } +} + +static int stbi__process_marker(stbi__jpeg *z, int m) +{ + int L; + switch (m) { + case STBI__MARKER_none: // no marker found + return stbi__err("expected marker","Corrupt JPEG"); + + case 0xDD: // DRI - specify restart interval + if (stbi__get16be(z->s) != 4) return stbi__err("bad DRI len","Corrupt JPEG"); + z->restart_interval = stbi__get16be(z->s); + return 1; + + case 0xDB: // DQT - define quantization table + L = stbi__get16be(z->s)-2; + while (L > 0) { + int q = stbi__get8(z->s); + int p = q >> 4, sixteen = (p != 0); + int t = q & 15,i; + if (p != 0 && p != 1) return stbi__err("bad DQT type","Corrupt JPEG"); + if (t > 3) return stbi__err("bad DQT table","Corrupt JPEG"); + + for (i=0; i < 64; ++i) + z->dequant[t][stbi__jpeg_dezigzag[i]] = (stbi__uint16)(sixteen ? stbi__get16be(z->s) : stbi__get8(z->s)); + L -= (sixteen ? 129 : 65); + } + return L==0; + + case 0xC4: // DHT - define huffman table + L = stbi__get16be(z->s)-2; + while (L > 0) { + stbi_uc *v; + int sizes[16],i,n=0; + int q = stbi__get8(z->s); + int tc = q >> 4; + int th = q & 15; + if (tc > 1 || th > 3) return stbi__err("bad DHT header","Corrupt JPEG"); + for (i=0; i < 16; ++i) { + sizes[i] = stbi__get8(z->s); + n += sizes[i]; + } + if(n > 256) return stbi__err("bad DHT header","Corrupt JPEG"); // Loop over i < n would write past end of values! + L -= 17; + if (tc == 0) { + if (!stbi__build_huffman(z->huff_dc+th, sizes)) return 0; + v = z->huff_dc[th].values; + } else { + if (!stbi__build_huffman(z->huff_ac+th, sizes)) return 0; + v = z->huff_ac[th].values; + } + for (i=0; i < n; ++i) + v[i] = stbi__get8(z->s); + if (tc != 0) + stbi__build_fast_ac(z->fast_ac[th], z->huff_ac + th); + L -= n; + } + return L==0; + } + + // check for comment block or APP blocks + if ((m >= 0xE0 && m <= 0xEF) || m == 0xFE) { + L = stbi__get16be(z->s); + if (L < 2) { + if (m == 0xFE) + return stbi__err("bad COM len","Corrupt JPEG"); + else + return stbi__err("bad APP len","Corrupt JPEG"); + } + L -= 2; + + if (m == 0xE0 && L >= 5) { // JFIF APP0 segment + static const unsigned char tag[5] = {'J','F','I','F','\0'}; + int ok = 1; + int i; + for (i=0; i < 5; ++i) + if (stbi__get8(z->s) != tag[i]) + ok = 0; + L -= 5; + if (ok) + z->jfif = 1; + } else if (m == 0xEE && L >= 12) { // Adobe APP14 segment + static const unsigned char tag[6] = {'A','d','o','b','e','\0'}; + int ok = 1; + int i; + for (i=0; i < 6; ++i) + if (stbi__get8(z->s) != tag[i]) + ok = 0; + L -= 6; + if (ok) { + stbi__get8(z->s); // version + stbi__get16be(z->s); // flags0 + stbi__get16be(z->s); // flags1 + z->app14_color_transform = stbi__get8(z->s); // color transform + L -= 6; + } + } + + stbi__skip(z->s, L); + return 1; + } + + return stbi__err("unknown marker","Corrupt JPEG"); +} + +// after we see SOS +static int stbi__process_scan_header(stbi__jpeg *z) +{ + int i; + int Ls = stbi__get16be(z->s); + z->scan_n = stbi__get8(z->s); + if (z->scan_n < 1 || z->scan_n > 4 || z->scan_n > (int) z->s->img_n) return stbi__err("bad SOS component count","Corrupt JPEG"); + if (Ls != 6+2*z->scan_n) return stbi__err("bad SOS len","Corrupt JPEG"); + for (i=0; i < z->scan_n; ++i) { + int id = stbi__get8(z->s), which; + int q = stbi__get8(z->s); + for (which = 0; which < z->s->img_n; ++which) + if (z->img_comp[which].id == id) + break; + if (which == z->s->img_n) return 0; // no match + z->img_comp[which].hd = q >> 4; if (z->img_comp[which].hd > 3) return stbi__err("bad DC huff","Corrupt JPEG"); + z->img_comp[which].ha = q & 15; if (z->img_comp[which].ha > 3) return stbi__err("bad AC huff","Corrupt JPEG"); + z->order[i] = which; + } + + { + int aa; + z->spec_start = stbi__get8(z->s); + z->spec_end = stbi__get8(z->s); // should be 63, but might be 0 + aa = stbi__get8(z->s); + z->succ_high = (aa >> 4); + z->succ_low = (aa & 15); + if (z->progressive) { + if (z->spec_start > 63 || z->spec_end > 63 || z->spec_start > z->spec_end || z->succ_high > 13 || z->succ_low > 13) + return stbi__err("bad SOS", "Corrupt JPEG"); + } else { + if (z->spec_start != 0) return stbi__err("bad SOS","Corrupt JPEG"); + if (z->succ_high != 0 || z->succ_low != 0) return stbi__err("bad SOS","Corrupt JPEG"); + z->spec_end = 63; + } + } + + return 1; +} + +static int stbi__free_jpeg_components(stbi__jpeg *z, int ncomp, int why) +{ + int i; + for (i=0; i < ncomp; ++i) { + if (z->img_comp[i].raw_data) { + STBI_FREE(z->img_comp[i].raw_data); + z->img_comp[i].raw_data = NULL; + z->img_comp[i].data = NULL; + } + if (z->img_comp[i].raw_coeff) { + STBI_FREE(z->img_comp[i].raw_coeff); + z->img_comp[i].raw_coeff = 0; + z->img_comp[i].coeff = 0; + } + if (z->img_comp[i].linebuf) { + STBI_FREE(z->img_comp[i].linebuf); + z->img_comp[i].linebuf = NULL; + } + } + return why; +} + +static int stbi__process_frame_header(stbi__jpeg *z, int scan) +{ + stbi__context *s = z->s; + int Lf,p,i,q, h_max=1,v_max=1,c; + Lf = stbi__get16be(s); if (Lf < 11) return stbi__err("bad SOF len","Corrupt JPEG"); // JPEG + p = stbi__get8(s); if (p != 8) return stbi__err("only 8-bit","JPEG format not supported: 8-bit only"); // JPEG baseline + s->img_y = stbi__get16be(s); if (s->img_y == 0) return stbi__err("no header height", "JPEG format not supported: delayed height"); // Legal, but we don't handle it--but neither does IJG + s->img_x = stbi__get16be(s); if (s->img_x == 0) return stbi__err("0 width","Corrupt JPEG"); // JPEG requires + if (s->img_y > STBI_MAX_DIMENSIONS) return stbi__err("too large","Very large image (corrupt?)"); + if (s->img_x > STBI_MAX_DIMENSIONS) return stbi__err("too large","Very large image (corrupt?)"); + c = stbi__get8(s); + if (c != 3 && c != 1 && c != 4) return stbi__err("bad component count","Corrupt JPEG"); + s->img_n = c; + for (i=0; i < c; ++i) { + z->img_comp[i].data = NULL; + z->img_comp[i].linebuf = NULL; + } + + if (Lf != 8+3*s->img_n) return stbi__err("bad SOF len","Corrupt JPEG"); + + z->rgb = 0; + for (i=0; i < s->img_n; ++i) { + static const unsigned char rgb[3] = { 'R', 'G', 'B' }; + z->img_comp[i].id = stbi__get8(s); + if (s->img_n == 3 && z->img_comp[i].id == rgb[i]) + ++z->rgb; + q = stbi__get8(s); + z->img_comp[i].h = (q >> 4); if (!z->img_comp[i].h || z->img_comp[i].h > 4) return stbi__err("bad H","Corrupt JPEG"); + z->img_comp[i].v = q & 15; if (!z->img_comp[i].v || z->img_comp[i].v > 4) return stbi__err("bad V","Corrupt JPEG"); + z->img_comp[i].tq = stbi__get8(s); if (z->img_comp[i].tq > 3) return stbi__err("bad TQ","Corrupt JPEG"); + } + + if (scan != STBI__SCAN_load) return 1; + + if (!stbi__mad3sizes_valid(s->img_x, s->img_y, s->img_n, 0)) return stbi__err("too large", "Image too large to decode"); + + for (i=0; i < s->img_n; ++i) { + if (z->img_comp[i].h > h_max) h_max = z->img_comp[i].h; + if (z->img_comp[i].v > v_max) v_max = z->img_comp[i].v; + } + + // check that plane subsampling factors are integer ratios; our resamplers can't deal with fractional ratios + // and I've never seen a non-corrupted JPEG file actually use them + for (i=0; i < s->img_n; ++i) { + if (h_max % z->img_comp[i].h != 0) return stbi__err("bad H","Corrupt JPEG"); + if (v_max % z->img_comp[i].v != 0) return stbi__err("bad V","Corrupt JPEG"); + } + + // compute interleaved mcu info + z->img_h_max = h_max; + z->img_v_max = v_max; + z->img_mcu_w = h_max * 8; + z->img_mcu_h = v_max * 8; + // these sizes can't be more than 17 bits + z->img_mcu_x = (s->img_x + z->img_mcu_w-1) / z->img_mcu_w; + z->img_mcu_y = (s->img_y + z->img_mcu_h-1) / z->img_mcu_h; + + for (i=0; i < s->img_n; ++i) { + // number of effective pixels (e.g. for non-interleaved MCU) + z->img_comp[i].x = (s->img_x * z->img_comp[i].h + h_max-1) / h_max; + z->img_comp[i].y = (s->img_y * z->img_comp[i].v + v_max-1) / v_max; + // to simplify generation, we'll allocate enough memory to decode + // the bogus oversized data from using interleaved MCUs and their + // big blocks (e.g. a 16x16 iMCU on an image of width 33); we won't + // discard the extra data until colorspace conversion + // + // img_mcu_x, img_mcu_y: <=17 bits; comp[i].h and .v are <=4 (checked earlier) + // so these muls can't overflow with 32-bit ints (which we require) + z->img_comp[i].w2 = z->img_mcu_x * z->img_comp[i].h * 8; + z->img_comp[i].h2 = z->img_mcu_y * z->img_comp[i].v * 8; + z->img_comp[i].coeff = 0; + z->img_comp[i].raw_coeff = 0; + z->img_comp[i].linebuf = NULL; + z->img_comp[i].raw_data = stbi__malloc_mad2(z->img_comp[i].w2, z->img_comp[i].h2, 15); + if (z->img_comp[i].raw_data == NULL) + return stbi__free_jpeg_components(z, i+1, stbi__err("outofmem", "Out of memory")); + // align blocks for idct using mmx/sse + z->img_comp[i].data = (stbi_uc*) (((size_t) z->img_comp[i].raw_data + 15) & ~15); + if (z->progressive) { + // w2, h2 are multiples of 8 (see above) + z->img_comp[i].coeff_w = z->img_comp[i].w2 / 8; + z->img_comp[i].coeff_h = z->img_comp[i].h2 / 8; + z->img_comp[i].raw_coeff = stbi__malloc_mad3(z->img_comp[i].w2, z->img_comp[i].h2, sizeof(short), 15); + if (z->img_comp[i].raw_coeff == NULL) + return stbi__free_jpeg_components(z, i+1, stbi__err("outofmem", "Out of memory")); + z->img_comp[i].coeff = (short*) (((size_t) z->img_comp[i].raw_coeff + 15) & ~15); + } + } + + return 1; +} + +// use comparisons since in some cases we handle more than one case (e.g. SOF) +#define stbi__DNL(x) ((x) == 0xdc) +#define stbi__SOI(x) ((x) == 0xd8) +#define stbi__EOI(x) ((x) == 0xd9) +#define stbi__SOF(x) ((x) == 0xc0 || (x) == 0xc1 || (x) == 0xc2) +#define stbi__SOS(x) ((x) == 0xda) + +#define stbi__SOF_progressive(x) ((x) == 0xc2) + +static int stbi__decode_jpeg_header(stbi__jpeg *z, int scan) +{ + int m; + z->jfif = 0; + z->app14_color_transform = -1; // valid values are 0,1,2 + z->marker = STBI__MARKER_none; // initialize cached marker to empty + m = stbi__get_marker(z); + if (!stbi__SOI(m)) return stbi__err("no SOI","Corrupt JPEG"); + if (scan == STBI__SCAN_type) return 1; + m = stbi__get_marker(z); + while (!stbi__SOF(m)) { + if (!stbi__process_marker(z,m)) return 0; + m = stbi__get_marker(z); + while (m == STBI__MARKER_none) { + // some files have extra padding after their blocks, so ok, we'll scan + if (stbi__at_eof(z->s)) return stbi__err("no SOF", "Corrupt JPEG"); + m = stbi__get_marker(z); + } + } + z->progressive = stbi__SOF_progressive(m); + if (!stbi__process_frame_header(z, scan)) return 0; + return 1; +} + +static int stbi__skip_jpeg_junk_at_end(stbi__jpeg *j) +{ + // some JPEGs have junk at end, skip over it but if we find what looks + // like a valid marker, resume there + while (!stbi__at_eof(j->s)) { + int x = stbi__get8(j->s); + while (x == 255) { // might be a marker + if (stbi__at_eof(j->s)) return STBI__MARKER_none; + x = stbi__get8(j->s); + if (x != 0x00 && x != 0xff) { + // not a stuffed zero or lead-in to another marker, looks + // like an actual marker, return it + return x; + } + // stuffed zero has x=0 now which ends the loop, meaning we go + // back to regular scan loop. + // repeated 0xff keeps trying to read the next byte of the marker. + } + } + return STBI__MARKER_none; +} + +// decode image to YCbCr format +static int stbi__decode_jpeg_image(stbi__jpeg *j) +{ + int m; + for (m = 0; m < 4; m++) { + j->img_comp[m].raw_data = NULL; + j->img_comp[m].raw_coeff = NULL; + } + j->restart_interval = 0; + if (!stbi__decode_jpeg_header(j, STBI__SCAN_load)) return 0; + m = stbi__get_marker(j); + while (!stbi__EOI(m)) { + if (stbi__SOS(m)) { + if (!stbi__process_scan_header(j)) return 0; + if (!stbi__parse_entropy_coded_data(j)) return 0; + if (j->marker == STBI__MARKER_none ) { + j->marker = stbi__skip_jpeg_junk_at_end(j); + // if we reach eof without hitting a marker, stbi__get_marker() below will fail and we'll eventually return 0 + } + m = stbi__get_marker(j); + if (STBI__RESTART(m)) + m = stbi__get_marker(j); + } else if (stbi__DNL(m)) { + int Ld = stbi__get16be(j->s); + stbi__uint32 NL = stbi__get16be(j->s); + if (Ld != 4) return stbi__err("bad DNL len", "Corrupt JPEG"); + if (NL != j->s->img_y) return stbi__err("bad DNL height", "Corrupt JPEG"); + m = stbi__get_marker(j); + } else { + if (!stbi__process_marker(j, m)) return 1; + m = stbi__get_marker(j); + } + } + if (j->progressive) + stbi__jpeg_finish(j); + return 1; +} + +// static jfif-centered resampling (across block boundaries) + +typedef stbi_uc *(*resample_row_func)(stbi_uc *out, stbi_uc *in0, stbi_uc *in1, + int w, int hs); + +#define stbi__div4(x) ((stbi_uc) ((x) >> 2)) + +static stbi_uc *resample_row_1(stbi_uc *out, stbi_uc *in_near, stbi_uc *in_far, int w, int hs) +{ + STBI_NOTUSED(out); + STBI_NOTUSED(in_far); + STBI_NOTUSED(w); + STBI_NOTUSED(hs); + return in_near; +} + +static stbi_uc* stbi__resample_row_v_2(stbi_uc *out, stbi_uc *in_near, stbi_uc *in_far, int w, int hs) +{ + // need to generate two samples vertically for every one in input + int i; + STBI_NOTUSED(hs); + for (i=0; i < w; ++i) + out[i] = stbi__div4(3*in_near[i] + in_far[i] + 2); + return out; +} + +static stbi_uc* stbi__resample_row_h_2(stbi_uc *out, stbi_uc *in_near, stbi_uc *in_far, int w, int hs) +{ + // need to generate two samples horizontally for every one in input + int i; + stbi_uc *input = in_near; + + if (w == 1) { + // if only one sample, can't do any interpolation + out[0] = out[1] = input[0]; + return out; + } + + out[0] = input[0]; + out[1] = stbi__div4(input[0]*3 + input[1] + 2); + for (i=1; i < w-1; ++i) { + int n = 3*input[i]+2; + out[i*2+0] = stbi__div4(n+input[i-1]); + out[i*2+1] = stbi__div4(n+input[i+1]); + } + out[i*2+0] = stbi__div4(input[w-2]*3 + input[w-1] + 2); + out[i*2+1] = input[w-1]; + + STBI_NOTUSED(in_far); + STBI_NOTUSED(hs); + + return out; +} + +#define stbi__div16(x) ((stbi_uc) ((x) >> 4)) + +static stbi_uc *stbi__resample_row_hv_2(stbi_uc *out, stbi_uc *in_near, stbi_uc *in_far, int w, int hs) +{ + // need to generate 2x2 samples for every one in input + int i,t0,t1; + if (w == 1) { + out[0] = out[1] = stbi__div4(3*in_near[0] + in_far[0] + 2); + return out; + } + + t1 = 3*in_near[0] + in_far[0]; + out[0] = stbi__div4(t1+2); + for (i=1; i < w; ++i) { + t0 = t1; + t1 = 3*in_near[i]+in_far[i]; + out[i*2-1] = stbi__div16(3*t0 + t1 + 8); + out[i*2 ] = stbi__div16(3*t1 + t0 + 8); + } + out[w*2-1] = stbi__div4(t1+2); + + STBI_NOTUSED(hs); + + return out; +} + +#if defined(STBI_SSE2) || defined(STBI_NEON) +static stbi_uc *stbi__resample_row_hv_2_simd(stbi_uc *out, stbi_uc *in_near, stbi_uc *in_far, int w, int hs) +{ + // need to generate 2x2 samples for every one in input + int i=0,t0,t1; + + if (w == 1) { + out[0] = out[1] = stbi__div4(3*in_near[0] + in_far[0] + 2); + return out; + } + + t1 = 3*in_near[0] + in_far[0]; + // process groups of 8 pixels for as long as we can. + // note we can't handle the last pixel in a row in this loop + // because we need to handle the filter boundary conditions. + for (; i < ((w-1) & ~7); i += 8) { +#if defined(STBI_SSE2) + // load and perform the vertical filtering pass + // this uses 3*x + y = 4*x + (y - x) + __m128i zero = _mm_setzero_si128(); + __m128i farb = _mm_loadl_epi64((__m128i *) (in_far + i)); + __m128i nearb = _mm_loadl_epi64((__m128i *) (in_near + i)); + __m128i farw = _mm_unpacklo_epi8(farb, zero); + __m128i nearw = _mm_unpacklo_epi8(nearb, zero); + __m128i diff = _mm_sub_epi16(farw, nearw); + __m128i nears = _mm_slli_epi16(nearw, 2); + __m128i curr = _mm_add_epi16(nears, diff); // current row + + // horizontal filter works the same based on shifted vers of current + // row. "prev" is current row shifted right by 1 pixel; we need to + // insert the previous pixel value (from t1). + // "next" is current row shifted left by 1 pixel, with first pixel + // of next block of 8 pixels added in. + __m128i prv0 = _mm_slli_si128(curr, 2); + __m128i nxt0 = _mm_srli_si128(curr, 2); + __m128i prev = _mm_insert_epi16(prv0, t1, 0); + __m128i next = _mm_insert_epi16(nxt0, 3*in_near[i+8] + in_far[i+8], 7); + + // horizontal filter, polyphase implementation since it's convenient: + // even pixels = 3*cur + prev = cur*4 + (prev - cur) + // odd pixels = 3*cur + next = cur*4 + (next - cur) + // note the shared term. + __m128i bias = _mm_set1_epi16(8); + __m128i curs = _mm_slli_epi16(curr, 2); + __m128i prvd = _mm_sub_epi16(prev, curr); + __m128i nxtd = _mm_sub_epi16(next, curr); + __m128i curb = _mm_add_epi16(curs, bias); + __m128i even = _mm_add_epi16(prvd, curb); + __m128i odd = _mm_add_epi16(nxtd, curb); + + // interleave even and odd pixels, then undo scaling. + __m128i int0 = _mm_unpacklo_epi16(even, odd); + __m128i int1 = _mm_unpackhi_epi16(even, odd); + __m128i de0 = _mm_srli_epi16(int0, 4); + __m128i de1 = _mm_srli_epi16(int1, 4); + + // pack and write output + __m128i outv = _mm_packus_epi16(de0, de1); + _mm_storeu_si128((__m128i *) (out + i*2), outv); +#elif defined(STBI_NEON) + // load and perform the vertical filtering pass + // this uses 3*x + y = 4*x + (y - x) + uint8x8_t farb = vld1_u8(in_far + i); + uint8x8_t nearb = vld1_u8(in_near + i); + int16x8_t diff = vreinterpretq_s16_u16(vsubl_u8(farb, nearb)); + int16x8_t nears = vreinterpretq_s16_u16(vshll_n_u8(nearb, 2)); + int16x8_t curr = vaddq_s16(nears, diff); // current row + + // horizontal filter works the same based on shifted vers of current + // row. "prev" is current row shifted right by 1 pixel; we need to + // insert the previous pixel value (from t1). + // "next" is current row shifted left by 1 pixel, with first pixel + // of next block of 8 pixels added in. + int16x8_t prv0 = vextq_s16(curr, curr, 7); + int16x8_t nxt0 = vextq_s16(curr, curr, 1); + int16x8_t prev = vsetq_lane_s16(t1, prv0, 0); + int16x8_t next = vsetq_lane_s16(3*in_near[i+8] + in_far[i+8], nxt0, 7); + + // horizontal filter, polyphase implementation since it's convenient: + // even pixels = 3*cur + prev = cur*4 + (prev - cur) + // odd pixels = 3*cur + next = cur*4 + (next - cur) + // note the shared term. + int16x8_t curs = vshlq_n_s16(curr, 2); + int16x8_t prvd = vsubq_s16(prev, curr); + int16x8_t nxtd = vsubq_s16(next, curr); + int16x8_t even = vaddq_s16(curs, prvd); + int16x8_t odd = vaddq_s16(curs, nxtd); + + // undo scaling and round, then store with even/odd phases interleaved + uint8x8x2_t o; + o.val[0] = vqrshrun_n_s16(even, 4); + o.val[1] = vqrshrun_n_s16(odd, 4); + vst2_u8(out + i*2, o); +#endif + + // "previous" value for next iter + t1 = 3*in_near[i+7] + in_far[i+7]; + } + + t0 = t1; + t1 = 3*in_near[i] + in_far[i]; + out[i*2] = stbi__div16(3*t1 + t0 + 8); + + for (++i; i < w; ++i) { + t0 = t1; + t1 = 3*in_near[i]+in_far[i]; + out[i*2-1] = stbi__div16(3*t0 + t1 + 8); + out[i*2 ] = stbi__div16(3*t1 + t0 + 8); + } + out[w*2-1] = stbi__div4(t1+2); + + STBI_NOTUSED(hs); + + return out; +} +#endif + +static stbi_uc *stbi__resample_row_generic(stbi_uc *out, stbi_uc *in_near, stbi_uc *in_far, int w, int hs) +{ + // resample with nearest-neighbor + int i,j; + STBI_NOTUSED(in_far); + for (i=0; i < w; ++i) + for (j=0; j < hs; ++j) + out[i*hs+j] = in_near[i]; + return out; +} + +// this is a reduced-precision calculation of YCbCr-to-RGB introduced +// to make sure the code produces the same results in both SIMD and scalar +#define stbi__float2fixed(x) (((int) ((x) * 4096.0f + 0.5f)) << 8) +static void stbi__YCbCr_to_RGB_row(stbi_uc *out, const stbi_uc *y, const stbi_uc *pcb, const stbi_uc *pcr, int count, int step) +{ + int i; + for (i=0; i < count; ++i) { + int y_fixed = (y[i] << 20) + (1<<19); // rounding + int r,g,b; + int cr = pcr[i] - 128; + int cb = pcb[i] - 128; + r = y_fixed + cr* stbi__float2fixed(1.40200f); + g = y_fixed + (cr*-stbi__float2fixed(0.71414f)) + ((cb*-stbi__float2fixed(0.34414f)) & 0xffff0000); + b = y_fixed + cb* stbi__float2fixed(1.77200f); + r >>= 20; + g >>= 20; + b >>= 20; + if ((unsigned) r > 255) { if (r < 0) r = 0; else r = 255; } + if ((unsigned) g > 255) { if (g < 0) g = 0; else g = 255; } + if ((unsigned) b > 255) { if (b < 0) b = 0; else b = 255; } + out[0] = (stbi_uc)r; + out[1] = (stbi_uc)g; + out[2] = (stbi_uc)b; + out[3] = 255; + out += step; + } +} + +#if defined(STBI_SSE2) || defined(STBI_NEON) +static void stbi__YCbCr_to_RGB_simd(stbi_uc *out, stbi_uc const *y, stbi_uc const *pcb, stbi_uc const *pcr, int count, int step) +{ + int i = 0; + +#ifdef STBI_SSE2 + // step == 3 is pretty ugly on the final interleave, and i'm not convinced + // it's useful in practice (you wouldn't use it for textures, for example). + // so just accelerate step == 4 case. + if (step == 4) { + // this is a fairly straightforward implementation and not super-optimized. + __m128i signflip = _mm_set1_epi8(-0x80); + __m128i cr_const0 = _mm_set1_epi16( (short) ( 1.40200f*4096.0f+0.5f)); + __m128i cr_const1 = _mm_set1_epi16( - (short) ( 0.71414f*4096.0f+0.5f)); + __m128i cb_const0 = _mm_set1_epi16( - (short) ( 0.34414f*4096.0f+0.5f)); + __m128i cb_const1 = _mm_set1_epi16( (short) ( 1.77200f*4096.0f+0.5f)); + __m128i y_bias = _mm_set1_epi8((char) (unsigned char) 128); + __m128i xw = _mm_set1_epi16(255); // alpha channel + + for (; i+7 < count; i += 8) { + // load + __m128i y_bytes = _mm_loadl_epi64((__m128i *) (y+i)); + __m128i cr_bytes = _mm_loadl_epi64((__m128i *) (pcr+i)); + __m128i cb_bytes = _mm_loadl_epi64((__m128i *) (pcb+i)); + __m128i cr_biased = _mm_xor_si128(cr_bytes, signflip); // -128 + __m128i cb_biased = _mm_xor_si128(cb_bytes, signflip); // -128 + + // unpack to short (and left-shift cr, cb by 8) + __m128i yw = _mm_unpacklo_epi8(y_bias, y_bytes); + __m128i crw = _mm_unpacklo_epi8(_mm_setzero_si128(), cr_biased); + __m128i cbw = _mm_unpacklo_epi8(_mm_setzero_si128(), cb_biased); + + // color transform + __m128i yws = _mm_srli_epi16(yw, 4); + __m128i cr0 = _mm_mulhi_epi16(cr_const0, crw); + __m128i cb0 = _mm_mulhi_epi16(cb_const0, cbw); + __m128i cb1 = _mm_mulhi_epi16(cbw, cb_const1); + __m128i cr1 = _mm_mulhi_epi16(crw, cr_const1); + __m128i rws = _mm_add_epi16(cr0, yws); + __m128i gwt = _mm_add_epi16(cb0, yws); + __m128i bws = _mm_add_epi16(yws, cb1); + __m128i gws = _mm_add_epi16(gwt, cr1); + + // descale + __m128i rw = _mm_srai_epi16(rws, 4); + __m128i bw = _mm_srai_epi16(bws, 4); + __m128i gw = _mm_srai_epi16(gws, 4); + + // back to byte, set up for transpose + __m128i brb = _mm_packus_epi16(rw, bw); + __m128i gxb = _mm_packus_epi16(gw, xw); + + // transpose to interleave channels + __m128i t0 = _mm_unpacklo_epi8(brb, gxb); + __m128i t1 = _mm_unpackhi_epi8(brb, gxb); + __m128i o0 = _mm_unpacklo_epi16(t0, t1); + __m128i o1 = _mm_unpackhi_epi16(t0, t1); + + // store + _mm_storeu_si128((__m128i *) (out + 0), o0); + _mm_storeu_si128((__m128i *) (out + 16), o1); + out += 32; + } + } +#endif + +#ifdef STBI_NEON + // in this version, step=3 support would be easy to add. but is there demand? + if (step == 4) { + // this is a fairly straightforward implementation and not super-optimized. + uint8x8_t signflip = vdup_n_u8(0x80); + int16x8_t cr_const0 = vdupq_n_s16( (short) ( 1.40200f*4096.0f+0.5f)); + int16x8_t cr_const1 = vdupq_n_s16( - (short) ( 0.71414f*4096.0f+0.5f)); + int16x8_t cb_const0 = vdupq_n_s16( - (short) ( 0.34414f*4096.0f+0.5f)); + int16x8_t cb_const1 = vdupq_n_s16( (short) ( 1.77200f*4096.0f+0.5f)); + + for (; i+7 < count; i += 8) { + // load + uint8x8_t y_bytes = vld1_u8(y + i); + uint8x8_t cr_bytes = vld1_u8(pcr + i); + uint8x8_t cb_bytes = vld1_u8(pcb + i); + int8x8_t cr_biased = vreinterpret_s8_u8(vsub_u8(cr_bytes, signflip)); + int8x8_t cb_biased = vreinterpret_s8_u8(vsub_u8(cb_bytes, signflip)); + + // expand to s16 + int16x8_t yws = vreinterpretq_s16_u16(vshll_n_u8(y_bytes, 4)); + int16x8_t crw = vshll_n_s8(cr_biased, 7); + int16x8_t cbw = vshll_n_s8(cb_biased, 7); + + // color transform + int16x8_t cr0 = vqdmulhq_s16(crw, cr_const0); + int16x8_t cb0 = vqdmulhq_s16(cbw, cb_const0); + int16x8_t cr1 = vqdmulhq_s16(crw, cr_const1); + int16x8_t cb1 = vqdmulhq_s16(cbw, cb_const1); + int16x8_t rws = vaddq_s16(yws, cr0); + int16x8_t gws = vaddq_s16(vaddq_s16(yws, cb0), cr1); + int16x8_t bws = vaddq_s16(yws, cb1); + + // undo scaling, round, convert to byte + uint8x8x4_t o; + o.val[0] = vqrshrun_n_s16(rws, 4); + o.val[1] = vqrshrun_n_s16(gws, 4); + o.val[2] = vqrshrun_n_s16(bws, 4); + o.val[3] = vdup_n_u8(255); + + // store, interleaving r/g/b/a + vst4_u8(out, o); + out += 8*4; + } + } +#endif + + for (; i < count; ++i) { + int y_fixed = (y[i] << 20) + (1<<19); // rounding + int r,g,b; + int cr = pcr[i] - 128; + int cb = pcb[i] - 128; + r = y_fixed + cr* stbi__float2fixed(1.40200f); + g = y_fixed + cr*-stbi__float2fixed(0.71414f) + ((cb*-stbi__float2fixed(0.34414f)) & 0xffff0000); + b = y_fixed + cb* stbi__float2fixed(1.77200f); + r >>= 20; + g >>= 20; + b >>= 20; + if ((unsigned) r > 255) { if (r < 0) r = 0; else r = 255; } + if ((unsigned) g > 255) { if (g < 0) g = 0; else g = 255; } + if ((unsigned) b > 255) { if (b < 0) b = 0; else b = 255; } + out[0] = (stbi_uc)r; + out[1] = (stbi_uc)g; + out[2] = (stbi_uc)b; + out[3] = 255; + out += step; + } +} +#endif + +// set up the kernels +static void stbi__setup_jpeg(stbi__jpeg *j) +{ + j->idct_block_kernel = stbi__idct_block; + j->YCbCr_to_RGB_kernel = stbi__YCbCr_to_RGB_row; + j->resample_row_hv_2_kernel = stbi__resample_row_hv_2; + +#ifdef STBI_SSE2 + if (stbi__sse2_available()) { + j->idct_block_kernel = stbi__idct_simd; + j->YCbCr_to_RGB_kernel = stbi__YCbCr_to_RGB_simd; + j->resample_row_hv_2_kernel = stbi__resample_row_hv_2_simd; + } +#endif + +#ifdef STBI_NEON + j->idct_block_kernel = stbi__idct_simd; + j->YCbCr_to_RGB_kernel = stbi__YCbCr_to_RGB_simd; + j->resample_row_hv_2_kernel = stbi__resample_row_hv_2_simd; +#endif +} + +// clean up the temporary component buffers +static void stbi__cleanup_jpeg(stbi__jpeg *j) +{ + stbi__free_jpeg_components(j, j->s->img_n, 0); +} + +typedef struct +{ + resample_row_func resample; + stbi_uc *line0,*line1; + int hs,vs; // expansion factor in each axis + int w_lores; // horizontal pixels pre-expansion + int ystep; // how far through vertical expansion we are + int ypos; // which pre-expansion row we're on +} stbi__resample; + +// fast 0..255 * 0..255 => 0..255 rounded multiplication +static stbi_uc stbi__blinn_8x8(stbi_uc x, stbi_uc y) +{ + unsigned int t = x*y + 128; + return (stbi_uc) ((t + (t >>8)) >> 8); +} + +static stbi_uc *load_jpeg_image(stbi__jpeg *z, int *out_x, int *out_y, int *comp, int req_comp) +{ + int n, decode_n, is_rgb; + z->s->img_n = 0; // make stbi__cleanup_jpeg safe + + // validate req_comp + if (req_comp < 0 || req_comp > 4) return stbi__errpuc("bad req_comp", "Internal error"); + + // load a jpeg image from whichever source, but leave in YCbCr format + if (!stbi__decode_jpeg_image(z)) { stbi__cleanup_jpeg(z); return NULL; } + + // determine actual number of components to generate + n = req_comp ? req_comp : z->s->img_n >= 3 ? 3 : 1; + + is_rgb = z->s->img_n == 3 && (z->rgb == 3 || (z->app14_color_transform == 0 && !z->jfif)); + + if (z->s->img_n == 3 && n < 3 && !is_rgb) + decode_n = 1; + else + decode_n = z->s->img_n; + + // nothing to do if no components requested; check this now to avoid + // accessing uninitialized coutput[0] later + if (decode_n <= 0) { stbi__cleanup_jpeg(z); return NULL; } + + // resample and color-convert + { + int k; + unsigned int i,j; + stbi_uc *output; + stbi_uc *coutput[4] = { NULL, NULL, NULL, NULL }; + + stbi__resample res_comp[4]; + + for (k=0; k < decode_n; ++k) { + stbi__resample *r = &res_comp[k]; + + // allocate line buffer big enough for upsampling off the edges + // with upsample factor of 4 + z->img_comp[k].linebuf = (stbi_uc *) stbi__malloc(z->s->img_x + 3); + if (!z->img_comp[k].linebuf) { stbi__cleanup_jpeg(z); return stbi__errpuc("outofmem", "Out of memory"); } + + r->hs = z->img_h_max / z->img_comp[k].h; + r->vs = z->img_v_max / z->img_comp[k].v; + r->ystep = r->vs >> 1; + r->w_lores = (z->s->img_x + r->hs-1) / r->hs; + r->ypos = 0; + r->line0 = r->line1 = z->img_comp[k].data; + + if (r->hs == 1 && r->vs == 1) r->resample = resample_row_1; + else if (r->hs == 1 && r->vs == 2) r->resample = stbi__resample_row_v_2; + else if (r->hs == 2 && r->vs == 1) r->resample = stbi__resample_row_h_2; + else if (r->hs == 2 && r->vs == 2) r->resample = z->resample_row_hv_2_kernel; + else r->resample = stbi__resample_row_generic; + } + + // can't error after this so, this is safe + output = (stbi_uc *) stbi__malloc_mad3(n, z->s->img_x, z->s->img_y, 1); + if (!output) { stbi__cleanup_jpeg(z); return stbi__errpuc("outofmem", "Out of memory"); } + + // now go ahead and resample + for (j=0; j < z->s->img_y; ++j) { + stbi_uc *out = output + n * z->s->img_x * j; + for (k=0; k < decode_n; ++k) { + stbi__resample *r = &res_comp[k]; + int y_bot = r->ystep >= (r->vs >> 1); + coutput[k] = r->resample(z->img_comp[k].linebuf, + y_bot ? r->line1 : r->line0, + y_bot ? r->line0 : r->line1, + r->w_lores, r->hs); + if (++r->ystep >= r->vs) { + r->ystep = 0; + r->line0 = r->line1; + if (++r->ypos < z->img_comp[k].y) + r->line1 += z->img_comp[k].w2; + } + } + if (n >= 3) { + stbi_uc *y = coutput[0]; + if (z->s->img_n == 3) { + if (is_rgb) { + for (i=0; i < z->s->img_x; ++i) { + out[0] = y[i]; + out[1] = coutput[1][i]; + out[2] = coutput[2][i]; + out[3] = 255; + out += n; + } + } else { + z->YCbCr_to_RGB_kernel(out, y, coutput[1], coutput[2], z->s->img_x, n); + } + } else if (z->s->img_n == 4) { + if (z->app14_color_transform == 0) { // CMYK + for (i=0; i < z->s->img_x; ++i) { + stbi_uc m = coutput[3][i]; + out[0] = stbi__blinn_8x8(coutput[0][i], m); + out[1] = stbi__blinn_8x8(coutput[1][i], m); + out[2] = stbi__blinn_8x8(coutput[2][i], m); + out[3] = 255; + out += n; + } + } else if (z->app14_color_transform == 2) { // YCCK + z->YCbCr_to_RGB_kernel(out, y, coutput[1], coutput[2], z->s->img_x, n); + for (i=0; i < z->s->img_x; ++i) { + stbi_uc m = coutput[3][i]; + out[0] = stbi__blinn_8x8(255 - out[0], m); + out[1] = stbi__blinn_8x8(255 - out[1], m); + out[2] = stbi__blinn_8x8(255 - out[2], m); + out += n; + } + } else { // YCbCr + alpha? Ignore the fourth channel for now + z->YCbCr_to_RGB_kernel(out, y, coutput[1], coutput[2], z->s->img_x, n); + } + } else + for (i=0; i < z->s->img_x; ++i) { + out[0] = out[1] = out[2] = y[i]; + out[3] = 255; // not used if n==3 + out += n; + } + } else { + if (is_rgb) { + if (n == 1) + for (i=0; i < z->s->img_x; ++i) + *out++ = stbi__compute_y(coutput[0][i], coutput[1][i], coutput[2][i]); + else { + for (i=0; i < z->s->img_x; ++i, out += 2) { + out[0] = stbi__compute_y(coutput[0][i], coutput[1][i], coutput[2][i]); + out[1] = 255; + } + } + } else if (z->s->img_n == 4 && z->app14_color_transform == 0) { + for (i=0; i < z->s->img_x; ++i) { + stbi_uc m = coutput[3][i]; + stbi_uc r = stbi__blinn_8x8(coutput[0][i], m); + stbi_uc g = stbi__blinn_8x8(coutput[1][i], m); + stbi_uc b = stbi__blinn_8x8(coutput[2][i], m); + out[0] = stbi__compute_y(r, g, b); + out[1] = 255; + out += n; + } + } else if (z->s->img_n == 4 && z->app14_color_transform == 2) { + for (i=0; i < z->s->img_x; ++i) { + out[0] = stbi__blinn_8x8(255 - coutput[0][i], coutput[3][i]); + out[1] = 255; + out += n; + } + } else { + stbi_uc *y = coutput[0]; + if (n == 1) + for (i=0; i < z->s->img_x; ++i) out[i] = y[i]; + else + for (i=0; i < z->s->img_x; ++i) { *out++ = y[i]; *out++ = 255; } + } + } + } + stbi__cleanup_jpeg(z); + *out_x = z->s->img_x; + *out_y = z->s->img_y; + if (comp) *comp = z->s->img_n >= 3 ? 3 : 1; // report original components, not output + return output; + } +} + +static void *stbi__jpeg_load(stbi__context *s, int *x, int *y, int *comp, int req_comp, stbi__result_info *ri) +{ + unsigned char* result; + stbi__jpeg* j = (stbi__jpeg*) stbi__malloc(sizeof(stbi__jpeg)); + if (!j) return stbi__errpuc("outofmem", "Out of memory"); + memset(j, 0, sizeof(stbi__jpeg)); + STBI_NOTUSED(ri); + j->s = s; + stbi__setup_jpeg(j); + result = load_jpeg_image(j, x,y,comp,req_comp); + STBI_FREE(j); + return result; +} + +static int stbi__jpeg_test(stbi__context *s) +{ + int r; + stbi__jpeg* j = (stbi__jpeg*)stbi__malloc(sizeof(stbi__jpeg)); + if (!j) return stbi__err("outofmem", "Out of memory"); + memset(j, 0, sizeof(stbi__jpeg)); + j->s = s; + stbi__setup_jpeg(j); + r = stbi__decode_jpeg_header(j, STBI__SCAN_type); + stbi__rewind(s); + STBI_FREE(j); + return r; +} + +static int stbi__jpeg_info_raw(stbi__jpeg *j, int *x, int *y, int *comp) +{ + if (!stbi__decode_jpeg_header(j, STBI__SCAN_header)) { + stbi__rewind( j->s ); + return 0; + } + if (x) *x = j->s->img_x; + if (y) *y = j->s->img_y; + if (comp) *comp = j->s->img_n >= 3 ? 3 : 1; + return 1; +} + +static int stbi__jpeg_info(stbi__context *s, int *x, int *y, int *comp) +{ + int result; + stbi__jpeg* j = (stbi__jpeg*) (stbi__malloc(sizeof(stbi__jpeg))); + if (!j) return stbi__err("outofmem", "Out of memory"); + memset(j, 0, sizeof(stbi__jpeg)); + j->s = s; + result = stbi__jpeg_info_raw(j, x, y, comp); + STBI_FREE(j); + return result; +} +#endif + +// public domain zlib decode v0.2 Sean Barrett 2006-11-18 +// simple implementation +// - all input must be provided in an upfront buffer +// - all output is written to a single output buffer (can malloc/realloc) +// performance +// - fast huffman + +#ifndef STBI_NO_ZLIB + +// fast-way is faster to check than jpeg huffman, but slow way is slower +#define STBI__ZFAST_BITS 9 // accelerate all cases in default tables +#define STBI__ZFAST_MASK ((1 << STBI__ZFAST_BITS) - 1) +#define STBI__ZNSYMS 288 // number of symbols in literal/length alphabet + +// zlib-style huffman encoding +// (jpegs packs from left, zlib from right, so can't share code) +typedef struct +{ + stbi__uint16 fast[1 << STBI__ZFAST_BITS]; + stbi__uint16 firstcode[16]; + int maxcode[17]; + stbi__uint16 firstsymbol[16]; + stbi_uc size[STBI__ZNSYMS]; + stbi__uint16 value[STBI__ZNSYMS]; +} stbi__zhuffman; + +stbi_inline static int stbi__bitreverse16(int n) +{ + n = ((n & 0xAAAA) >> 1) | ((n & 0x5555) << 1); + n = ((n & 0xCCCC) >> 2) | ((n & 0x3333) << 2); + n = ((n & 0xF0F0) >> 4) | ((n & 0x0F0F) << 4); + n = ((n & 0xFF00) >> 8) | ((n & 0x00FF) << 8); + return n; +} + +stbi_inline static int stbi__bit_reverse(int v, int bits) +{ + STBI_ASSERT(bits <= 16); + // to bit reverse n bits, reverse 16 and shift + // e.g. 11 bits, bit reverse and shift away 5 + return stbi__bitreverse16(v) >> (16-bits); +} + +static int stbi__zbuild_huffman(stbi__zhuffman *z, const stbi_uc *sizelist, int num) +{ + int i,k=0; + int code, next_code[16], sizes[17]; + + // DEFLATE spec for generating codes + memset(sizes, 0, sizeof(sizes)); + memset(z->fast, 0, sizeof(z->fast)); + for (i=0; i < num; ++i) + ++sizes[sizelist[i]]; + sizes[0] = 0; + for (i=1; i < 16; ++i) + if (sizes[i] > (1 << i)) + return stbi__err("bad sizes", "Corrupt PNG"); + code = 0; + for (i=1; i < 16; ++i) { + next_code[i] = code; + z->firstcode[i] = (stbi__uint16) code; + z->firstsymbol[i] = (stbi__uint16) k; + code = (code + sizes[i]); + if (sizes[i]) + if (code-1 >= (1 << i)) return stbi__err("bad codelengths","Corrupt PNG"); + z->maxcode[i] = code << (16-i); // preshift for inner loop + code <<= 1; + k += sizes[i]; + } + z->maxcode[16] = 0x10000; // sentinel + for (i=0; i < num; ++i) { + int s = sizelist[i]; + if (s) { + int c = next_code[s] - z->firstcode[s] + z->firstsymbol[s]; + stbi__uint16 fastv = (stbi__uint16) ((s << 9) | i); + z->size [c] = (stbi_uc ) s; + z->value[c] = (stbi__uint16) i; + if (s <= STBI__ZFAST_BITS) { + int j = stbi__bit_reverse(next_code[s],s); + while (j < (1 << STBI__ZFAST_BITS)) { + z->fast[j] = fastv; + j += (1 << s); + } + } + ++next_code[s]; + } + } + return 1; +} + +// zlib-from-memory implementation for PNG reading +// because PNG allows splitting the zlib stream arbitrarily, +// and it's annoying structurally to have PNG call ZLIB call PNG, +// we require PNG read all the IDATs and combine them into a single +// memory buffer + +typedef struct +{ + stbi_uc *zbuffer, *zbuffer_end; + int num_bits; + stbi__uint32 code_buffer; + + char *zout; + char *zout_start; + char *zout_end; + int z_expandable; + + stbi__zhuffman z_length, z_distance; +} stbi__zbuf; + +stbi_inline static int stbi__zeof(stbi__zbuf *z) +{ + return (z->zbuffer >= z->zbuffer_end); +} + +stbi_inline static stbi_uc stbi__zget8(stbi__zbuf *z) +{ + return stbi__zeof(z) ? 0 : *z->zbuffer++; +} + +static void stbi__fill_bits(stbi__zbuf *z) +{ + do { + if (z->code_buffer >= (1U << z->num_bits)) { + z->zbuffer = z->zbuffer_end; /* treat this as EOF so we fail. */ + return; + } + z->code_buffer |= (unsigned int) stbi__zget8(z) << z->num_bits; + z->num_bits += 8; + } while (z->num_bits <= 24); +} + +stbi_inline static unsigned int stbi__zreceive(stbi__zbuf *z, int n) +{ + unsigned int k; + if (z->num_bits < n) stbi__fill_bits(z); + k = z->code_buffer & ((1 << n) - 1); + z->code_buffer >>= n; + z->num_bits -= n; + return k; +} + +static int stbi__zhuffman_decode_slowpath(stbi__zbuf *a, stbi__zhuffman *z) +{ + int b,s,k; + // not resolved by fast table, so compute it the slow way + // use jpeg approach, which requires MSbits at top + k = stbi__bit_reverse(a->code_buffer, 16); + for (s=STBI__ZFAST_BITS+1; ; ++s) + if (k < z->maxcode[s]) + break; + if (s >= 16) return -1; // invalid code! + // code size is s, so: + b = (k >> (16-s)) - z->firstcode[s] + z->firstsymbol[s]; + if (b >= STBI__ZNSYMS) return -1; // some data was corrupt somewhere! + if (z->size[b] != s) return -1; // was originally an assert, but report failure instead. + a->code_buffer >>= s; + a->num_bits -= s; + return z->value[b]; +} + +stbi_inline static int stbi__zhuffman_decode(stbi__zbuf *a, stbi__zhuffman *z) +{ + int b,s; + if (a->num_bits < 16) { + if (stbi__zeof(a)) { + return -1; /* report error for unexpected end of data. */ + } + stbi__fill_bits(a); + } + b = z->fast[a->code_buffer & STBI__ZFAST_MASK]; + if (b) { + s = b >> 9; + a->code_buffer >>= s; + a->num_bits -= s; + return b & 511; + } + return stbi__zhuffman_decode_slowpath(a, z); +} + +static int stbi__zexpand(stbi__zbuf *z, char *zout, int n) // need to make room for n bytes +{ + char *q; + unsigned int cur, limit, old_limit; + z->zout = zout; + if (!z->z_expandable) return stbi__err("output buffer limit","Corrupt PNG"); + cur = (unsigned int) (z->zout - z->zout_start); + limit = old_limit = (unsigned) (z->zout_end - z->zout_start); + if (UINT_MAX - cur < (unsigned) n) return stbi__err("outofmem", "Out of memory"); + while (cur + n > limit) { + if(limit > UINT_MAX / 2) return stbi__err("outofmem", "Out of memory"); + limit *= 2; + } + q = (char *) STBI_REALLOC_SIZED(z->zout_start, old_limit, limit); + STBI_NOTUSED(old_limit); + if (q == NULL) return stbi__err("outofmem", "Out of memory"); + z->zout_start = q; + z->zout = q + cur; + z->zout_end = q + limit; + return 1; +} + +static const int stbi__zlength_base[31] = { + 3,4,5,6,7,8,9,10,11,13, + 15,17,19,23,27,31,35,43,51,59, + 67,83,99,115,131,163,195,227,258,0,0 }; + +static const int stbi__zlength_extra[31]= +{ 0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0,0,0 }; + +static const int stbi__zdist_base[32] = { 1,2,3,4,5,7,9,13,17,25,33,49,65,97,129,193, +257,385,513,769,1025,1537,2049,3073,4097,6145,8193,12289,16385,24577,0,0}; + +static const int stbi__zdist_extra[32] = +{ 0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13}; + +static int stbi__parse_huffman_block(stbi__zbuf *a) +{ + char *zout = a->zout; + for(;;) { + int z = stbi__zhuffman_decode(a, &a->z_length); + if (z < 256) { + if (z < 0) return stbi__err("bad huffman code","Corrupt PNG"); // error in huffman codes + if (zout >= a->zout_end) { + if (!stbi__zexpand(a, zout, 1)) return 0; + zout = a->zout; + } + *zout++ = (char) z; + } else { + stbi_uc *p; + int len,dist; + if (z == 256) { + a->zout = zout; + return 1; + } + if (z >= 286) return stbi__err("bad huffman code","Corrupt PNG"); // per DEFLATE, length codes 286 and 287 must not appear in compressed data + z -= 257; + len = stbi__zlength_base[z]; + if (stbi__zlength_extra[z]) len += stbi__zreceive(a, stbi__zlength_extra[z]); + z = stbi__zhuffman_decode(a, &a->z_distance); + if (z < 0 || z >= 30) return stbi__err("bad huffman code","Corrupt PNG"); // per DEFLATE, distance codes 30 and 31 must not appear in compressed data + dist = stbi__zdist_base[z]; + if (stbi__zdist_extra[z]) dist += stbi__zreceive(a, stbi__zdist_extra[z]); + if (zout - a->zout_start < dist) return stbi__err("bad dist","Corrupt PNG"); + if (zout + len > a->zout_end) { + if (!stbi__zexpand(a, zout, len)) return 0; + zout = a->zout; + } + p = (stbi_uc *) (zout - dist); + if (dist == 1) { // run of one byte; common in images. + stbi_uc v = *p; + if (len) { do *zout++ = v; while (--len); } + } else { + if (len) { do *zout++ = *p++; while (--len); } + } + } + } +} + +static int stbi__compute_huffman_codes(stbi__zbuf *a) +{ + static const stbi_uc length_dezigzag[19] = { 16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15 }; + stbi__zhuffman z_codelength; + stbi_uc lencodes[286+32+137];//padding for maximum single op + stbi_uc codelength_sizes[19]; + int i,n; + + int hlit = stbi__zreceive(a,5) + 257; + int hdist = stbi__zreceive(a,5) + 1; + int hclen = stbi__zreceive(a,4) + 4; + int ntot = hlit + hdist; + + memset(codelength_sizes, 0, sizeof(codelength_sizes)); + for (i=0; i < hclen; ++i) { + int s = stbi__zreceive(a,3); + codelength_sizes[length_dezigzag[i]] = (stbi_uc) s; + } + if (!stbi__zbuild_huffman(&z_codelength, codelength_sizes, 19)) return 0; + + n = 0; + while (n < ntot) { + int c = stbi__zhuffman_decode(a, &z_codelength); + if (c < 0 || c >= 19) return stbi__err("bad codelengths", "Corrupt PNG"); + if (c < 16) + lencodes[n++] = (stbi_uc) c; + else { + stbi_uc fill = 0; + if (c == 16) { + c = stbi__zreceive(a,2)+3; + if (n == 0) return stbi__err("bad codelengths", "Corrupt PNG"); + fill = lencodes[n-1]; + } else if (c == 17) { + c = stbi__zreceive(a,3)+3; + } else if (c == 18) { + c = stbi__zreceive(a,7)+11; + } else { + return stbi__err("bad codelengths", "Corrupt PNG"); + } + if (ntot - n < c) return stbi__err("bad codelengths", "Corrupt PNG"); + memset(lencodes+n, fill, c); + n += c; + } + } + if (n != ntot) return stbi__err("bad codelengths","Corrupt PNG"); + if (!stbi__zbuild_huffman(&a->z_length, lencodes, hlit)) return 0; + if (!stbi__zbuild_huffman(&a->z_distance, lencodes+hlit, hdist)) return 0; + return 1; +} + +static int stbi__parse_uncompressed_block(stbi__zbuf *a) +{ + stbi_uc header[4]; + int len,nlen,k; + if (a->num_bits & 7) + stbi__zreceive(a, a->num_bits & 7); // discard + // drain the bit-packed data into header + k = 0; + while (a->num_bits > 0) { + header[k++] = (stbi_uc) (a->code_buffer & 255); // suppress MSVC run-time check + a->code_buffer >>= 8; + a->num_bits -= 8; + } + if (a->num_bits < 0) return stbi__err("zlib corrupt","Corrupt PNG"); + // now fill header the normal way + while (k < 4) + header[k++] = stbi__zget8(a); + len = header[1] * 256 + header[0]; + nlen = header[3] * 256 + header[2]; + if (nlen != (len ^ 0xffff)) return stbi__err("zlib corrupt","Corrupt PNG"); + if (a->zbuffer + len > a->zbuffer_end) return stbi__err("read past buffer","Corrupt PNG"); + if (a->zout + len > a->zout_end) + if (!stbi__zexpand(a, a->zout, len)) return 0; + memcpy(a->zout, a->zbuffer, len); + a->zbuffer += len; + a->zout += len; + return 1; +} + +static int stbi__parse_zlib_header(stbi__zbuf *a) +{ + int cmf = stbi__zget8(a); + int cm = cmf & 15; + /* int cinfo = cmf >> 4; */ + int flg = stbi__zget8(a); + if (stbi__zeof(a)) return stbi__err("bad zlib header","Corrupt PNG"); // zlib spec + if ((cmf*256+flg) % 31 != 0) return stbi__err("bad zlib header","Corrupt PNG"); // zlib spec + if (flg & 32) return stbi__err("no preset dict","Corrupt PNG"); // preset dictionary not allowed in png + if (cm != 8) return stbi__err("bad compression","Corrupt PNG"); // DEFLATE required for png + // window = 1 << (8 + cinfo)... but who cares, we fully buffer output + return 1; +} + +static const stbi_uc stbi__zdefault_length[STBI__ZNSYMS] = +{ + 8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8, 8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8, + 8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8, 8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8, + 8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8, 8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8, + 8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8, 8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8, + 8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8, 9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9, + 9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9, 9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9, + 9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9, 9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9, + 9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9, 9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9, + 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7, 7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8 +}; +static const stbi_uc stbi__zdefault_distance[32] = +{ + 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5 +}; +/* +Init algorithm: +{ + int i; // use <= to match clearly with spec + for (i=0; i <= 143; ++i) stbi__zdefault_length[i] = 8; + for ( ; i <= 255; ++i) stbi__zdefault_length[i] = 9; + for ( ; i <= 279; ++i) stbi__zdefault_length[i] = 7; + for ( ; i <= 287; ++i) stbi__zdefault_length[i] = 8; + + for (i=0; i <= 31; ++i) stbi__zdefault_distance[i] = 5; +} +*/ + +static int stbi__parse_zlib(stbi__zbuf *a, int parse_header) +{ + int final, type; + if (parse_header) + if (!stbi__parse_zlib_header(a)) return 0; + a->num_bits = 0; + a->code_buffer = 0; + do { + final = stbi__zreceive(a,1); + type = stbi__zreceive(a,2); + if (type == 0) { + if (!stbi__parse_uncompressed_block(a)) return 0; + } else if (type == 3) { + return 0; + } else { + if (type == 1) { + // use fixed code lengths + if (!stbi__zbuild_huffman(&a->z_length , stbi__zdefault_length , STBI__ZNSYMS)) return 0; + if (!stbi__zbuild_huffman(&a->z_distance, stbi__zdefault_distance, 32)) return 0; + } else { + if (!stbi__compute_huffman_codes(a)) return 0; + } + if (!stbi__parse_huffman_block(a)) return 0; + } + } while (!final); + return 1; +} + +static int stbi__do_zlib(stbi__zbuf *a, char *obuf, int olen, int exp, int parse_header) +{ + a->zout_start = obuf; + a->zout = obuf; + a->zout_end = obuf + olen; + a->z_expandable = exp; + + return stbi__parse_zlib(a, parse_header); +} + +STBIDEF char *stbi_zlib_decode_malloc_guesssize(const char *buffer, int len, int initial_size, int *outlen) +{ + stbi__zbuf a; + char *p = (char *) stbi__malloc(initial_size); + if (p == NULL) return NULL; + a.zbuffer = (stbi_uc *) buffer; + a.zbuffer_end = (stbi_uc *) buffer + len; + if (stbi__do_zlib(&a, p, initial_size, 1, 1)) { + if (outlen) *outlen = (int) (a.zout - a.zout_start); + return a.zout_start; + } else { + STBI_FREE(a.zout_start); + return NULL; + } +} + +STBIDEF char *stbi_zlib_decode_malloc(char const *buffer, int len, int *outlen) +{ + return stbi_zlib_decode_malloc_guesssize(buffer, len, 16384, outlen); +} + +STBIDEF char *stbi_zlib_decode_malloc_guesssize_headerflag(const char *buffer, int len, int initial_size, int *outlen, int parse_header) +{ + stbi__zbuf a; + char *p = (char *) stbi__malloc(initial_size); + if (p == NULL) return NULL; + a.zbuffer = (stbi_uc *) buffer; + a.zbuffer_end = (stbi_uc *) buffer + len; + if (stbi__do_zlib(&a, p, initial_size, 1, parse_header)) { + if (outlen) *outlen = (int) (a.zout - a.zout_start); + return a.zout_start; + } else { + STBI_FREE(a.zout_start); + return NULL; + } +} + +STBIDEF int stbi_zlib_decode_buffer(char *obuffer, int olen, char const *ibuffer, int ilen) +{ + stbi__zbuf a; + a.zbuffer = (stbi_uc *) ibuffer; + a.zbuffer_end = (stbi_uc *) ibuffer + ilen; + if (stbi__do_zlib(&a, obuffer, olen, 0, 1)) + return (int) (a.zout - a.zout_start); + else + return -1; +} + +STBIDEF char *stbi_zlib_decode_noheader_malloc(char const *buffer, int len, int *outlen) +{ + stbi__zbuf a; + char *p = (char *) stbi__malloc(16384); + if (p == NULL) return NULL; + a.zbuffer = (stbi_uc *) buffer; + a.zbuffer_end = (stbi_uc *) buffer+len; + if (stbi__do_zlib(&a, p, 16384, 1, 0)) { + if (outlen) *outlen = (int) (a.zout - a.zout_start); + return a.zout_start; + } else { + STBI_FREE(a.zout_start); + return NULL; + } +} + +STBIDEF int stbi_zlib_decode_noheader_buffer(char *obuffer, int olen, const char *ibuffer, int ilen) +{ + stbi__zbuf a; + a.zbuffer = (stbi_uc *) ibuffer; + a.zbuffer_end = (stbi_uc *) ibuffer + ilen; + if (stbi__do_zlib(&a, obuffer, olen, 0, 0)) + return (int) (a.zout - a.zout_start); + else + return -1; +} +#endif + +// public domain "baseline" PNG decoder v0.10 Sean Barrett 2006-11-18 +// simple implementation +// - only 8-bit samples +// - no CRC checking +// - allocates lots of intermediate memory +// - avoids problem of streaming data between subsystems +// - avoids explicit window management +// performance +// - uses stb_zlib, a PD zlib implementation with fast huffman decoding + +#ifndef STBI_NO_PNG +typedef struct +{ + stbi__uint32 length; + stbi__uint32 type; +} stbi__pngchunk; + +static stbi__pngchunk stbi__get_chunk_header(stbi__context *s) +{ + stbi__pngchunk c; + c.length = stbi__get32be(s); + c.type = stbi__get32be(s); + return c; +} + +static int stbi__check_png_header(stbi__context *s) +{ + static const stbi_uc png_sig[8] = { 137,80,78,71,13,10,26,10 }; + int i; + for (i=0; i < 8; ++i) + if (stbi__get8(s) != png_sig[i]) return stbi__err("bad png sig","Not a PNG"); + return 1; +} + +typedef struct +{ + stbi__context *s; + stbi_uc *idata, *expanded, *out; + int depth; +} stbi__png; + + +enum { + STBI__F_none=0, + STBI__F_sub=1, + STBI__F_up=2, + STBI__F_avg=3, + STBI__F_paeth=4, + // synthetic filters used for first scanline to avoid needing a dummy row of 0s + STBI__F_avg_first, + STBI__F_paeth_first +}; + +static stbi_uc first_row_filter[5] = +{ + STBI__F_none, + STBI__F_sub, + STBI__F_none, + STBI__F_avg_first, + STBI__F_paeth_first +}; + +static int stbi__paeth(int a, int b, int c) +{ + int p = a + b - c; + int pa = abs(p-a); + int pb = abs(p-b); + int pc = abs(p-c); + if (pa <= pb && pa <= pc) return a; + if (pb <= pc) return b; + return c; +} + +static const stbi_uc stbi__depth_scale_table[9] = { 0, 0xff, 0x55, 0, 0x11, 0,0,0, 0x01 }; + +// create the png data from post-deflated data +static int stbi__create_png_image_raw(stbi__png *a, stbi_uc *raw, stbi__uint32 raw_len, int out_n, stbi__uint32 x, stbi__uint32 y, int depth, int color) +{ + int bytes = (depth == 16? 2 : 1); + stbi__context *s = a->s; + stbi__uint32 i,j,stride = x*out_n*bytes; + stbi__uint32 img_len, img_width_bytes; + int k; + int img_n = s->img_n; // copy it into a local for later + + int output_bytes = out_n*bytes; + int filter_bytes = img_n*bytes; + int width = x; + + STBI_ASSERT(out_n == s->img_n || out_n == s->img_n+1); + a->out = (stbi_uc *) stbi__malloc_mad3(x, y, output_bytes, 0); // extra bytes to write off the end into + if (!a->out) return stbi__err("outofmem", "Out of memory"); + + if (!stbi__mad3sizes_valid(img_n, x, depth, 7)) return stbi__err("too large", "Corrupt PNG"); + img_width_bytes = (((img_n * x * depth) + 7) >> 3); + img_len = (img_width_bytes + 1) * y; + + // we used to check for exact match between raw_len and img_len on non-interlaced PNGs, + // but issue #276 reported a PNG in the wild that had extra data at the end (all zeros), + // so just check for raw_len < img_len always. + if (raw_len < img_len) return stbi__err("not enough pixels","Corrupt PNG"); + + for (j=0; j < y; ++j) { + stbi_uc *cur = a->out + stride*j; + stbi_uc *prior; + int filter = *raw++; + + if (filter > 4) + return stbi__err("invalid filter","Corrupt PNG"); + + if (depth < 8) { + if (img_width_bytes > x) return stbi__err("invalid width","Corrupt PNG"); + cur += x*out_n - img_width_bytes; // store output to the rightmost img_len bytes, so we can decode in place + filter_bytes = 1; + width = img_width_bytes; + } + prior = cur - stride; // bugfix: need to compute this after 'cur +=' computation above + + // if first row, use special filter that doesn't sample previous row + if (j == 0) filter = first_row_filter[filter]; + + // handle first byte explicitly + for (k=0; k < filter_bytes; ++k) { + switch (filter) { + case STBI__F_none : cur[k] = raw[k]; break; + case STBI__F_sub : cur[k] = raw[k]; break; + case STBI__F_up : cur[k] = STBI__BYTECAST(raw[k] + prior[k]); break; + case STBI__F_avg : cur[k] = STBI__BYTECAST(raw[k] + (prior[k]>>1)); break; + case STBI__F_paeth : cur[k] = STBI__BYTECAST(raw[k] + stbi__paeth(0,prior[k],0)); break; + case STBI__F_avg_first : cur[k] = raw[k]; break; + case STBI__F_paeth_first: cur[k] = raw[k]; break; + } + } + + if (depth == 8) { + if (img_n != out_n) + cur[img_n] = 255; // first pixel + raw += img_n; + cur += out_n; + prior += out_n; + } else if (depth == 16) { + if (img_n != out_n) { + cur[filter_bytes] = 255; // first pixel top byte + cur[filter_bytes+1] = 255; // first pixel bottom byte + } + raw += filter_bytes; + cur += output_bytes; + prior += output_bytes; + } else { + raw += 1; + cur += 1; + prior += 1; + } + + // this is a little gross, so that we don't switch per-pixel or per-component + if (depth < 8 || img_n == out_n) { + int nk = (width - 1)*filter_bytes; + #define STBI__CASE(f) \ + case f: \ + for (k=0; k < nk; ++k) + switch (filter) { + // "none" filter turns into a memcpy here; make that explicit. + case STBI__F_none: memcpy(cur, raw, nk); break; + STBI__CASE(STBI__F_sub) { cur[k] = STBI__BYTECAST(raw[k] + cur[k-filter_bytes]); } break; + STBI__CASE(STBI__F_up) { cur[k] = STBI__BYTECAST(raw[k] + prior[k]); } break; + STBI__CASE(STBI__F_avg) { cur[k] = STBI__BYTECAST(raw[k] + ((prior[k] + cur[k-filter_bytes])>>1)); } break; + STBI__CASE(STBI__F_paeth) { cur[k] = STBI__BYTECAST(raw[k] + stbi__paeth(cur[k-filter_bytes],prior[k],prior[k-filter_bytes])); } break; + STBI__CASE(STBI__F_avg_first) { cur[k] = STBI__BYTECAST(raw[k] + (cur[k-filter_bytes] >> 1)); } break; + STBI__CASE(STBI__F_paeth_first) { cur[k] = STBI__BYTECAST(raw[k] + stbi__paeth(cur[k-filter_bytes],0,0)); } break; + } + #undef STBI__CASE + raw += nk; + } else { + STBI_ASSERT(img_n+1 == out_n); + #define STBI__CASE(f) \ + case f: \ + for (i=x-1; i >= 1; --i, cur[filter_bytes]=255,raw+=filter_bytes,cur+=output_bytes,prior+=output_bytes) \ + for (k=0; k < filter_bytes; ++k) + switch (filter) { + STBI__CASE(STBI__F_none) { cur[k] = raw[k]; } break; + STBI__CASE(STBI__F_sub) { cur[k] = STBI__BYTECAST(raw[k] + cur[k- output_bytes]); } break; + STBI__CASE(STBI__F_up) { cur[k] = STBI__BYTECAST(raw[k] + prior[k]); } break; + STBI__CASE(STBI__F_avg) { cur[k] = STBI__BYTECAST(raw[k] + ((prior[k] + cur[k- output_bytes])>>1)); } break; + STBI__CASE(STBI__F_paeth) { cur[k] = STBI__BYTECAST(raw[k] + stbi__paeth(cur[k- output_bytes],prior[k],prior[k- output_bytes])); } break; + STBI__CASE(STBI__F_avg_first) { cur[k] = STBI__BYTECAST(raw[k] + (cur[k- output_bytes] >> 1)); } break; + STBI__CASE(STBI__F_paeth_first) { cur[k] = STBI__BYTECAST(raw[k] + stbi__paeth(cur[k- output_bytes],0,0)); } break; + } + #undef STBI__CASE + + // the loop above sets the high byte of the pixels' alpha, but for + // 16 bit png files we also need the low byte set. we'll do that here. + if (depth == 16) { + cur = a->out + stride*j; // start at the beginning of the row again + for (i=0; i < x; ++i,cur+=output_bytes) { + cur[filter_bytes+1] = 255; + } + } + } + } + + // we make a separate pass to expand bits to pixels; for performance, + // this could run two scanlines behind the above code, so it won't + // intefere with filtering but will still be in the cache. + if (depth < 8) { + for (j=0; j < y; ++j) { + stbi_uc *cur = a->out + stride*j; + stbi_uc *in = a->out + stride*j + x*out_n - img_width_bytes; + // unpack 1/2/4-bit into a 8-bit buffer. allows us to keep the common 8-bit path optimal at minimal cost for 1/2/4-bit + // png guarante byte alignment, if width is not multiple of 8/4/2 we'll decode dummy trailing data that will be skipped in the later loop + stbi_uc scale = (color == 0) ? stbi__depth_scale_table[depth] : 1; // scale grayscale values to 0..255 range + + // note that the final byte might overshoot and write more data than desired. + // we can allocate enough data that this never writes out of memory, but it + // could also overwrite the next scanline. can it overwrite non-empty data + // on the next scanline? yes, consider 1-pixel-wide scanlines with 1-bit-per-pixel. + // so we need to explicitly clamp the final ones + + if (depth == 4) { + for (k=x*img_n; k >= 2; k-=2, ++in) { + *cur++ = scale * ((*in >> 4) ); + *cur++ = scale * ((*in ) & 0x0f); + } + if (k > 0) *cur++ = scale * ((*in >> 4) ); + } else if (depth == 2) { + for (k=x*img_n; k >= 4; k-=4, ++in) { + *cur++ = scale * ((*in >> 6) ); + *cur++ = scale * ((*in >> 4) & 0x03); + *cur++ = scale * ((*in >> 2) & 0x03); + *cur++ = scale * ((*in ) & 0x03); + } + if (k > 0) *cur++ = scale * ((*in >> 6) ); + if (k > 1) *cur++ = scale * ((*in >> 4) & 0x03); + if (k > 2) *cur++ = scale * ((*in >> 2) & 0x03); + } else if (depth == 1) { + for (k=x*img_n; k >= 8; k-=8, ++in) { + *cur++ = scale * ((*in >> 7) ); + *cur++ = scale * ((*in >> 6) & 0x01); + *cur++ = scale * ((*in >> 5) & 0x01); + *cur++ = scale * ((*in >> 4) & 0x01); + *cur++ = scale * ((*in >> 3) & 0x01); + *cur++ = scale * ((*in >> 2) & 0x01); + *cur++ = scale * ((*in >> 1) & 0x01); + *cur++ = scale * ((*in ) & 0x01); + } + if (k > 0) *cur++ = scale * ((*in >> 7) ); + if (k > 1) *cur++ = scale * ((*in >> 6) & 0x01); + if (k > 2) *cur++ = scale * ((*in >> 5) & 0x01); + if (k > 3) *cur++ = scale * ((*in >> 4) & 0x01); + if (k > 4) *cur++ = scale * ((*in >> 3) & 0x01); + if (k > 5) *cur++ = scale * ((*in >> 2) & 0x01); + if (k > 6) *cur++ = scale * ((*in >> 1) & 0x01); + } + if (img_n != out_n) { + int q; + // insert alpha = 255 + cur = a->out + stride*j; + if (img_n == 1) { + for (q=x-1; q >= 0; --q) { + cur[q*2+1] = 255; + cur[q*2+0] = cur[q]; + } + } else { + STBI_ASSERT(img_n == 3); + for (q=x-1; q >= 0; --q) { + cur[q*4+3] = 255; + cur[q*4+2] = cur[q*3+2]; + cur[q*4+1] = cur[q*3+1]; + cur[q*4+0] = cur[q*3+0]; + } + } + } + } + } else if (depth == 16) { + // force the image data from big-endian to platform-native. + // this is done in a separate pass due to the decoding relying + // on the data being untouched, but could probably be done + // per-line during decode if care is taken. + stbi_uc *cur = a->out; + stbi__uint16 *cur16 = (stbi__uint16*)cur; + + for(i=0; i < x*y*out_n; ++i,cur16++,cur+=2) { + *cur16 = (cur[0] << 8) | cur[1]; + } + } + + return 1; +} + +static int stbi__create_png_image(stbi__png *a, stbi_uc *image_data, stbi__uint32 image_data_len, int out_n, int depth, int color, int interlaced) +{ + int bytes = (depth == 16 ? 2 : 1); + int out_bytes = out_n * bytes; + stbi_uc *final; + int p; + if (!interlaced) + return stbi__create_png_image_raw(a, image_data, image_data_len, out_n, a->s->img_x, a->s->img_y, depth, color); + + // de-interlacing + final = (stbi_uc *) stbi__malloc_mad3(a->s->img_x, a->s->img_y, out_bytes, 0); + if (!final) return stbi__err("outofmem", "Out of memory"); + for (p=0; p < 7; ++p) { + int xorig[] = { 0,4,0,2,0,1,0 }; + int yorig[] = { 0,0,4,0,2,0,1 }; + int xspc[] = { 8,8,4,4,2,2,1 }; + int yspc[] = { 8,8,8,4,4,2,2 }; + int i,j,x,y; + // pass1_x[4] = 0, pass1_x[5] = 1, pass1_x[12] = 1 + x = (a->s->img_x - xorig[p] + xspc[p]-1) / xspc[p]; + y = (a->s->img_y - yorig[p] + yspc[p]-1) / yspc[p]; + if (x && y) { + stbi__uint32 img_len = ((((a->s->img_n * x * depth) + 7) >> 3) + 1) * y; + if (!stbi__create_png_image_raw(a, image_data, image_data_len, out_n, x, y, depth, color)) { + STBI_FREE(final); + return 0; + } + for (j=0; j < y; ++j) { + for (i=0; i < x; ++i) { + int out_y = j*yspc[p]+yorig[p]; + int out_x = i*xspc[p]+xorig[p]; + memcpy(final + out_y*a->s->img_x*out_bytes + out_x*out_bytes, + a->out + (j*x+i)*out_bytes, out_bytes); + } + } + STBI_FREE(a->out); + image_data += img_len; + image_data_len -= img_len; + } + } + a->out = final; + + return 1; +} + +static int stbi__compute_transparency(stbi__png *z, stbi_uc tc[3], int out_n) +{ + stbi__context *s = z->s; + stbi__uint32 i, pixel_count = s->img_x * s->img_y; + stbi_uc *p = z->out; + + // compute color-based transparency, assuming we've + // already got 255 as the alpha value in the output + STBI_ASSERT(out_n == 2 || out_n == 4); + + if (out_n == 2) { + for (i=0; i < pixel_count; ++i) { + p[1] = (p[0] == tc[0] ? 0 : 255); + p += 2; + } + } else { + for (i=0; i < pixel_count; ++i) { + if (p[0] == tc[0] && p[1] == tc[1] && p[2] == tc[2]) + p[3] = 0; + p += 4; + } + } + return 1; +} + +static int stbi__compute_transparency16(stbi__png *z, stbi__uint16 tc[3], int out_n) +{ + stbi__context *s = z->s; + stbi__uint32 i, pixel_count = s->img_x * s->img_y; + stbi__uint16 *p = (stbi__uint16*) z->out; + + // compute color-based transparency, assuming we've + // already got 65535 as the alpha value in the output + STBI_ASSERT(out_n == 2 || out_n == 4); + + if (out_n == 2) { + for (i = 0; i < pixel_count; ++i) { + p[1] = (p[0] == tc[0] ? 0 : 65535); + p += 2; + } + } else { + for (i = 0; i < pixel_count; ++i) { + if (p[0] == tc[0] && p[1] == tc[1] && p[2] == tc[2]) + p[3] = 0; + p += 4; + } + } + return 1; +} + +static int stbi__expand_png_palette(stbi__png *a, stbi_uc *palette, int len, int pal_img_n) +{ + stbi__uint32 i, pixel_count = a->s->img_x * a->s->img_y; + stbi_uc *p, *temp_out, *orig = a->out; + + p = (stbi_uc *) stbi__malloc_mad2(pixel_count, pal_img_n, 0); + if (p == NULL) return stbi__err("outofmem", "Out of memory"); + + // between here and free(out) below, exitting would leak + temp_out = p; + + if (pal_img_n == 3) { + for (i=0; i < pixel_count; ++i) { + int n = orig[i]*4; + p[0] = palette[n ]; + p[1] = palette[n+1]; + p[2] = palette[n+2]; + p += 3; + } + } else { + for (i=0; i < pixel_count; ++i) { + int n = orig[i]*4; + p[0] = palette[n ]; + p[1] = palette[n+1]; + p[2] = palette[n+2]; + p[3] = palette[n+3]; + p += 4; + } + } + STBI_FREE(a->out); + a->out = temp_out; + + STBI_NOTUSED(len); + + return 1; +} + +static int stbi__unpremultiply_on_load_global = 0; +static int stbi__de_iphone_flag_global = 0; + +STBIDEF void stbi_set_unpremultiply_on_load(int flag_true_if_should_unpremultiply) +{ + stbi__unpremultiply_on_load_global = flag_true_if_should_unpremultiply; +} + +STBIDEF void stbi_convert_iphone_png_to_rgb(int flag_true_if_should_convert) +{ + stbi__de_iphone_flag_global = flag_true_if_should_convert; +} + +#ifndef STBI_THREAD_LOCAL +#define stbi__unpremultiply_on_load stbi__unpremultiply_on_load_global +#define stbi__de_iphone_flag stbi__de_iphone_flag_global +#else +static STBI_THREAD_LOCAL int stbi__unpremultiply_on_load_local, stbi__unpremultiply_on_load_set; +static STBI_THREAD_LOCAL int stbi__de_iphone_flag_local, stbi__de_iphone_flag_set; + +STBIDEF void stbi_set_unpremultiply_on_load_thread(int flag_true_if_should_unpremultiply) +{ + stbi__unpremultiply_on_load_local = flag_true_if_should_unpremultiply; + stbi__unpremultiply_on_load_set = 1; +} + +STBIDEF void stbi_convert_iphone_png_to_rgb_thread(int flag_true_if_should_convert) +{ + stbi__de_iphone_flag_local = flag_true_if_should_convert; + stbi__de_iphone_flag_set = 1; +} + +#define stbi__unpremultiply_on_load (stbi__unpremultiply_on_load_set \ + ? stbi__unpremultiply_on_load_local \ + : stbi__unpremultiply_on_load_global) +#define stbi__de_iphone_flag (stbi__de_iphone_flag_set \ + ? stbi__de_iphone_flag_local \ + : stbi__de_iphone_flag_global) +#endif // STBI_THREAD_LOCAL + +static void stbi__de_iphone(stbi__png *z) +{ + stbi__context *s = z->s; + stbi__uint32 i, pixel_count = s->img_x * s->img_y; + stbi_uc *p = z->out; + + if (s->img_out_n == 3) { // convert bgr to rgb + for (i=0; i < pixel_count; ++i) { + stbi_uc t = p[0]; + p[0] = p[2]; + p[2] = t; + p += 3; + } + } else { + STBI_ASSERT(s->img_out_n == 4); + if (stbi__unpremultiply_on_load) { + // convert bgr to rgb and unpremultiply + for (i=0; i < pixel_count; ++i) { + stbi_uc a = p[3]; + stbi_uc t = p[0]; + if (a) { + stbi_uc half = a / 2; + p[0] = (p[2] * 255 + half) / a; + p[1] = (p[1] * 255 + half) / a; + p[2] = ( t * 255 + half) / a; + } else { + p[0] = p[2]; + p[2] = t; + } + p += 4; + } + } else { + // convert bgr to rgb + for (i=0; i < pixel_count; ++i) { + stbi_uc t = p[0]; + p[0] = p[2]; + p[2] = t; + p += 4; + } + } + } +} + +#define STBI__PNG_TYPE(a,b,c,d) (((unsigned) (a) << 24) + ((unsigned) (b) << 16) + ((unsigned) (c) << 8) + (unsigned) (d)) + +static int stbi__parse_png_file(stbi__png *z, int scan, int req_comp) +{ + stbi_uc palette[1024], pal_img_n=0; + stbi_uc has_trans=0, tc[3]={0}; + stbi__uint16 tc16[3]; + stbi__uint32 ioff=0, idata_limit=0, i, pal_len=0; + int first=1,k,interlace=0, color=0, is_iphone=0; + stbi__context *s = z->s; + + z->expanded = NULL; + z->idata = NULL; + z->out = NULL; + + if (!stbi__check_png_header(s)) return 0; + + if (scan == STBI__SCAN_type) return 1; + + for (;;) { + stbi__pngchunk c = stbi__get_chunk_header(s); + switch (c.type) { + case STBI__PNG_TYPE('C','g','B','I'): + is_iphone = 1; + stbi__skip(s, c.length); + break; + case STBI__PNG_TYPE('I','H','D','R'): { + int comp,filter; + if (!first) return stbi__err("multiple IHDR","Corrupt PNG"); + first = 0; + if (c.length != 13) return stbi__err("bad IHDR len","Corrupt PNG"); + s->img_x = stbi__get32be(s); + s->img_y = stbi__get32be(s); + if (s->img_y > STBI_MAX_DIMENSIONS) return stbi__err("too large","Very large image (corrupt?)"); + if (s->img_x > STBI_MAX_DIMENSIONS) return stbi__err("too large","Very large image (corrupt?)"); + z->depth = stbi__get8(s); if (z->depth != 1 && z->depth != 2 && z->depth != 4 && z->depth != 8 && z->depth != 16) return stbi__err("1/2/4/8/16-bit only","PNG not supported: 1/2/4/8/16-bit only"); + color = stbi__get8(s); if (color > 6) return stbi__err("bad ctype","Corrupt PNG"); + if (color == 3 && z->depth == 16) return stbi__err("bad ctype","Corrupt PNG"); + if (color == 3) pal_img_n = 3; else if (color & 1) return stbi__err("bad ctype","Corrupt PNG"); + comp = stbi__get8(s); if (comp) return stbi__err("bad comp method","Corrupt PNG"); + filter= stbi__get8(s); if (filter) return stbi__err("bad filter method","Corrupt PNG"); + interlace = stbi__get8(s); if (interlace>1) return stbi__err("bad interlace method","Corrupt PNG"); + if (!s->img_x || !s->img_y) return stbi__err("0-pixel image","Corrupt PNG"); + if (!pal_img_n) { + s->img_n = (color & 2 ? 3 : 1) + (color & 4 ? 1 : 0); + if ((1 << 30) / s->img_x / s->img_n < s->img_y) return stbi__err("too large", "Image too large to decode"); + } else { + // if paletted, then pal_n is our final components, and + // img_n is # components to decompress/filter. + s->img_n = 1; + if ((1 << 30) / s->img_x / 4 < s->img_y) return stbi__err("too large","Corrupt PNG"); + } + // even with SCAN_header, have to scan to see if we have a tRNS + break; + } + + case STBI__PNG_TYPE('P','L','T','E'): { + if (first) return stbi__err("first not IHDR", "Corrupt PNG"); + if (c.length > 256*3) return stbi__err("invalid PLTE","Corrupt PNG"); + pal_len = c.length / 3; + if (pal_len * 3 != c.length) return stbi__err("invalid PLTE","Corrupt PNG"); + for (i=0; i < pal_len; ++i) { + palette[i*4+0] = stbi__get8(s); + palette[i*4+1] = stbi__get8(s); + palette[i*4+2] = stbi__get8(s); + palette[i*4+3] = 255; + } + break; + } + + case STBI__PNG_TYPE('t','R','N','S'): { + if (first) return stbi__err("first not IHDR", "Corrupt PNG"); + if (z->idata) return stbi__err("tRNS after IDAT","Corrupt PNG"); + if (pal_img_n) { + if (scan == STBI__SCAN_header) { s->img_n = 4; return 1; } + if (pal_len == 0) return stbi__err("tRNS before PLTE","Corrupt PNG"); + if (c.length > pal_len) return stbi__err("bad tRNS len","Corrupt PNG"); + pal_img_n = 4; + for (i=0; i < c.length; ++i) + palette[i*4+3] = stbi__get8(s); + } else { + if (!(s->img_n & 1)) return stbi__err("tRNS with alpha","Corrupt PNG"); + if (c.length != (stbi__uint32) s->img_n*2) return stbi__err("bad tRNS len","Corrupt PNG"); + has_trans = 1; + // non-paletted with tRNS = constant alpha. if header-scanning, we can stop now. + if (scan == STBI__SCAN_header) { ++s->img_n; return 1; } + if (z->depth == 16) { + for (k = 0; k < s->img_n; ++k) tc16[k] = (stbi__uint16)stbi__get16be(s); // copy the values as-is + } else { + for (k = 0; k < s->img_n; ++k) tc[k] = (stbi_uc)(stbi__get16be(s) & 255) * stbi__depth_scale_table[z->depth]; // non 8-bit images will be larger + } + } + break; + } + + case STBI__PNG_TYPE('I','D','A','T'): { + if (first) return stbi__err("first not IHDR", "Corrupt PNG"); + if (pal_img_n && !pal_len) return stbi__err("no PLTE","Corrupt PNG"); + if (scan == STBI__SCAN_header) { + // header scan definitely stops at first IDAT + if (pal_img_n) + s->img_n = pal_img_n; + return 1; + } + if (c.length > (1u << 30)) return stbi__err("IDAT size limit", "IDAT section larger than 2^30 bytes"); + if ((int)(ioff + c.length) < (int)ioff) return 0; + if (ioff + c.length > idata_limit) { + stbi__uint32 idata_limit_old = idata_limit; + stbi_uc *p; + if (idata_limit == 0) idata_limit = c.length > 4096 ? c.length : 4096; + while (ioff + c.length > idata_limit) + idata_limit *= 2; + STBI_NOTUSED(idata_limit_old); + p = (stbi_uc *) STBI_REALLOC_SIZED(z->idata, idata_limit_old, idata_limit); if (p == NULL) return stbi__err("outofmem", "Out of memory"); + z->idata = p; + } + if (!stbi__getn(s, z->idata+ioff,c.length)) return stbi__err("outofdata","Corrupt PNG"); + ioff += c.length; + break; + } + + case STBI__PNG_TYPE('I','E','N','D'): { + stbi__uint32 raw_len, bpl; + if (first) return stbi__err("first not IHDR", "Corrupt PNG"); + if (scan != STBI__SCAN_load) return 1; + if (z->idata == NULL) return stbi__err("no IDAT","Corrupt PNG"); + // initial guess for decoded data size to avoid unnecessary reallocs + bpl = (s->img_x * z->depth + 7) / 8; // bytes per line, per component + raw_len = bpl * s->img_y * s->img_n /* pixels */ + s->img_y /* filter mode per row */; + z->expanded = (stbi_uc *) stbi_zlib_decode_malloc_guesssize_headerflag((char *) z->idata, ioff, raw_len, (int *) &raw_len, !is_iphone); + if (z->expanded == NULL) return 0; // zlib should set error + STBI_FREE(z->idata); z->idata = NULL; + if ((req_comp == s->img_n+1 && req_comp != 3 && !pal_img_n) || has_trans) + s->img_out_n = s->img_n+1; + else + s->img_out_n = s->img_n; + if (!stbi__create_png_image(z, z->expanded, raw_len, s->img_out_n, z->depth, color, interlace)) return 0; + if (has_trans) { + if (z->depth == 16) { + if (!stbi__compute_transparency16(z, tc16, s->img_out_n)) return 0; + } else { + if (!stbi__compute_transparency(z, tc, s->img_out_n)) return 0; + } + } + if (is_iphone && stbi__de_iphone_flag && s->img_out_n > 2) + stbi__de_iphone(z); + if (pal_img_n) { + // pal_img_n == 3 or 4 + s->img_n = pal_img_n; // record the actual colors we had + s->img_out_n = pal_img_n; + if (req_comp >= 3) s->img_out_n = req_comp; + if (!stbi__expand_png_palette(z, palette, pal_len, s->img_out_n)) + return 0; + } else if (has_trans) { + // non-paletted image with tRNS -> source image has (constant) alpha + ++s->img_n; + } + STBI_FREE(z->expanded); z->expanded = NULL; + // end of PNG chunk, read and skip CRC + stbi__get32be(s); + return 1; + } + + default: + // if critical, fail + if (first) return stbi__err("first not IHDR", "Corrupt PNG"); + if ((c.type & (1 << 29)) == 0) { + #ifndef STBI_NO_FAILURE_STRINGS + // not threadsafe + static char invalid_chunk[] = "XXXX PNG chunk not known"; + invalid_chunk[0] = STBI__BYTECAST(c.type >> 24); + invalid_chunk[1] = STBI__BYTECAST(c.type >> 16); + invalid_chunk[2] = STBI__BYTECAST(c.type >> 8); + invalid_chunk[3] = STBI__BYTECAST(c.type >> 0); + #endif + return stbi__err(invalid_chunk, "PNG not supported: unknown PNG chunk type"); + } + stbi__skip(s, c.length); + break; + } + // end of PNG chunk, read and skip CRC + stbi__get32be(s); + } +} + +static void *stbi__do_png(stbi__png *p, int *x, int *y, int *n, int req_comp, stbi__result_info *ri) +{ + void *result=NULL; + if (req_comp < 0 || req_comp > 4) return stbi__errpuc("bad req_comp", "Internal error"); + if (stbi__parse_png_file(p, STBI__SCAN_load, req_comp)) { + if (p->depth <= 8) + ri->bits_per_channel = 8; + else if (p->depth == 16) + ri->bits_per_channel = 16; + else + return stbi__errpuc("bad bits_per_channel", "PNG not supported: unsupported color depth"); + result = p->out; + p->out = NULL; + if (req_comp && req_comp != p->s->img_out_n) { + if (ri->bits_per_channel == 8) + result = stbi__convert_format((unsigned char *) result, p->s->img_out_n, req_comp, p->s->img_x, p->s->img_y); + else + result = stbi__convert_format16((stbi__uint16 *) result, p->s->img_out_n, req_comp, p->s->img_x, p->s->img_y); + p->s->img_out_n = req_comp; + if (result == NULL) return result; + } + *x = p->s->img_x; + *y = p->s->img_y; + if (n) *n = p->s->img_n; + } + STBI_FREE(p->out); p->out = NULL; + STBI_FREE(p->expanded); p->expanded = NULL; + STBI_FREE(p->idata); p->idata = NULL; + + return result; +} + +static void *stbi__png_load(stbi__context *s, int *x, int *y, int *comp, int req_comp, stbi__result_info *ri) +{ + stbi__png p; + p.s = s; + return stbi__do_png(&p, x,y,comp,req_comp, ri); +} + +static int stbi__png_test(stbi__context *s) +{ + int r; + r = stbi__check_png_header(s); + stbi__rewind(s); + return r; +} + +static int stbi__png_info_raw(stbi__png *p, int *x, int *y, int *comp) +{ + if (!stbi__parse_png_file(p, STBI__SCAN_header, 0)) { + stbi__rewind( p->s ); + return 0; + } + if (x) *x = p->s->img_x; + if (y) *y = p->s->img_y; + if (comp) *comp = p->s->img_n; + return 1; +} + +static int stbi__png_info(stbi__context *s, int *x, int *y, int *comp) +{ + stbi__png p; + p.s = s; + return stbi__png_info_raw(&p, x, y, comp); +} + +static int stbi__png_is16(stbi__context *s) +{ + stbi__png p; + p.s = s; + if (!stbi__png_info_raw(&p, NULL, NULL, NULL)) + return 0; + if (p.depth != 16) { + stbi__rewind(p.s); + return 0; + } + return 1; +} +#endif + +// Microsoft/Windows BMP image + +#ifndef STBI_NO_BMP +static int stbi__bmp_test_raw(stbi__context *s) +{ + int r; + int sz; + if (stbi__get8(s) != 'B') return 0; + if (stbi__get8(s) != 'M') return 0; + stbi__get32le(s); // discard filesize + stbi__get16le(s); // discard reserved + stbi__get16le(s); // discard reserved + stbi__get32le(s); // discard data offset + sz = stbi__get32le(s); + r = (sz == 12 || sz == 40 || sz == 56 || sz == 108 || sz == 124); + return r; +} + +static int stbi__bmp_test(stbi__context *s) +{ + int r = stbi__bmp_test_raw(s); + stbi__rewind(s); + return r; +} + + +// returns 0..31 for the highest set bit +static int stbi__high_bit(unsigned int z) +{ + int n=0; + if (z == 0) return -1; + if (z >= 0x10000) { n += 16; z >>= 16; } + if (z >= 0x00100) { n += 8; z >>= 8; } + if (z >= 0x00010) { n += 4; z >>= 4; } + if (z >= 0x00004) { n += 2; z >>= 2; } + if (z >= 0x00002) { n += 1;/* >>= 1;*/ } + return n; +} + +static int stbi__bitcount(unsigned int a) +{ + a = (a & 0x55555555) + ((a >> 1) & 0x55555555); // max 2 + a = (a & 0x33333333) + ((a >> 2) & 0x33333333); // max 4 + a = (a + (a >> 4)) & 0x0f0f0f0f; // max 8 per 4, now 8 bits + a = (a + (a >> 8)); // max 16 per 8 bits + a = (a + (a >> 16)); // max 32 per 8 bits + return a & 0xff; +} + +// extract an arbitrarily-aligned N-bit value (N=bits) +// from v, and then make it 8-bits long and fractionally +// extend it to full full range. +static int stbi__shiftsigned(unsigned int v, int shift, int bits) +{ + static unsigned int mul_table[9] = { + 0, + 0xff/*0b11111111*/, 0x55/*0b01010101*/, 0x49/*0b01001001*/, 0x11/*0b00010001*/, + 0x21/*0b00100001*/, 0x41/*0b01000001*/, 0x81/*0b10000001*/, 0x01/*0b00000001*/, + }; + static unsigned int shift_table[9] = { + 0, 0,0,1,0,2,4,6,0, + }; + if (shift < 0) + v <<= -shift; + else + v >>= shift; + STBI_ASSERT(v < 256); + v >>= (8-bits); + STBI_ASSERT(bits >= 0 && bits <= 8); + return (int) ((unsigned) v * mul_table[bits]) >> shift_table[bits]; +} + +typedef struct +{ + int bpp, offset, hsz; + unsigned int mr,mg,mb,ma, all_a; + int extra_read; +} stbi__bmp_data; + +static int stbi__bmp_set_mask_defaults(stbi__bmp_data *info, int compress) +{ + // BI_BITFIELDS specifies masks explicitly, don't override + if (compress == 3) + return 1; + + if (compress == 0) { + if (info->bpp == 16) { + info->mr = 31u << 10; + info->mg = 31u << 5; + info->mb = 31u << 0; + } else if (info->bpp == 32) { + info->mr = 0xffu << 16; + info->mg = 0xffu << 8; + info->mb = 0xffu << 0; + info->ma = 0xffu << 24; + info->all_a = 0; // if all_a is 0 at end, then we loaded alpha channel but it was all 0 + } else { + // otherwise, use defaults, which is all-0 + info->mr = info->mg = info->mb = info->ma = 0; + } + return 1; + } + return 0; // error +} + +static void *stbi__bmp_parse_header(stbi__context *s, stbi__bmp_data *info) +{ + int hsz; + if (stbi__get8(s) != 'B' || stbi__get8(s) != 'M') return stbi__errpuc("not BMP", "Corrupt BMP"); + stbi__get32le(s); // discard filesize + stbi__get16le(s); // discard reserved + stbi__get16le(s); // discard reserved + info->offset = stbi__get32le(s); + info->hsz = hsz = stbi__get32le(s); + info->mr = info->mg = info->mb = info->ma = 0; + info->extra_read = 14; + + if (info->offset < 0) return stbi__errpuc("bad BMP", "bad BMP"); + + if (hsz != 12 && hsz != 40 && hsz != 56 && hsz != 108 && hsz != 124) return stbi__errpuc("unknown BMP", "BMP type not supported: unknown"); + if (hsz == 12) { + s->img_x = stbi__get16le(s); + s->img_y = stbi__get16le(s); + } else { + s->img_x = stbi__get32le(s); + s->img_y = stbi__get32le(s); + } + if (stbi__get16le(s) != 1) return stbi__errpuc("bad BMP", "bad BMP"); + info->bpp = stbi__get16le(s); + if (hsz != 12) { + int compress = stbi__get32le(s); + if (compress == 1 || compress == 2) return stbi__errpuc("BMP RLE", "BMP type not supported: RLE"); + if (compress >= 4) return stbi__errpuc("BMP JPEG/PNG", "BMP type not supported: unsupported compression"); // this includes PNG/JPEG modes + if (compress == 3 && info->bpp != 16 && info->bpp != 32) return stbi__errpuc("bad BMP", "bad BMP"); // bitfields requires 16 or 32 bits/pixel + stbi__get32le(s); // discard sizeof + stbi__get32le(s); // discard hres + stbi__get32le(s); // discard vres + stbi__get32le(s); // discard colorsused + stbi__get32le(s); // discard max important + if (hsz == 40 || hsz == 56) { + if (hsz == 56) { + stbi__get32le(s); + stbi__get32le(s); + stbi__get32le(s); + stbi__get32le(s); + } + if (info->bpp == 16 || info->bpp == 32) { + if (compress == 0) { + stbi__bmp_set_mask_defaults(info, compress); + } else if (compress == 3) { + info->mr = stbi__get32le(s); + info->mg = stbi__get32le(s); + info->mb = stbi__get32le(s); + info->extra_read += 12; + // not documented, but generated by photoshop and handled by mspaint + if (info->mr == info->mg && info->mg == info->mb) { + // ?!?!? + return stbi__errpuc("bad BMP", "bad BMP"); + } + } else + return stbi__errpuc("bad BMP", "bad BMP"); + } + } else { + // V4/V5 header + int i; + if (hsz != 108 && hsz != 124) + return stbi__errpuc("bad BMP", "bad BMP"); + info->mr = stbi__get32le(s); + info->mg = stbi__get32le(s); + info->mb = stbi__get32le(s); + info->ma = stbi__get32le(s); + if (compress != 3) // override mr/mg/mb unless in BI_BITFIELDS mode, as per docs + stbi__bmp_set_mask_defaults(info, compress); + stbi__get32le(s); // discard color space + for (i=0; i < 12; ++i) + stbi__get32le(s); // discard color space parameters + if (hsz == 124) { + stbi__get32le(s); // discard rendering intent + stbi__get32le(s); // discard offset of profile data + stbi__get32le(s); // discard size of profile data + stbi__get32le(s); // discard reserved + } + } + } + return (void *) 1; +} + + +static void *stbi__bmp_load(stbi__context *s, int *x, int *y, int *comp, int req_comp, stbi__result_info *ri) +{ + stbi_uc *out; + unsigned int mr=0,mg=0,mb=0,ma=0, all_a; + stbi_uc pal[256][4]; + int psize=0,i,j,width; + int flip_vertically, pad, target; + stbi__bmp_data info; + STBI_NOTUSED(ri); + + info.all_a = 255; + if (stbi__bmp_parse_header(s, &info) == NULL) + return NULL; // error code already set + + flip_vertically = ((int) s->img_y) > 0; + s->img_y = abs((int) s->img_y); + + if (s->img_y > STBI_MAX_DIMENSIONS) return stbi__errpuc("too large","Very large image (corrupt?)"); + if (s->img_x > STBI_MAX_DIMENSIONS) return stbi__errpuc("too large","Very large image (corrupt?)"); + + mr = info.mr; + mg = info.mg; + mb = info.mb; + ma = info.ma; + all_a = info.all_a; + + if (info.hsz == 12) { + if (info.bpp < 24) + psize = (info.offset - info.extra_read - 24) / 3; + } else { + if (info.bpp < 16) + psize = (info.offset - info.extra_read - info.hsz) >> 2; + } + if (psize == 0) { + // accept some number of extra bytes after the header, but if the offset points either to before + // the header ends or implies a large amount of extra data, reject the file as malformed + int bytes_read_so_far = s->callback_already_read + (int)(s->img_buffer - s->img_buffer_original); + int header_limit = 1024; // max we actually read is below 256 bytes currently. + int extra_data_limit = 256*4; // what ordinarily goes here is a palette; 256 entries*4 bytes is its max size. + if (bytes_read_so_far <= 0 || bytes_read_so_far > header_limit) { + return stbi__errpuc("bad header", "Corrupt BMP"); + } + // we established that bytes_read_so_far is positive and sensible. + // the first half of this test rejects offsets that are either too small positives, or + // negative, and guarantees that info.offset >= bytes_read_so_far > 0. this in turn + // ensures the number computed in the second half of the test can't overflow. + if (info.offset < bytes_read_so_far || info.offset - bytes_read_so_far > extra_data_limit) { + return stbi__errpuc("bad offset", "Corrupt BMP"); + } else { + stbi__skip(s, info.offset - bytes_read_so_far); + } + } + + if (info.bpp == 24 && ma == 0xff000000) + s->img_n = 3; + else + s->img_n = ma ? 4 : 3; + if (req_comp && req_comp >= 3) // we can directly decode 3 or 4 + target = req_comp; + else + target = s->img_n; // if they want monochrome, we'll post-convert + + // sanity-check size + if (!stbi__mad3sizes_valid(target, s->img_x, s->img_y, 0)) + return stbi__errpuc("too large", "Corrupt BMP"); + + out = (stbi_uc *) stbi__malloc_mad3(target, s->img_x, s->img_y, 0); + if (!out) return stbi__errpuc("outofmem", "Out of memory"); + if (info.bpp < 16) { + int z=0; + if (psize == 0 || psize > 256) { STBI_FREE(out); return stbi__errpuc("invalid", "Corrupt BMP"); } + for (i=0; i < psize; ++i) { + pal[i][2] = stbi__get8(s); + pal[i][1] = stbi__get8(s); + pal[i][0] = stbi__get8(s); + if (info.hsz != 12) stbi__get8(s); + pal[i][3] = 255; + } + stbi__skip(s, info.offset - info.extra_read - info.hsz - psize * (info.hsz == 12 ? 3 : 4)); + if (info.bpp == 1) width = (s->img_x + 7) >> 3; + else if (info.bpp == 4) width = (s->img_x + 1) >> 1; + else if (info.bpp == 8) width = s->img_x; + else { STBI_FREE(out); return stbi__errpuc("bad bpp", "Corrupt BMP"); } + pad = (-width)&3; + if (info.bpp == 1) { + for (j=0; j < (int) s->img_y; ++j) { + int bit_offset = 7, v = stbi__get8(s); + for (i=0; i < (int) s->img_x; ++i) { + int color = (v>>bit_offset)&0x1; + out[z++] = pal[color][0]; + out[z++] = pal[color][1]; + out[z++] = pal[color][2]; + if (target == 4) out[z++] = 255; + if (i+1 == (int) s->img_x) break; + if((--bit_offset) < 0) { + bit_offset = 7; + v = stbi__get8(s); + } + } + stbi__skip(s, pad); + } + } else { + for (j=0; j < (int) s->img_y; ++j) { + for (i=0; i < (int) s->img_x; i += 2) { + int v=stbi__get8(s),v2=0; + if (info.bpp == 4) { + v2 = v & 15; + v >>= 4; + } + out[z++] = pal[v][0]; + out[z++] = pal[v][1]; + out[z++] = pal[v][2]; + if (target == 4) out[z++] = 255; + if (i+1 == (int) s->img_x) break; + v = (info.bpp == 8) ? stbi__get8(s) : v2; + out[z++] = pal[v][0]; + out[z++] = pal[v][1]; + out[z++] = pal[v][2]; + if (target == 4) out[z++] = 255; + } + stbi__skip(s, pad); + } + } + } else { + int rshift=0,gshift=0,bshift=0,ashift=0,rcount=0,gcount=0,bcount=0,acount=0; + int z = 0; + int easy=0; + stbi__skip(s, info.offset - info.extra_read - info.hsz); + if (info.bpp == 24) width = 3 * s->img_x; + else if (info.bpp == 16) width = 2*s->img_x; + else /* bpp = 32 and pad = 0 */ width=0; + pad = (-width) & 3; + if (info.bpp == 24) { + easy = 1; + } else if (info.bpp == 32) { + if (mb == 0xff && mg == 0xff00 && mr == 0x00ff0000 && ma == 0xff000000) + easy = 2; + } + if (!easy) { + if (!mr || !mg || !mb) { STBI_FREE(out); return stbi__errpuc("bad masks", "Corrupt BMP"); } + // right shift amt to put high bit in position #7 + rshift = stbi__high_bit(mr)-7; rcount = stbi__bitcount(mr); + gshift = stbi__high_bit(mg)-7; gcount = stbi__bitcount(mg); + bshift = stbi__high_bit(mb)-7; bcount = stbi__bitcount(mb); + ashift = stbi__high_bit(ma)-7; acount = stbi__bitcount(ma); + if (rcount > 8 || gcount > 8 || bcount > 8 || acount > 8) { STBI_FREE(out); return stbi__errpuc("bad masks", "Corrupt BMP"); } + } + for (j=0; j < (int) s->img_y; ++j) { + if (easy) { + for (i=0; i < (int) s->img_x; ++i) { + unsigned char a; + out[z+2] = stbi__get8(s); + out[z+1] = stbi__get8(s); + out[z+0] = stbi__get8(s); + z += 3; + a = (easy == 2 ? stbi__get8(s) : 255); + all_a |= a; + if (target == 4) out[z++] = a; + } + } else { + int bpp = info.bpp; + for (i=0; i < (int) s->img_x; ++i) { + stbi__uint32 v = (bpp == 16 ? (stbi__uint32) stbi__get16le(s) : stbi__get32le(s)); + unsigned int a; + out[z++] = STBI__BYTECAST(stbi__shiftsigned(v & mr, rshift, rcount)); + out[z++] = STBI__BYTECAST(stbi__shiftsigned(v & mg, gshift, gcount)); + out[z++] = STBI__BYTECAST(stbi__shiftsigned(v & mb, bshift, bcount)); + a = (ma ? stbi__shiftsigned(v & ma, ashift, acount) : 255); + all_a |= a; + if (target == 4) out[z++] = STBI__BYTECAST(a); + } + } + stbi__skip(s, pad); + } + } + + // if alpha channel is all 0s, replace with all 255s + if (target == 4 && all_a == 0) + for (i=4*s->img_x*s->img_y-1; i >= 0; i -= 4) + out[i] = 255; + + if (flip_vertically) { + stbi_uc t; + for (j=0; j < (int) s->img_y>>1; ++j) { + stbi_uc *p1 = out + j *s->img_x*target; + stbi_uc *p2 = out + (s->img_y-1-j)*s->img_x*target; + for (i=0; i < (int) s->img_x*target; ++i) { + t = p1[i]; p1[i] = p2[i]; p2[i] = t; + } + } + } + + if (req_comp && req_comp != target) { + out = stbi__convert_format(out, target, req_comp, s->img_x, s->img_y); + if (out == NULL) return out; // stbi__convert_format frees input on failure + } + + *x = s->img_x; + *y = s->img_y; + if (comp) *comp = s->img_n; + return out; +} +#endif + +// Targa Truevision - TGA +// by Jonathan Dummer +#ifndef STBI_NO_TGA +// returns STBI_rgb or whatever, 0 on error +static int stbi__tga_get_comp(int bits_per_pixel, int is_grey, int* is_rgb16) +{ + // only RGB or RGBA (incl. 16bit) or grey allowed + if (is_rgb16) *is_rgb16 = 0; + switch(bits_per_pixel) { + case 8: return STBI_grey; + case 16: if(is_grey) return STBI_grey_alpha; + // fallthrough + case 15: if(is_rgb16) *is_rgb16 = 1; + return STBI_rgb; + case 24: // fallthrough + case 32: return bits_per_pixel/8; + default: return 0; + } +} + +static int stbi__tga_info(stbi__context *s, int *x, int *y, int *comp) +{ + int tga_w, tga_h, tga_comp, tga_image_type, tga_bits_per_pixel, tga_colormap_bpp; + int sz, tga_colormap_type; + stbi__get8(s); // discard Offset + tga_colormap_type = stbi__get8(s); // colormap type + if( tga_colormap_type > 1 ) { + stbi__rewind(s); + return 0; // only RGB or indexed allowed + } + tga_image_type = stbi__get8(s); // image type + if ( tga_colormap_type == 1 ) { // colormapped (paletted) image + if (tga_image_type != 1 && tga_image_type != 9) { + stbi__rewind(s); + return 0; + } + stbi__skip(s,4); // skip index of first colormap entry and number of entries + sz = stbi__get8(s); // check bits per palette color entry + if ( (sz != 8) && (sz != 15) && (sz != 16) && (sz != 24) && (sz != 32) ) { + stbi__rewind(s); + return 0; + } + stbi__skip(s,4); // skip image x and y origin + tga_colormap_bpp = sz; + } else { // "normal" image w/o colormap - only RGB or grey allowed, +/- RLE + if ( (tga_image_type != 2) && (tga_image_type != 3) && (tga_image_type != 10) && (tga_image_type != 11) ) { + stbi__rewind(s); + return 0; // only RGB or grey allowed, +/- RLE + } + stbi__skip(s,9); // skip colormap specification and image x/y origin + tga_colormap_bpp = 0; + } + tga_w = stbi__get16le(s); + if( tga_w < 1 ) { + stbi__rewind(s); + return 0; // test width + } + tga_h = stbi__get16le(s); + if( tga_h < 1 ) { + stbi__rewind(s); + return 0; // test height + } + tga_bits_per_pixel = stbi__get8(s); // bits per pixel + stbi__get8(s); // ignore alpha bits + if (tga_colormap_bpp != 0) { + if((tga_bits_per_pixel != 8) && (tga_bits_per_pixel != 16)) { + // when using a colormap, tga_bits_per_pixel is the size of the indexes + // I don't think anything but 8 or 16bit indexes makes sense + stbi__rewind(s); + return 0; + } + tga_comp = stbi__tga_get_comp(tga_colormap_bpp, 0, NULL); + } else { + tga_comp = stbi__tga_get_comp(tga_bits_per_pixel, (tga_image_type == 3) || (tga_image_type == 11), NULL); + } + if(!tga_comp) { + stbi__rewind(s); + return 0; + } + if (x) *x = tga_w; + if (y) *y = tga_h; + if (comp) *comp = tga_comp; + return 1; // seems to have passed everything +} + +static int stbi__tga_test(stbi__context *s) +{ + int res = 0; + int sz, tga_color_type; + stbi__get8(s); // discard Offset + tga_color_type = stbi__get8(s); // color type + if ( tga_color_type > 1 ) goto errorEnd; // only RGB or indexed allowed + sz = stbi__get8(s); // image type + if ( tga_color_type == 1 ) { // colormapped (paletted) image + if (sz != 1 && sz != 9) goto errorEnd; // colortype 1 demands image type 1 or 9 + stbi__skip(s,4); // skip index of first colormap entry and number of entries + sz = stbi__get8(s); // check bits per palette color entry + if ( (sz != 8) && (sz != 15) && (sz != 16) && (sz != 24) && (sz != 32) ) goto errorEnd; + stbi__skip(s,4); // skip image x and y origin + } else { // "normal" image w/o colormap + if ( (sz != 2) && (sz != 3) && (sz != 10) && (sz != 11) ) goto errorEnd; // only RGB or grey allowed, +/- RLE + stbi__skip(s,9); // skip colormap specification and image x/y origin + } + if ( stbi__get16le(s) < 1 ) goto errorEnd; // test width + if ( stbi__get16le(s) < 1 ) goto errorEnd; // test height + sz = stbi__get8(s); // bits per pixel + if ( (tga_color_type == 1) && (sz != 8) && (sz != 16) ) goto errorEnd; // for colormapped images, bpp is size of an index + if ( (sz != 8) && (sz != 15) && (sz != 16) && (sz != 24) && (sz != 32) ) goto errorEnd; + + res = 1; // if we got this far, everything's good and we can return 1 instead of 0 + +errorEnd: + stbi__rewind(s); + return res; +} + +// read 16bit value and convert to 24bit RGB +static void stbi__tga_read_rgb16(stbi__context *s, stbi_uc* out) +{ + stbi__uint16 px = (stbi__uint16)stbi__get16le(s); + stbi__uint16 fiveBitMask = 31; + // we have 3 channels with 5bits each + int r = (px >> 10) & fiveBitMask; + int g = (px >> 5) & fiveBitMask; + int b = px & fiveBitMask; + // Note that this saves the data in RGB(A) order, so it doesn't need to be swapped later + out[0] = (stbi_uc)((r * 255)/31); + out[1] = (stbi_uc)((g * 255)/31); + out[2] = (stbi_uc)((b * 255)/31); + + // some people claim that the most significant bit might be used for alpha + // (possibly if an alpha-bit is set in the "image descriptor byte") + // but that only made 16bit test images completely translucent.. + // so let's treat all 15 and 16bit TGAs as RGB with no alpha. +} + +static void *stbi__tga_load(stbi__context *s, int *x, int *y, int *comp, int req_comp, stbi__result_info *ri) +{ + // read in the TGA header stuff + int tga_offset = stbi__get8(s); + int tga_indexed = stbi__get8(s); + int tga_image_type = stbi__get8(s); + int tga_is_RLE = 0; + int tga_palette_start = stbi__get16le(s); + int tga_palette_len = stbi__get16le(s); + int tga_palette_bits = stbi__get8(s); + int tga_x_origin = stbi__get16le(s); + int tga_y_origin = stbi__get16le(s); + int tga_width = stbi__get16le(s); + int tga_height = stbi__get16le(s); + int tga_bits_per_pixel = stbi__get8(s); + int tga_comp, tga_rgb16=0; + int tga_inverted = stbi__get8(s); + // int tga_alpha_bits = tga_inverted & 15; // the 4 lowest bits - unused (useless?) + // image data + unsigned char *tga_data; + unsigned char *tga_palette = NULL; + int i, j; + unsigned char raw_data[4] = {0}; + int RLE_count = 0; + int RLE_repeating = 0; + int read_next_pixel = 1; + STBI_NOTUSED(ri); + STBI_NOTUSED(tga_x_origin); // @TODO + STBI_NOTUSED(tga_y_origin); // @TODO + + if (tga_height > STBI_MAX_DIMENSIONS) return stbi__errpuc("too large","Very large image (corrupt?)"); + if (tga_width > STBI_MAX_DIMENSIONS) return stbi__errpuc("too large","Very large image (corrupt?)"); + + // do a tiny bit of precessing + if ( tga_image_type >= 8 ) + { + tga_image_type -= 8; + tga_is_RLE = 1; + } + tga_inverted = 1 - ((tga_inverted >> 5) & 1); + + // If I'm paletted, then I'll use the number of bits from the palette + if ( tga_indexed ) tga_comp = stbi__tga_get_comp(tga_palette_bits, 0, &tga_rgb16); + else tga_comp = stbi__tga_get_comp(tga_bits_per_pixel, (tga_image_type == 3), &tga_rgb16); + + if(!tga_comp) // shouldn't really happen, stbi__tga_test() should have ensured basic consistency + return stbi__errpuc("bad format", "Can't find out TGA pixelformat"); + + // tga info + *x = tga_width; + *y = tga_height; + if (comp) *comp = tga_comp; + + if (!stbi__mad3sizes_valid(tga_width, tga_height, tga_comp, 0)) + return stbi__errpuc("too large", "Corrupt TGA"); + + tga_data = (unsigned char*)stbi__malloc_mad3(tga_width, tga_height, tga_comp, 0); + if (!tga_data) return stbi__errpuc("outofmem", "Out of memory"); + + // skip to the data's starting position (offset usually = 0) + stbi__skip(s, tga_offset ); + + if ( !tga_indexed && !tga_is_RLE && !tga_rgb16 ) { + for (i=0; i < tga_height; ++i) { + int row = tga_inverted ? tga_height -i - 1 : i; + stbi_uc *tga_row = tga_data + row*tga_width*tga_comp; + stbi__getn(s, tga_row, tga_width * tga_comp); + } + } else { + // do I need to load a palette? + if ( tga_indexed) + { + if (tga_palette_len == 0) { /* you have to have at least one entry! */ + STBI_FREE(tga_data); + return stbi__errpuc("bad palette", "Corrupt TGA"); + } + + // any data to skip? (offset usually = 0) + stbi__skip(s, tga_palette_start ); + // load the palette + tga_palette = (unsigned char*)stbi__malloc_mad2(tga_palette_len, tga_comp, 0); + if (!tga_palette) { + STBI_FREE(tga_data); + return stbi__errpuc("outofmem", "Out of memory"); + } + if (tga_rgb16) { + stbi_uc *pal_entry = tga_palette; + STBI_ASSERT(tga_comp == STBI_rgb); + for (i=0; i < tga_palette_len; ++i) { + stbi__tga_read_rgb16(s, pal_entry); + pal_entry += tga_comp; + } + } else if (!stbi__getn(s, tga_palette, tga_palette_len * tga_comp)) { + STBI_FREE(tga_data); + STBI_FREE(tga_palette); + return stbi__errpuc("bad palette", "Corrupt TGA"); + } + } + // load the data + for (i=0; i < tga_width * tga_height; ++i) + { + // if I'm in RLE mode, do I need to get a RLE stbi__pngchunk? + if ( tga_is_RLE ) + { + if ( RLE_count == 0 ) + { + // yep, get the next byte as a RLE command + int RLE_cmd = stbi__get8(s); + RLE_count = 1 + (RLE_cmd & 127); + RLE_repeating = RLE_cmd >> 7; + read_next_pixel = 1; + } else if ( !RLE_repeating ) + { + read_next_pixel = 1; + } + } else + { + read_next_pixel = 1; + } + // OK, if I need to read a pixel, do it now + if ( read_next_pixel ) + { + // load however much data we did have + if ( tga_indexed ) + { + // read in index, then perform the lookup + int pal_idx = (tga_bits_per_pixel == 8) ? stbi__get8(s) : stbi__get16le(s); + if ( pal_idx >= tga_palette_len ) { + // invalid index + pal_idx = 0; + } + pal_idx *= tga_comp; + for (j = 0; j < tga_comp; ++j) { + raw_data[j] = tga_palette[pal_idx+j]; + } + } else if(tga_rgb16) { + STBI_ASSERT(tga_comp == STBI_rgb); + stbi__tga_read_rgb16(s, raw_data); + } else { + // read in the data raw + for (j = 0; j < tga_comp; ++j) { + raw_data[j] = stbi__get8(s); + } + } + // clear the reading flag for the next pixel + read_next_pixel = 0; + } // end of reading a pixel + + // copy data + for (j = 0; j < tga_comp; ++j) + tga_data[i*tga_comp+j] = raw_data[j]; + + // in case we're in RLE mode, keep counting down + --RLE_count; + } + // do I need to invert the image? + if ( tga_inverted ) + { + for (j = 0; j*2 < tga_height; ++j) + { + int index1 = j * tga_width * tga_comp; + int index2 = (tga_height - 1 - j) * tga_width * tga_comp; + for (i = tga_width * tga_comp; i > 0; --i) + { + unsigned char temp = tga_data[index1]; + tga_data[index1] = tga_data[index2]; + tga_data[index2] = temp; + ++index1; + ++index2; + } + } + } + // clear my palette, if I had one + if ( tga_palette != NULL ) + { + STBI_FREE( tga_palette ); + } + } + + // swap RGB - if the source data was RGB16, it already is in the right order + if (tga_comp >= 3 && !tga_rgb16) + { + unsigned char* tga_pixel = tga_data; + for (i=0; i < tga_width * tga_height; ++i) + { + unsigned char temp = tga_pixel[0]; + tga_pixel[0] = tga_pixel[2]; + tga_pixel[2] = temp; + tga_pixel += tga_comp; + } + } + + // convert to target component count + if (req_comp && req_comp != tga_comp) + tga_data = stbi__convert_format(tga_data, tga_comp, req_comp, tga_width, tga_height); + + // the things I do to get rid of an error message, and yet keep + // Microsoft's C compilers happy... [8^( + tga_palette_start = tga_palette_len = tga_palette_bits = + tga_x_origin = tga_y_origin = 0; + STBI_NOTUSED(tga_palette_start); + // OK, done + return tga_data; +} +#endif + +// ************************************************************************************************* +// Photoshop PSD loader -- PD by Thatcher Ulrich, integration by Nicolas Schulz, tweaked by STB + +#ifndef STBI_NO_PSD +static int stbi__psd_test(stbi__context *s) +{ + int r = (stbi__get32be(s) == 0x38425053); + stbi__rewind(s); + return r; +} + +static int stbi__psd_decode_rle(stbi__context *s, stbi_uc *p, int pixelCount) +{ + int count, nleft, len; + + count = 0; + while ((nleft = pixelCount - count) > 0) { + len = stbi__get8(s); + if (len == 128) { + // No-op. + } else if (len < 128) { + // Copy next len+1 bytes literally. + len++; + if (len > nleft) return 0; // corrupt data + count += len; + while (len) { + *p = stbi__get8(s); + p += 4; + len--; + } + } else if (len > 128) { + stbi_uc val; + // Next -len+1 bytes in the dest are replicated from next source byte. + // (Interpret len as a negative 8-bit int.) + len = 257 - len; + if (len > nleft) return 0; // corrupt data + val = stbi__get8(s); + count += len; + while (len) { + *p = val; + p += 4; + len--; + } + } + } + + return 1; +} + +static void *stbi__psd_load(stbi__context *s, int *x, int *y, int *comp, int req_comp, stbi__result_info *ri, int bpc) +{ + int pixelCount; + int channelCount, compression; + int channel, i; + int bitdepth; + int w,h; + stbi_uc *out; + STBI_NOTUSED(ri); + + // Check identifier + if (stbi__get32be(s) != 0x38425053) // "8BPS" + return stbi__errpuc("not PSD", "Corrupt PSD image"); + + // Check file type version. + if (stbi__get16be(s) != 1) + return stbi__errpuc("wrong version", "Unsupported version of PSD image"); + + // Skip 6 reserved bytes. + stbi__skip(s, 6 ); + + // Read the number of channels (R, G, B, A, etc). + channelCount = stbi__get16be(s); + if (channelCount < 0 || channelCount > 16) + return stbi__errpuc("wrong channel count", "Unsupported number of channels in PSD image"); + + // Read the rows and columns of the image. + h = stbi__get32be(s); + w = stbi__get32be(s); + + if (h > STBI_MAX_DIMENSIONS) return stbi__errpuc("too large","Very large image (corrupt?)"); + if (w > STBI_MAX_DIMENSIONS) return stbi__errpuc("too large","Very large image (corrupt?)"); + + // Make sure the depth is 8 bits. + bitdepth = stbi__get16be(s); + if (bitdepth != 8 && bitdepth != 16) + return stbi__errpuc("unsupported bit depth", "PSD bit depth is not 8 or 16 bit"); + + // Make sure the color mode is RGB. + // Valid options are: + // 0: Bitmap + // 1: Grayscale + // 2: Indexed color + // 3: RGB color + // 4: CMYK color + // 7: Multichannel + // 8: Duotone + // 9: Lab color + if (stbi__get16be(s) != 3) + return stbi__errpuc("wrong color format", "PSD is not in RGB color format"); + + // Skip the Mode Data. (It's the palette for indexed color; other info for other modes.) + stbi__skip(s,stbi__get32be(s) ); + + // Skip the image resources. (resolution, pen tool paths, etc) + stbi__skip(s, stbi__get32be(s) ); + + // Skip the reserved data. + stbi__skip(s, stbi__get32be(s) ); + + // Find out if the data is compressed. + // Known values: + // 0: no compression + // 1: RLE compressed + compression = stbi__get16be(s); + if (compression > 1) + return stbi__errpuc("bad compression", "PSD has an unknown compression format"); + + // Check size + if (!stbi__mad3sizes_valid(4, w, h, 0)) + return stbi__errpuc("too large", "Corrupt PSD"); + + // Create the destination image. + + if (!compression && bitdepth == 16 && bpc == 16) { + out = (stbi_uc *) stbi__malloc_mad3(8, w, h, 0); + ri->bits_per_channel = 16; + } else + out = (stbi_uc *) stbi__malloc(4 * w*h); + + if (!out) return stbi__errpuc("outofmem", "Out of memory"); + pixelCount = w*h; + + // Initialize the data to zero. + //memset( out, 0, pixelCount * 4 ); + + // Finally, the image data. + if (compression) { + // RLE as used by .PSD and .TIFF + // Loop until you get the number of unpacked bytes you are expecting: + // Read the next source byte into n. + // If n is between 0 and 127 inclusive, copy the next n+1 bytes literally. + // Else if n is between -127 and -1 inclusive, copy the next byte -n+1 times. + // Else if n is 128, noop. + // Endloop + + // The RLE-compressed data is preceded by a 2-byte data count for each row in the data, + // which we're going to just skip. + stbi__skip(s, h * channelCount * 2 ); + + // Read the RLE data by channel. + for (channel = 0; channel < 4; channel++) { + stbi_uc *p; + + p = out+channel; + if (channel >= channelCount) { + // Fill this channel with default data. + for (i = 0; i < pixelCount; i++, p += 4) + *p = (channel == 3 ? 255 : 0); + } else { + // Read the RLE data. + if (!stbi__psd_decode_rle(s, p, pixelCount)) { + STBI_FREE(out); + return stbi__errpuc("corrupt", "bad RLE data"); + } + } + } + + } else { + // We're at the raw image data. It's each channel in order (Red, Green, Blue, Alpha, ...) + // where each channel consists of an 8-bit (or 16-bit) value for each pixel in the image. + + // Read the data by channel. + for (channel = 0; channel < 4; channel++) { + if (channel >= channelCount) { + // Fill this channel with default data. + if (bitdepth == 16 && bpc == 16) { + stbi__uint16 *q = ((stbi__uint16 *) out) + channel; + stbi__uint16 val = channel == 3 ? 65535 : 0; + for (i = 0; i < pixelCount; i++, q += 4) + *q = val; + } else { + stbi_uc *p = out+channel; + stbi_uc val = channel == 3 ? 255 : 0; + for (i = 0; i < pixelCount; i++, p += 4) + *p = val; + } + } else { + if (ri->bits_per_channel == 16) { // output bpc + stbi__uint16 *q = ((stbi__uint16 *) out) + channel; + for (i = 0; i < pixelCount; i++, q += 4) + *q = (stbi__uint16) stbi__get16be(s); + } else { + stbi_uc *p = out+channel; + if (bitdepth == 16) { // input bpc + for (i = 0; i < pixelCount; i++, p += 4) + *p = (stbi_uc) (stbi__get16be(s) >> 8); + } else { + for (i = 0; i < pixelCount; i++, p += 4) + *p = stbi__get8(s); + } + } + } + } + } + + // remove weird white matte from PSD + if (channelCount >= 4) { + if (ri->bits_per_channel == 16) { + for (i=0; i < w*h; ++i) { + stbi__uint16 *pixel = (stbi__uint16 *) out + 4*i; + if (pixel[3] != 0 && pixel[3] != 65535) { + float a = pixel[3] / 65535.0f; + float ra = 1.0f / a; + float inv_a = 65535.0f * (1 - ra); + pixel[0] = (stbi__uint16) (pixel[0]*ra + inv_a); + pixel[1] = (stbi__uint16) (pixel[1]*ra + inv_a); + pixel[2] = (stbi__uint16) (pixel[2]*ra + inv_a); + } + } + } else { + for (i=0; i < w*h; ++i) { + unsigned char *pixel = out + 4*i; + if (pixel[3] != 0 && pixel[3] != 255) { + float a = pixel[3] / 255.0f; + float ra = 1.0f / a; + float inv_a = 255.0f * (1 - ra); + pixel[0] = (unsigned char) (pixel[0]*ra + inv_a); + pixel[1] = (unsigned char) (pixel[1]*ra + inv_a); + pixel[2] = (unsigned char) (pixel[2]*ra + inv_a); + } + } + } + } + + // convert to desired output format + if (req_comp && req_comp != 4) { + if (ri->bits_per_channel == 16) + out = (stbi_uc *) stbi__convert_format16((stbi__uint16 *) out, 4, req_comp, w, h); + else + out = stbi__convert_format(out, 4, req_comp, w, h); + if (out == NULL) return out; // stbi__convert_format frees input on failure + } + + if (comp) *comp = 4; + *y = h; + *x = w; + + return out; +} +#endif + +// ************************************************************************************************* +// Softimage PIC loader +// by Tom Seddon +// +// See http://softimage.wiki.softimage.com/index.php/INFO:_PIC_file_format +// See http://ozviz.wasp.uwa.edu.au/~pbourke/dataformats/softimagepic/ + +#ifndef STBI_NO_PIC +static int stbi__pic_is4(stbi__context *s,const char *str) +{ + int i; + for (i=0; i<4; ++i) + if (stbi__get8(s) != (stbi_uc)str[i]) + return 0; + + return 1; +} + +static int stbi__pic_test_core(stbi__context *s) +{ + int i; + + if (!stbi__pic_is4(s,"\x53\x80\xF6\x34")) + return 0; + + for(i=0;i<84;++i) + stbi__get8(s); + + if (!stbi__pic_is4(s,"PICT")) + return 0; + + return 1; +} + +typedef struct +{ + stbi_uc size,type,channel; +} stbi__pic_packet; + +static stbi_uc *stbi__readval(stbi__context *s, int channel, stbi_uc *dest) +{ + int mask=0x80, i; + + for (i=0; i<4; ++i, mask>>=1) { + if (channel & mask) { + if (stbi__at_eof(s)) return stbi__errpuc("bad file","PIC file too short"); + dest[i]=stbi__get8(s); + } + } + + return dest; +} + +static void stbi__copyval(int channel,stbi_uc *dest,const stbi_uc *src) +{ + int mask=0x80,i; + + for (i=0;i<4; ++i, mask>>=1) + if (channel&mask) + dest[i]=src[i]; +} + +static stbi_uc *stbi__pic_load_core(stbi__context *s,int width,int height,int *comp, stbi_uc *result) +{ + int act_comp=0,num_packets=0,y,chained; + stbi__pic_packet packets[10]; + + // this will (should...) cater for even some bizarre stuff like having data + // for the same channel in multiple packets. + do { + stbi__pic_packet *packet; + + if (num_packets==sizeof(packets)/sizeof(packets[0])) + return stbi__errpuc("bad format","too many packets"); + + packet = &packets[num_packets++]; + + chained = stbi__get8(s); + packet->size = stbi__get8(s); + packet->type = stbi__get8(s); + packet->channel = stbi__get8(s); + + act_comp |= packet->channel; + + if (stbi__at_eof(s)) return stbi__errpuc("bad file","file too short (reading packets)"); + if (packet->size != 8) return stbi__errpuc("bad format","packet isn't 8bpp"); + } while (chained); + + *comp = (act_comp & 0x10 ? 4 : 3); // has alpha channel? + + for(y=0; ytype) { + default: + return stbi__errpuc("bad format","packet has bad compression type"); + + case 0: {//uncompressed + int x; + + for(x=0;xchannel,dest)) + return 0; + break; + } + + case 1://Pure RLE + { + int left=width, i; + + while (left>0) { + stbi_uc count,value[4]; + + count=stbi__get8(s); + if (stbi__at_eof(s)) return stbi__errpuc("bad file","file too short (pure read count)"); + + if (count > left) + count = (stbi_uc) left; + + if (!stbi__readval(s,packet->channel,value)) return 0; + + for(i=0; ichannel,dest,value); + left -= count; + } + } + break; + + case 2: {//Mixed RLE + int left=width; + while (left>0) { + int count = stbi__get8(s), i; + if (stbi__at_eof(s)) return stbi__errpuc("bad file","file too short (mixed read count)"); + + if (count >= 128) { // Repeated + stbi_uc value[4]; + + if (count==128) + count = stbi__get16be(s); + else + count -= 127; + if (count > left) + return stbi__errpuc("bad file","scanline overrun"); + + if (!stbi__readval(s,packet->channel,value)) + return 0; + + for(i=0;ichannel,dest,value); + } else { // Raw + ++count; + if (count>left) return stbi__errpuc("bad file","scanline overrun"); + + for(i=0;ichannel,dest)) + return 0; + } + left-=count; + } + break; + } + } + } + } + + return result; +} + +static void *stbi__pic_load(stbi__context *s,int *px,int *py,int *comp,int req_comp, stbi__result_info *ri) +{ + stbi_uc *result; + int i, x,y, internal_comp; + STBI_NOTUSED(ri); + + if (!comp) comp = &internal_comp; + + for (i=0; i<92; ++i) + stbi__get8(s); + + x = stbi__get16be(s); + y = stbi__get16be(s); + + if (y > STBI_MAX_DIMENSIONS) return stbi__errpuc("too large","Very large image (corrupt?)"); + if (x > STBI_MAX_DIMENSIONS) return stbi__errpuc("too large","Very large image (corrupt?)"); + + if (stbi__at_eof(s)) return stbi__errpuc("bad file","file too short (pic header)"); + if (!stbi__mad3sizes_valid(x, y, 4, 0)) return stbi__errpuc("too large", "PIC image too large to decode"); + + stbi__get32be(s); //skip `ratio' + stbi__get16be(s); //skip `fields' + stbi__get16be(s); //skip `pad' + + // intermediate buffer is RGBA + result = (stbi_uc *) stbi__malloc_mad3(x, y, 4, 0); + if (!result) return stbi__errpuc("outofmem", "Out of memory"); + memset(result, 0xff, x*y*4); + + if (!stbi__pic_load_core(s,x,y,comp, result)) { + STBI_FREE(result); + result=0; + } + *px = x; + *py = y; + if (req_comp == 0) req_comp = *comp; + result=stbi__convert_format(result,4,req_comp,x,y); + + return result; +} + +static int stbi__pic_test(stbi__context *s) +{ + int r = stbi__pic_test_core(s); + stbi__rewind(s); + return r; +} +#endif + +// ************************************************************************************************* +// GIF loader -- public domain by Jean-Marc Lienher -- simplified/shrunk by stb + +#ifndef STBI_NO_GIF +typedef struct +{ + stbi__int16 prefix; + stbi_uc first; + stbi_uc suffix; +} stbi__gif_lzw; + +typedef struct +{ + int w,h; + stbi_uc *out; // output buffer (always 4 components) + stbi_uc *background; // The current "background" as far as a gif is concerned + stbi_uc *history; + int flags, bgindex, ratio, transparent, eflags; + stbi_uc pal[256][4]; + stbi_uc lpal[256][4]; + stbi__gif_lzw codes[8192]; + stbi_uc *color_table; + int parse, step; + int lflags; + int start_x, start_y; + int max_x, max_y; + int cur_x, cur_y; + int line_size; + int delay; +} stbi__gif; + +static int stbi__gif_test_raw(stbi__context *s) +{ + int sz; + if (stbi__get8(s) != 'G' || stbi__get8(s) != 'I' || stbi__get8(s) != 'F' || stbi__get8(s) != '8') return 0; + sz = stbi__get8(s); + if (sz != '9' && sz != '7') return 0; + if (stbi__get8(s) != 'a') return 0; + return 1; +} + +static int stbi__gif_test(stbi__context *s) +{ + int r = stbi__gif_test_raw(s); + stbi__rewind(s); + return r; +} + +static void stbi__gif_parse_colortable(stbi__context *s, stbi_uc pal[256][4], int num_entries, int transp) +{ + int i; + for (i=0; i < num_entries; ++i) { + pal[i][2] = stbi__get8(s); + pal[i][1] = stbi__get8(s); + pal[i][0] = stbi__get8(s); + pal[i][3] = transp == i ? 0 : 255; + } +} + +static int stbi__gif_header(stbi__context *s, stbi__gif *g, int *comp, int is_info) +{ + stbi_uc version; + if (stbi__get8(s) != 'G' || stbi__get8(s) != 'I' || stbi__get8(s) != 'F' || stbi__get8(s) != '8') + return stbi__err("not GIF", "Corrupt GIF"); + + version = stbi__get8(s); + if (version != '7' && version != '9') return stbi__err("not GIF", "Corrupt GIF"); + if (stbi__get8(s) != 'a') return stbi__err("not GIF", "Corrupt GIF"); + + stbi__g_failure_reason = ""; + g->w = stbi__get16le(s); + g->h = stbi__get16le(s); + g->flags = stbi__get8(s); + g->bgindex = stbi__get8(s); + g->ratio = stbi__get8(s); + g->transparent = -1; + + if (g->w > STBI_MAX_DIMENSIONS) return stbi__err("too large","Very large image (corrupt?)"); + if (g->h > STBI_MAX_DIMENSIONS) return stbi__err("too large","Very large image (corrupt?)"); + + if (comp != 0) *comp = 4; // can't actually tell whether it's 3 or 4 until we parse the comments + + if (is_info) return 1; + + if (g->flags & 0x80) + stbi__gif_parse_colortable(s,g->pal, 2 << (g->flags & 7), -1); + + return 1; +} + +static int stbi__gif_info_raw(stbi__context *s, int *x, int *y, int *comp) +{ + stbi__gif* g = (stbi__gif*) stbi__malloc(sizeof(stbi__gif)); + if (!g) return stbi__err("outofmem", "Out of memory"); + if (!stbi__gif_header(s, g, comp, 1)) { + STBI_FREE(g); + stbi__rewind( s ); + return 0; + } + if (x) *x = g->w; + if (y) *y = g->h; + STBI_FREE(g); + return 1; +} + +static void stbi__out_gif_code(stbi__gif *g, stbi__uint16 code) +{ + stbi_uc *p, *c; + int idx; + + // recurse to decode the prefixes, since the linked-list is backwards, + // and working backwards through an interleaved image would be nasty + if (g->codes[code].prefix >= 0) + stbi__out_gif_code(g, g->codes[code].prefix); + + if (g->cur_y >= g->max_y) return; + + idx = g->cur_x + g->cur_y; + p = &g->out[idx]; + g->history[idx / 4] = 1; + + c = &g->color_table[g->codes[code].suffix * 4]; + if (c[3] > 128) { // don't render transparent pixels; + p[0] = c[2]; + p[1] = c[1]; + p[2] = c[0]; + p[3] = c[3]; + } + g->cur_x += 4; + + if (g->cur_x >= g->max_x) { + g->cur_x = g->start_x; + g->cur_y += g->step; + + while (g->cur_y >= g->max_y && g->parse > 0) { + g->step = (1 << g->parse) * g->line_size; + g->cur_y = g->start_y + (g->step >> 1); + --g->parse; + } + } +} + +static stbi_uc *stbi__process_gif_raster(stbi__context *s, stbi__gif *g) +{ + stbi_uc lzw_cs; + stbi__int32 len, init_code; + stbi__uint32 first; + stbi__int32 codesize, codemask, avail, oldcode, bits, valid_bits, clear; + stbi__gif_lzw *p; + + lzw_cs = stbi__get8(s); + if (lzw_cs > 12) return NULL; + clear = 1 << lzw_cs; + first = 1; + codesize = lzw_cs + 1; + codemask = (1 << codesize) - 1; + bits = 0; + valid_bits = 0; + for (init_code = 0; init_code < clear; init_code++) { + g->codes[init_code].prefix = -1; + g->codes[init_code].first = (stbi_uc) init_code; + g->codes[init_code].suffix = (stbi_uc) init_code; + } + + // support no starting clear code + avail = clear+2; + oldcode = -1; + + len = 0; + for(;;) { + if (valid_bits < codesize) { + if (len == 0) { + len = stbi__get8(s); // start new block + if (len == 0) + return g->out; + } + --len; + bits |= (stbi__int32) stbi__get8(s) << valid_bits; + valid_bits += 8; + } else { + stbi__int32 code = bits & codemask; + bits >>= codesize; + valid_bits -= codesize; + // @OPTIMIZE: is there some way we can accelerate the non-clear path? + if (code == clear) { // clear code + codesize = lzw_cs + 1; + codemask = (1 << codesize) - 1; + avail = clear + 2; + oldcode = -1; + first = 0; + } else if (code == clear + 1) { // end of stream code + stbi__skip(s, len); + while ((len = stbi__get8(s)) > 0) + stbi__skip(s,len); + return g->out; + } else if (code <= avail) { + if (first) { + return stbi__errpuc("no clear code", "Corrupt GIF"); + } + + if (oldcode >= 0) { + p = &g->codes[avail++]; + if (avail > 8192) { + return stbi__errpuc("too many codes", "Corrupt GIF"); + } + + p->prefix = (stbi__int16) oldcode; + p->first = g->codes[oldcode].first; + p->suffix = (code == avail) ? p->first : g->codes[code].first; + } else if (code == avail) + return stbi__errpuc("illegal code in raster", "Corrupt GIF"); + + stbi__out_gif_code(g, (stbi__uint16) code); + + if ((avail & codemask) == 0 && avail <= 0x0FFF) { + codesize++; + codemask = (1 << codesize) - 1; + } + + oldcode = code; + } else { + return stbi__errpuc("illegal code in raster", "Corrupt GIF"); + } + } + } +} + +// this function is designed to support animated gifs, although stb_image doesn't support it +// two back is the image from two frames ago, used for a very specific disposal format +static stbi_uc *stbi__gif_load_next(stbi__context *s, stbi__gif *g, int *comp, int req_comp, stbi_uc *two_back) +{ + int dispose; + int first_frame; + int pi; + int pcount; + STBI_NOTUSED(req_comp); + + // on first frame, any non-written pixels get the background colour (non-transparent) + first_frame = 0; + if (g->out == 0) { + if (!stbi__gif_header(s, g, comp,0)) return 0; // stbi__g_failure_reason set by stbi__gif_header + if (!stbi__mad3sizes_valid(4, g->w, g->h, 0)) + return stbi__errpuc("too large", "GIF image is too large"); + pcount = g->w * g->h; + g->out = (stbi_uc *) stbi__malloc(4 * pcount); + g->background = (stbi_uc *) stbi__malloc(4 * pcount); + g->history = (stbi_uc *) stbi__malloc(pcount); + if (!g->out || !g->background || !g->history) + return stbi__errpuc("outofmem", "Out of memory"); + + // image is treated as "transparent" at the start - ie, nothing overwrites the current background; + // background colour is only used for pixels that are not rendered first frame, after that "background" + // color refers to the color that was there the previous frame. + memset(g->out, 0x00, 4 * pcount); + memset(g->background, 0x00, 4 * pcount); // state of the background (starts transparent) + memset(g->history, 0x00, pcount); // pixels that were affected previous frame + first_frame = 1; + } else { + // second frame - how do we dispose of the previous one? + dispose = (g->eflags & 0x1C) >> 2; + pcount = g->w * g->h; + + if ((dispose == 3) && (two_back == 0)) { + dispose = 2; // if I don't have an image to revert back to, default to the old background + } + + if (dispose == 3) { // use previous graphic + for (pi = 0; pi < pcount; ++pi) { + if (g->history[pi]) { + memcpy( &g->out[pi * 4], &two_back[pi * 4], 4 ); + } + } + } else if (dispose == 2) { + // restore what was changed last frame to background before that frame; + for (pi = 0; pi < pcount; ++pi) { + if (g->history[pi]) { + memcpy( &g->out[pi * 4], &g->background[pi * 4], 4 ); + } + } + } else { + // This is a non-disposal case eithe way, so just + // leave the pixels as is, and they will become the new background + // 1: do not dispose + // 0: not specified. + } + + // background is what out is after the undoing of the previou frame; + memcpy( g->background, g->out, 4 * g->w * g->h ); + } + + // clear my history; + memset( g->history, 0x00, g->w * g->h ); // pixels that were affected previous frame + + for (;;) { + int tag = stbi__get8(s); + switch (tag) { + case 0x2C: /* Image Descriptor */ + { + stbi__int32 x, y, w, h; + stbi_uc *o; + + x = stbi__get16le(s); + y = stbi__get16le(s); + w = stbi__get16le(s); + h = stbi__get16le(s); + if (((x + w) > (g->w)) || ((y + h) > (g->h))) + return stbi__errpuc("bad Image Descriptor", "Corrupt GIF"); + + g->line_size = g->w * 4; + g->start_x = x * 4; + g->start_y = y * g->line_size; + g->max_x = g->start_x + w * 4; + g->max_y = g->start_y + h * g->line_size; + g->cur_x = g->start_x; + g->cur_y = g->start_y; + + // if the width of the specified rectangle is 0, that means + // we may not see *any* pixels or the image is malformed; + // to make sure this is caught, move the current y down to + // max_y (which is what out_gif_code checks). + if (w == 0) + g->cur_y = g->max_y; + + g->lflags = stbi__get8(s); + + if (g->lflags & 0x40) { + g->step = 8 * g->line_size; // first interlaced spacing + g->parse = 3; + } else { + g->step = g->line_size; + g->parse = 0; + } + + if (g->lflags & 0x80) { + stbi__gif_parse_colortable(s,g->lpal, 2 << (g->lflags & 7), g->eflags & 0x01 ? g->transparent : -1); + g->color_table = (stbi_uc *) g->lpal; + } else if (g->flags & 0x80) { + g->color_table = (stbi_uc *) g->pal; + } else + return stbi__errpuc("missing color table", "Corrupt GIF"); + + o = stbi__process_gif_raster(s, g); + if (!o) return NULL; + + // if this was the first frame, + pcount = g->w * g->h; + if (first_frame && (g->bgindex > 0)) { + // if first frame, any pixel not drawn to gets the background color + for (pi = 0; pi < pcount; ++pi) { + if (g->history[pi] == 0) { + g->pal[g->bgindex][3] = 255; // just in case it was made transparent, undo that; It will be reset next frame if need be; + memcpy( &g->out[pi * 4], &g->pal[g->bgindex], 4 ); + } + } + } + + return o; + } + + case 0x21: // Comment Extension. + { + int len; + int ext = stbi__get8(s); + if (ext == 0xF9) { // Graphic Control Extension. + len = stbi__get8(s); + if (len == 4) { + g->eflags = stbi__get8(s); + g->delay = 10 * stbi__get16le(s); // delay - 1/100th of a second, saving as 1/1000ths. + + // unset old transparent + if (g->transparent >= 0) { + g->pal[g->transparent][3] = 255; + } + if (g->eflags & 0x01) { + g->transparent = stbi__get8(s); + if (g->transparent >= 0) { + g->pal[g->transparent][3] = 0; + } + } else { + // don't need transparent + stbi__skip(s, 1); + g->transparent = -1; + } + } else { + stbi__skip(s, len); + break; + } + } + while ((len = stbi__get8(s)) != 0) { + stbi__skip(s, len); + } + break; + } + + case 0x3B: // gif stream termination code + return (stbi_uc *) s; // using '1' causes warning on some compilers + + default: + return stbi__errpuc("unknown code", "Corrupt GIF"); + } + } +} + +static void *stbi__load_gif_main_outofmem(stbi__gif *g, stbi_uc *out, int **delays) +{ + STBI_FREE(g->out); + STBI_FREE(g->history); + STBI_FREE(g->background); + + if (out) STBI_FREE(out); + if (delays && *delays) STBI_FREE(*delays); + return stbi__errpuc("outofmem", "Out of memory"); +} + +static void *stbi__load_gif_main(stbi__context *s, int **delays, int *x, int *y, int *z, int *comp, int req_comp) +{ + if (stbi__gif_test(s)) { + int layers = 0; + stbi_uc *u = 0; + stbi_uc *out = 0; + stbi_uc *two_back = 0; + stbi__gif g; + int stride; + int out_size = 0; + int delays_size = 0; + + STBI_NOTUSED(out_size); + STBI_NOTUSED(delays_size); + + memset(&g, 0, sizeof(g)); + if (delays) { + *delays = 0; + } + + do { + u = stbi__gif_load_next(s, &g, comp, req_comp, two_back); + if (u == (stbi_uc *) s) u = 0; // end of animated gif marker + + if (u) { + *x = g.w; + *y = g.h; + ++layers; + stride = g.w * g.h * 4; + + if (out) { + void *tmp = (stbi_uc*) STBI_REALLOC_SIZED( out, out_size, layers * stride ); + if (!tmp) + return stbi__load_gif_main_outofmem(&g, out, delays); + else { + out = (stbi_uc*) tmp; + out_size = layers * stride; + } + + if (delays) { + int *new_delays = (int*) STBI_REALLOC_SIZED( *delays, delays_size, sizeof(int) * layers ); + if (!new_delays) + return stbi__load_gif_main_outofmem(&g, out, delays); + *delays = new_delays; + delays_size = layers * sizeof(int); + } + } else { + out = (stbi_uc*)stbi__malloc( layers * stride ); + if (!out) + return stbi__load_gif_main_outofmem(&g, out, delays); + out_size = layers * stride; + if (delays) { + *delays = (int*) stbi__malloc( layers * sizeof(int) ); + if (!*delays) + return stbi__load_gif_main_outofmem(&g, out, delays); + delays_size = layers * sizeof(int); + } + } + memcpy( out + ((layers - 1) * stride), u, stride ); + if (layers >= 2) { + two_back = out - 2 * stride; + } + + if (delays) { + (*delays)[layers - 1U] = g.delay; + } + } + } while (u != 0); + + // free temp buffer; + STBI_FREE(g.out); + STBI_FREE(g.history); + STBI_FREE(g.background); + + // do the final conversion after loading everything; + if (req_comp && req_comp != 4) + out = stbi__convert_format(out, 4, req_comp, layers * g.w, g.h); + + *z = layers; + return out; + } else { + return stbi__errpuc("not GIF", "Image was not as a gif type."); + } +} + +static void *stbi__gif_load(stbi__context *s, int *x, int *y, int *comp, int req_comp, stbi__result_info *ri) +{ + stbi_uc *u = 0; + stbi__gif g; + memset(&g, 0, sizeof(g)); + STBI_NOTUSED(ri); + + u = stbi__gif_load_next(s, &g, comp, req_comp, 0); + if (u == (stbi_uc *) s) u = 0; // end of animated gif marker + if (u) { + *x = g.w; + *y = g.h; + + // moved conversion to after successful load so that the same + // can be done for multiple frames. + if (req_comp && req_comp != 4) + u = stbi__convert_format(u, 4, req_comp, g.w, g.h); + } else if (g.out) { + // if there was an error and we allocated an image buffer, free it! + STBI_FREE(g.out); + } + + // free buffers needed for multiple frame loading; + STBI_FREE(g.history); + STBI_FREE(g.background); + + return u; +} + +static int stbi__gif_info(stbi__context *s, int *x, int *y, int *comp) +{ + return stbi__gif_info_raw(s,x,y,comp); +} +#endif + +// ************************************************************************************************* +// Radiance RGBE HDR loader +// originally by Nicolas Schulz +#ifndef STBI_NO_HDR +static int stbi__hdr_test_core(stbi__context *s, const char *signature) +{ + int i; + for (i=0; signature[i]; ++i) + if (stbi__get8(s) != signature[i]) + return 0; + stbi__rewind(s); + return 1; +} + +static int stbi__hdr_test(stbi__context* s) +{ + int r = stbi__hdr_test_core(s, "#?RADIANCE\n"); + stbi__rewind(s); + if(!r) { + r = stbi__hdr_test_core(s, "#?RGBE\n"); + stbi__rewind(s); + } + return r; +} + +#define STBI__HDR_BUFLEN 1024 +static char *stbi__hdr_gettoken(stbi__context *z, char *buffer) +{ + int len=0; + char c = '\0'; + + c = (char) stbi__get8(z); + + while (!stbi__at_eof(z) && c != '\n') { + buffer[len++] = c; + if (len == STBI__HDR_BUFLEN-1) { + // flush to end of line + while (!stbi__at_eof(z) && stbi__get8(z) != '\n') + ; + break; + } + c = (char) stbi__get8(z); + } + + buffer[len] = 0; + return buffer; +} + +static void stbi__hdr_convert(float *output, stbi_uc *input, int req_comp) +{ + if ( input[3] != 0 ) { + float f1; + // Exponent + f1 = (float) ldexp(1.0f, input[3] - (int)(128 + 8)); + if (req_comp <= 2) + output[0] = (input[0] + input[1] + input[2]) * f1 / 3; + else { + output[0] = input[0] * f1; + output[1] = input[1] * f1; + output[2] = input[2] * f1; + } + if (req_comp == 2) output[1] = 1; + if (req_comp == 4) output[3] = 1; + } else { + switch (req_comp) { + case 4: output[3] = 1; /* fallthrough */ + case 3: output[0] = output[1] = output[2] = 0; + break; + case 2: output[1] = 1; /* fallthrough */ + case 1: output[0] = 0; + break; + } + } +} + +static float *stbi__hdr_load(stbi__context *s, int *x, int *y, int *comp, int req_comp, stbi__result_info *ri) +{ + char buffer[STBI__HDR_BUFLEN]; + char *token; + int valid = 0; + int width, height; + stbi_uc *scanline; + float *hdr_data; + int len; + unsigned char count, value; + int i, j, k, c1,c2, z; + const char *headerToken; + STBI_NOTUSED(ri); + + // Check identifier + headerToken = stbi__hdr_gettoken(s,buffer); + if (strcmp(headerToken, "#?RADIANCE") != 0 && strcmp(headerToken, "#?RGBE") != 0) + return stbi__errpf("not HDR", "Corrupt HDR image"); + + // Parse header + for(;;) { + token = stbi__hdr_gettoken(s,buffer); + if (token[0] == 0) break; + if (strcmp(token, "FORMAT=32-bit_rle_rgbe") == 0) valid = 1; + } + + if (!valid) return stbi__errpf("unsupported format", "Unsupported HDR format"); + + // Parse width and height + // can't use sscanf() if we're not using stdio! + token = stbi__hdr_gettoken(s,buffer); + if (strncmp(token, "-Y ", 3)) return stbi__errpf("unsupported data layout", "Unsupported HDR format"); + token += 3; + height = (int) strtol(token, &token, 10); + while (*token == ' ') ++token; + if (strncmp(token, "+X ", 3)) return stbi__errpf("unsupported data layout", "Unsupported HDR format"); + token += 3; + width = (int) strtol(token, NULL, 10); + + if (height > STBI_MAX_DIMENSIONS) return stbi__errpf("too large","Very large image (corrupt?)"); + if (width > STBI_MAX_DIMENSIONS) return stbi__errpf("too large","Very large image (corrupt?)"); + + *x = width; + *y = height; + + if (comp) *comp = 3; + if (req_comp == 0) req_comp = 3; + + if (!stbi__mad4sizes_valid(width, height, req_comp, sizeof(float), 0)) + return stbi__errpf("too large", "HDR image is too large"); + + // Read data + hdr_data = (float *) stbi__malloc_mad4(width, height, req_comp, sizeof(float), 0); + if (!hdr_data) + return stbi__errpf("outofmem", "Out of memory"); + + // Load image data + // image data is stored as some number of sca + if ( width < 8 || width >= 32768) { + // Read flat data + for (j=0; j < height; ++j) { + for (i=0; i < width; ++i) { + stbi_uc rgbe[4]; + main_decode_loop: + stbi__getn(s, rgbe, 4); + stbi__hdr_convert(hdr_data + j * width * req_comp + i * req_comp, rgbe, req_comp); + } + } + } else { + // Read RLE-encoded data + scanline = NULL; + + for (j = 0; j < height; ++j) { + c1 = stbi__get8(s); + c2 = stbi__get8(s); + len = stbi__get8(s); + if (c1 != 2 || c2 != 2 || (len & 0x80)) { + // not run-length encoded, so we have to actually use THIS data as a decoded + // pixel (note this can't be a valid pixel--one of RGB must be >= 128) + stbi_uc rgbe[4]; + rgbe[0] = (stbi_uc) c1; + rgbe[1] = (stbi_uc) c2; + rgbe[2] = (stbi_uc) len; + rgbe[3] = (stbi_uc) stbi__get8(s); + stbi__hdr_convert(hdr_data, rgbe, req_comp); + i = 1; + j = 0; + STBI_FREE(scanline); + goto main_decode_loop; // yes, this makes no sense + } + len <<= 8; + len |= stbi__get8(s); + if (len != width) { STBI_FREE(hdr_data); STBI_FREE(scanline); return stbi__errpf("invalid decoded scanline length", "corrupt HDR"); } + if (scanline == NULL) { + scanline = (stbi_uc *) stbi__malloc_mad2(width, 4, 0); + if (!scanline) { + STBI_FREE(hdr_data); + return stbi__errpf("outofmem", "Out of memory"); + } + } + + for (k = 0; k < 4; ++k) { + int nleft; + i = 0; + while ((nleft = width - i) > 0) { + count = stbi__get8(s); + if (count > 128) { + // Run + value = stbi__get8(s); + count -= 128; + if ((count == 0) || (count > nleft)) { STBI_FREE(hdr_data); STBI_FREE(scanline); return stbi__errpf("corrupt", "bad RLE data in HDR"); } + for (z = 0; z < count; ++z) + scanline[i++ * 4 + k] = value; + } else { + // Dump + if ((count == 0) || (count > nleft)) { STBI_FREE(hdr_data); STBI_FREE(scanline); return stbi__errpf("corrupt", "bad RLE data in HDR"); } + for (z = 0; z < count; ++z) + scanline[i++ * 4 + k] = stbi__get8(s); + } + } + } + for (i=0; i < width; ++i) + stbi__hdr_convert(hdr_data+(j*width + i)*req_comp, scanline + i*4, req_comp); + } + if (scanline) + STBI_FREE(scanline); + } + + return hdr_data; +} + +static int stbi__hdr_info(stbi__context *s, int *x, int *y, int *comp) +{ + char buffer[STBI__HDR_BUFLEN]; + char *token; + int valid = 0; + int dummy; + + if (!x) x = &dummy; + if (!y) y = &dummy; + if (!comp) comp = &dummy; + + if (stbi__hdr_test(s) == 0) { + stbi__rewind( s ); + return 0; + } + + for(;;) { + token = stbi__hdr_gettoken(s,buffer); + if (token[0] == 0) break; + if (strcmp(token, "FORMAT=32-bit_rle_rgbe") == 0) valid = 1; + } + + if (!valid) { + stbi__rewind( s ); + return 0; + } + token = stbi__hdr_gettoken(s,buffer); + if (strncmp(token, "-Y ", 3)) { + stbi__rewind( s ); + return 0; + } + token += 3; + *y = (int) strtol(token, &token, 10); + while (*token == ' ') ++token; + if (strncmp(token, "+X ", 3)) { + stbi__rewind( s ); + return 0; + } + token += 3; + *x = (int) strtol(token, NULL, 10); + *comp = 3; + return 1; +} +#endif // STBI_NO_HDR + +#ifndef STBI_NO_BMP +static int stbi__bmp_info(stbi__context *s, int *x, int *y, int *comp) +{ + void *p; + stbi__bmp_data info; + + info.all_a = 255; + p = stbi__bmp_parse_header(s, &info); + if (p == NULL) { + stbi__rewind( s ); + return 0; + } + if (x) *x = s->img_x; + if (y) *y = s->img_y; + if (comp) { + if (info.bpp == 24 && info.ma == 0xff000000) + *comp = 3; + else + *comp = info.ma ? 4 : 3; + } + return 1; +} +#endif + +#ifndef STBI_NO_PSD +static int stbi__psd_info(stbi__context *s, int *x, int *y, int *comp) +{ + int channelCount, dummy, depth; + if (!x) x = &dummy; + if (!y) y = &dummy; + if (!comp) comp = &dummy; + if (stbi__get32be(s) != 0x38425053) { + stbi__rewind( s ); + return 0; + } + if (stbi__get16be(s) != 1) { + stbi__rewind( s ); + return 0; + } + stbi__skip(s, 6); + channelCount = stbi__get16be(s); + if (channelCount < 0 || channelCount > 16) { + stbi__rewind( s ); + return 0; + } + *y = stbi__get32be(s); + *x = stbi__get32be(s); + depth = stbi__get16be(s); + if (depth != 8 && depth != 16) { + stbi__rewind( s ); + return 0; + } + if (stbi__get16be(s) != 3) { + stbi__rewind( s ); + return 0; + } + *comp = 4; + return 1; +} + +static int stbi__psd_is16(stbi__context *s) +{ + int channelCount, depth; + if (stbi__get32be(s) != 0x38425053) { + stbi__rewind( s ); + return 0; + } + if (stbi__get16be(s) != 1) { + stbi__rewind( s ); + return 0; + } + stbi__skip(s, 6); + channelCount = stbi__get16be(s); + if (channelCount < 0 || channelCount > 16) { + stbi__rewind( s ); + return 0; + } + STBI_NOTUSED(stbi__get32be(s)); + STBI_NOTUSED(stbi__get32be(s)); + depth = stbi__get16be(s); + if (depth != 16) { + stbi__rewind( s ); + return 0; + } + return 1; +} +#endif + +#ifndef STBI_NO_PIC +static int stbi__pic_info(stbi__context *s, int *x, int *y, int *comp) +{ + int act_comp=0,num_packets=0,chained,dummy; + stbi__pic_packet packets[10]; + + if (!x) x = &dummy; + if (!y) y = &dummy; + if (!comp) comp = &dummy; + + if (!stbi__pic_is4(s,"\x53\x80\xF6\x34")) { + stbi__rewind(s); + return 0; + } + + stbi__skip(s, 88); + + *x = stbi__get16be(s); + *y = stbi__get16be(s); + if (stbi__at_eof(s)) { + stbi__rewind( s); + return 0; + } + if ( (*x) != 0 && (1 << 28) / (*x) < (*y)) { + stbi__rewind( s ); + return 0; + } + + stbi__skip(s, 8); + + do { + stbi__pic_packet *packet; + + if (num_packets==sizeof(packets)/sizeof(packets[0])) + return 0; + + packet = &packets[num_packets++]; + chained = stbi__get8(s); + packet->size = stbi__get8(s); + packet->type = stbi__get8(s); + packet->channel = stbi__get8(s); + act_comp |= packet->channel; + + if (stbi__at_eof(s)) { + stbi__rewind( s ); + return 0; + } + if (packet->size != 8) { + stbi__rewind( s ); + return 0; + } + } while (chained); + + *comp = (act_comp & 0x10 ? 4 : 3); + + return 1; +} +#endif + +// ************************************************************************************************* +// Portable Gray Map and Portable Pixel Map loader +// by Ken Miller +// +// PGM: http://netpbm.sourceforge.net/doc/pgm.html +// PPM: http://netpbm.sourceforge.net/doc/ppm.html +// +// Known limitations: +// Does not support comments in the header section +// Does not support ASCII image data (formats P2 and P3) + +#ifndef STBI_NO_PNM + +static int stbi__pnm_test(stbi__context *s) +{ + char p, t; + p = (char) stbi__get8(s); + t = (char) stbi__get8(s); + if (p != 'P' || (t != '5' && t != '6')) { + stbi__rewind( s ); + return 0; + } + return 1; +} + +static void *stbi__pnm_load(stbi__context *s, int *x, int *y, int *comp, int req_comp, stbi__result_info *ri) +{ + stbi_uc *out; + STBI_NOTUSED(ri); + + ri->bits_per_channel = stbi__pnm_info(s, (int *)&s->img_x, (int *)&s->img_y, (int *)&s->img_n); + if (ri->bits_per_channel == 0) + return 0; + + if (s->img_y > STBI_MAX_DIMENSIONS) return stbi__errpuc("too large","Very large image (corrupt?)"); + if (s->img_x > STBI_MAX_DIMENSIONS) return stbi__errpuc("too large","Very large image (corrupt?)"); + + *x = s->img_x; + *y = s->img_y; + if (comp) *comp = s->img_n; + + if (!stbi__mad4sizes_valid(s->img_n, s->img_x, s->img_y, ri->bits_per_channel / 8, 0)) + return stbi__errpuc("too large", "PNM too large"); + + out = (stbi_uc *) stbi__malloc_mad4(s->img_n, s->img_x, s->img_y, ri->bits_per_channel / 8, 0); + if (!out) return stbi__errpuc("outofmem", "Out of memory"); + if (!stbi__getn(s, out, s->img_n * s->img_x * s->img_y * (ri->bits_per_channel / 8))) { + STBI_FREE(out); + return stbi__errpuc("bad PNM", "PNM file truncated"); + } + + if (req_comp && req_comp != s->img_n) { + if (ri->bits_per_channel == 16) { + out = (stbi_uc *) stbi__convert_format16((stbi__uint16 *) out, s->img_n, req_comp, s->img_x, s->img_y); + } else { + out = stbi__convert_format(out, s->img_n, req_comp, s->img_x, s->img_y); + } + if (out == NULL) return out; // stbi__convert_format frees input on failure + } + return out; +} + +static int stbi__pnm_isspace(char c) +{ + return c == ' ' || c == '\t' || c == '\n' || c == '\v' || c == '\f' || c == '\r'; +} + +static void stbi__pnm_skip_whitespace(stbi__context *s, char *c) +{ + for (;;) { + while (!stbi__at_eof(s) && stbi__pnm_isspace(*c)) + *c = (char) stbi__get8(s); + + if (stbi__at_eof(s) || *c != '#') + break; + + while (!stbi__at_eof(s) && *c != '\n' && *c != '\r' ) + *c = (char) stbi__get8(s); + } +} + +static int stbi__pnm_isdigit(char c) +{ + return c >= '0' && c <= '9'; +} + +static int stbi__pnm_getinteger(stbi__context *s, char *c) +{ + int value = 0; + + while (!stbi__at_eof(s) && stbi__pnm_isdigit(*c)) { + value = value*10 + (*c - '0'); + *c = (char) stbi__get8(s); + if((value > 214748364) || (value == 214748364 && *c > '7')) + return stbi__err("integer parse overflow", "Parsing an integer in the PPM header overflowed a 32-bit int"); + } + + return value; +} + +static int stbi__pnm_info(stbi__context *s, int *x, int *y, int *comp) +{ + int maxv, dummy; + char c, p, t; + + if (!x) x = &dummy; + if (!y) y = &dummy; + if (!comp) comp = &dummy; + + stbi__rewind(s); + + // Get identifier + p = (char) stbi__get8(s); + t = (char) stbi__get8(s); + if (p != 'P' || (t != '5' && t != '6')) { + stbi__rewind(s); + return 0; + } + + *comp = (t == '6') ? 3 : 1; // '5' is 1-component .pgm; '6' is 3-component .ppm + + c = (char) stbi__get8(s); + stbi__pnm_skip_whitespace(s, &c); + + *x = stbi__pnm_getinteger(s, &c); // read width + if(*x == 0) + return stbi__err("invalid width", "PPM image header had zero or overflowing width"); + stbi__pnm_skip_whitespace(s, &c); + + *y = stbi__pnm_getinteger(s, &c); // read height + if (*y == 0) + return stbi__err("invalid width", "PPM image header had zero or overflowing width"); + stbi__pnm_skip_whitespace(s, &c); + + maxv = stbi__pnm_getinteger(s, &c); // read max value + if (maxv > 65535) + return stbi__err("max value > 65535", "PPM image supports only 8-bit and 16-bit images"); + else if (maxv > 255) + return 16; + else + return 8; +} + +static int stbi__pnm_is16(stbi__context *s) +{ + if (stbi__pnm_info(s, NULL, NULL, NULL) == 16) + return 1; + return 0; +} +#endif + +static int stbi__info_main(stbi__context *s, int *x, int *y, int *comp) +{ + #ifndef STBI_NO_JPEG + if (stbi__jpeg_info(s, x, y, comp)) return 1; + #endif + + #ifndef STBI_NO_PNG + if (stbi__png_info(s, x, y, comp)) return 1; + #endif + + #ifndef STBI_NO_GIF + if (stbi__gif_info(s, x, y, comp)) return 1; + #endif + + #ifndef STBI_NO_BMP + if (stbi__bmp_info(s, x, y, comp)) return 1; + #endif + + #ifndef STBI_NO_PSD + if (stbi__psd_info(s, x, y, comp)) return 1; + #endif + + #ifndef STBI_NO_PIC + if (stbi__pic_info(s, x, y, comp)) return 1; + #endif + + #ifndef STBI_NO_PNM + if (stbi__pnm_info(s, x, y, comp)) return 1; + #endif + + #ifndef STBI_NO_HDR + if (stbi__hdr_info(s, x, y, comp)) return 1; + #endif + + // test tga last because it's a crappy test! + #ifndef STBI_NO_TGA + if (stbi__tga_info(s, x, y, comp)) + return 1; + #endif + return stbi__err("unknown image type", "Image not of any known type, or corrupt"); +} + +static int stbi__is_16_main(stbi__context *s) +{ + #ifndef STBI_NO_PNG + if (stbi__png_is16(s)) return 1; + #endif + + #ifndef STBI_NO_PSD + if (stbi__psd_is16(s)) return 1; + #endif + + #ifndef STBI_NO_PNM + if (stbi__pnm_is16(s)) return 1; + #endif + return 0; +} + +#ifndef STBI_NO_STDIO +STBIDEF int stbi_info(char const *filename, int *x, int *y, int *comp) +{ + FILE *f = stbi__fopen(filename, "rb"); + int result; + if (!f) return stbi__err("can't fopen", "Unable to open file"); + result = stbi_info_from_file(f, x, y, comp); + fclose(f); + return result; +} + +STBIDEF int stbi_info_from_file(FILE *f, int *x, int *y, int *comp) +{ + int r; + stbi__context s; + long pos = ftell(f); + stbi__start_file(&s, f); + r = stbi__info_main(&s,x,y,comp); + fseek(f,pos,SEEK_SET); + return r; +} + +STBIDEF int stbi_is_16_bit(char const *filename) +{ + FILE *f = stbi__fopen(filename, "rb"); + int result; + if (!f) return stbi__err("can't fopen", "Unable to open file"); + result = stbi_is_16_bit_from_file(f); + fclose(f); + return result; +} + +STBIDEF int stbi_is_16_bit_from_file(FILE *f) +{ + int r; + stbi__context s; + long pos = ftell(f); + stbi__start_file(&s, f); + r = stbi__is_16_main(&s); + fseek(f,pos,SEEK_SET); + return r; +} +#endif // !STBI_NO_STDIO + +STBIDEF int stbi_info_from_memory(stbi_uc const *buffer, int len, int *x, int *y, int *comp) +{ + stbi__context s; + stbi__start_mem(&s,buffer,len); + return stbi__info_main(&s,x,y,comp); +} + +STBIDEF int stbi_info_from_callbacks(stbi_io_callbacks const *c, void *user, int *x, int *y, int *comp) +{ + stbi__context s; + stbi__start_callbacks(&s, (stbi_io_callbacks *) c, user); + return stbi__info_main(&s,x,y,comp); +} + +STBIDEF int stbi_is_16_bit_from_memory(stbi_uc const *buffer, int len) +{ + stbi__context s; + stbi__start_mem(&s,buffer,len); + return stbi__is_16_main(&s); +} + +STBIDEF int stbi_is_16_bit_from_callbacks(stbi_io_callbacks const *c, void *user) +{ + stbi__context s; + stbi__start_callbacks(&s, (stbi_io_callbacks *) c, user); + return stbi__is_16_main(&s); +} + +#endif // STB_IMAGE_IMPLEMENTATION + +/* + revision history: + 2.20 (2019-02-07) support utf8 filenames in Windows; fix warnings and platform ifdefs + 2.19 (2018-02-11) fix warning + 2.18 (2018-01-30) fix warnings + 2.17 (2018-01-29) change sbti__shiftsigned to avoid clang -O2 bug + 1-bit BMP + *_is_16_bit api + avoid warnings + 2.16 (2017-07-23) all functions have 16-bit variants; + STBI_NO_STDIO works again; + compilation fixes; + fix rounding in unpremultiply; + optimize vertical flip; + disable raw_len validation; + documentation fixes + 2.15 (2017-03-18) fix png-1,2,4 bug; now all Imagenet JPGs decode; + warning fixes; disable run-time SSE detection on gcc; + uniform handling of optional "return" values; + thread-safe initialization of zlib tables + 2.14 (2017-03-03) remove deprecated STBI_JPEG_OLD; fixes for Imagenet JPGs + 2.13 (2016-11-29) add 16-bit API, only supported for PNG right now + 2.12 (2016-04-02) fix typo in 2.11 PSD fix that caused crashes + 2.11 (2016-04-02) allocate large structures on the stack + remove white matting for transparent PSD + fix reported channel count for PNG & BMP + re-enable SSE2 in non-gcc 64-bit + support RGB-formatted JPEG + read 16-bit PNGs (only as 8-bit) + 2.10 (2016-01-22) avoid warning introduced in 2.09 by STBI_REALLOC_SIZED + 2.09 (2016-01-16) allow comments in PNM files + 16-bit-per-pixel TGA (not bit-per-component) + info() for TGA could break due to .hdr handling + info() for BMP to shares code instead of sloppy parse + can use STBI_REALLOC_SIZED if allocator doesn't support realloc + code cleanup + 2.08 (2015-09-13) fix to 2.07 cleanup, reading RGB PSD as RGBA + 2.07 (2015-09-13) fix compiler warnings + partial animated GIF support + limited 16-bpc PSD support + #ifdef unused functions + bug with < 92 byte PIC,PNM,HDR,TGA + 2.06 (2015-04-19) fix bug where PSD returns wrong '*comp' value + 2.05 (2015-04-19) fix bug in progressive JPEG handling, fix warning + 2.04 (2015-04-15) try to re-enable SIMD on MinGW 64-bit + 2.03 (2015-04-12) extra corruption checking (mmozeiko) + stbi_set_flip_vertically_on_load (nguillemot) + fix NEON support; fix mingw support + 2.02 (2015-01-19) fix incorrect assert, fix warning + 2.01 (2015-01-17) fix various warnings; suppress SIMD on gcc 32-bit without -msse2 + 2.00b (2014-12-25) fix STBI_MALLOC in progressive JPEG + 2.00 (2014-12-25) optimize JPG, including x86 SSE2 & NEON SIMD (ryg) + progressive JPEG (stb) + PGM/PPM support (Ken Miller) + STBI_MALLOC,STBI_REALLOC,STBI_FREE + GIF bugfix -- seemingly never worked + STBI_NO_*, STBI_ONLY_* + 1.48 (2014-12-14) fix incorrectly-named assert() + 1.47 (2014-12-14) 1/2/4-bit PNG support, both direct and paletted (Omar Cornut & stb) + optimize PNG (ryg) + fix bug in interlaced PNG with user-specified channel count (stb) + 1.46 (2014-08-26) + fix broken tRNS chunk (colorkey-style transparency) in non-paletted PNG + 1.45 (2014-08-16) + fix MSVC-ARM internal compiler error by wrapping malloc + 1.44 (2014-08-07) + various warning fixes from Ronny Chevalier + 1.43 (2014-07-15) + fix MSVC-only compiler problem in code changed in 1.42 + 1.42 (2014-07-09) + don't define _CRT_SECURE_NO_WARNINGS (affects user code) + fixes to stbi__cleanup_jpeg path + added STBI_ASSERT to avoid requiring assert.h + 1.41 (2014-06-25) + fix search&replace from 1.36 that messed up comments/error messages + 1.40 (2014-06-22) + fix gcc struct-initialization warning + 1.39 (2014-06-15) + fix to TGA optimization when req_comp != number of components in TGA; + fix to GIF loading because BMP wasn't rewinding (whoops, no GIFs in my test suite) + add support for BMP version 5 (more ignored fields) + 1.38 (2014-06-06) + suppress MSVC warnings on integer casts truncating values + fix accidental rename of 'skip' field of I/O + 1.37 (2014-06-04) + remove duplicate typedef + 1.36 (2014-06-03) + convert to header file single-file library + if de-iphone isn't set, load iphone images color-swapped instead of returning NULL + 1.35 (2014-05-27) + various warnings + fix broken STBI_SIMD path + fix bug where stbi_load_from_file no longer left file pointer in correct place + fix broken non-easy path for 32-bit BMP (possibly never used) + TGA optimization by Arseny Kapoulkine + 1.34 (unknown) + use STBI_NOTUSED in stbi__resample_row_generic(), fix one more leak in tga failure case + 1.33 (2011-07-14) + make stbi_is_hdr work in STBI_NO_HDR (as specified), minor compiler-friendly improvements + 1.32 (2011-07-13) + support for "info" function for all supported filetypes (SpartanJ) + 1.31 (2011-06-20) + a few more leak fixes, bug in PNG handling (SpartanJ) + 1.30 (2011-06-11) + added ability to load files via callbacks to accomidate custom input streams (Ben Wenger) + removed deprecated format-specific test/load functions + removed support for installable file formats (stbi_loader) -- would have been broken for IO callbacks anyway + error cases in bmp and tga give messages and don't leak (Raymond Barbiero, grisha) + fix inefficiency in decoding 32-bit BMP (David Woo) + 1.29 (2010-08-16) + various warning fixes from Aurelien Pocheville + 1.28 (2010-08-01) + fix bug in GIF palette transparency (SpartanJ) + 1.27 (2010-08-01) + cast-to-stbi_uc to fix warnings + 1.26 (2010-07-24) + fix bug in file buffering for PNG reported by SpartanJ + 1.25 (2010-07-17) + refix trans_data warning (Won Chun) + 1.24 (2010-07-12) + perf improvements reading from files on platforms with lock-heavy fgetc() + minor perf improvements for jpeg + deprecated type-specific functions so we'll get feedback if they're needed + attempt to fix trans_data warning (Won Chun) + 1.23 fixed bug in iPhone support + 1.22 (2010-07-10) + removed image *writing* support + stbi_info support from Jetro Lauha + GIF support from Jean-Marc Lienher + iPhone PNG-extensions from James Brown + warning-fixes from Nicolas Schulz and Janez Zemva (i.stbi__err. Janez (U+017D)emva) + 1.21 fix use of 'stbi_uc' in header (reported by jon blow) + 1.20 added support for Softimage PIC, by Tom Seddon + 1.19 bug in interlaced PNG corruption check (found by ryg) + 1.18 (2008-08-02) + fix a threading bug (local mutable static) + 1.17 support interlaced PNG + 1.16 major bugfix - stbi__convert_format converted one too many pixels + 1.15 initialize some fields for thread safety + 1.14 fix threadsafe conversion bug + header-file-only version (#define STBI_HEADER_FILE_ONLY before including) + 1.13 threadsafe + 1.12 const qualifiers in the API + 1.11 Support installable IDCT, colorspace conversion routines + 1.10 Fixes for 64-bit (don't use "unsigned long") + optimized upsampling by Fabian "ryg" Giesen + 1.09 Fix format-conversion for PSD code (bad global variables!) + 1.08 Thatcher Ulrich's PSD code integrated by Nicolas Schulz + 1.07 attempt to fix C++ warning/errors again + 1.06 attempt to fix C++ warning/errors again + 1.05 fix TGA loading to return correct *comp and use good luminance calc + 1.04 default float alpha is 1, not 255; use 'void *' for stbi_image_free + 1.03 bugfixes to STBI_NO_STDIO, STBI_NO_HDR + 1.02 support for (subset of) HDR files, float interface for preferred access to them + 1.01 fix bug: possible bug in handling right-side up bmps... not sure + fix bug: the stbi__bmp_load() and stbi__tga_load() functions didn't work at all + 1.00 interface to zlib that skips zlib header + 0.99 correct handling of alpha in palette + 0.98 TGA loader by lonesock; dynamically add loaders (untested) + 0.97 jpeg errors on too large a file; also catch another malloc failure + 0.96 fix detection of invalid v value - particleman@mollyrocket forum + 0.95 during header scan, seek to markers in case of padding + 0.94 STBI_NO_STDIO to disable stdio usage; rename all #defines the same + 0.93 handle jpegtran output; verbose errors + 0.92 read 4,8,16,24,32-bit BMP files of several formats + 0.91 output 24-bit Windows 3.0 BMP files + 0.90 fix a few more warnings; bump version number to approach 1.0 + 0.61 bugfixes due to Marc LeBlanc, Christopher Lloyd + 0.60 fix compiling as c++ + 0.59 fix warnings: merge Dave Moore's -Wall fixes + 0.58 fix bug: zlib uncompressed mode len/nlen was wrong endian + 0.57 fix bug: jpg last huffman symbol before marker was >9 bits but less than 16 available + 0.56 fix bug: zlib uncompressed mode len vs. nlen + 0.55 fix bug: restart_interval not initialized to 0 + 0.54 allow NULL for 'int *comp' + 0.53 fix bug in png 3->4; speedup png decoding + 0.52 png handles req_comp=3,4 directly; minor cleanup; jpeg comments + 0.51 obey req_comp requests, 1-component jpegs return as 1-component, + on 'test' only check type, not whether we support this variant + 0.50 (2006-11-19) + first released version +*/ + + +/* +------------------------------------------------------------------------------ +This software is available under 2 licenses -- choose whichever you prefer. +------------------------------------------------------------------------------ +ALTERNATIVE A - MIT License +Copyright (c) 2017 Sean Barrett +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies +of the Software, and to permit persons to whom the Software is furnished to do +so, subject to the following conditions: +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. +------------------------------------------------------------------------------ +ALTERNATIVE B - Public Domain (www.unlicense.org) +This is free and unencumbered software released into the public domain. +Anyone is free to copy, modify, publish, use, compile, sell, or distribute this +software, either in source code form or as a compiled binary, for any purpose, +commercial or non-commercial, and by any means. +In jurisdictions that recognize copyright laws, the author or authors of this +software dedicate any and all copyright interest in the software to the public +domain. We make this dedication for the benefit of the public at large and to +the detriment of our heirs and successors. We intend this dedication to be an +overt act of relinquishment in perpetuity of all present and future rights to +this software under copyright law. +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN +ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +------------------------------------------------------------------------------ +*/ diff --git a/MacroLibX/third_party/stb_rect_pack.h b/MacroLibX/third_party/stb_rect_pack.h new file mode 100644 index 0000000..6a633ce --- /dev/null +++ b/MacroLibX/third_party/stb_rect_pack.h @@ -0,0 +1,623 @@ +// stb_rect_pack.h - v1.01 - public domain - rectangle packing +// Sean Barrett 2014 +// +// Useful for e.g. packing rectangular textures into an atlas. +// Does not do rotation. +// +// Before #including, +// +// #define STB_RECT_PACK_IMPLEMENTATION +// +// in the file that you want to have the implementation. +// +// Not necessarily the awesomest packing method, but better than +// the totally naive one in stb_truetype (which is primarily what +// this is meant to replace). +// +// Has only had a few tests run, may have issues. +// +// More docs to come. +// +// No memory allocations; uses qsort() and assert() from stdlib. +// Can override those by defining STBRP_SORT and STBRP_ASSERT. +// +// This library currently uses the Skyline Bottom-Left algorithm. +// +// Please note: better rectangle packers are welcome! Please +// implement them to the same API, but with a different init +// function. +// +// Credits +// +// Library +// Sean Barrett +// Minor features +// Martins Mozeiko +// github:IntellectualKitty +// +// Bugfixes / warning fixes +// Jeremy Jaussaud +// Fabian Giesen +// +// Version history: +// +// 1.01 (2021-07-11) always use large rect mode, expose STBRP__MAXVAL in public section +// 1.00 (2019-02-25) avoid small space waste; gracefully fail too-wide rectangles +// 0.99 (2019-02-07) warning fixes +// 0.11 (2017-03-03) return packing success/fail result +// 0.10 (2016-10-25) remove cast-away-const to avoid warnings +// 0.09 (2016-08-27) fix compiler warnings +// 0.08 (2015-09-13) really fix bug with empty rects (w=0 or h=0) +// 0.07 (2015-09-13) fix bug with empty rects (w=0 or h=0) +// 0.06 (2015-04-15) added STBRP_SORT to allow replacing qsort +// 0.05: added STBRP_ASSERT to allow replacing assert +// 0.04: fixed minor bug in STBRP_LARGE_RECTS support +// 0.01: initial release +// +// LICENSE +// +// See end of file for license information. + +////////////////////////////////////////////////////////////////////////////// +// +// INCLUDE SECTION +// + +#ifndef STB_INCLUDE_STB_RECT_PACK_H +#define STB_INCLUDE_STB_RECT_PACK_H + +#define STB_RECT_PACK_VERSION 1 + +#ifdef STBRP_STATIC +#define STBRP_DEF static +#else +#define STBRP_DEF extern +#endif + +#ifdef __cplusplus +extern "C" { +#endif + +typedef struct stbrp_context stbrp_context; +typedef struct stbrp_node stbrp_node; +typedef struct stbrp_rect stbrp_rect; + +typedef int stbrp_coord; + +#define STBRP__MAXVAL 0x7fffffff +// Mostly for internal use, but this is the maximum supported coordinate value. + +STBRP_DEF int stbrp_pack_rects (stbrp_context *context, stbrp_rect *rects, int num_rects); +// Assign packed locations to rectangles. The rectangles are of type +// 'stbrp_rect' defined below, stored in the array 'rects', and there +// are 'num_rects' many of them. +// +// Rectangles which are successfully packed have the 'was_packed' flag +// set to a non-zero value and 'x' and 'y' store the minimum location +// on each axis (i.e. bottom-left in cartesian coordinates, top-left +// if you imagine y increasing downwards). Rectangles which do not fit +// have the 'was_packed' flag set to 0. +// +// You should not try to access the 'rects' array from another thread +// while this function is running, as the function temporarily reorders +// the array while it executes. +// +// To pack into another rectangle, you need to call stbrp_init_target +// again. To continue packing into the same rectangle, you can call +// this function again. Calling this multiple times with multiple rect +// arrays will probably produce worse packing results than calling it +// a single time with the full rectangle array, but the option is +// available. +// +// The function returns 1 if all of the rectangles were successfully +// packed and 0 otherwise. + +struct stbrp_rect +{ + // reserved for your use: + int id; + + // input: + stbrp_coord w, h; + + // output: + stbrp_coord x, y; + int was_packed; // non-zero if valid packing + +}; // 16 bytes, nominally + + +STBRP_DEF void stbrp_init_target (stbrp_context *context, int width, int height, stbrp_node *nodes, int num_nodes); +// Initialize a rectangle packer to: +// pack a rectangle that is 'width' by 'height' in dimensions +// using temporary storage provided by the array 'nodes', which is 'num_nodes' long +// +// You must call this function every time you start packing into a new target. +// +// There is no "shutdown" function. The 'nodes' memory must stay valid for +// the following stbrp_pack_rects() call (or calls), but can be freed after +// the call (or calls) finish. +// +// Note: to guarantee best results, either: +// 1. make sure 'num_nodes' >= 'width' +// or 2. call stbrp_allow_out_of_mem() defined below with 'allow_out_of_mem = 1' +// +// If you don't do either of the above things, widths will be quantized to multiples +// of small integers to guarantee the algorithm doesn't run out of temporary storage. +// +// If you do #2, then the non-quantized algorithm will be used, but the algorithm +// may run out of temporary storage and be unable to pack some rectangles. + +STBRP_DEF void stbrp_setup_allow_out_of_mem (stbrp_context *context, int allow_out_of_mem); +// Optionally call this function after init but before doing any packing to +// change the handling of the out-of-temp-memory scenario, described above. +// If you call init again, this will be reset to the default (false). + + +STBRP_DEF void stbrp_setup_heuristic (stbrp_context *context, int heuristic); +// Optionally select which packing heuristic the library should use. Different +// heuristics will produce better/worse results for different data sets. +// If you call init again, this will be reset to the default. + +enum +{ + STBRP_HEURISTIC_Skyline_default=0, + STBRP_HEURISTIC_Skyline_BL_sortHeight = STBRP_HEURISTIC_Skyline_default, + STBRP_HEURISTIC_Skyline_BF_sortHeight +}; + + +////////////////////////////////////////////////////////////////////////////// +// +// the details of the following structures don't matter to you, but they must +// be visible so you can handle the memory allocations for them + +struct stbrp_node +{ + stbrp_coord x,y; + stbrp_node *next; +}; + +struct stbrp_context +{ + int width; + int height; + int align; + int init_mode; + int heuristic; + int num_nodes; + stbrp_node *active_head; + stbrp_node *free_head; + stbrp_node extra[2]; // we allocate two extra nodes so optimal user-node-count is 'width' not 'width+2' +}; + +#ifdef __cplusplus +} +#endif + +#endif + +////////////////////////////////////////////////////////////////////////////// +// +// IMPLEMENTATION SECTION +// + +#ifdef STB_RECT_PACK_IMPLEMENTATION +#ifndef STBRP_SORT +#include +#define STBRP_SORT qsort +#endif + +#ifndef STBRP_ASSERT +#include +#define STBRP_ASSERT assert +#endif + +#ifdef _MSC_VER +#define STBRP__NOTUSED(v) (void)(v) +#define STBRP__CDECL __cdecl +#else +#define STBRP__NOTUSED(v) (void)sizeof(v) +#define STBRP__CDECL +#endif + +enum +{ + STBRP__INIT_skyline = 1 +}; + +STBRP_DEF void stbrp_setup_heuristic(stbrp_context *context, int heuristic) +{ + switch (context->init_mode) { + case STBRP__INIT_skyline: + STBRP_ASSERT(heuristic == STBRP_HEURISTIC_Skyline_BL_sortHeight || heuristic == STBRP_HEURISTIC_Skyline_BF_sortHeight); + context->heuristic = heuristic; + break; + default: + STBRP_ASSERT(0); + } +} + +STBRP_DEF void stbrp_setup_allow_out_of_mem(stbrp_context *context, int allow_out_of_mem) +{ + if (allow_out_of_mem) + // if it's ok to run out of memory, then don't bother aligning them; + // this gives better packing, but may fail due to OOM (even though + // the rectangles easily fit). @TODO a smarter approach would be to only + // quantize once we've hit OOM, then we could get rid of this parameter. + context->align = 1; + else { + // if it's not ok to run out of memory, then quantize the widths + // so that num_nodes is always enough nodes. + // + // I.e. num_nodes * align >= width + // align >= width / num_nodes + // align = ceil(width/num_nodes) + + context->align = (context->width + context->num_nodes-1) / context->num_nodes; + } +} + +STBRP_DEF void stbrp_init_target(stbrp_context *context, int width, int height, stbrp_node *nodes, int num_nodes) +{ + int i; + + for (i=0; i < num_nodes-1; ++i) + nodes[i].next = &nodes[i+1]; + nodes[i].next = NULL; + context->init_mode = STBRP__INIT_skyline; + context->heuristic = STBRP_HEURISTIC_Skyline_default; + context->free_head = &nodes[0]; + context->active_head = &context->extra[0]; + context->width = width; + context->height = height; + context->num_nodes = num_nodes; + stbrp_setup_allow_out_of_mem(context, 0); + + // node 0 is the full width, node 1 is the sentinel (lets us not store width explicitly) + context->extra[0].x = 0; + context->extra[0].y = 0; + context->extra[0].next = &context->extra[1]; + context->extra[1].x = (stbrp_coord) width; + context->extra[1].y = (1<<30); + context->extra[1].next = NULL; +} + +// find minimum y position if it starts at x1 +static int stbrp__skyline_find_min_y(stbrp_context *c, stbrp_node *first, int x0, int width, int *pwaste) +{ + stbrp_node *node = first; + int x1 = x0 + width; + int min_y, visited_width, waste_area; + + STBRP__NOTUSED(c); + + STBRP_ASSERT(first->x <= x0); + + #if 0 + // skip in case we're past the node + while (node->next->x <= x0) + ++node; + #else + STBRP_ASSERT(node->next->x > x0); // we ended up handling this in the caller for efficiency + #endif + + STBRP_ASSERT(node->x <= x0); + + min_y = 0; + waste_area = 0; + visited_width = 0; + while (node->x < x1) { + if (node->y > min_y) { + // raise min_y higher. + // we've accounted for all waste up to min_y, + // but we'll now add more waste for everything we've visted + waste_area += visited_width * (node->y - min_y); + min_y = node->y; + // the first time through, visited_width might be reduced + if (node->x < x0) + visited_width += node->next->x - x0; + else + visited_width += node->next->x - node->x; + } else { + // add waste area + int under_width = node->next->x - node->x; + if (under_width + visited_width > width) + under_width = width - visited_width; + waste_area += under_width * (min_y - node->y); + visited_width += under_width; + } + node = node->next; + } + + *pwaste = waste_area; + return min_y; +} + +typedef struct +{ + int x,y; + stbrp_node **prev_link; +} stbrp__findresult; + +static stbrp__findresult stbrp__skyline_find_best_pos(stbrp_context *c, int width, int height) +{ + int best_waste = (1<<30), best_x, best_y = (1 << 30); + stbrp__findresult fr; + stbrp_node **prev, *node, *tail, **best = NULL; + + // align to multiple of c->align + width = (width + c->align - 1); + width -= width % c->align; + STBRP_ASSERT(width % c->align == 0); + + // if it can't possibly fit, bail immediately + if (width > c->width || height > c->height) { + fr.prev_link = NULL; + fr.x = fr.y = 0; + return fr; + } + + node = c->active_head; + prev = &c->active_head; + while (node->x + width <= c->width) { + int y,waste; + y = stbrp__skyline_find_min_y(c, node, node->x, width, &waste); + if (c->heuristic == STBRP_HEURISTIC_Skyline_BL_sortHeight) { // actually just want to test BL + // bottom left + if (y < best_y) { + best_y = y; + best = prev; + } + } else { + // best-fit + if (y + height <= c->height) { + // can only use it if it first vertically + if (y < best_y || (y == best_y && waste < best_waste)) { + best_y = y; + best_waste = waste; + best = prev; + } + } + } + prev = &node->next; + node = node->next; + } + + best_x = (best == NULL) ? 0 : (*best)->x; + + // if doing best-fit (BF), we also have to try aligning right edge to each node position + // + // e.g, if fitting + // + // ____________________ + // |____________________| + // + // into + // + // | | + // | ____________| + // |____________| + // + // then right-aligned reduces waste, but bottom-left BL is always chooses left-aligned + // + // This makes BF take about 2x the time + + if (c->heuristic == STBRP_HEURISTIC_Skyline_BF_sortHeight) { + tail = c->active_head; + node = c->active_head; + prev = &c->active_head; + // find first node that's admissible + while (tail->x < width) + tail = tail->next; + while (tail) { + int xpos = tail->x - width; + int y,waste; + STBRP_ASSERT(xpos >= 0); + // find the left position that matches this + while (node->next->x <= xpos) { + prev = &node->next; + node = node->next; + } + STBRP_ASSERT(node->next->x > xpos && node->x <= xpos); + y = stbrp__skyline_find_min_y(c, node, xpos, width, &waste); + if (y + height <= c->height) { + if (y <= best_y) { + if (y < best_y || waste < best_waste || (waste==best_waste && xpos < best_x)) { + best_x = xpos; + STBRP_ASSERT(y <= best_y); + best_y = y; + best_waste = waste; + best = prev; + } + } + } + tail = tail->next; + } + } + + fr.prev_link = best; + fr.x = best_x; + fr.y = best_y; + return fr; +} + +static stbrp__findresult stbrp__skyline_pack_rectangle(stbrp_context *context, int width, int height) +{ + // find best position according to heuristic + stbrp__findresult res = stbrp__skyline_find_best_pos(context, width, height); + stbrp_node *node, *cur; + + // bail if: + // 1. it failed + // 2. the best node doesn't fit (we don't always check this) + // 3. we're out of memory + if (res.prev_link == NULL || res.y + height > context->height || context->free_head == NULL) { + res.prev_link = NULL; + return res; + } + + // on success, create new node + node = context->free_head; + node->x = (stbrp_coord) res.x; + node->y = (stbrp_coord) (res.y + height); + + context->free_head = node->next; + + // insert the new node into the right starting point, and + // let 'cur' point to the remaining nodes needing to be + // stiched back in + + cur = *res.prev_link; + if (cur->x < res.x) { + // preserve the existing one, so start testing with the next one + stbrp_node *next = cur->next; + cur->next = node; + cur = next; + } else { + *res.prev_link = node; + } + + // from here, traverse cur and free the nodes, until we get to one + // that shouldn't be freed + while (cur->next && cur->next->x <= res.x + width) { + stbrp_node *next = cur->next; + // move the current node to the free list + cur->next = context->free_head; + context->free_head = cur; + cur = next; + } + + // stitch the list back in + node->next = cur; + + if (cur->x < res.x + width) + cur->x = (stbrp_coord) (res.x + width); + +#ifdef _DEBUG + cur = context->active_head; + while (cur->x < context->width) { + STBRP_ASSERT(cur->x < cur->next->x); + cur = cur->next; + } + STBRP_ASSERT(cur->next == NULL); + + { + int count=0; + cur = context->active_head; + while (cur) { + cur = cur->next; + ++count; + } + cur = context->free_head; + while (cur) { + cur = cur->next; + ++count; + } + STBRP_ASSERT(count == context->num_nodes+2); + } +#endif + + return res; +} + +static int STBRP__CDECL rect_height_compare(const void *a, const void *b) +{ + const stbrp_rect *p = (const stbrp_rect *) a; + const stbrp_rect *q = (const stbrp_rect *) b; + if (p->h > q->h) + return -1; + if (p->h < q->h) + return 1; + return (p->w > q->w) ? -1 : (p->w < q->w); +} + +static int STBRP__CDECL rect_original_order(const void *a, const void *b) +{ + const stbrp_rect *p = (const stbrp_rect *) a; + const stbrp_rect *q = (const stbrp_rect *) b; + return (p->was_packed < q->was_packed) ? -1 : (p->was_packed > q->was_packed); +} + +STBRP_DEF int stbrp_pack_rects(stbrp_context *context, stbrp_rect *rects, int num_rects) +{ + int i, all_rects_packed = 1; + + // we use the 'was_packed' field internally to allow sorting/unsorting + for (i=0; i < num_rects; ++i) { + rects[i].was_packed = i; + } + + // sort according to heuristic + STBRP_SORT(rects, num_rects, sizeof(rects[0]), rect_height_compare); + + for (i=0; i < num_rects; ++i) { + if (rects[i].w == 0 || rects[i].h == 0) { + rects[i].x = rects[i].y = 0; // empty rect needs no space + } else { + stbrp__findresult fr = stbrp__skyline_pack_rectangle(context, rects[i].w, rects[i].h); + if (fr.prev_link) { + rects[i].x = (stbrp_coord) fr.x; + rects[i].y = (stbrp_coord) fr.y; + } else { + rects[i].x = rects[i].y = STBRP__MAXVAL; + } + } + } + + // unsort + STBRP_SORT(rects, num_rects, sizeof(rects[0]), rect_original_order); + + // set was_packed flags and all_rects_packed status + for (i=0; i < num_rects; ++i) { + rects[i].was_packed = !(rects[i].x == STBRP__MAXVAL && rects[i].y == STBRP__MAXVAL); + if (!rects[i].was_packed) + all_rects_packed = 0; + } + + // return the all_rects_packed status + return all_rects_packed; +} +#endif + +/* +------------------------------------------------------------------------------ +This software is available under 2 licenses -- choose whichever you prefer. +------------------------------------------------------------------------------ +ALTERNATIVE A - MIT License +Copyright (c) 2017 Sean Barrett +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies +of the Software, and to permit persons to whom the Software is furnished to do +so, subject to the following conditions: +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. +------------------------------------------------------------------------------ +ALTERNATIVE B - Public Domain (www.unlicense.org) +This is free and unencumbered software released into the public domain. +Anyone is free to copy, modify, publish, use, compile, sell, or distribute this +software, either in source code form or as a compiled binary, for any purpose, +commercial or non-commercial, and by any means. +In jurisdictions that recognize copyright laws, the author or authors of this +software dedicate any and all copyright interest in the software to the public +domain. We make this dedication for the benefit of the public at large and to +the detriment of our heirs and successors. We intend this dedication to be an +overt act of relinquishment in perpetuity of all present and future rights to +this software under copyright law. +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN +ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +------------------------------------------------------------------------------ +*/ diff --git a/MacroLibX/third_party/stb_truetype.h b/MacroLibX/third_party/stb_truetype.h new file mode 100644 index 0000000..bbf2284 --- /dev/null +++ b/MacroLibX/third_party/stb_truetype.h @@ -0,0 +1,5077 @@ +// stb_truetype.h - v1.26 - public domain +// authored from 2009-2021 by Sean Barrett / RAD Game Tools +// +// ======================================================================= +// +// NO SECURITY GUARANTEE -- DO NOT USE THIS ON UNTRUSTED FONT FILES +// +// This library does no range checking of the offsets found in the file, +// meaning an attacker can use it to read arbitrary memory. +// +// ======================================================================= +// +// This library processes TrueType files: +// parse files +// extract glyph metrics +// extract glyph shapes +// render glyphs to one-channel bitmaps with antialiasing (box filter) +// render glyphs to one-channel SDF bitmaps (signed-distance field/function) +// +// Todo: +// non-MS cmaps +// crashproof on bad data +// hinting? (no longer patented) +// cleartype-style AA? +// optimize: use simple memory allocator for intermediates +// optimize: build edge-list directly from curves +// optimize: rasterize directly from curves? +// +// ADDITIONAL CONTRIBUTORS +// +// Mikko Mononen: compound shape support, more cmap formats +// Tor Andersson: kerning, subpixel rendering +// Dougall Johnson: OpenType / Type 2 font handling +// Daniel Ribeiro Maciel: basic GPOS-based kerning +// +// Misc other: +// Ryan Gordon +// Simon Glass +// github:IntellectualKitty +// Imanol Celaya +// Daniel Ribeiro Maciel +// +// Bug/warning reports/fixes: +// "Zer" on mollyrocket Fabian "ryg" Giesen github:NiLuJe +// Cass Everitt Martins Mozeiko github:aloucks +// stoiko (Haemimont Games) Cap Petschulat github:oyvindjam +// Brian Hook Omar Cornut github:vassvik +// Walter van Niftrik Ryan Griege +// David Gow Peter LaValle +// David Given Sergey Popov +// Ivan-Assen Ivanov Giumo X. Clanjor +// Anthony Pesch Higor Euripedes +// Johan Duparc Thomas Fields +// Hou Qiming Derek Vinyard +// Rob Loach Cort Stratton +// Kenney Phillis Jr. Brian Costabile +// Ken Voskuil (kaesve) +// +// VERSION HISTORY +// +// 1.26 (2021-08-28) fix broken rasterizer +// 1.25 (2021-07-11) many fixes +// 1.24 (2020-02-05) fix warning +// 1.23 (2020-02-02) query SVG data for glyphs; query whole kerning table (but only kern not GPOS) +// 1.22 (2019-08-11) minimize missing-glyph duplication; fix kerning if both 'GPOS' and 'kern' are defined +// 1.21 (2019-02-25) fix warning +// 1.20 (2019-02-07) PackFontRange skips missing codepoints; GetScaleFontVMetrics() +// 1.19 (2018-02-11) GPOS kerning, STBTT_fmod +// 1.18 (2018-01-29) add missing function +// 1.17 (2017-07-23) make more arguments const; doc fix +// 1.16 (2017-07-12) SDF support +// 1.15 (2017-03-03) make more arguments const +// 1.14 (2017-01-16) num-fonts-in-TTC function +// 1.13 (2017-01-02) support OpenType fonts, certain Apple fonts +// 1.12 (2016-10-25) suppress warnings about casting away const with -Wcast-qual +// 1.11 (2016-04-02) fix unused-variable warning +// 1.10 (2016-04-02) user-defined fabs(); rare memory leak; remove duplicate typedef +// 1.09 (2016-01-16) warning fix; avoid crash on outofmem; use allocation userdata properly +// 1.08 (2015-09-13) document stbtt_Rasterize(); fixes for vertical & horizontal edges +// 1.07 (2015-08-01) allow PackFontRanges to accept arrays of sparse codepoints; +// variant PackFontRanges to pack and render in separate phases; +// fix stbtt_GetFontOFfsetForIndex (never worked for non-0 input?); +// fixed an assert() bug in the new rasterizer +// replace assert() with STBTT_assert() in new rasterizer +// +// Full history can be found at the end of this file. +// +// LICENSE +// +// See end of file for license information. +// +// USAGE +// +// Include this file in whatever places need to refer to it. In ONE C/C++ +// file, write: +// #define STB_TRUETYPE_IMPLEMENTATION +// before the #include of this file. This expands out the actual +// implementation into that C/C++ file. +// +// To make the implementation private to the file that generates the implementation, +// #define STBTT_STATIC +// +// Simple 3D API (don't ship this, but it's fine for tools and quick start) +// stbtt_BakeFontBitmap() -- bake a font to a bitmap for use as texture +// stbtt_GetBakedQuad() -- compute quad to draw for a given char +// +// Improved 3D API (more shippable): +// #include "stb_rect_pack.h" -- optional, but you really want it +// stbtt_PackBegin() +// stbtt_PackSetOversampling() -- for improved quality on small fonts +// stbtt_PackFontRanges() -- pack and renders +// stbtt_PackEnd() +// stbtt_GetPackedQuad() +// +// "Load" a font file from a memory buffer (you have to keep the buffer loaded) +// stbtt_InitFont() +// stbtt_GetFontOffsetForIndex() -- indexing for TTC font collections +// stbtt_GetNumberOfFonts() -- number of fonts for TTC font collections +// +// Render a unicode codepoint to a bitmap +// stbtt_GetCodepointBitmap() -- allocates and returns a bitmap +// stbtt_MakeCodepointBitmap() -- renders into bitmap you provide +// stbtt_GetCodepointBitmapBox() -- how big the bitmap must be +// +// Character advance/positioning +// stbtt_GetCodepointHMetrics() +// stbtt_GetFontVMetrics() +// stbtt_GetFontVMetricsOS2() +// stbtt_GetCodepointKernAdvance() +// +// Starting with version 1.06, the rasterizer was replaced with a new, +// faster and generally-more-precise rasterizer. The new rasterizer more +// accurately measures pixel coverage for anti-aliasing, except in the case +// where multiple shapes overlap, in which case it overestimates the AA pixel +// coverage. Thus, anti-aliasing of intersecting shapes may look wrong. If +// this turns out to be a problem, you can re-enable the old rasterizer with +// #define STBTT_RASTERIZER_VERSION 1 +// which will incur about a 15% speed hit. +// +// ADDITIONAL DOCUMENTATION +// +// Immediately after this block comment are a series of sample programs. +// +// After the sample programs is the "header file" section. This section +// includes documentation for each API function. +// +// Some important concepts to understand to use this library: +// +// Codepoint +// Characters are defined by unicode codepoints, e.g. 65 is +// uppercase A, 231 is lowercase c with a cedilla, 0x7e30 is +// the hiragana for "ma". +// +// Glyph +// A visual character shape (every codepoint is rendered as +// some glyph) +// +// Glyph index +// A font-specific integer ID representing a glyph +// +// Baseline +// Glyph shapes are defined relative to a baseline, which is the +// bottom of uppercase characters. Characters extend both above +// and below the baseline. +// +// Current Point +// As you draw text to the screen, you keep track of a "current point" +// which is the origin of each character. The current point's vertical +// position is the baseline. Even "baked fonts" use this model. +// +// Vertical Font Metrics +// The vertical qualities of the font, used to vertically position +// and space the characters. See docs for stbtt_GetFontVMetrics. +// +// Font Size in Pixels or Points +// The preferred interface for specifying font sizes in stb_truetype +// is to specify how tall the font's vertical extent should be in pixels. +// If that sounds good enough, skip the next paragraph. +// +// Most font APIs instead use "points", which are a common typographic +// measurement for describing font size, defined as 72 points per inch. +// stb_truetype provides a point API for compatibility. However, true +// "per inch" conventions don't make much sense on computer displays +// since different monitors have different number of pixels per +// inch. For example, Windows traditionally uses a convention that +// there are 96 pixels per inch, thus making 'inch' measurements have +// nothing to do with inches, and thus effectively defining a point to +// be 1.333 pixels. Additionally, the TrueType font data provides +// an explicit scale factor to scale a given font's glyphs to points, +// but the author has observed that this scale factor is often wrong +// for non-commercial fonts, thus making fonts scaled in points +// according to the TrueType spec incoherently sized in practice. +// +// DETAILED USAGE: +// +// Scale: +// Select how high you want the font to be, in points or pixels. +// Call ScaleForPixelHeight or ScaleForMappingEmToPixels to compute +// a scale factor SF that will be used by all other functions. +// +// Baseline: +// You need to select a y-coordinate that is the baseline of where +// your text will appear. Call GetFontBoundingBox to get the baseline-relative +// bounding box for all characters. SF*-y0 will be the distance in pixels +// that the worst-case character could extend above the baseline, so if +// you want the top edge of characters to appear at the top of the +// screen where y=0, then you would set the baseline to SF*-y0. +// +// Current point: +// Set the current point where the first character will appear. The +// first character could extend left of the current point; this is font +// dependent. You can either choose a current point that is the leftmost +// point and hope, or add some padding, or check the bounding box or +// left-side-bearing of the first character to be displayed and set +// the current point based on that. +// +// Displaying a character: +// Compute the bounding box of the character. It will contain signed values +// relative to . I.e. if it returns x0,y0,x1,y1, +// then the character should be displayed in the rectangle from +// to = 32 && *text < 128) { + stbtt_aligned_quad q; + stbtt_GetBakedQuad(cdata, 512,512, *text-32, &x,&y,&q,1);//1=opengl & d3d10+,0=d3d9 + glTexCoord2f(q.s0,q.t0); glVertex2f(q.x0,q.y0); + glTexCoord2f(q.s1,q.t0); glVertex2f(q.x1,q.y0); + glTexCoord2f(q.s1,q.t1); glVertex2f(q.x1,q.y1); + glTexCoord2f(q.s0,q.t1); glVertex2f(q.x0,q.y1); + } + ++text; + } + glEnd(); +} +#endif +// +// +////////////////////////////////////////////////////////////////////////////// +// +// Complete program (this compiles): get a single bitmap, print as ASCII art +// +#if 0 +#include +#define STB_TRUETYPE_IMPLEMENTATION // force following include to generate implementation +#include "stb_truetype.h" + +char ttf_buffer[1<<25]; + +int main(int argc, char **argv) +{ + stbtt_fontinfo font; + unsigned char *bitmap; + int w,h,i,j,c = (argc > 1 ? atoi(argv[1]) : 'a'), s = (argc > 2 ? atoi(argv[2]) : 20); + + fread(ttf_buffer, 1, 1<<25, fopen(argc > 3 ? argv[3] : "c:/windows/fonts/arialbd.ttf", "rb")); + + stbtt_InitFont(&font, ttf_buffer, stbtt_GetFontOffsetForIndex(ttf_buffer,0)); + bitmap = stbtt_GetCodepointBitmap(&font, 0,stbtt_ScaleForPixelHeight(&font, s), c, &w, &h, 0,0); + + for (j=0; j < h; ++j) { + for (i=0; i < w; ++i) + putchar(" .:ioVM@"[bitmap[j*w+i]>>5]); + putchar('\n'); + } + return 0; +} +#endif +// +// Output: +// +// .ii. +// @@@@@@. +// V@Mio@@o +// :i. V@V +// :oM@@M +// :@@@MM@M +// @@o o@M +// :@@. M@M +// @@@o@@@@ +// :M@@V:@@. +// +////////////////////////////////////////////////////////////////////////////// +// +// Complete program: print "Hello World!" banner, with bugs +// +#if 0 +char buffer[24<<20]; +unsigned char screen[20][79]; + +int main(int arg, char **argv) +{ + stbtt_fontinfo font; + int i,j,ascent,baseline,ch=0; + float scale, xpos=2; // leave a little padding in case the character extends left + char *text = "Heljo World!"; // intentionally misspelled to show 'lj' brokenness + + fread(buffer, 1, 1000000, fopen("c:/windows/fonts/arialbd.ttf", "rb")); + stbtt_InitFont(&font, buffer, 0); + + scale = stbtt_ScaleForPixelHeight(&font, 15); + stbtt_GetFontVMetrics(&font, &ascent,0,0); + baseline = (int) (ascent*scale); + + while (text[ch]) { + int advance,lsb,x0,y0,x1,y1; + float x_shift = xpos - (float) floor(xpos); + stbtt_GetCodepointHMetrics(&font, text[ch], &advance, &lsb); + stbtt_GetCodepointBitmapBoxSubpixel(&font, text[ch], scale,scale,x_shift,0, &x0,&y0,&x1,&y1); + stbtt_MakeCodepointBitmapSubpixel(&font, &screen[baseline + y0][(int) xpos + x0], x1-x0,y1-y0, 79, scale,scale,x_shift,0, text[ch]); + // note that this stomps the old data, so where character boxes overlap (e.g. 'lj') it's wrong + // because this API is really for baking character bitmaps into textures. if you want to render + // a sequence of characters, you really need to render each bitmap to a temp buffer, then + // "alpha blend" that into the working buffer + xpos += (advance * scale); + if (text[ch+1]) + xpos += scale*stbtt_GetCodepointKernAdvance(&font, text[ch],text[ch+1]); + ++ch; + } + + for (j=0; j < 20; ++j) { + for (i=0; i < 78; ++i) + putchar(" .:ioVM@"[screen[j][i]>>5]); + putchar('\n'); + } + + return 0; +} +#endif + + +////////////////////////////////////////////////////////////////////////////// +////////////////////////////////////////////////////////////////////////////// +//// +//// INTEGRATION WITH YOUR CODEBASE +//// +//// The following sections allow you to supply alternate definitions +//// of C library functions used by stb_truetype, e.g. if you don't +//// link with the C runtime library. + +#ifdef STB_TRUETYPE_IMPLEMENTATION + // #define your own (u)stbtt_int8/16/32 before including to override this + #ifndef stbtt_uint8 + typedef unsigned char stbtt_uint8; + typedef signed char stbtt_int8; + typedef unsigned short stbtt_uint16; + typedef signed short stbtt_int16; + typedef unsigned int stbtt_uint32; + typedef signed int stbtt_int32; + #endif + + typedef char stbtt__check_size32[sizeof(stbtt_int32)==4 ? 1 : -1]; + typedef char stbtt__check_size16[sizeof(stbtt_int16)==2 ? 1 : -1]; + + // e.g. #define your own STBTT_ifloor/STBTT_iceil() to avoid math.h + #ifndef STBTT_ifloor + #include + #define STBTT_ifloor(x) ((int) floor(x)) + #define STBTT_iceil(x) ((int) ceil(x)) + #endif + + #ifndef STBTT_sqrt + #include + #define STBTT_sqrt(x) sqrt(x) + #define STBTT_pow(x,y) pow(x,y) + #endif + + #ifndef STBTT_fmod + #include + #define STBTT_fmod(x,y) fmod(x,y) + #endif + + #ifndef STBTT_cos + #include + #define STBTT_cos(x) cos(x) + #define STBTT_acos(x) acos(x) + #endif + + #ifndef STBTT_fabs + #include + #define STBTT_fabs(x) fabs(x) + #endif + + // #define your own functions "STBTT_malloc" / "STBTT_free" to avoid malloc.h + #ifndef STBTT_malloc + #include + #define STBTT_malloc(x,u) ((void)(u),malloc(x)) + #define STBTT_free(x,u) ((void)(u),free(x)) + #endif + + #ifndef STBTT_assert + #include + #define STBTT_assert(x) assert(x) + #endif + + #ifndef STBTT_strlen + #include + #define STBTT_strlen(x) strlen(x) + #endif + + #ifndef STBTT_memcpy + #include + #define STBTT_memcpy memcpy + #define STBTT_memset memset + #endif +#endif + +/////////////////////////////////////////////////////////////////////////////// +/////////////////////////////////////////////////////////////////////////////// +//// +//// INTERFACE +//// +//// + +#ifndef __STB_INCLUDE_STB_TRUETYPE_H__ +#define __STB_INCLUDE_STB_TRUETYPE_H__ + +#ifdef STBTT_STATIC +#define STBTT_DEF static +#else +#define STBTT_DEF extern +#endif + +#ifdef __cplusplus +extern "C" { +#endif + +// private structure +typedef struct +{ + unsigned char *data; + int cursor; + int size; +} stbtt__buf; + +////////////////////////////////////////////////////////////////////////////// +// +// TEXTURE BAKING API +// +// If you use this API, you only have to call two functions ever. +// + +typedef struct +{ + unsigned short x0,y0,x1,y1; // coordinates of bbox in bitmap + float xoff,yoff,xadvance; +} stbtt_bakedchar; + +STBTT_DEF int stbtt_BakeFontBitmap(const unsigned char *data, int offset, // font location (use offset=0 for plain .ttf) + float pixel_height, // height of font in pixels + unsigned char *pixels, int pw, int ph, // bitmap to be filled in + int first_char, int num_chars, // characters to bake + stbtt_bakedchar *chardata); // you allocate this, it's num_chars long +// if return is positive, the first unused row of the bitmap +// if return is negative, returns the negative of the number of characters that fit +// if return is 0, no characters fit and no rows were used +// This uses a very crappy packing. + +typedef struct +{ + float x0,y0,s0,t0; // top-left + float x1,y1,s1,t1; // bottom-right +} stbtt_aligned_quad; + +STBTT_DEF void stbtt_GetBakedQuad(const stbtt_bakedchar *chardata, int pw, int ph, // same data as above + int char_index, // character to display + float *xpos, float *ypos, // pointers to current position in screen pixel space + stbtt_aligned_quad *q, // output: quad to draw + int opengl_fillrule); // true if opengl fill rule; false if DX9 or earlier +// Call GetBakedQuad with char_index = 'character - first_char', and it +// creates the quad you need to draw and advances the current position. +// +// The coordinate system used assumes y increases downwards. +// +// Characters will extend both above and below the current position; +// see discussion of "BASELINE" above. +// +// It's inefficient; you might want to c&p it and optimize it. + +STBTT_DEF void stbtt_GetScaledFontVMetrics(const unsigned char *fontdata, int index, float size, float *ascent, float *descent, float *lineGap); +// Query the font vertical metrics without having to create a font first. + + +////////////////////////////////////////////////////////////////////////////// +// +// NEW TEXTURE BAKING API +// +// This provides options for packing multiple fonts into one atlas, not +// perfectly but better than nothing. + +typedef struct +{ + unsigned short x0,y0,x1,y1; // coordinates of bbox in bitmap + float xoff,yoff,xadvance; + float xoff2,yoff2; +} stbtt_packedchar; + +typedef struct stbtt_pack_context stbtt_pack_context; +typedef struct stbtt_fontinfo stbtt_fontinfo; +#ifndef STB_RECT_PACK_VERSION +typedef struct stbrp_rect stbrp_rect; +#endif + +STBTT_DEF int stbtt_PackBegin(stbtt_pack_context *spc, unsigned char *pixels, int width, int height, int stride_in_bytes, int padding, void *alloc_context); +// Initializes a packing context stored in the passed-in stbtt_pack_context. +// Future calls using this context will pack characters into the bitmap passed +// in here: a 1-channel bitmap that is width * height. stride_in_bytes is +// the distance from one row to the next (or 0 to mean they are packed tightly +// together). "padding" is the amount of padding to leave between each +// character (normally you want '1' for bitmaps you'll use as textures with +// bilinear filtering). +// +// Returns 0 on failure, 1 on success. + +STBTT_DEF void stbtt_PackEnd (stbtt_pack_context *spc); +// Cleans up the packing context and frees all memory. + +#define STBTT_POINT_SIZE(x) (-(x)) + +STBTT_DEF int stbtt_PackFontRange(stbtt_pack_context *spc, const unsigned char *fontdata, int font_index, float font_size, + int first_unicode_char_in_range, int num_chars_in_range, stbtt_packedchar *chardata_for_range); +// Creates character bitmaps from the font_index'th font found in fontdata (use +// font_index=0 if you don't know what that is). It creates num_chars_in_range +// bitmaps for characters with unicode values starting at first_unicode_char_in_range +// and increasing. Data for how to render them is stored in chardata_for_range; +// pass these to stbtt_GetPackedQuad to get back renderable quads. +// +// font_size is the full height of the character from ascender to descender, +// as computed by stbtt_ScaleForPixelHeight. To use a point size as computed +// by stbtt_ScaleForMappingEmToPixels, wrap the point size in STBTT_POINT_SIZE() +// and pass that result as 'font_size': +// ..., 20 , ... // font max minus min y is 20 pixels tall +// ..., STBTT_POINT_SIZE(20), ... // 'M' is 20 pixels tall + +typedef struct +{ + float font_size; + int first_unicode_codepoint_in_range; // if non-zero, then the chars are continuous, and this is the first codepoint + int *array_of_unicode_codepoints; // if non-zero, then this is an array of unicode codepoints + int num_chars; + stbtt_packedchar *chardata_for_range; // output + unsigned char h_oversample, v_oversample; // don't set these, they're used internally +} stbtt_pack_range; + +STBTT_DEF int stbtt_PackFontRanges(stbtt_pack_context *spc, const unsigned char *fontdata, int font_index, stbtt_pack_range *ranges, int num_ranges); +// Creates character bitmaps from multiple ranges of characters stored in +// ranges. This will usually create a better-packed bitmap than multiple +// calls to stbtt_PackFontRange. Note that you can call this multiple +// times within a single PackBegin/PackEnd. + +STBTT_DEF void stbtt_PackSetOversampling(stbtt_pack_context *spc, unsigned int h_oversample, unsigned int v_oversample); +// Oversampling a font increases the quality by allowing higher-quality subpixel +// positioning, and is especially valuable at smaller text sizes. +// +// This function sets the amount of oversampling for all following calls to +// stbtt_PackFontRange(s) or stbtt_PackFontRangesGatherRects for a given +// pack context. The default (no oversampling) is achieved by h_oversample=1 +// and v_oversample=1. The total number of pixels required is +// h_oversample*v_oversample larger than the default; for example, 2x2 +// oversampling requires 4x the storage of 1x1. For best results, render +// oversampled textures with bilinear filtering. Look at the readme in +// stb/tests/oversample for information about oversampled fonts +// +// To use with PackFontRangesGather etc., you must set it before calls +// call to PackFontRangesGatherRects. + +STBTT_DEF void stbtt_PackSetSkipMissingCodepoints(stbtt_pack_context *spc, int skip); +// If skip != 0, this tells stb_truetype to skip any codepoints for which +// there is no corresponding glyph. If skip=0, which is the default, then +// codepoints without a glyph recived the font's "missing character" glyph, +// typically an empty box by convention. + +STBTT_DEF void stbtt_GetPackedQuad(const stbtt_packedchar *chardata, int pw, int ph, // same data as above + int char_index, // character to display + float *xpos, float *ypos, // pointers to current position in screen pixel space + stbtt_aligned_quad *q, // output: quad to draw + int align_to_integer); + +STBTT_DEF int stbtt_PackFontRangesGatherRects(stbtt_pack_context *spc, const stbtt_fontinfo *info, stbtt_pack_range *ranges, int num_ranges, stbrp_rect *rects); +STBTT_DEF void stbtt_PackFontRangesPackRects(stbtt_pack_context *spc, stbrp_rect *rects, int num_rects); +STBTT_DEF int stbtt_PackFontRangesRenderIntoRects(stbtt_pack_context *spc, const stbtt_fontinfo *info, stbtt_pack_range *ranges, int num_ranges, stbrp_rect *rects); +// Calling these functions in sequence is roughly equivalent to calling +// stbtt_PackFontRanges(). If you more control over the packing of multiple +// fonts, or if you want to pack custom data into a font texture, take a look +// at the source to of stbtt_PackFontRanges() and create a custom version +// using these functions, e.g. call GatherRects multiple times, +// building up a single array of rects, then call PackRects once, +// then call RenderIntoRects repeatedly. This may result in a +// better packing than calling PackFontRanges multiple times +// (or it may not). + +// this is an opaque structure that you shouldn't mess with which holds +// all the context needed from PackBegin to PackEnd. +struct stbtt_pack_context { + void *user_allocator_context; + void *pack_info; + int width; + int height; + int stride_in_bytes; + int padding; + int skip_missing; + unsigned int h_oversample, v_oversample; + unsigned char *pixels; + void *nodes; +}; + +////////////////////////////////////////////////////////////////////////////// +// +// FONT LOADING +// +// + +STBTT_DEF int stbtt_GetNumberOfFonts(const unsigned char *data); +// This function will determine the number of fonts in a font file. TrueType +// collection (.ttc) files may contain multiple fonts, while TrueType font +// (.ttf) files only contain one font. The number of fonts can be used for +// indexing with the previous function where the index is between zero and one +// less than the total fonts. If an error occurs, -1 is returned. + +STBTT_DEF int stbtt_GetFontOffsetForIndex(const unsigned char *data, int index); +// Each .ttf/.ttc file may have more than one font. Each font has a sequential +// index number starting from 0. Call this function to get the font offset for +// a given index; it returns -1 if the index is out of range. A regular .ttf +// file will only define one font and it always be at offset 0, so it will +// return '0' for index 0, and -1 for all other indices. + +// The following structure is defined publicly so you can declare one on +// the stack or as a global or etc, but you should treat it as opaque. +struct stbtt_fontinfo +{ + void * userdata; + unsigned char * data; // pointer to .ttf file + int fontstart; // offset of start of font + + int numGlyphs; // number of glyphs, needed for range checking + + int loca,head,glyf,hhea,hmtx,kern,gpos,svg; // table locations as offset from start of .ttf + int index_map; // a cmap mapping for our chosen character encoding + int indexToLocFormat; // format needed to map from glyph index to glyph + + stbtt__buf cff; // cff font data + stbtt__buf charstrings; // the charstring index + stbtt__buf gsubrs; // global charstring subroutines index + stbtt__buf subrs; // private charstring subroutines index + stbtt__buf fontdicts; // array of font dicts + stbtt__buf fdselect; // map from glyph to fontdict +}; + +STBTT_DEF int stbtt_InitFont(stbtt_fontinfo *info, const unsigned char *data, int offset); +// Given an offset into the file that defines a font, this function builds +// the necessary cached info for the rest of the system. You must allocate +// the stbtt_fontinfo yourself, and stbtt_InitFont will fill it out. You don't +// need to do anything special to free it, because the contents are pure +// value data with no additional data structures. Returns 0 on failure. + + +////////////////////////////////////////////////////////////////////////////// +// +// CHARACTER TO GLYPH-INDEX CONVERSIOn + +STBTT_DEF int stbtt_FindGlyphIndex(const stbtt_fontinfo *info, int unicode_codepoint); +// If you're going to perform multiple operations on the same character +// and you want a speed-up, call this function with the character you're +// going to process, then use glyph-based functions instead of the +// codepoint-based functions. +// Returns 0 if the character codepoint is not defined in the font. + + +////////////////////////////////////////////////////////////////////////////// +// +// CHARACTER PROPERTIES +// + +STBTT_DEF float stbtt_ScaleForPixelHeight(const stbtt_fontinfo *info, float pixels); +// computes a scale factor to produce a font whose "height" is 'pixels' tall. +// Height is measured as the distance from the highest ascender to the lowest +// descender; in other words, it's equivalent to calling stbtt_GetFontVMetrics +// and computing: +// scale = pixels / (ascent - descent) +// so if you prefer to measure height by the ascent only, use a similar calculation. + +STBTT_DEF float stbtt_ScaleForMappingEmToPixels(const stbtt_fontinfo *info, float pixels); +// computes a scale factor to produce a font whose EM size is mapped to +// 'pixels' tall. This is probably what traditional APIs compute, but +// I'm not positive. + +STBTT_DEF void stbtt_GetFontVMetrics(const stbtt_fontinfo *info, int *ascent, int *descent, int *lineGap); +// ascent is the coordinate above the baseline the font extends; descent +// is the coordinate below the baseline the font extends (i.e. it is typically negative) +// lineGap is the spacing between one row's descent and the next row's ascent... +// so you should advance the vertical position by "*ascent - *descent + *lineGap" +// these are expressed in unscaled coordinates, so you must multiply by +// the scale factor for a given size + +STBTT_DEF int stbtt_GetFontVMetricsOS2(const stbtt_fontinfo *info, int *typoAscent, int *typoDescent, int *typoLineGap); +// analogous to GetFontVMetrics, but returns the "typographic" values from the OS/2 +// table (specific to MS/Windows TTF files). +// +// Returns 1 on success (table present), 0 on failure. + +STBTT_DEF void stbtt_GetFontBoundingBox(const stbtt_fontinfo *info, int *x0, int *y0, int *x1, int *y1); +// the bounding box around all possible characters + +STBTT_DEF void stbtt_GetCodepointHMetrics(const stbtt_fontinfo *info, int codepoint, int *advanceWidth, int *leftSideBearing); +// leftSideBearing is the offset from the current horizontal position to the left edge of the character +// advanceWidth is the offset from the current horizontal position to the next horizontal position +// these are expressed in unscaled coordinates + +STBTT_DEF int stbtt_GetCodepointKernAdvance(const stbtt_fontinfo *info, int ch1, int ch2); +// an additional amount to add to the 'advance' value between ch1 and ch2 + +STBTT_DEF int stbtt_GetCodepointBox(const stbtt_fontinfo *info, int codepoint, int *x0, int *y0, int *x1, int *y1); +// Gets the bounding box of the visible part of the glyph, in unscaled coordinates + +STBTT_DEF void stbtt_GetGlyphHMetrics(const stbtt_fontinfo *info, int glyph_index, int *advanceWidth, int *leftSideBearing); +STBTT_DEF int stbtt_GetGlyphKernAdvance(const stbtt_fontinfo *info, int glyph1, int glyph2); +STBTT_DEF int stbtt_GetGlyphBox(const stbtt_fontinfo *info, int glyph_index, int *x0, int *y0, int *x1, int *y1); +// as above, but takes one or more glyph indices for greater efficiency + +typedef struct stbtt_kerningentry +{ + int glyph1; // use stbtt_FindGlyphIndex + int glyph2; + int advance; +} stbtt_kerningentry; + +STBTT_DEF int stbtt_GetKerningTableLength(const stbtt_fontinfo *info); +STBTT_DEF int stbtt_GetKerningTable(const stbtt_fontinfo *info, stbtt_kerningentry* table, int table_length); +// Retrieves a complete list of all of the kerning pairs provided by the font +// stbtt_GetKerningTable never writes more than table_length entries and returns how many entries it did write. +// The table will be sorted by (a.glyph1 == b.glyph1)?(a.glyph2 < b.glyph2):(a.glyph1 < b.glyph1) + +////////////////////////////////////////////////////////////////////////////// +// +// GLYPH SHAPES (you probably don't need these, but they have to go before +// the bitmaps for C declaration-order reasons) +// + +#ifndef STBTT_vmove // you can predefine these to use different values (but why?) + enum { + STBTT_vmove=1, + STBTT_vline, + STBTT_vcurve, + STBTT_vcubic + }; +#endif + +#ifndef stbtt_vertex // you can predefine this to use different values + // (we share this with other code at RAD) + #define stbtt_vertex_type short // can't use stbtt_int16 because that's not visible in the header file + typedef struct + { + stbtt_vertex_type x,y,cx,cy,cx1,cy1; + unsigned char type,padding; + } stbtt_vertex; +#endif + +STBTT_DEF int stbtt_IsGlyphEmpty(const stbtt_fontinfo *info, int glyph_index); +// returns non-zero if nothing is drawn for this glyph + +STBTT_DEF int stbtt_GetCodepointShape(const stbtt_fontinfo *info, int unicode_codepoint, stbtt_vertex **vertices); +STBTT_DEF int stbtt_GetGlyphShape(const stbtt_fontinfo *info, int glyph_index, stbtt_vertex **vertices); +// returns # of vertices and fills *vertices with the pointer to them +// these are expressed in "unscaled" coordinates +// +// The shape is a series of contours. Each one starts with +// a STBTT_moveto, then consists of a series of mixed +// STBTT_lineto and STBTT_curveto segments. A lineto +// draws a line from previous endpoint to its x,y; a curveto +// draws a quadratic bezier from previous endpoint to +// its x,y, using cx,cy as the bezier control point. + +STBTT_DEF void stbtt_FreeShape(const stbtt_fontinfo *info, stbtt_vertex *vertices); +// frees the data allocated above + +STBTT_DEF unsigned char *stbtt_FindSVGDoc(const stbtt_fontinfo *info, int gl); +STBTT_DEF int stbtt_GetCodepointSVG(const stbtt_fontinfo *info, int unicode_codepoint, const char **svg); +STBTT_DEF int stbtt_GetGlyphSVG(const stbtt_fontinfo *info, int gl, const char **svg); +// fills svg with the character's SVG data. +// returns data size or 0 if SVG not found. + +////////////////////////////////////////////////////////////////////////////// +// +// BITMAP RENDERING +// + +STBTT_DEF void stbtt_FreeBitmap(unsigned char *bitmap, void *userdata); +// frees the bitmap allocated below + +STBTT_DEF unsigned char *stbtt_GetCodepointBitmap(const stbtt_fontinfo *info, float scale_x, float scale_y, int codepoint, int *width, int *height, int *xoff, int *yoff); +// allocates a large-enough single-channel 8bpp bitmap and renders the +// specified character/glyph at the specified scale into it, with +// antialiasing. 0 is no coverage (transparent), 255 is fully covered (opaque). +// *width & *height are filled out with the width & height of the bitmap, +// which is stored left-to-right, top-to-bottom. +// +// xoff/yoff are the offset it pixel space from the glyph origin to the top-left of the bitmap + +STBTT_DEF unsigned char *stbtt_GetCodepointBitmapSubpixel(const stbtt_fontinfo *info, float scale_x, float scale_y, float shift_x, float shift_y, int codepoint, int *width, int *height, int *xoff, int *yoff); +// the same as stbtt_GetCodepoitnBitmap, but you can specify a subpixel +// shift for the character + +STBTT_DEF void stbtt_MakeCodepointBitmap(const stbtt_fontinfo *info, unsigned char *output, int out_w, int out_h, int out_stride, float scale_x, float scale_y, int codepoint); +// the same as stbtt_GetCodepointBitmap, but you pass in storage for the bitmap +// in the form of 'output', with row spacing of 'out_stride' bytes. the bitmap +// is clipped to out_w/out_h bytes. Call stbtt_GetCodepointBitmapBox to get the +// width and height and positioning info for it first. + +STBTT_DEF void stbtt_MakeCodepointBitmapSubpixel(const stbtt_fontinfo *info, unsigned char *output, int out_w, int out_h, int out_stride, float scale_x, float scale_y, float shift_x, float shift_y, int codepoint); +// same as stbtt_MakeCodepointBitmap, but you can specify a subpixel +// shift for the character + +STBTT_DEF void stbtt_MakeCodepointBitmapSubpixelPrefilter(const stbtt_fontinfo *info, unsigned char *output, int out_w, int out_h, int out_stride, float scale_x, float scale_y, float shift_x, float shift_y, int oversample_x, int oversample_y, float *sub_x, float *sub_y, int codepoint); +// same as stbtt_MakeCodepointBitmapSubpixel, but prefiltering +// is performed (see stbtt_PackSetOversampling) + +STBTT_DEF void stbtt_GetCodepointBitmapBox(const stbtt_fontinfo *font, int codepoint, float scale_x, float scale_y, int *ix0, int *iy0, int *ix1, int *iy1); +// get the bbox of the bitmap centered around the glyph origin; so the +// bitmap width is ix1-ix0, height is iy1-iy0, and location to place +// the bitmap top left is (leftSideBearing*scale,iy0). +// (Note that the bitmap uses y-increases-down, but the shape uses +// y-increases-up, so CodepointBitmapBox and CodepointBox are inverted.) + +STBTT_DEF void stbtt_GetCodepointBitmapBoxSubpixel(const stbtt_fontinfo *font, int codepoint, float scale_x, float scale_y, float shift_x, float shift_y, int *ix0, int *iy0, int *ix1, int *iy1); +// same as stbtt_GetCodepointBitmapBox, but you can specify a subpixel +// shift for the character + +// the following functions are equivalent to the above functions, but operate +// on glyph indices instead of Unicode codepoints (for efficiency) +STBTT_DEF unsigned char *stbtt_GetGlyphBitmap(const stbtt_fontinfo *info, float scale_x, float scale_y, int glyph, int *width, int *height, int *xoff, int *yoff); +STBTT_DEF unsigned char *stbtt_GetGlyphBitmapSubpixel(const stbtt_fontinfo *info, float scale_x, float scale_y, float shift_x, float shift_y, int glyph, int *width, int *height, int *xoff, int *yoff); +STBTT_DEF void stbtt_MakeGlyphBitmap(const stbtt_fontinfo *info, unsigned char *output, int out_w, int out_h, int out_stride, float scale_x, float scale_y, int glyph); +STBTT_DEF void stbtt_MakeGlyphBitmapSubpixel(const stbtt_fontinfo *info, unsigned char *output, int out_w, int out_h, int out_stride, float scale_x, float scale_y, float shift_x, float shift_y, int glyph); +STBTT_DEF void stbtt_MakeGlyphBitmapSubpixelPrefilter(const stbtt_fontinfo *info, unsigned char *output, int out_w, int out_h, int out_stride, float scale_x, float scale_y, float shift_x, float shift_y, int oversample_x, int oversample_y, float *sub_x, float *sub_y, int glyph); +STBTT_DEF void stbtt_GetGlyphBitmapBox(const stbtt_fontinfo *font, int glyph, float scale_x, float scale_y, int *ix0, int *iy0, int *ix1, int *iy1); +STBTT_DEF void stbtt_GetGlyphBitmapBoxSubpixel(const stbtt_fontinfo *font, int glyph, float scale_x, float scale_y,float shift_x, float shift_y, int *ix0, int *iy0, int *ix1, int *iy1); + + +// @TODO: don't expose this structure +typedef struct +{ + int w,h,stride; + unsigned char *pixels; +} stbtt__bitmap; + +// rasterize a shape with quadratic beziers into a bitmap +STBTT_DEF void stbtt_Rasterize(stbtt__bitmap *result, // 1-channel bitmap to draw into + float flatness_in_pixels, // allowable error of curve in pixels + stbtt_vertex *vertices, // array of vertices defining shape + int num_verts, // number of vertices in above array + float scale_x, float scale_y, // scale applied to input vertices + float shift_x, float shift_y, // translation applied to input vertices + int x_off, int y_off, // another translation applied to input + int invert, // if non-zero, vertically flip shape + void *userdata); // context for to STBTT_MALLOC + +////////////////////////////////////////////////////////////////////////////// +// +// Signed Distance Function (or Field) rendering + +STBTT_DEF void stbtt_FreeSDF(unsigned char *bitmap, void *userdata); +// frees the SDF bitmap allocated below + +STBTT_DEF unsigned char * stbtt_GetGlyphSDF(const stbtt_fontinfo *info, float scale, int glyph, int padding, unsigned char onedge_value, float pixel_dist_scale, int *width, int *height, int *xoff, int *yoff); +STBTT_DEF unsigned char * stbtt_GetCodepointSDF(const stbtt_fontinfo *info, float scale, int codepoint, int padding, unsigned char onedge_value, float pixel_dist_scale, int *width, int *height, int *xoff, int *yoff); +// These functions compute a discretized SDF field for a single character, suitable for storing +// in a single-channel texture, sampling with bilinear filtering, and testing against +// larger than some threshold to produce scalable fonts. +// info -- the font +// scale -- controls the size of the resulting SDF bitmap, same as it would be creating a regular bitmap +// glyph/codepoint -- the character to generate the SDF for +// padding -- extra "pixels" around the character which are filled with the distance to the character (not 0), +// which allows effects like bit outlines +// onedge_value -- value 0-255 to test the SDF against to reconstruct the character (i.e. the isocontour of the character) +// pixel_dist_scale -- what value the SDF should increase by when moving one SDF "pixel" away from the edge (on the 0..255 scale) +// if positive, > onedge_value is inside; if negative, < onedge_value is inside +// width,height -- output height & width of the SDF bitmap (including padding) +// xoff,yoff -- output origin of the character +// return value -- a 2D array of bytes 0..255, width*height in size +// +// pixel_dist_scale & onedge_value are a scale & bias that allows you to make +// optimal use of the limited 0..255 for your application, trading off precision +// and special effects. SDF values outside the range 0..255 are clamped to 0..255. +// +// Example: +// scale = stbtt_ScaleForPixelHeight(22) +// padding = 5 +// onedge_value = 180 +// pixel_dist_scale = 180/5.0 = 36.0 +// +// This will create an SDF bitmap in which the character is about 22 pixels +// high but the whole bitmap is about 22+5+5=32 pixels high. To produce a filled +// shape, sample the SDF at each pixel and fill the pixel if the SDF value +// is greater than or equal to 180/255. (You'll actually want to antialias, +// which is beyond the scope of this example.) Additionally, you can compute +// offset outlines (e.g. to stroke the character border inside & outside, +// or only outside). For example, to fill outside the character up to 3 SDF +// pixels, you would compare against (180-36.0*3)/255 = 72/255. The above +// choice of variables maps a range from 5 pixels outside the shape to +// 2 pixels inside the shape to 0..255; this is intended primarily for apply +// outside effects only (the interior range is needed to allow proper +// antialiasing of the font at *smaller* sizes) +// +// The function computes the SDF analytically at each SDF pixel, not by e.g. +// building a higher-res bitmap and approximating it. In theory the quality +// should be as high as possible for an SDF of this size & representation, but +// unclear if this is true in practice (perhaps building a higher-res bitmap +// and computing from that can allow drop-out prevention). +// +// The algorithm has not been optimized at all, so expect it to be slow +// if computing lots of characters or very large sizes. + + + +////////////////////////////////////////////////////////////////////////////// +// +// Finding the right font... +// +// You should really just solve this offline, keep your own tables +// of what font is what, and don't try to get it out of the .ttf file. +// That's because getting it out of the .ttf file is really hard, because +// the names in the file can appear in many possible encodings, in many +// possible languages, and e.g. if you need a case-insensitive comparison, +// the details of that depend on the encoding & language in a complex way +// (actually underspecified in truetype, but also gigantic). +// +// But you can use the provided functions in two possible ways: +// stbtt_FindMatchingFont() will use *case-sensitive* comparisons on +// unicode-encoded names to try to find the font you want; +// you can run this before calling stbtt_InitFont() +// +// stbtt_GetFontNameString() lets you get any of the various strings +// from the file yourself and do your own comparisons on them. +// You have to have called stbtt_InitFont() first. + + +STBTT_DEF int stbtt_FindMatchingFont(const unsigned char *fontdata, const char *name, int flags); +// returns the offset (not index) of the font that matches, or -1 if none +// if you use STBTT_MACSTYLE_DONTCARE, use a font name like "Arial Bold". +// if you use any other flag, use a font name like "Arial"; this checks +// the 'macStyle' header field; i don't know if fonts set this consistently +#define STBTT_MACSTYLE_DONTCARE 0 +#define STBTT_MACSTYLE_BOLD 1 +#define STBTT_MACSTYLE_ITALIC 2 +#define STBTT_MACSTYLE_UNDERSCORE 4 +#define STBTT_MACSTYLE_NONE 8 // <= not same as 0, this makes us check the bitfield is 0 + +STBTT_DEF int stbtt_CompareUTF8toUTF16_bigendian(const char *s1, int len1, const char *s2, int len2); +// returns 1/0 whether the first string interpreted as utf8 is identical to +// the second string interpreted as big-endian utf16... useful for strings from next func + +STBTT_DEF const char *stbtt_GetFontNameString(const stbtt_fontinfo *font, int *length, int platformID, int encodingID, int languageID, int nameID); +// returns the string (which may be big-endian double byte, e.g. for unicode) +// and puts the length in bytes in *length. +// +// some of the values for the IDs are below; for more see the truetype spec: +// http://developer.apple.com/textfonts/TTRefMan/RM06/Chap6name.html +// http://www.microsoft.com/typography/otspec/name.htm + +enum { // platformID + STBTT_PLATFORM_ID_UNICODE =0, + STBTT_PLATFORM_ID_MAC =1, + STBTT_PLATFORM_ID_ISO =2, + STBTT_PLATFORM_ID_MICROSOFT =3 +}; + +enum { // encodingID for STBTT_PLATFORM_ID_UNICODE + STBTT_UNICODE_EID_UNICODE_1_0 =0, + STBTT_UNICODE_EID_UNICODE_1_1 =1, + STBTT_UNICODE_EID_ISO_10646 =2, + STBTT_UNICODE_EID_UNICODE_2_0_BMP=3, + STBTT_UNICODE_EID_UNICODE_2_0_FULL=4 +}; + +enum { // encodingID for STBTT_PLATFORM_ID_MICROSOFT + STBTT_MS_EID_SYMBOL =0, + STBTT_MS_EID_UNICODE_BMP =1, + STBTT_MS_EID_SHIFTJIS =2, + STBTT_MS_EID_UNICODE_FULL =10 +}; + +enum { // encodingID for STBTT_PLATFORM_ID_MAC; same as Script Manager codes + STBTT_MAC_EID_ROMAN =0, STBTT_MAC_EID_ARABIC =4, + STBTT_MAC_EID_JAPANESE =1, STBTT_MAC_EID_HEBREW =5, + STBTT_MAC_EID_CHINESE_TRAD =2, STBTT_MAC_EID_GREEK =6, + STBTT_MAC_EID_KOREAN =3, STBTT_MAC_EID_RUSSIAN =7 +}; + +enum { // languageID for STBTT_PLATFORM_ID_MICROSOFT; same as LCID... + // problematic because there are e.g. 16 english LCIDs and 16 arabic LCIDs + STBTT_MS_LANG_ENGLISH =0x0409, STBTT_MS_LANG_ITALIAN =0x0410, + STBTT_MS_LANG_CHINESE =0x0804, STBTT_MS_LANG_JAPANESE =0x0411, + STBTT_MS_LANG_DUTCH =0x0413, STBTT_MS_LANG_KOREAN =0x0412, + STBTT_MS_LANG_FRENCH =0x040c, STBTT_MS_LANG_RUSSIAN =0x0419, + STBTT_MS_LANG_GERMAN =0x0407, STBTT_MS_LANG_SPANISH =0x0409, + STBTT_MS_LANG_HEBREW =0x040d, STBTT_MS_LANG_SWEDISH =0x041D +}; + +enum { // languageID for STBTT_PLATFORM_ID_MAC + STBTT_MAC_LANG_ENGLISH =0 , STBTT_MAC_LANG_JAPANESE =11, + STBTT_MAC_LANG_ARABIC =12, STBTT_MAC_LANG_KOREAN =23, + STBTT_MAC_LANG_DUTCH =4 , STBTT_MAC_LANG_RUSSIAN =32, + STBTT_MAC_LANG_FRENCH =1 , STBTT_MAC_LANG_SPANISH =6 , + STBTT_MAC_LANG_GERMAN =2 , STBTT_MAC_LANG_SWEDISH =5 , + STBTT_MAC_LANG_HEBREW =10, STBTT_MAC_LANG_CHINESE_SIMPLIFIED =33, + STBTT_MAC_LANG_ITALIAN =3 , STBTT_MAC_LANG_CHINESE_TRAD =19 +}; + +#ifdef __cplusplus +} +#endif + +#endif // __STB_INCLUDE_STB_TRUETYPE_H__ + +/////////////////////////////////////////////////////////////////////////////// +/////////////////////////////////////////////////////////////////////////////// +//// +//// IMPLEMENTATION +//// +//// + +#ifdef STB_TRUETYPE_IMPLEMENTATION + +#ifndef STBTT_MAX_OVERSAMPLE +#define STBTT_MAX_OVERSAMPLE 8 +#endif + +#if STBTT_MAX_OVERSAMPLE > 255 +#error "STBTT_MAX_OVERSAMPLE cannot be > 255" +#endif + +typedef int stbtt__test_oversample_pow2[(STBTT_MAX_OVERSAMPLE & (STBTT_MAX_OVERSAMPLE-1)) == 0 ? 1 : -1]; + +#ifndef STBTT_RASTERIZER_VERSION +#define STBTT_RASTERIZER_VERSION 2 +#endif + +#ifdef _MSC_VER +#define STBTT__NOTUSED(v) (void)(v) +#else +#define STBTT__NOTUSED(v) (void)sizeof(v) +#endif + +////////////////////////////////////////////////////////////////////////// +// +// stbtt__buf helpers to parse data from file +// + +static stbtt_uint8 stbtt__buf_get8(stbtt__buf *b) +{ + if (b->cursor >= b->size) + return 0; + return b->data[b->cursor++]; +} + +static stbtt_uint8 stbtt__buf_peek8(stbtt__buf *b) +{ + if (b->cursor >= b->size) + return 0; + return b->data[b->cursor]; +} + +static void stbtt__buf_seek(stbtt__buf *b, int o) +{ + STBTT_assert(!(o > b->size || o < 0)); + b->cursor = (o > b->size || o < 0) ? b->size : o; +} + +static void stbtt__buf_skip(stbtt__buf *b, int o) +{ + stbtt__buf_seek(b, b->cursor + o); +} + +static stbtt_uint32 stbtt__buf_get(stbtt__buf *b, int n) +{ + stbtt_uint32 v = 0; + int i; + STBTT_assert(n >= 1 && n <= 4); + for (i = 0; i < n; i++) + v = (v << 8) | stbtt__buf_get8(b); + return v; +} + +static stbtt__buf stbtt__new_buf(const void *p, size_t size) +{ + stbtt__buf r; + STBTT_assert(size < 0x40000000); + r.data = (stbtt_uint8*) p; + r.size = (int) size; + r.cursor = 0; + return r; +} + +#define stbtt__buf_get16(b) stbtt__buf_get((b), 2) +#define stbtt__buf_get32(b) stbtt__buf_get((b), 4) + +static stbtt__buf stbtt__buf_range(const stbtt__buf *b, int o, int s) +{ + stbtt__buf r = stbtt__new_buf(NULL, 0); + if (o < 0 || s < 0 || o > b->size || s > b->size - o) return r; + r.data = b->data + o; + r.size = s; + return r; +} + +static stbtt__buf stbtt__cff_get_index(stbtt__buf *b) +{ + int count, start, offsize; + start = b->cursor; + count = stbtt__buf_get16(b); + if (count) { + offsize = stbtt__buf_get8(b); + STBTT_assert(offsize >= 1 && offsize <= 4); + stbtt__buf_skip(b, offsize * count); + stbtt__buf_skip(b, stbtt__buf_get(b, offsize) - 1); + } + return stbtt__buf_range(b, start, b->cursor - start); +} + +static stbtt_uint32 stbtt__cff_int(stbtt__buf *b) +{ + int b0 = stbtt__buf_get8(b); + if (b0 >= 32 && b0 <= 246) return b0 - 139; + else if (b0 >= 247 && b0 <= 250) return (b0 - 247)*256 + stbtt__buf_get8(b) + 108; + else if (b0 >= 251 && b0 <= 254) return -(b0 - 251)*256 - stbtt__buf_get8(b) - 108; + else if (b0 == 28) return stbtt__buf_get16(b); + else if (b0 == 29) return stbtt__buf_get32(b); + STBTT_assert(0); + return 0; +} + +static void stbtt__cff_skip_operand(stbtt__buf *b) { + int v, b0 = stbtt__buf_peek8(b); + STBTT_assert(b0 >= 28); + if (b0 == 30) { + stbtt__buf_skip(b, 1); + while (b->cursor < b->size) { + v = stbtt__buf_get8(b); + if ((v & 0xF) == 0xF || (v >> 4) == 0xF) + break; + } + } else { + stbtt__cff_int(b); + } +} + +static stbtt__buf stbtt__dict_get(stbtt__buf *b, int key) +{ + stbtt__buf_seek(b, 0); + while (b->cursor < b->size) { + int start = b->cursor, end, op; + while (stbtt__buf_peek8(b) >= 28) + stbtt__cff_skip_operand(b); + end = b->cursor; + op = stbtt__buf_get8(b); + if (op == 12) op = stbtt__buf_get8(b) | 0x100; + if (op == key) return stbtt__buf_range(b, start, end-start); + } + return stbtt__buf_range(b, 0, 0); +} + +static void stbtt__dict_get_ints(stbtt__buf *b, int key, int outcount, stbtt_uint32 *out) +{ + int i; + stbtt__buf operands = stbtt__dict_get(b, key); + for (i = 0; i < outcount && operands.cursor < operands.size; i++) + out[i] = stbtt__cff_int(&operands); +} + +static int stbtt__cff_index_count(stbtt__buf *b) +{ + stbtt__buf_seek(b, 0); + return stbtt__buf_get16(b); +} + +static stbtt__buf stbtt__cff_index_get(stbtt__buf b, int i) +{ + int count, offsize, start, end; + stbtt__buf_seek(&b, 0); + count = stbtt__buf_get16(&b); + offsize = stbtt__buf_get8(&b); + STBTT_assert(i >= 0 && i < count); + STBTT_assert(offsize >= 1 && offsize <= 4); + stbtt__buf_skip(&b, i*offsize); + start = stbtt__buf_get(&b, offsize); + end = stbtt__buf_get(&b, offsize); + return stbtt__buf_range(&b, 2+(count+1)*offsize+start, end - start); +} + +////////////////////////////////////////////////////////////////////////// +// +// accessors to parse data from file +// + +// on platforms that don't allow misaligned reads, if we want to allow +// truetype fonts that aren't padded to alignment, define ALLOW_UNALIGNED_TRUETYPE + +#define ttBYTE(p) (* (stbtt_uint8 *) (p)) +#define ttCHAR(p) (* (stbtt_int8 *) (p)) +#define ttFixed(p) ttLONG(p) + +static stbtt_uint16 ttUSHORT(stbtt_uint8 *p) { return p[0]*256 + p[1]; } +static stbtt_int16 ttSHORT(stbtt_uint8 *p) { return p[0]*256 + p[1]; } +static stbtt_uint32 ttULONG(stbtt_uint8 *p) { return (p[0]<<24) + (p[1]<<16) + (p[2]<<8) + p[3]; } +static stbtt_int32 ttLONG(stbtt_uint8 *p) { return (p[0]<<24) + (p[1]<<16) + (p[2]<<8) + p[3]; } + +#define stbtt_tag4(p,c0,c1,c2,c3) ((p)[0] == (c0) && (p)[1] == (c1) && (p)[2] == (c2) && (p)[3] == (c3)) +#define stbtt_tag(p,str) stbtt_tag4(p,str[0],str[1],str[2],str[3]) + +static int stbtt__isfont(stbtt_uint8 *font) +{ + // check the version number + if (stbtt_tag4(font, '1',0,0,0)) return 1; // TrueType 1 + if (stbtt_tag(font, "typ1")) return 1; // TrueType with type 1 font -- we don't support this! + if (stbtt_tag(font, "OTTO")) return 1; // OpenType with CFF + if (stbtt_tag4(font, 0,1,0,0)) return 1; // OpenType 1.0 + if (stbtt_tag(font, "true")) return 1; // Apple specification for TrueType fonts + return 0; +} + +// @OPTIMIZE: binary search +static stbtt_uint32 stbtt__find_table(stbtt_uint8 *data, stbtt_uint32 fontstart, const char *tag) +{ + stbtt_int32 num_tables = ttUSHORT(data+fontstart+4); + stbtt_uint32 tabledir = fontstart + 12; + stbtt_int32 i; + for (i=0; i < num_tables; ++i) { + stbtt_uint32 loc = tabledir + 16*i; + if (stbtt_tag(data+loc+0, tag)) + return ttULONG(data+loc+8); + } + return 0; +} + +static int stbtt_GetFontOffsetForIndex_internal(unsigned char *font_collection, int index) +{ + // if it's just a font, there's only one valid index + if (stbtt__isfont(font_collection)) + return index == 0 ? 0 : -1; + + // check if it's a TTC + if (stbtt_tag(font_collection, "ttcf")) { + // version 1? + if (ttULONG(font_collection+4) == 0x00010000 || ttULONG(font_collection+4) == 0x00020000) { + stbtt_int32 n = ttLONG(font_collection+8); + if (index >= n) + return -1; + return ttULONG(font_collection+12+index*4); + } + } + return -1; +} + +static int stbtt_GetNumberOfFonts_internal(unsigned char *font_collection) +{ + // if it's just a font, there's only one valid font + if (stbtt__isfont(font_collection)) + return 1; + + // check if it's a TTC + if (stbtt_tag(font_collection, "ttcf")) { + // version 1? + if (ttULONG(font_collection+4) == 0x00010000 || ttULONG(font_collection+4) == 0x00020000) { + return ttLONG(font_collection+8); + } + } + return 0; +} + +static stbtt__buf stbtt__get_subrs(stbtt__buf cff, stbtt__buf fontdict) +{ + stbtt_uint32 subrsoff = 0, private_loc[2] = { 0, 0 }; + stbtt__buf pdict; + stbtt__dict_get_ints(&fontdict, 18, 2, private_loc); + if (!private_loc[1] || !private_loc[0]) return stbtt__new_buf(NULL, 0); + pdict = stbtt__buf_range(&cff, private_loc[1], private_loc[0]); + stbtt__dict_get_ints(&pdict, 19, 1, &subrsoff); + if (!subrsoff) return stbtt__new_buf(NULL, 0); + stbtt__buf_seek(&cff, private_loc[1]+subrsoff); + return stbtt__cff_get_index(&cff); +} + +// since most people won't use this, find this table the first time it's needed +static int stbtt__get_svg(stbtt_fontinfo *info) +{ + stbtt_uint32 t; + if (info->svg < 0) { + t = stbtt__find_table(info->data, info->fontstart, "SVG "); + if (t) { + stbtt_uint32 offset = ttULONG(info->data + t + 2); + info->svg = t + offset; + } else { + info->svg = 0; + } + } + return info->svg; +} + +static int stbtt_InitFont_internal(stbtt_fontinfo *info, unsigned char *data, int fontstart) +{ + stbtt_uint32 cmap, t; + stbtt_int32 i,numTables; + + info->data = data; + info->fontstart = fontstart; + info->cff = stbtt__new_buf(NULL, 0); + + cmap = stbtt__find_table(data, fontstart, "cmap"); // required + info->loca = stbtt__find_table(data, fontstart, "loca"); // required + info->head = stbtt__find_table(data, fontstart, "head"); // required + info->glyf = stbtt__find_table(data, fontstart, "glyf"); // required + info->hhea = stbtt__find_table(data, fontstart, "hhea"); // required + info->hmtx = stbtt__find_table(data, fontstart, "hmtx"); // required + info->kern = stbtt__find_table(data, fontstart, "kern"); // not required + info->gpos = stbtt__find_table(data, fontstart, "GPOS"); // not required + + if (!cmap || !info->head || !info->hhea || !info->hmtx) + return 0; + if (info->glyf) { + // required for truetype + if (!info->loca) return 0; + } else { + // initialization for CFF / Type2 fonts (OTF) + stbtt__buf b, topdict, topdictidx; + stbtt_uint32 cstype = 2, charstrings = 0, fdarrayoff = 0, fdselectoff = 0; + stbtt_uint32 cff; + + cff = stbtt__find_table(data, fontstart, "CFF "); + if (!cff) return 0; + + info->fontdicts = stbtt__new_buf(NULL, 0); + info->fdselect = stbtt__new_buf(NULL, 0); + + // @TODO this should use size from table (not 512MB) + info->cff = stbtt__new_buf(data+cff, 512*1024*1024); + b = info->cff; + + // read the header + stbtt__buf_skip(&b, 2); + stbtt__buf_seek(&b, stbtt__buf_get8(&b)); // hdrsize + + // @TODO the name INDEX could list multiple fonts, + // but we just use the first one. + stbtt__cff_get_index(&b); // name INDEX + topdictidx = stbtt__cff_get_index(&b); + topdict = stbtt__cff_index_get(topdictidx, 0); + stbtt__cff_get_index(&b); // string INDEX + info->gsubrs = stbtt__cff_get_index(&b); + + stbtt__dict_get_ints(&topdict, 17, 1, &charstrings); + stbtt__dict_get_ints(&topdict, 0x100 | 6, 1, &cstype); + stbtt__dict_get_ints(&topdict, 0x100 | 36, 1, &fdarrayoff); + stbtt__dict_get_ints(&topdict, 0x100 | 37, 1, &fdselectoff); + info->subrs = stbtt__get_subrs(b, topdict); + + // we only support Type 2 charstrings + if (cstype != 2) return 0; + if (charstrings == 0) return 0; + + if (fdarrayoff) { + // looks like a CID font + if (!fdselectoff) return 0; + stbtt__buf_seek(&b, fdarrayoff); + info->fontdicts = stbtt__cff_get_index(&b); + info->fdselect = stbtt__buf_range(&b, fdselectoff, b.size-fdselectoff); + } + + stbtt__buf_seek(&b, charstrings); + info->charstrings = stbtt__cff_get_index(&b); + } + + t = stbtt__find_table(data, fontstart, "maxp"); + if (t) + info->numGlyphs = ttUSHORT(data+t+4); + else + info->numGlyphs = 0xffff; + + info->svg = -1; + + // find a cmap encoding table we understand *now* to avoid searching + // later. (todo: could make this installable) + // the same regardless of glyph. + numTables = ttUSHORT(data + cmap + 2); + info->index_map = 0; + for (i=0; i < numTables; ++i) { + stbtt_uint32 encoding_record = cmap + 4 + 8 * i; + // find an encoding we understand: + switch(ttUSHORT(data+encoding_record)) { + case STBTT_PLATFORM_ID_MICROSOFT: + switch (ttUSHORT(data+encoding_record+2)) { + case STBTT_MS_EID_UNICODE_BMP: + case STBTT_MS_EID_UNICODE_FULL: + // MS/Unicode + info->index_map = cmap + ttULONG(data+encoding_record+4); + break; + } + break; + case STBTT_PLATFORM_ID_UNICODE: + // Mac/iOS has these + // all the encodingIDs are unicode, so we don't bother to check it + info->index_map = cmap + ttULONG(data+encoding_record+4); + break; + } + } + if (info->index_map == 0) + return 0; + + info->indexToLocFormat = ttUSHORT(data+info->head + 50); + return 1; +} + +STBTT_DEF int stbtt_FindGlyphIndex(const stbtt_fontinfo *info, int unicode_codepoint) +{ + stbtt_uint8 *data = info->data; + stbtt_uint32 index_map = info->index_map; + + stbtt_uint16 format = ttUSHORT(data + index_map + 0); + if (format == 0) { // apple byte encoding + stbtt_int32 bytes = ttUSHORT(data + index_map + 2); + if (unicode_codepoint < bytes-6) + return ttBYTE(data + index_map + 6 + unicode_codepoint); + return 0; + } else if (format == 6) { + stbtt_uint32 first = ttUSHORT(data + index_map + 6); + stbtt_uint32 count = ttUSHORT(data + index_map + 8); + if ((stbtt_uint32) unicode_codepoint >= first && (stbtt_uint32) unicode_codepoint < first+count) + return ttUSHORT(data + index_map + 10 + (unicode_codepoint - first)*2); + return 0; + } else if (format == 2) { + STBTT_assert(0); // @TODO: high-byte mapping for japanese/chinese/korean + return 0; + } else if (format == 4) { // standard mapping for windows fonts: binary search collection of ranges + stbtt_uint16 segcount = ttUSHORT(data+index_map+6) >> 1; + stbtt_uint16 searchRange = ttUSHORT(data+index_map+8) >> 1; + stbtt_uint16 entrySelector = ttUSHORT(data+index_map+10); + stbtt_uint16 rangeShift = ttUSHORT(data+index_map+12) >> 1; + + // do a binary search of the segments + stbtt_uint32 endCount = index_map + 14; + stbtt_uint32 search = endCount; + + if (unicode_codepoint > 0xffff) + return 0; + + // they lie from endCount .. endCount + segCount + // but searchRange is the nearest power of two, so... + if (unicode_codepoint >= ttUSHORT(data + search + rangeShift*2)) + search += rangeShift*2; + + // now decrement to bias correctly to find smallest + search -= 2; + while (entrySelector) { + stbtt_uint16 end; + searchRange >>= 1; + end = ttUSHORT(data + search + searchRange*2); + if (unicode_codepoint > end) + search += searchRange*2; + --entrySelector; + } + search += 2; + + { + stbtt_uint16 offset, start, last; + stbtt_uint16 item = (stbtt_uint16) ((search - endCount) >> 1); + + start = ttUSHORT(data + index_map + 14 + segcount*2 + 2 + 2*item); + last = ttUSHORT(data + endCount + 2*item); + if (unicode_codepoint < start || unicode_codepoint > last) + return 0; + + offset = ttUSHORT(data + index_map + 14 + segcount*6 + 2 + 2*item); + if (offset == 0) + return (stbtt_uint16) (unicode_codepoint + ttSHORT(data + index_map + 14 + segcount*4 + 2 + 2*item)); + + return ttUSHORT(data + offset + (unicode_codepoint-start)*2 + index_map + 14 + segcount*6 + 2 + 2*item); + } + } else if (format == 12 || format == 13) { + stbtt_uint32 ngroups = ttULONG(data+index_map+12); + stbtt_int32 low,high; + low = 0; high = (stbtt_int32)ngroups; + // Binary search the right group. + while (low < high) { + stbtt_int32 mid = low + ((high-low) >> 1); // rounds down, so low <= mid < high + stbtt_uint32 start_char = ttULONG(data+index_map+16+mid*12); + stbtt_uint32 end_char = ttULONG(data+index_map+16+mid*12+4); + if ((stbtt_uint32) unicode_codepoint < start_char) + high = mid; + else if ((stbtt_uint32) unicode_codepoint > end_char) + low = mid+1; + else { + stbtt_uint32 start_glyph = ttULONG(data+index_map+16+mid*12+8); + if (format == 12) + return start_glyph + unicode_codepoint-start_char; + else // format == 13 + return start_glyph; + } + } + return 0; // not found + } + // @TODO + STBTT_assert(0); + return 0; +} + +STBTT_DEF int stbtt_GetCodepointShape(const stbtt_fontinfo *info, int unicode_codepoint, stbtt_vertex **vertices) +{ + return stbtt_GetGlyphShape(info, stbtt_FindGlyphIndex(info, unicode_codepoint), vertices); +} + +static void stbtt_setvertex(stbtt_vertex *v, stbtt_uint8 type, stbtt_int32 x, stbtt_int32 y, stbtt_int32 cx, stbtt_int32 cy) +{ + v->type = type; + v->x = (stbtt_int16) x; + v->y = (stbtt_int16) y; + v->cx = (stbtt_int16) cx; + v->cy = (stbtt_int16) cy; +} + +static int stbtt__GetGlyfOffset(const stbtt_fontinfo *info, int glyph_index) +{ + int g1,g2; + + STBTT_assert(!info->cff.size); + + if (glyph_index >= info->numGlyphs) return -1; // glyph index out of range + if (info->indexToLocFormat >= 2) return -1; // unknown index->glyph map format + + if (info->indexToLocFormat == 0) { + g1 = info->glyf + ttUSHORT(info->data + info->loca + glyph_index * 2) * 2; + g2 = info->glyf + ttUSHORT(info->data + info->loca + glyph_index * 2 + 2) * 2; + } else { + g1 = info->glyf + ttULONG (info->data + info->loca + glyph_index * 4); + g2 = info->glyf + ttULONG (info->data + info->loca + glyph_index * 4 + 4); + } + + return g1==g2 ? -1 : g1; // if length is 0, return -1 +} + +static int stbtt__GetGlyphInfoT2(const stbtt_fontinfo *info, int glyph_index, int *x0, int *y0, int *x1, int *y1); + +STBTT_DEF int stbtt_GetGlyphBox(const stbtt_fontinfo *info, int glyph_index, int *x0, int *y0, int *x1, int *y1) +{ + if (info->cff.size) { + stbtt__GetGlyphInfoT2(info, glyph_index, x0, y0, x1, y1); + } else { + int g = stbtt__GetGlyfOffset(info, glyph_index); + if (g < 0) return 0; + + if (x0) *x0 = ttSHORT(info->data + g + 2); + if (y0) *y0 = ttSHORT(info->data + g + 4); + if (x1) *x1 = ttSHORT(info->data + g + 6); + if (y1) *y1 = ttSHORT(info->data + g + 8); + } + return 1; +} + +STBTT_DEF int stbtt_GetCodepointBox(const stbtt_fontinfo *info, int codepoint, int *x0, int *y0, int *x1, int *y1) +{ + return stbtt_GetGlyphBox(info, stbtt_FindGlyphIndex(info,codepoint), x0,y0,x1,y1); +} + +STBTT_DEF int stbtt_IsGlyphEmpty(const stbtt_fontinfo *info, int glyph_index) +{ + stbtt_int16 numberOfContours; + int g; + if (info->cff.size) + return stbtt__GetGlyphInfoT2(info, glyph_index, NULL, NULL, NULL, NULL) == 0; + g = stbtt__GetGlyfOffset(info, glyph_index); + if (g < 0) return 1; + numberOfContours = ttSHORT(info->data + g); + return numberOfContours == 0; +} + +static int stbtt__close_shape(stbtt_vertex *vertices, int num_vertices, int was_off, int start_off, + stbtt_int32 sx, stbtt_int32 sy, stbtt_int32 scx, stbtt_int32 scy, stbtt_int32 cx, stbtt_int32 cy) +{ + if (start_off) { + if (was_off) + stbtt_setvertex(&vertices[num_vertices++], STBTT_vcurve, (cx+scx)>>1, (cy+scy)>>1, cx,cy); + stbtt_setvertex(&vertices[num_vertices++], STBTT_vcurve, sx,sy,scx,scy); + } else { + if (was_off) + stbtt_setvertex(&vertices[num_vertices++], STBTT_vcurve,sx,sy,cx,cy); + else + stbtt_setvertex(&vertices[num_vertices++], STBTT_vline,sx,sy,0,0); + } + return num_vertices; +} + +static int stbtt__GetGlyphShapeTT(const stbtt_fontinfo *info, int glyph_index, stbtt_vertex **pvertices) +{ + stbtt_int16 numberOfContours; + stbtt_uint8 *endPtsOfContours; + stbtt_uint8 *data = info->data; + stbtt_vertex *vertices=0; + int num_vertices=0; + int g = stbtt__GetGlyfOffset(info, glyph_index); + + *pvertices = NULL; + + if (g < 0) return 0; + + numberOfContours = ttSHORT(data + g); + + if (numberOfContours > 0) { + stbtt_uint8 flags=0,flagcount; + stbtt_int32 ins, i,j=0,m,n, next_move, was_off=0, off, start_off=0; + stbtt_int32 x,y,cx,cy,sx,sy, scx,scy; + stbtt_uint8 *points; + endPtsOfContours = (data + g + 10); + ins = ttUSHORT(data + g + 10 + numberOfContours * 2); + points = data + g + 10 + numberOfContours * 2 + 2 + ins; + + n = 1+ttUSHORT(endPtsOfContours + numberOfContours*2-2); + + m = n + 2*numberOfContours; // a loose bound on how many vertices we might need + vertices = (stbtt_vertex *) STBTT_malloc(m * sizeof(vertices[0]), info->userdata); + if (vertices == 0) + return 0; + + next_move = 0; + flagcount=0; + + // in first pass, we load uninterpreted data into the allocated array + // above, shifted to the end of the array so we won't overwrite it when + // we create our final data starting from the front + + off = m - n; // starting offset for uninterpreted data, regardless of how m ends up being calculated + + // first load flags + + for (i=0; i < n; ++i) { + if (flagcount == 0) { + flags = *points++; + if (flags & 8) + flagcount = *points++; + } else + --flagcount; + vertices[off+i].type = flags; + } + + // now load x coordinates + x=0; + for (i=0; i < n; ++i) { + flags = vertices[off+i].type; + if (flags & 2) { + stbtt_int16 dx = *points++; + x += (flags & 16) ? dx : -dx; // ??? + } else { + if (!(flags & 16)) { + x = x + (stbtt_int16) (points[0]*256 + points[1]); + points += 2; + } + } + vertices[off+i].x = (stbtt_int16) x; + } + + // now load y coordinates + y=0; + for (i=0; i < n; ++i) { + flags = vertices[off+i].type; + if (flags & 4) { + stbtt_int16 dy = *points++; + y += (flags & 32) ? dy : -dy; // ??? + } else { + if (!(flags & 32)) { + y = y + (stbtt_int16) (points[0]*256 + points[1]); + points += 2; + } + } + vertices[off+i].y = (stbtt_int16) y; + } + + // now convert them to our format + num_vertices=0; + sx = sy = cx = cy = scx = scy = 0; + for (i=0; i < n; ++i) { + flags = vertices[off+i].type; + x = (stbtt_int16) vertices[off+i].x; + y = (stbtt_int16) vertices[off+i].y; + + if (next_move == i) { + if (i != 0) + num_vertices = stbtt__close_shape(vertices, num_vertices, was_off, start_off, sx,sy,scx,scy,cx,cy); + + // now start the new one + start_off = !(flags & 1); + if (start_off) { + // if we start off with an off-curve point, then when we need to find a point on the curve + // where we can start, and we need to save some state for when we wraparound. + scx = x; + scy = y; + if (!(vertices[off+i+1].type & 1)) { + // next point is also a curve point, so interpolate an on-point curve + sx = (x + (stbtt_int32) vertices[off+i+1].x) >> 1; + sy = (y + (stbtt_int32) vertices[off+i+1].y) >> 1; + } else { + // otherwise just use the next point as our start point + sx = (stbtt_int32) vertices[off+i+1].x; + sy = (stbtt_int32) vertices[off+i+1].y; + ++i; // we're using point i+1 as the starting point, so skip it + } + } else { + sx = x; + sy = y; + } + stbtt_setvertex(&vertices[num_vertices++], STBTT_vmove,sx,sy,0,0); + was_off = 0; + next_move = 1 + ttUSHORT(endPtsOfContours+j*2); + ++j; + } else { + if (!(flags & 1)) { // if it's a curve + if (was_off) // two off-curve control points in a row means interpolate an on-curve midpoint + stbtt_setvertex(&vertices[num_vertices++], STBTT_vcurve, (cx+x)>>1, (cy+y)>>1, cx, cy); + cx = x; + cy = y; + was_off = 1; + } else { + if (was_off) + stbtt_setvertex(&vertices[num_vertices++], STBTT_vcurve, x,y, cx, cy); + else + stbtt_setvertex(&vertices[num_vertices++], STBTT_vline, x,y,0,0); + was_off = 0; + } + } + } + num_vertices = stbtt__close_shape(vertices, num_vertices, was_off, start_off, sx,sy,scx,scy,cx,cy); + } else if (numberOfContours < 0) { + // Compound shapes. + int more = 1; + stbtt_uint8 *comp = data + g + 10; + num_vertices = 0; + vertices = 0; + while (more) { + stbtt_uint16 flags, gidx; + int comp_num_verts = 0, i; + stbtt_vertex *comp_verts = 0, *tmp = 0; + float mtx[6] = {1,0,0,1,0,0}, m, n; + + flags = ttSHORT(comp); comp+=2; + gidx = ttSHORT(comp); comp+=2; + + if (flags & 2) { // XY values + if (flags & 1) { // shorts + mtx[4] = ttSHORT(comp); comp+=2; + mtx[5] = ttSHORT(comp); comp+=2; + } else { + mtx[4] = ttCHAR(comp); comp+=1; + mtx[5] = ttCHAR(comp); comp+=1; + } + } + else { + // @TODO handle matching point + STBTT_assert(0); + } + if (flags & (1<<3)) { // WE_HAVE_A_SCALE + mtx[0] = mtx[3] = ttSHORT(comp)/16384.0f; comp+=2; + mtx[1] = mtx[2] = 0; + } else if (flags & (1<<6)) { // WE_HAVE_AN_X_AND_YSCALE + mtx[0] = ttSHORT(comp)/16384.0f; comp+=2; + mtx[1] = mtx[2] = 0; + mtx[3] = ttSHORT(comp)/16384.0f; comp+=2; + } else if (flags & (1<<7)) { // WE_HAVE_A_TWO_BY_TWO + mtx[0] = ttSHORT(comp)/16384.0f; comp+=2; + mtx[1] = ttSHORT(comp)/16384.0f; comp+=2; + mtx[2] = ttSHORT(comp)/16384.0f; comp+=2; + mtx[3] = ttSHORT(comp)/16384.0f; comp+=2; + } + + // Find transformation scales. + m = (float) STBTT_sqrt(mtx[0]*mtx[0] + mtx[1]*mtx[1]); + n = (float) STBTT_sqrt(mtx[2]*mtx[2] + mtx[3]*mtx[3]); + + // Get indexed glyph. + comp_num_verts = stbtt_GetGlyphShape(info, gidx, &comp_verts); + if (comp_num_verts > 0) { + // Transform vertices. + for (i = 0; i < comp_num_verts; ++i) { + stbtt_vertex* v = &comp_verts[i]; + stbtt_vertex_type x,y; + x=v->x; y=v->y; + v->x = (stbtt_vertex_type)(m * (mtx[0]*x + mtx[2]*y + mtx[4])); + v->y = (stbtt_vertex_type)(n * (mtx[1]*x + mtx[3]*y + mtx[5])); + x=v->cx; y=v->cy; + v->cx = (stbtt_vertex_type)(m * (mtx[0]*x + mtx[2]*y + mtx[4])); + v->cy = (stbtt_vertex_type)(n * (mtx[1]*x + mtx[3]*y + mtx[5])); + } + // Append vertices. + tmp = (stbtt_vertex*)STBTT_malloc((num_vertices+comp_num_verts)*sizeof(stbtt_vertex), info->userdata); + if (!tmp) { + if (vertices) STBTT_free(vertices, info->userdata); + if (comp_verts) STBTT_free(comp_verts, info->userdata); + return 0; + } + if (num_vertices > 0 && vertices) STBTT_memcpy(tmp, vertices, num_vertices*sizeof(stbtt_vertex)); + STBTT_memcpy(tmp+num_vertices, comp_verts, comp_num_verts*sizeof(stbtt_vertex)); + if (vertices) STBTT_free(vertices, info->userdata); + vertices = tmp; + STBTT_free(comp_verts, info->userdata); + num_vertices += comp_num_verts; + } + // More components ? + more = flags & (1<<5); + } + } else { + // numberOfCounters == 0, do nothing + } + + *pvertices = vertices; + return num_vertices; +} + +typedef struct +{ + int bounds; + int started; + float first_x, first_y; + float x, y; + stbtt_int32 min_x, max_x, min_y, max_y; + + stbtt_vertex *pvertices; + int num_vertices; +} stbtt__csctx; + +#define STBTT__CSCTX_INIT(bounds) {bounds,0, 0,0, 0,0, 0,0,0,0, NULL, 0} + +static void stbtt__track_vertex(stbtt__csctx *c, stbtt_int32 x, stbtt_int32 y) +{ + if (x > c->max_x || !c->started) c->max_x = x; + if (y > c->max_y || !c->started) c->max_y = y; + if (x < c->min_x || !c->started) c->min_x = x; + if (y < c->min_y || !c->started) c->min_y = y; + c->started = 1; +} + +static void stbtt__csctx_v(stbtt__csctx *c, stbtt_uint8 type, stbtt_int32 x, stbtt_int32 y, stbtt_int32 cx, stbtt_int32 cy, stbtt_int32 cx1, stbtt_int32 cy1) +{ + if (c->bounds) { + stbtt__track_vertex(c, x, y); + if (type == STBTT_vcubic) { + stbtt__track_vertex(c, cx, cy); + stbtt__track_vertex(c, cx1, cy1); + } + } else { + stbtt_setvertex(&c->pvertices[c->num_vertices], type, x, y, cx, cy); + c->pvertices[c->num_vertices].cx1 = (stbtt_int16) cx1; + c->pvertices[c->num_vertices].cy1 = (stbtt_int16) cy1; + } + c->num_vertices++; +} + +static void stbtt__csctx_close_shape(stbtt__csctx *ctx) +{ + if (ctx->first_x != ctx->x || ctx->first_y != ctx->y) + stbtt__csctx_v(ctx, STBTT_vline, (int)ctx->first_x, (int)ctx->first_y, 0, 0, 0, 0); +} + +static void stbtt__csctx_rmove_to(stbtt__csctx *ctx, float dx, float dy) +{ + stbtt__csctx_close_shape(ctx); + ctx->first_x = ctx->x = ctx->x + dx; + ctx->first_y = ctx->y = ctx->y + dy; + stbtt__csctx_v(ctx, STBTT_vmove, (int)ctx->x, (int)ctx->y, 0, 0, 0, 0); +} + +static void stbtt__csctx_rline_to(stbtt__csctx *ctx, float dx, float dy) +{ + ctx->x += dx; + ctx->y += dy; + stbtt__csctx_v(ctx, STBTT_vline, (int)ctx->x, (int)ctx->y, 0, 0, 0, 0); +} + +static void stbtt__csctx_rccurve_to(stbtt__csctx *ctx, float dx1, float dy1, float dx2, float dy2, float dx3, float dy3) +{ + float cx1 = ctx->x + dx1; + float cy1 = ctx->y + dy1; + float cx2 = cx1 + dx2; + float cy2 = cy1 + dy2; + ctx->x = cx2 + dx3; + ctx->y = cy2 + dy3; + stbtt__csctx_v(ctx, STBTT_vcubic, (int)ctx->x, (int)ctx->y, (int)cx1, (int)cy1, (int)cx2, (int)cy2); +} + +static stbtt__buf stbtt__get_subr(stbtt__buf idx, int n) +{ + int count = stbtt__cff_index_count(&idx); + int bias = 107; + if (count >= 33900) + bias = 32768; + else if (count >= 1240) + bias = 1131; + n += bias; + if (n < 0 || n >= count) + return stbtt__new_buf(NULL, 0); + return stbtt__cff_index_get(idx, n); +} + +static stbtt__buf stbtt__cid_get_glyph_subrs(const stbtt_fontinfo *info, int glyph_index) +{ + stbtt__buf fdselect = info->fdselect; + int nranges, start, end, v, fmt, fdselector = -1, i; + + stbtt__buf_seek(&fdselect, 0); + fmt = stbtt__buf_get8(&fdselect); + if (fmt == 0) { + // untested + stbtt__buf_skip(&fdselect, glyph_index); + fdselector = stbtt__buf_get8(&fdselect); + } else if (fmt == 3) { + nranges = stbtt__buf_get16(&fdselect); + start = stbtt__buf_get16(&fdselect); + for (i = 0; i < nranges; i++) { + v = stbtt__buf_get8(&fdselect); + end = stbtt__buf_get16(&fdselect); + if (glyph_index >= start && glyph_index < end) { + fdselector = v; + break; + } + start = end; + } + } + if (fdselector == -1) stbtt__new_buf(NULL, 0); + return stbtt__get_subrs(info->cff, stbtt__cff_index_get(info->fontdicts, fdselector)); +} + +static int stbtt__run_charstring(const stbtt_fontinfo *info, int glyph_index, stbtt__csctx *c) +{ + int in_header = 1, maskbits = 0, subr_stack_height = 0, sp = 0, v, i, b0; + int has_subrs = 0, clear_stack; + float s[48]; + stbtt__buf subr_stack[10], subrs = info->subrs, b; + float f; + +#define STBTT__CSERR(s) (0) + + // this currently ignores the initial width value, which isn't needed if we have hmtx + b = stbtt__cff_index_get(info->charstrings, glyph_index); + while (b.cursor < b.size) { + i = 0; + clear_stack = 1; + b0 = stbtt__buf_get8(&b); + switch (b0) { + // @TODO implement hinting + case 0x13: // hintmask + case 0x14: // cntrmask + if (in_header) + maskbits += (sp / 2); // implicit "vstem" + in_header = 0; + stbtt__buf_skip(&b, (maskbits + 7) / 8); + break; + + case 0x01: // hstem + case 0x03: // vstem + case 0x12: // hstemhm + case 0x17: // vstemhm + maskbits += (sp / 2); + break; + + case 0x15: // rmoveto + in_header = 0; + if (sp < 2) return STBTT__CSERR("rmoveto stack"); + stbtt__csctx_rmove_to(c, s[sp-2], s[sp-1]); + break; + case 0x04: // vmoveto + in_header = 0; + if (sp < 1) return STBTT__CSERR("vmoveto stack"); + stbtt__csctx_rmove_to(c, 0, s[sp-1]); + break; + case 0x16: // hmoveto + in_header = 0; + if (sp < 1) return STBTT__CSERR("hmoveto stack"); + stbtt__csctx_rmove_to(c, s[sp-1], 0); + break; + + case 0x05: // rlineto + if (sp < 2) return STBTT__CSERR("rlineto stack"); + for (; i + 1 < sp; i += 2) + stbtt__csctx_rline_to(c, s[i], s[i+1]); + break; + + // hlineto/vlineto and vhcurveto/hvcurveto alternate horizontal and vertical + // starting from a different place. + + case 0x07: // vlineto + if (sp < 1) return STBTT__CSERR("vlineto stack"); + goto vlineto; + case 0x06: // hlineto + if (sp < 1) return STBTT__CSERR("hlineto stack"); + for (;;) { + if (i >= sp) break; + stbtt__csctx_rline_to(c, s[i], 0); + i++; + vlineto: + if (i >= sp) break; + stbtt__csctx_rline_to(c, 0, s[i]); + i++; + } + break; + + case 0x1F: // hvcurveto + if (sp < 4) return STBTT__CSERR("hvcurveto stack"); + goto hvcurveto; + case 0x1E: // vhcurveto + if (sp < 4) return STBTT__CSERR("vhcurveto stack"); + for (;;) { + if (i + 3 >= sp) break; + stbtt__csctx_rccurve_to(c, 0, s[i], s[i+1], s[i+2], s[i+3], (sp - i == 5) ? s[i + 4] : 0.0f); + i += 4; + hvcurveto: + if (i + 3 >= sp) break; + stbtt__csctx_rccurve_to(c, s[i], 0, s[i+1], s[i+2], (sp - i == 5) ? s[i+4] : 0.0f, s[i+3]); + i += 4; + } + break; + + case 0x08: // rrcurveto + if (sp < 6) return STBTT__CSERR("rcurveline stack"); + for (; i + 5 < sp; i += 6) + stbtt__csctx_rccurve_to(c, s[i], s[i+1], s[i+2], s[i+3], s[i+4], s[i+5]); + break; + + case 0x18: // rcurveline + if (sp < 8) return STBTT__CSERR("rcurveline stack"); + for (; i + 5 < sp - 2; i += 6) + stbtt__csctx_rccurve_to(c, s[i], s[i+1], s[i+2], s[i+3], s[i+4], s[i+5]); + if (i + 1 >= sp) return STBTT__CSERR("rcurveline stack"); + stbtt__csctx_rline_to(c, s[i], s[i+1]); + break; + + case 0x19: // rlinecurve + if (sp < 8) return STBTT__CSERR("rlinecurve stack"); + for (; i + 1 < sp - 6; i += 2) + stbtt__csctx_rline_to(c, s[i], s[i+1]); + if (i + 5 >= sp) return STBTT__CSERR("rlinecurve stack"); + stbtt__csctx_rccurve_to(c, s[i], s[i+1], s[i+2], s[i+3], s[i+4], s[i+5]); + break; + + case 0x1A: // vvcurveto + case 0x1B: // hhcurveto + if (sp < 4) return STBTT__CSERR("(vv|hh)curveto stack"); + f = 0.0; + if (sp & 1) { f = s[i]; i++; } + for (; i + 3 < sp; i += 4) { + if (b0 == 0x1B) + stbtt__csctx_rccurve_to(c, s[i], f, s[i+1], s[i+2], s[i+3], 0.0); + else + stbtt__csctx_rccurve_to(c, f, s[i], s[i+1], s[i+2], 0.0, s[i+3]); + f = 0.0; + } + break; + + case 0x0A: // callsubr + if (!has_subrs) { + if (info->fdselect.size) + subrs = stbtt__cid_get_glyph_subrs(info, glyph_index); + has_subrs = 1; + } + // FALLTHROUGH + case 0x1D: // callgsubr + if (sp < 1) return STBTT__CSERR("call(g|)subr stack"); + v = (int) s[--sp]; + if (subr_stack_height >= 10) return STBTT__CSERR("recursion limit"); + subr_stack[subr_stack_height++] = b; + b = stbtt__get_subr(b0 == 0x0A ? subrs : info->gsubrs, v); + if (b.size == 0) return STBTT__CSERR("subr not found"); + b.cursor = 0; + clear_stack = 0; + break; + + case 0x0B: // return + if (subr_stack_height <= 0) return STBTT__CSERR("return outside subr"); + b = subr_stack[--subr_stack_height]; + clear_stack = 0; + break; + + case 0x0E: // endchar + stbtt__csctx_close_shape(c); + return 1; + + case 0x0C: { // two-byte escape + float dx1, dx2, dx3, dx4, dx5, dx6, dy1, dy2, dy3, dy4, dy5, dy6; + float dx, dy; + int b1 = stbtt__buf_get8(&b); + switch (b1) { + // @TODO These "flex" implementations ignore the flex-depth and resolution, + // and always draw beziers. + case 0x22: // hflex + if (sp < 7) return STBTT__CSERR("hflex stack"); + dx1 = s[0]; + dx2 = s[1]; + dy2 = s[2]; + dx3 = s[3]; + dx4 = s[4]; + dx5 = s[5]; + dx6 = s[6]; + stbtt__csctx_rccurve_to(c, dx1, 0, dx2, dy2, dx3, 0); + stbtt__csctx_rccurve_to(c, dx4, 0, dx5, -dy2, dx6, 0); + break; + + case 0x23: // flex + if (sp < 13) return STBTT__CSERR("flex stack"); + dx1 = s[0]; + dy1 = s[1]; + dx2 = s[2]; + dy2 = s[3]; + dx3 = s[4]; + dy3 = s[5]; + dx4 = s[6]; + dy4 = s[7]; + dx5 = s[8]; + dy5 = s[9]; + dx6 = s[10]; + dy6 = s[11]; + //fd is s[12] + stbtt__csctx_rccurve_to(c, dx1, dy1, dx2, dy2, dx3, dy3); + stbtt__csctx_rccurve_to(c, dx4, dy4, dx5, dy5, dx6, dy6); + break; + + case 0x24: // hflex1 + if (sp < 9) return STBTT__CSERR("hflex1 stack"); + dx1 = s[0]; + dy1 = s[1]; + dx2 = s[2]; + dy2 = s[3]; + dx3 = s[4]; + dx4 = s[5]; + dx5 = s[6]; + dy5 = s[7]; + dx6 = s[8]; + stbtt__csctx_rccurve_to(c, dx1, dy1, dx2, dy2, dx3, 0); + stbtt__csctx_rccurve_to(c, dx4, 0, dx5, dy5, dx6, -(dy1+dy2+dy5)); + break; + + case 0x25: // flex1 + if (sp < 11) return STBTT__CSERR("flex1 stack"); + dx1 = s[0]; + dy1 = s[1]; + dx2 = s[2]; + dy2 = s[3]; + dx3 = s[4]; + dy3 = s[5]; + dx4 = s[6]; + dy4 = s[7]; + dx5 = s[8]; + dy5 = s[9]; + dx6 = dy6 = s[10]; + dx = dx1+dx2+dx3+dx4+dx5; + dy = dy1+dy2+dy3+dy4+dy5; + if (STBTT_fabs(dx) > STBTT_fabs(dy)) + dy6 = -dy; + else + dx6 = -dx; + stbtt__csctx_rccurve_to(c, dx1, dy1, dx2, dy2, dx3, dy3); + stbtt__csctx_rccurve_to(c, dx4, dy4, dx5, dy5, dx6, dy6); + break; + + default: + return STBTT__CSERR("unimplemented"); + } + } break; + + default: + if (b0 != 255 && b0 != 28 && b0 < 32) + return STBTT__CSERR("reserved operator"); + + // push immediate + if (b0 == 255) { + f = (float)(stbtt_int32)stbtt__buf_get32(&b) / 0x10000; + } else { + stbtt__buf_skip(&b, -1); + f = (float)(stbtt_int16)stbtt__cff_int(&b); + } + if (sp >= 48) return STBTT__CSERR("push stack overflow"); + s[sp++] = f; + clear_stack = 0; + break; + } + if (clear_stack) sp = 0; + } + return STBTT__CSERR("no endchar"); + +#undef STBTT__CSERR +} + +static int stbtt__GetGlyphShapeT2(const stbtt_fontinfo *info, int glyph_index, stbtt_vertex **pvertices) +{ + // runs the charstring twice, once to count and once to output (to avoid realloc) + stbtt__csctx count_ctx = STBTT__CSCTX_INIT(1); + stbtt__csctx output_ctx = STBTT__CSCTX_INIT(0); + if (stbtt__run_charstring(info, glyph_index, &count_ctx)) { + *pvertices = (stbtt_vertex*)STBTT_malloc(count_ctx.num_vertices*sizeof(stbtt_vertex), info->userdata); + output_ctx.pvertices = *pvertices; + if (stbtt__run_charstring(info, glyph_index, &output_ctx)) { + STBTT_assert(output_ctx.num_vertices == count_ctx.num_vertices); + return output_ctx.num_vertices; + } + } + *pvertices = NULL; + return 0; +} + +static int stbtt__GetGlyphInfoT2(const stbtt_fontinfo *info, int glyph_index, int *x0, int *y0, int *x1, int *y1) +{ + stbtt__csctx c = STBTT__CSCTX_INIT(1); + int r = stbtt__run_charstring(info, glyph_index, &c); + if (x0) *x0 = r ? c.min_x : 0; + if (y0) *y0 = r ? c.min_y : 0; + if (x1) *x1 = r ? c.max_x : 0; + if (y1) *y1 = r ? c.max_y : 0; + return r ? c.num_vertices : 0; +} + +STBTT_DEF int stbtt_GetGlyphShape(const stbtt_fontinfo *info, int glyph_index, stbtt_vertex **pvertices) +{ + if (!info->cff.size) + return stbtt__GetGlyphShapeTT(info, glyph_index, pvertices); + else + return stbtt__GetGlyphShapeT2(info, glyph_index, pvertices); +} + +STBTT_DEF void stbtt_GetGlyphHMetrics(const stbtt_fontinfo *info, int glyph_index, int *advanceWidth, int *leftSideBearing) +{ + stbtt_uint16 numOfLongHorMetrics = ttUSHORT(info->data+info->hhea + 34); + if (glyph_index < numOfLongHorMetrics) { + if (advanceWidth) *advanceWidth = ttSHORT(info->data + info->hmtx + 4*glyph_index); + if (leftSideBearing) *leftSideBearing = ttSHORT(info->data + info->hmtx + 4*glyph_index + 2); + } else { + if (advanceWidth) *advanceWidth = ttSHORT(info->data + info->hmtx + 4*(numOfLongHorMetrics-1)); + if (leftSideBearing) *leftSideBearing = ttSHORT(info->data + info->hmtx + 4*numOfLongHorMetrics + 2*(glyph_index - numOfLongHorMetrics)); + } +} + +STBTT_DEF int stbtt_GetKerningTableLength(const stbtt_fontinfo *info) +{ + stbtt_uint8 *data = info->data + info->kern; + + // we only look at the first table. it must be 'horizontal' and format 0. + if (!info->kern) + return 0; + if (ttUSHORT(data+2) < 1) // number of tables, need at least 1 + return 0; + if (ttUSHORT(data+8) != 1) // horizontal flag must be set in format + return 0; + + return ttUSHORT(data+10); +} + +STBTT_DEF int stbtt_GetKerningTable(const stbtt_fontinfo *info, stbtt_kerningentry* table, int table_length) +{ + stbtt_uint8 *data = info->data + info->kern; + int k, length; + + // we only look at the first table. it must be 'horizontal' and format 0. + if (!info->kern) + return 0; + if (ttUSHORT(data+2) < 1) // number of tables, need at least 1 + return 0; + if (ttUSHORT(data+8) != 1) // horizontal flag must be set in format + return 0; + + length = ttUSHORT(data+10); + if (table_length < length) + length = table_length; + + for (k = 0; k < length; k++) + { + table[k].glyph1 = ttUSHORT(data+18+(k*6)); + table[k].glyph2 = ttUSHORT(data+20+(k*6)); + table[k].advance = ttSHORT(data+22+(k*6)); + } + + return length; +} + +static int stbtt__GetGlyphKernInfoAdvance(const stbtt_fontinfo *info, int glyph1, int glyph2) +{ + stbtt_uint8 *data = info->data + info->kern; + stbtt_uint32 needle, straw; + int l, r, m; + + // we only look at the first table. it must be 'horizontal' and format 0. + if (!info->kern) + return 0; + if (ttUSHORT(data+2) < 1) // number of tables, need at least 1 + return 0; + if (ttUSHORT(data+8) != 1) // horizontal flag must be set in format + return 0; + + l = 0; + r = ttUSHORT(data+10) - 1; + needle = glyph1 << 16 | glyph2; + while (l <= r) { + m = (l + r) >> 1; + straw = ttULONG(data+18+(m*6)); // note: unaligned read + if (needle < straw) + r = m - 1; + else if (needle > straw) + l = m + 1; + else + return ttSHORT(data+22+(m*6)); + } + return 0; +} + +static stbtt_int32 stbtt__GetCoverageIndex(stbtt_uint8 *coverageTable, int glyph) +{ + stbtt_uint16 coverageFormat = ttUSHORT(coverageTable); + switch (coverageFormat) { + case 1: { + stbtt_uint16 glyphCount = ttUSHORT(coverageTable + 2); + + // Binary search. + stbtt_int32 l=0, r=glyphCount-1, m; + int straw, needle=glyph; + while (l <= r) { + stbtt_uint8 *glyphArray = coverageTable + 4; + stbtt_uint16 glyphID; + m = (l + r) >> 1; + glyphID = ttUSHORT(glyphArray + 2 * m); + straw = glyphID; + if (needle < straw) + r = m - 1; + else if (needle > straw) + l = m + 1; + else { + return m; + } + } + break; + } + + case 2: { + stbtt_uint16 rangeCount = ttUSHORT(coverageTable + 2); + stbtt_uint8 *rangeArray = coverageTable + 4; + + // Binary search. + stbtt_int32 l=0, r=rangeCount-1, m; + int strawStart, strawEnd, needle=glyph; + while (l <= r) { + stbtt_uint8 *rangeRecord; + m = (l + r) >> 1; + rangeRecord = rangeArray + 6 * m; + strawStart = ttUSHORT(rangeRecord); + strawEnd = ttUSHORT(rangeRecord + 2); + if (needle < strawStart) + r = m - 1; + else if (needle > strawEnd) + l = m + 1; + else { + stbtt_uint16 startCoverageIndex = ttUSHORT(rangeRecord + 4); + return startCoverageIndex + glyph - strawStart; + } + } + break; + } + + default: return -1; // unsupported + } + + return -1; +} + +static stbtt_int32 stbtt__GetGlyphClass(stbtt_uint8 *classDefTable, int glyph) +{ + stbtt_uint16 classDefFormat = ttUSHORT(classDefTable); + switch (classDefFormat) + { + case 1: { + stbtt_uint16 startGlyphID = ttUSHORT(classDefTable + 2); + stbtt_uint16 glyphCount = ttUSHORT(classDefTable + 4); + stbtt_uint8 *classDef1ValueArray = classDefTable + 6; + + if (glyph >= startGlyphID && glyph < startGlyphID + glyphCount) + return (stbtt_int32)ttUSHORT(classDef1ValueArray + 2 * (glyph - startGlyphID)); + break; + } + + case 2: { + stbtt_uint16 classRangeCount = ttUSHORT(classDefTable + 2); + stbtt_uint8 *classRangeRecords = classDefTable + 4; + + // Binary search. + stbtt_int32 l=0, r=classRangeCount-1, m; + int strawStart, strawEnd, needle=glyph; + while (l <= r) { + stbtt_uint8 *classRangeRecord; + m = (l + r) >> 1; + classRangeRecord = classRangeRecords + 6 * m; + strawStart = ttUSHORT(classRangeRecord); + strawEnd = ttUSHORT(classRangeRecord + 2); + if (needle < strawStart) + r = m - 1; + else if (needle > strawEnd) + l = m + 1; + else + return (stbtt_int32)ttUSHORT(classRangeRecord + 4); + } + break; + } + + default: + return -1; // Unsupported definition type, return an error. + } + + // "All glyphs not assigned to a class fall into class 0". (OpenType spec) + return 0; +} + +// Define to STBTT_assert(x) if you want to break on unimplemented formats. +#define STBTT_GPOS_TODO_assert(x) + +static stbtt_int32 stbtt__GetGlyphGPOSInfoAdvance(const stbtt_fontinfo *info, int glyph1, int glyph2) +{ + stbtt_uint16 lookupListOffset; + stbtt_uint8 *lookupList; + stbtt_uint16 lookupCount; + stbtt_uint8 *data; + stbtt_int32 i, sti; + + if (!info->gpos) return 0; + + data = info->data + info->gpos; + + if (ttUSHORT(data+0) != 1) return 0; // Major version 1 + if (ttUSHORT(data+2) != 0) return 0; // Minor version 0 + + lookupListOffset = ttUSHORT(data+8); + lookupList = data + lookupListOffset; + lookupCount = ttUSHORT(lookupList); + + for (i=0; i= pairSetCount) return 0; + + needle=glyph2; + r=pairValueCount-1; + l=0; + + // Binary search. + while (l <= r) { + stbtt_uint16 secondGlyph; + stbtt_uint8 *pairValue; + m = (l + r) >> 1; + pairValue = pairValueArray + (2 + valueRecordPairSizeInBytes) * m; + secondGlyph = ttUSHORT(pairValue); + straw = secondGlyph; + if (needle < straw) + r = m - 1; + else if (needle > straw) + l = m + 1; + else { + stbtt_int16 xAdvance = ttSHORT(pairValue + 2); + return xAdvance; + } + } + } else + return 0; + break; + } + + case 2: { + stbtt_uint16 valueFormat1 = ttUSHORT(table + 4); + stbtt_uint16 valueFormat2 = ttUSHORT(table + 6); + if (valueFormat1 == 4 && valueFormat2 == 0) { // Support more formats? + stbtt_uint16 classDef1Offset = ttUSHORT(table + 8); + stbtt_uint16 classDef2Offset = ttUSHORT(table + 10); + int glyph1class = stbtt__GetGlyphClass(table + classDef1Offset, glyph1); + int glyph2class = stbtt__GetGlyphClass(table + classDef2Offset, glyph2); + + stbtt_uint16 class1Count = ttUSHORT(table + 12); + stbtt_uint16 class2Count = ttUSHORT(table + 14); + stbtt_uint8 *class1Records, *class2Records; + stbtt_int16 xAdvance; + + if (glyph1class < 0 || glyph1class >= class1Count) return 0; // malformed + if (glyph2class < 0 || glyph2class >= class2Count) return 0; // malformed + + class1Records = table + 16; + class2Records = class1Records + 2 * (glyph1class * class2Count); + xAdvance = ttSHORT(class2Records + 2 * glyph2class); + return xAdvance; + } else + return 0; + break; + } + + default: + return 0; // Unsupported position format + } + } + } + + return 0; +} + +STBTT_DEF int stbtt_GetGlyphKernAdvance(const stbtt_fontinfo *info, int g1, int g2) +{ + int xAdvance = 0; + + if (info->gpos) + xAdvance += stbtt__GetGlyphGPOSInfoAdvance(info, g1, g2); + else if (info->kern) + xAdvance += stbtt__GetGlyphKernInfoAdvance(info, g1, g2); + + return xAdvance; +} + +STBTT_DEF int stbtt_GetCodepointKernAdvance(const stbtt_fontinfo *info, int ch1, int ch2) +{ + if (!info->kern && !info->gpos) // if no kerning table, don't waste time looking up both codepoint->glyphs + return 0; + return stbtt_GetGlyphKernAdvance(info, stbtt_FindGlyphIndex(info,ch1), stbtt_FindGlyphIndex(info,ch2)); +} + +STBTT_DEF void stbtt_GetCodepointHMetrics(const stbtt_fontinfo *info, int codepoint, int *advanceWidth, int *leftSideBearing) +{ + stbtt_GetGlyphHMetrics(info, stbtt_FindGlyphIndex(info,codepoint), advanceWidth, leftSideBearing); +} + +STBTT_DEF void stbtt_GetFontVMetrics(const stbtt_fontinfo *info, int *ascent, int *descent, int *lineGap) +{ + if (ascent ) *ascent = ttSHORT(info->data+info->hhea + 4); + if (descent) *descent = ttSHORT(info->data+info->hhea + 6); + if (lineGap) *lineGap = ttSHORT(info->data+info->hhea + 8); +} + +STBTT_DEF int stbtt_GetFontVMetricsOS2(const stbtt_fontinfo *info, int *typoAscent, int *typoDescent, int *typoLineGap) +{ + int tab = stbtt__find_table(info->data, info->fontstart, "OS/2"); + if (!tab) + return 0; + if (typoAscent ) *typoAscent = ttSHORT(info->data+tab + 68); + if (typoDescent) *typoDescent = ttSHORT(info->data+tab + 70); + if (typoLineGap) *typoLineGap = ttSHORT(info->data+tab + 72); + return 1; +} + +STBTT_DEF void stbtt_GetFontBoundingBox(const stbtt_fontinfo *info, int *x0, int *y0, int *x1, int *y1) +{ + *x0 = ttSHORT(info->data + info->head + 36); + *y0 = ttSHORT(info->data + info->head + 38); + *x1 = ttSHORT(info->data + info->head + 40); + *y1 = ttSHORT(info->data + info->head + 42); +} + +STBTT_DEF float stbtt_ScaleForPixelHeight(const stbtt_fontinfo *info, float height) +{ + int fheight = ttSHORT(info->data + info->hhea + 4) - ttSHORT(info->data + info->hhea + 6); + return (float) height / fheight; +} + +STBTT_DEF float stbtt_ScaleForMappingEmToPixels(const stbtt_fontinfo *info, float pixels) +{ + int unitsPerEm = ttUSHORT(info->data + info->head + 18); + return pixels / unitsPerEm; +} + +STBTT_DEF void stbtt_FreeShape(const stbtt_fontinfo *info, stbtt_vertex *v) +{ + STBTT_free(v, info->userdata); +} + +STBTT_DEF stbtt_uint8 *stbtt_FindSVGDoc(const stbtt_fontinfo *info, int gl) +{ + int i; + stbtt_uint8 *data = info->data; + stbtt_uint8 *svg_doc_list = data + stbtt__get_svg((stbtt_fontinfo *) info); + + int numEntries = ttUSHORT(svg_doc_list); + stbtt_uint8 *svg_docs = svg_doc_list + 2; + + for(i=0; i= ttUSHORT(svg_doc)) && (gl <= ttUSHORT(svg_doc + 2))) + return svg_doc; + } + return 0; +} + +STBTT_DEF int stbtt_GetGlyphSVG(const stbtt_fontinfo *info, int gl, const char **svg) +{ + stbtt_uint8 *data = info->data; + stbtt_uint8 *svg_doc; + + if (info->svg == 0) + return 0; + + svg_doc = stbtt_FindSVGDoc(info, gl); + if (svg_doc != NULL) { + *svg = (char *) data + info->svg + ttULONG(svg_doc + 4); + return ttULONG(svg_doc + 8); + } else { + return 0; + } +} + +STBTT_DEF int stbtt_GetCodepointSVG(const stbtt_fontinfo *info, int unicode_codepoint, const char **svg) +{ + return stbtt_GetGlyphSVG(info, stbtt_FindGlyphIndex(info, unicode_codepoint), svg); +} + +////////////////////////////////////////////////////////////////////////////// +// +// antialiasing software rasterizer +// + +STBTT_DEF void stbtt_GetGlyphBitmapBoxSubpixel(const stbtt_fontinfo *font, int glyph, float scale_x, float scale_y,float shift_x, float shift_y, int *ix0, int *iy0, int *ix1, int *iy1) +{ + int x0=0,y0=0,x1,y1; // =0 suppresses compiler warning + if (!stbtt_GetGlyphBox(font, glyph, &x0,&y0,&x1,&y1)) { + // e.g. space character + if (ix0) *ix0 = 0; + if (iy0) *iy0 = 0; + if (ix1) *ix1 = 0; + if (iy1) *iy1 = 0; + } else { + // move to integral bboxes (treating pixels as little squares, what pixels get touched)? + if (ix0) *ix0 = STBTT_ifloor( x0 * scale_x + shift_x); + if (iy0) *iy0 = STBTT_ifloor(-y1 * scale_y + shift_y); + if (ix1) *ix1 = STBTT_iceil ( x1 * scale_x + shift_x); + if (iy1) *iy1 = STBTT_iceil (-y0 * scale_y + shift_y); + } +} + +STBTT_DEF void stbtt_GetGlyphBitmapBox(const stbtt_fontinfo *font, int glyph, float scale_x, float scale_y, int *ix0, int *iy0, int *ix1, int *iy1) +{ + stbtt_GetGlyphBitmapBoxSubpixel(font, glyph, scale_x, scale_y,0.0f,0.0f, ix0, iy0, ix1, iy1); +} + +STBTT_DEF void stbtt_GetCodepointBitmapBoxSubpixel(const stbtt_fontinfo *font, int codepoint, float scale_x, float scale_y, float shift_x, float shift_y, int *ix0, int *iy0, int *ix1, int *iy1) +{ + stbtt_GetGlyphBitmapBoxSubpixel(font, stbtt_FindGlyphIndex(font,codepoint), scale_x, scale_y,shift_x,shift_y, ix0,iy0,ix1,iy1); +} + +STBTT_DEF void stbtt_GetCodepointBitmapBox(const stbtt_fontinfo *font, int codepoint, float scale_x, float scale_y, int *ix0, int *iy0, int *ix1, int *iy1) +{ + stbtt_GetCodepointBitmapBoxSubpixel(font, codepoint, scale_x, scale_y,0.0f,0.0f, ix0,iy0,ix1,iy1); +} + +////////////////////////////////////////////////////////////////////////////// +// +// Rasterizer + +typedef struct stbtt__hheap_chunk +{ + struct stbtt__hheap_chunk *next; +} stbtt__hheap_chunk; + +typedef struct stbtt__hheap +{ + struct stbtt__hheap_chunk *head; + void *first_free; + int num_remaining_in_head_chunk; +} stbtt__hheap; + +static void *stbtt__hheap_alloc(stbtt__hheap *hh, size_t size, void *userdata) +{ + if (hh->first_free) { + void *p = hh->first_free; + hh->first_free = * (void **) p; + return p; + } else { + if (hh->num_remaining_in_head_chunk == 0) { + int count = (size < 32 ? 2000 : size < 128 ? 800 : 100); + stbtt__hheap_chunk *c = (stbtt__hheap_chunk *) STBTT_malloc(sizeof(stbtt__hheap_chunk) + size * count, userdata); + if (c == NULL) + return NULL; + c->next = hh->head; + hh->head = c; + hh->num_remaining_in_head_chunk = count; + } + --hh->num_remaining_in_head_chunk; + return (char *) (hh->head) + sizeof(stbtt__hheap_chunk) + size * hh->num_remaining_in_head_chunk; + } +} + +static void stbtt__hheap_free(stbtt__hheap *hh, void *p) +{ + *(void **) p = hh->first_free; + hh->first_free = p; +} + +static void stbtt__hheap_cleanup(stbtt__hheap *hh, void *userdata) +{ + stbtt__hheap_chunk *c = hh->head; + while (c) { + stbtt__hheap_chunk *n = c->next; + STBTT_free(c, userdata); + c = n; + } +} + +typedef struct stbtt__edge { + float x0,y0, x1,y1; + int invert; +} stbtt__edge; + + +typedef struct stbtt__active_edge +{ + struct stbtt__active_edge *next; + #if STBTT_RASTERIZER_VERSION==1 + int x,dx; + float ey; + int direction; + #elif STBTT_RASTERIZER_VERSION==2 + float fx,fdx,fdy; + float direction; + float sy; + float ey; + #else + #error "Unrecognized value of STBTT_RASTERIZER_VERSION" + #endif +} stbtt__active_edge; + +#if STBTT_RASTERIZER_VERSION == 1 +#define STBTT_FIXSHIFT 10 +#define STBTT_FIX (1 << STBTT_FIXSHIFT) +#define STBTT_FIXMASK (STBTT_FIX-1) + +static stbtt__active_edge *stbtt__new_active(stbtt__hheap *hh, stbtt__edge *e, int off_x, float start_point, void *userdata) +{ + stbtt__active_edge *z = (stbtt__active_edge *) stbtt__hheap_alloc(hh, sizeof(*z), userdata); + float dxdy = (e->x1 - e->x0) / (e->y1 - e->y0); + STBTT_assert(z != NULL); + if (!z) return z; + + // round dx down to avoid overshooting + if (dxdy < 0) + z->dx = -STBTT_ifloor(STBTT_FIX * -dxdy); + else + z->dx = STBTT_ifloor(STBTT_FIX * dxdy); + + z->x = STBTT_ifloor(STBTT_FIX * e->x0 + z->dx * (start_point - e->y0)); // use z->dx so when we offset later it's by the same amount + z->x -= off_x * STBTT_FIX; + + z->ey = e->y1; + z->next = 0; + z->direction = e->invert ? 1 : -1; + return z; +} +#elif STBTT_RASTERIZER_VERSION == 2 +static stbtt__active_edge *stbtt__new_active(stbtt__hheap *hh, stbtt__edge *e, int off_x, float start_point, void *userdata) +{ + stbtt__active_edge *z = (stbtt__active_edge *) stbtt__hheap_alloc(hh, sizeof(*z), userdata); + float dxdy = (e->x1 - e->x0) / (e->y1 - e->y0); + STBTT_assert(z != NULL); + //STBTT_assert(e->y0 <= start_point); + if (!z) return z; + z->fdx = dxdy; + z->fdy = dxdy != 0.0f ? (1.0f/dxdy) : 0.0f; + z->fx = e->x0 + dxdy * (start_point - e->y0); + z->fx -= off_x; + z->direction = e->invert ? 1.0f : -1.0f; + z->sy = e->y0; + z->ey = e->y1; + z->next = 0; + return z; +} +#else +#error "Unrecognized value of STBTT_RASTERIZER_VERSION" +#endif + +#if STBTT_RASTERIZER_VERSION == 1 +// note: this routine clips fills that extend off the edges... ideally this +// wouldn't happen, but it could happen if the truetype glyph bounding boxes +// are wrong, or if the user supplies a too-small bitmap +static void stbtt__fill_active_edges(unsigned char *scanline, int len, stbtt__active_edge *e, int max_weight) +{ + // non-zero winding fill + int x0=0, w=0; + + while (e) { + if (w == 0) { + // if we're currently at zero, we need to record the edge start point + x0 = e->x; w += e->direction; + } else { + int x1 = e->x; w += e->direction; + // if we went to zero, we need to draw + if (w == 0) { + int i = x0 >> STBTT_FIXSHIFT; + int j = x1 >> STBTT_FIXSHIFT; + + if (i < len && j >= 0) { + if (i == j) { + // x0,x1 are the same pixel, so compute combined coverage + scanline[i] = scanline[i] + (stbtt_uint8) ((x1 - x0) * max_weight >> STBTT_FIXSHIFT); + } else { + if (i >= 0) // add antialiasing for x0 + scanline[i] = scanline[i] + (stbtt_uint8) (((STBTT_FIX - (x0 & STBTT_FIXMASK)) * max_weight) >> STBTT_FIXSHIFT); + else + i = -1; // clip + + if (j < len) // add antialiasing for x1 + scanline[j] = scanline[j] + (stbtt_uint8) (((x1 & STBTT_FIXMASK) * max_weight) >> STBTT_FIXSHIFT); + else + j = len; // clip + + for (++i; i < j; ++i) // fill pixels between x0 and x1 + scanline[i] = scanline[i] + (stbtt_uint8) max_weight; + } + } + } + } + + e = e->next; + } +} + +static void stbtt__rasterize_sorted_edges(stbtt__bitmap *result, stbtt__edge *e, int n, int vsubsample, int off_x, int off_y, void *userdata) +{ + stbtt__hheap hh = { 0, 0, 0 }; + stbtt__active_edge *active = NULL; + int y,j=0; + int max_weight = (255 / vsubsample); // weight per vertical scanline + int s; // vertical subsample index + unsigned char scanline_data[512], *scanline; + + if (result->w > 512) + scanline = (unsigned char *) STBTT_malloc(result->w, userdata); + else + scanline = scanline_data; + + y = off_y * vsubsample; + e[n].y0 = (off_y + result->h) * (float) vsubsample + 1; + + while (j < result->h) { + STBTT_memset(scanline, 0, result->w); + for (s=0; s < vsubsample; ++s) { + // find center of pixel for this scanline + float scan_y = y + 0.5f; + stbtt__active_edge **step = &active; + + // update all active edges; + // remove all active edges that terminate before the center of this scanline + while (*step) { + stbtt__active_edge * z = *step; + if (z->ey <= scan_y) { + *step = z->next; // delete from list + STBTT_assert(z->direction); + z->direction = 0; + stbtt__hheap_free(&hh, z); + } else { + z->x += z->dx; // advance to position for current scanline + step = &((*step)->next); // advance through list + } + } + + // resort the list if needed + for(;;) { + int changed=0; + step = &active; + while (*step && (*step)->next) { + if ((*step)->x > (*step)->next->x) { + stbtt__active_edge *t = *step; + stbtt__active_edge *q = t->next; + + t->next = q->next; + q->next = t; + *step = q; + changed = 1; + } + step = &(*step)->next; + } + if (!changed) break; + } + + // insert all edges that start before the center of this scanline -- omit ones that also end on this scanline + while (e->y0 <= scan_y) { + if (e->y1 > scan_y) { + stbtt__active_edge *z = stbtt__new_active(&hh, e, off_x, scan_y, userdata); + if (z != NULL) { + // find insertion point + if (active == NULL) + active = z; + else if (z->x < active->x) { + // insert at front + z->next = active; + active = z; + } else { + // find thing to insert AFTER + stbtt__active_edge *p = active; + while (p->next && p->next->x < z->x) + p = p->next; + // at this point, p->next->x is NOT < z->x + z->next = p->next; + p->next = z; + } + } + } + ++e; + } + + // now process all active edges in XOR fashion + if (active) + stbtt__fill_active_edges(scanline, result->w, active, max_weight); + + ++y; + } + STBTT_memcpy(result->pixels + j * result->stride, scanline, result->w); + ++j; + } + + stbtt__hheap_cleanup(&hh, userdata); + + if (scanline != scanline_data) + STBTT_free(scanline, userdata); +} + +#elif STBTT_RASTERIZER_VERSION == 2 + +// the edge passed in here does not cross the vertical line at x or the vertical line at x+1 +// (i.e. it has already been clipped to those) +static void stbtt__handle_clipped_edge(float *scanline, int x, stbtt__active_edge *e, float x0, float y0, float x1, float y1) +{ + if (y0 == y1) return; + STBTT_assert(y0 < y1); + STBTT_assert(e->sy <= e->ey); + if (y0 > e->ey) return; + if (y1 < e->sy) return; + if (y0 < e->sy) { + x0 += (x1-x0) * (e->sy - y0) / (y1-y0); + y0 = e->sy; + } + if (y1 > e->ey) { + x1 += (x1-x0) * (e->ey - y1) / (y1-y0); + y1 = e->ey; + } + + if (x0 == x) + STBTT_assert(x1 <= x+1); + else if (x0 == x+1) + STBTT_assert(x1 >= x); + else if (x0 <= x) + STBTT_assert(x1 <= x); + else if (x0 >= x+1) + STBTT_assert(x1 >= x+1); + else + STBTT_assert(x1 >= x && x1 <= x+1); + + if (x0 <= x && x1 <= x) + scanline[x] += e->direction * (y1-y0); + else if (x0 >= x+1 && x1 >= x+1) + ; + else { + STBTT_assert(x0 >= x && x0 <= x+1 && x1 >= x && x1 <= x+1); + scanline[x] += e->direction * (y1-y0) * (1-((x0-x)+(x1-x))/2); // coverage = 1 - average x position + } +} + +static float stbtt__sized_trapezoid_area(float height, float top_width, float bottom_width) +{ + STBTT_assert(top_width >= 0); + STBTT_assert(bottom_width >= 0); + return (top_width + bottom_width) / 2.0f * height; +} + +static float stbtt__position_trapezoid_area(float height, float tx0, float tx1, float bx0, float bx1) +{ + return stbtt__sized_trapezoid_area(height, tx1 - tx0, bx1 - bx0); +} + +static float stbtt__sized_triangle_area(float height, float width) +{ + return height * width / 2; +} + +static void stbtt__fill_active_edges_new(float *scanline, float *scanline_fill, int len, stbtt__active_edge *e, float y_top) +{ + float y_bottom = y_top+1; + + while (e) { + // brute force every pixel + + // compute intersection points with top & bottom + STBTT_assert(e->ey >= y_top); + + if (e->fdx == 0) { + float x0 = e->fx; + if (x0 < len) { + if (x0 >= 0) { + stbtt__handle_clipped_edge(scanline,(int) x0,e, x0,y_top, x0,y_bottom); + stbtt__handle_clipped_edge(scanline_fill-1,(int) x0+1,e, x0,y_top, x0,y_bottom); + } else { + stbtt__handle_clipped_edge(scanline_fill-1,0,e, x0,y_top, x0,y_bottom); + } + } + } else { + float x0 = e->fx; + float dx = e->fdx; + float xb = x0 + dx; + float x_top, x_bottom; + float sy0,sy1; + float dy = e->fdy; + STBTT_assert(e->sy <= y_bottom && e->ey >= y_top); + + // compute endpoints of line segment clipped to this scanline (if the + // line segment starts on this scanline. x0 is the intersection of the + // line with y_top, but that may be off the line segment. + if (e->sy > y_top) { + x_top = x0 + dx * (e->sy - y_top); + sy0 = e->sy; + } else { + x_top = x0; + sy0 = y_top; + } + if (e->ey < y_bottom) { + x_bottom = x0 + dx * (e->ey - y_top); + sy1 = e->ey; + } else { + x_bottom = xb; + sy1 = y_bottom; + } + + if (x_top >= 0 && x_bottom >= 0 && x_top < len && x_bottom < len) { + // from here on, we don't have to range check x values + + if ((int) x_top == (int) x_bottom) { + float height; + // simple case, only spans one pixel + int x = (int) x_top; + height = (sy1 - sy0) * e->direction; + STBTT_assert(x >= 0 && x < len); + scanline[x] += stbtt__position_trapezoid_area(height, x_top, x+1.0f, x_bottom, x+1.0f); + scanline_fill[x] += height; // everything right of this pixel is filled + } else { + int x,x1,x2; + float y_crossing, y_final, step, sign, area; + // covers 2+ pixels + if (x_top > x_bottom) { + // flip scanline vertically; signed area is the same + float t; + sy0 = y_bottom - (sy0 - y_top); + sy1 = y_bottom - (sy1 - y_top); + t = sy0, sy0 = sy1, sy1 = t; + t = x_bottom, x_bottom = x_top, x_top = t; + dx = -dx; + dy = -dy; + t = x0, x0 = xb, xb = t; + } + STBTT_assert(dy >= 0); + STBTT_assert(dx >= 0); + + x1 = (int) x_top; + x2 = (int) x_bottom; + // compute intersection with y axis at x1+1 + y_crossing = y_top + dy * (x1+1 - x0); + + // compute intersection with y axis at x2 + y_final = y_top + dy * (x2 - x0); + + // x1 x_top x2 x_bottom + // y_top +------|-----+------------+------------+--------|---+------------+ + // | | | | | | + // | | | | | | + // sy0 | Txxxxx|............|............|............|............| + // y_crossing | *xxxxx.......|............|............|............| + // | | xxxxx..|............|............|............| + // | | /- xx*xxxx........|............|............| + // | | dy < | xxxxxx..|............|............| + // y_final | | \- | xx*xxx.........|............| + // sy1 | | | | xxxxxB...|............| + // | | | | | | + // | | | | | | + // y_bottom +------------+------------+------------+------------+------------+ + // + // goal is to measure the area covered by '.' in each pixel + + // if x2 is right at the right edge of x1, y_crossing can blow up, github #1057 + // @TODO: maybe test against sy1 rather than y_bottom? + if (y_crossing > y_bottom) + y_crossing = y_bottom; + + sign = e->direction; + + // area of the rectangle covered from sy0..y_crossing + area = sign * (y_crossing-sy0); + + // area of the triangle (x_top,sy0), (x1+1,sy0), (x1+1,y_crossing) + scanline[x1] += stbtt__sized_triangle_area(area, x1+1 - x_top); + + // check if final y_crossing is blown up; no test case for this + if (y_final > y_bottom) { + y_final = y_bottom; + dy = (y_final - y_crossing ) / (x2 - (x1+1)); // if denom=0, y_final = y_crossing, so y_final <= y_bottom + } + + // in second pixel, area covered by line segment found in first pixel + // is always a rectangle 1 wide * the height of that line segment; this + // is exactly what the variable 'area' stores. it also gets a contribution + // from the line segment within it. the THIRD pixel will get the first + // pixel's rectangle contribution, the second pixel's rectangle contribution, + // and its own contribution. the 'own contribution' is the same in every pixel except + // the leftmost and rightmost, a trapezoid that slides down in each pixel. + // the second pixel's contribution to the third pixel will be the + // rectangle 1 wide times the height change in the second pixel, which is dy. + + step = sign * dy * 1; // dy is dy/dx, change in y for every 1 change in x, + // which multiplied by 1-pixel-width is how much pixel area changes for each step in x + // so the area advances by 'step' every time + + for (x = x1+1; x < x2; ++x) { + scanline[x] += area + step/2; // area of trapezoid is 1*step/2 + area += step; + } + STBTT_assert(STBTT_fabs(area) <= 1.01f); // accumulated error from area += step unless we round step down + STBTT_assert(sy1 > y_final-0.01f); + + // area covered in the last pixel is the rectangle from all the pixels to the left, + // plus the trapezoid filled by the line segment in this pixel all the way to the right edge + scanline[x2] += area + sign * stbtt__position_trapezoid_area(sy1-y_final, (float) x2, x2+1.0f, x_bottom, x2+1.0f); + + // the rest of the line is filled based on the total height of the line segment in this pixel + scanline_fill[x2] += sign * (sy1-sy0); + } + } else { + // if edge goes outside of box we're drawing, we require + // clipping logic. since this does not match the intended use + // of this library, we use a different, very slow brute + // force implementation + // note though that this does happen some of the time because + // x_top and x_bottom can be extrapolated at the top & bottom of + // the shape and actually lie outside the bounding box + int x; + for (x=0; x < len; ++x) { + // cases: + // + // there can be up to two intersections with the pixel. any intersection + // with left or right edges can be handled by splitting into two (or three) + // regions. intersections with top & bottom do not necessitate case-wise logic. + // + // the old way of doing this found the intersections with the left & right edges, + // then used some simple logic to produce up to three segments in sorted order + // from top-to-bottom. however, this had a problem: if an x edge was epsilon + // across the x border, then the corresponding y position might not be distinct + // from the other y segment, and it might ignored as an empty segment. to avoid + // that, we need to explicitly produce segments based on x positions. + + // rename variables to clearly-defined pairs + float y0 = y_top; + float x1 = (float) (x); + float x2 = (float) (x+1); + float x3 = xb; + float y3 = y_bottom; + + // x = e->x + e->dx * (y-y_top) + // (y-y_top) = (x - e->x) / e->dx + // y = (x - e->x) / e->dx + y_top + float y1 = (x - x0) / dx + y_top; + float y2 = (x+1 - x0) / dx + y_top; + + if (x0 < x1 && x3 > x2) { // three segments descending down-right + stbtt__handle_clipped_edge(scanline,x,e, x0,y0, x1,y1); + stbtt__handle_clipped_edge(scanline,x,e, x1,y1, x2,y2); + stbtt__handle_clipped_edge(scanline,x,e, x2,y2, x3,y3); + } else if (x3 < x1 && x0 > x2) { // three segments descending down-left + stbtt__handle_clipped_edge(scanline,x,e, x0,y0, x2,y2); + stbtt__handle_clipped_edge(scanline,x,e, x2,y2, x1,y1); + stbtt__handle_clipped_edge(scanline,x,e, x1,y1, x3,y3); + } else if (x0 < x1 && x3 > x1) { // two segments across x, down-right + stbtt__handle_clipped_edge(scanline,x,e, x0,y0, x1,y1); + stbtt__handle_clipped_edge(scanline,x,e, x1,y1, x3,y3); + } else if (x3 < x1 && x0 > x1) { // two segments across x, down-left + stbtt__handle_clipped_edge(scanline,x,e, x0,y0, x1,y1); + stbtt__handle_clipped_edge(scanline,x,e, x1,y1, x3,y3); + } else if (x0 < x2 && x3 > x2) { // two segments across x+1, down-right + stbtt__handle_clipped_edge(scanline,x,e, x0,y0, x2,y2); + stbtt__handle_clipped_edge(scanline,x,e, x2,y2, x3,y3); + } else if (x3 < x2 && x0 > x2) { // two segments across x+1, down-left + stbtt__handle_clipped_edge(scanline,x,e, x0,y0, x2,y2); + stbtt__handle_clipped_edge(scanline,x,e, x2,y2, x3,y3); + } else { // one segment + stbtt__handle_clipped_edge(scanline,x,e, x0,y0, x3,y3); + } + } + } + } + e = e->next; + } +} + +// directly AA rasterize edges w/o supersampling +static void stbtt__rasterize_sorted_edges(stbtt__bitmap *result, stbtt__edge *e, int n, int vsubsample, int off_x, int off_y, void *userdata) +{ + stbtt__hheap hh = { 0, 0, 0 }; + stbtt__active_edge *active = NULL; + int y,j=0, i; + float scanline_data[129], *scanline, *scanline2; + + STBTT__NOTUSED(vsubsample); + + if (result->w > 64) + scanline = (float *) STBTT_malloc((result->w*2+1) * sizeof(float), userdata); + else + scanline = scanline_data; + + scanline2 = scanline + result->w; + + y = off_y; + e[n].y0 = (float) (off_y + result->h) + 1; + + while (j < result->h) { + // find center of pixel for this scanline + float scan_y_top = y + 0.0f; + float scan_y_bottom = y + 1.0f; + stbtt__active_edge **step = &active; + + STBTT_memset(scanline , 0, result->w*sizeof(scanline[0])); + STBTT_memset(scanline2, 0, (result->w+1)*sizeof(scanline[0])); + + // update all active edges; + // remove all active edges that terminate before the top of this scanline + while (*step) { + stbtt__active_edge * z = *step; + if (z->ey <= scan_y_top) { + *step = z->next; // delete from list + STBTT_assert(z->direction); + z->direction = 0; + stbtt__hheap_free(&hh, z); + } else { + step = &((*step)->next); // advance through list + } + } + + // insert all edges that start before the bottom of this scanline + while (e->y0 <= scan_y_bottom) { + if (e->y0 != e->y1) { + stbtt__active_edge *z = stbtt__new_active(&hh, e, off_x, scan_y_top, userdata); + if (z != NULL) { + if (j == 0 && off_y != 0) { + if (z->ey < scan_y_top) { + // this can happen due to subpixel positioning and some kind of fp rounding error i think + z->ey = scan_y_top; + } + } + STBTT_assert(z->ey >= scan_y_top); // if we get really unlucky a tiny bit of an edge can be out of bounds + // insert at front + z->next = active; + active = z; + } + } + ++e; + } + + // now process all active edges + if (active) + stbtt__fill_active_edges_new(scanline, scanline2+1, result->w, active, scan_y_top); + + { + float sum = 0; + for (i=0; i < result->w; ++i) { + float k; + int m; + sum += scanline2[i]; + k = scanline[i] + sum; + k = (float) STBTT_fabs(k)*255 + 0.5f; + m = (int) k; + if (m > 255) m = 255; + result->pixels[j*result->stride + i] = (unsigned char) m; + } + } + // advance all the edges + step = &active; + while (*step) { + stbtt__active_edge *z = *step; + z->fx += z->fdx; // advance to position for current scanline + step = &((*step)->next); // advance through list + } + + ++y; + ++j; + } + + stbtt__hheap_cleanup(&hh, userdata); + + if (scanline != scanline_data) + STBTT_free(scanline, userdata); +} +#else +#error "Unrecognized value of STBTT_RASTERIZER_VERSION" +#endif + +#define STBTT__COMPARE(a,b) ((a)->y0 < (b)->y0) + +static void stbtt__sort_edges_ins_sort(stbtt__edge *p, int n) +{ + int i,j; + for (i=1; i < n; ++i) { + stbtt__edge t = p[i], *a = &t; + j = i; + while (j > 0) { + stbtt__edge *b = &p[j-1]; + int c = STBTT__COMPARE(a,b); + if (!c) break; + p[j] = p[j-1]; + --j; + } + if (i != j) + p[j] = t; + } +} + +static void stbtt__sort_edges_quicksort(stbtt__edge *p, int n) +{ + /* threshold for transitioning to insertion sort */ + while (n > 12) { + stbtt__edge t; + int c01,c12,c,m,i,j; + + /* compute median of three */ + m = n >> 1; + c01 = STBTT__COMPARE(&p[0],&p[m]); + c12 = STBTT__COMPARE(&p[m],&p[n-1]); + /* if 0 >= mid >= end, or 0 < mid < end, then use mid */ + if (c01 != c12) { + /* otherwise, we'll need to swap something else to middle */ + int z; + c = STBTT__COMPARE(&p[0],&p[n-1]); + /* 0>mid && midn => n; 0 0 */ + /* 0n: 0>n => 0; 0 n */ + z = (c == c12) ? 0 : n-1; + t = p[z]; + p[z] = p[m]; + p[m] = t; + } + /* now p[m] is the median-of-three */ + /* swap it to the beginning so it won't move around */ + t = p[0]; + p[0] = p[m]; + p[m] = t; + + /* partition loop */ + i=1; + j=n-1; + for(;;) { + /* handling of equality is crucial here */ + /* for sentinels & efficiency with duplicates */ + for (;;++i) { + if (!STBTT__COMPARE(&p[i], &p[0])) break; + } + for (;;--j) { + if (!STBTT__COMPARE(&p[0], &p[j])) break; + } + /* make sure we haven't crossed */ + if (i >= j) break; + t = p[i]; + p[i] = p[j]; + p[j] = t; + + ++i; + --j; + } + /* recurse on smaller side, iterate on larger */ + if (j < (n-i)) { + stbtt__sort_edges_quicksort(p,j); + p = p+i; + n = n-i; + } else { + stbtt__sort_edges_quicksort(p+i, n-i); + n = j; + } + } +} + +static void stbtt__sort_edges(stbtt__edge *p, int n) +{ + stbtt__sort_edges_quicksort(p, n); + stbtt__sort_edges_ins_sort(p, n); +} + +typedef struct +{ + float x,y; +} stbtt__point; + +static void stbtt__rasterize(stbtt__bitmap *result, stbtt__point *pts, int *wcount, int windings, float scale_x, float scale_y, float shift_x, float shift_y, int off_x, int off_y, int invert, void *userdata) +{ + float y_scale_inv = invert ? -scale_y : scale_y; + stbtt__edge *e; + int n,i,j,k,m; +#if STBTT_RASTERIZER_VERSION == 1 + int vsubsample = result->h < 8 ? 15 : 5; +#elif STBTT_RASTERIZER_VERSION == 2 + int vsubsample = 1; +#else + #error "Unrecognized value of STBTT_RASTERIZER_VERSION" +#endif + // vsubsample should divide 255 evenly; otherwise we won't reach full opacity + + // now we have to blow out the windings into explicit edge lists + n = 0; + for (i=0; i < windings; ++i) + n += wcount[i]; + + e = (stbtt__edge *) STBTT_malloc(sizeof(*e) * (n+1), userdata); // add an extra one as a sentinel + if (e == 0) return; + n = 0; + + m=0; + for (i=0; i < windings; ++i) { + stbtt__point *p = pts + m; + m += wcount[i]; + j = wcount[i]-1; + for (k=0; k < wcount[i]; j=k++) { + int a=k,b=j; + // skip the edge if horizontal + if (p[j].y == p[k].y) + continue; + // add edge from j to k to the list + e[n].invert = 0; + if (invert ? p[j].y > p[k].y : p[j].y < p[k].y) { + e[n].invert = 1; + a=j,b=k; + } + e[n].x0 = p[a].x * scale_x + shift_x; + e[n].y0 = (p[a].y * y_scale_inv + shift_y) * vsubsample; + e[n].x1 = p[b].x * scale_x + shift_x; + e[n].y1 = (p[b].y * y_scale_inv + shift_y) * vsubsample; + ++n; + } + } + + // now sort the edges by their highest point (should snap to integer, and then by x) + //STBTT_sort(e, n, sizeof(e[0]), stbtt__edge_compare); + stbtt__sort_edges(e, n); + + // now, traverse the scanlines and find the intersections on each scanline, use xor winding rule + stbtt__rasterize_sorted_edges(result, e, n, vsubsample, off_x, off_y, userdata); + + STBTT_free(e, userdata); +} + +static void stbtt__add_point(stbtt__point *points, int n, float x, float y) +{ + if (!points) return; // during first pass, it's unallocated + points[n].x = x; + points[n].y = y; +} + +// tessellate until threshold p is happy... @TODO warped to compensate for non-linear stretching +static int stbtt__tesselate_curve(stbtt__point *points, int *num_points, float x0, float y0, float x1, float y1, float x2, float y2, float objspace_flatness_squared, int n) +{ + // midpoint + float mx = (x0 + 2*x1 + x2)/4; + float my = (y0 + 2*y1 + y2)/4; + // versus directly drawn line + float dx = (x0+x2)/2 - mx; + float dy = (y0+y2)/2 - my; + if (n > 16) // 65536 segments on one curve better be enough! + return 1; + if (dx*dx+dy*dy > objspace_flatness_squared) { // half-pixel error allowed... need to be smaller if AA + stbtt__tesselate_curve(points, num_points, x0,y0, (x0+x1)/2.0f,(y0+y1)/2.0f, mx,my, objspace_flatness_squared,n+1); + stbtt__tesselate_curve(points, num_points, mx,my, (x1+x2)/2.0f,(y1+y2)/2.0f, x2,y2, objspace_flatness_squared,n+1); + } else { + stbtt__add_point(points, *num_points,x2,y2); + *num_points = *num_points+1; + } + return 1; +} + +static void stbtt__tesselate_cubic(stbtt__point *points, int *num_points, float x0, float y0, float x1, float y1, float x2, float y2, float x3, float y3, float objspace_flatness_squared, int n) +{ + // @TODO this "flatness" calculation is just made-up nonsense that seems to work well enough + float dx0 = x1-x0; + float dy0 = y1-y0; + float dx1 = x2-x1; + float dy1 = y2-y1; + float dx2 = x3-x2; + float dy2 = y3-y2; + float dx = x3-x0; + float dy = y3-y0; + float longlen = (float) (STBTT_sqrt(dx0*dx0+dy0*dy0)+STBTT_sqrt(dx1*dx1+dy1*dy1)+STBTT_sqrt(dx2*dx2+dy2*dy2)); + float shortlen = (float) STBTT_sqrt(dx*dx+dy*dy); + float flatness_squared = longlen*longlen-shortlen*shortlen; + + if (n > 16) // 65536 segments on one curve better be enough! + return; + + if (flatness_squared > objspace_flatness_squared) { + float x01 = (x0+x1)/2; + float y01 = (y0+y1)/2; + float x12 = (x1+x2)/2; + float y12 = (y1+y2)/2; + float x23 = (x2+x3)/2; + float y23 = (y2+y3)/2; + + float xa = (x01+x12)/2; + float ya = (y01+y12)/2; + float xb = (x12+x23)/2; + float yb = (y12+y23)/2; + + float mx = (xa+xb)/2; + float my = (ya+yb)/2; + + stbtt__tesselate_cubic(points, num_points, x0,y0, x01,y01, xa,ya, mx,my, objspace_flatness_squared,n+1); + stbtt__tesselate_cubic(points, num_points, mx,my, xb,yb, x23,y23, x3,y3, objspace_flatness_squared,n+1); + } else { + stbtt__add_point(points, *num_points,x3,y3); + *num_points = *num_points+1; + } +} + +// returns number of contours +static stbtt__point *stbtt_FlattenCurves(stbtt_vertex *vertices, int num_verts, float objspace_flatness, int **contour_lengths, int *num_contours, void *userdata) +{ + stbtt__point *points=0; + int num_points=0; + + float objspace_flatness_squared = objspace_flatness * objspace_flatness; + int i,n=0,start=0, pass; + + // count how many "moves" there are to get the contour count + for (i=0; i < num_verts; ++i) + if (vertices[i].type == STBTT_vmove) + ++n; + + *num_contours = n; + if (n == 0) return 0; + + *contour_lengths = (int *) STBTT_malloc(sizeof(**contour_lengths) * n, userdata); + + if (*contour_lengths == 0) { + *num_contours = 0; + return 0; + } + + // make two passes through the points so we don't need to realloc + for (pass=0; pass < 2; ++pass) { + float x=0,y=0; + if (pass == 1) { + points = (stbtt__point *) STBTT_malloc(num_points * sizeof(points[0]), userdata); + if (points == NULL) goto error; + } + num_points = 0; + n= -1; + for (i=0; i < num_verts; ++i) { + switch (vertices[i].type) { + case STBTT_vmove: + // start the next contour + if (n >= 0) + (*contour_lengths)[n] = num_points - start; + ++n; + start = num_points; + + x = vertices[i].x, y = vertices[i].y; + stbtt__add_point(points, num_points++, x,y); + break; + case STBTT_vline: + x = vertices[i].x, y = vertices[i].y; + stbtt__add_point(points, num_points++, x, y); + break; + case STBTT_vcurve: + stbtt__tesselate_curve(points, &num_points, x,y, + vertices[i].cx, vertices[i].cy, + vertices[i].x, vertices[i].y, + objspace_flatness_squared, 0); + x = vertices[i].x, y = vertices[i].y; + break; + case STBTT_vcubic: + stbtt__tesselate_cubic(points, &num_points, x,y, + vertices[i].cx, vertices[i].cy, + vertices[i].cx1, vertices[i].cy1, + vertices[i].x, vertices[i].y, + objspace_flatness_squared, 0); + x = vertices[i].x, y = vertices[i].y; + break; + } + } + (*contour_lengths)[n] = num_points - start; + } + + return points; +error: + STBTT_free(points, userdata); + STBTT_free(*contour_lengths, userdata); + *contour_lengths = 0; + *num_contours = 0; + return NULL; +} + +STBTT_DEF void stbtt_Rasterize(stbtt__bitmap *result, float flatness_in_pixels, stbtt_vertex *vertices, int num_verts, float scale_x, float scale_y, float shift_x, float shift_y, int x_off, int y_off, int invert, void *userdata) +{ + float scale = scale_x > scale_y ? scale_y : scale_x; + int winding_count = 0; + int *winding_lengths = NULL; + stbtt__point *windings = stbtt_FlattenCurves(vertices, num_verts, flatness_in_pixels / scale, &winding_lengths, &winding_count, userdata); + if (windings) { + stbtt__rasterize(result, windings, winding_lengths, winding_count, scale_x, scale_y, shift_x, shift_y, x_off, y_off, invert, userdata); + STBTT_free(winding_lengths, userdata); + STBTT_free(windings, userdata); + } +} + +STBTT_DEF void stbtt_FreeBitmap(unsigned char *bitmap, void *userdata) +{ + STBTT_free(bitmap, userdata); +} + +STBTT_DEF unsigned char *stbtt_GetGlyphBitmapSubpixel(const stbtt_fontinfo *info, float scale_x, float scale_y, float shift_x, float shift_y, int glyph, int *width, int *height, int *xoff, int *yoff) +{ + int ix0,iy0,ix1,iy1; + stbtt__bitmap gbm; + stbtt_vertex *vertices; + int num_verts = stbtt_GetGlyphShape(info, glyph, &vertices); + + if (scale_x == 0) scale_x = scale_y; + if (scale_y == 0) { + if (scale_x == 0) { + STBTT_free(vertices, info->userdata); + return NULL; + } + scale_y = scale_x; + } + + stbtt_GetGlyphBitmapBoxSubpixel(info, glyph, scale_x, scale_y, shift_x, shift_y, &ix0,&iy0,&ix1,&iy1); + + // now we get the size + gbm.w = (ix1 - ix0); + gbm.h = (iy1 - iy0); + gbm.pixels = NULL; // in case we error + + if (width ) *width = gbm.w; + if (height) *height = gbm.h; + if (xoff ) *xoff = ix0; + if (yoff ) *yoff = iy0; + + if (gbm.w && gbm.h) { + gbm.pixels = (unsigned char *) STBTT_malloc(gbm.w * gbm.h, info->userdata); + if (gbm.pixels) { + gbm.stride = gbm.w; + + stbtt_Rasterize(&gbm, 0.35f, vertices, num_verts, scale_x, scale_y, shift_x, shift_y, ix0, iy0, 1, info->userdata); + } + } + STBTT_free(vertices, info->userdata); + return gbm.pixels; +} + +STBTT_DEF unsigned char *stbtt_GetGlyphBitmap(const stbtt_fontinfo *info, float scale_x, float scale_y, int glyph, int *width, int *height, int *xoff, int *yoff) +{ + return stbtt_GetGlyphBitmapSubpixel(info, scale_x, scale_y, 0.0f, 0.0f, glyph, width, height, xoff, yoff); +} + +STBTT_DEF void stbtt_MakeGlyphBitmapSubpixel(const stbtt_fontinfo *info, unsigned char *output, int out_w, int out_h, int out_stride, float scale_x, float scale_y, float shift_x, float shift_y, int glyph) +{ + int ix0,iy0; + stbtt_vertex *vertices; + int num_verts = stbtt_GetGlyphShape(info, glyph, &vertices); + stbtt__bitmap gbm; + + stbtt_GetGlyphBitmapBoxSubpixel(info, glyph, scale_x, scale_y, shift_x, shift_y, &ix0,&iy0,0,0); + gbm.pixels = output; + gbm.w = out_w; + gbm.h = out_h; + gbm.stride = out_stride; + + if (gbm.w && gbm.h) + stbtt_Rasterize(&gbm, 0.35f, vertices, num_verts, scale_x, scale_y, shift_x, shift_y, ix0,iy0, 1, info->userdata); + + STBTT_free(vertices, info->userdata); +} + +STBTT_DEF void stbtt_MakeGlyphBitmap(const stbtt_fontinfo *info, unsigned char *output, int out_w, int out_h, int out_stride, float scale_x, float scale_y, int glyph) +{ + stbtt_MakeGlyphBitmapSubpixel(info, output, out_w, out_h, out_stride, scale_x, scale_y, 0.0f,0.0f, glyph); +} + +STBTT_DEF unsigned char *stbtt_GetCodepointBitmapSubpixel(const stbtt_fontinfo *info, float scale_x, float scale_y, float shift_x, float shift_y, int codepoint, int *width, int *height, int *xoff, int *yoff) +{ + return stbtt_GetGlyphBitmapSubpixel(info, scale_x, scale_y,shift_x,shift_y, stbtt_FindGlyphIndex(info,codepoint), width,height,xoff,yoff); +} + +STBTT_DEF void stbtt_MakeCodepointBitmapSubpixelPrefilter(const stbtt_fontinfo *info, unsigned char *output, int out_w, int out_h, int out_stride, float scale_x, float scale_y, float shift_x, float shift_y, int oversample_x, int oversample_y, float *sub_x, float *sub_y, int codepoint) +{ + stbtt_MakeGlyphBitmapSubpixelPrefilter(info, output, out_w, out_h, out_stride, scale_x, scale_y, shift_x, shift_y, oversample_x, oversample_y, sub_x, sub_y, stbtt_FindGlyphIndex(info,codepoint)); +} + +STBTT_DEF void stbtt_MakeCodepointBitmapSubpixel(const stbtt_fontinfo *info, unsigned char *output, int out_w, int out_h, int out_stride, float scale_x, float scale_y, float shift_x, float shift_y, int codepoint) +{ + stbtt_MakeGlyphBitmapSubpixel(info, output, out_w, out_h, out_stride, scale_x, scale_y, shift_x, shift_y, stbtt_FindGlyphIndex(info,codepoint)); +} + +STBTT_DEF unsigned char *stbtt_GetCodepointBitmap(const stbtt_fontinfo *info, float scale_x, float scale_y, int codepoint, int *width, int *height, int *xoff, int *yoff) +{ + return stbtt_GetCodepointBitmapSubpixel(info, scale_x, scale_y, 0.0f,0.0f, codepoint, width,height,xoff,yoff); +} + +STBTT_DEF void stbtt_MakeCodepointBitmap(const stbtt_fontinfo *info, unsigned char *output, int out_w, int out_h, int out_stride, float scale_x, float scale_y, int codepoint) +{ + stbtt_MakeCodepointBitmapSubpixel(info, output, out_w, out_h, out_stride, scale_x, scale_y, 0.0f,0.0f, codepoint); +} + +////////////////////////////////////////////////////////////////////////////// +// +// bitmap baking +// +// This is SUPER-CRAPPY packing to keep source code small + +static int stbtt_BakeFontBitmap_internal(unsigned char *data, int offset, // font location (use offset=0 for plain .ttf) + float pixel_height, // height of font in pixels + unsigned char *pixels, int pw, int ph, // bitmap to be filled in + int first_char, int num_chars, // characters to bake + stbtt_bakedchar *chardata) +{ + float scale; + int x,y,bottom_y, i; + stbtt_fontinfo f; + f.userdata = NULL; + if (!stbtt_InitFont(&f, data, offset)) + return -1; + STBTT_memset(pixels, 0, pw*ph); // background of 0 around pixels + x=y=1; + bottom_y = 1; + + scale = stbtt_ScaleForPixelHeight(&f, pixel_height); + + for (i=0; i < num_chars; ++i) { + int advance, lsb, x0,y0,x1,y1,gw,gh; + int g = stbtt_FindGlyphIndex(&f, first_char + i); + stbtt_GetGlyphHMetrics(&f, g, &advance, &lsb); + stbtt_GetGlyphBitmapBox(&f, g, scale,scale, &x0,&y0,&x1,&y1); + gw = x1-x0; + gh = y1-y0; + if (x + gw + 1 >= pw) + y = bottom_y, x = 1; // advance to next row + if (y + gh + 1 >= ph) // check if it fits vertically AFTER potentially moving to next row + return -i; + STBTT_assert(x+gw < pw); + STBTT_assert(y+gh < ph); + stbtt_MakeGlyphBitmap(&f, pixels+x+y*pw, gw,gh,pw, scale,scale, g); + chardata[i].x0 = (stbtt_int16) x; + chardata[i].y0 = (stbtt_int16) y; + chardata[i].x1 = (stbtt_int16) (x + gw); + chardata[i].y1 = (stbtt_int16) (y + gh); + chardata[i].xadvance = scale * advance; + chardata[i].xoff = (float) x0; + chardata[i].yoff = (float) y0; + x = x + gw + 1; + if (y+gh+1 > bottom_y) + bottom_y = y+gh+1; + } + return bottom_y; +} + +STBTT_DEF void stbtt_GetBakedQuad(const stbtt_bakedchar *chardata, int pw, int ph, int char_index, float *xpos, float *ypos, stbtt_aligned_quad *q, int opengl_fillrule) +{ + float d3d_bias = opengl_fillrule ? 0 : -0.5f; + float ipw = 1.0f / pw, iph = 1.0f / ph; + const stbtt_bakedchar *b = chardata + char_index; + int round_x = STBTT_ifloor((*xpos + b->xoff) + 0.5f); + int round_y = STBTT_ifloor((*ypos + b->yoff) + 0.5f); + + q->x0 = round_x + d3d_bias; + q->y0 = round_y + d3d_bias; + q->x1 = round_x + b->x1 - b->x0 + d3d_bias; + q->y1 = round_y + b->y1 - b->y0 + d3d_bias; + + q->s0 = b->x0 * ipw; + q->t0 = b->y0 * iph; + q->s1 = b->x1 * ipw; + q->t1 = b->y1 * iph; + + *xpos += b->xadvance; +} + +////////////////////////////////////////////////////////////////////////////// +// +// rectangle packing replacement routines if you don't have stb_rect_pack.h +// + +#ifndef STB_RECT_PACK_VERSION + +typedef int stbrp_coord; + +//////////////////////////////////////////////////////////////////////////////////// +// // +// // +// COMPILER WARNING ?!?!? // +// // +// // +// if you get a compile warning due to these symbols being defined more than // +// once, move #include "stb_rect_pack.h" before #include "stb_truetype.h" // +// // +//////////////////////////////////////////////////////////////////////////////////// + +typedef struct +{ + int width,height; + int x,y,bottom_y; +} stbrp_context; + +typedef struct +{ + unsigned char x; +} stbrp_node; + +struct stbrp_rect +{ + stbrp_coord x,y; + int id,w,h,was_packed; +}; + +static void stbrp_init_target(stbrp_context *con, int pw, int ph, stbrp_node *nodes, int num_nodes) +{ + con->width = pw; + con->height = ph; + con->x = 0; + con->y = 0; + con->bottom_y = 0; + STBTT__NOTUSED(nodes); + STBTT__NOTUSED(num_nodes); +} + +static void stbrp_pack_rects(stbrp_context *con, stbrp_rect *rects, int num_rects) +{ + int i; + for (i=0; i < num_rects; ++i) { + if (con->x + rects[i].w > con->width) { + con->x = 0; + con->y = con->bottom_y; + } + if (con->y + rects[i].h > con->height) + break; + rects[i].x = con->x; + rects[i].y = con->y; + rects[i].was_packed = 1; + con->x += rects[i].w; + if (con->y + rects[i].h > con->bottom_y) + con->bottom_y = con->y + rects[i].h; + } + for ( ; i < num_rects; ++i) + rects[i].was_packed = 0; +} +#endif + +////////////////////////////////////////////////////////////////////////////// +// +// bitmap baking +// +// This is SUPER-AWESOME (tm Ryan Gordon) packing using stb_rect_pack.h. If +// stb_rect_pack.h isn't available, it uses the BakeFontBitmap strategy. + +STBTT_DEF int stbtt_PackBegin(stbtt_pack_context *spc, unsigned char *pixels, int pw, int ph, int stride_in_bytes, int padding, void *alloc_context) +{ + stbrp_context *context = (stbrp_context *) STBTT_malloc(sizeof(*context) ,alloc_context); + int num_nodes = pw - padding; + stbrp_node *nodes = (stbrp_node *) STBTT_malloc(sizeof(*nodes ) * num_nodes,alloc_context); + + if (context == NULL || nodes == NULL) { + if (context != NULL) STBTT_free(context, alloc_context); + if (nodes != NULL) STBTT_free(nodes , alloc_context); + return 0; + } + + spc->user_allocator_context = alloc_context; + spc->width = pw; + spc->height = ph; + spc->pixels = pixels; + spc->pack_info = context; + spc->nodes = nodes; + spc->padding = padding; + spc->stride_in_bytes = stride_in_bytes != 0 ? stride_in_bytes : pw; + spc->h_oversample = 1; + spc->v_oversample = 1; + spc->skip_missing = 0; + + stbrp_init_target(context, pw-padding, ph-padding, nodes, num_nodes); + + if (pixels) + STBTT_memset(pixels, 0, pw*ph); // background of 0 around pixels + + return 1; +} + +STBTT_DEF void stbtt_PackEnd (stbtt_pack_context *spc) +{ + STBTT_free(spc->nodes , spc->user_allocator_context); + STBTT_free(spc->pack_info, spc->user_allocator_context); +} + +STBTT_DEF void stbtt_PackSetOversampling(stbtt_pack_context *spc, unsigned int h_oversample, unsigned int v_oversample) +{ + STBTT_assert(h_oversample <= STBTT_MAX_OVERSAMPLE); + STBTT_assert(v_oversample <= STBTT_MAX_OVERSAMPLE); + if (h_oversample <= STBTT_MAX_OVERSAMPLE) + spc->h_oversample = h_oversample; + if (v_oversample <= STBTT_MAX_OVERSAMPLE) + spc->v_oversample = v_oversample; +} + +STBTT_DEF void stbtt_PackSetSkipMissingCodepoints(stbtt_pack_context *spc, int skip) +{ + spc->skip_missing = skip; +} + +#define STBTT__OVER_MASK (STBTT_MAX_OVERSAMPLE-1) + +static void stbtt__h_prefilter(unsigned char *pixels, int w, int h, int stride_in_bytes, unsigned int kernel_width) +{ + unsigned char buffer[STBTT_MAX_OVERSAMPLE]; + int safe_w = w - kernel_width; + int j; + STBTT_memset(buffer, 0, STBTT_MAX_OVERSAMPLE); // suppress bogus warning from VS2013 -analyze + for (j=0; j < h; ++j) { + int i; + unsigned int total; + STBTT_memset(buffer, 0, kernel_width); + + total = 0; + + // make kernel_width a constant in common cases so compiler can optimize out the divide + switch (kernel_width) { + case 2: + for (i=0; i <= safe_w; ++i) { + total += pixels[i] - buffer[i & STBTT__OVER_MASK]; + buffer[(i+kernel_width) & STBTT__OVER_MASK] = pixels[i]; + pixels[i] = (unsigned char) (total / 2); + } + break; + case 3: + for (i=0; i <= safe_w; ++i) { + total += pixels[i] - buffer[i & STBTT__OVER_MASK]; + buffer[(i+kernel_width) & STBTT__OVER_MASK] = pixels[i]; + pixels[i] = (unsigned char) (total / 3); + } + break; + case 4: + for (i=0; i <= safe_w; ++i) { + total += pixels[i] - buffer[i & STBTT__OVER_MASK]; + buffer[(i+kernel_width) & STBTT__OVER_MASK] = pixels[i]; + pixels[i] = (unsigned char) (total / 4); + } + break; + case 5: + for (i=0; i <= safe_w; ++i) { + total += pixels[i] - buffer[i & STBTT__OVER_MASK]; + buffer[(i+kernel_width) & STBTT__OVER_MASK] = pixels[i]; + pixels[i] = (unsigned char) (total / 5); + } + break; + default: + for (i=0; i <= safe_w; ++i) { + total += pixels[i] - buffer[i & STBTT__OVER_MASK]; + buffer[(i+kernel_width) & STBTT__OVER_MASK] = pixels[i]; + pixels[i] = (unsigned char) (total / kernel_width); + } + break; + } + + for (; i < w; ++i) { + STBTT_assert(pixels[i] == 0); + total -= buffer[i & STBTT__OVER_MASK]; + pixels[i] = (unsigned char) (total / kernel_width); + } + + pixels += stride_in_bytes; + } +} + +static void stbtt__v_prefilter(unsigned char *pixels, int w, int h, int stride_in_bytes, unsigned int kernel_width) +{ + unsigned char buffer[STBTT_MAX_OVERSAMPLE]; + int safe_h = h - kernel_width; + int j; + STBTT_memset(buffer, 0, STBTT_MAX_OVERSAMPLE); // suppress bogus warning from VS2013 -analyze + for (j=0; j < w; ++j) { + int i; + unsigned int total; + STBTT_memset(buffer, 0, kernel_width); + + total = 0; + + // make kernel_width a constant in common cases so compiler can optimize out the divide + switch (kernel_width) { + case 2: + for (i=0; i <= safe_h; ++i) { + total += pixels[i*stride_in_bytes] - buffer[i & STBTT__OVER_MASK]; + buffer[(i+kernel_width) & STBTT__OVER_MASK] = pixels[i*stride_in_bytes]; + pixels[i*stride_in_bytes] = (unsigned char) (total / 2); + } + break; + case 3: + for (i=0; i <= safe_h; ++i) { + total += pixels[i*stride_in_bytes] - buffer[i & STBTT__OVER_MASK]; + buffer[(i+kernel_width) & STBTT__OVER_MASK] = pixels[i*stride_in_bytes]; + pixels[i*stride_in_bytes] = (unsigned char) (total / 3); + } + break; + case 4: + for (i=0; i <= safe_h; ++i) { + total += pixels[i*stride_in_bytes] - buffer[i & STBTT__OVER_MASK]; + buffer[(i+kernel_width) & STBTT__OVER_MASK] = pixels[i*stride_in_bytes]; + pixels[i*stride_in_bytes] = (unsigned char) (total / 4); + } + break; + case 5: + for (i=0; i <= safe_h; ++i) { + total += pixels[i*stride_in_bytes] - buffer[i & STBTT__OVER_MASK]; + buffer[(i+kernel_width) & STBTT__OVER_MASK] = pixels[i*stride_in_bytes]; + pixels[i*stride_in_bytes] = (unsigned char) (total / 5); + } + break; + default: + for (i=0; i <= safe_h; ++i) { + total += pixels[i*stride_in_bytes] - buffer[i & STBTT__OVER_MASK]; + buffer[(i+kernel_width) & STBTT__OVER_MASK] = pixels[i*stride_in_bytes]; + pixels[i*stride_in_bytes] = (unsigned char) (total / kernel_width); + } + break; + } + + for (; i < h; ++i) { + STBTT_assert(pixels[i*stride_in_bytes] == 0); + total -= buffer[i & STBTT__OVER_MASK]; + pixels[i*stride_in_bytes] = (unsigned char) (total / kernel_width); + } + + pixels += 1; + } +} + +static float stbtt__oversample_shift(int oversample) +{ + if (!oversample) + return 0.0f; + + // The prefilter is a box filter of width "oversample", + // which shifts phase by (oversample - 1)/2 pixels in + // oversampled space. We want to shift in the opposite + // direction to counter this. + return (float)-(oversample - 1) / (2.0f * (float)oversample); +} + +// rects array must be big enough to accommodate all characters in the given ranges +STBTT_DEF int stbtt_PackFontRangesGatherRects(stbtt_pack_context *spc, const stbtt_fontinfo *info, stbtt_pack_range *ranges, int num_ranges, stbrp_rect *rects) +{ + int i,j,k; + int missing_glyph_added = 0; + + k=0; + for (i=0; i < num_ranges; ++i) { + float fh = ranges[i].font_size; + float scale = fh > 0 ? stbtt_ScaleForPixelHeight(info, fh) : stbtt_ScaleForMappingEmToPixels(info, -fh); + ranges[i].h_oversample = (unsigned char) spc->h_oversample; + ranges[i].v_oversample = (unsigned char) spc->v_oversample; + for (j=0; j < ranges[i].num_chars; ++j) { + int x0,y0,x1,y1; + int codepoint = ranges[i].array_of_unicode_codepoints == NULL ? ranges[i].first_unicode_codepoint_in_range + j : ranges[i].array_of_unicode_codepoints[j]; + int glyph = stbtt_FindGlyphIndex(info, codepoint); + if (glyph == 0 && (spc->skip_missing || missing_glyph_added)) { + rects[k].w = rects[k].h = 0; + } else { + stbtt_GetGlyphBitmapBoxSubpixel(info,glyph, + scale * spc->h_oversample, + scale * spc->v_oversample, + 0,0, + &x0,&y0,&x1,&y1); + rects[k].w = (stbrp_coord) (x1-x0 + spc->padding + spc->h_oversample-1); + rects[k].h = (stbrp_coord) (y1-y0 + spc->padding + spc->v_oversample-1); + if (glyph == 0) + missing_glyph_added = 1; + } + ++k; + } + } + + return k; +} + +STBTT_DEF void stbtt_MakeGlyphBitmapSubpixelPrefilter(const stbtt_fontinfo *info, unsigned char *output, int out_w, int out_h, int out_stride, float scale_x, float scale_y, float shift_x, float shift_y, int prefilter_x, int prefilter_y, float *sub_x, float *sub_y, int glyph) +{ + stbtt_MakeGlyphBitmapSubpixel(info, + output, + out_w - (prefilter_x - 1), + out_h - (prefilter_y - 1), + out_stride, + scale_x, + scale_y, + shift_x, + shift_y, + glyph); + + if (prefilter_x > 1) + stbtt__h_prefilter(output, out_w, out_h, out_stride, prefilter_x); + + if (prefilter_y > 1) + stbtt__v_prefilter(output, out_w, out_h, out_stride, prefilter_y); + + *sub_x = stbtt__oversample_shift(prefilter_x); + *sub_y = stbtt__oversample_shift(prefilter_y); +} + +// rects array must be big enough to accommodate all characters in the given ranges +STBTT_DEF int stbtt_PackFontRangesRenderIntoRects(stbtt_pack_context *spc, const stbtt_fontinfo *info, stbtt_pack_range *ranges, int num_ranges, stbrp_rect *rects) +{ + int i,j,k, missing_glyph = -1, return_value = 1; + + // save current values + int old_h_over = spc->h_oversample; + int old_v_over = spc->v_oversample; + + k = 0; + for (i=0; i < num_ranges; ++i) { + float fh = ranges[i].font_size; + float scale = fh > 0 ? stbtt_ScaleForPixelHeight(info, fh) : stbtt_ScaleForMappingEmToPixels(info, -fh); + float recip_h,recip_v,sub_x,sub_y; + spc->h_oversample = ranges[i].h_oversample; + spc->v_oversample = ranges[i].v_oversample; + recip_h = 1.0f / spc->h_oversample; + recip_v = 1.0f / spc->v_oversample; + sub_x = stbtt__oversample_shift(spc->h_oversample); + sub_y = stbtt__oversample_shift(spc->v_oversample); + for (j=0; j < ranges[i].num_chars; ++j) { + stbrp_rect *r = &rects[k]; + if (r->was_packed && r->w != 0 && r->h != 0) { + stbtt_packedchar *bc = &ranges[i].chardata_for_range[j]; + int advance, lsb, x0,y0,x1,y1; + int codepoint = ranges[i].array_of_unicode_codepoints == NULL ? ranges[i].first_unicode_codepoint_in_range + j : ranges[i].array_of_unicode_codepoints[j]; + int glyph = stbtt_FindGlyphIndex(info, codepoint); + stbrp_coord pad = (stbrp_coord) spc->padding; + + // pad on left and top + r->x += pad; + r->y += pad; + r->w -= pad; + r->h -= pad; + stbtt_GetGlyphHMetrics(info, glyph, &advance, &lsb); + stbtt_GetGlyphBitmapBox(info, glyph, + scale * spc->h_oversample, + scale * spc->v_oversample, + &x0,&y0,&x1,&y1); + stbtt_MakeGlyphBitmapSubpixel(info, + spc->pixels + r->x + r->y*spc->stride_in_bytes, + r->w - spc->h_oversample+1, + r->h - spc->v_oversample+1, + spc->stride_in_bytes, + scale * spc->h_oversample, + scale * spc->v_oversample, + 0,0, + glyph); + + if (spc->h_oversample > 1) + stbtt__h_prefilter(spc->pixels + r->x + r->y*spc->stride_in_bytes, + r->w, r->h, spc->stride_in_bytes, + spc->h_oversample); + + if (spc->v_oversample > 1) + stbtt__v_prefilter(spc->pixels + r->x + r->y*spc->stride_in_bytes, + r->w, r->h, spc->stride_in_bytes, + spc->v_oversample); + + bc->x0 = (stbtt_int16) r->x; + bc->y0 = (stbtt_int16) r->y; + bc->x1 = (stbtt_int16) (r->x + r->w); + bc->y1 = (stbtt_int16) (r->y + r->h); + bc->xadvance = scale * advance; + bc->xoff = (float) x0 * recip_h + sub_x; + bc->yoff = (float) y0 * recip_v + sub_y; + bc->xoff2 = (x0 + r->w) * recip_h + sub_x; + bc->yoff2 = (y0 + r->h) * recip_v + sub_y; + + if (glyph == 0) + missing_glyph = j; + } else if (spc->skip_missing) { + return_value = 0; + } else if (r->was_packed && r->w == 0 && r->h == 0 && missing_glyph >= 0) { + ranges[i].chardata_for_range[j] = ranges[i].chardata_for_range[missing_glyph]; + } else { + return_value = 0; // if any fail, report failure + } + + ++k; + } + } + + // restore original values + spc->h_oversample = old_h_over; + spc->v_oversample = old_v_over; + + return return_value; +} + +STBTT_DEF void stbtt_PackFontRangesPackRects(stbtt_pack_context *spc, stbrp_rect *rects, int num_rects) +{ + stbrp_pack_rects((stbrp_context *) spc->pack_info, rects, num_rects); +} + +STBTT_DEF int stbtt_PackFontRanges(stbtt_pack_context *spc, const unsigned char *fontdata, int font_index, stbtt_pack_range *ranges, int num_ranges) +{ + stbtt_fontinfo info; + int i,j,n, return_value = 1; + //stbrp_context *context = (stbrp_context *) spc->pack_info; + stbrp_rect *rects; + + // flag all characters as NOT packed + for (i=0; i < num_ranges; ++i) + for (j=0; j < ranges[i].num_chars; ++j) + ranges[i].chardata_for_range[j].x0 = + ranges[i].chardata_for_range[j].y0 = + ranges[i].chardata_for_range[j].x1 = + ranges[i].chardata_for_range[j].y1 = 0; + + n = 0; + for (i=0; i < num_ranges; ++i) + n += ranges[i].num_chars; + + rects = (stbrp_rect *) STBTT_malloc(sizeof(*rects) * n, spc->user_allocator_context); + if (rects == NULL) + return 0; + + info.userdata = spc->user_allocator_context; + stbtt_InitFont(&info, fontdata, stbtt_GetFontOffsetForIndex(fontdata,font_index)); + + n = stbtt_PackFontRangesGatherRects(spc, &info, ranges, num_ranges, rects); + + stbtt_PackFontRangesPackRects(spc, rects, n); + + return_value = stbtt_PackFontRangesRenderIntoRects(spc, &info, ranges, num_ranges, rects); + + STBTT_free(rects, spc->user_allocator_context); + return return_value; +} + +STBTT_DEF int stbtt_PackFontRange(stbtt_pack_context *spc, const unsigned char *fontdata, int font_index, float font_size, + int first_unicode_codepoint_in_range, int num_chars_in_range, stbtt_packedchar *chardata_for_range) +{ + stbtt_pack_range range; + range.first_unicode_codepoint_in_range = first_unicode_codepoint_in_range; + range.array_of_unicode_codepoints = NULL; + range.num_chars = num_chars_in_range; + range.chardata_for_range = chardata_for_range; + range.font_size = font_size; + return stbtt_PackFontRanges(spc, fontdata, font_index, &range, 1); +} + +STBTT_DEF void stbtt_GetScaledFontVMetrics(const unsigned char *fontdata, int index, float size, float *ascent, float *descent, float *lineGap) +{ + int i_ascent, i_descent, i_lineGap; + float scale; + stbtt_fontinfo info; + stbtt_InitFont(&info, fontdata, stbtt_GetFontOffsetForIndex(fontdata, index)); + scale = size > 0 ? stbtt_ScaleForPixelHeight(&info, size) : stbtt_ScaleForMappingEmToPixels(&info, -size); + stbtt_GetFontVMetrics(&info, &i_ascent, &i_descent, &i_lineGap); + *ascent = (float) i_ascent * scale; + *descent = (float) i_descent * scale; + *lineGap = (float) i_lineGap * scale; +} + +STBTT_DEF void stbtt_GetPackedQuad(const stbtt_packedchar *chardata, int pw, int ph, int char_index, float *xpos, float *ypos, stbtt_aligned_quad *q, int align_to_integer) +{ + float ipw = 1.0f / pw, iph = 1.0f / ph; + const stbtt_packedchar *b = chardata + char_index; + + if (align_to_integer) { + float x = (float) STBTT_ifloor((*xpos + b->xoff) + 0.5f); + float y = (float) STBTT_ifloor((*ypos + b->yoff) + 0.5f); + q->x0 = x; + q->y0 = y; + q->x1 = x + b->xoff2 - b->xoff; + q->y1 = y + b->yoff2 - b->yoff; + } else { + q->x0 = *xpos + b->xoff; + q->y0 = *ypos + b->yoff; + q->x1 = *xpos + b->xoff2; + q->y1 = *ypos + b->yoff2; + } + + q->s0 = b->x0 * ipw; + q->t0 = b->y0 * iph; + q->s1 = b->x1 * ipw; + q->t1 = b->y1 * iph; + + *xpos += b->xadvance; +} + +////////////////////////////////////////////////////////////////////////////// +// +// sdf computation +// + +#define STBTT_min(a,b) ((a) < (b) ? (a) : (b)) +#define STBTT_max(a,b) ((a) < (b) ? (b) : (a)) + +static int stbtt__ray_intersect_bezier(float orig[2], float ray[2], float q0[2], float q1[2], float q2[2], float hits[2][2]) +{ + float q0perp = q0[1]*ray[0] - q0[0]*ray[1]; + float q1perp = q1[1]*ray[0] - q1[0]*ray[1]; + float q2perp = q2[1]*ray[0] - q2[0]*ray[1]; + float roperp = orig[1]*ray[0] - orig[0]*ray[1]; + + float a = q0perp - 2*q1perp + q2perp; + float b = q1perp - q0perp; + float c = q0perp - roperp; + + float s0 = 0., s1 = 0.; + int num_s = 0; + + if (a != 0.0) { + float discr = b*b - a*c; + if (discr > 0.0) { + float rcpna = -1 / a; + float d = (float) STBTT_sqrt(discr); + s0 = (b+d) * rcpna; + s1 = (b-d) * rcpna; + if (s0 >= 0.0 && s0 <= 1.0) + num_s = 1; + if (d > 0.0 && s1 >= 0.0 && s1 <= 1.0) { + if (num_s == 0) s0 = s1; + ++num_s; + } + } + } else { + // 2*b*s + c = 0 + // s = -c / (2*b) + s0 = c / (-2 * b); + if (s0 >= 0.0 && s0 <= 1.0) + num_s = 1; + } + + if (num_s == 0) + return 0; + else { + float rcp_len2 = 1 / (ray[0]*ray[0] + ray[1]*ray[1]); + float rayn_x = ray[0] * rcp_len2, rayn_y = ray[1] * rcp_len2; + + float q0d = q0[0]*rayn_x + q0[1]*rayn_y; + float q1d = q1[0]*rayn_x + q1[1]*rayn_y; + float q2d = q2[0]*rayn_x + q2[1]*rayn_y; + float rod = orig[0]*rayn_x + orig[1]*rayn_y; + + float q10d = q1d - q0d; + float q20d = q2d - q0d; + float q0rd = q0d - rod; + + hits[0][0] = q0rd + s0*(2.0f - 2.0f*s0)*q10d + s0*s0*q20d; + hits[0][1] = a*s0+b; + + if (num_s > 1) { + hits[1][0] = q0rd + s1*(2.0f - 2.0f*s1)*q10d + s1*s1*q20d; + hits[1][1] = a*s1+b; + return 2; + } else { + return 1; + } + } +} + +static int equal(float *a, float *b) +{ + return (a[0] == b[0] && a[1] == b[1]); +} + +static int stbtt__compute_crossings_x(float x, float y, int nverts, stbtt_vertex *verts) +{ + int i; + float orig[2], ray[2] = { 1, 0 }; + float y_frac; + int winding = 0; + + // make sure y never passes through a vertex of the shape + y_frac = (float) STBTT_fmod(y, 1.0f); + if (y_frac < 0.01f) + y += 0.01f; + else if (y_frac > 0.99f) + y -= 0.01f; + + orig[0] = x; + orig[1] = y; + + // test a ray from (-infinity,y) to (x,y) + for (i=0; i < nverts; ++i) { + if (verts[i].type == STBTT_vline) { + int x0 = (int) verts[i-1].x, y0 = (int) verts[i-1].y; + int x1 = (int) verts[i ].x, y1 = (int) verts[i ].y; + if (y > STBTT_min(y0,y1) && y < STBTT_max(y0,y1) && x > STBTT_min(x0,x1)) { + float x_inter = (y - y0) / (y1 - y0) * (x1-x0) + x0; + if (x_inter < x) + winding += (y0 < y1) ? 1 : -1; + } + } + if (verts[i].type == STBTT_vcurve) { + int x0 = (int) verts[i-1].x , y0 = (int) verts[i-1].y ; + int x1 = (int) verts[i ].cx, y1 = (int) verts[i ].cy; + int x2 = (int) verts[i ].x , y2 = (int) verts[i ].y ; + int ax = STBTT_min(x0,STBTT_min(x1,x2)), ay = STBTT_min(y0,STBTT_min(y1,y2)); + int by = STBTT_max(y0,STBTT_max(y1,y2)); + if (y > ay && y < by && x > ax) { + float q0[2],q1[2],q2[2]; + float hits[2][2]; + q0[0] = (float)x0; + q0[1] = (float)y0; + q1[0] = (float)x1; + q1[1] = (float)y1; + q2[0] = (float)x2; + q2[1] = (float)y2; + if (equal(q0,q1) || equal(q1,q2)) { + x0 = (int)verts[i-1].x; + y0 = (int)verts[i-1].y; + x1 = (int)verts[i ].x; + y1 = (int)verts[i ].y; + if (y > STBTT_min(y0,y1) && y < STBTT_max(y0,y1) && x > STBTT_min(x0,x1)) { + float x_inter = (y - y0) / (y1 - y0) * (x1-x0) + x0; + if (x_inter < x) + winding += (y0 < y1) ? 1 : -1; + } + } else { + int num_hits = stbtt__ray_intersect_bezier(orig, ray, q0, q1, q2, hits); + if (num_hits >= 1) + if (hits[0][0] < 0) + winding += (hits[0][1] < 0 ? -1 : 1); + if (num_hits >= 2) + if (hits[1][0] < 0) + winding += (hits[1][1] < 0 ? -1 : 1); + } + } + } + } + return winding; +} + +static float stbtt__cuberoot( float x ) +{ + if (x<0) + return -(float) STBTT_pow(-x,1.0f/3.0f); + else + return (float) STBTT_pow( x,1.0f/3.0f); +} + +// x^3 + a*x^2 + b*x + c = 0 +static int stbtt__solve_cubic(float a, float b, float c, float* r) +{ + float s = -a / 3; + float p = b - a*a / 3; + float q = a * (2*a*a - 9*b) / 27 + c; + float p3 = p*p*p; + float d = q*q + 4*p3 / 27; + if (d >= 0) { + float z = (float) STBTT_sqrt(d); + float u = (-q + z) / 2; + float v = (-q - z) / 2; + u = stbtt__cuberoot(u); + v = stbtt__cuberoot(v); + r[0] = s + u + v; + return 1; + } else { + float u = (float) STBTT_sqrt(-p/3); + float v = (float) STBTT_acos(-STBTT_sqrt(-27/p3) * q / 2) / 3; // p3 must be negative, since d is negative + float m = (float) STBTT_cos(v); + float n = (float) STBTT_cos(v-3.141592/2)*1.732050808f; + r[0] = s + u * 2 * m; + r[1] = s - u * (m + n); + r[2] = s - u * (m - n); + + //STBTT_assert( STBTT_fabs(((r[0]+a)*r[0]+b)*r[0]+c) < 0.05f); // these asserts may not be safe at all scales, though they're in bezier t parameter units so maybe? + //STBTT_assert( STBTT_fabs(((r[1]+a)*r[1]+b)*r[1]+c) < 0.05f); + //STBTT_assert( STBTT_fabs(((r[2]+a)*r[2]+b)*r[2]+c) < 0.05f); + return 3; + } +} + +STBTT_DEF unsigned char * stbtt_GetGlyphSDF(const stbtt_fontinfo *info, float scale, int glyph, int padding, unsigned char onedge_value, float pixel_dist_scale, int *width, int *height, int *xoff, int *yoff) +{ + float scale_x = scale, scale_y = scale; + int ix0,iy0,ix1,iy1; + int w,h; + unsigned char *data; + + if (scale == 0) return NULL; + + stbtt_GetGlyphBitmapBoxSubpixel(info, glyph, scale, scale, 0.0f,0.0f, &ix0,&iy0,&ix1,&iy1); + + // if empty, return NULL + if (ix0 == ix1 || iy0 == iy1) + return NULL; + + ix0 -= padding; + iy0 -= padding; + ix1 += padding; + iy1 += padding; + + w = (ix1 - ix0); + h = (iy1 - iy0); + + if (width ) *width = w; + if (height) *height = h; + if (xoff ) *xoff = ix0; + if (yoff ) *yoff = iy0; + + // invert for y-downwards bitmaps + scale_y = -scale_y; + + { + int x,y,i,j; + float *precompute; + stbtt_vertex *verts; + int num_verts = stbtt_GetGlyphShape(info, glyph, &verts); + data = (unsigned char *) STBTT_malloc(w * h, info->userdata); + precompute = (float *) STBTT_malloc(num_verts * sizeof(float), info->userdata); + + for (i=0,j=num_verts-1; i < num_verts; j=i++) { + if (verts[i].type == STBTT_vline) { + float x0 = verts[i].x*scale_x, y0 = verts[i].y*scale_y; + float x1 = verts[j].x*scale_x, y1 = verts[j].y*scale_y; + float dist = (float) STBTT_sqrt((x1-x0)*(x1-x0) + (y1-y0)*(y1-y0)); + precompute[i] = (dist == 0) ? 0.0f : 1.0f / dist; + } else if (verts[i].type == STBTT_vcurve) { + float x2 = verts[j].x *scale_x, y2 = verts[j].y *scale_y; + float x1 = verts[i].cx*scale_x, y1 = verts[i].cy*scale_y; + float x0 = verts[i].x *scale_x, y0 = verts[i].y *scale_y; + float bx = x0 - 2*x1 + x2, by = y0 - 2*y1 + y2; + float len2 = bx*bx + by*by; + if (len2 != 0.0f) + precompute[i] = 1.0f / (bx*bx + by*by); + else + precompute[i] = 0.0f; + } else + precompute[i] = 0.0f; + } + + for (y=iy0; y < iy1; ++y) { + for (x=ix0; x < ix1; ++x) { + float val; + float min_dist = 999999.0f; + float sx = (float) x + 0.5f; + float sy = (float) y + 0.5f; + float x_gspace = (sx / scale_x); + float y_gspace = (sy / scale_y); + + int winding = stbtt__compute_crossings_x(x_gspace, y_gspace, num_verts, verts); // @OPTIMIZE: this could just be a rasterization, but needs to be line vs. non-tesselated curves so a new path + + for (i=0; i < num_verts; ++i) { + float x0 = verts[i].x*scale_x, y0 = verts[i].y*scale_y; + + if (verts[i].type == STBTT_vline && precompute[i] != 0.0f) { + float x1 = verts[i-1].x*scale_x, y1 = verts[i-1].y*scale_y; + + float dist,dist2 = (x0-sx)*(x0-sx) + (y0-sy)*(y0-sy); + if (dist2 < min_dist*min_dist) + min_dist = (float) STBTT_sqrt(dist2); + + // coarse culling against bbox + //if (sx > STBTT_min(x0,x1)-min_dist && sx < STBTT_max(x0,x1)+min_dist && + // sy > STBTT_min(y0,y1)-min_dist && sy < STBTT_max(y0,y1)+min_dist) + dist = (float) STBTT_fabs((x1-x0)*(y0-sy) - (y1-y0)*(x0-sx)) * precompute[i]; + STBTT_assert(i != 0); + if (dist < min_dist) { + // check position along line + // x' = x0 + t*(x1-x0), y' = y0 + t*(y1-y0) + // minimize (x'-sx)*(x'-sx)+(y'-sy)*(y'-sy) + float dx = x1-x0, dy = y1-y0; + float px = x0-sx, py = y0-sy; + // minimize (px+t*dx)^2 + (py+t*dy)^2 = px*px + 2*px*dx*t + t^2*dx*dx + py*py + 2*py*dy*t + t^2*dy*dy + // derivative: 2*px*dx + 2*py*dy + (2*dx*dx+2*dy*dy)*t, set to 0 and solve + float t = -(px*dx + py*dy) / (dx*dx + dy*dy); + if (t >= 0.0f && t <= 1.0f) + min_dist = dist; + } + } else if (verts[i].type == STBTT_vcurve) { + float x2 = verts[i-1].x *scale_x, y2 = verts[i-1].y *scale_y; + float x1 = verts[i ].cx*scale_x, y1 = verts[i ].cy*scale_y; + float box_x0 = STBTT_min(STBTT_min(x0,x1),x2); + float box_y0 = STBTT_min(STBTT_min(y0,y1),y2); + float box_x1 = STBTT_max(STBTT_max(x0,x1),x2); + float box_y1 = STBTT_max(STBTT_max(y0,y1),y2); + // coarse culling against bbox to avoid computing cubic unnecessarily + if (sx > box_x0-min_dist && sx < box_x1+min_dist && sy > box_y0-min_dist && sy < box_y1+min_dist) { + int num=0; + float ax = x1-x0, ay = y1-y0; + float bx = x0 - 2*x1 + x2, by = y0 - 2*y1 + y2; + float mx = x0 - sx, my = y0 - sy; + float res[3] = {0.f,0.f,0.f}; + float px,py,t,it,dist2; + float a_inv = precompute[i]; + if (a_inv == 0.0) { // if a_inv is 0, it's 2nd degree so use quadratic formula + float a = 3*(ax*bx + ay*by); + float b = 2*(ax*ax + ay*ay) + (mx*bx+my*by); + float c = mx*ax+my*ay; + if (a == 0.0) { // if a is 0, it's linear + if (b != 0.0) { + res[num++] = -c/b; + } + } else { + float discriminant = b*b - 4*a*c; + if (discriminant < 0) + num = 0; + else { + float root = (float) STBTT_sqrt(discriminant); + res[0] = (-b - root)/(2*a); + res[1] = (-b + root)/(2*a); + num = 2; // don't bother distinguishing 1-solution case, as code below will still work + } + } + } else { + float b = 3*(ax*bx + ay*by) * a_inv; // could precompute this as it doesn't depend on sample point + float c = (2*(ax*ax + ay*ay) + (mx*bx+my*by)) * a_inv; + float d = (mx*ax+my*ay) * a_inv; + num = stbtt__solve_cubic(b, c, d, res); + } + dist2 = (x0-sx)*(x0-sx) + (y0-sy)*(y0-sy); + if (dist2 < min_dist*min_dist) + min_dist = (float) STBTT_sqrt(dist2); + + if (num >= 1 && res[0] >= 0.0f && res[0] <= 1.0f) { + t = res[0], it = 1.0f - t; + px = it*it*x0 + 2*t*it*x1 + t*t*x2; + py = it*it*y0 + 2*t*it*y1 + t*t*y2; + dist2 = (px-sx)*(px-sx) + (py-sy)*(py-sy); + if (dist2 < min_dist * min_dist) + min_dist = (float) STBTT_sqrt(dist2); + } + if (num >= 2 && res[1] >= 0.0f && res[1] <= 1.0f) { + t = res[1], it = 1.0f - t; + px = it*it*x0 + 2*t*it*x1 + t*t*x2; + py = it*it*y0 + 2*t*it*y1 + t*t*y2; + dist2 = (px-sx)*(px-sx) + (py-sy)*(py-sy); + if (dist2 < min_dist * min_dist) + min_dist = (float) STBTT_sqrt(dist2); + } + if (num >= 3 && res[2] >= 0.0f && res[2] <= 1.0f) { + t = res[2], it = 1.0f - t; + px = it*it*x0 + 2*t*it*x1 + t*t*x2; + py = it*it*y0 + 2*t*it*y1 + t*t*y2; + dist2 = (px-sx)*(px-sx) + (py-sy)*(py-sy); + if (dist2 < min_dist * min_dist) + min_dist = (float) STBTT_sqrt(dist2); + } + } + } + } + if (winding == 0) + min_dist = -min_dist; // if outside the shape, value is negative + val = onedge_value + pixel_dist_scale * min_dist; + if (val < 0) + val = 0; + else if (val > 255) + val = 255; + data[(y-iy0)*w+(x-ix0)] = (unsigned char) val; + } + } + STBTT_free(precompute, info->userdata); + STBTT_free(verts, info->userdata); + } + return data; +} + +STBTT_DEF unsigned char * stbtt_GetCodepointSDF(const stbtt_fontinfo *info, float scale, int codepoint, int padding, unsigned char onedge_value, float pixel_dist_scale, int *width, int *height, int *xoff, int *yoff) +{ + return stbtt_GetGlyphSDF(info, scale, stbtt_FindGlyphIndex(info, codepoint), padding, onedge_value, pixel_dist_scale, width, height, xoff, yoff); +} + +STBTT_DEF void stbtt_FreeSDF(unsigned char *bitmap, void *userdata) +{ + STBTT_free(bitmap, userdata); +} + +////////////////////////////////////////////////////////////////////////////// +// +// font name matching -- recommended not to use this +// + +// check if a utf8 string contains a prefix which is the utf16 string; if so return length of matching utf8 string +static stbtt_int32 stbtt__CompareUTF8toUTF16_bigendian_prefix(stbtt_uint8 *s1, stbtt_int32 len1, stbtt_uint8 *s2, stbtt_int32 len2) +{ + stbtt_int32 i=0; + + // convert utf16 to utf8 and compare the results while converting + while (len2) { + stbtt_uint16 ch = s2[0]*256 + s2[1]; + if (ch < 0x80) { + if (i >= len1) return -1; + if (s1[i++] != ch) return -1; + } else if (ch < 0x800) { + if (i+1 >= len1) return -1; + if (s1[i++] != 0xc0 + (ch >> 6)) return -1; + if (s1[i++] != 0x80 + (ch & 0x3f)) return -1; + } else if (ch >= 0xd800 && ch < 0xdc00) { + stbtt_uint32 c; + stbtt_uint16 ch2 = s2[2]*256 + s2[3]; + if (i+3 >= len1) return -1; + c = ((ch - 0xd800) << 10) + (ch2 - 0xdc00) + 0x10000; + if (s1[i++] != 0xf0 + (c >> 18)) return -1; + if (s1[i++] != 0x80 + ((c >> 12) & 0x3f)) return -1; + if (s1[i++] != 0x80 + ((c >> 6) & 0x3f)) return -1; + if (s1[i++] != 0x80 + ((c ) & 0x3f)) return -1; + s2 += 2; // plus another 2 below + len2 -= 2; + } else if (ch >= 0xdc00 && ch < 0xe000) { + return -1; + } else { + if (i+2 >= len1) return -1; + if (s1[i++] != 0xe0 + (ch >> 12)) return -1; + if (s1[i++] != 0x80 + ((ch >> 6) & 0x3f)) return -1; + if (s1[i++] != 0x80 + ((ch ) & 0x3f)) return -1; + } + s2 += 2; + len2 -= 2; + } + return i; +} + +static int stbtt_CompareUTF8toUTF16_bigendian_internal(char *s1, int len1, char *s2, int len2) +{ + return len1 == stbtt__CompareUTF8toUTF16_bigendian_prefix((stbtt_uint8*) s1, len1, (stbtt_uint8*) s2, len2); +} + +// returns results in whatever encoding you request... but note that 2-byte encodings +// will be BIG-ENDIAN... use stbtt_CompareUTF8toUTF16_bigendian() to compare +STBTT_DEF const char *stbtt_GetFontNameString(const stbtt_fontinfo *font, int *length, int platformID, int encodingID, int languageID, int nameID) +{ + stbtt_int32 i,count,stringOffset; + stbtt_uint8 *fc = font->data; + stbtt_uint32 offset = font->fontstart; + stbtt_uint32 nm = stbtt__find_table(fc, offset, "name"); + if (!nm) return NULL; + + count = ttUSHORT(fc+nm+2); + stringOffset = nm + ttUSHORT(fc+nm+4); + for (i=0; i < count; ++i) { + stbtt_uint32 loc = nm + 6 + 12 * i; + if (platformID == ttUSHORT(fc+loc+0) && encodingID == ttUSHORT(fc+loc+2) + && languageID == ttUSHORT(fc+loc+4) && nameID == ttUSHORT(fc+loc+6)) { + *length = ttUSHORT(fc+loc+8); + return (const char *) (fc+stringOffset+ttUSHORT(fc+loc+10)); + } + } + return NULL; +} + +static int stbtt__matchpair(stbtt_uint8 *fc, stbtt_uint32 nm, stbtt_uint8 *name, stbtt_int32 nlen, stbtt_int32 target_id, stbtt_int32 next_id) +{ + stbtt_int32 i; + stbtt_int32 count = ttUSHORT(fc+nm+2); + stbtt_int32 stringOffset = nm + ttUSHORT(fc+nm+4); + + for (i=0; i < count; ++i) { + stbtt_uint32 loc = nm + 6 + 12 * i; + stbtt_int32 id = ttUSHORT(fc+loc+6); + if (id == target_id) { + // find the encoding + stbtt_int32 platform = ttUSHORT(fc+loc+0), encoding = ttUSHORT(fc+loc+2), language = ttUSHORT(fc+loc+4); + + // is this a Unicode encoding? + if (platform == 0 || (platform == 3 && encoding == 1) || (platform == 3 && encoding == 10)) { + stbtt_int32 slen = ttUSHORT(fc+loc+8); + stbtt_int32 off = ttUSHORT(fc+loc+10); + + // check if there's a prefix match + stbtt_int32 matchlen = stbtt__CompareUTF8toUTF16_bigendian_prefix(name, nlen, fc+stringOffset+off,slen); + if (matchlen >= 0) { + // check for target_id+1 immediately following, with same encoding & language + if (i+1 < count && ttUSHORT(fc+loc+12+6) == next_id && ttUSHORT(fc+loc+12) == platform && ttUSHORT(fc+loc+12+2) == encoding && ttUSHORT(fc+loc+12+4) == language) { + slen = ttUSHORT(fc+loc+12+8); + off = ttUSHORT(fc+loc+12+10); + if (slen == 0) { + if (matchlen == nlen) + return 1; + } else if (matchlen < nlen && name[matchlen] == ' ') { + ++matchlen; + if (stbtt_CompareUTF8toUTF16_bigendian_internal((char*) (name+matchlen), nlen-matchlen, (char*)(fc+stringOffset+off),slen)) + return 1; + } + } else { + // if nothing immediately following + if (matchlen == nlen) + return 1; + } + } + } + + // @TODO handle other encodings + } + } + return 0; +} + +static int stbtt__matches(stbtt_uint8 *fc, stbtt_uint32 offset, stbtt_uint8 *name, stbtt_int32 flags) +{ + stbtt_int32 nlen = (stbtt_int32) STBTT_strlen((char *) name); + stbtt_uint32 nm,hd; + if (!stbtt__isfont(fc+offset)) return 0; + + // check italics/bold/underline flags in macStyle... + if (flags) { + hd = stbtt__find_table(fc, offset, "head"); + if ((ttUSHORT(fc+hd+44) & 7) != (flags & 7)) return 0; + } + + nm = stbtt__find_table(fc, offset, "name"); + if (!nm) return 0; + + if (flags) { + // if we checked the macStyle flags, then just check the family and ignore the subfamily + if (stbtt__matchpair(fc, nm, name, nlen, 16, -1)) return 1; + if (stbtt__matchpair(fc, nm, name, nlen, 1, -1)) return 1; + if (stbtt__matchpair(fc, nm, name, nlen, 3, -1)) return 1; + } else { + if (stbtt__matchpair(fc, nm, name, nlen, 16, 17)) return 1; + if (stbtt__matchpair(fc, nm, name, nlen, 1, 2)) return 1; + if (stbtt__matchpair(fc, nm, name, nlen, 3, -1)) return 1; + } + + return 0; +} + +static int stbtt_FindMatchingFont_internal(unsigned char *font_collection, char *name_utf8, stbtt_int32 flags) +{ + stbtt_int32 i; + for (i=0;;++i) { + stbtt_int32 off = stbtt_GetFontOffsetForIndex(font_collection, i); + if (off < 0) return off; + if (stbtt__matches((stbtt_uint8 *) font_collection, off, (stbtt_uint8*) name_utf8, flags)) + return off; + } +} + +#if defined(__GNUC__) || defined(__clang__) +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wcast-qual" +#endif + +STBTT_DEF int stbtt_BakeFontBitmap(const unsigned char *data, int offset, + float pixel_height, unsigned char *pixels, int pw, int ph, + int first_char, int num_chars, stbtt_bakedchar *chardata) +{ + return stbtt_BakeFontBitmap_internal((unsigned char *) data, offset, pixel_height, pixels, pw, ph, first_char, num_chars, chardata); +} + +STBTT_DEF int stbtt_GetFontOffsetForIndex(const unsigned char *data, int index) +{ + return stbtt_GetFontOffsetForIndex_internal((unsigned char *) data, index); +} + +STBTT_DEF int stbtt_GetNumberOfFonts(const unsigned char *data) +{ + return stbtt_GetNumberOfFonts_internal((unsigned char *) data); +} + +STBTT_DEF int stbtt_InitFont(stbtt_fontinfo *info, const unsigned char *data, int offset) +{ + return stbtt_InitFont_internal(info, (unsigned char *) data, offset); +} + +STBTT_DEF int stbtt_FindMatchingFont(const unsigned char *fontdata, const char *name, int flags) +{ + return stbtt_FindMatchingFont_internal((unsigned char *) fontdata, (char *) name, flags); +} + +STBTT_DEF int stbtt_CompareUTF8toUTF16_bigendian(const char *s1, int len1, const char *s2, int len2) +{ + return stbtt_CompareUTF8toUTF16_bigendian_internal((char *) s1, len1, (char *) s2, len2); +} + +#if defined(__GNUC__) || defined(__clang__) +#pragma GCC diagnostic pop +#endif + +#endif // STB_TRUETYPE_IMPLEMENTATION + + +// FULL VERSION HISTORY +// +// 1.25 (2021-07-11) many fixes +// 1.24 (2020-02-05) fix warning +// 1.23 (2020-02-02) query SVG data for glyphs; query whole kerning table (but only kern not GPOS) +// 1.22 (2019-08-11) minimize missing-glyph duplication; fix kerning if both 'GPOS' and 'kern' are defined +// 1.21 (2019-02-25) fix warning +// 1.20 (2019-02-07) PackFontRange skips missing codepoints; GetScaleFontVMetrics() +// 1.19 (2018-02-11) OpenType GPOS kerning (horizontal only), STBTT_fmod +// 1.18 (2018-01-29) add missing function +// 1.17 (2017-07-23) make more arguments const; doc fix +// 1.16 (2017-07-12) SDF support +// 1.15 (2017-03-03) make more arguments const +// 1.14 (2017-01-16) num-fonts-in-TTC function +// 1.13 (2017-01-02) support OpenType fonts, certain Apple fonts +// 1.12 (2016-10-25) suppress warnings about casting away const with -Wcast-qual +// 1.11 (2016-04-02) fix unused-variable warning +// 1.10 (2016-04-02) allow user-defined fabs() replacement +// fix memory leak if fontsize=0.0 +// fix warning from duplicate typedef +// 1.09 (2016-01-16) warning fix; avoid crash on outofmem; use alloc userdata for PackFontRanges +// 1.08 (2015-09-13) document stbtt_Rasterize(); fixes for vertical & horizontal edges +// 1.07 (2015-08-01) allow PackFontRanges to accept arrays of sparse codepoints; +// allow PackFontRanges to pack and render in separate phases; +// fix stbtt_GetFontOFfsetForIndex (never worked for non-0 input?); +// fixed an assert() bug in the new rasterizer +// replace assert() with STBTT_assert() in new rasterizer +// 1.06 (2015-07-14) performance improvements (~35% faster on x86 and x64 on test machine) +// also more precise AA rasterizer, except if shapes overlap +// remove need for STBTT_sort +// 1.05 (2015-04-15) fix misplaced definitions for STBTT_STATIC +// 1.04 (2015-04-15) typo in example +// 1.03 (2015-04-12) STBTT_STATIC, fix memory leak in new packing, various fixes +// 1.02 (2014-12-10) fix various warnings & compile issues w/ stb_rect_pack, C++ +// 1.01 (2014-12-08) fix subpixel position when oversampling to exactly match +// non-oversampled; STBTT_POINT_SIZE for packed case only +// 1.00 (2014-12-06) add new PackBegin etc. API, w/ support for oversampling +// 0.99 (2014-09-18) fix multiple bugs with subpixel rendering (ryg) +// 0.9 (2014-08-07) support certain mac/iOS fonts without an MS platformID +// 0.8b (2014-07-07) fix a warning +// 0.8 (2014-05-25) fix a few more warnings +// 0.7 (2013-09-25) bugfix: subpixel glyph bug fixed in 0.5 had come back +// 0.6c (2012-07-24) improve documentation +// 0.6b (2012-07-20) fix a few more warnings +// 0.6 (2012-07-17) fix warnings; added stbtt_ScaleForMappingEmToPixels, +// stbtt_GetFontBoundingBox, stbtt_IsGlyphEmpty +// 0.5 (2011-12-09) bugfixes: +// subpixel glyph renderer computed wrong bounding box +// first vertex of shape can be off-curve (FreeSans) +// 0.4b (2011-12-03) fixed an error in the font baking example +// 0.4 (2011-12-01) kerning, subpixel rendering (tor) +// bugfixes for: +// codepoint-to-glyph conversion using table fmt=12 +// codepoint-to-glyph conversion using table fmt=4 +// stbtt_GetBakedQuad with non-square texture (Zer) +// updated Hello World! sample to use kerning and subpixel +// fixed some warnings +// 0.3 (2009-06-24) cmap fmt=12, compound shapes (MM) +// userdata, malloc-from-userdata, non-zero fill (stb) +// 0.2 (2009-03-11) Fix unsigned/signed char warnings +// 0.1 (2009-03-09) First public release +// + +/* +------------------------------------------------------------------------------ +This software is available under 2 licenses -- choose whichever you prefer. +------------------------------------------------------------------------------ +ALTERNATIVE A - MIT License +Copyright (c) 2017 Sean Barrett +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies +of the Software, and to permit persons to whom the Software is furnished to do +so, subject to the following conditions: +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. +------------------------------------------------------------------------------ +ALTERNATIVE B - Public Domain (www.unlicense.org) +This is free and unencumbered software released into the public domain. +Anyone is free to copy, modify, publish, use, compile, sell, or distribute this +software, either in source code form or as a compiled binary, for any purpose, +commercial or non-commercial, and by any means. +In jurisdictions that recognize copyright laws, the author or authors of this +software dedicate any and all copyright interest in the software to the public +domain. We make this dedication for the benefit of the public at large and to +the detriment of our heirs and successors. We intend this dedication to be an +overt act of relinquishment in perpetuity of all present and future rights to +this software under copyright law. +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN +ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +------------------------------------------------------------------------------ +*/ diff --git a/MacroLibX/third_party/vma.h b/MacroLibX/third_party/vma.h new file mode 100644 index 0000000..60f5720 --- /dev/null +++ b/MacroLibX/third_party/vma.h @@ -0,0 +1,19558 @@ +// +// Copyright (c) 2017-2022 Advanced Micro Devices, Inc. All rights reserved. +// +// Permission is hereby granted, free of charge, to any person obtaining a copy +// of this software and associated documentation files (the "Software"), to deal +// in the Software without restriction, including without limitation the rights +// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +// copies of the Software, and to permit persons to whom the Software is +// furnished to do so, subject to the following conditions: +// +// The above copyright notice and this permission notice shall be included in +// all copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +// THE SOFTWARE. +// + +#ifndef AMD_VULKAN_MEMORY_ALLOCATOR_H +#define AMD_VULKAN_MEMORY_ALLOCATOR_H + +/** \mainpage Vulkan Memory Allocator + +Version 3.0.1 (2022-05-26) + +Copyright (c) 2017-2022 Advanced Micro Devices, Inc. All rights reserved. \n +License: MIT + +API documentation divided into groups: [Modules](modules.html) + +\section main_table_of_contents Table of contents + +- User guide + - \subpage quick_start + - [Project setup](@ref quick_start_project_setup) + - [Initialization](@ref quick_start_initialization) + - [Resource allocation](@ref quick_start_resource_allocation) + - \subpage choosing_memory_type + - [Usage](@ref choosing_memory_type_usage) + - [Required and preferred flags](@ref choosing_memory_type_required_preferred_flags) + - [Explicit memory types](@ref choosing_memory_type_explicit_memory_types) + - [Custom memory pools](@ref choosing_memory_type_custom_memory_pools) + - [Dedicated allocations](@ref choosing_memory_type_dedicated_allocations) + - \subpage memory_mapping + - [Mapping functions](@ref memory_mapping_mapping_functions) + - [Persistently mapped memory](@ref memory_mapping_persistently_mapped_memory) + - [Cache flush and invalidate](@ref memory_mapping_cache_control) + - \subpage staying_within_budget + - [Querying for budget](@ref staying_within_budget_querying_for_budget) + - [Controlling memory usage](@ref staying_within_budget_controlling_memory_usage) + - \subpage resource_aliasing + - \subpage custom_memory_pools + - [Choosing memory type index](@ref custom_memory_pools_MemTypeIndex) + - [Linear allocation algorithm](@ref linear_algorithm) + - [Free-at-once](@ref linear_algorithm_free_at_once) + - [Stack](@ref linear_algorithm_stack) + - [Double stack](@ref linear_algorithm_double_stack) + - [Ring buffer](@ref linear_algorithm_ring_buffer) + - \subpage defragmentation + - \subpage statistics + - [Numeric statistics](@ref statistics_numeric_statistics) + - [JSON dump](@ref statistics_json_dump) + - \subpage allocation_annotation + - [Allocation user data](@ref allocation_user_data) + - [Allocation names](@ref allocation_names) + - \subpage virtual_allocator + - \subpage debugging_memory_usage + - [Memory initialization](@ref debugging_memory_usage_initialization) + - [Margins](@ref debugging_memory_usage_margins) + - [Corruption detection](@ref debugging_memory_usage_corruption_detection) + - \subpage opengl_interop +- \subpage usage_patterns + - [GPU-only resource](@ref usage_patterns_gpu_only) + - [Staging copy for upload](@ref usage_patterns_staging_copy_upload) + - [Readback](@ref usage_patterns_readback) + - [Advanced data uploading](@ref usage_patterns_advanced_data_uploading) + - [Other use cases](@ref usage_patterns_other_use_cases) +- \subpage configuration + - [Pointers to Vulkan functions](@ref config_Vulkan_functions) + - [Custom host memory allocator](@ref custom_memory_allocator) + - [Device memory allocation callbacks](@ref allocation_callbacks) + - [Device heap memory limit](@ref heap_memory_limit) +- Extension support + - \subpage vk_khr_dedicated_allocation + - \subpage enabling_buffer_device_address + - \subpage vk_ext_memory_priority + - \subpage vk_amd_device_coherent_memory +- \subpage general_considerations + - [Thread safety](@ref general_considerations_thread_safety) + - [Versioning and compatibility](@ref general_considerations_versioning_and_compatibility) + - [Validation layer warnings](@ref general_considerations_validation_layer_warnings) + - [Allocation algorithm](@ref general_considerations_allocation_algorithm) + - [Features not supported](@ref general_considerations_features_not_supported) + +\section main_see_also See also + +- [**Product page on GPUOpen**](https://gpuopen.com/gaming-product/vulkan-memory-allocator/) +- [**Source repository on GitHub**](https://github.com/GPUOpen-LibrariesAndSDKs/VulkanMemoryAllocator) + +\defgroup group_init Library initialization + +\brief API elements related to the initialization and management of the entire library, especially #VmaAllocator object. + +\defgroup group_alloc Memory allocation + +\brief API elements related to the allocation, deallocation, and management of Vulkan memory, buffers, images. +Most basic ones being: vmaCreateBuffer(), vmaCreateImage(). + +\defgroup group_virtual Virtual allocator + +\brief API elements related to the mechanism of \ref virtual_allocator - using the core allocation algorithm +for user-defined purpose without allocating any real GPU memory. + +\defgroup group_stats Statistics + +\brief API elements that query current status of the allocator, from memory usage, budget, to full dump of the internal state in JSON format. +See documentation chapter: \ref statistics. +*/ + + +#ifdef __cplusplus +extern "C" { +#endif + +#ifndef VULKAN_H_ + #include +#endif + +// Define this macro to declare maximum supported Vulkan version in format AAABBBCCC, +// where AAA = major, BBB = minor, CCC = patch. +// If you want to use version > 1.0, it still needs to be enabled via VmaAllocatorCreateInfo::vulkanApiVersion. +#if !defined(VMA_VULKAN_VERSION) + #if defined(VK_VERSION_1_3) + #define VMA_VULKAN_VERSION 1003000 + #elif defined(VK_VERSION_1_2) + #define VMA_VULKAN_VERSION 1002000 + #elif defined(VK_VERSION_1_1) + #define VMA_VULKAN_VERSION 1001000 + #else + #define VMA_VULKAN_VERSION 1000000 + #endif +#endif + +#if defined(__ANDROID__) && defined(VK_NO_PROTOTYPES) && VMA_STATIC_VULKAN_FUNCTIONS + extern PFN_vkGetInstanceProcAddr vkGetInstanceProcAddr; + extern PFN_vkGetDeviceProcAddr vkGetDeviceProcAddr; + extern PFN_vkGetPhysicalDeviceProperties vkGetPhysicalDeviceProperties; + extern PFN_vkGetPhysicalDeviceMemoryProperties vkGetPhysicalDeviceMemoryProperties; + extern PFN_vkAllocateMemory vkAllocateMemory; + extern PFN_vkFreeMemory vkFreeMemory; + extern PFN_vkMapMemory vkMapMemory; + extern PFN_vkUnmapMemory vkUnmapMemory; + extern PFN_vkFlushMappedMemoryRanges vkFlushMappedMemoryRanges; + extern PFN_vkInvalidateMappedMemoryRanges vkInvalidateMappedMemoryRanges; + extern PFN_vkBindBufferMemory vkBindBufferMemory; + extern PFN_vkBindImageMemory vkBindImageMemory; + extern PFN_vkGetBufferMemoryRequirements vkGetBufferMemoryRequirements; + extern PFN_vkGetImageMemoryRequirements vkGetImageMemoryRequirements; + extern PFN_vkCreateBuffer vkCreateBuffer; + extern PFN_vkDestroyBuffer vkDestroyBuffer; + extern PFN_vkCreateImage vkCreateImage; + extern PFN_vkDestroyImage vkDestroyImage; + extern PFN_vkCmdCopyBuffer vkCmdCopyBuffer; + #if VMA_VULKAN_VERSION >= 1001000 + extern PFN_vkGetBufferMemoryRequirements2 vkGetBufferMemoryRequirements2; + extern PFN_vkGetImageMemoryRequirements2 vkGetImageMemoryRequirements2; + extern PFN_vkBindBufferMemory2 vkBindBufferMemory2; + extern PFN_vkBindImageMemory2 vkBindImageMemory2; + extern PFN_vkGetPhysicalDeviceMemoryProperties2 vkGetPhysicalDeviceMemoryProperties2; + #endif // #if VMA_VULKAN_VERSION >= 1001000 +#endif // #if defined(__ANDROID__) && VMA_STATIC_VULKAN_FUNCTIONS && VK_NO_PROTOTYPES + +#if !defined(VMA_DEDICATED_ALLOCATION) + #if VK_KHR_get_memory_requirements2 && VK_KHR_dedicated_allocation + #define VMA_DEDICATED_ALLOCATION 1 + #else + #define VMA_DEDICATED_ALLOCATION 0 + #endif +#endif + +#if !defined(VMA_BIND_MEMORY2) + #if VK_KHR_bind_memory2 + #define VMA_BIND_MEMORY2 1 + #else + #define VMA_BIND_MEMORY2 0 + #endif +#endif + +#if !defined(VMA_MEMORY_BUDGET) + #if VK_EXT_memory_budget && (VK_KHR_get_physical_device_properties2 || VMA_VULKAN_VERSION >= 1001000) + #define VMA_MEMORY_BUDGET 1 + #else + #define VMA_MEMORY_BUDGET 0 + #endif +#endif + +// Defined to 1 when VK_KHR_buffer_device_address device extension or equivalent core Vulkan 1.2 feature is defined in its headers. +#if !defined(VMA_BUFFER_DEVICE_ADDRESS) + #if VK_KHR_buffer_device_address || VMA_VULKAN_VERSION >= 1002000 + #define VMA_BUFFER_DEVICE_ADDRESS 1 + #else + #define VMA_BUFFER_DEVICE_ADDRESS 0 + #endif +#endif + +// Defined to 1 when VK_EXT_memory_priority device extension is defined in Vulkan headers. +#if !defined(VMA_MEMORY_PRIORITY) + #if VK_EXT_memory_priority + #define VMA_MEMORY_PRIORITY 1 + #else + #define VMA_MEMORY_PRIORITY 0 + #endif +#endif + +// Defined to 1 when VK_KHR_external_memory device extension is defined in Vulkan headers. +#if !defined(VMA_EXTERNAL_MEMORY) + #if VK_KHR_external_memory + #define VMA_EXTERNAL_MEMORY 1 + #else + #define VMA_EXTERNAL_MEMORY 0 + #endif +#endif + +// Define these macros to decorate all public functions with additional code, +// before and after returned type, appropriately. This may be useful for +// exporting the functions when compiling VMA as a separate library. Example: +// #define VMA_CALL_PRE __declspec(dllexport) +// #define VMA_CALL_POST __cdecl +#ifndef VMA_CALL_PRE + #define VMA_CALL_PRE +#endif +#ifndef VMA_CALL_POST + #define VMA_CALL_POST +#endif + +// Define this macro to decorate pointers with an attribute specifying the +// length of the array they point to if they are not null. +// +// The length may be one of +// - The name of another parameter in the argument list where the pointer is declared +// - The name of another member in the struct where the pointer is declared +// - The name of a member of a struct type, meaning the value of that member in +// the context of the call. For example +// VMA_LEN_IF_NOT_NULL("VkPhysicalDeviceMemoryProperties::memoryHeapCount"), +// this means the number of memory heaps available in the device associated +// with the VmaAllocator being dealt with. +#ifndef VMA_LEN_IF_NOT_NULL + #define VMA_LEN_IF_NOT_NULL(len) +#endif + +// The VMA_NULLABLE macro is defined to be _Nullable when compiling with Clang. +// see: https://clang.llvm.org/docs/AttributeReference.html#nullable +#ifndef VMA_NULLABLE + #ifdef __clang__ + #define VMA_NULLABLE _Nullable + #else + #define VMA_NULLABLE + #endif +#endif + +// The VMA_NOT_NULL macro is defined to be _Nonnull when compiling with Clang. +// see: https://clang.llvm.org/docs/AttributeReference.html#nonnull +#ifndef VMA_NOT_NULL + #ifdef __clang__ + #define VMA_NOT_NULL _Nonnull + #else + #define VMA_NOT_NULL + #endif +#endif + +// If non-dispatchable handles are represented as pointers then we can give +// then nullability annotations +#ifndef VMA_NOT_NULL_NON_DISPATCHABLE + #if defined(__LP64__) || defined(_WIN64) || (defined(__x86_64__) && !defined(__ILP32__) ) || defined(_M_X64) || defined(__ia64) || defined (_M_IA64) || defined(__aarch64__) || defined(__powerpc64__) + #define VMA_NOT_NULL_NON_DISPATCHABLE VMA_NOT_NULL + #else + #define VMA_NOT_NULL_NON_DISPATCHABLE + #endif +#endif + +#ifndef VMA_NULLABLE_NON_DISPATCHABLE + #if defined(__LP64__) || defined(_WIN64) || (defined(__x86_64__) && !defined(__ILP32__) ) || defined(_M_X64) || defined(__ia64) || defined (_M_IA64) || defined(__aarch64__) || defined(__powerpc64__) + #define VMA_NULLABLE_NON_DISPATCHABLE VMA_NULLABLE + #else + #define VMA_NULLABLE_NON_DISPATCHABLE + #endif +#endif + +#ifndef VMA_STATS_STRING_ENABLED + #define VMA_STATS_STRING_ENABLED 1 +#endif + +//////////////////////////////////////////////////////////////////////////////// +//////////////////////////////////////////////////////////////////////////////// +// +// INTERFACE +// +//////////////////////////////////////////////////////////////////////////////// +//////////////////////////////////////////////////////////////////////////////// + +// Sections for managing code placement in file, only for development purposes e.g. for convenient folding inside an IDE. +#ifndef _VMA_ENUM_DECLARATIONS + +/** +\addtogroup group_init +@{ +*/ + +/// Flags for created #VmaAllocator. +typedef enum VmaAllocatorCreateFlagBits +{ + /** \brief Allocator and all objects created from it will not be synchronized internally, so you must guarantee they are used from only one thread at a time or synchronized externally by you. + + Using this flag may increase performance because internal mutexes are not used. + */ + VMA_ALLOCATOR_CREATE_EXTERNALLY_SYNCHRONIZED_BIT = 0x00000001, + /** \brief Enables usage of VK_KHR_dedicated_allocation extension. + + The flag works only if VmaAllocatorCreateInfo::vulkanApiVersion `== VK_API_VERSION_1_0`. + When it is `VK_API_VERSION_1_1`, the flag is ignored because the extension has been promoted to Vulkan 1.1. + + Using this extension will automatically allocate dedicated blocks of memory for + some buffers and images instead of suballocating place for them out of bigger + memory blocks (as if you explicitly used #VMA_ALLOCATION_CREATE_DEDICATED_MEMORY_BIT + flag) when it is recommended by the driver. It may improve performance on some + GPUs. + + You may set this flag only if you found out that following device extensions are + supported, you enabled them while creating Vulkan device passed as + VmaAllocatorCreateInfo::device, and you want them to be used internally by this + library: + + - VK_KHR_get_memory_requirements2 (device extension) + - VK_KHR_dedicated_allocation (device extension) + + When this flag is set, you can experience following warnings reported by Vulkan + validation layer. You can ignore them. + + > vkBindBufferMemory(): Binding memory to buffer 0x2d but vkGetBufferMemoryRequirements() has not been called on that buffer. + */ + VMA_ALLOCATOR_CREATE_KHR_DEDICATED_ALLOCATION_BIT = 0x00000002, + /** + Enables usage of VK_KHR_bind_memory2 extension. + + The flag works only if VmaAllocatorCreateInfo::vulkanApiVersion `== VK_API_VERSION_1_0`. + When it is `VK_API_VERSION_1_1`, the flag is ignored because the extension has been promoted to Vulkan 1.1. + + You may set this flag only if you found out that this device extension is supported, + you enabled it while creating Vulkan device passed as VmaAllocatorCreateInfo::device, + and you want it to be used internally by this library. + + The extension provides functions `vkBindBufferMemory2KHR` and `vkBindImageMemory2KHR`, + which allow to pass a chain of `pNext` structures while binding. + This flag is required if you use `pNext` parameter in vmaBindBufferMemory2() or vmaBindImageMemory2(). + */ + VMA_ALLOCATOR_CREATE_KHR_BIND_MEMORY2_BIT = 0x00000004, + /** + Enables usage of VK_EXT_memory_budget extension. + + You may set this flag only if you found out that this device extension is supported, + you enabled it while creating Vulkan device passed as VmaAllocatorCreateInfo::device, + and you want it to be used internally by this library, along with another instance extension + VK_KHR_get_physical_device_properties2, which is required by it (or Vulkan 1.1, where this extension is promoted). + + The extension provides query for current memory usage and budget, which will probably + be more accurate than an estimation used by the library otherwise. + */ + VMA_ALLOCATOR_CREATE_EXT_MEMORY_BUDGET_BIT = 0x00000008, + /** + Enables usage of VK_AMD_device_coherent_memory extension. + + You may set this flag only if you: + + - found out that this device extension is supported and enabled it while creating Vulkan device passed as VmaAllocatorCreateInfo::device, + - checked that `VkPhysicalDeviceCoherentMemoryFeaturesAMD::deviceCoherentMemory` is true and set it while creating the Vulkan device, + - want it to be used internally by this library. + + The extension and accompanying device feature provide access to memory types with + `VK_MEMORY_PROPERTY_DEVICE_COHERENT_BIT_AMD` and `VK_MEMORY_PROPERTY_DEVICE_UNCACHED_BIT_AMD` flags. + They are useful mostly for writing breadcrumb markers - a common method for debugging GPU crash/hang/TDR. + + When the extension is not enabled, such memory types are still enumerated, but their usage is illegal. + To protect from this error, if you don't create the allocator with this flag, it will refuse to allocate any memory or create a custom pool in such memory type, + returning `VK_ERROR_FEATURE_NOT_PRESENT`. + */ + VMA_ALLOCATOR_CREATE_AMD_DEVICE_COHERENT_MEMORY_BIT = 0x00000010, + /** + Enables usage of "buffer device address" feature, which allows you to use function + `vkGetBufferDeviceAddress*` to get raw GPU pointer to a buffer and pass it for usage inside a shader. + + You may set this flag only if you: + + 1. (For Vulkan version < 1.2) Found as available and enabled device extension + VK_KHR_buffer_device_address. + This extension is promoted to core Vulkan 1.2. + 2. Found as available and enabled device feature `VkPhysicalDeviceBufferDeviceAddressFeatures::bufferDeviceAddress`. + + When this flag is set, you can create buffers with `VK_BUFFER_USAGE_SHADER_DEVICE_ADDRESS_BIT` using VMA. + The library automatically adds `VK_MEMORY_ALLOCATE_DEVICE_ADDRESS_BIT` to + allocated memory blocks wherever it might be needed. + + For more information, see documentation chapter \ref enabling_buffer_device_address. + */ + VMA_ALLOCATOR_CREATE_BUFFER_DEVICE_ADDRESS_BIT = 0x00000020, + /** + Enables usage of VK_EXT_memory_priority extension in the library. + + You may set this flag only if you found available and enabled this device extension, + along with `VkPhysicalDeviceMemoryPriorityFeaturesEXT::memoryPriority == VK_TRUE`, + while creating Vulkan device passed as VmaAllocatorCreateInfo::device. + + When this flag is used, VmaAllocationCreateInfo::priority and VmaPoolCreateInfo::priority + are used to set priorities of allocated Vulkan memory. Without it, these variables are ignored. + + A priority must be a floating-point value between 0 and 1, indicating the priority of the allocation relative to other memory allocations. + Larger values are higher priority. The granularity of the priorities is implementation-dependent. + It is automatically passed to every call to `vkAllocateMemory` done by the library using structure `VkMemoryPriorityAllocateInfoEXT`. + The value to be used for default priority is 0.5. + For more details, see the documentation of the VK_EXT_memory_priority extension. + */ + VMA_ALLOCATOR_CREATE_EXT_MEMORY_PRIORITY_BIT = 0x00000040, + + VMA_ALLOCATOR_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF +} VmaAllocatorCreateFlagBits; +/// See #VmaAllocatorCreateFlagBits. +typedef VkFlags VmaAllocatorCreateFlags; + +/** @} */ + +/** +\addtogroup group_alloc +@{ +*/ + +/// \brief Intended usage of the allocated memory. +typedef enum VmaMemoryUsage +{ + /** No intended memory usage specified. + Use other members of VmaAllocationCreateInfo to specify your requirements. + */ + VMA_MEMORY_USAGE_UNKNOWN = 0, + /** + \deprecated Obsolete, preserved for backward compatibility. + Prefers `VK_MEMORY_PROPERTY_DEVICE_LOCAL_BIT`. + */ + VMA_MEMORY_USAGE_GPU_ONLY = 1, + /** + \deprecated Obsolete, preserved for backward compatibility. + Guarantees `VK_MEMORY_PROPERTY_HOST_VISIBLE_BIT` and `VK_MEMORY_PROPERTY_HOST_COHERENT_BIT`. + */ + VMA_MEMORY_USAGE_CPU_ONLY = 2, + /** + \deprecated Obsolete, preserved for backward compatibility. + Guarantees `VK_MEMORY_PROPERTY_HOST_VISIBLE_BIT`, prefers `VK_MEMORY_PROPERTY_DEVICE_LOCAL_BIT`. + */ + VMA_MEMORY_USAGE_CPU_TO_GPU = 3, + /** + \deprecated Obsolete, preserved for backward compatibility. + Guarantees `VK_MEMORY_PROPERTY_HOST_VISIBLE_BIT`, prefers `VK_MEMORY_PROPERTY_HOST_CACHED_BIT`. + */ + VMA_MEMORY_USAGE_GPU_TO_CPU = 4, + /** + \deprecated Obsolete, preserved for backward compatibility. + Prefers not `VK_MEMORY_PROPERTY_DEVICE_LOCAL_BIT`. + */ + VMA_MEMORY_USAGE_CPU_COPY = 5, + /** + Lazily allocated GPU memory having `VK_MEMORY_PROPERTY_LAZILY_ALLOCATED_BIT`. + Exists mostly on mobile platforms. Using it on desktop PC or other GPUs with no such memory type present will fail the allocation. + + Usage: Memory for transient attachment images (color attachments, depth attachments etc.), created with `VK_IMAGE_USAGE_TRANSIENT_ATTACHMENT_BIT`. + + Allocations with this usage are always created as dedicated - it implies #VMA_ALLOCATION_CREATE_DEDICATED_MEMORY_BIT. + */ + VMA_MEMORY_USAGE_GPU_LAZILY_ALLOCATED = 6, + /** + Selects best memory type automatically. + This flag is recommended for most common use cases. + + When using this flag, if you want to map the allocation (using vmaMapMemory() or #VMA_ALLOCATION_CREATE_MAPPED_BIT), + you must pass one of the flags: #VMA_ALLOCATION_CREATE_HOST_ACCESS_SEQUENTIAL_WRITE_BIT or #VMA_ALLOCATION_CREATE_HOST_ACCESS_RANDOM_BIT + in VmaAllocationCreateInfo::flags. + + It can be used only with functions that let the library know `VkBufferCreateInfo` or `VkImageCreateInfo`, e.g. + vmaCreateBuffer(), vmaCreateImage(), vmaFindMemoryTypeIndexForBufferInfo(), vmaFindMemoryTypeIndexForImageInfo() + and not with generic memory allocation functions. + */ + VMA_MEMORY_USAGE_AUTO = 7, + /** + Selects best memory type automatically with preference for GPU (device) memory. + + When using this flag, if you want to map the allocation (using vmaMapMemory() or #VMA_ALLOCATION_CREATE_MAPPED_BIT), + you must pass one of the flags: #VMA_ALLOCATION_CREATE_HOST_ACCESS_SEQUENTIAL_WRITE_BIT or #VMA_ALLOCATION_CREATE_HOST_ACCESS_RANDOM_BIT + in VmaAllocationCreateInfo::flags. + + It can be used only with functions that let the library know `VkBufferCreateInfo` or `VkImageCreateInfo`, e.g. + vmaCreateBuffer(), vmaCreateImage(), vmaFindMemoryTypeIndexForBufferInfo(), vmaFindMemoryTypeIndexForImageInfo() + and not with generic memory allocation functions. + */ + VMA_MEMORY_USAGE_AUTO_PREFER_DEVICE = 8, + /** + Selects best memory type automatically with preference for CPU (host) memory. + + When using this flag, if you want to map the allocation (using vmaMapMemory() or #VMA_ALLOCATION_CREATE_MAPPED_BIT), + you must pass one of the flags: #VMA_ALLOCATION_CREATE_HOST_ACCESS_SEQUENTIAL_WRITE_BIT or #VMA_ALLOCATION_CREATE_HOST_ACCESS_RANDOM_BIT + in VmaAllocationCreateInfo::flags. + + It can be used only with functions that let the library know `VkBufferCreateInfo` or `VkImageCreateInfo`, e.g. + vmaCreateBuffer(), vmaCreateImage(), vmaFindMemoryTypeIndexForBufferInfo(), vmaFindMemoryTypeIndexForImageInfo() + and not with generic memory allocation functions. + */ + VMA_MEMORY_USAGE_AUTO_PREFER_HOST = 9, + + VMA_MEMORY_USAGE_MAX_ENUM = 0x7FFFFFFF +} VmaMemoryUsage; + +/// Flags to be passed as VmaAllocationCreateInfo::flags. +typedef enum VmaAllocationCreateFlagBits +{ + /** \brief Set this flag if the allocation should have its own memory block. + + Use it for special, big resources, like fullscreen images used as attachments. + */ + VMA_ALLOCATION_CREATE_DEDICATED_MEMORY_BIT = 0x00000001, + + /** \brief Set this flag to only try to allocate from existing `VkDeviceMemory` blocks and never create new such block. + + If new allocation cannot be placed in any of the existing blocks, allocation + fails with `VK_ERROR_OUT_OF_DEVICE_MEMORY` error. + + You should not use #VMA_ALLOCATION_CREATE_DEDICATED_MEMORY_BIT and + #VMA_ALLOCATION_CREATE_NEVER_ALLOCATE_BIT at the same time. It makes no sense. + */ + VMA_ALLOCATION_CREATE_NEVER_ALLOCATE_BIT = 0x00000002, + /** \brief Set this flag to use a memory that will be persistently mapped and retrieve pointer to it. + + Pointer to mapped memory will be returned through VmaAllocationInfo::pMappedData. + + It is valid to use this flag for allocation made from memory type that is not + `HOST_VISIBLE`. This flag is then ignored and memory is not mapped. This is + useful if you need an allocation that is efficient to use on GPU + (`DEVICE_LOCAL`) and still want to map it directly if possible on platforms that + support it (e.g. Intel GPU). + */ + VMA_ALLOCATION_CREATE_MAPPED_BIT = 0x00000004, + /** \deprecated Preserved for backward compatibility. Consider using vmaSetAllocationName() instead. + + Set this flag to treat VmaAllocationCreateInfo::pUserData as pointer to a + null-terminated string. Instead of copying pointer value, a local copy of the + string is made and stored in allocation's `pName`. The string is automatically + freed together with the allocation. It is also used in vmaBuildStatsString(). + */ + VMA_ALLOCATION_CREATE_USER_DATA_COPY_STRING_BIT = 0x00000020, + /** Allocation will be created from upper stack in a double stack pool. + + This flag is only allowed for custom pools created with #VMA_POOL_CREATE_LINEAR_ALGORITHM_BIT flag. + */ + VMA_ALLOCATION_CREATE_UPPER_ADDRESS_BIT = 0x00000040, + /** Create both buffer/image and allocation, but don't bind them together. + It is useful when you want to bind yourself to do some more advanced binding, e.g. using some extensions. + The flag is meaningful only with functions that bind by default: vmaCreateBuffer(), vmaCreateImage(). + Otherwise it is ignored. + + If you want to make sure the new buffer/image is not tied to the new memory allocation + through `VkMemoryDedicatedAllocateInfoKHR` structure in case the allocation ends up in its own memory block, + use also flag #VMA_ALLOCATION_CREATE_CAN_ALIAS_BIT. + */ + VMA_ALLOCATION_CREATE_DONT_BIND_BIT = 0x00000080, + /** Create allocation only if additional device memory required for it, if any, won't exceed + memory budget. Otherwise return `VK_ERROR_OUT_OF_DEVICE_MEMORY`. + */ + VMA_ALLOCATION_CREATE_WITHIN_BUDGET_BIT = 0x00000100, + /** \brief Set this flag if the allocated memory will have aliasing resources. + + Usage of this flag prevents supplying `VkMemoryDedicatedAllocateInfoKHR` when #VMA_ALLOCATION_CREATE_DEDICATED_MEMORY_BIT is specified. + Otherwise created dedicated memory will not be suitable for aliasing resources, resulting in Vulkan Validation Layer errors. + */ + VMA_ALLOCATION_CREATE_CAN_ALIAS_BIT = 0x00000200, + /** + Requests possibility to map the allocation (using vmaMapMemory() or #VMA_ALLOCATION_CREATE_MAPPED_BIT). + + - If you use #VMA_MEMORY_USAGE_AUTO or other `VMA_MEMORY_USAGE_AUTO*` value, + you must use this flag to be able to map the allocation. Otherwise, mapping is incorrect. + - If you use other value of #VmaMemoryUsage, this flag is ignored and mapping is always possible in memory types that are `HOST_VISIBLE`. + This includes allocations created in \ref custom_memory_pools. + + Declares that mapped memory will only be written sequentially, e.g. using `memcpy()` or a loop writing number-by-number, + never read or accessed randomly, so a memory type can be selected that is uncached and write-combined. + + \warning Violating this declaration may work correctly, but will likely be very slow. + Watch out for implicit reads introduced by doing e.g. `pMappedData[i] += x;` + Better prepare your data in a local variable and `memcpy()` it to the mapped pointer all at once. + */ + VMA_ALLOCATION_CREATE_HOST_ACCESS_SEQUENTIAL_WRITE_BIT = 0x00000400, + /** + Requests possibility to map the allocation (using vmaMapMemory() or #VMA_ALLOCATION_CREATE_MAPPED_BIT). + + - If you use #VMA_MEMORY_USAGE_AUTO or other `VMA_MEMORY_USAGE_AUTO*` value, + you must use this flag to be able to map the allocation. Otherwise, mapping is incorrect. + - If you use other value of #VmaMemoryUsage, this flag is ignored and mapping is always possible in memory types that are `HOST_VISIBLE`. + This includes allocations created in \ref custom_memory_pools. + + Declares that mapped memory can be read, written, and accessed in random order, + so a `HOST_CACHED` memory type is required. + */ + VMA_ALLOCATION_CREATE_HOST_ACCESS_RANDOM_BIT = 0x00000800, + /** + Together with #VMA_ALLOCATION_CREATE_HOST_ACCESS_SEQUENTIAL_WRITE_BIT or #VMA_ALLOCATION_CREATE_HOST_ACCESS_RANDOM_BIT, + it says that despite request for host access, a not-`HOST_VISIBLE` memory type can be selected + if it may improve performance. + + By using this flag, you declare that you will check if the allocation ended up in a `HOST_VISIBLE` memory type + (e.g. using vmaGetAllocationMemoryProperties()) and if not, you will create some "staging" buffer and + issue an explicit transfer to write/read your data. + To prepare for this possibility, don't forget to add appropriate flags like + `VK_BUFFER_USAGE_TRANSFER_DST_BIT`, `VK_BUFFER_USAGE_TRANSFER_SRC_BIT` to the parameters of created buffer or image. + */ + VMA_ALLOCATION_CREATE_HOST_ACCESS_ALLOW_TRANSFER_INSTEAD_BIT = 0x00001000, + /** Allocation strategy that chooses smallest possible free range for the allocation + to minimize memory usage and fragmentation, possibly at the expense of allocation time. + */ + VMA_ALLOCATION_CREATE_STRATEGY_MIN_MEMORY_BIT = 0x00010000, + /** Allocation strategy that chooses first suitable free range for the allocation - + not necessarily in terms of the smallest offset but the one that is easiest and fastest to find + to minimize allocation time, possibly at the expense of allocation quality. + */ + VMA_ALLOCATION_CREATE_STRATEGY_MIN_TIME_BIT = 0x00020000, + /** Allocation strategy that chooses always the lowest offset in available space. + This is not the most efficient strategy but achieves highly packed data. + Used internally by defragmentation, not recomended in typical usage. + */ + VMA_ALLOCATION_CREATE_STRATEGY_MIN_OFFSET_BIT = 0x00040000, + /** Alias to #VMA_ALLOCATION_CREATE_STRATEGY_MIN_MEMORY_BIT. + */ + VMA_ALLOCATION_CREATE_STRATEGY_BEST_FIT_BIT = VMA_ALLOCATION_CREATE_STRATEGY_MIN_MEMORY_BIT, + /** Alias to #VMA_ALLOCATION_CREATE_STRATEGY_MIN_TIME_BIT. + */ + VMA_ALLOCATION_CREATE_STRATEGY_FIRST_FIT_BIT = VMA_ALLOCATION_CREATE_STRATEGY_MIN_TIME_BIT, + /** A bit mask to extract only `STRATEGY` bits from entire set of flags. + */ + VMA_ALLOCATION_CREATE_STRATEGY_MASK = + VMA_ALLOCATION_CREATE_STRATEGY_MIN_MEMORY_BIT | + VMA_ALLOCATION_CREATE_STRATEGY_MIN_TIME_BIT | + VMA_ALLOCATION_CREATE_STRATEGY_MIN_OFFSET_BIT, + + VMA_ALLOCATION_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF +} VmaAllocationCreateFlagBits; +/// See #VmaAllocationCreateFlagBits. +typedef VkFlags VmaAllocationCreateFlags; + +/// Flags to be passed as VmaPoolCreateInfo::flags. +typedef enum VmaPoolCreateFlagBits +{ + /** \brief Use this flag if you always allocate only buffers and linear images or only optimal images out of this pool and so Buffer-Image Granularity can be ignored. + + This is an optional optimization flag. + + If you always allocate using vmaCreateBuffer(), vmaCreateImage(), + vmaAllocateMemoryForBuffer(), then you don't need to use it because allocator + knows exact type of your allocations so it can handle Buffer-Image Granularity + in the optimal way. + + If you also allocate using vmaAllocateMemoryForImage() or vmaAllocateMemory(), + exact type of such allocations is not known, so allocator must be conservative + in handling Buffer-Image Granularity, which can lead to suboptimal allocation + (wasted memory). In that case, if you can make sure you always allocate only + buffers and linear images or only optimal images out of this pool, use this flag + to make allocator disregard Buffer-Image Granularity and so make allocations + faster and more optimal. + */ + VMA_POOL_CREATE_IGNORE_BUFFER_IMAGE_GRANULARITY_BIT = 0x00000002, + + /** \brief Enables alternative, linear allocation algorithm in this pool. + + Specify this flag to enable linear allocation algorithm, which always creates + new allocations after last one and doesn't reuse space from allocations freed in + between. It trades memory consumption for simplified algorithm and data + structure, which has better performance and uses less memory for metadata. + + By using this flag, you can achieve behavior of free-at-once, stack, + ring buffer, and double stack. + For details, see documentation chapter \ref linear_algorithm. + */ + VMA_POOL_CREATE_LINEAR_ALGORITHM_BIT = 0x00000004, + + /** Bit mask to extract only `ALGORITHM` bits from entire set of flags. + */ + VMA_POOL_CREATE_ALGORITHM_MASK = + VMA_POOL_CREATE_LINEAR_ALGORITHM_BIT, + + VMA_POOL_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF +} VmaPoolCreateFlagBits; +/// Flags to be passed as VmaPoolCreateInfo::flags. See #VmaPoolCreateFlagBits. +typedef VkFlags VmaPoolCreateFlags; + +/// Flags to be passed as VmaDefragmentationInfo::flags. +typedef enum VmaDefragmentationFlagBits +{ + /* \brief Use simple but fast algorithm for defragmentation. + May not achieve best results but will require least time to compute and least allocations to copy. + */ + VMA_DEFRAGMENTATION_FLAG_ALGORITHM_FAST_BIT = 0x1, + /* \brief Default defragmentation algorithm, applied also when no `ALGORITHM` flag is specified. + Offers a balance between defragmentation quality and the amount of allocations and bytes that need to be moved. + */ + VMA_DEFRAGMENTATION_FLAG_ALGORITHM_BALANCED_BIT = 0x2, + /* \brief Perform full defragmentation of memory. + Can result in notably more time to compute and allocations to copy, but will achieve best memory packing. + */ + VMA_DEFRAGMENTATION_FLAG_ALGORITHM_FULL_BIT = 0x4, + /** \brief Use the most roboust algorithm at the cost of time to compute and number of copies to make. + Only available when bufferImageGranularity is greater than 1, since it aims to reduce + alignment issues between different types of resources. + Otherwise falls back to same behavior as #VMA_DEFRAGMENTATION_FLAG_ALGORITHM_FULL_BIT. + */ + VMA_DEFRAGMENTATION_FLAG_ALGORITHM_EXTENSIVE_BIT = 0x8, + + /// A bit mask to extract only `ALGORITHM` bits from entire set of flags. + VMA_DEFRAGMENTATION_FLAG_ALGORITHM_MASK = + VMA_DEFRAGMENTATION_FLAG_ALGORITHM_FAST_BIT | + VMA_DEFRAGMENTATION_FLAG_ALGORITHM_BALANCED_BIT | + VMA_DEFRAGMENTATION_FLAG_ALGORITHM_FULL_BIT | + VMA_DEFRAGMENTATION_FLAG_ALGORITHM_EXTENSIVE_BIT, + + VMA_DEFRAGMENTATION_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF +} VmaDefragmentationFlagBits; +/// See #VmaDefragmentationFlagBits. +typedef VkFlags VmaDefragmentationFlags; + +/// Operation performed on single defragmentation move. See structure #VmaDefragmentationMove. +typedef enum VmaDefragmentationMoveOperation +{ + /// Buffer/image has been recreated at `dstTmpAllocation`, data has been copied, old buffer/image has been destroyed. `srcAllocation` should be changed to point to the new place. This is the default value set by vmaBeginDefragmentationPass(). + VMA_DEFRAGMENTATION_MOVE_OPERATION_COPY = 0, + /// Set this value if you cannot move the allocation. New place reserved at `dstTmpAllocation` will be freed. `srcAllocation` will remain unchanged. + VMA_DEFRAGMENTATION_MOVE_OPERATION_IGNORE = 1, + /// Set this value if you decide to abandon the allocation and you destroyed the buffer/image. New place reserved at `dstTmpAllocation` will be freed, along with `srcAllocation`, which will be destroyed. + VMA_DEFRAGMENTATION_MOVE_OPERATION_DESTROY = 2, +} VmaDefragmentationMoveOperation; + +/** @} */ + +/** +\addtogroup group_virtual +@{ +*/ + +/// Flags to be passed as VmaVirtualBlockCreateInfo::flags. +typedef enum VmaVirtualBlockCreateFlagBits +{ + /** \brief Enables alternative, linear allocation algorithm in this virtual block. + + Specify this flag to enable linear allocation algorithm, which always creates + new allocations after last one and doesn't reuse space from allocations freed in + between. It trades memory consumption for simplified algorithm and data + structure, which has better performance and uses less memory for metadata. + + By using this flag, you can achieve behavior of free-at-once, stack, + ring buffer, and double stack. + For details, see documentation chapter \ref linear_algorithm. + */ + VMA_VIRTUAL_BLOCK_CREATE_LINEAR_ALGORITHM_BIT = 0x00000001, + + /** \brief Bit mask to extract only `ALGORITHM` bits from entire set of flags. + */ + VMA_VIRTUAL_BLOCK_CREATE_ALGORITHM_MASK = + VMA_VIRTUAL_BLOCK_CREATE_LINEAR_ALGORITHM_BIT, + + VMA_VIRTUAL_BLOCK_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF +} VmaVirtualBlockCreateFlagBits; +/// Flags to be passed as VmaVirtualBlockCreateInfo::flags. See #VmaVirtualBlockCreateFlagBits. +typedef VkFlags VmaVirtualBlockCreateFlags; + +/// Flags to be passed as VmaVirtualAllocationCreateInfo::flags. +typedef enum VmaVirtualAllocationCreateFlagBits +{ + /** \brief Allocation will be created from upper stack in a double stack pool. + + This flag is only allowed for virtual blocks created with #VMA_VIRTUAL_BLOCK_CREATE_LINEAR_ALGORITHM_BIT flag. + */ + VMA_VIRTUAL_ALLOCATION_CREATE_UPPER_ADDRESS_BIT = VMA_ALLOCATION_CREATE_UPPER_ADDRESS_BIT, + /** \brief Allocation strategy that tries to minimize memory usage. + */ + VMA_VIRTUAL_ALLOCATION_CREATE_STRATEGY_MIN_MEMORY_BIT = VMA_ALLOCATION_CREATE_STRATEGY_MIN_MEMORY_BIT, + /** \brief Allocation strategy that tries to minimize allocation time. + */ + VMA_VIRTUAL_ALLOCATION_CREATE_STRATEGY_MIN_TIME_BIT = VMA_ALLOCATION_CREATE_STRATEGY_MIN_TIME_BIT, + /** Allocation strategy that chooses always the lowest offset in available space. + This is not the most efficient strategy but achieves highly packed data. + */ + VMA_VIRTUAL_ALLOCATION_CREATE_STRATEGY_MIN_OFFSET_BIT = VMA_ALLOCATION_CREATE_STRATEGY_MIN_OFFSET_BIT, + /** \brief A bit mask to extract only `STRATEGY` bits from entire set of flags. + + These strategy flags are binary compatible with equivalent flags in #VmaAllocationCreateFlagBits. + */ + VMA_VIRTUAL_ALLOCATION_CREATE_STRATEGY_MASK = VMA_ALLOCATION_CREATE_STRATEGY_MASK, + + VMA_VIRTUAL_ALLOCATION_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF +} VmaVirtualAllocationCreateFlagBits; +/// Flags to be passed as VmaVirtualAllocationCreateInfo::flags. See #VmaVirtualAllocationCreateFlagBits. +typedef VkFlags VmaVirtualAllocationCreateFlags; + +/** @} */ + +#endif // _VMA_ENUM_DECLARATIONS + +#ifndef _VMA_DATA_TYPES_DECLARATIONS + +/** +\addtogroup group_init +@{ */ + +/** \struct VmaAllocator +\brief Represents main object of this library initialized. + +Fill structure #VmaAllocatorCreateInfo and call function vmaCreateAllocator() to create it. +Call function vmaDestroyAllocator() to destroy it. + +It is recommended to create just one object of this type per `VkDevice` object, +right after Vulkan is initialized and keep it alive until before Vulkan device is destroyed. +*/ +VK_DEFINE_HANDLE(VmaAllocator) + +/** @} */ + +/** +\addtogroup group_alloc +@{ +*/ + +/** \struct VmaPool +\brief Represents custom memory pool + +Fill structure VmaPoolCreateInfo and call function vmaCreatePool() to create it. +Call function vmaDestroyPool() to destroy it. + +For more information see [Custom memory pools](@ref choosing_memory_type_custom_memory_pools). +*/ +VK_DEFINE_HANDLE(VmaPool) + +/** \struct VmaAllocation +\brief Represents single memory allocation. + +It may be either dedicated block of `VkDeviceMemory` or a specific region of a bigger block of this type +plus unique offset. + +There are multiple ways to create such object. +You need to fill structure VmaAllocationCreateInfo. +For more information see [Choosing memory type](@ref choosing_memory_type). + +Although the library provides convenience functions that create Vulkan buffer or image, +allocate memory for it and bind them together, +binding of the allocation to a buffer or an image is out of scope of the allocation itself. +Allocation object can exist without buffer/image bound, +binding can be done manually by the user, and destruction of it can be done +independently of destruction of the allocation. + +The object also remembers its size and some other information. +To retrieve this information, use function vmaGetAllocationInfo() and inspect +returned structure VmaAllocationInfo. +*/ +VK_DEFINE_HANDLE(VmaAllocation) + +/** \struct VmaDefragmentationContext +\brief An opaque object that represents started defragmentation process. + +Fill structure #VmaDefragmentationInfo and call function vmaBeginDefragmentation() to create it. +Call function vmaEndDefragmentation() to destroy it. +*/ +VK_DEFINE_HANDLE(VmaDefragmentationContext) + +/** @} */ + +/** +\addtogroup group_virtual +@{ +*/ + +/** \struct VmaVirtualAllocation +\brief Represents single memory allocation done inside VmaVirtualBlock. + +Use it as a unique identifier to virtual allocation within the single block. + +Use value `VK_NULL_HANDLE` to represent a null/invalid allocation. +*/ +VK_DEFINE_NON_DISPATCHABLE_HANDLE(VmaVirtualAllocation); + +/** @} */ + +/** +\addtogroup group_virtual +@{ +*/ + +/** \struct VmaVirtualBlock +\brief Handle to a virtual block object that allows to use core allocation algorithm without allocating any real GPU memory. + +Fill in #VmaVirtualBlockCreateInfo structure and use vmaCreateVirtualBlock() to create it. Use vmaDestroyVirtualBlock() to destroy it. +For more information, see documentation chapter \ref virtual_allocator. + +This object is not thread-safe - should not be used from multiple threads simultaneously, must be synchronized externally. +*/ +VK_DEFINE_HANDLE(VmaVirtualBlock) + +/** @} */ + +/** +\addtogroup group_init +@{ +*/ + +/// Callback function called after successful vkAllocateMemory. +typedef void (VKAPI_PTR* PFN_vmaAllocateDeviceMemoryFunction)( + VmaAllocator VMA_NOT_NULL allocator, + uint32_t memoryType, + VkDeviceMemory VMA_NOT_NULL_NON_DISPATCHABLE memory, + VkDeviceSize size, + void* VMA_NULLABLE pUserData); + +/// Callback function called before vkFreeMemory. +typedef void (VKAPI_PTR* PFN_vmaFreeDeviceMemoryFunction)( + VmaAllocator VMA_NOT_NULL allocator, + uint32_t memoryType, + VkDeviceMemory VMA_NOT_NULL_NON_DISPATCHABLE memory, + VkDeviceSize size, + void* VMA_NULLABLE pUserData); + +/** \brief Set of callbacks that the library will call for `vkAllocateMemory` and `vkFreeMemory`. + +Provided for informative purpose, e.g. to gather statistics about number of +allocations or total amount of memory allocated in Vulkan. + +Used in VmaAllocatorCreateInfo::pDeviceMemoryCallbacks. +*/ +typedef struct VmaDeviceMemoryCallbacks +{ + /// Optional, can be null. + PFN_vmaAllocateDeviceMemoryFunction VMA_NULLABLE pfnAllocate; + /// Optional, can be null. + PFN_vmaFreeDeviceMemoryFunction VMA_NULLABLE pfnFree; + /// Optional, can be null. + void* VMA_NULLABLE pUserData; +} VmaDeviceMemoryCallbacks; + +/** \brief Pointers to some Vulkan functions - a subset used by the library. + +Used in VmaAllocatorCreateInfo::pVulkanFunctions. +*/ +typedef struct VmaVulkanFunctions +{ + /// Required when using VMA_DYNAMIC_VULKAN_FUNCTIONS. + PFN_vkGetInstanceProcAddr VMA_NULLABLE vkGetInstanceProcAddr; + /// Required when using VMA_DYNAMIC_VULKAN_FUNCTIONS. + PFN_vkGetDeviceProcAddr VMA_NULLABLE vkGetDeviceProcAddr; + PFN_vkGetPhysicalDeviceProperties VMA_NULLABLE vkGetPhysicalDeviceProperties; + PFN_vkGetPhysicalDeviceMemoryProperties VMA_NULLABLE vkGetPhysicalDeviceMemoryProperties; + PFN_vkAllocateMemory VMA_NULLABLE vkAllocateMemory; + PFN_vkFreeMemory VMA_NULLABLE vkFreeMemory; + PFN_vkMapMemory VMA_NULLABLE vkMapMemory; + PFN_vkUnmapMemory VMA_NULLABLE vkUnmapMemory; + PFN_vkFlushMappedMemoryRanges VMA_NULLABLE vkFlushMappedMemoryRanges; + PFN_vkInvalidateMappedMemoryRanges VMA_NULLABLE vkInvalidateMappedMemoryRanges; + PFN_vkBindBufferMemory VMA_NULLABLE vkBindBufferMemory; + PFN_vkBindImageMemory VMA_NULLABLE vkBindImageMemory; + PFN_vkGetBufferMemoryRequirements VMA_NULLABLE vkGetBufferMemoryRequirements; + PFN_vkGetImageMemoryRequirements VMA_NULLABLE vkGetImageMemoryRequirements; + PFN_vkCreateBuffer VMA_NULLABLE vkCreateBuffer; + PFN_vkDestroyBuffer VMA_NULLABLE vkDestroyBuffer; + PFN_vkCreateImage VMA_NULLABLE vkCreateImage; + PFN_vkDestroyImage VMA_NULLABLE vkDestroyImage; + PFN_vkCmdCopyBuffer VMA_NULLABLE vkCmdCopyBuffer; +#if VMA_DEDICATED_ALLOCATION || VMA_VULKAN_VERSION >= 1001000 + /// Fetch "vkGetBufferMemoryRequirements2" on Vulkan >= 1.1, fetch "vkGetBufferMemoryRequirements2KHR" when using VK_KHR_dedicated_allocation extension. + PFN_vkGetBufferMemoryRequirements2KHR VMA_NULLABLE vkGetBufferMemoryRequirements2KHR; + /// Fetch "vkGetImageMemoryRequirements2" on Vulkan >= 1.1, fetch "vkGetImageMemoryRequirements2KHR" when using VK_KHR_dedicated_allocation extension. + PFN_vkGetImageMemoryRequirements2KHR VMA_NULLABLE vkGetImageMemoryRequirements2KHR; +#endif +#if VMA_BIND_MEMORY2 || VMA_VULKAN_VERSION >= 1001000 + /// Fetch "vkBindBufferMemory2" on Vulkan >= 1.1, fetch "vkBindBufferMemory2KHR" when using VK_KHR_bind_memory2 extension. + PFN_vkBindBufferMemory2KHR VMA_NULLABLE vkBindBufferMemory2KHR; + /// Fetch "vkBindImageMemory2" on Vulkan >= 1.1, fetch "vkBindImageMemory2KHR" when using VK_KHR_bind_memory2 extension. + PFN_vkBindImageMemory2KHR VMA_NULLABLE vkBindImageMemory2KHR; +#endif +#if VMA_MEMORY_BUDGET || VMA_VULKAN_VERSION >= 1001000 + PFN_vkGetPhysicalDeviceMemoryProperties2KHR VMA_NULLABLE vkGetPhysicalDeviceMemoryProperties2KHR; +#endif +#if VMA_VULKAN_VERSION >= 1003000 + /// Fetch from "vkGetDeviceBufferMemoryRequirements" on Vulkan >= 1.3, but you can also fetch it from "vkGetDeviceBufferMemoryRequirementsKHR" if you enabled extension VK_KHR_maintenance4. + PFN_vkGetDeviceBufferMemoryRequirements VMA_NULLABLE vkGetDeviceBufferMemoryRequirements; + /// Fetch from "vkGetDeviceImageMemoryRequirements" on Vulkan >= 1.3, but you can also fetch it from "vkGetDeviceImageMemoryRequirementsKHR" if you enabled extension VK_KHR_maintenance4. + PFN_vkGetDeviceImageMemoryRequirements VMA_NULLABLE vkGetDeviceImageMemoryRequirements; +#endif +} VmaVulkanFunctions; + +/// Description of a Allocator to be created. +typedef struct VmaAllocatorCreateInfo +{ + /// Flags for created allocator. Use #VmaAllocatorCreateFlagBits enum. + VmaAllocatorCreateFlags flags; + /// Vulkan physical device. + /** It must be valid throughout whole lifetime of created allocator. */ + VkPhysicalDevice VMA_NOT_NULL physicalDevice; + /// Vulkan device. + /** It must be valid throughout whole lifetime of created allocator. */ + VkDevice VMA_NOT_NULL device; + /// Preferred size of a single `VkDeviceMemory` block to be allocated from large heaps > 1 GiB. Optional. + /** Set to 0 to use default, which is currently 256 MiB. */ + VkDeviceSize preferredLargeHeapBlockSize; + /// Custom CPU memory allocation callbacks. Optional. + /** Optional, can be null. When specified, will also be used for all CPU-side memory allocations. */ + const VkAllocationCallbacks* VMA_NULLABLE pAllocationCallbacks; + /// Informative callbacks for `vkAllocateMemory`, `vkFreeMemory`. Optional. + /** Optional, can be null. */ + const VmaDeviceMemoryCallbacks* VMA_NULLABLE pDeviceMemoryCallbacks; + /** \brief Either null or a pointer to an array of limits on maximum number of bytes that can be allocated out of particular Vulkan memory heap. + + If not NULL, it must be a pointer to an array of + `VkPhysicalDeviceMemoryProperties::memoryHeapCount` elements, defining limit on + maximum number of bytes that can be allocated out of particular Vulkan memory + heap. + + Any of the elements may be equal to `VK_WHOLE_SIZE`, which means no limit on that + heap. This is also the default in case of `pHeapSizeLimit` = NULL. + + If there is a limit defined for a heap: + + - If user tries to allocate more memory from that heap using this allocator, + the allocation fails with `VK_ERROR_OUT_OF_DEVICE_MEMORY`. + - If the limit is smaller than heap size reported in `VkMemoryHeap::size`, the + value of this limit will be reported instead when using vmaGetMemoryProperties(). + + Warning! Using this feature may not be equivalent to installing a GPU with + smaller amount of memory, because graphics driver doesn't necessary fail new + allocations with `VK_ERROR_OUT_OF_DEVICE_MEMORY` result when memory capacity is + exceeded. It may return success and just silently migrate some device memory + blocks to system RAM. This driver behavior can also be controlled using + VK_AMD_memory_overallocation_behavior extension. + */ + const VkDeviceSize* VMA_NULLABLE VMA_LEN_IF_NOT_NULL("VkPhysicalDeviceMemoryProperties::memoryHeapCount") pHeapSizeLimit; + + /** \brief Pointers to Vulkan functions. Can be null. + + For details see [Pointers to Vulkan functions](@ref config_Vulkan_functions). + */ + const VmaVulkanFunctions* VMA_NULLABLE pVulkanFunctions; + /** \brief Handle to Vulkan instance object. + + Starting from version 3.0.0 this member is no longer optional, it must be set! + */ + VkInstance VMA_NOT_NULL instance; + /** \brief Optional. The highest version of Vulkan that the application is designed to use. + + It must be a value in the format as created by macro `VK_MAKE_VERSION` or a constant like: `VK_API_VERSION_1_1`, `VK_API_VERSION_1_0`. + The patch version number specified is ignored. Only the major and minor versions are considered. + It must be less or equal (preferably equal) to value as passed to `vkCreateInstance` as `VkApplicationInfo::apiVersion`. + Only versions 1.0, 1.1, 1.2, 1.3 are supported by the current implementation. + Leaving it initialized to zero is equivalent to `VK_API_VERSION_1_0`. + */ + uint32_t vulkanApiVersion; +#if VMA_EXTERNAL_MEMORY + /** \brief Either null or a pointer to an array of external memory handle types for each Vulkan memory type. + + If not NULL, it must be a pointer to an array of `VkPhysicalDeviceMemoryProperties::memoryTypeCount` + elements, defining external memory handle types of particular Vulkan memory type, + to be passed using `VkExportMemoryAllocateInfoKHR`. + + Any of the elements may be equal to 0, which means not to use `VkExportMemoryAllocateInfoKHR` on this memory type. + This is also the default in case of `pTypeExternalMemoryHandleTypes` = NULL. + */ + const VkExternalMemoryHandleTypeFlagsKHR* VMA_NULLABLE VMA_LEN_IF_NOT_NULL("VkPhysicalDeviceMemoryProperties::memoryTypeCount") pTypeExternalMemoryHandleTypes; +#endif // #if VMA_EXTERNAL_MEMORY +} VmaAllocatorCreateInfo; + +/// Information about existing #VmaAllocator object. +typedef struct VmaAllocatorInfo +{ + /** \brief Handle to Vulkan instance object. + + This is the same value as has been passed through VmaAllocatorCreateInfo::instance. + */ + VkInstance VMA_NOT_NULL instance; + /** \brief Handle to Vulkan physical device object. + + This is the same value as has been passed through VmaAllocatorCreateInfo::physicalDevice. + */ + VkPhysicalDevice VMA_NOT_NULL physicalDevice; + /** \brief Handle to Vulkan device object. + + This is the same value as has been passed through VmaAllocatorCreateInfo::device. + */ + VkDevice VMA_NOT_NULL device; +} VmaAllocatorInfo; + +/** @} */ + +/** +\addtogroup group_stats +@{ +*/ + +/** \brief Calculated statistics of memory usage e.g. in a specific memory type, heap, custom pool, or total. + +These are fast to calculate. +See functions: vmaGetHeapBudgets(), vmaGetPoolStatistics(). +*/ +typedef struct VmaStatistics +{ + /** \brief Number of `VkDeviceMemory` objects - Vulkan memory blocks allocated. + */ + uint32_t blockCount; + /** \brief Number of #VmaAllocation objects allocated. + + Dedicated allocations have their own blocks, so each one adds 1 to `allocationCount` as well as `blockCount`. + */ + uint32_t allocationCount; + /** \brief Number of bytes allocated in `VkDeviceMemory` blocks. + + \note To avoid confusion, please be aware that what Vulkan calls an "allocation" - a whole `VkDeviceMemory` object + (e.g. as in `VkPhysicalDeviceLimits::maxMemoryAllocationCount`) is called a "block" in VMA, while VMA calls + "allocation" a #VmaAllocation object that represents a memory region sub-allocated from such block, usually for a single buffer or image. + */ + VkDeviceSize blockBytes; + /** \brief Total number of bytes occupied by all #VmaAllocation objects. + + Always less or equal than `blockBytes`. + Difference `(blockBytes - allocationBytes)` is the amount of memory allocated from Vulkan + but unused by any #VmaAllocation. + */ + VkDeviceSize allocationBytes; +} VmaStatistics; + +/** \brief More detailed statistics than #VmaStatistics. + +These are slower to calculate. Use for debugging purposes. +See functions: vmaCalculateStatistics(), vmaCalculatePoolStatistics(). + +Previous version of the statistics API provided averages, but they have been removed +because they can be easily calculated as: + +\code +VkDeviceSize allocationSizeAvg = detailedStats.statistics.allocationBytes / detailedStats.statistics.allocationCount; +VkDeviceSize unusedBytes = detailedStats.statistics.blockBytes - detailedStats.statistics.allocationBytes; +VkDeviceSize unusedRangeSizeAvg = unusedBytes / detailedStats.unusedRangeCount; +\endcode +*/ +typedef struct VmaDetailedStatistics +{ + /// Basic statistics. + VmaStatistics statistics; + /// Number of free ranges of memory between allocations. + uint32_t unusedRangeCount; + /// Smallest allocation size. `VK_WHOLE_SIZE` if there are 0 allocations. + VkDeviceSize allocationSizeMin; + /// Largest allocation size. 0 if there are 0 allocations. + VkDeviceSize allocationSizeMax; + /// Smallest empty range size. `VK_WHOLE_SIZE` if there are 0 empty ranges. + VkDeviceSize unusedRangeSizeMin; + /// Largest empty range size. 0 if there are 0 empty ranges. + VkDeviceSize unusedRangeSizeMax; +} VmaDetailedStatistics; + +/** \brief General statistics from current state of the Allocator - +total memory usage across all memory heaps and types. + +These are slower to calculate. Use for debugging purposes. +See function vmaCalculateStatistics(). +*/ +typedef struct VmaTotalStatistics +{ + VmaDetailedStatistics memoryType[VK_MAX_MEMORY_TYPES]; + VmaDetailedStatistics memoryHeap[VK_MAX_MEMORY_HEAPS]; + VmaDetailedStatistics total; +} VmaTotalStatistics; + +/** \brief Statistics of current memory usage and available budget for a specific memory heap. + +These are fast to calculate. +See function vmaGetHeapBudgets(). +*/ +typedef struct VmaBudget +{ + /** \brief Statistics fetched from the library. + */ + VmaStatistics statistics; + /** \brief Estimated current memory usage of the program, in bytes. + + Fetched from system using VK_EXT_memory_budget extension if enabled. + + It might be different than `statistics.blockBytes` (usually higher) due to additional implicit objects + also occupying the memory, like swapchain, pipelines, descriptor heaps, command buffers, or + `VkDeviceMemory` blocks allocated outside of this library, if any. + */ + VkDeviceSize usage; + /** \brief Estimated amount of memory available to the program, in bytes. + + Fetched from system using VK_EXT_memory_budget extension if enabled. + + It might be different (most probably smaller) than `VkMemoryHeap::size[heapIndex]` due to factors + external to the program, decided by the operating system. + Difference `budget - usage` is the amount of additional memory that can probably + be allocated without problems. Exceeding the budget may result in various problems. + */ + VkDeviceSize budget; +} VmaBudget; + +/** @} */ + +/** +\addtogroup group_alloc +@{ +*/ + +/** \brief Parameters of new #VmaAllocation. + +To be used with functions like vmaCreateBuffer(), vmaCreateImage(), and many others. +*/ +typedef struct VmaAllocationCreateInfo +{ + /// Use #VmaAllocationCreateFlagBits enum. + VmaAllocationCreateFlags flags; + /** \brief Intended usage of memory. + + You can leave #VMA_MEMORY_USAGE_UNKNOWN if you specify memory requirements in other way. \n + If `pool` is not null, this member is ignored. + */ + VmaMemoryUsage usage; + /** \brief Flags that must be set in a Memory Type chosen for an allocation. + + Leave 0 if you specify memory requirements in other way. \n + If `pool` is not null, this member is ignored.*/ + VkMemoryPropertyFlags requiredFlags; + /** \brief Flags that preferably should be set in a memory type chosen for an allocation. + + Set to 0 if no additional flags are preferred. \n + If `pool` is not null, this member is ignored. */ + VkMemoryPropertyFlags preferredFlags; + /** \brief Bitmask containing one bit set for every memory type acceptable for this allocation. + + Value 0 is equivalent to `UINT32_MAX` - it means any memory type is accepted if + it meets other requirements specified by this structure, with no further + restrictions on memory type index. \n + If `pool` is not null, this member is ignored. + */ + uint32_t memoryTypeBits; + /** \brief Pool that this allocation should be created in. + + Leave `VK_NULL_HANDLE` to allocate from default pool. If not null, members: + `usage`, `requiredFlags`, `preferredFlags`, `memoryTypeBits` are ignored. + */ + VmaPool VMA_NULLABLE pool; + /** \brief Custom general-purpose pointer that will be stored in #VmaAllocation, can be read as VmaAllocationInfo::pUserData and changed using vmaSetAllocationUserData(). + + If #VMA_ALLOCATION_CREATE_USER_DATA_COPY_STRING_BIT is used, it must be either + null or pointer to a null-terminated string. The string will be then copied to + internal buffer, so it doesn't need to be valid after allocation call. + */ + void* VMA_NULLABLE pUserData; + /** \brief A floating-point value between 0 and 1, indicating the priority of the allocation relative to other memory allocations. + + It is used only when #VMA_ALLOCATOR_CREATE_EXT_MEMORY_PRIORITY_BIT flag was used during creation of the #VmaAllocator object + and this allocation ends up as dedicated or is explicitly forced as dedicated using #VMA_ALLOCATION_CREATE_DEDICATED_MEMORY_BIT. + Otherwise, it has the priority of a memory block where it is placed and this variable is ignored. + */ + float priority; +} VmaAllocationCreateInfo; + +/// Describes parameter of created #VmaPool. +typedef struct VmaPoolCreateInfo +{ + /** \brief Vulkan memory type index to allocate this pool from. + */ + uint32_t memoryTypeIndex; + /** \brief Use combination of #VmaPoolCreateFlagBits. + */ + VmaPoolCreateFlags flags; + /** \brief Size of a single `VkDeviceMemory` block to be allocated as part of this pool, in bytes. Optional. + + Specify nonzero to set explicit, constant size of memory blocks used by this + pool. + + Leave 0 to use default and let the library manage block sizes automatically. + Sizes of particular blocks may vary. + In this case, the pool will also support dedicated allocations. + */ + VkDeviceSize blockSize; + /** \brief Minimum number of blocks to be always allocated in this pool, even if they stay empty. + + Set to 0 to have no preallocated blocks and allow the pool be completely empty. + */ + size_t minBlockCount; + /** \brief Maximum number of blocks that can be allocated in this pool. Optional. + + Set to 0 to use default, which is `SIZE_MAX`, which means no limit. + + Set to same value as VmaPoolCreateInfo::minBlockCount to have fixed amount of memory allocated + throughout whole lifetime of this pool. + */ + size_t maxBlockCount; + /** \brief A floating-point value between 0 and 1, indicating the priority of the allocations in this pool relative to other memory allocations. + + It is used only when #VMA_ALLOCATOR_CREATE_EXT_MEMORY_PRIORITY_BIT flag was used during creation of the #VmaAllocator object. + Otherwise, this variable is ignored. + */ + float priority; + /** \brief Additional minimum alignment to be used for all allocations created from this pool. Can be 0. + + Leave 0 (default) not to impose any additional alignment. If not 0, it must be a power of two. + It can be useful in cases where alignment returned by Vulkan by functions like `vkGetBufferMemoryRequirements` is not enough, + e.g. when doing interop with OpenGL. + */ + VkDeviceSize minAllocationAlignment; + /** \brief Additional `pNext` chain to be attached to `VkMemoryAllocateInfo` used for every allocation made by this pool. Optional. + + Optional, can be null. If not null, it must point to a `pNext` chain of structures that can be attached to `VkMemoryAllocateInfo`. + It can be useful for special needs such as adding `VkExportMemoryAllocateInfoKHR`. + Structures pointed by this member must remain alive and unchanged for the whole lifetime of the custom pool. + + Please note that some structures, e.g. `VkMemoryPriorityAllocateInfoEXT`, `VkMemoryDedicatedAllocateInfoKHR`, + can be attached automatically by this library when using other, more convenient of its features. + */ + void* VMA_NULLABLE pMemoryAllocateNext; +} VmaPoolCreateInfo; + +/** @} */ + +/** +\addtogroup group_alloc +@{ +*/ + +/// Parameters of #VmaAllocation objects, that can be retrieved using function vmaGetAllocationInfo(). +typedef struct VmaAllocationInfo +{ + /** \brief Memory type index that this allocation was allocated from. + + It never changes. + */ + uint32_t memoryType; + /** \brief Handle to Vulkan memory object. + + Same memory object can be shared by multiple allocations. + + It can change after the allocation is moved during \ref defragmentation. + */ + VkDeviceMemory VMA_NULLABLE_NON_DISPATCHABLE deviceMemory; + /** \brief Offset in `VkDeviceMemory` object to the beginning of this allocation, in bytes. `(deviceMemory, offset)` pair is unique to this allocation. + + You usually don't need to use this offset. If you create a buffer or an image together with the allocation using e.g. function + vmaCreateBuffer(), vmaCreateImage(), functions that operate on these resources refer to the beginning of the buffer or image, + not entire device memory block. Functions like vmaMapMemory(), vmaBindBufferMemory() also refer to the beginning of the allocation + and apply this offset automatically. + + It can change after the allocation is moved during \ref defragmentation. + */ + VkDeviceSize offset; + /** \brief Size of this allocation, in bytes. + + It never changes. + + \note Allocation size returned in this variable may be greater than the size + requested for the resource e.g. as `VkBufferCreateInfo::size`. Whole size of the + allocation is accessible for operations on memory e.g. using a pointer after + mapping with vmaMapMemory(), but operations on the resource e.g. using + `vkCmdCopyBuffer` must be limited to the size of the resource. + */ + VkDeviceSize size; + /** \brief Pointer to the beginning of this allocation as mapped data. + + If the allocation hasn't been mapped using vmaMapMemory() and hasn't been + created with #VMA_ALLOCATION_CREATE_MAPPED_BIT flag, this value is null. + + It can change after call to vmaMapMemory(), vmaUnmapMemory(). + It can also change after the allocation is moved during \ref defragmentation. + */ + void* VMA_NULLABLE pMappedData; + /** \brief Custom general-purpose pointer that was passed as VmaAllocationCreateInfo::pUserData or set using vmaSetAllocationUserData(). + + It can change after call to vmaSetAllocationUserData() for this allocation. + */ + void* VMA_NULLABLE pUserData; + /** \brief Custom allocation name that was set with vmaSetAllocationName(). + + It can change after call to vmaSetAllocationName() for this allocation. + + Another way to set custom name is to pass it in VmaAllocationCreateInfo::pUserData with + additional flag #VMA_ALLOCATION_CREATE_USER_DATA_COPY_STRING_BIT set [DEPRECATED]. + */ + const char* VMA_NULLABLE pName; +} VmaAllocationInfo; + +/** \brief Parameters for defragmentation. + +To be used with function vmaBeginDefragmentation(). +*/ +typedef struct VmaDefragmentationInfo +{ + /// \brief Use combination of #VmaDefragmentationFlagBits. + VmaDefragmentationFlags flags; + /** \brief Custom pool to be defragmented. + + If null then default pools will undergo defragmentation process. + */ + VmaPool VMA_NULLABLE pool; + /** \brief Maximum numbers of bytes that can be copied during single pass, while moving allocations to different places. + + `0` means no limit. + */ + VkDeviceSize maxBytesPerPass; + /** \brief Maximum number of allocations that can be moved during single pass to a different place. + + `0` means no limit. + */ + uint32_t maxAllocationsPerPass; +} VmaDefragmentationInfo; + +/// Single move of an allocation to be done for defragmentation. +typedef struct VmaDefragmentationMove +{ + /// Operation to be performed on the allocation by vmaEndDefragmentationPass(). Default value is #VMA_DEFRAGMENTATION_MOVE_OPERATION_COPY. You can modify it. + VmaDefragmentationMoveOperation operation; + /// Allocation that should be moved. + VmaAllocation VMA_NOT_NULL srcAllocation; + /** \brief Temporary allocation pointing to destination memory that will replace `srcAllocation`. + + \warning Do not store this allocation in your data structures! It exists only temporarily, for the duration of the defragmentation pass, + to be used for binding new buffer/image to the destination memory using e.g. vmaBindBufferMemory(). + vmaEndDefragmentationPass() will destroy it and make `srcAllocation` point to this memory. + */ + VmaAllocation VMA_NOT_NULL dstTmpAllocation; +} VmaDefragmentationMove; + +/** \brief Parameters for incremental defragmentation steps. + +To be used with function vmaBeginDefragmentationPass(). +*/ +typedef struct VmaDefragmentationPassMoveInfo +{ + /// Number of elements in the `pMoves` array. + uint32_t moveCount; + /** \brief Array of moves to be performed by the user in the current defragmentation pass. + + Pointer to an array of `moveCount` elements, owned by VMA, created in vmaBeginDefragmentationPass(), destroyed in vmaEndDefragmentationPass(). + + For each element, you should: + + 1. Create a new buffer/image in the place pointed by VmaDefragmentationMove::dstMemory + VmaDefragmentationMove::dstOffset. + 2. Copy data from the VmaDefragmentationMove::srcAllocation e.g. using `vkCmdCopyBuffer`, `vkCmdCopyImage`. + 3. Make sure these commands finished executing on the GPU. + 4. Destroy the old buffer/image. + + Only then you can finish defragmentation pass by calling vmaEndDefragmentationPass(). + After this call, the allocation will point to the new place in memory. + + Alternatively, if you cannot move specific allocation, you can set VmaDefragmentationMove::operation to #VMA_DEFRAGMENTATION_MOVE_OPERATION_IGNORE. + + Alternatively, if you decide you want to completely remove the allocation: + + 1. Destroy its buffer/image. + 2. Set VmaDefragmentationMove::operation to #VMA_DEFRAGMENTATION_MOVE_OPERATION_DESTROY. + + Then, after vmaEndDefragmentationPass() the allocation will be freed. + */ + VmaDefragmentationMove* VMA_NULLABLE VMA_LEN_IF_NOT_NULL(moveCount) pMoves; +} VmaDefragmentationPassMoveInfo; + +/// Statistics returned for defragmentation process in function vmaEndDefragmentation(). +typedef struct VmaDefragmentationStats +{ + /// Total number of bytes that have been copied while moving allocations to different places. + VkDeviceSize bytesMoved; + /// Total number of bytes that have been released to the system by freeing empty `VkDeviceMemory` objects. + VkDeviceSize bytesFreed; + /// Number of allocations that have been moved to different places. + uint32_t allocationsMoved; + /// Number of empty `VkDeviceMemory` objects that have been released to the system. + uint32_t deviceMemoryBlocksFreed; +} VmaDefragmentationStats; + +/** @} */ + +/** +\addtogroup group_virtual +@{ +*/ + +/// Parameters of created #VmaVirtualBlock object to be passed to vmaCreateVirtualBlock(). +typedef struct VmaVirtualBlockCreateInfo +{ + /** \brief Total size of the virtual block. + + Sizes can be expressed in bytes or any units you want as long as you are consistent in using them. + For example, if you allocate from some array of structures, 1 can mean single instance of entire structure. + */ + VkDeviceSize size; + + /** \brief Use combination of #VmaVirtualBlockCreateFlagBits. + */ + VmaVirtualBlockCreateFlags flags; + + /** \brief Custom CPU memory allocation callbacks. Optional. + + Optional, can be null. When specified, they will be used for all CPU-side memory allocations. + */ + const VkAllocationCallbacks* VMA_NULLABLE pAllocationCallbacks; +} VmaVirtualBlockCreateInfo; + +/// Parameters of created virtual allocation to be passed to vmaVirtualAllocate(). +typedef struct VmaVirtualAllocationCreateInfo +{ + /** \brief Size of the allocation. + + Cannot be zero. + */ + VkDeviceSize size; + /** \brief Required alignment of the allocation. Optional. + + Must be power of two. Special value 0 has the same meaning as 1 - means no special alignment is required, so allocation can start at any offset. + */ + VkDeviceSize alignment; + /** \brief Use combination of #VmaVirtualAllocationCreateFlagBits. + */ + VmaVirtualAllocationCreateFlags flags; + /** \brief Custom pointer to be associated with the allocation. Optional. + + It can be any value and can be used for user-defined purposes. It can be fetched or changed later. + */ + void* VMA_NULLABLE pUserData; +} VmaVirtualAllocationCreateInfo; + +/// Parameters of an existing virtual allocation, returned by vmaGetVirtualAllocationInfo(). +typedef struct VmaVirtualAllocationInfo +{ + /** \brief Offset of the allocation. + + Offset at which the allocation was made. + */ + VkDeviceSize offset; + /** \brief Size of the allocation. + + Same value as passed in VmaVirtualAllocationCreateInfo::size. + */ + VkDeviceSize size; + /** \brief Custom pointer associated with the allocation. + + Same value as passed in VmaVirtualAllocationCreateInfo::pUserData or to vmaSetVirtualAllocationUserData(). + */ + void* VMA_NULLABLE pUserData; +} VmaVirtualAllocationInfo; + +/** @} */ + +#endif // _VMA_DATA_TYPES_DECLARATIONS + +#ifndef _VMA_FUNCTION_HEADERS + +/** +\addtogroup group_init +@{ +*/ + +/// Creates #VmaAllocator object. +VMA_CALL_PRE VkResult VMA_CALL_POST vmaCreateAllocator( + const VmaAllocatorCreateInfo* VMA_NOT_NULL pCreateInfo, + VmaAllocator VMA_NULLABLE* VMA_NOT_NULL pAllocator); + +/// Destroys allocator object. +VMA_CALL_PRE void VMA_CALL_POST vmaDestroyAllocator( + VmaAllocator VMA_NULLABLE allocator); + +/** \brief Returns information about existing #VmaAllocator object - handle to Vulkan device etc. + +It might be useful if you want to keep just the #VmaAllocator handle and fetch other required handles to +`VkPhysicalDevice`, `VkDevice` etc. every time using this function. +*/ +VMA_CALL_PRE void VMA_CALL_POST vmaGetAllocatorInfo( + VmaAllocator VMA_NOT_NULL allocator, + VmaAllocatorInfo* VMA_NOT_NULL pAllocatorInfo); + +/** +PhysicalDeviceProperties are fetched from physicalDevice by the allocator. +You can access it here, without fetching it again on your own. +*/ +VMA_CALL_PRE void VMA_CALL_POST vmaGetPhysicalDeviceProperties( + VmaAllocator VMA_NOT_NULL allocator, + const VkPhysicalDeviceProperties* VMA_NULLABLE* VMA_NOT_NULL ppPhysicalDeviceProperties); + +/** +PhysicalDeviceMemoryProperties are fetched from physicalDevice by the allocator. +You can access it here, without fetching it again on your own. +*/ +VMA_CALL_PRE void VMA_CALL_POST vmaGetMemoryProperties( + VmaAllocator VMA_NOT_NULL allocator, + const VkPhysicalDeviceMemoryProperties* VMA_NULLABLE* VMA_NOT_NULL ppPhysicalDeviceMemoryProperties); + +/** +\brief Given Memory Type Index, returns Property Flags of this memory type. + +This is just a convenience function. Same information can be obtained using +vmaGetMemoryProperties(). +*/ +VMA_CALL_PRE void VMA_CALL_POST vmaGetMemoryTypeProperties( + VmaAllocator VMA_NOT_NULL allocator, + uint32_t memoryTypeIndex, + VkMemoryPropertyFlags* VMA_NOT_NULL pFlags); + +/** \brief Sets index of the current frame. +*/ +VMA_CALL_PRE void VMA_CALL_POST vmaSetCurrentFrameIndex( + VmaAllocator VMA_NOT_NULL allocator, + uint32_t frameIndex); + +/** @} */ + +/** +\addtogroup group_stats +@{ +*/ + +/** \brief Retrieves statistics from current state of the Allocator. + +This function is called "calculate" not "get" because it has to traverse all +internal data structures, so it may be quite slow. Use it for debugging purposes. +For faster but more brief statistics suitable to be called every frame or every allocation, +use vmaGetHeapBudgets(). + +Note that when using allocator from multiple threads, returned information may immediately +become outdated. +*/ +VMA_CALL_PRE void VMA_CALL_POST vmaCalculateStatistics( + VmaAllocator VMA_NOT_NULL allocator, + VmaTotalStatistics* VMA_NOT_NULL pStats); + +/** \brief Retrieves information about current memory usage and budget for all memory heaps. + +\param allocator +\param[out] pBudgets Must point to array with number of elements at least equal to number of memory heaps in physical device used. + +This function is called "get" not "calculate" because it is very fast, suitable to be called +every frame or every allocation. For more detailed statistics use vmaCalculateStatistics(). + +Note that when using allocator from multiple threads, returned information may immediately +become outdated. +*/ +VMA_CALL_PRE void VMA_CALL_POST vmaGetHeapBudgets( + VmaAllocator VMA_NOT_NULL allocator, + VmaBudget* VMA_NOT_NULL VMA_LEN_IF_NOT_NULL("VkPhysicalDeviceMemoryProperties::memoryHeapCount") pBudgets); + +/** @} */ + +/** +\addtogroup group_alloc +@{ +*/ + +/** +\brief Helps to find memoryTypeIndex, given memoryTypeBits and VmaAllocationCreateInfo. + +This algorithm tries to find a memory type that: + +- Is allowed by memoryTypeBits. +- Contains all the flags from pAllocationCreateInfo->requiredFlags. +- Matches intended usage. +- Has as many flags from pAllocationCreateInfo->preferredFlags as possible. + +\return Returns VK_ERROR_FEATURE_NOT_PRESENT if not found. Receiving such result +from this function or any other allocating function probably means that your +device doesn't support any memory type with requested features for the specific +type of resource you want to use it for. Please check parameters of your +resource, like image layout (OPTIMAL versus LINEAR) or mip level count. +*/ +VMA_CALL_PRE VkResult VMA_CALL_POST vmaFindMemoryTypeIndex( + VmaAllocator VMA_NOT_NULL allocator, + uint32_t memoryTypeBits, + const VmaAllocationCreateInfo* VMA_NOT_NULL pAllocationCreateInfo, + uint32_t* VMA_NOT_NULL pMemoryTypeIndex); + +/** +\brief Helps to find memoryTypeIndex, given VkBufferCreateInfo and VmaAllocationCreateInfo. + +It can be useful e.g. to determine value to be used as VmaPoolCreateInfo::memoryTypeIndex. +It internally creates a temporary, dummy buffer that never has memory bound. +*/ +VMA_CALL_PRE VkResult VMA_CALL_POST vmaFindMemoryTypeIndexForBufferInfo( + VmaAllocator VMA_NOT_NULL allocator, + const VkBufferCreateInfo* VMA_NOT_NULL pBufferCreateInfo, + const VmaAllocationCreateInfo* VMA_NOT_NULL pAllocationCreateInfo, + uint32_t* VMA_NOT_NULL pMemoryTypeIndex); + +/** +\brief Helps to find memoryTypeIndex, given VkImageCreateInfo and VmaAllocationCreateInfo. + +It can be useful e.g. to determine value to be used as VmaPoolCreateInfo::memoryTypeIndex. +It internally creates a temporary, dummy image that never has memory bound. +*/ +VMA_CALL_PRE VkResult VMA_CALL_POST vmaFindMemoryTypeIndexForImageInfo( + VmaAllocator VMA_NOT_NULL allocator, + const VkImageCreateInfo* VMA_NOT_NULL pImageCreateInfo, + const VmaAllocationCreateInfo* VMA_NOT_NULL pAllocationCreateInfo, + uint32_t* VMA_NOT_NULL pMemoryTypeIndex); + +/** \brief Allocates Vulkan device memory and creates #VmaPool object. + +\param allocator Allocator object. +\param pCreateInfo Parameters of pool to create. +\param[out] pPool Handle to created pool. +*/ +VMA_CALL_PRE VkResult VMA_CALL_POST vmaCreatePool( + VmaAllocator VMA_NOT_NULL allocator, + const VmaPoolCreateInfo* VMA_NOT_NULL pCreateInfo, + VmaPool VMA_NULLABLE* VMA_NOT_NULL pPool); + +/** \brief Destroys #VmaPool object and frees Vulkan device memory. +*/ +VMA_CALL_PRE void VMA_CALL_POST vmaDestroyPool( + VmaAllocator VMA_NOT_NULL allocator, + VmaPool VMA_NULLABLE pool); + +/** @} */ + +/** +\addtogroup group_stats +@{ +*/ + +/** \brief Retrieves statistics of existing #VmaPool object. + +\param allocator Allocator object. +\param pool Pool object. +\param[out] pPoolStats Statistics of specified pool. +*/ +VMA_CALL_PRE void VMA_CALL_POST vmaGetPoolStatistics( + VmaAllocator VMA_NOT_NULL allocator, + VmaPool VMA_NOT_NULL pool, + VmaStatistics* VMA_NOT_NULL pPoolStats); + +/** \brief Retrieves detailed statistics of existing #VmaPool object. + +\param allocator Allocator object. +\param pool Pool object. +\param[out] pPoolStats Statistics of specified pool. +*/ +VMA_CALL_PRE void VMA_CALL_POST vmaCalculatePoolStatistics( + VmaAllocator VMA_NOT_NULL allocator, + VmaPool VMA_NOT_NULL pool, + VmaDetailedStatistics* VMA_NOT_NULL pPoolStats); + +/** @} */ + +/** +\addtogroup group_alloc +@{ +*/ + +/** \brief Checks magic number in margins around all allocations in given memory pool in search for corruptions. + +Corruption detection is enabled only when `VMA_DEBUG_DETECT_CORRUPTION` macro is defined to nonzero, +`VMA_DEBUG_MARGIN` is defined to nonzero and the pool is created in memory type that is +`HOST_VISIBLE` and `HOST_COHERENT`. For more information, see [Corruption detection](@ref debugging_memory_usage_corruption_detection). + +Possible return values: + +- `VK_ERROR_FEATURE_NOT_PRESENT` - corruption detection is not enabled for specified pool. +- `VK_SUCCESS` - corruption detection has been performed and succeeded. +- `VK_ERROR_UNKNOWN` - corruption detection has been performed and found memory corruptions around one of the allocations. + `VMA_ASSERT` is also fired in that case. +- Other value: Error returned by Vulkan, e.g. memory mapping failure. +*/ +VMA_CALL_PRE VkResult VMA_CALL_POST vmaCheckPoolCorruption( + VmaAllocator VMA_NOT_NULL allocator, + VmaPool VMA_NOT_NULL pool); + +/** \brief Retrieves name of a custom pool. + +After the call `ppName` is either null or points to an internally-owned null-terminated string +containing name of the pool that was previously set. The pointer becomes invalid when the pool is +destroyed or its name is changed using vmaSetPoolName(). +*/ +VMA_CALL_PRE void VMA_CALL_POST vmaGetPoolName( + VmaAllocator VMA_NOT_NULL allocator, + VmaPool VMA_NOT_NULL pool, + const char* VMA_NULLABLE* VMA_NOT_NULL ppName); + +/** \brief Sets name of a custom pool. + +`pName` can be either null or pointer to a null-terminated string with new name for the pool. +Function makes internal copy of the string, so it can be changed or freed immediately after this call. +*/ +VMA_CALL_PRE void VMA_CALL_POST vmaSetPoolName( + VmaAllocator VMA_NOT_NULL allocator, + VmaPool VMA_NOT_NULL pool, + const char* VMA_NULLABLE pName); + +/** \brief General purpose memory allocation. + +\param allocator +\param pVkMemoryRequirements +\param pCreateInfo +\param[out] pAllocation Handle to allocated memory. +\param[out] pAllocationInfo Optional. Information about allocated memory. It can be later fetched using function vmaGetAllocationInfo(). + +You should free the memory using vmaFreeMemory() or vmaFreeMemoryPages(). + +It is recommended to use vmaAllocateMemoryForBuffer(), vmaAllocateMemoryForImage(), +vmaCreateBuffer(), vmaCreateImage() instead whenever possible. +*/ +VMA_CALL_PRE VkResult VMA_CALL_POST vmaAllocateMemory( + VmaAllocator VMA_NOT_NULL allocator, + const VkMemoryRequirements* VMA_NOT_NULL pVkMemoryRequirements, + const VmaAllocationCreateInfo* VMA_NOT_NULL pCreateInfo, + VmaAllocation VMA_NULLABLE* VMA_NOT_NULL pAllocation, + VmaAllocationInfo* VMA_NULLABLE pAllocationInfo); + +/** \brief General purpose memory allocation for multiple allocation objects at once. + +\param allocator Allocator object. +\param pVkMemoryRequirements Memory requirements for each allocation. +\param pCreateInfo Creation parameters for each allocation. +\param allocationCount Number of allocations to make. +\param[out] pAllocations Pointer to array that will be filled with handles to created allocations. +\param[out] pAllocationInfo Optional. Pointer to array that will be filled with parameters of created allocations. + +You should free the memory using vmaFreeMemory() or vmaFreeMemoryPages(). + +Word "pages" is just a suggestion to use this function to allocate pieces of memory needed for sparse binding. +It is just a general purpose allocation function able to make multiple allocations at once. +It may be internally optimized to be more efficient than calling vmaAllocateMemory() `allocationCount` times. + +All allocations are made using same parameters. All of them are created out of the same memory pool and type. +If any allocation fails, all allocations already made within this function call are also freed, so that when +returned result is not `VK_SUCCESS`, `pAllocation` array is always entirely filled with `VK_NULL_HANDLE`. +*/ +VMA_CALL_PRE VkResult VMA_CALL_POST vmaAllocateMemoryPages( + VmaAllocator VMA_NOT_NULL allocator, + const VkMemoryRequirements* VMA_NOT_NULL VMA_LEN_IF_NOT_NULL(allocationCount) pVkMemoryRequirements, + const VmaAllocationCreateInfo* VMA_NOT_NULL VMA_LEN_IF_NOT_NULL(allocationCount) pCreateInfo, + size_t allocationCount, + VmaAllocation VMA_NULLABLE* VMA_NOT_NULL VMA_LEN_IF_NOT_NULL(allocationCount) pAllocations, + VmaAllocationInfo* VMA_NULLABLE VMA_LEN_IF_NOT_NULL(allocationCount) pAllocationInfo); + +/** \brief Allocates memory suitable for given `VkBuffer`. + +\param allocator +\param buffer +\param pCreateInfo +\param[out] pAllocation Handle to allocated memory. +\param[out] pAllocationInfo Optional. Information about allocated memory. It can be later fetched using function vmaGetAllocationInfo(). + +It only creates #VmaAllocation. To bind the memory to the buffer, use vmaBindBufferMemory(). + +This is a special-purpose function. In most cases you should use vmaCreateBuffer(). + +You must free the allocation using vmaFreeMemory() when no longer needed. +*/ +VMA_CALL_PRE VkResult VMA_CALL_POST vmaAllocateMemoryForBuffer( + VmaAllocator VMA_NOT_NULL allocator, + VkBuffer VMA_NOT_NULL_NON_DISPATCHABLE buffer, + const VmaAllocationCreateInfo* VMA_NOT_NULL pCreateInfo, + VmaAllocation VMA_NULLABLE* VMA_NOT_NULL pAllocation, + VmaAllocationInfo* VMA_NULLABLE pAllocationInfo); + +/** \brief Allocates memory suitable for given `VkImage`. + +\param allocator +\param image +\param pCreateInfo +\param[out] pAllocation Handle to allocated memory. +\param[out] pAllocationInfo Optional. Information about allocated memory. It can be later fetched using function vmaGetAllocationInfo(). + +It only creates #VmaAllocation. To bind the memory to the buffer, use vmaBindImageMemory(). + +This is a special-purpose function. In most cases you should use vmaCreateImage(). + +You must free the allocation using vmaFreeMemory() when no longer needed. +*/ +VMA_CALL_PRE VkResult VMA_CALL_POST vmaAllocateMemoryForImage( + VmaAllocator VMA_NOT_NULL allocator, + VkImage VMA_NOT_NULL_NON_DISPATCHABLE image, + const VmaAllocationCreateInfo* VMA_NOT_NULL pCreateInfo, + VmaAllocation VMA_NULLABLE* VMA_NOT_NULL pAllocation, + VmaAllocationInfo* VMA_NULLABLE pAllocationInfo); + +/** \brief Frees memory previously allocated using vmaAllocateMemory(), vmaAllocateMemoryForBuffer(), or vmaAllocateMemoryForImage(). + +Passing `VK_NULL_HANDLE` as `allocation` is valid. Such function call is just skipped. +*/ +VMA_CALL_PRE void VMA_CALL_POST vmaFreeMemory( + VmaAllocator VMA_NOT_NULL allocator, + const VmaAllocation VMA_NULLABLE allocation); + +/** \brief Frees memory and destroys multiple allocations. + +Word "pages" is just a suggestion to use this function to free pieces of memory used for sparse binding. +It is just a general purpose function to free memory and destroy allocations made using e.g. vmaAllocateMemory(), +vmaAllocateMemoryPages() and other functions. +It may be internally optimized to be more efficient than calling vmaFreeMemory() `allocationCount` times. + +Allocations in `pAllocations` array can come from any memory pools and types. +Passing `VK_NULL_HANDLE` as elements of `pAllocations` array is valid. Such entries are just skipped. +*/ +VMA_CALL_PRE void VMA_CALL_POST vmaFreeMemoryPages( + VmaAllocator VMA_NOT_NULL allocator, + size_t allocationCount, + const VmaAllocation VMA_NULLABLE* VMA_NOT_NULL VMA_LEN_IF_NOT_NULL(allocationCount) pAllocations); + +/** \brief Returns current information about specified allocation. + +Current paramteres of given allocation are returned in `pAllocationInfo`. + +Although this function doesn't lock any mutex, so it should be quite efficient, +you should avoid calling it too often. +You can retrieve same VmaAllocationInfo structure while creating your resource, from function +vmaCreateBuffer(), vmaCreateImage(). You can remember it if you are sure parameters don't change +(e.g. due to defragmentation). +*/ +VMA_CALL_PRE void VMA_CALL_POST vmaGetAllocationInfo( + VmaAllocator VMA_NOT_NULL allocator, + VmaAllocation VMA_NOT_NULL allocation, + VmaAllocationInfo* VMA_NOT_NULL pAllocationInfo); + +/** \brief Sets pUserData in given allocation to new value. + +The value of pointer `pUserData` is copied to allocation's `pUserData`. +It is opaque, so you can use it however you want - e.g. +as a pointer, ordinal number or some handle to you own data. +*/ +VMA_CALL_PRE void VMA_CALL_POST vmaSetAllocationUserData( + VmaAllocator VMA_NOT_NULL allocator, + VmaAllocation VMA_NOT_NULL allocation, + void* VMA_NULLABLE pUserData); + +/** \brief Sets pName in given allocation to new value. + +`pName` must be either null, or pointer to a null-terminated string. The function +makes local copy of the string and sets it as allocation's `pName`. String +passed as pName doesn't need to be valid for whole lifetime of the allocation - +you can free it after this call. String previously pointed by allocation's +`pName` is freed from memory. +*/ +VMA_CALL_PRE void VMA_CALL_POST vmaSetAllocationName( + VmaAllocator VMA_NOT_NULL allocator, + VmaAllocation VMA_NOT_NULL allocation, + const char* VMA_NULLABLE pName); + +/** +\brief Given an allocation, returns Property Flags of its memory type. + +This is just a convenience function. Same information can be obtained using +vmaGetAllocationInfo() + vmaGetMemoryProperties(). +*/ +VMA_CALL_PRE void VMA_CALL_POST vmaGetAllocationMemoryProperties( + VmaAllocator VMA_NOT_NULL allocator, + VmaAllocation VMA_NOT_NULL allocation, + VkMemoryPropertyFlags* VMA_NOT_NULL pFlags); + +/** \brief Maps memory represented by given allocation and returns pointer to it. + +Maps memory represented by given allocation to make it accessible to CPU code. +When succeeded, `*ppData` contains pointer to first byte of this memory. + +\warning +If the allocation is part of a bigger `VkDeviceMemory` block, returned pointer is +correctly offsetted to the beginning of region assigned to this particular allocation. +Unlike the result of `vkMapMemory`, it points to the allocation, not to the beginning of the whole block. +You should not add VmaAllocationInfo::offset to it! + +Mapping is internally reference-counted and synchronized, so despite raw Vulkan +function `vkMapMemory()` cannot be used to map same block of `VkDeviceMemory` +multiple times simultaneously, it is safe to call this function on allocations +assigned to the same memory block. Actual Vulkan memory will be mapped on first +mapping and unmapped on last unmapping. + +If the function succeeded, you must call vmaUnmapMemory() to unmap the +allocation when mapping is no longer needed or before freeing the allocation, at +the latest. + +It also safe to call this function multiple times on the same allocation. You +must call vmaUnmapMemory() same number of times as you called vmaMapMemory(). + +It is also safe to call this function on allocation created with +#VMA_ALLOCATION_CREATE_MAPPED_BIT flag. Its memory stays mapped all the time. +You must still call vmaUnmapMemory() same number of times as you called +vmaMapMemory(). You must not call vmaUnmapMemory() additional time to free the +"0-th" mapping made automatically due to #VMA_ALLOCATION_CREATE_MAPPED_BIT flag. + +This function fails when used on allocation made in memory type that is not +`HOST_VISIBLE`. + +This function doesn't automatically flush or invalidate caches. +If the allocation is made from a memory types that is not `HOST_COHERENT`, +you also need to use vmaInvalidateAllocation() / vmaFlushAllocation(), as required by Vulkan specification. +*/ +VMA_CALL_PRE VkResult VMA_CALL_POST vmaMapMemory( + VmaAllocator VMA_NOT_NULL allocator, + VmaAllocation VMA_NOT_NULL allocation, + void* VMA_NULLABLE* VMA_NOT_NULL ppData); + +/** \brief Unmaps memory represented by given allocation, mapped previously using vmaMapMemory(). + +For details, see description of vmaMapMemory(). + +This function doesn't automatically flush or invalidate caches. +If the allocation is made from a memory types that is not `HOST_COHERENT`, +you also need to use vmaInvalidateAllocation() / vmaFlushAllocation(), as required by Vulkan specification. +*/ +VMA_CALL_PRE void VMA_CALL_POST vmaUnmapMemory( + VmaAllocator VMA_NOT_NULL allocator, + VmaAllocation VMA_NOT_NULL allocation); + +/** \brief Flushes memory of given allocation. + +Calls `vkFlushMappedMemoryRanges()` for memory associated with given range of given allocation. +It needs to be called after writing to a mapped memory for memory types that are not `HOST_COHERENT`. +Unmap operation doesn't do that automatically. + +- `offset` must be relative to the beginning of allocation. +- `size` can be `VK_WHOLE_SIZE`. It means all memory from `offset` the the end of given allocation. +- `offset` and `size` don't have to be aligned. + They are internally rounded down/up to multiply of `nonCoherentAtomSize`. +- If `size` is 0, this call is ignored. +- If memory type that the `allocation` belongs to is not `HOST_VISIBLE` or it is `HOST_COHERENT`, + this call is ignored. + +Warning! `offset` and `size` are relative to the contents of given `allocation`. +If you mean whole allocation, you can pass 0 and `VK_WHOLE_SIZE`, respectively. +Do not pass allocation's offset as `offset`!!! + +This function returns the `VkResult` from `vkFlushMappedMemoryRanges` if it is +called, otherwise `VK_SUCCESS`. +*/ +VMA_CALL_PRE VkResult VMA_CALL_POST vmaFlushAllocation( + VmaAllocator VMA_NOT_NULL allocator, + VmaAllocation VMA_NOT_NULL allocation, + VkDeviceSize offset, + VkDeviceSize size); + +/** \brief Invalidates memory of given allocation. + +Calls `vkInvalidateMappedMemoryRanges()` for memory associated with given range of given allocation. +It needs to be called before reading from a mapped memory for memory types that are not `HOST_COHERENT`. +Map operation doesn't do that automatically. + +- `offset` must be relative to the beginning of allocation. +- `size` can be `VK_WHOLE_SIZE`. It means all memory from `offset` the the end of given allocation. +- `offset` and `size` don't have to be aligned. + They are internally rounded down/up to multiply of `nonCoherentAtomSize`. +- If `size` is 0, this call is ignored. +- If memory type that the `allocation` belongs to is not `HOST_VISIBLE` or it is `HOST_COHERENT`, + this call is ignored. + +Warning! `offset` and `size` are relative to the contents of given `allocation`. +If you mean whole allocation, you can pass 0 and `VK_WHOLE_SIZE`, respectively. +Do not pass allocation's offset as `offset`!!! + +This function returns the `VkResult` from `vkInvalidateMappedMemoryRanges` if +it is called, otherwise `VK_SUCCESS`. +*/ +VMA_CALL_PRE VkResult VMA_CALL_POST vmaInvalidateAllocation( + VmaAllocator VMA_NOT_NULL allocator, + VmaAllocation VMA_NOT_NULL allocation, + VkDeviceSize offset, + VkDeviceSize size); + +/** \brief Flushes memory of given set of allocations. + +Calls `vkFlushMappedMemoryRanges()` for memory associated with given ranges of given allocations. +For more information, see documentation of vmaFlushAllocation(). + +\param allocator +\param allocationCount +\param allocations +\param offsets If not null, it must point to an array of offsets of regions to flush, relative to the beginning of respective allocations. Null means all ofsets are zero. +\param sizes If not null, it must point to an array of sizes of regions to flush in respective allocations. Null means `VK_WHOLE_SIZE` for all allocations. + +This function returns the `VkResult` from `vkFlushMappedMemoryRanges` if it is +called, otherwise `VK_SUCCESS`. +*/ +VMA_CALL_PRE VkResult VMA_CALL_POST vmaFlushAllocations( + VmaAllocator VMA_NOT_NULL allocator, + uint32_t allocationCount, + const VmaAllocation VMA_NOT_NULL* VMA_NULLABLE VMA_LEN_IF_NOT_NULL(allocationCount) allocations, + const VkDeviceSize* VMA_NULLABLE VMA_LEN_IF_NOT_NULL(allocationCount) offsets, + const VkDeviceSize* VMA_NULLABLE VMA_LEN_IF_NOT_NULL(allocationCount) sizes); + +/** \brief Invalidates memory of given set of allocations. + +Calls `vkInvalidateMappedMemoryRanges()` for memory associated with given ranges of given allocations. +For more information, see documentation of vmaInvalidateAllocation(). + +\param allocator +\param allocationCount +\param allocations +\param offsets If not null, it must point to an array of offsets of regions to flush, relative to the beginning of respective allocations. Null means all ofsets are zero. +\param sizes If not null, it must point to an array of sizes of regions to flush in respective allocations. Null means `VK_WHOLE_SIZE` for all allocations. + +This function returns the `VkResult` from `vkInvalidateMappedMemoryRanges` if it is +called, otherwise `VK_SUCCESS`. +*/ +VMA_CALL_PRE VkResult VMA_CALL_POST vmaInvalidateAllocations( + VmaAllocator VMA_NOT_NULL allocator, + uint32_t allocationCount, + const VmaAllocation VMA_NOT_NULL* VMA_NULLABLE VMA_LEN_IF_NOT_NULL(allocationCount) allocations, + const VkDeviceSize* VMA_NULLABLE VMA_LEN_IF_NOT_NULL(allocationCount) offsets, + const VkDeviceSize* VMA_NULLABLE VMA_LEN_IF_NOT_NULL(allocationCount) sizes); + +/** \brief Checks magic number in margins around all allocations in given memory types (in both default and custom pools) in search for corruptions. + +\param allocator +\param memoryTypeBits Bit mask, where each bit set means that a memory type with that index should be checked. + +Corruption detection is enabled only when `VMA_DEBUG_DETECT_CORRUPTION` macro is defined to nonzero, +`VMA_DEBUG_MARGIN` is defined to nonzero and only for memory types that are +`HOST_VISIBLE` and `HOST_COHERENT`. For more information, see [Corruption detection](@ref debugging_memory_usage_corruption_detection). + +Possible return values: + +- `VK_ERROR_FEATURE_NOT_PRESENT` - corruption detection is not enabled for any of specified memory types. +- `VK_SUCCESS` - corruption detection has been performed and succeeded. +- `VK_ERROR_UNKNOWN` - corruption detection has been performed and found memory corruptions around one of the allocations. + `VMA_ASSERT` is also fired in that case. +- Other value: Error returned by Vulkan, e.g. memory mapping failure. +*/ +VMA_CALL_PRE VkResult VMA_CALL_POST vmaCheckCorruption( + VmaAllocator VMA_NOT_NULL allocator, + uint32_t memoryTypeBits); + +/** \brief Begins defragmentation process. + +\param allocator Allocator object. +\param pInfo Structure filled with parameters of defragmentation. +\param[out] pContext Context object that must be passed to vmaEndDefragmentation() to finish defragmentation. +\returns +- `VK_SUCCESS` if defragmentation can begin. +- `VK_ERROR_FEATURE_NOT_PRESENT` if defragmentation is not supported. + +For more information about defragmentation, see documentation chapter: +[Defragmentation](@ref defragmentation). +*/ +VMA_CALL_PRE VkResult VMA_CALL_POST vmaBeginDefragmentation( + VmaAllocator VMA_NOT_NULL allocator, + const VmaDefragmentationInfo* VMA_NOT_NULL pInfo, + VmaDefragmentationContext VMA_NULLABLE* VMA_NOT_NULL pContext); + +/** \brief Ends defragmentation process. + +\param allocator Allocator object. +\param context Context object that has been created by vmaBeginDefragmentation(). +\param[out] pStats Optional stats for the defragmentation. Can be null. + +Use this function to finish defragmentation started by vmaBeginDefragmentation(). +*/ +VMA_CALL_PRE void VMA_CALL_POST vmaEndDefragmentation( + VmaAllocator VMA_NOT_NULL allocator, + VmaDefragmentationContext VMA_NOT_NULL context, + VmaDefragmentationStats* VMA_NULLABLE pStats); + +/** \brief Starts single defragmentation pass. + +\param allocator Allocator object. +\param context Context object that has been created by vmaBeginDefragmentation(). +\param[out] pPassInfo Computed informations for current pass. +\returns +- `VK_SUCCESS` if no more moves are possible. Then you can omit call to vmaEndDefragmentationPass() and simply end whole defragmentation. +- `VK_INCOMPLETE` if there are pending moves returned in `pPassInfo`. You need to perform them, call vmaEndDefragmentationPass(), + and then preferably try another pass with vmaBeginDefragmentationPass(). +*/ +VMA_CALL_PRE VkResult VMA_CALL_POST vmaBeginDefragmentationPass( + VmaAllocator VMA_NOT_NULL allocator, + VmaDefragmentationContext VMA_NOT_NULL context, + VmaDefragmentationPassMoveInfo* VMA_NOT_NULL pPassInfo); + +/** \brief Ends single defragmentation pass. + +\param allocator Allocator object. +\param context Context object that has been created by vmaBeginDefragmentation(). +\param pPassInfo Computed informations for current pass filled by vmaBeginDefragmentationPass() and possibly modified by you. + +Returns `VK_SUCCESS` if no more moves are possible or `VK_INCOMPLETE` if more defragmentations are possible. + +Ends incremental defragmentation pass and commits all defragmentation moves from `pPassInfo`. +After this call: + +- Allocations at `pPassInfo[i].srcAllocation` that had `pPassInfo[i].operation ==` #VMA_DEFRAGMENTATION_MOVE_OPERATION_COPY + (which is the default) will be pointing to the new destination place. +- Allocation at `pPassInfo[i].srcAllocation` that had `pPassInfo[i].operation ==` #VMA_DEFRAGMENTATION_MOVE_OPERATION_DESTROY + will be freed. + +If no more moves are possible you can end whole defragmentation. +*/ +VMA_CALL_PRE VkResult VMA_CALL_POST vmaEndDefragmentationPass( + VmaAllocator VMA_NOT_NULL allocator, + VmaDefragmentationContext VMA_NOT_NULL context, + VmaDefragmentationPassMoveInfo* VMA_NOT_NULL pPassInfo); + +/** \brief Binds buffer to allocation. + +Binds specified buffer to region of memory represented by specified allocation. +Gets `VkDeviceMemory` handle and offset from the allocation. +If you want to create a buffer, allocate memory for it and bind them together separately, +you should use this function for binding instead of standard `vkBindBufferMemory()`, +because it ensures proper synchronization so that when a `VkDeviceMemory` object is used by multiple +allocations, calls to `vkBind*Memory()` or `vkMapMemory()` won't happen from multiple threads simultaneously +(which is illegal in Vulkan). + +It is recommended to use function vmaCreateBuffer() instead of this one. +*/ +VMA_CALL_PRE VkResult VMA_CALL_POST vmaBindBufferMemory( + VmaAllocator VMA_NOT_NULL allocator, + VmaAllocation VMA_NOT_NULL allocation, + VkBuffer VMA_NOT_NULL_NON_DISPATCHABLE buffer); + +/** \brief Binds buffer to allocation with additional parameters. + +\param allocator +\param allocation +\param allocationLocalOffset Additional offset to be added while binding, relative to the beginning of the `allocation`. Normally it should be 0. +\param buffer +\param pNext A chain of structures to be attached to `VkBindBufferMemoryInfoKHR` structure used internally. Normally it should be null. + +This function is similar to vmaBindBufferMemory(), but it provides additional parameters. + +If `pNext` is not null, #VmaAllocator object must have been created with #VMA_ALLOCATOR_CREATE_KHR_BIND_MEMORY2_BIT flag +or with VmaAllocatorCreateInfo::vulkanApiVersion `>= VK_API_VERSION_1_1`. Otherwise the call fails. +*/ +VMA_CALL_PRE VkResult VMA_CALL_POST vmaBindBufferMemory2( + VmaAllocator VMA_NOT_NULL allocator, + VmaAllocation VMA_NOT_NULL allocation, + VkDeviceSize allocationLocalOffset, + VkBuffer VMA_NOT_NULL_NON_DISPATCHABLE buffer, + const void* VMA_NULLABLE pNext); + +/** \brief Binds image to allocation. + +Binds specified image to region of memory represented by specified allocation. +Gets `VkDeviceMemory` handle and offset from the allocation. +If you want to create an image, allocate memory for it and bind them together separately, +you should use this function for binding instead of standard `vkBindImageMemory()`, +because it ensures proper synchronization so that when a `VkDeviceMemory` object is used by multiple +allocations, calls to `vkBind*Memory()` or `vkMapMemory()` won't happen from multiple threads simultaneously +(which is illegal in Vulkan). + +It is recommended to use function vmaCreateImage() instead of this one. +*/ +VMA_CALL_PRE VkResult VMA_CALL_POST vmaBindImageMemory( + VmaAllocator VMA_NOT_NULL allocator, + VmaAllocation VMA_NOT_NULL allocation, + VkImage VMA_NOT_NULL_NON_DISPATCHABLE image); + +/** \brief Binds image to allocation with additional parameters. + +\param allocator +\param allocation +\param allocationLocalOffset Additional offset to be added while binding, relative to the beginning of the `allocation`. Normally it should be 0. +\param image +\param pNext A chain of structures to be attached to `VkBindImageMemoryInfoKHR` structure used internally. Normally it should be null. + +This function is similar to vmaBindImageMemory(), but it provides additional parameters. + +If `pNext` is not null, #VmaAllocator object must have been created with #VMA_ALLOCATOR_CREATE_KHR_BIND_MEMORY2_BIT flag +or with VmaAllocatorCreateInfo::vulkanApiVersion `>= VK_API_VERSION_1_1`. Otherwise the call fails. +*/ +VMA_CALL_PRE VkResult VMA_CALL_POST vmaBindImageMemory2( + VmaAllocator VMA_NOT_NULL allocator, + VmaAllocation VMA_NOT_NULL allocation, + VkDeviceSize allocationLocalOffset, + VkImage VMA_NOT_NULL_NON_DISPATCHABLE image, + const void* VMA_NULLABLE pNext); + +/** \brief Creates a new `VkBuffer`, allocates and binds memory for it. + +\param allocator +\param pBufferCreateInfo +\param pAllocationCreateInfo +\param[out] pBuffer Buffer that was created. +\param[out] pAllocation Allocation that was created. +\param[out] pAllocationInfo Optional. Information about allocated memory. It can be later fetched using function vmaGetAllocationInfo(). + +This function automatically: + +-# Creates buffer. +-# Allocates appropriate memory for it. +-# Binds the buffer with the memory. + +If any of these operations fail, buffer and allocation are not created, +returned value is negative error code, `*pBuffer` and `*pAllocation` are null. + +If the function succeeded, you must destroy both buffer and allocation when you +no longer need them using either convenience function vmaDestroyBuffer() or +separately, using `vkDestroyBuffer()` and vmaFreeMemory(). + +If #VMA_ALLOCATOR_CREATE_KHR_DEDICATED_ALLOCATION_BIT flag was used, +VK_KHR_dedicated_allocation extension is used internally to query driver whether +it requires or prefers the new buffer to have dedicated allocation. If yes, +and if dedicated allocation is possible +(#VMA_ALLOCATION_CREATE_NEVER_ALLOCATE_BIT is not used), it creates dedicated +allocation for this buffer, just like when using +#VMA_ALLOCATION_CREATE_DEDICATED_MEMORY_BIT. + +\note This function creates a new `VkBuffer`. Sub-allocation of parts of one large buffer, +although recommended as a good practice, is out of scope of this library and could be implemented +by the user as a higher-level logic on top of VMA. +*/ +VMA_CALL_PRE VkResult VMA_CALL_POST vmaCreateBuffer( + VmaAllocator VMA_NOT_NULL allocator, + const VkBufferCreateInfo* VMA_NOT_NULL pBufferCreateInfo, + const VmaAllocationCreateInfo* VMA_NOT_NULL pAllocationCreateInfo, + VkBuffer VMA_NULLABLE_NON_DISPATCHABLE* VMA_NOT_NULL pBuffer, + VmaAllocation VMA_NULLABLE* VMA_NOT_NULL pAllocation, + VmaAllocationInfo* VMA_NULLABLE pAllocationInfo); + +/** \brief Creates a buffer with additional minimum alignment. + +Similar to vmaCreateBuffer() but provides additional parameter `minAlignment` which allows to specify custom, +minimum alignment to be used when placing the buffer inside a larger memory block, which may be needed e.g. +for interop with OpenGL. +*/ +VMA_CALL_PRE VkResult VMA_CALL_POST vmaCreateBufferWithAlignment( + VmaAllocator VMA_NOT_NULL allocator, + const VkBufferCreateInfo* VMA_NOT_NULL pBufferCreateInfo, + const VmaAllocationCreateInfo* VMA_NOT_NULL pAllocationCreateInfo, + VkDeviceSize minAlignment, + VkBuffer VMA_NULLABLE_NON_DISPATCHABLE* VMA_NOT_NULL pBuffer, + VmaAllocation VMA_NULLABLE* VMA_NOT_NULL pAllocation, + VmaAllocationInfo* VMA_NULLABLE pAllocationInfo); + +/** \brief Creates a new `VkBuffer`, binds already created memory for it. + +\param allocator +\param allocation Allocation that provides memory to be used for binding new buffer to it. +\param pBufferCreateInfo +\param[out] pBuffer Buffer that was created. + +This function automatically: + +-# Creates buffer. +-# Binds the buffer with the supplied memory. + +If any of these operations fail, buffer is not created, +returned value is negative error code and `*pBuffer` is null. + +If the function succeeded, you must destroy the buffer when you +no longer need it using `vkDestroyBuffer()`. If you want to also destroy the corresponding +allocation you can use convenience function vmaDestroyBuffer(). +*/ +VMA_CALL_PRE VkResult VMA_CALL_POST vmaCreateAliasingBuffer( + VmaAllocator VMA_NOT_NULL allocator, + VmaAllocation VMA_NOT_NULL allocation, + const VkBufferCreateInfo* VMA_NOT_NULL pBufferCreateInfo, + VkBuffer VMA_NULLABLE_NON_DISPATCHABLE* VMA_NOT_NULL pBuffer); + +/** \brief Destroys Vulkan buffer and frees allocated memory. + +This is just a convenience function equivalent to: + +\code +vkDestroyBuffer(device, buffer, allocationCallbacks); +vmaFreeMemory(allocator, allocation); +\endcode + +It it safe to pass null as buffer and/or allocation. +*/ +VMA_CALL_PRE void VMA_CALL_POST vmaDestroyBuffer( + VmaAllocator VMA_NOT_NULL allocator, + VkBuffer VMA_NULLABLE_NON_DISPATCHABLE buffer, + VmaAllocation VMA_NULLABLE allocation); + +/// Function similar to vmaCreateBuffer(). +VMA_CALL_PRE VkResult VMA_CALL_POST vmaCreateImage( + VmaAllocator VMA_NOT_NULL allocator, + const VkImageCreateInfo* VMA_NOT_NULL pImageCreateInfo, + const VmaAllocationCreateInfo* VMA_NOT_NULL pAllocationCreateInfo, + VkImage VMA_NULLABLE_NON_DISPATCHABLE* VMA_NOT_NULL pImage, + VmaAllocation VMA_NULLABLE* VMA_NOT_NULL pAllocation, + VmaAllocationInfo* VMA_NULLABLE pAllocationInfo); + +/// Function similar to vmaCreateAliasingBuffer(). +VMA_CALL_PRE VkResult VMA_CALL_POST vmaCreateAliasingImage( + VmaAllocator VMA_NOT_NULL allocator, + VmaAllocation VMA_NOT_NULL allocation, + const VkImageCreateInfo* VMA_NOT_NULL pImageCreateInfo, + VkImage VMA_NULLABLE_NON_DISPATCHABLE* VMA_NOT_NULL pImage); + +/** \brief Destroys Vulkan image and frees allocated memory. + +This is just a convenience function equivalent to: + +\code +vkDestroyImage(device, image, allocationCallbacks); +vmaFreeMemory(allocator, allocation); +\endcode + +It it safe to pass null as image and/or allocation. +*/ +VMA_CALL_PRE void VMA_CALL_POST vmaDestroyImage( + VmaAllocator VMA_NOT_NULL allocator, + VkImage VMA_NULLABLE_NON_DISPATCHABLE image, + VmaAllocation VMA_NULLABLE allocation); + +/** @} */ + +/** +\addtogroup group_virtual +@{ +*/ + +/** \brief Creates new #VmaVirtualBlock object. + +\param pCreateInfo Parameters for creation. +\param[out] pVirtualBlock Returned virtual block object or `VMA_NULL` if creation failed. +*/ +VMA_CALL_PRE VkResult VMA_CALL_POST vmaCreateVirtualBlock( + const VmaVirtualBlockCreateInfo* VMA_NOT_NULL pCreateInfo, + VmaVirtualBlock VMA_NULLABLE* VMA_NOT_NULL pVirtualBlock); + +/** \brief Destroys #VmaVirtualBlock object. + +Please note that you should consciously handle virtual allocations that could remain unfreed in the block. +You should either free them individually using vmaVirtualFree() or call vmaClearVirtualBlock() +if you are sure this is what you want. If you do neither, an assert is called. + +If you keep pointers to some additional metadata associated with your virtual allocations in their `pUserData`, +don't forget to free them. +*/ +VMA_CALL_PRE void VMA_CALL_POST vmaDestroyVirtualBlock( + VmaVirtualBlock VMA_NULLABLE virtualBlock); + +/** \brief Returns true of the #VmaVirtualBlock is empty - contains 0 virtual allocations and has all its space available for new allocations. +*/ +VMA_CALL_PRE VkBool32 VMA_CALL_POST vmaIsVirtualBlockEmpty( + VmaVirtualBlock VMA_NOT_NULL virtualBlock); + +/** \brief Returns information about a specific virtual allocation within a virtual block, like its size and `pUserData` pointer. +*/ +VMA_CALL_PRE void VMA_CALL_POST vmaGetVirtualAllocationInfo( + VmaVirtualBlock VMA_NOT_NULL virtualBlock, + VmaVirtualAllocation VMA_NOT_NULL_NON_DISPATCHABLE allocation, VmaVirtualAllocationInfo* VMA_NOT_NULL pVirtualAllocInfo); + +/** \brief Allocates new virtual allocation inside given #VmaVirtualBlock. + +If the allocation fails due to not enough free space available, `VK_ERROR_OUT_OF_DEVICE_MEMORY` is returned +(despite the function doesn't ever allocate actual GPU memory). +`pAllocation` is then set to `VK_NULL_HANDLE` and `pOffset`, if not null, it set to `UINT64_MAX`. + +\param virtualBlock Virtual block +\param pCreateInfo Parameters for the allocation +\param[out] pAllocation Returned handle of the new allocation +\param[out] pOffset Returned offset of the new allocation. Optional, can be null. +*/ +VMA_CALL_PRE VkResult VMA_CALL_POST vmaVirtualAllocate( + VmaVirtualBlock VMA_NOT_NULL virtualBlock, + const VmaVirtualAllocationCreateInfo* VMA_NOT_NULL pCreateInfo, + VmaVirtualAllocation VMA_NULLABLE_NON_DISPATCHABLE* VMA_NOT_NULL pAllocation, + VkDeviceSize* VMA_NULLABLE pOffset); + +/** \brief Frees virtual allocation inside given #VmaVirtualBlock. + +It is correct to call this function with `allocation == VK_NULL_HANDLE` - it does nothing. +*/ +VMA_CALL_PRE void VMA_CALL_POST vmaVirtualFree( + VmaVirtualBlock VMA_NOT_NULL virtualBlock, + VmaVirtualAllocation VMA_NULLABLE_NON_DISPATCHABLE allocation); + +/** \brief Frees all virtual allocations inside given #VmaVirtualBlock. + +You must either call this function or free each virtual allocation individually with vmaVirtualFree() +before destroying a virtual block. Otherwise, an assert is called. + +If you keep pointer to some additional metadata associated with your virtual allocation in its `pUserData`, +don't forget to free it as well. +*/ +VMA_CALL_PRE void VMA_CALL_POST vmaClearVirtualBlock( + VmaVirtualBlock VMA_NOT_NULL virtualBlock); + +/** \brief Changes custom pointer associated with given virtual allocation. +*/ +VMA_CALL_PRE void VMA_CALL_POST vmaSetVirtualAllocationUserData( + VmaVirtualBlock VMA_NOT_NULL virtualBlock, + VmaVirtualAllocation VMA_NOT_NULL_NON_DISPATCHABLE allocation, + void* VMA_NULLABLE pUserData); + +/** \brief Calculates and returns statistics about virtual allocations and memory usage in given #VmaVirtualBlock. + +This function is fast to call. For more detailed statistics, see vmaCalculateVirtualBlockStatistics(). +*/ +VMA_CALL_PRE void VMA_CALL_POST vmaGetVirtualBlockStatistics( + VmaVirtualBlock VMA_NOT_NULL virtualBlock, + VmaStatistics* VMA_NOT_NULL pStats); + +/** \brief Calculates and returns detailed statistics about virtual allocations and memory usage in given #VmaVirtualBlock. + +This function is slow to call. Use for debugging purposes. +For less detailed statistics, see vmaGetVirtualBlockStatistics(). +*/ +VMA_CALL_PRE void VMA_CALL_POST vmaCalculateVirtualBlockStatistics( + VmaVirtualBlock VMA_NOT_NULL virtualBlock, + VmaDetailedStatistics* VMA_NOT_NULL pStats); + +/** @} */ + +#if VMA_STATS_STRING_ENABLED +/** +\addtogroup group_stats +@{ +*/ + +/** \brief Builds and returns a null-terminated string in JSON format with information about given #VmaVirtualBlock. +\param virtualBlock Virtual block. +\param[out] ppStatsString Returned string. +\param detailedMap Pass `VK_FALSE` to only obtain statistics as returned by vmaCalculateVirtualBlockStatistics(). Pass `VK_TRUE` to also obtain full list of allocations and free spaces. + +Returned string must be freed using vmaFreeVirtualBlockStatsString(). +*/ +VMA_CALL_PRE void VMA_CALL_POST vmaBuildVirtualBlockStatsString( + VmaVirtualBlock VMA_NOT_NULL virtualBlock, + char* VMA_NULLABLE* VMA_NOT_NULL ppStatsString, + VkBool32 detailedMap); + +/// Frees a string returned by vmaBuildVirtualBlockStatsString(). +VMA_CALL_PRE void VMA_CALL_POST vmaFreeVirtualBlockStatsString( + VmaVirtualBlock VMA_NOT_NULL virtualBlock, + char* VMA_NULLABLE pStatsString); + +/** \brief Builds and returns statistics as a null-terminated string in JSON format. +\param allocator +\param[out] ppStatsString Must be freed using vmaFreeStatsString() function. +\param detailedMap +*/ +VMA_CALL_PRE void VMA_CALL_POST vmaBuildStatsString( + VmaAllocator VMA_NOT_NULL allocator, + char* VMA_NULLABLE* VMA_NOT_NULL ppStatsString, + VkBool32 detailedMap); + +VMA_CALL_PRE void VMA_CALL_POST vmaFreeStatsString( + VmaAllocator VMA_NOT_NULL allocator, + char* VMA_NULLABLE pStatsString); + +/** @} */ + +#endif // VMA_STATS_STRING_ENABLED + +#endif // _VMA_FUNCTION_HEADERS + +#ifdef __cplusplus +} +#endif + +#endif // AMD_VULKAN_MEMORY_ALLOCATOR_H + +//////////////////////////////////////////////////////////////////////////////// +//////////////////////////////////////////////////////////////////////////////// +// +// IMPLEMENTATION +// +//////////////////////////////////////////////////////////////////////////////// +//////////////////////////////////////////////////////////////////////////////// + +// For Visual Studio IntelliSense. +#if defined(__cplusplus) && defined(__INTELLISENSE__) +#define VMA_IMPLEMENTATION +#endif + +#ifdef VMA_IMPLEMENTATION +#undef VMA_IMPLEMENTATION + +#include +#include +#include +#include +#include + +#ifdef _MSC_VER + #include // For functions like __popcnt, _BitScanForward etc. +#endif +#if __cplusplus >= 202002L || _MSVC_LANG >= 202002L // C++20 + #include // For std::popcount +#endif + +/******************************************************************************* +CONFIGURATION SECTION + +Define some of these macros before each #include of this header or change them +here if you need other then default behavior depending on your environment. +*/ +#ifndef _VMA_CONFIGURATION + +/* +Define this macro to 1 to make the library fetch pointers to Vulkan functions +internally, like: + + vulkanFunctions.vkAllocateMemory = &vkAllocateMemory; +*/ +#if !defined(VMA_STATIC_VULKAN_FUNCTIONS) && !defined(VK_NO_PROTOTYPES) + #define VMA_STATIC_VULKAN_FUNCTIONS 1 +#endif + +/* +Define this macro to 1 to make the library fetch pointers to Vulkan functions +internally, like: + + vulkanFunctions.vkAllocateMemory = (PFN_vkAllocateMemory)vkGetDeviceProcAddr(device, "vkAllocateMemory"); + +To use this feature in new versions of VMA you now have to pass +VmaVulkanFunctions::vkGetInstanceProcAddr and vkGetDeviceProcAddr as +VmaAllocatorCreateInfo::pVulkanFunctions. Other members can be null. +*/ +#if !defined(VMA_DYNAMIC_VULKAN_FUNCTIONS) + #define VMA_DYNAMIC_VULKAN_FUNCTIONS 1 +#endif + +#ifndef VMA_USE_STL_SHARED_MUTEX + // Compiler conforms to C++17. + #if __cplusplus >= 201703L + #define VMA_USE_STL_SHARED_MUTEX 1 + // Visual studio defines __cplusplus properly only when passed additional parameter: /Zc:__cplusplus + // Otherwise it is always 199711L, despite shared_mutex works since Visual Studio 2015 Update 2. + #elif defined(_MSC_FULL_VER) && _MSC_FULL_VER >= 190023918 && __cplusplus == 199711L && _MSVC_LANG >= 201703L + #define VMA_USE_STL_SHARED_MUTEX 1 + #else + #define VMA_USE_STL_SHARED_MUTEX 0 + #endif +#endif + +/* +Define this macro to include custom header files without having to edit this file directly, e.g.: + + // Inside of "my_vma_configuration_user_includes.h": + + #include "my_custom_assert.h" // for MY_CUSTOM_ASSERT + #include "my_custom_min.h" // for my_custom_min + #include + #include + + // Inside a different file, which includes "vk_mem_alloc.h": + + #define VMA_CONFIGURATION_USER_INCLUDES_H "my_vma_configuration_user_includes.h" + #define VMA_ASSERT(expr) MY_CUSTOM_ASSERT(expr) + #define VMA_MIN(v1, v2) (my_custom_min(v1, v2)) + #include "vk_mem_alloc.h" + ... + +The following headers are used in this CONFIGURATION section only, so feel free to +remove them if not needed. +*/ +#if !defined(VMA_CONFIGURATION_USER_INCLUDES_H) + #include // for assert + #include // for min, max + #include +#else + #include VMA_CONFIGURATION_USER_INCLUDES_H +#endif + +#ifndef VMA_NULL + // Value used as null pointer. Define it to e.g.: nullptr, NULL, 0, (void*)0. + #define VMA_NULL nullptr +#endif + +#if defined(__ANDROID_API__) && (__ANDROID_API__ < 16) +#include +static void* vma_aligned_alloc(size_t alignment, size_t size) +{ + // alignment must be >= sizeof(void*) + if(alignment < sizeof(void*)) + { + alignment = sizeof(void*); + } + + return memalign(alignment, size); +} +#elif defined(__APPLE__) || defined(__ANDROID__) || (defined(__linux__) && defined(__GLIBCXX__) && !defined(_GLIBCXX_HAVE_ALIGNED_ALLOC)) +#include + +#if defined(__APPLE__) +#include +#endif + +static void* vma_aligned_alloc(size_t alignment, size_t size) +{ + // Unfortunately, aligned_alloc causes VMA to crash due to it returning null pointers. (At least under 11.4) + // Therefore, for now disable this specific exception until a proper solution is found. + //#if defined(__APPLE__) && (defined(MAC_OS_X_VERSION_10_16) || defined(__IPHONE_14_0)) + //#if MAC_OS_X_VERSION_MAX_ALLOWED >= MAC_OS_X_VERSION_10_16 || __IPHONE_OS_VERSION_MAX_ALLOWED >= __IPHONE_14_0 + // // For C++14, usr/include/malloc/_malloc.h declares aligned_alloc()) only + // // with the MacOSX11.0 SDK in Xcode 12 (which is what adds + // // MAC_OS_X_VERSION_10_16), even though the function is marked + // // availabe for 10.15. That is why the preprocessor checks for 10.16 but + // // the __builtin_available checks for 10.15. + // // People who use C++17 could call aligned_alloc with the 10.15 SDK already. + // if (__builtin_available(macOS 10.15, iOS 13, *)) + // return aligned_alloc(alignment, size); + //#endif + //#endif + + // alignment must be >= sizeof(void*) + if(alignment < sizeof(void*)) + { + alignment = sizeof(void*); + } + + void *pointer; + if(posix_memalign(&pointer, alignment, size) == 0) + return pointer; + return VMA_NULL; +} +#elif defined(_WIN32) +static void* vma_aligned_alloc(size_t alignment, size_t size) +{ + return _aligned_malloc(size, alignment); +} +#else +static void* vma_aligned_alloc(size_t alignment, size_t size) +{ + return aligned_alloc(alignment, size); +} +#endif + +#if defined(_WIN32) +static void vma_aligned_free(void* ptr) +{ + _aligned_free(ptr); +} +#else +static void vma_aligned_free(void* VMA_NULLABLE ptr) +{ + free(ptr); +} +#endif + +// If your compiler is not compatible with C++11 and definition of +// aligned_alloc() function is missing, uncommeting following line may help: + +//#include + +// Normal assert to check for programmer's errors, especially in Debug configuration. +#ifndef VMA_ASSERT + #ifdef NDEBUG + #define VMA_ASSERT(expr) + #else + #define VMA_ASSERT(expr) assert(expr) + #endif +#endif + +// Assert that will be called very often, like inside data structures e.g. operator[]. +// Making it non-empty can make program slow. +#ifndef VMA_HEAVY_ASSERT + #ifdef NDEBUG + #define VMA_HEAVY_ASSERT(expr) + #else + #define VMA_HEAVY_ASSERT(expr) //VMA_ASSERT(expr) + #endif +#endif + +#ifndef VMA_ALIGN_OF + #define VMA_ALIGN_OF(type) (__alignof(type)) +#endif + +#ifndef VMA_SYSTEM_ALIGNED_MALLOC + #define VMA_SYSTEM_ALIGNED_MALLOC(size, alignment) vma_aligned_alloc((alignment), (size)) +#endif + +#ifndef VMA_SYSTEM_ALIGNED_FREE + // VMA_SYSTEM_FREE is the old name, but might have been defined by the user + #if defined(VMA_SYSTEM_FREE) + #define VMA_SYSTEM_ALIGNED_FREE(ptr) VMA_SYSTEM_FREE(ptr) + #else + #define VMA_SYSTEM_ALIGNED_FREE(ptr) vma_aligned_free(ptr) + #endif +#endif + +#ifndef VMA_COUNT_BITS_SET + // Returns number of bits set to 1 in (v) + #define VMA_COUNT_BITS_SET(v) VmaCountBitsSet(v) +#endif + +#ifndef VMA_BITSCAN_LSB + // Scans integer for index of first nonzero value from the Least Significant Bit (LSB). If mask is 0 then returns UINT8_MAX + #define VMA_BITSCAN_LSB(mask) VmaBitScanLSB(mask) +#endif + +#ifndef VMA_BITSCAN_MSB + // Scans integer for index of first nonzero value from the Most Significant Bit (MSB). If mask is 0 then returns UINT8_MAX + #define VMA_BITSCAN_MSB(mask) VmaBitScanMSB(mask) +#endif + +#ifndef VMA_MIN + #define VMA_MIN(v1, v2) ((std::min)((v1), (v2))) +#endif + +#ifndef VMA_MAX + #define VMA_MAX(v1, v2) ((std::max)((v1), (v2))) +#endif + +#ifndef VMA_SWAP + #define VMA_SWAP(v1, v2) std::swap((v1), (v2)) +#endif + +#ifndef VMA_SORT + #define VMA_SORT(beg, end, cmp) std::sort(beg, end, cmp) +#endif + +#ifndef VMA_DEBUG_LOG + #define VMA_DEBUG_LOG(format, ...) + /* + #define VMA_DEBUG_LOG(format, ...) do { \ + printf(format, __VA_ARGS__); \ + printf("\n"); \ + } while(false) + */ +#endif + +// Define this macro to 1 to enable functions: vmaBuildStatsString, vmaFreeStatsString. +#if VMA_STATS_STRING_ENABLED + static inline void VmaUint32ToStr(char* VMA_NOT_NULL outStr, size_t strLen, uint32_t num) + { + snprintf(outStr, strLen, "%u", static_cast(num)); + } + static inline void VmaUint64ToStr(char* VMA_NOT_NULL outStr, size_t strLen, uint64_t num) + { + snprintf(outStr, strLen, "%llu", static_cast(num)); + } + static inline void VmaPtrToStr(char* VMA_NOT_NULL outStr, size_t strLen, const void* ptr) + { + snprintf(outStr, strLen, "%p", ptr); + } +#endif + +#ifndef VMA_MUTEX + class VmaMutex + { + public: + void Lock() { m_Mutex.lock(); } + void Unlock() { m_Mutex.unlock(); } + bool TryLock() { return m_Mutex.try_lock(); } + private: + std::mutex m_Mutex; + }; + #define VMA_MUTEX VmaMutex +#endif + +// Read-write mutex, where "read" is shared access, "write" is exclusive access. +#ifndef VMA_RW_MUTEX + #if VMA_USE_STL_SHARED_MUTEX + // Use std::shared_mutex from C++17. + #include + class VmaRWMutex + { + public: + void LockRead() { m_Mutex.lock_shared(); } + void UnlockRead() { m_Mutex.unlock_shared(); } + bool TryLockRead() { return m_Mutex.try_lock_shared(); } + void LockWrite() { m_Mutex.lock(); } + void UnlockWrite() { m_Mutex.unlock(); } + bool TryLockWrite() { return m_Mutex.try_lock(); } + private: + std::shared_mutex m_Mutex; + }; + #define VMA_RW_MUTEX VmaRWMutex + #elif defined(_WIN32) && defined(WINVER) && WINVER >= 0x0600 + // Use SRWLOCK from WinAPI. + // Minimum supported client = Windows Vista, server = Windows Server 2008. + class VmaRWMutex + { + public: + VmaRWMutex() { InitializeSRWLock(&m_Lock); } + void LockRead() { AcquireSRWLockShared(&m_Lock); } + void UnlockRead() { ReleaseSRWLockShared(&m_Lock); } + bool TryLockRead() { return TryAcquireSRWLockShared(&m_Lock) != FALSE; } + void LockWrite() { AcquireSRWLockExclusive(&m_Lock); } + void UnlockWrite() { ReleaseSRWLockExclusive(&m_Lock); } + bool TryLockWrite() { return TryAcquireSRWLockExclusive(&m_Lock) != FALSE; } + private: + SRWLOCK m_Lock; + }; + #define VMA_RW_MUTEX VmaRWMutex + #else + // Less efficient fallback: Use normal mutex. + class VmaRWMutex + { + public: + void LockRead() { m_Mutex.Lock(); } + void UnlockRead() { m_Mutex.Unlock(); } + bool TryLockRead() { return m_Mutex.TryLock(); } + void LockWrite() { m_Mutex.Lock(); } + void UnlockWrite() { m_Mutex.Unlock(); } + bool TryLockWrite() { return m_Mutex.TryLock(); } + private: + VMA_MUTEX m_Mutex; + }; + #define VMA_RW_MUTEX VmaRWMutex + #endif // #if VMA_USE_STL_SHARED_MUTEX +#endif // #ifndef VMA_RW_MUTEX + +/* +If providing your own implementation, you need to implement a subset of std::atomic. +*/ +#ifndef VMA_ATOMIC_UINT32 + #include + #define VMA_ATOMIC_UINT32 std::atomic +#endif + +#ifndef VMA_ATOMIC_UINT64 + #include + #define VMA_ATOMIC_UINT64 std::atomic +#endif + +#ifndef VMA_DEBUG_ALWAYS_DEDICATED_MEMORY + /** + Every allocation will have its own memory block. + Define to 1 for debugging purposes only. + */ + #define VMA_DEBUG_ALWAYS_DEDICATED_MEMORY (0) +#endif + +#ifndef VMA_MIN_ALIGNMENT + /** + Minimum alignment of all allocations, in bytes. + Set to more than 1 for debugging purposes. Must be power of two. + */ + #ifdef VMA_DEBUG_ALIGNMENT // Old name + #define VMA_MIN_ALIGNMENT VMA_DEBUG_ALIGNMENT + #else + #define VMA_MIN_ALIGNMENT (1) + #endif +#endif + +#ifndef VMA_DEBUG_MARGIN + /** + Minimum margin after every allocation, in bytes. + Set nonzero for debugging purposes only. + */ + #define VMA_DEBUG_MARGIN (0) +#endif + +#ifndef VMA_DEBUG_INITIALIZE_ALLOCATIONS + /** + Define this macro to 1 to automatically fill new allocations and destroyed + allocations with some bit pattern. + */ + #define VMA_DEBUG_INITIALIZE_ALLOCATIONS (0) +#endif + +#ifndef VMA_DEBUG_DETECT_CORRUPTION + /** + Define this macro to 1 together with non-zero value of VMA_DEBUG_MARGIN to + enable writing magic value to the margin after every allocation and + validating it, so that memory corruptions (out-of-bounds writes) are detected. + */ + #define VMA_DEBUG_DETECT_CORRUPTION (0) +#endif + +#ifndef VMA_DEBUG_GLOBAL_MUTEX + /** + Set this to 1 for debugging purposes only, to enable single mutex protecting all + entry calls to the library. Can be useful for debugging multithreading issues. + */ + #define VMA_DEBUG_GLOBAL_MUTEX (0) +#endif + +#ifndef VMA_DEBUG_MIN_BUFFER_IMAGE_GRANULARITY + /** + Minimum value for VkPhysicalDeviceLimits::bufferImageGranularity. + Set to more than 1 for debugging purposes only. Must be power of two. + */ + #define VMA_DEBUG_MIN_BUFFER_IMAGE_GRANULARITY (1) +#endif + +#ifndef VMA_DEBUG_DONT_EXCEED_MAX_MEMORY_ALLOCATION_COUNT + /* + Set this to 1 to make VMA never exceed VkPhysicalDeviceLimits::maxMemoryAllocationCount + and return error instead of leaving up to Vulkan implementation what to do in such cases. + */ + #define VMA_DEBUG_DONT_EXCEED_MAX_MEMORY_ALLOCATION_COUNT (0) +#endif + +#ifndef VMA_SMALL_HEAP_MAX_SIZE + /// Maximum size of a memory heap in Vulkan to consider it "small". + #define VMA_SMALL_HEAP_MAX_SIZE (1024ull * 1024 * 1024) +#endif + +#ifndef VMA_DEFAULT_LARGE_HEAP_BLOCK_SIZE + /// Default size of a block allocated as single VkDeviceMemory from a "large" heap. + #define VMA_DEFAULT_LARGE_HEAP_BLOCK_SIZE (256ull * 1024 * 1024) +#endif + +/* +Mapping hysteresis is a logic that launches when vmaMapMemory/vmaUnmapMemory is called +or a persistently mapped allocation is created and destroyed several times in a row. +It keeps additional +1 mapping of a device memory block to prevent calling actual +vkMapMemory/vkUnmapMemory too many times, which may improve performance and help +tools like RenderDOc. +*/ +#ifndef VMA_MAPPING_HYSTERESIS_ENABLED + #define VMA_MAPPING_HYSTERESIS_ENABLED 1 +#endif + +#ifndef VMA_CLASS_NO_COPY + #define VMA_CLASS_NO_COPY(className) \ + private: \ + className(const className&) = delete; \ + className& operator=(const className&) = delete; +#endif + +#define VMA_VALIDATE(cond) do { if(!(cond)) { \ + VMA_ASSERT(0 && "Validation failed: " #cond); \ + return false; \ + } } while(false) + +/******************************************************************************* +END OF CONFIGURATION +*/ +#endif // _VMA_CONFIGURATION + + +static const uint8_t VMA_ALLOCATION_FILL_PATTERN_CREATED = 0xDC; +static const uint8_t VMA_ALLOCATION_FILL_PATTERN_DESTROYED = 0xEF; +// Decimal 2139416166, float NaN, little-endian binary 66 E6 84 7F. +static const uint32_t VMA_CORRUPTION_DETECTION_MAGIC_VALUE = 0x7F84E666; + +// Copy of some Vulkan definitions so we don't need to check their existence just to handle few constants. +static const uint32_t VK_MEMORY_PROPERTY_DEVICE_COHERENT_BIT_AMD_COPY = 0x00000040; +static const uint32_t VK_MEMORY_PROPERTY_DEVICE_UNCACHED_BIT_AMD_COPY = 0x00000080; +static const uint32_t VK_BUFFER_USAGE_SHADER_DEVICE_ADDRESS_BIT_COPY = 0x00020000; +static const uint32_t VK_IMAGE_CREATE_DISJOINT_BIT_COPY = 0x00000200; +static const int32_t VK_IMAGE_TILING_DRM_FORMAT_MODIFIER_EXT_COPY = 1000158000; +static const uint32_t VMA_ALLOCATION_INTERNAL_STRATEGY_MIN_OFFSET = 0x10000000u; +static const uint32_t VMA_ALLOCATION_TRY_COUNT = 32; +static const uint32_t VMA_VENDOR_ID_AMD = 4098; + +// This one is tricky. Vulkan specification defines this code as available since +// Vulkan 1.0, but doesn't actually define it in Vulkan SDK earlier than 1.2.131. +// See pull request #207. +#define VK_ERROR_UNKNOWN_COPY ((VkResult)-13) + + +#if VMA_STATS_STRING_ENABLED +// Correspond to values of enum VmaSuballocationType. +static const char* VMA_SUBALLOCATION_TYPE_NAMES[] = +{ + "FREE", + "UNKNOWN", + "BUFFER", + "IMAGE_UNKNOWN", + "IMAGE_LINEAR", + "IMAGE_OPTIMAL", +}; +#endif + +static VkAllocationCallbacks VmaEmptyAllocationCallbacks = + { VMA_NULL, VMA_NULL, VMA_NULL, VMA_NULL, VMA_NULL, VMA_NULL }; + + +#ifndef _VMA_ENUM_DECLARATIONS + +enum VmaSuballocationType +{ + VMA_SUBALLOCATION_TYPE_FREE = 0, + VMA_SUBALLOCATION_TYPE_UNKNOWN = 1, + VMA_SUBALLOCATION_TYPE_BUFFER = 2, + VMA_SUBALLOCATION_TYPE_IMAGE_UNKNOWN = 3, + VMA_SUBALLOCATION_TYPE_IMAGE_LINEAR = 4, + VMA_SUBALLOCATION_TYPE_IMAGE_OPTIMAL = 5, + VMA_SUBALLOCATION_TYPE_MAX_ENUM = 0x7FFFFFFF +}; + +enum VMA_CACHE_OPERATION +{ + VMA_CACHE_FLUSH, + VMA_CACHE_INVALIDATE +}; + +enum class VmaAllocationRequestType +{ + Normal, + TLSF, + // Used by "Linear" algorithm. + UpperAddress, + EndOf1st, + EndOf2nd, +}; + +#endif // _VMA_ENUM_DECLARATIONS + +#ifndef _VMA_FORWARD_DECLARATIONS +// Opaque handle used by allocation algorithms to identify single allocation in any conforming way. +VK_DEFINE_NON_DISPATCHABLE_HANDLE(VmaAllocHandle); + +struct VmaMutexLock; +struct VmaMutexLockRead; +struct VmaMutexLockWrite; + +template +struct AtomicTransactionalIncrement; + +template +struct VmaStlAllocator; + +template +class VmaVector; + +template +class VmaSmallVector; + +template +class VmaPoolAllocator; + +template +struct VmaListItem; + +template +class VmaRawList; + +template +class VmaList; + +template +class VmaIntrusiveLinkedList; + +// Unused in this version +#if 0 +template +struct VmaPair; +template +struct VmaPairFirstLess; + +template +class VmaMap; +#endif + +#if VMA_STATS_STRING_ENABLED +class VmaStringBuilder; +class VmaJsonWriter; +#endif + +class VmaDeviceMemoryBlock; + +struct VmaDedicatedAllocationListItemTraits; +class VmaDedicatedAllocationList; + +struct VmaSuballocation; +struct VmaSuballocationOffsetLess; +struct VmaSuballocationOffsetGreater; +struct VmaSuballocationItemSizeLess; + +typedef VmaList> VmaSuballocationList; + +struct VmaAllocationRequest; + +class VmaBlockMetadata; +class VmaBlockMetadata_Linear; +class VmaBlockMetadata_TLSF; + +class VmaBlockVector; + +struct VmaPoolListItemTraits; + +struct VmaCurrentBudgetData; + +class VmaAllocationObjectAllocator; + +#endif // _VMA_FORWARD_DECLARATIONS + + +#ifndef _VMA_FUNCTIONS + +/* +Returns number of bits set to 1 in (v). + +On specific platforms and compilers you can use instrinsics like: + +Visual Studio: + return __popcnt(v); +GCC, Clang: + return static_cast(__builtin_popcount(v)); + +Define macro VMA_COUNT_BITS_SET to provide your optimized implementation. +But you need to check in runtime whether user's CPU supports these, as some old processors don't. +*/ +static inline uint32_t VmaCountBitsSet(uint32_t v) +{ +#if __cplusplus >= 202002L || _MSVC_LANG >= 202002L // C++20 + return std::popcount(v); +#else + uint32_t c = v - ((v >> 1) & 0x55555555); + c = ((c >> 2) & 0x33333333) + (c & 0x33333333); + c = ((c >> 4) + c) & 0x0F0F0F0F; + c = ((c >> 8) + c) & 0x00FF00FF; + c = ((c >> 16) + c) & 0x0000FFFF; + return c; +#endif +} + +static inline uint8_t VmaBitScanLSB(uint64_t mask) +{ +#if defined(_MSC_VER) && defined(_WIN64) + unsigned long pos; + if (_BitScanForward64(&pos, mask)) + return static_cast(pos); + return UINT8_MAX; +#elif defined __GNUC__ || defined __clang__ + return static_cast(__builtin_ffsll(mask)) - 1U; +#else + uint8_t pos = 0; + uint64_t bit = 1; + do + { + if (mask & bit) + return pos; + bit <<= 1; + } while (pos++ < 63); + return UINT8_MAX; +#endif +} + +static inline uint8_t VmaBitScanLSB(uint32_t mask) +{ +#ifdef _MSC_VER + unsigned long pos; + if (_BitScanForward(&pos, mask)) + return static_cast(pos); + return UINT8_MAX; +#elif defined __GNUC__ || defined __clang__ + return static_cast(__builtin_ffs(mask)) - 1U; +#else + uint8_t pos = 0; + uint32_t bit = 1; + do + { + if (mask & bit) + return pos; + bit <<= 1; + } while (pos++ < 31); + return UINT8_MAX; +#endif +} + +static inline uint8_t VmaBitScanMSB(uint64_t mask) +{ +#if defined(_MSC_VER) && defined(_WIN64) + unsigned long pos; + if (_BitScanReverse64(&pos, mask)) + return static_cast(pos); +#elif defined __GNUC__ || defined __clang__ + if (mask) + return 63 - static_cast(__builtin_clzll(mask)); +#else + uint8_t pos = 63; + uint64_t bit = 1ULL << 63; + do + { + if (mask & bit) + return pos; + bit >>= 1; + } while (pos-- > 0); +#endif + return UINT8_MAX; +} + +static inline uint8_t VmaBitScanMSB(uint32_t mask) +{ +#ifdef _MSC_VER + unsigned long pos; + if (_BitScanReverse(&pos, mask)) + return static_cast(pos); +#elif defined __GNUC__ || defined __clang__ + if (mask) + return 31 - static_cast(__builtin_clz(mask)); +#else + uint8_t pos = 31; + uint32_t bit = 1UL << 31; + do + { + if (mask & bit) + return pos; + bit >>= 1; + } while (pos-- > 0); +#endif + return UINT8_MAX; +} + +/* +Returns true if given number is a power of two. +T must be unsigned integer number or signed integer but always nonnegative. +For 0 returns true. +*/ +template +inline bool VmaIsPow2(T x) +{ + return (x & (x - 1)) == 0; +} + +// Aligns given value up to nearest multiply of align value. For example: VmaAlignUp(11, 8) = 16. +// Use types like uint32_t, uint64_t as T. +template +static inline T VmaAlignUp(T val, T alignment) +{ + VMA_HEAVY_ASSERT(VmaIsPow2(alignment)); + return (val + alignment - 1) & ~(alignment - 1); +} + +// Aligns given value down to nearest multiply of align value. For example: VmaAlignUp(11, 8) = 8. +// Use types like uint32_t, uint64_t as T. +template +static inline T VmaAlignDown(T val, T alignment) +{ + VMA_HEAVY_ASSERT(VmaIsPow2(alignment)); + return val & ~(alignment - 1); +} + +// Division with mathematical rounding to nearest number. +template +static inline T VmaRoundDiv(T x, T y) +{ + return (x + (y / (T)2)) / y; +} + +// Divide by 'y' and round up to nearest integer. +template +static inline T VmaDivideRoundingUp(T x, T y) +{ + return (x + y - (T)1) / y; +} + +// Returns smallest power of 2 greater or equal to v. +static inline uint32_t VmaNextPow2(uint32_t v) +{ + v--; + v |= v >> 1; + v |= v >> 2; + v |= v >> 4; + v |= v >> 8; + v |= v >> 16; + v++; + return v; +} + +static inline uint64_t VmaNextPow2(uint64_t v) +{ + v--; + v |= v >> 1; + v |= v >> 2; + v |= v >> 4; + v |= v >> 8; + v |= v >> 16; + v |= v >> 32; + v++; + return v; +} + +// Returns largest power of 2 less or equal to v. +static inline uint32_t VmaPrevPow2(uint32_t v) +{ + v |= v >> 1; + v |= v >> 2; + v |= v >> 4; + v |= v >> 8; + v |= v >> 16; + v = v ^ (v >> 1); + return v; +} + +static inline uint64_t VmaPrevPow2(uint64_t v) +{ + v |= v >> 1; + v |= v >> 2; + v |= v >> 4; + v |= v >> 8; + v |= v >> 16; + v |= v >> 32; + v = v ^ (v >> 1); + return v; +} + +static inline bool VmaStrIsEmpty(const char* pStr) +{ + return pStr == VMA_NULL || *pStr == '\0'; +} + +/* +Returns true if two memory blocks occupy overlapping pages. +ResourceA must be in less memory offset than ResourceB. + +Algorithm is based on "Vulkan 1.0.39 - A Specification (with all registered Vulkan extensions)" +chapter 11.6 "Resource Memory Association", paragraph "Buffer-Image Granularity". +*/ +static inline bool VmaBlocksOnSamePage( + VkDeviceSize resourceAOffset, + VkDeviceSize resourceASize, + VkDeviceSize resourceBOffset, + VkDeviceSize pageSize) +{ + VMA_ASSERT(resourceAOffset + resourceASize <= resourceBOffset && resourceASize > 0 && pageSize > 0); + VkDeviceSize resourceAEnd = resourceAOffset + resourceASize - 1; + VkDeviceSize resourceAEndPage = resourceAEnd & ~(pageSize - 1); + VkDeviceSize resourceBStart = resourceBOffset; + VkDeviceSize resourceBStartPage = resourceBStart & ~(pageSize - 1); + return resourceAEndPage == resourceBStartPage; +} + +/* +Returns true if given suballocation types could conflict and must respect +VkPhysicalDeviceLimits::bufferImageGranularity. They conflict if one is buffer +or linear image and another one is optimal image. If type is unknown, behave +conservatively. +*/ +static inline bool VmaIsBufferImageGranularityConflict( + VmaSuballocationType suballocType1, + VmaSuballocationType suballocType2) +{ + if (suballocType1 > suballocType2) + { + VMA_SWAP(suballocType1, suballocType2); + } + + switch (suballocType1) + { + case VMA_SUBALLOCATION_TYPE_FREE: + return false; + case VMA_SUBALLOCATION_TYPE_UNKNOWN: + return true; + case VMA_SUBALLOCATION_TYPE_BUFFER: + return + suballocType2 == VMA_SUBALLOCATION_TYPE_IMAGE_UNKNOWN || + suballocType2 == VMA_SUBALLOCATION_TYPE_IMAGE_OPTIMAL; + case VMA_SUBALLOCATION_TYPE_IMAGE_UNKNOWN: + return + suballocType2 == VMA_SUBALLOCATION_TYPE_IMAGE_UNKNOWN || + suballocType2 == VMA_SUBALLOCATION_TYPE_IMAGE_LINEAR || + suballocType2 == VMA_SUBALLOCATION_TYPE_IMAGE_OPTIMAL; + case VMA_SUBALLOCATION_TYPE_IMAGE_LINEAR: + return + suballocType2 == VMA_SUBALLOCATION_TYPE_IMAGE_OPTIMAL; + case VMA_SUBALLOCATION_TYPE_IMAGE_OPTIMAL: + return false; + default: + VMA_ASSERT(0); + return true; + } +} + +static void VmaWriteMagicValue(void* pData, VkDeviceSize offset) +{ +#if VMA_DEBUG_MARGIN > 0 && VMA_DEBUG_DETECT_CORRUPTION + uint32_t* pDst = (uint32_t*)((char*)pData + offset); + const size_t numberCount = VMA_DEBUG_MARGIN / sizeof(uint32_t); + for (size_t i = 0; i < numberCount; ++i, ++pDst) + { + *pDst = VMA_CORRUPTION_DETECTION_MAGIC_VALUE; + } +#else + // no-op +#endif +} + +static bool VmaValidateMagicValue(const void* pData, VkDeviceSize offset) +{ +#if VMA_DEBUG_MARGIN > 0 && VMA_DEBUG_DETECT_CORRUPTION + const uint32_t* pSrc = (const uint32_t*)((const char*)pData + offset); + const size_t numberCount = VMA_DEBUG_MARGIN / sizeof(uint32_t); + for (size_t i = 0; i < numberCount; ++i, ++pSrc) + { + if (*pSrc != VMA_CORRUPTION_DETECTION_MAGIC_VALUE) + { + return false; + } + } +#endif + return true; +} + +/* +Fills structure with parameters of an example buffer to be used for transfers +during GPU memory defragmentation. +*/ +static void VmaFillGpuDefragmentationBufferCreateInfo(VkBufferCreateInfo& outBufCreateInfo) +{ + memset(&outBufCreateInfo, 0, sizeof(outBufCreateInfo)); + outBufCreateInfo.sType = VK_STRUCTURE_TYPE_BUFFER_CREATE_INFO; + outBufCreateInfo.usage = VK_BUFFER_USAGE_TRANSFER_SRC_BIT | VK_BUFFER_USAGE_TRANSFER_DST_BIT; + outBufCreateInfo.size = (VkDeviceSize)VMA_DEFAULT_LARGE_HEAP_BLOCK_SIZE; // Example size. +} + + +/* +Performs binary search and returns iterator to first element that is greater or +equal to (key), according to comparison (cmp). + +Cmp should return true if first argument is less than second argument. + +Returned value is the found element, if present in the collection or place where +new element with value (key) should be inserted. +*/ +template +static IterT VmaBinaryFindFirstNotLess(IterT beg, IterT end, const KeyT& key, const CmpLess& cmp) +{ + size_t down = 0, up = (end - beg); + while (down < up) + { + const size_t mid = down + (up - down) / 2; // Overflow-safe midpoint calculation + if (cmp(*(beg + mid), key)) + { + down = mid + 1; + } + else + { + up = mid; + } + } + return beg + down; +} + +template +IterT VmaBinaryFindSorted(const IterT& beg, const IterT& end, const KeyT& value, const CmpLess& cmp) +{ + IterT it = VmaBinaryFindFirstNotLess( + beg, end, value, cmp); + if (it == end || + (!cmp(*it, value) && !cmp(value, *it))) + { + return it; + } + return end; +} + +/* +Returns true if all pointers in the array are not-null and unique. +Warning! O(n^2) complexity. Use only inside VMA_HEAVY_ASSERT. +T must be pointer type, e.g. VmaAllocation, VmaPool. +*/ +template +static bool VmaValidatePointerArray(uint32_t count, const T* arr) +{ + for (uint32_t i = 0; i < count; ++i) + { + const T iPtr = arr[i]; + if (iPtr == VMA_NULL) + { + return false; + } + for (uint32_t j = i + 1; j < count; ++j) + { + if (iPtr == arr[j]) + { + return false; + } + } + } + return true; +} + +template +static inline void VmaPnextChainPushFront(MainT* mainStruct, NewT* newStruct) +{ + newStruct->pNext = mainStruct->pNext; + mainStruct->pNext = newStruct; +} + +// This is the main algorithm that guides the selection of a memory type best for an allocation - +// converts usage to required/preferred/not preferred flags. +static bool FindMemoryPreferences( + bool isIntegratedGPU, + const VmaAllocationCreateInfo& allocCreateInfo, + VkFlags bufImgUsage, // VkBufferCreateInfo::usage or VkImageCreateInfo::usage. UINT32_MAX if unknown. + VkMemoryPropertyFlags& outRequiredFlags, + VkMemoryPropertyFlags& outPreferredFlags, + VkMemoryPropertyFlags& outNotPreferredFlags) +{ + outRequiredFlags = allocCreateInfo.requiredFlags; + outPreferredFlags = allocCreateInfo.preferredFlags; + outNotPreferredFlags = 0; + + switch(allocCreateInfo.usage) + { + case VMA_MEMORY_USAGE_UNKNOWN: + break; + case VMA_MEMORY_USAGE_GPU_ONLY: + if(!isIntegratedGPU || (outPreferredFlags & VK_MEMORY_PROPERTY_HOST_VISIBLE_BIT) == 0) + { + outPreferredFlags |= VK_MEMORY_PROPERTY_DEVICE_LOCAL_BIT; + } + break; + case VMA_MEMORY_USAGE_CPU_ONLY: + outRequiredFlags |= VK_MEMORY_PROPERTY_HOST_VISIBLE_BIT | VK_MEMORY_PROPERTY_HOST_COHERENT_BIT; + break; + case VMA_MEMORY_USAGE_CPU_TO_GPU: + outRequiredFlags |= VK_MEMORY_PROPERTY_HOST_VISIBLE_BIT; + if(!isIntegratedGPU || (outPreferredFlags & VK_MEMORY_PROPERTY_HOST_VISIBLE_BIT) == 0) + { + outPreferredFlags |= VK_MEMORY_PROPERTY_DEVICE_LOCAL_BIT; + } + break; + case VMA_MEMORY_USAGE_GPU_TO_CPU: + outRequiredFlags |= VK_MEMORY_PROPERTY_HOST_VISIBLE_BIT; + outPreferredFlags |= VK_MEMORY_PROPERTY_HOST_CACHED_BIT; + break; + case VMA_MEMORY_USAGE_CPU_COPY: + outNotPreferredFlags |= VK_MEMORY_PROPERTY_DEVICE_LOCAL_BIT; + break; + case VMA_MEMORY_USAGE_GPU_LAZILY_ALLOCATED: + outRequiredFlags |= VK_MEMORY_PROPERTY_LAZILY_ALLOCATED_BIT; + break; + case VMA_MEMORY_USAGE_AUTO: + case VMA_MEMORY_USAGE_AUTO_PREFER_DEVICE: + case VMA_MEMORY_USAGE_AUTO_PREFER_HOST: + { + if(bufImgUsage == UINT32_MAX) + { + VMA_ASSERT(0 && "VMA_MEMORY_USAGE_AUTO* values can only be used with functions like vmaCreateBuffer, vmaCreateImage so that the details of the created resource are known."); + return false; + } + // This relies on values of VK_IMAGE_USAGE_TRANSFER* being the same VK_BUFFER_IMAGE_TRANSFER*. + const bool deviceAccess = (bufImgUsage & ~(VK_BUFFER_USAGE_TRANSFER_DST_BIT | VK_BUFFER_USAGE_TRANSFER_SRC_BIT)) != 0; + const bool hostAccessSequentialWrite = (allocCreateInfo.flags & VMA_ALLOCATION_CREATE_HOST_ACCESS_SEQUENTIAL_WRITE_BIT) != 0; + const bool hostAccessRandom = (allocCreateInfo.flags & VMA_ALLOCATION_CREATE_HOST_ACCESS_RANDOM_BIT) != 0; + const bool hostAccessAllowTransferInstead = (allocCreateInfo.flags & VMA_ALLOCATION_CREATE_HOST_ACCESS_ALLOW_TRANSFER_INSTEAD_BIT) != 0; + const bool preferDevice = allocCreateInfo.usage == VMA_MEMORY_USAGE_AUTO_PREFER_DEVICE; + const bool preferHost = allocCreateInfo.usage == VMA_MEMORY_USAGE_AUTO_PREFER_HOST; + + // CPU random access - e.g. a buffer written to or transferred from GPU to read back on CPU. + if(hostAccessRandom) + { + if(!isIntegratedGPU && deviceAccess && hostAccessAllowTransferInstead && !preferHost) + { + // Nice if it will end up in HOST_VISIBLE, but more importantly prefer DEVICE_LOCAL. + // Omitting HOST_VISIBLE here is intentional. + // In case there is DEVICE_LOCAL | HOST_VISIBLE | HOST_CACHED, it will pick that one. + // Otherwise, this will give same weight to DEVICE_LOCAL as HOST_VISIBLE | HOST_CACHED and select the former if occurs first on the list. + outPreferredFlags |= VK_MEMORY_PROPERTY_DEVICE_LOCAL_BIT | VK_MEMORY_PROPERTY_HOST_CACHED_BIT; + } + else + { + // Always CPU memory, cached. + outRequiredFlags |= VK_MEMORY_PROPERTY_HOST_VISIBLE_BIT | VK_MEMORY_PROPERTY_HOST_CACHED_BIT; + } + } + // CPU sequential write - may be CPU or host-visible GPU memory, uncached and write-combined. + else if(hostAccessSequentialWrite) + { + // Want uncached and write-combined. + outNotPreferredFlags |= VK_MEMORY_PROPERTY_HOST_CACHED_BIT; + + if(!isIntegratedGPU && deviceAccess && hostAccessAllowTransferInstead && !preferHost) + { + outPreferredFlags |= VK_MEMORY_PROPERTY_DEVICE_LOCAL_BIT | VK_MEMORY_PROPERTY_HOST_VISIBLE_BIT; + } + else + { + outRequiredFlags |= VK_MEMORY_PROPERTY_HOST_VISIBLE_BIT; + // Direct GPU access, CPU sequential write (e.g. a dynamic uniform buffer updated every frame) + if(deviceAccess) + { + // Could go to CPU memory or GPU BAR/unified. Up to the user to decide. If no preference, choose GPU memory. + if(preferHost) + outNotPreferredFlags |= VK_MEMORY_PROPERTY_DEVICE_LOCAL_BIT; + else + outPreferredFlags |= VK_MEMORY_PROPERTY_DEVICE_LOCAL_BIT; + } + // GPU no direct access, CPU sequential write (e.g. an upload buffer to be transferred to the GPU) + else + { + // Could go to CPU memory or GPU BAR/unified. Up to the user to decide. If no preference, choose CPU memory. + if(preferDevice) + outPreferredFlags |= VK_MEMORY_PROPERTY_DEVICE_LOCAL_BIT; + else + outNotPreferredFlags |= VK_MEMORY_PROPERTY_DEVICE_LOCAL_BIT; + } + } + } + // No CPU access + else + { + // GPU access, no CPU access (e.g. a color attachment image) - prefer GPU memory + if(deviceAccess) + { + // ...unless there is a clear preference from the user not to do so. + if(preferHost) + outNotPreferredFlags |= VK_MEMORY_PROPERTY_DEVICE_LOCAL_BIT; + else + outPreferredFlags |= VK_MEMORY_PROPERTY_DEVICE_LOCAL_BIT; + } + // No direct GPU access, no CPU access, just transfers. + // It may be staging copy intended for e.g. preserving image for next frame (then better GPU memory) or + // a "swap file" copy to free some GPU memory (then better CPU memory). + // Up to the user to decide. If no preferece, assume the former and choose GPU memory. + if(preferHost) + outNotPreferredFlags |= VK_MEMORY_PROPERTY_DEVICE_LOCAL_BIT; + else + outPreferredFlags |= VK_MEMORY_PROPERTY_DEVICE_LOCAL_BIT; + } + break; + } + default: + VMA_ASSERT(0); + } + + // Avoid DEVICE_COHERENT unless explicitly requested. + if(((allocCreateInfo.requiredFlags | allocCreateInfo.preferredFlags) & + (VK_MEMORY_PROPERTY_DEVICE_COHERENT_BIT_AMD_COPY | VK_MEMORY_PROPERTY_DEVICE_UNCACHED_BIT_AMD_COPY)) == 0) + { + outNotPreferredFlags |= VK_MEMORY_PROPERTY_DEVICE_UNCACHED_BIT_AMD_COPY; + } + + return true; +} + +//////////////////////////////////////////////////////////////////////////////// +// Memory allocation + +static void* VmaMalloc(const VkAllocationCallbacks* pAllocationCallbacks, size_t size, size_t alignment) +{ + void* result = VMA_NULL; + if ((pAllocationCallbacks != VMA_NULL) && + (pAllocationCallbacks->pfnAllocation != VMA_NULL)) + { + result = (*pAllocationCallbacks->pfnAllocation)( + pAllocationCallbacks->pUserData, + size, + alignment, + VK_SYSTEM_ALLOCATION_SCOPE_OBJECT); + } + else + { + result = VMA_SYSTEM_ALIGNED_MALLOC(size, alignment); + } + VMA_ASSERT(result != VMA_NULL && "CPU memory allocation failed."); + return result; +} + +static void VmaFree(const VkAllocationCallbacks* pAllocationCallbacks, void* ptr) +{ + if ((pAllocationCallbacks != VMA_NULL) && + (pAllocationCallbacks->pfnFree != VMA_NULL)) + { + (*pAllocationCallbacks->pfnFree)(pAllocationCallbacks->pUserData, ptr); + } + else + { + VMA_SYSTEM_ALIGNED_FREE(ptr); + } +} + +template +static T* VmaAllocate(const VkAllocationCallbacks* pAllocationCallbacks) +{ + return (T*)VmaMalloc(pAllocationCallbacks, sizeof(T), VMA_ALIGN_OF(T)); +} + +template +static T* VmaAllocateArray(const VkAllocationCallbacks* pAllocationCallbacks, size_t count) +{ + return (T*)VmaMalloc(pAllocationCallbacks, sizeof(T) * count, VMA_ALIGN_OF(T)); +} + +#define vma_new(allocator, type) new(VmaAllocate(allocator))(type) + +#define vma_new_array(allocator, type, count) new(VmaAllocateArray((allocator), (count)))(type) + +template +static void vma_delete(const VkAllocationCallbacks* pAllocationCallbacks, T* ptr) +{ + ptr->~T(); + VmaFree(pAllocationCallbacks, ptr); +} + +template +static void vma_delete_array(const VkAllocationCallbacks* pAllocationCallbacks, T* ptr, size_t count) +{ + if (ptr != VMA_NULL) + { + for (size_t i = count; i--; ) + { + ptr[i].~T(); + } + VmaFree(pAllocationCallbacks, ptr); + } +} + +static char* VmaCreateStringCopy(const VkAllocationCallbacks* allocs, const char* srcStr) +{ + if (srcStr != VMA_NULL) + { + const size_t len = strlen(srcStr); + char* const result = vma_new_array(allocs, char, len + 1); + memcpy(result, srcStr, len + 1); + return result; + } + return VMA_NULL; +} + +#if VMA_STATS_STRING_ENABLED +static char* VmaCreateStringCopy(const VkAllocationCallbacks* allocs, const char* srcStr, size_t strLen) +{ + if (srcStr != VMA_NULL) + { + char* const result = vma_new_array(allocs, char, strLen + 1); + memcpy(result, srcStr, strLen); + result[strLen] = '\0'; + return result; + } + return VMA_NULL; +} +#endif // VMA_STATS_STRING_ENABLED + +static void VmaFreeString(const VkAllocationCallbacks* allocs, char* str) +{ + if (str != VMA_NULL) + { + const size_t len = strlen(str); + vma_delete_array(allocs, str, len + 1); + } +} + +template +size_t VmaVectorInsertSorted(VectorT& vector, const typename VectorT::value_type& value) +{ + const size_t indexToInsert = VmaBinaryFindFirstNotLess( + vector.data(), + vector.data() + vector.size(), + value, + CmpLess()) - vector.data(); + VmaVectorInsert(vector, indexToInsert, value); + return indexToInsert; +} + +template +bool VmaVectorRemoveSorted(VectorT& vector, const typename VectorT::value_type& value) +{ + CmpLess comparator; + typename VectorT::iterator it = VmaBinaryFindFirstNotLess( + vector.begin(), + vector.end(), + value, + comparator); + if ((it != vector.end()) && !comparator(*it, value) && !comparator(value, *it)) + { + size_t indexToRemove = it - vector.begin(); + VmaVectorRemove(vector, indexToRemove); + return true; + } + return false; +} +#endif // _VMA_FUNCTIONS + +#ifndef _VMA_STATISTICS_FUNCTIONS + +static void VmaClearStatistics(VmaStatistics& outStats) +{ + outStats.blockCount = 0; + outStats.allocationCount = 0; + outStats.blockBytes = 0; + outStats.allocationBytes = 0; +} + +static void VmaAddStatistics(VmaStatistics& inoutStats, const VmaStatistics& src) +{ + inoutStats.blockCount += src.blockCount; + inoutStats.allocationCount += src.allocationCount; + inoutStats.blockBytes += src.blockBytes; + inoutStats.allocationBytes += src.allocationBytes; +} + +static void VmaClearDetailedStatistics(VmaDetailedStatistics& outStats) +{ + VmaClearStatistics(outStats.statistics); + outStats.unusedRangeCount = 0; + outStats.allocationSizeMin = VK_WHOLE_SIZE; + outStats.allocationSizeMax = 0; + outStats.unusedRangeSizeMin = VK_WHOLE_SIZE; + outStats.unusedRangeSizeMax = 0; +} + +static void VmaAddDetailedStatisticsAllocation(VmaDetailedStatistics& inoutStats, VkDeviceSize size) +{ + inoutStats.statistics.allocationCount++; + inoutStats.statistics.allocationBytes += size; + inoutStats.allocationSizeMin = VMA_MIN(inoutStats.allocationSizeMin, size); + inoutStats.allocationSizeMax = VMA_MAX(inoutStats.allocationSizeMax, size); +} + +static void VmaAddDetailedStatisticsUnusedRange(VmaDetailedStatistics& inoutStats, VkDeviceSize size) +{ + inoutStats.unusedRangeCount++; + inoutStats.unusedRangeSizeMin = VMA_MIN(inoutStats.unusedRangeSizeMin, size); + inoutStats.unusedRangeSizeMax = VMA_MAX(inoutStats.unusedRangeSizeMax, size); +} + +static void VmaAddDetailedStatistics(VmaDetailedStatistics& inoutStats, const VmaDetailedStatistics& src) +{ + VmaAddStatistics(inoutStats.statistics, src.statistics); + inoutStats.unusedRangeCount += src.unusedRangeCount; + inoutStats.allocationSizeMin = VMA_MIN(inoutStats.allocationSizeMin, src.allocationSizeMin); + inoutStats.allocationSizeMax = VMA_MAX(inoutStats.allocationSizeMax, src.allocationSizeMax); + inoutStats.unusedRangeSizeMin = VMA_MIN(inoutStats.unusedRangeSizeMin, src.unusedRangeSizeMin); + inoutStats.unusedRangeSizeMax = VMA_MAX(inoutStats.unusedRangeSizeMax, src.unusedRangeSizeMax); +} + +#endif // _VMA_STATISTICS_FUNCTIONS + +#ifndef _VMA_MUTEX_LOCK +// Helper RAII class to lock a mutex in constructor and unlock it in destructor (at the end of scope). +struct VmaMutexLock +{ + VMA_CLASS_NO_COPY(VmaMutexLock) +public: + VmaMutexLock(VMA_MUTEX& mutex, bool useMutex = true) : + m_pMutex(useMutex ? &mutex : VMA_NULL) + { + if (m_pMutex) { m_pMutex->Lock(); } + } + ~VmaMutexLock() { if (m_pMutex) { m_pMutex->Unlock(); } } + +private: + VMA_MUTEX* m_pMutex; +}; + +// Helper RAII class to lock a RW mutex in constructor and unlock it in destructor (at the end of scope), for reading. +struct VmaMutexLockRead +{ + VMA_CLASS_NO_COPY(VmaMutexLockRead) +public: + VmaMutexLockRead(VMA_RW_MUTEX& mutex, bool useMutex) : + m_pMutex(useMutex ? &mutex : VMA_NULL) + { + if (m_pMutex) { m_pMutex->LockRead(); } + } + ~VmaMutexLockRead() { if (m_pMutex) { m_pMutex->UnlockRead(); } } + +private: + VMA_RW_MUTEX* m_pMutex; +}; + +// Helper RAII class to lock a RW mutex in constructor and unlock it in destructor (at the end of scope), for writing. +struct VmaMutexLockWrite +{ + VMA_CLASS_NO_COPY(VmaMutexLockWrite) +public: + VmaMutexLockWrite(VMA_RW_MUTEX& mutex, bool useMutex) + : m_pMutex(useMutex ? &mutex : VMA_NULL) + { + if (m_pMutex) { m_pMutex->LockWrite(); } + } + ~VmaMutexLockWrite() { if (m_pMutex) { m_pMutex->UnlockWrite(); } } + +private: + VMA_RW_MUTEX* m_pMutex; +}; + +#if VMA_DEBUG_GLOBAL_MUTEX + static VMA_MUTEX gDebugGlobalMutex; + #define VMA_DEBUG_GLOBAL_MUTEX_LOCK VmaMutexLock debugGlobalMutexLock(gDebugGlobalMutex, true); +#else + #define VMA_DEBUG_GLOBAL_MUTEX_LOCK +#endif +#endif // _VMA_MUTEX_LOCK + +#ifndef _VMA_ATOMIC_TRANSACTIONAL_INCREMENT +// An object that increments given atomic but decrements it back in the destructor unless Commit() is called. +template +struct AtomicTransactionalIncrement +{ +public: + typedef std::atomic AtomicT; + + ~AtomicTransactionalIncrement() + { + if(m_Atomic) + --(*m_Atomic); + } + + void Commit() { m_Atomic = nullptr; } + T Increment(AtomicT* atomic) + { + m_Atomic = atomic; + return m_Atomic->fetch_add(1); + } + +private: + AtomicT* m_Atomic = nullptr; +}; +#endif // _VMA_ATOMIC_TRANSACTIONAL_INCREMENT + +#ifndef _VMA_STL_ALLOCATOR +// STL-compatible allocator. +template +struct VmaStlAllocator +{ + const VkAllocationCallbacks* const m_pCallbacks; + typedef T value_type; + + VmaStlAllocator(const VkAllocationCallbacks* pCallbacks) : m_pCallbacks(pCallbacks) {} + template + VmaStlAllocator(const VmaStlAllocator& src) : m_pCallbacks(src.m_pCallbacks) {} + VmaStlAllocator(const VmaStlAllocator&) = default; + VmaStlAllocator& operator=(const VmaStlAllocator&) = delete; + + T* allocate(size_t n) { return VmaAllocateArray(m_pCallbacks, n); } + void deallocate(T* p, size_t n) { VmaFree(m_pCallbacks, p); } + + template + bool operator==(const VmaStlAllocator& rhs) const + { + return m_pCallbacks == rhs.m_pCallbacks; + } + template + bool operator!=(const VmaStlAllocator& rhs) const + { + return m_pCallbacks != rhs.m_pCallbacks; + } +}; +#endif // _VMA_STL_ALLOCATOR + +#ifndef _VMA_VECTOR +/* Class with interface compatible with subset of std::vector. +T must be POD because constructors and destructors are not called and memcpy is +used for these objects. */ +template +class VmaVector +{ +public: + typedef T value_type; + typedef T* iterator; + typedef const T* const_iterator; + + VmaVector(const AllocatorT& allocator); + VmaVector(size_t count, const AllocatorT& allocator); + // This version of the constructor is here for compatibility with pre-C++14 std::vector. + // value is unused. + VmaVector(size_t count, const T& value, const AllocatorT& allocator) : VmaVector(count, allocator) {} + VmaVector(const VmaVector& src); + VmaVector& operator=(const VmaVector& rhs); + ~VmaVector() { VmaFree(m_Allocator.m_pCallbacks, m_pArray); } + + bool empty() const { return m_Count == 0; } + size_t size() const { return m_Count; } + T* data() { return m_pArray; } + T& front() { VMA_HEAVY_ASSERT(m_Count > 0); return m_pArray[0]; } + T& back() { VMA_HEAVY_ASSERT(m_Count > 0); return m_pArray[m_Count - 1]; } + const T* data() const { return m_pArray; } + const T& front() const { VMA_HEAVY_ASSERT(m_Count > 0); return m_pArray[0]; } + const T& back() const { VMA_HEAVY_ASSERT(m_Count > 0); return m_pArray[m_Count - 1]; } + + iterator begin() { return m_pArray; } + iterator end() { return m_pArray + m_Count; } + const_iterator cbegin() const { return m_pArray; } + const_iterator cend() const { return m_pArray + m_Count; } + const_iterator begin() const { return cbegin(); } + const_iterator end() const { return cend(); } + + void pop_front() { VMA_HEAVY_ASSERT(m_Count > 0); remove(0); } + void pop_back() { VMA_HEAVY_ASSERT(m_Count > 0); resize(size() - 1); } + void push_front(const T& src) { insert(0, src); } + + void push_back(const T& src); + void reserve(size_t newCapacity, bool freeMemory = false); + void resize(size_t newCount); + void clear() { resize(0); } + void shrink_to_fit(); + void insert(size_t index, const T& src); + void remove(size_t index); + + T& operator[](size_t index) { VMA_HEAVY_ASSERT(index < m_Count); return m_pArray[index]; } + const T& operator[](size_t index) const { VMA_HEAVY_ASSERT(index < m_Count); return m_pArray[index]; } + +private: + AllocatorT m_Allocator; + T* m_pArray; + size_t m_Count; + size_t m_Capacity; +}; + +#ifndef _VMA_VECTOR_FUNCTIONS +template +VmaVector::VmaVector(const AllocatorT& allocator) + : m_Allocator(allocator), + m_pArray(VMA_NULL), + m_Count(0), + m_Capacity(0) {} + +template +VmaVector::VmaVector(size_t count, const AllocatorT& allocator) + : m_Allocator(allocator), + m_pArray(count ? (T*)VmaAllocateArray(allocator.m_pCallbacks, count) : VMA_NULL), + m_Count(count), + m_Capacity(count) {} + +template +VmaVector::VmaVector(const VmaVector& src) + : m_Allocator(src.m_Allocator), + m_pArray(src.m_Count ? (T*)VmaAllocateArray(src.m_Allocator.m_pCallbacks, src.m_Count) : VMA_NULL), + m_Count(src.m_Count), + m_Capacity(src.m_Count) +{ + if (m_Count != 0) + { + memcpy(m_pArray, src.m_pArray, m_Count * sizeof(T)); + } +} + +template +VmaVector& VmaVector::operator=(const VmaVector& rhs) +{ + if (&rhs != this) + { + resize(rhs.m_Count); + if (m_Count != 0) + { + memcpy(m_pArray, rhs.m_pArray, m_Count * sizeof(T)); + } + } + return *this; +} + +template +void VmaVector::push_back(const T& src) +{ + const size_t newIndex = size(); + resize(newIndex + 1); + m_pArray[newIndex] = src; +} + +template +void VmaVector::reserve(size_t newCapacity, bool freeMemory) +{ + newCapacity = VMA_MAX(newCapacity, m_Count); + + if ((newCapacity < m_Capacity) && !freeMemory) + { + newCapacity = m_Capacity; + } + + if (newCapacity != m_Capacity) + { + T* const newArray = newCapacity ? VmaAllocateArray(m_Allocator, newCapacity) : VMA_NULL; + if (m_Count != 0) + { + memcpy(newArray, m_pArray, m_Count * sizeof(T)); + } + VmaFree(m_Allocator.m_pCallbacks, m_pArray); + m_Capacity = newCapacity; + m_pArray = newArray; + } +} + +template +void VmaVector::resize(size_t newCount) +{ + size_t newCapacity = m_Capacity; + if (newCount > m_Capacity) + { + newCapacity = VMA_MAX(newCount, VMA_MAX(m_Capacity * 3 / 2, (size_t)8)); + } + + if (newCapacity != m_Capacity) + { + T* const newArray = newCapacity ? VmaAllocateArray(m_Allocator.m_pCallbacks, newCapacity) : VMA_NULL; + const size_t elementsToCopy = VMA_MIN(m_Count, newCount); + if (elementsToCopy != 0) + { + memcpy(newArray, m_pArray, elementsToCopy * sizeof(T)); + } + VmaFree(m_Allocator.m_pCallbacks, m_pArray); + m_Capacity = newCapacity; + m_pArray = newArray; + } + + m_Count = newCount; +} + +template +void VmaVector::shrink_to_fit() +{ + if (m_Capacity > m_Count) + { + T* newArray = VMA_NULL; + if (m_Count > 0) + { + newArray = VmaAllocateArray(m_Allocator.m_pCallbacks, m_Count); + memcpy(newArray, m_pArray, m_Count * sizeof(T)); + } + VmaFree(m_Allocator.m_pCallbacks, m_pArray); + m_Capacity = m_Count; + m_pArray = newArray; + } +} + +template +void VmaVector::insert(size_t index, const T& src) +{ + VMA_HEAVY_ASSERT(index <= m_Count); + const size_t oldCount = size(); + resize(oldCount + 1); + if (index < oldCount) + { + memmove(m_pArray + (index + 1), m_pArray + index, (oldCount - index) * sizeof(T)); + } + m_pArray[index] = src; +} + +template +void VmaVector::remove(size_t index) +{ + VMA_HEAVY_ASSERT(index < m_Count); + const size_t oldCount = size(); + if (index < oldCount - 1) + { + memmove(m_pArray + index, m_pArray + (index + 1), (oldCount - index - 1) * sizeof(T)); + } + resize(oldCount - 1); +} +#endif // _VMA_VECTOR_FUNCTIONS + +template +static void VmaVectorInsert(VmaVector& vec, size_t index, const T& item) +{ + vec.insert(index, item); +} + +template +static void VmaVectorRemove(VmaVector& vec, size_t index) +{ + vec.remove(index); +} +#endif // _VMA_VECTOR + +#ifndef _VMA_SMALL_VECTOR +/* +This is a vector (a variable-sized array), optimized for the case when the array is small. + +It contains some number of elements in-place, which allows it to avoid heap allocation +when the actual number of elements is below that threshold. This allows normal "small" +cases to be fast without losing generality for large inputs. +*/ +template +class VmaSmallVector +{ +public: + typedef T value_type; + typedef T* iterator; + + VmaSmallVector(const AllocatorT& allocator); + VmaSmallVector(size_t count, const AllocatorT& allocator); + template + VmaSmallVector(const VmaSmallVector&) = delete; + template + VmaSmallVector& operator=(const VmaSmallVector&) = delete; + ~VmaSmallVector() = default; + + bool empty() const { return m_Count == 0; } + size_t size() const { return m_Count; } + T* data() { return m_Count > N ? m_DynamicArray.data() : m_StaticArray; } + T& front() { VMA_HEAVY_ASSERT(m_Count > 0); return data()[0]; } + T& back() { VMA_HEAVY_ASSERT(m_Count > 0); return data()[m_Count - 1]; } + const T* data() const { return m_Count > N ? m_DynamicArray.data() : m_StaticArray; } + const T& front() const { VMA_HEAVY_ASSERT(m_Count > 0); return data()[0]; } + const T& back() const { VMA_HEAVY_ASSERT(m_Count > 0); return data()[m_Count - 1]; } + + iterator begin() { return data(); } + iterator end() { return data() + m_Count; } + + void pop_front() { VMA_HEAVY_ASSERT(m_Count > 0); remove(0); } + void pop_back() { VMA_HEAVY_ASSERT(m_Count > 0); resize(size() - 1); } + void push_front(const T& src) { insert(0, src); } + + void push_back(const T& src); + void resize(size_t newCount, bool freeMemory = false); + void clear(bool freeMemory = false); + void insert(size_t index, const T& src); + void remove(size_t index); + + T& operator[](size_t index) { VMA_HEAVY_ASSERT(index < m_Count); return data()[index]; } + const T& operator[](size_t index) const { VMA_HEAVY_ASSERT(index < m_Count); return data()[index]; } + +private: + size_t m_Count; + T m_StaticArray[N]; // Used when m_Size <= N + VmaVector m_DynamicArray; // Used when m_Size > N +}; + +#ifndef _VMA_SMALL_VECTOR_FUNCTIONS +template +VmaSmallVector::VmaSmallVector(const AllocatorT& allocator) + : m_Count(0), + m_DynamicArray(allocator) {} + +template +VmaSmallVector::VmaSmallVector(size_t count, const AllocatorT& allocator) + : m_Count(count), + m_DynamicArray(count > N ? count : 0, allocator) {} + +template +void VmaSmallVector::push_back(const T& src) +{ + const size_t newIndex = size(); + resize(newIndex + 1); + data()[newIndex] = src; +} + +template +void VmaSmallVector::resize(size_t newCount, bool freeMemory) +{ + if (newCount > N && m_Count > N) + { + // Any direction, staying in m_DynamicArray + m_DynamicArray.resize(newCount); + if (freeMemory) + { + m_DynamicArray.shrink_to_fit(); + } + } + else if (newCount > N && m_Count <= N) + { + // Growing, moving from m_StaticArray to m_DynamicArray + m_DynamicArray.resize(newCount); + if (m_Count > 0) + { + memcpy(m_DynamicArray.data(), m_StaticArray, m_Count * sizeof(T)); + } + } + else if (newCount <= N && m_Count > N) + { + // Shrinking, moving from m_DynamicArray to m_StaticArray + if (newCount > 0) + { + memcpy(m_StaticArray, m_DynamicArray.data(), newCount * sizeof(T)); + } + m_DynamicArray.resize(0); + if (freeMemory) + { + m_DynamicArray.shrink_to_fit(); + } + } + else + { + // Any direction, staying in m_StaticArray - nothing to do here + } + m_Count = newCount; +} + +template +void VmaSmallVector::clear(bool freeMemory) +{ + m_DynamicArray.clear(); + if (freeMemory) + { + m_DynamicArray.shrink_to_fit(); + } + m_Count = 0; +} + +template +void VmaSmallVector::insert(size_t index, const T& src) +{ + VMA_HEAVY_ASSERT(index <= m_Count); + const size_t oldCount = size(); + resize(oldCount + 1); + T* const dataPtr = data(); + if (index < oldCount) + { + // I know, this could be more optimal for case where memmove can be memcpy directly from m_StaticArray to m_DynamicArray. + memmove(dataPtr + (index + 1), dataPtr + index, (oldCount - index) * sizeof(T)); + } + dataPtr[index] = src; +} + +template +void VmaSmallVector::remove(size_t index) +{ + VMA_HEAVY_ASSERT(index < m_Count); + const size_t oldCount = size(); + if (index < oldCount - 1) + { + // I know, this could be more optimal for case where memmove can be memcpy directly from m_DynamicArray to m_StaticArray. + T* const dataPtr = data(); + memmove(dataPtr + index, dataPtr + (index + 1), (oldCount - index - 1) * sizeof(T)); + } + resize(oldCount - 1); +} +#endif // _VMA_SMALL_VECTOR_FUNCTIONS +#endif // _VMA_SMALL_VECTOR + +#ifndef _VMA_POOL_ALLOCATOR +/* +Allocator for objects of type T using a list of arrays (pools) to speed up +allocation. Number of elements that can be allocated is not bounded because +allocator can create multiple blocks. +*/ +template +class VmaPoolAllocator +{ + VMA_CLASS_NO_COPY(VmaPoolAllocator) +public: + VmaPoolAllocator(const VkAllocationCallbacks* pAllocationCallbacks, uint32_t firstBlockCapacity); + ~VmaPoolAllocator(); + template T* Alloc(Types&&... args); + void Free(T* ptr); + +private: + union Item + { + uint32_t NextFreeIndex; + alignas(T) char Value[sizeof(T)]; + }; + struct ItemBlock + { + Item* pItems; + uint32_t Capacity; + uint32_t FirstFreeIndex; + }; + + const VkAllocationCallbacks* m_pAllocationCallbacks; + const uint32_t m_FirstBlockCapacity; + VmaVector> m_ItemBlocks; + + ItemBlock& CreateNewBlock(); +}; + +#ifndef _VMA_POOL_ALLOCATOR_FUNCTIONS +template +VmaPoolAllocator::VmaPoolAllocator(const VkAllocationCallbacks* pAllocationCallbacks, uint32_t firstBlockCapacity) + : m_pAllocationCallbacks(pAllocationCallbacks), + m_FirstBlockCapacity(firstBlockCapacity), + m_ItemBlocks(VmaStlAllocator(pAllocationCallbacks)) +{ + VMA_ASSERT(m_FirstBlockCapacity > 1); +} + +template +VmaPoolAllocator::~VmaPoolAllocator() +{ + for (size_t i = m_ItemBlocks.size(); i--;) + vma_delete_array(m_pAllocationCallbacks, m_ItemBlocks[i].pItems, m_ItemBlocks[i].Capacity); + m_ItemBlocks.clear(); +} + +template +template T* VmaPoolAllocator::Alloc(Types&&... args) +{ + for (size_t i = m_ItemBlocks.size(); i--; ) + { + ItemBlock& block = m_ItemBlocks[i]; + // This block has some free items: Use first one. + if (block.FirstFreeIndex != UINT32_MAX) + { + Item* const pItem = &block.pItems[block.FirstFreeIndex]; + block.FirstFreeIndex = pItem->NextFreeIndex; + T* result = (T*)&pItem->Value; + new(result)T(std::forward(args)...); // Explicit constructor call. + return result; + } + } + + // No block has free item: Create new one and use it. + ItemBlock& newBlock = CreateNewBlock(); + Item* const pItem = &newBlock.pItems[0]; + newBlock.FirstFreeIndex = pItem->NextFreeIndex; + T* result = (T*)&pItem->Value; + new(result) T(std::forward(args)...); // Explicit constructor call. + return result; +} + +template +void VmaPoolAllocator::Free(T* ptr) +{ + // Search all memory blocks to find ptr. + for (size_t i = m_ItemBlocks.size(); i--; ) + { + ItemBlock& block = m_ItemBlocks[i]; + + // Casting to union. + Item* pItemPtr; + memcpy(&pItemPtr, &ptr, sizeof(pItemPtr)); + + // Check if pItemPtr is in address range of this block. + if ((pItemPtr >= block.pItems) && (pItemPtr < block.pItems + block.Capacity)) + { + ptr->~T(); // Explicit destructor call. + const uint32_t index = static_cast(pItemPtr - block.pItems); + pItemPtr->NextFreeIndex = block.FirstFreeIndex; + block.FirstFreeIndex = index; + return; + } + } + VMA_ASSERT(0 && "Pointer doesn't belong to this memory pool."); +} + +template +typename VmaPoolAllocator::ItemBlock& VmaPoolAllocator::CreateNewBlock() +{ + const uint32_t newBlockCapacity = m_ItemBlocks.empty() ? + m_FirstBlockCapacity : m_ItemBlocks.back().Capacity * 3 / 2; + + const ItemBlock newBlock = + { + vma_new_array(m_pAllocationCallbacks, Item, newBlockCapacity), + newBlockCapacity, + 0 + }; + + m_ItemBlocks.push_back(newBlock); + + // Setup singly-linked list of all free items in this block. + for (uint32_t i = 0; i < newBlockCapacity - 1; ++i) + newBlock.pItems[i].NextFreeIndex = i + 1; + newBlock.pItems[newBlockCapacity - 1].NextFreeIndex = UINT32_MAX; + return m_ItemBlocks.back(); +} +#endif // _VMA_POOL_ALLOCATOR_FUNCTIONS +#endif // _VMA_POOL_ALLOCATOR + +#ifndef _VMA_RAW_LIST +template +struct VmaListItem +{ + VmaListItem* pPrev; + VmaListItem* pNext; + T Value; +}; + +// Doubly linked list. +template +class VmaRawList +{ + VMA_CLASS_NO_COPY(VmaRawList) +public: + typedef VmaListItem ItemType; + + VmaRawList(const VkAllocationCallbacks* pAllocationCallbacks); + // Intentionally not calling Clear, because that would be unnecessary + // computations to return all items to m_ItemAllocator as free. + ~VmaRawList() = default; + + size_t GetCount() const { return m_Count; } + bool IsEmpty() const { return m_Count == 0; } + + ItemType* Front() { return m_pFront; } + ItemType* Back() { return m_pBack; } + const ItemType* Front() const { return m_pFront; } + const ItemType* Back() const { return m_pBack; } + + ItemType* PushFront(); + ItemType* PushBack(); + ItemType* PushFront(const T& value); + ItemType* PushBack(const T& value); + void PopFront(); + void PopBack(); + + // Item can be null - it means PushBack. + ItemType* InsertBefore(ItemType* pItem); + // Item can be null - it means PushFront. + ItemType* InsertAfter(ItemType* pItem); + ItemType* InsertBefore(ItemType* pItem, const T& value); + ItemType* InsertAfter(ItemType* pItem, const T& value); + + void Clear(); + void Remove(ItemType* pItem); + +private: + const VkAllocationCallbacks* const m_pAllocationCallbacks; + VmaPoolAllocator m_ItemAllocator; + ItemType* m_pFront; + ItemType* m_pBack; + size_t m_Count; +}; + +#ifndef _VMA_RAW_LIST_FUNCTIONS +template +VmaRawList::VmaRawList(const VkAllocationCallbacks* pAllocationCallbacks) + : m_pAllocationCallbacks(pAllocationCallbacks), + m_ItemAllocator(pAllocationCallbacks, 128), + m_pFront(VMA_NULL), + m_pBack(VMA_NULL), + m_Count(0) {} + +template +VmaListItem* VmaRawList::PushFront() +{ + ItemType* const pNewItem = m_ItemAllocator.Alloc(); + pNewItem->pPrev = VMA_NULL; + if (IsEmpty()) + { + pNewItem->pNext = VMA_NULL; + m_pFront = pNewItem; + m_pBack = pNewItem; + m_Count = 1; + } + else + { + pNewItem->pNext = m_pFront; + m_pFront->pPrev = pNewItem; + m_pFront = pNewItem; + ++m_Count; + } + return pNewItem; +} + +template +VmaListItem* VmaRawList::PushBack() +{ + ItemType* const pNewItem = m_ItemAllocator.Alloc(); + pNewItem->pNext = VMA_NULL; + if(IsEmpty()) + { + pNewItem->pPrev = VMA_NULL; + m_pFront = pNewItem; + m_pBack = pNewItem; + m_Count = 1; + } + else + { + pNewItem->pPrev = m_pBack; + m_pBack->pNext = pNewItem; + m_pBack = pNewItem; + ++m_Count; + } + return pNewItem; +} + +template +VmaListItem* VmaRawList::PushFront(const T& value) +{ + ItemType* const pNewItem = PushFront(); + pNewItem->Value = value; + return pNewItem; +} + +template +VmaListItem* VmaRawList::PushBack(const T& value) +{ + ItemType* const pNewItem = PushBack(); + pNewItem->Value = value; + return pNewItem; +} + +template +void VmaRawList::PopFront() +{ + VMA_HEAVY_ASSERT(m_Count > 0); + ItemType* const pFrontItem = m_pFront; + ItemType* const pNextItem = pFrontItem->pNext; + if (pNextItem != VMA_NULL) + { + pNextItem->pPrev = VMA_NULL; + } + m_pFront = pNextItem; + m_ItemAllocator.Free(pFrontItem); + --m_Count; +} + +template +void VmaRawList::PopBack() +{ + VMA_HEAVY_ASSERT(m_Count > 0); + ItemType* const pBackItem = m_pBack; + ItemType* const pPrevItem = pBackItem->pPrev; + if(pPrevItem != VMA_NULL) + { + pPrevItem->pNext = VMA_NULL; + } + m_pBack = pPrevItem; + m_ItemAllocator.Free(pBackItem); + --m_Count; +} + +template +void VmaRawList::Clear() +{ + if (IsEmpty() == false) + { + ItemType* pItem = m_pBack; + while (pItem != VMA_NULL) + { + ItemType* const pPrevItem = pItem->pPrev; + m_ItemAllocator.Free(pItem); + pItem = pPrevItem; + } + m_pFront = VMA_NULL; + m_pBack = VMA_NULL; + m_Count = 0; + } +} + +template +void VmaRawList::Remove(ItemType* pItem) +{ + VMA_HEAVY_ASSERT(pItem != VMA_NULL); + VMA_HEAVY_ASSERT(m_Count > 0); + + if(pItem->pPrev != VMA_NULL) + { + pItem->pPrev->pNext = pItem->pNext; + } + else + { + VMA_HEAVY_ASSERT(m_pFront == pItem); + m_pFront = pItem->pNext; + } + + if(pItem->pNext != VMA_NULL) + { + pItem->pNext->pPrev = pItem->pPrev; + } + else + { + VMA_HEAVY_ASSERT(m_pBack == pItem); + m_pBack = pItem->pPrev; + } + + m_ItemAllocator.Free(pItem); + --m_Count; +} + +template +VmaListItem* VmaRawList::InsertBefore(ItemType* pItem) +{ + if(pItem != VMA_NULL) + { + ItemType* const prevItem = pItem->pPrev; + ItemType* const newItem = m_ItemAllocator.Alloc(); + newItem->pPrev = prevItem; + newItem->pNext = pItem; + pItem->pPrev = newItem; + if(prevItem != VMA_NULL) + { + prevItem->pNext = newItem; + } + else + { + VMA_HEAVY_ASSERT(m_pFront == pItem); + m_pFront = newItem; + } + ++m_Count; + return newItem; + } + else + return PushBack(); +} + +template +VmaListItem* VmaRawList::InsertAfter(ItemType* pItem) +{ + if(pItem != VMA_NULL) + { + ItemType* const nextItem = pItem->pNext; + ItemType* const newItem = m_ItemAllocator.Alloc(); + newItem->pNext = nextItem; + newItem->pPrev = pItem; + pItem->pNext = newItem; + if(nextItem != VMA_NULL) + { + nextItem->pPrev = newItem; + } + else + { + VMA_HEAVY_ASSERT(m_pBack == pItem); + m_pBack = newItem; + } + ++m_Count; + return newItem; + } + else + return PushFront(); +} + +template +VmaListItem* VmaRawList::InsertBefore(ItemType* pItem, const T& value) +{ + ItemType* const newItem = InsertBefore(pItem); + newItem->Value = value; + return newItem; +} + +template +VmaListItem* VmaRawList::InsertAfter(ItemType* pItem, const T& value) +{ + ItemType* const newItem = InsertAfter(pItem); + newItem->Value = value; + return newItem; +} +#endif // _VMA_RAW_LIST_FUNCTIONS +#endif // _VMA_RAW_LIST + +#ifndef _VMA_LIST +template +class VmaList +{ + VMA_CLASS_NO_COPY(VmaList) +public: + class reverse_iterator; + class const_iterator; + class const_reverse_iterator; + + class iterator + { + friend class const_iterator; + friend class VmaList; + public: + iterator() : m_pList(VMA_NULL), m_pItem(VMA_NULL) {} + iterator(const reverse_iterator& src) : m_pList(src.m_pList), m_pItem(src.m_pItem) {} + + T& operator*() const { VMA_HEAVY_ASSERT(m_pItem != VMA_NULL); return m_pItem->Value; } + T* operator->() const { VMA_HEAVY_ASSERT(m_pItem != VMA_NULL); return &m_pItem->Value; } + + bool operator==(const iterator& rhs) const { VMA_HEAVY_ASSERT(m_pList == rhs.m_pList); return m_pItem == rhs.m_pItem; } + bool operator!=(const iterator& rhs) const { VMA_HEAVY_ASSERT(m_pList == rhs.m_pList); return m_pItem != rhs.m_pItem; } + + iterator operator++(int) { iterator result = *this; ++*this; return result; } + iterator operator--(int) { iterator result = *this; --*this; return result; } + + iterator& operator++() { VMA_HEAVY_ASSERT(m_pItem != VMA_NULL); m_pItem = m_pItem->pNext; return *this; } + iterator& operator--(); + + private: + VmaRawList* m_pList; + VmaListItem* m_pItem; + + iterator(VmaRawList* pList, VmaListItem* pItem) : m_pList(pList), m_pItem(pItem) {} + }; + class reverse_iterator + { + friend class const_reverse_iterator; + friend class VmaList; + public: + reverse_iterator() : m_pList(VMA_NULL), m_pItem(VMA_NULL) {} + reverse_iterator(const iterator& src) : m_pList(src.m_pList), m_pItem(src.m_pItem) {} + + T& operator*() const { VMA_HEAVY_ASSERT(m_pItem != VMA_NULL); return m_pItem->Value; } + T* operator->() const { VMA_HEAVY_ASSERT(m_pItem != VMA_NULL); return &m_pItem->Value; } + + bool operator==(const reverse_iterator& rhs) const { VMA_HEAVY_ASSERT(m_pList == rhs.m_pList); return m_pItem == rhs.m_pItem; } + bool operator!=(const reverse_iterator& rhs) const { VMA_HEAVY_ASSERT(m_pList == rhs.m_pList); return m_pItem != rhs.m_pItem; } + + reverse_iterator operator++(int) { reverse_iterator result = *this; ++* this; return result; } + reverse_iterator operator--(int) { reverse_iterator result = *this; --* this; return result; } + + reverse_iterator& operator++() { VMA_HEAVY_ASSERT(m_pItem != VMA_NULL); m_pItem = m_pItem->pPrev; return *this; } + reverse_iterator& operator--(); + + private: + VmaRawList* m_pList; + VmaListItem* m_pItem; + + reverse_iterator(VmaRawList* pList, VmaListItem* pItem) : m_pList(pList), m_pItem(pItem) {} + }; + class const_iterator + { + friend class VmaList; + public: + const_iterator() : m_pList(VMA_NULL), m_pItem(VMA_NULL) {} + const_iterator(const iterator& src) : m_pList(src.m_pList), m_pItem(src.m_pItem) {} + const_iterator(const reverse_iterator& src) : m_pList(src.m_pList), m_pItem(src.m_pItem) {} + + iterator drop_const() { return { const_cast*>(m_pList), const_cast*>(m_pItem) }; } + + const T& operator*() const { VMA_HEAVY_ASSERT(m_pItem != VMA_NULL); return m_pItem->Value; } + const T* operator->() const { VMA_HEAVY_ASSERT(m_pItem != VMA_NULL); return &m_pItem->Value; } + + bool operator==(const const_iterator& rhs) const { VMA_HEAVY_ASSERT(m_pList == rhs.m_pList); return m_pItem == rhs.m_pItem; } + bool operator!=(const const_iterator& rhs) const { VMA_HEAVY_ASSERT(m_pList == rhs.m_pList); return m_pItem != rhs.m_pItem; } + + const_iterator operator++(int) { const_iterator result = *this; ++* this; return result; } + const_iterator operator--(int) { const_iterator result = *this; --* this; return result; } + + const_iterator& operator++() { VMA_HEAVY_ASSERT(m_pItem != VMA_NULL); m_pItem = m_pItem->pNext; return *this; } + const_iterator& operator--(); + + private: + const VmaRawList* m_pList; + const VmaListItem* m_pItem; + + const_iterator(const VmaRawList* pList, const VmaListItem* pItem) : m_pList(pList), m_pItem(pItem) {} + }; + class const_reverse_iterator + { + friend class VmaList; + public: + const_reverse_iterator() : m_pList(VMA_NULL), m_pItem(VMA_NULL) {} + const_reverse_iterator(const reverse_iterator& src) : m_pList(src.m_pList), m_pItem(src.m_pItem) {} + const_reverse_iterator(const iterator& src) : m_pList(src.m_pList), m_pItem(src.m_pItem) {} + + reverse_iterator drop_const() { return { const_cast*>(m_pList), const_cast*>(m_pItem) }; } + + const T& operator*() const { VMA_HEAVY_ASSERT(m_pItem != VMA_NULL); return m_pItem->Value; } + const T* operator->() const { VMA_HEAVY_ASSERT(m_pItem != VMA_NULL); return &m_pItem->Value; } + + bool operator==(const const_reverse_iterator& rhs) const { VMA_HEAVY_ASSERT(m_pList == rhs.m_pList); return m_pItem == rhs.m_pItem; } + bool operator!=(const const_reverse_iterator& rhs) const { VMA_HEAVY_ASSERT(m_pList == rhs.m_pList); return m_pItem != rhs.m_pItem; } + + const_reverse_iterator operator++(int) { const_reverse_iterator result = *this; ++* this; return result; } + const_reverse_iterator operator--(int) { const_reverse_iterator result = *this; --* this; return result; } + + const_reverse_iterator& operator++() { VMA_HEAVY_ASSERT(m_pItem != VMA_NULL); m_pItem = m_pItem->pPrev; return *this; } + const_reverse_iterator& operator--(); + + private: + const VmaRawList* m_pList; + const VmaListItem* m_pItem; + + const_reverse_iterator(const VmaRawList* pList, const VmaListItem* pItem) : m_pList(pList), m_pItem(pItem) {} + }; + + VmaList(const AllocatorT& allocator) : m_RawList(allocator.m_pCallbacks) {} + + bool empty() const { return m_RawList.IsEmpty(); } + size_t size() const { return m_RawList.GetCount(); } + + iterator begin() { return iterator(&m_RawList, m_RawList.Front()); } + iterator end() { return iterator(&m_RawList, VMA_NULL); } + + const_iterator cbegin() const { return const_iterator(&m_RawList, m_RawList.Front()); } + const_iterator cend() const { return const_iterator(&m_RawList, VMA_NULL); } + + const_iterator begin() const { return cbegin(); } + const_iterator end() const { return cend(); } + + reverse_iterator rbegin() { return reverse_iterator(&m_RawList, m_RawList.Back()); } + reverse_iterator rend() { return reverse_iterator(&m_RawList, VMA_NULL); } + + const_reverse_iterator crbegin() const { return const_reverse_iterator(&m_RawList, m_RawList.Back()); } + const_reverse_iterator crend() const { return const_reverse_iterator(&m_RawList, VMA_NULL); } + + const_reverse_iterator rbegin() const { return crbegin(); } + const_reverse_iterator rend() const { return crend(); } + + void push_back(const T& value) { m_RawList.PushBack(value); } + iterator insert(iterator it, const T& value) { return iterator(&m_RawList, m_RawList.InsertBefore(it.m_pItem, value)); } + + void clear() { m_RawList.Clear(); } + void erase(iterator it) { m_RawList.Remove(it.m_pItem); } + +private: + VmaRawList m_RawList; +}; + +#ifndef _VMA_LIST_FUNCTIONS +template +typename VmaList::iterator& VmaList::iterator::operator--() +{ + if (m_pItem != VMA_NULL) + { + m_pItem = m_pItem->pPrev; + } + else + { + VMA_HEAVY_ASSERT(!m_pList->IsEmpty()); + m_pItem = m_pList->Back(); + } + return *this; +} + +template +typename VmaList::reverse_iterator& VmaList::reverse_iterator::operator--() +{ + if (m_pItem != VMA_NULL) + { + m_pItem = m_pItem->pNext; + } + else + { + VMA_HEAVY_ASSERT(!m_pList->IsEmpty()); + m_pItem = m_pList->Front(); + } + return *this; +} + +template +typename VmaList::const_iterator& VmaList::const_iterator::operator--() +{ + if (m_pItem != VMA_NULL) + { + m_pItem = m_pItem->pPrev; + } + else + { + VMA_HEAVY_ASSERT(!m_pList->IsEmpty()); + m_pItem = m_pList->Back(); + } + return *this; +} + +template +typename VmaList::const_reverse_iterator& VmaList::const_reverse_iterator::operator--() +{ + if (m_pItem != VMA_NULL) + { + m_pItem = m_pItem->pNext; + } + else + { + VMA_HEAVY_ASSERT(!m_pList->IsEmpty()); + m_pItem = m_pList->Back(); + } + return *this; +} +#endif // _VMA_LIST_FUNCTIONS +#endif // _VMA_LIST + +#ifndef _VMA_INTRUSIVE_LINKED_LIST +/* +Expected interface of ItemTypeTraits: +struct MyItemTypeTraits +{ + typedef MyItem ItemType; + static ItemType* GetPrev(const ItemType* item) { return item->myPrevPtr; } + static ItemType* GetNext(const ItemType* item) { return item->myNextPtr; } + static ItemType*& AccessPrev(ItemType* item) { return item->myPrevPtr; } + static ItemType*& AccessNext(ItemType* item) { return item->myNextPtr; } +}; +*/ +template +class VmaIntrusiveLinkedList +{ +public: + typedef typename ItemTypeTraits::ItemType ItemType; + static ItemType* GetPrev(const ItemType* item) { return ItemTypeTraits::GetPrev(item); } + static ItemType* GetNext(const ItemType* item) { return ItemTypeTraits::GetNext(item); } + + // Movable, not copyable. + VmaIntrusiveLinkedList() = default; + VmaIntrusiveLinkedList(VmaIntrusiveLinkedList && src); + VmaIntrusiveLinkedList(const VmaIntrusiveLinkedList&) = delete; + VmaIntrusiveLinkedList& operator=(VmaIntrusiveLinkedList&& src); + VmaIntrusiveLinkedList& operator=(const VmaIntrusiveLinkedList&) = delete; + ~VmaIntrusiveLinkedList() { VMA_HEAVY_ASSERT(IsEmpty()); } + + size_t GetCount() const { return m_Count; } + bool IsEmpty() const { return m_Count == 0; } + ItemType* Front() { return m_Front; } + ItemType* Back() { return m_Back; } + const ItemType* Front() const { return m_Front; } + const ItemType* Back() const { return m_Back; } + + void PushBack(ItemType* item); + void PushFront(ItemType* item); + ItemType* PopBack(); + ItemType* PopFront(); + + // MyItem can be null - it means PushBack. + void InsertBefore(ItemType* existingItem, ItemType* newItem); + // MyItem can be null - it means PushFront. + void InsertAfter(ItemType* existingItem, ItemType* newItem); + void Remove(ItemType* item); + void RemoveAll(); + +private: + ItemType* m_Front = VMA_NULL; + ItemType* m_Back = VMA_NULL; + size_t m_Count = 0; +}; + +#ifndef _VMA_INTRUSIVE_LINKED_LIST_FUNCTIONS +template +VmaIntrusiveLinkedList::VmaIntrusiveLinkedList(VmaIntrusiveLinkedList&& src) + : m_Front(src.m_Front), m_Back(src.m_Back), m_Count(src.m_Count) +{ + src.m_Front = src.m_Back = VMA_NULL; + src.m_Count = 0; +} + +template +VmaIntrusiveLinkedList& VmaIntrusiveLinkedList::operator=(VmaIntrusiveLinkedList&& src) +{ + if (&src != this) + { + VMA_HEAVY_ASSERT(IsEmpty()); + m_Front = src.m_Front; + m_Back = src.m_Back; + m_Count = src.m_Count; + src.m_Front = src.m_Back = VMA_NULL; + src.m_Count = 0; + } + return *this; +} + +template +void VmaIntrusiveLinkedList::PushBack(ItemType* item) +{ + VMA_HEAVY_ASSERT(ItemTypeTraits::GetPrev(item) == VMA_NULL && ItemTypeTraits::GetNext(item) == VMA_NULL); + if (IsEmpty()) + { + m_Front = item; + m_Back = item; + m_Count = 1; + } + else + { + ItemTypeTraits::AccessPrev(item) = m_Back; + ItemTypeTraits::AccessNext(m_Back) = item; + m_Back = item; + ++m_Count; + } +} + +template +void VmaIntrusiveLinkedList::PushFront(ItemType* item) +{ + VMA_HEAVY_ASSERT(ItemTypeTraits::GetPrev(item) == VMA_NULL && ItemTypeTraits::GetNext(item) == VMA_NULL); + if (IsEmpty()) + { + m_Front = item; + m_Back = item; + m_Count = 1; + } + else + { + ItemTypeTraits::AccessNext(item) = m_Front; + ItemTypeTraits::AccessPrev(m_Front) = item; + m_Front = item; + ++m_Count; + } +} + +template +typename VmaIntrusiveLinkedList::ItemType* VmaIntrusiveLinkedList::PopBack() +{ + VMA_HEAVY_ASSERT(m_Count > 0); + ItemType* const backItem = m_Back; + ItemType* const prevItem = ItemTypeTraits::GetPrev(backItem); + if (prevItem != VMA_NULL) + { + ItemTypeTraits::AccessNext(prevItem) = VMA_NULL; + } + m_Back = prevItem; + --m_Count; + ItemTypeTraits::AccessPrev(backItem) = VMA_NULL; + ItemTypeTraits::AccessNext(backItem) = VMA_NULL; + return backItem; +} + +template +typename VmaIntrusiveLinkedList::ItemType* VmaIntrusiveLinkedList::PopFront() +{ + VMA_HEAVY_ASSERT(m_Count > 0); + ItemType* const frontItem = m_Front; + ItemType* const nextItem = ItemTypeTraits::GetNext(frontItem); + if (nextItem != VMA_NULL) + { + ItemTypeTraits::AccessPrev(nextItem) = VMA_NULL; + } + m_Front = nextItem; + --m_Count; + ItemTypeTraits::AccessPrev(frontItem) = VMA_NULL; + ItemTypeTraits::AccessNext(frontItem) = VMA_NULL; + return frontItem; +} + +template +void VmaIntrusiveLinkedList::InsertBefore(ItemType* existingItem, ItemType* newItem) +{ + VMA_HEAVY_ASSERT(newItem != VMA_NULL && ItemTypeTraits::GetPrev(newItem) == VMA_NULL && ItemTypeTraits::GetNext(newItem) == VMA_NULL); + if (existingItem != VMA_NULL) + { + ItemType* const prevItem = ItemTypeTraits::GetPrev(existingItem); + ItemTypeTraits::AccessPrev(newItem) = prevItem; + ItemTypeTraits::AccessNext(newItem) = existingItem; + ItemTypeTraits::AccessPrev(existingItem) = newItem; + if (prevItem != VMA_NULL) + { + ItemTypeTraits::AccessNext(prevItem) = newItem; + } + else + { + VMA_HEAVY_ASSERT(m_Front == existingItem); + m_Front = newItem; + } + ++m_Count; + } + else + PushBack(newItem); +} + +template +void VmaIntrusiveLinkedList::InsertAfter(ItemType* existingItem, ItemType* newItem) +{ + VMA_HEAVY_ASSERT(newItem != VMA_NULL && ItemTypeTraits::GetPrev(newItem) == VMA_NULL && ItemTypeTraits::GetNext(newItem) == VMA_NULL); + if (existingItem != VMA_NULL) + { + ItemType* const nextItem = ItemTypeTraits::GetNext(existingItem); + ItemTypeTraits::AccessNext(newItem) = nextItem; + ItemTypeTraits::AccessPrev(newItem) = existingItem; + ItemTypeTraits::AccessNext(existingItem) = newItem; + if (nextItem != VMA_NULL) + { + ItemTypeTraits::AccessPrev(nextItem) = newItem; + } + else + { + VMA_HEAVY_ASSERT(m_Back == existingItem); + m_Back = newItem; + } + ++m_Count; + } + else + return PushFront(newItem); +} + +template +void VmaIntrusiveLinkedList::Remove(ItemType* item) +{ + VMA_HEAVY_ASSERT(item != VMA_NULL && m_Count > 0); + if (ItemTypeTraits::GetPrev(item) != VMA_NULL) + { + ItemTypeTraits::AccessNext(ItemTypeTraits::AccessPrev(item)) = ItemTypeTraits::GetNext(item); + } + else + { + VMA_HEAVY_ASSERT(m_Front == item); + m_Front = ItemTypeTraits::GetNext(item); + } + + if (ItemTypeTraits::GetNext(item) != VMA_NULL) + { + ItemTypeTraits::AccessPrev(ItemTypeTraits::AccessNext(item)) = ItemTypeTraits::GetPrev(item); + } + else + { + VMA_HEAVY_ASSERT(m_Back == item); + m_Back = ItemTypeTraits::GetPrev(item); + } + ItemTypeTraits::AccessPrev(item) = VMA_NULL; + ItemTypeTraits::AccessNext(item) = VMA_NULL; + --m_Count; +} + +template +void VmaIntrusiveLinkedList::RemoveAll() +{ + if (!IsEmpty()) + { + ItemType* item = m_Back; + while (item != VMA_NULL) + { + ItemType* const prevItem = ItemTypeTraits::AccessPrev(item); + ItemTypeTraits::AccessPrev(item) = VMA_NULL; + ItemTypeTraits::AccessNext(item) = VMA_NULL; + item = prevItem; + } + m_Front = VMA_NULL; + m_Back = VMA_NULL; + m_Count = 0; + } +} +#endif // _VMA_INTRUSIVE_LINKED_LIST_FUNCTIONS +#endif // _VMA_INTRUSIVE_LINKED_LIST + +// Unused in this version. +#if 0 + +#ifndef _VMA_PAIR +template +struct VmaPair +{ + T1 first; + T2 second; + + VmaPair() : first(), second() {} + VmaPair(const T1& firstSrc, const T2& secondSrc) : first(firstSrc), second(secondSrc) {} +}; + +template +struct VmaPairFirstLess +{ + bool operator()(const VmaPair& lhs, const VmaPair& rhs) const + { + return lhs.first < rhs.first; + } + bool operator()(const VmaPair& lhs, const FirstT& rhsFirst) const + { + return lhs.first < rhsFirst; + } +}; +#endif // _VMA_PAIR + +#ifndef _VMA_MAP +/* Class compatible with subset of interface of std::unordered_map. +KeyT, ValueT must be POD because they will be stored in VmaVector. +*/ +template +class VmaMap +{ +public: + typedef VmaPair PairType; + typedef PairType* iterator; + + VmaMap(const VmaStlAllocator& allocator) : m_Vector(allocator) {} + + iterator begin() { return m_Vector.begin(); } + iterator end() { return m_Vector.end(); } + size_t size() { return m_Vector.size(); } + + void insert(const PairType& pair); + iterator find(const KeyT& key); + void erase(iterator it); + +private: + VmaVector< PairType, VmaStlAllocator> m_Vector; +}; + +#ifndef _VMA_MAP_FUNCTIONS +template +void VmaMap::insert(const PairType& pair) +{ + const size_t indexToInsert = VmaBinaryFindFirstNotLess( + m_Vector.data(), + m_Vector.data() + m_Vector.size(), + pair, + VmaPairFirstLess()) - m_Vector.data(); + VmaVectorInsert(m_Vector, indexToInsert, pair); +} + +template +VmaPair* VmaMap::find(const KeyT& key) +{ + PairType* it = VmaBinaryFindFirstNotLess( + m_Vector.data(), + m_Vector.data() + m_Vector.size(), + key, + VmaPairFirstLess()); + if ((it != m_Vector.end()) && (it->first == key)) + { + return it; + } + else + { + return m_Vector.end(); + } +} + +template +void VmaMap::erase(iterator it) +{ + VmaVectorRemove(m_Vector, it - m_Vector.begin()); +} +#endif // _VMA_MAP_FUNCTIONS +#endif // _VMA_MAP + +#endif // #if 0 + +#if !defined(_VMA_STRING_BUILDER) && VMA_STATS_STRING_ENABLED +class VmaStringBuilder +{ +public: + VmaStringBuilder(const VkAllocationCallbacks* allocationCallbacks) : m_Data(VmaStlAllocator(allocationCallbacks)) {} + ~VmaStringBuilder() = default; + + size_t GetLength() const { return m_Data.size(); } + const char* GetData() const { return m_Data.data(); } + void AddNewLine() { Add('\n'); } + void Add(char ch) { m_Data.push_back(ch); } + + void Add(const char* pStr); + void AddNumber(uint32_t num); + void AddNumber(uint64_t num); + void AddPointer(const void* ptr); + +private: + VmaVector> m_Data; +}; + +#ifndef _VMA_STRING_BUILDER_FUNCTIONS +void VmaStringBuilder::Add(const char* pStr) +{ + const size_t strLen = strlen(pStr); + if (strLen > 0) + { + const size_t oldCount = m_Data.size(); + m_Data.resize(oldCount + strLen); + memcpy(m_Data.data() + oldCount, pStr, strLen); + } +} + +void VmaStringBuilder::AddNumber(uint32_t num) +{ + char buf[11]; + buf[10] = '\0'; + char* p = &buf[10]; + do + { + *--p = '0' + (num % 10); + num /= 10; + } while (num); + Add(p); +} + +void VmaStringBuilder::AddNumber(uint64_t num) +{ + char buf[21]; + buf[20] = '\0'; + char* p = &buf[20]; + do + { + *--p = '0' + (num % 10); + num /= 10; + } while (num); + Add(p); +} + +void VmaStringBuilder::AddPointer(const void* ptr) +{ + char buf[21]; + VmaPtrToStr(buf, sizeof(buf), ptr); + Add(buf); +} +#endif //_VMA_STRING_BUILDER_FUNCTIONS +#endif // _VMA_STRING_BUILDER + +#if !defined(_VMA_JSON_WRITER) && VMA_STATS_STRING_ENABLED +/* +Allows to conveniently build a correct JSON document to be written to the +VmaStringBuilder passed to the constructor. +*/ +class VmaJsonWriter +{ + VMA_CLASS_NO_COPY(VmaJsonWriter) +public: + // sb - string builder to write the document to. Must remain alive for the whole lifetime of this object. + VmaJsonWriter(const VkAllocationCallbacks* pAllocationCallbacks, VmaStringBuilder& sb); + ~VmaJsonWriter(); + + // Begins object by writing "{". + // Inside an object, you must call pairs of WriteString and a value, e.g.: + // j.BeginObject(true); j.WriteString("A"); j.WriteNumber(1); j.WriteString("B"); j.WriteNumber(2); j.EndObject(); + // Will write: { "A": 1, "B": 2 } + void BeginObject(bool singleLine = false); + // Ends object by writing "}". + void EndObject(); + + // Begins array by writing "[". + // Inside an array, you can write a sequence of any values. + void BeginArray(bool singleLine = false); + // Ends array by writing "[". + void EndArray(); + + // Writes a string value inside "". + // pStr can contain any ANSI characters, including '"', new line etc. - they will be properly escaped. + void WriteString(const char* pStr); + + // Begins writing a string value. + // Call BeginString, ContinueString, ContinueString, ..., EndString instead of + // WriteString to conveniently build the string content incrementally, made of + // parts including numbers. + void BeginString(const char* pStr = VMA_NULL); + // Posts next part of an open string. + void ContinueString(const char* pStr); + // Posts next part of an open string. The number is converted to decimal characters. + void ContinueString(uint32_t n); + void ContinueString(uint64_t n); + void ContinueString_Size(size_t n); + // Posts next part of an open string. Pointer value is converted to characters + // using "%p" formatting - shown as hexadecimal number, e.g.: 000000081276Ad00 + void ContinueString_Pointer(const void* ptr); + // Ends writing a string value by writing '"'. + void EndString(const char* pStr = VMA_NULL); + + // Writes a number value. + void WriteNumber(uint32_t n); + void WriteNumber(uint64_t n); + void WriteSize(size_t n); + // Writes a boolean value - false or true. + void WriteBool(bool b); + // Writes a null value. + void WriteNull(); + +private: + enum COLLECTION_TYPE + { + COLLECTION_TYPE_OBJECT, + COLLECTION_TYPE_ARRAY, + }; + struct StackItem + { + COLLECTION_TYPE type; + uint32_t valueCount; + bool singleLineMode; + }; + + static const char* const INDENT; + + VmaStringBuilder& m_SB; + VmaVector< StackItem, VmaStlAllocator > m_Stack; + bool m_InsideString; + + // Write size_t for less than 64bits + void WriteSize(size_t n, std::integral_constant) { m_SB.AddNumber(static_cast(n)); } + // Write size_t for 64bits + void WriteSize(size_t n, std::integral_constant) { m_SB.AddNumber(static_cast(n)); } + + void BeginValue(bool isString); + void WriteIndent(bool oneLess = false); +}; +const char* const VmaJsonWriter::INDENT = " "; + +#ifndef _VMA_JSON_WRITER_FUNCTIONS +VmaJsonWriter::VmaJsonWriter(const VkAllocationCallbacks* pAllocationCallbacks, VmaStringBuilder& sb) + : m_SB(sb), + m_Stack(VmaStlAllocator(pAllocationCallbacks)), + m_InsideString(false) {} + +VmaJsonWriter::~VmaJsonWriter() +{ + VMA_ASSERT(!m_InsideString); + VMA_ASSERT(m_Stack.empty()); +} + +void VmaJsonWriter::BeginObject(bool singleLine) +{ + VMA_ASSERT(!m_InsideString); + + BeginValue(false); + m_SB.Add('{'); + + StackItem item; + item.type = COLLECTION_TYPE_OBJECT; + item.valueCount = 0; + item.singleLineMode = singleLine; + m_Stack.push_back(item); +} + +void VmaJsonWriter::EndObject() +{ + VMA_ASSERT(!m_InsideString); + + WriteIndent(true); + m_SB.Add('}'); + + VMA_ASSERT(!m_Stack.empty() && m_Stack.back().type == COLLECTION_TYPE_OBJECT); + m_Stack.pop_back(); +} + +void VmaJsonWriter::BeginArray(bool singleLine) +{ + VMA_ASSERT(!m_InsideString); + + BeginValue(false); + m_SB.Add('['); + + StackItem item; + item.type = COLLECTION_TYPE_ARRAY; + item.valueCount = 0; + item.singleLineMode = singleLine; + m_Stack.push_back(item); +} + +void VmaJsonWriter::EndArray() +{ + VMA_ASSERT(!m_InsideString); + + WriteIndent(true); + m_SB.Add(']'); + + VMA_ASSERT(!m_Stack.empty() && m_Stack.back().type == COLLECTION_TYPE_ARRAY); + m_Stack.pop_back(); +} + +void VmaJsonWriter::WriteString(const char* pStr) +{ + BeginString(pStr); + EndString(); +} + +void VmaJsonWriter::BeginString(const char* pStr) +{ + VMA_ASSERT(!m_InsideString); + + BeginValue(true); + m_SB.Add('"'); + m_InsideString = true; + if (pStr != VMA_NULL && pStr[0] != '\0') + { + ContinueString(pStr); + } +} + +void VmaJsonWriter::ContinueString(const char* pStr) +{ + VMA_ASSERT(m_InsideString); + + const size_t strLen = strlen(pStr); + for (size_t i = 0; i < strLen; ++i) + { + char ch = pStr[i]; + if (ch == '\\') + { + m_SB.Add("\\\\"); + } + else if (ch == '"') + { + m_SB.Add("\\\""); + } + else if (ch >= 32) + { + m_SB.Add(ch); + } + else switch (ch) + { + case '\b': + m_SB.Add("\\b"); + break; + case '\f': + m_SB.Add("\\f"); + break; + case '\n': + m_SB.Add("\\n"); + break; + case '\r': + m_SB.Add("\\r"); + break; + case '\t': + m_SB.Add("\\t"); + break; + default: + VMA_ASSERT(0 && "Character not currently supported."); + break; + } + } +} + +void VmaJsonWriter::ContinueString(uint32_t n) +{ + VMA_ASSERT(m_InsideString); + m_SB.AddNumber(n); +} + +void VmaJsonWriter::ContinueString(uint64_t n) +{ + VMA_ASSERT(m_InsideString); + m_SB.AddNumber(n); +} + +void VmaJsonWriter::ContinueString_Size(size_t n) +{ + VMA_ASSERT(m_InsideString); + // Fix for AppleClang incorrect type casting + // TODO: Change to if constexpr when C++17 used as minimal standard + WriteSize(n, std::is_same{}); +} + +void VmaJsonWriter::ContinueString_Pointer(const void* ptr) +{ + VMA_ASSERT(m_InsideString); + m_SB.AddPointer(ptr); +} + +void VmaJsonWriter::EndString(const char* pStr) +{ + VMA_ASSERT(m_InsideString); + if (pStr != VMA_NULL && pStr[0] != '\0') + { + ContinueString(pStr); + } + m_SB.Add('"'); + m_InsideString = false; +} + +void VmaJsonWriter::WriteNumber(uint32_t n) +{ + VMA_ASSERT(!m_InsideString); + BeginValue(false); + m_SB.AddNumber(n); +} + +void VmaJsonWriter::WriteNumber(uint64_t n) +{ + VMA_ASSERT(!m_InsideString); + BeginValue(false); + m_SB.AddNumber(n); +} + +void VmaJsonWriter::WriteSize(size_t n) +{ + VMA_ASSERT(!m_InsideString); + BeginValue(false); + // Fix for AppleClang incorrect type casting + // TODO: Change to if constexpr when C++17 used as minimal standard + WriteSize(n, std::is_same{}); +} + +void VmaJsonWriter::WriteBool(bool b) +{ + VMA_ASSERT(!m_InsideString); + BeginValue(false); + m_SB.Add(b ? "true" : "false"); +} + +void VmaJsonWriter::WriteNull() +{ + VMA_ASSERT(!m_InsideString); + BeginValue(false); + m_SB.Add("null"); +} + +void VmaJsonWriter::BeginValue(bool isString) +{ + if (!m_Stack.empty()) + { + StackItem& currItem = m_Stack.back(); + if (currItem.type == COLLECTION_TYPE_OBJECT && + currItem.valueCount % 2 == 0) + { + VMA_ASSERT(isString); + } + + if (currItem.type == COLLECTION_TYPE_OBJECT && + currItem.valueCount % 2 != 0) + { + m_SB.Add(": "); + } + else if (currItem.valueCount > 0) + { + m_SB.Add(", "); + WriteIndent(); + } + else + { + WriteIndent(); + } + ++currItem.valueCount; + } +} + +void VmaJsonWriter::WriteIndent(bool oneLess) +{ + if (!m_Stack.empty() && !m_Stack.back().singleLineMode) + { + m_SB.AddNewLine(); + + size_t count = m_Stack.size(); + if (count > 0 && oneLess) + { + --count; + } + for (size_t i = 0; i < count; ++i) + { + m_SB.Add(INDENT); + } + } +} +#endif // _VMA_JSON_WRITER_FUNCTIONS + +static void VmaPrintDetailedStatistics(VmaJsonWriter& json, const VmaDetailedStatistics& stat) +{ + json.BeginObject(); + + json.WriteString("BlockCount"); + json.WriteNumber(stat.statistics.blockCount); + json.WriteString("BlockBytes"); + json.WriteNumber(stat.statistics.blockBytes); + json.WriteString("AllocationCount"); + json.WriteNumber(stat.statistics.allocationCount); + json.WriteString("AllocationBytes"); + json.WriteNumber(stat.statistics.allocationBytes); + json.WriteString("UnusedRangeCount"); + json.WriteNumber(stat.unusedRangeCount); + + if (stat.statistics.allocationCount > 1) + { + json.WriteString("AllocationSizeMin"); + json.WriteNumber(stat.allocationSizeMin); + json.WriteString("AllocationSizeMax"); + json.WriteNumber(stat.allocationSizeMax); + } + if (stat.unusedRangeCount > 1) + { + json.WriteString("UnusedRangeSizeMin"); + json.WriteNumber(stat.unusedRangeSizeMin); + json.WriteString("UnusedRangeSizeMax"); + json.WriteNumber(stat.unusedRangeSizeMax); + } + json.EndObject(); +} +#endif // _VMA_JSON_WRITER + +#ifndef _VMA_MAPPING_HYSTERESIS + +class VmaMappingHysteresis +{ + VMA_CLASS_NO_COPY(VmaMappingHysteresis) +public: + VmaMappingHysteresis() = default; + + uint32_t GetExtraMapping() const { return m_ExtraMapping; } + + // Call when Map was called. + // Returns true if switched to extra +1 mapping reference count. + bool PostMap() + { +#if VMA_MAPPING_HYSTERESIS_ENABLED + if(m_ExtraMapping == 0) + { + ++m_MajorCounter; + if(m_MajorCounter >= COUNTER_MIN_EXTRA_MAPPING) + { + m_ExtraMapping = 1; + m_MajorCounter = 0; + m_MinorCounter = 0; + return true; + } + } + else // m_ExtraMapping == 1 + PostMinorCounter(); +#endif // #if VMA_MAPPING_HYSTERESIS_ENABLED + return false; + } + + // Call when Unmap was called. + void PostUnmap() + { +#if VMA_MAPPING_HYSTERESIS_ENABLED + if(m_ExtraMapping == 0) + ++m_MajorCounter; + else // m_ExtraMapping == 1 + PostMinorCounter(); +#endif // #if VMA_MAPPING_HYSTERESIS_ENABLED + } + + // Call when allocation was made from the memory block. + void PostAlloc() + { +#if VMA_MAPPING_HYSTERESIS_ENABLED + if(m_ExtraMapping == 1) + ++m_MajorCounter; + else // m_ExtraMapping == 0 + PostMinorCounter(); +#endif // #if VMA_MAPPING_HYSTERESIS_ENABLED + } + + // Call when allocation was freed from the memory block. + // Returns true if switched to extra -1 mapping reference count. + bool PostFree() + { +#if VMA_MAPPING_HYSTERESIS_ENABLED + if(m_ExtraMapping == 1) + { + ++m_MajorCounter; + if(m_MajorCounter >= COUNTER_MIN_EXTRA_MAPPING && + m_MajorCounter > m_MinorCounter + 1) + { + m_ExtraMapping = 0; + m_MajorCounter = 0; + m_MinorCounter = 0; + return true; + } + } + else // m_ExtraMapping == 0 + PostMinorCounter(); +#endif // #if VMA_MAPPING_HYSTERESIS_ENABLED + return false; + } + +private: + static const int32_t COUNTER_MIN_EXTRA_MAPPING = 7; + + uint32_t m_MinorCounter = 0; + uint32_t m_MajorCounter = 0; + uint32_t m_ExtraMapping = 0; // 0 or 1. + + void PostMinorCounter() + { + if(m_MinorCounter < m_MajorCounter) + { + ++m_MinorCounter; + } + else if(m_MajorCounter > 0) + { + --m_MajorCounter; + --m_MinorCounter; + } + } +}; + +#endif // _VMA_MAPPING_HYSTERESIS + +#ifndef _VMA_DEVICE_MEMORY_BLOCK +/* +Represents a single block of device memory (`VkDeviceMemory`) with all the +data about its regions (aka suballocations, #VmaAllocation), assigned and free. + +Thread-safety: +- Access to m_pMetadata must be externally synchronized. +- Map, Unmap, Bind* are synchronized internally. +*/ +class VmaDeviceMemoryBlock +{ + VMA_CLASS_NO_COPY(VmaDeviceMemoryBlock) +public: + VmaBlockMetadata* m_pMetadata; + + VmaDeviceMemoryBlock(VmaAllocator hAllocator); + ~VmaDeviceMemoryBlock(); + + // Always call after construction. + void Init( + VmaAllocator hAllocator, + VmaPool hParentPool, + uint32_t newMemoryTypeIndex, + VkDeviceMemory newMemory, + VkDeviceSize newSize, + uint32_t id, + uint32_t algorithm, + VkDeviceSize bufferImageGranularity); + // Always call before destruction. + void Destroy(VmaAllocator allocator); + + VmaPool GetParentPool() const { return m_hParentPool; } + VkDeviceMemory GetDeviceMemory() const { return m_hMemory; } + uint32_t GetMemoryTypeIndex() const { return m_MemoryTypeIndex; } + uint32_t GetId() const { return m_Id; } + void* GetMappedData() const { return m_pMappedData; } + uint32_t GetMapRefCount() const { return m_MapCount; } + + // Call when allocation/free was made from m_pMetadata. + // Used for m_MappingHysteresis. + void PostAlloc() { m_MappingHysteresis.PostAlloc(); } + void PostFree(VmaAllocator hAllocator); + + // Validates all data structures inside this object. If not valid, returns false. + bool Validate() const; + VkResult CheckCorruption(VmaAllocator hAllocator); + + // ppData can be null. + VkResult Map(VmaAllocator hAllocator, uint32_t count, void** ppData); + void Unmap(VmaAllocator hAllocator, uint32_t count); + + VkResult WriteMagicValueAfterAllocation(VmaAllocator hAllocator, VkDeviceSize allocOffset, VkDeviceSize allocSize); + VkResult ValidateMagicValueAfterAllocation(VmaAllocator hAllocator, VkDeviceSize allocOffset, VkDeviceSize allocSize); + + VkResult BindBufferMemory( + const VmaAllocator hAllocator, + const VmaAllocation hAllocation, + VkDeviceSize allocationLocalOffset, + VkBuffer hBuffer, + const void* pNext); + VkResult BindImageMemory( + const VmaAllocator hAllocator, + const VmaAllocation hAllocation, + VkDeviceSize allocationLocalOffset, + VkImage hImage, + const void* pNext); + +private: + VmaPool m_hParentPool; // VK_NULL_HANDLE if not belongs to custom pool. + uint32_t m_MemoryTypeIndex; + uint32_t m_Id; + VkDeviceMemory m_hMemory; + + /* + Protects access to m_hMemory so it is not used by multiple threads simultaneously, e.g. vkMapMemory, vkBindBufferMemory. + Also protects m_MapCount, m_pMappedData. + Allocations, deallocations, any change in m_pMetadata is protected by parent's VmaBlockVector::m_Mutex. + */ + VMA_MUTEX m_MapAndBindMutex; + VmaMappingHysteresis m_MappingHysteresis; + uint32_t m_MapCount; + void* m_pMappedData; +}; +#endif // _VMA_DEVICE_MEMORY_BLOCK + +#ifndef _VMA_ALLOCATION_T +struct VmaAllocation_T +{ + friend struct VmaDedicatedAllocationListItemTraits; + + enum FLAGS + { + FLAG_PERSISTENT_MAP = 0x01, + FLAG_MAPPING_ALLOWED = 0x02, + }; + +public: + enum ALLOCATION_TYPE + { + ALLOCATION_TYPE_NONE, + ALLOCATION_TYPE_BLOCK, + ALLOCATION_TYPE_DEDICATED, + }; + + // This struct is allocated using VmaPoolAllocator. + VmaAllocation_T(bool mappingAllowed); + ~VmaAllocation_T(); + + void InitBlockAllocation( + VmaDeviceMemoryBlock* block, + VmaAllocHandle allocHandle, + VkDeviceSize alignment, + VkDeviceSize size, + uint32_t memoryTypeIndex, + VmaSuballocationType suballocationType, + bool mapped); + // pMappedData not null means allocation is created with MAPPED flag. + void InitDedicatedAllocation( + VmaPool hParentPool, + uint32_t memoryTypeIndex, + VkDeviceMemory hMemory, + VmaSuballocationType suballocationType, + void* pMappedData, + VkDeviceSize size); + + ALLOCATION_TYPE GetType() const { return (ALLOCATION_TYPE)m_Type; } + VkDeviceSize GetAlignment() const { return m_Alignment; } + VkDeviceSize GetSize() const { return m_Size; } + void* GetUserData() const { return m_pUserData; } + const char* GetName() const { return m_pName; } + VmaSuballocationType GetSuballocationType() const { return (VmaSuballocationType)m_SuballocationType; } + + VmaDeviceMemoryBlock* GetBlock() const { VMA_ASSERT(m_Type == ALLOCATION_TYPE_BLOCK); return m_BlockAllocation.m_Block; } + uint32_t GetMemoryTypeIndex() const { return m_MemoryTypeIndex; } + bool IsPersistentMap() const { return (m_Flags & FLAG_PERSISTENT_MAP) != 0; } + bool IsMappingAllowed() const { return (m_Flags & FLAG_MAPPING_ALLOWED) != 0; } + + void SetUserData(VmaAllocator hAllocator, void* pUserData) { m_pUserData = pUserData; } + void SetName(VmaAllocator hAllocator, const char* pName); + void FreeName(VmaAllocator hAllocator); + uint8_t SwapBlockAllocation(VmaAllocator hAllocator, VmaAllocation allocation); + VmaAllocHandle GetAllocHandle() const; + VkDeviceSize GetOffset() const; + VmaPool GetParentPool() const; + VkDeviceMemory GetMemory() const; + void* GetMappedData() const; + + void BlockAllocMap(); + void BlockAllocUnmap(); + VkResult DedicatedAllocMap(VmaAllocator hAllocator, void** ppData); + void DedicatedAllocUnmap(VmaAllocator hAllocator); + +#if VMA_STATS_STRING_ENABLED + uint32_t GetBufferImageUsage() const { return m_BufferImageUsage; } + + void InitBufferImageUsage(uint32_t bufferImageUsage); + void PrintParameters(class VmaJsonWriter& json) const; +#endif + +private: + // Allocation out of VmaDeviceMemoryBlock. + struct BlockAllocation + { + VmaDeviceMemoryBlock* m_Block; + VmaAllocHandle m_AllocHandle; + }; + // Allocation for an object that has its own private VkDeviceMemory. + struct DedicatedAllocation + { + VmaPool m_hParentPool; // VK_NULL_HANDLE if not belongs to custom pool. + VkDeviceMemory m_hMemory; + void* m_pMappedData; // Not null means memory is mapped. + VmaAllocation_T* m_Prev; + VmaAllocation_T* m_Next; + }; + union + { + // Allocation out of VmaDeviceMemoryBlock. + BlockAllocation m_BlockAllocation; + // Allocation for an object that has its own private VkDeviceMemory. + DedicatedAllocation m_DedicatedAllocation; + }; + + VkDeviceSize m_Alignment; + VkDeviceSize m_Size; + void* m_pUserData; + char* m_pName; + uint32_t m_MemoryTypeIndex; + uint8_t m_Type; // ALLOCATION_TYPE + uint8_t m_SuballocationType; // VmaSuballocationType + // Reference counter for vmaMapMemory()/vmaUnmapMemory(). + uint8_t m_MapCount; + uint8_t m_Flags; // enum FLAGS +#if VMA_STATS_STRING_ENABLED + uint32_t m_BufferImageUsage; // 0 if unknown. +#endif +}; +#endif // _VMA_ALLOCATION_T + +#ifndef _VMA_DEDICATED_ALLOCATION_LIST_ITEM_TRAITS +struct VmaDedicatedAllocationListItemTraits +{ + typedef VmaAllocation_T ItemType; + + static ItemType* GetPrev(const ItemType* item) + { + VMA_HEAVY_ASSERT(item->GetType() == VmaAllocation_T::ALLOCATION_TYPE_DEDICATED); + return item->m_DedicatedAllocation.m_Prev; + } + static ItemType* GetNext(const ItemType* item) + { + VMA_HEAVY_ASSERT(item->GetType() == VmaAllocation_T::ALLOCATION_TYPE_DEDICATED); + return item->m_DedicatedAllocation.m_Next; + } + static ItemType*& AccessPrev(ItemType* item) + { + VMA_HEAVY_ASSERT(item->GetType() == VmaAllocation_T::ALLOCATION_TYPE_DEDICATED); + return item->m_DedicatedAllocation.m_Prev; + } + static ItemType*& AccessNext(ItemType* item) + { + VMA_HEAVY_ASSERT(item->GetType() == VmaAllocation_T::ALLOCATION_TYPE_DEDICATED); + return item->m_DedicatedAllocation.m_Next; + } +}; +#endif // _VMA_DEDICATED_ALLOCATION_LIST_ITEM_TRAITS + +#ifndef _VMA_DEDICATED_ALLOCATION_LIST +/* +Stores linked list of VmaAllocation_T objects. +Thread-safe, synchronized internally. +*/ +class VmaDedicatedAllocationList +{ +public: + VmaDedicatedAllocationList() {} + ~VmaDedicatedAllocationList(); + + void Init(bool useMutex) { m_UseMutex = useMutex; } + bool Validate(); + + void AddDetailedStatistics(VmaDetailedStatistics& inoutStats); + void AddStatistics(VmaStatistics& inoutStats); +#if VMA_STATS_STRING_ENABLED + // Writes JSON array with the list of allocations. + void BuildStatsString(VmaJsonWriter& json); +#endif + + bool IsEmpty(); + void Register(VmaAllocation alloc); + void Unregister(VmaAllocation alloc); + +private: + typedef VmaIntrusiveLinkedList DedicatedAllocationLinkedList; + + bool m_UseMutex = true; + VMA_RW_MUTEX m_Mutex; + DedicatedAllocationLinkedList m_AllocationList; +}; + +#ifndef _VMA_DEDICATED_ALLOCATION_LIST_FUNCTIONS + +VmaDedicatedAllocationList::~VmaDedicatedAllocationList() +{ + VMA_HEAVY_ASSERT(Validate()); + + if (!m_AllocationList.IsEmpty()) + { + VMA_ASSERT(false && "Unfreed dedicated allocations found!"); + } +} + +bool VmaDedicatedAllocationList::Validate() +{ + const size_t declaredCount = m_AllocationList.GetCount(); + size_t actualCount = 0; + VmaMutexLockRead lock(m_Mutex, m_UseMutex); + for (VmaAllocation alloc = m_AllocationList.Front(); + alloc != VMA_NULL; alloc = m_AllocationList.GetNext(alloc)) + { + ++actualCount; + } + VMA_VALIDATE(actualCount == declaredCount); + + return true; +} + +void VmaDedicatedAllocationList::AddDetailedStatistics(VmaDetailedStatistics& inoutStats) +{ + for(auto* item = m_AllocationList.Front(); item != nullptr; item = DedicatedAllocationLinkedList::GetNext(item)) + { + const VkDeviceSize size = item->GetSize(); + inoutStats.statistics.blockCount++; + inoutStats.statistics.blockBytes += size; + VmaAddDetailedStatisticsAllocation(inoutStats, item->GetSize()); + } +} + +void VmaDedicatedAllocationList::AddStatistics(VmaStatistics& inoutStats) +{ + VmaMutexLockRead lock(m_Mutex, m_UseMutex); + + const uint32_t allocCount = (uint32_t)m_AllocationList.GetCount(); + inoutStats.blockCount += allocCount; + inoutStats.allocationCount += allocCount; + + for(auto* item = m_AllocationList.Front(); item != nullptr; item = DedicatedAllocationLinkedList::GetNext(item)) + { + const VkDeviceSize size = item->GetSize(); + inoutStats.blockBytes += size; + inoutStats.allocationBytes += size; + } +} + +#if VMA_STATS_STRING_ENABLED +void VmaDedicatedAllocationList::BuildStatsString(VmaJsonWriter& json) +{ + VmaMutexLockRead lock(m_Mutex, m_UseMutex); + json.BeginArray(); + for (VmaAllocation alloc = m_AllocationList.Front(); + alloc != VMA_NULL; alloc = m_AllocationList.GetNext(alloc)) + { + json.BeginObject(true); + alloc->PrintParameters(json); + json.EndObject(); + } + json.EndArray(); +} +#endif // VMA_STATS_STRING_ENABLED + +bool VmaDedicatedAllocationList::IsEmpty() +{ + VmaMutexLockRead lock(m_Mutex, m_UseMutex); + return m_AllocationList.IsEmpty(); +} + +void VmaDedicatedAllocationList::Register(VmaAllocation alloc) +{ + VmaMutexLockWrite lock(m_Mutex, m_UseMutex); + m_AllocationList.PushBack(alloc); +} + +void VmaDedicatedAllocationList::Unregister(VmaAllocation alloc) +{ + VmaMutexLockWrite lock(m_Mutex, m_UseMutex); + m_AllocationList.Remove(alloc); +} +#endif // _VMA_DEDICATED_ALLOCATION_LIST_FUNCTIONS +#endif // _VMA_DEDICATED_ALLOCATION_LIST + +#ifndef _VMA_SUBALLOCATION +/* +Represents a region of VmaDeviceMemoryBlock that is either assigned and returned as +allocated memory block or free. +*/ +struct VmaSuballocation +{ + VkDeviceSize offset; + VkDeviceSize size; + void* userData; + VmaSuballocationType type; +}; + +// Comparator for offsets. +struct VmaSuballocationOffsetLess +{ + bool operator()(const VmaSuballocation& lhs, const VmaSuballocation& rhs) const + { + return lhs.offset < rhs.offset; + } +}; + +struct VmaSuballocationOffsetGreater +{ + bool operator()(const VmaSuballocation& lhs, const VmaSuballocation& rhs) const + { + return lhs.offset > rhs.offset; + } +}; + +struct VmaSuballocationItemSizeLess +{ + bool operator()(const VmaSuballocationList::iterator lhs, + const VmaSuballocationList::iterator rhs) const + { + return lhs->size < rhs->size; + } + + bool operator()(const VmaSuballocationList::iterator lhs, + VkDeviceSize rhsSize) const + { + return lhs->size < rhsSize; + } +}; +#endif // _VMA_SUBALLOCATION + +#ifndef _VMA_ALLOCATION_REQUEST +/* +Parameters of planned allocation inside a VmaDeviceMemoryBlock. +item points to a FREE suballocation. +*/ +struct VmaAllocationRequest +{ + VmaAllocHandle allocHandle; + VkDeviceSize size; + VmaSuballocationList::iterator item; + void* customData; + uint64_t algorithmData; + VmaAllocationRequestType type; +}; +#endif // _VMA_ALLOCATION_REQUEST + +#ifndef _VMA_BLOCK_METADATA +/* +Data structure used for bookkeeping of allocations and unused ranges of memory +in a single VkDeviceMemory block. +*/ +class VmaBlockMetadata +{ +public: + // pAllocationCallbacks, if not null, must be owned externally - alive and unchanged for the whole lifetime of this object. + VmaBlockMetadata(const VkAllocationCallbacks* pAllocationCallbacks, + VkDeviceSize bufferImageGranularity, bool isVirtual); + virtual ~VmaBlockMetadata() = default; + + virtual void Init(VkDeviceSize size) { m_Size = size; } + bool IsVirtual() const { return m_IsVirtual; } + VkDeviceSize GetSize() const { return m_Size; } + + // Validates all data structures inside this object. If not valid, returns false. + virtual bool Validate() const = 0; + virtual size_t GetAllocationCount() const = 0; + virtual size_t GetFreeRegionsCount() const = 0; + virtual VkDeviceSize GetSumFreeSize() const = 0; + // Returns true if this block is empty - contains only single free suballocation. + virtual bool IsEmpty() const = 0; + virtual void GetAllocationInfo(VmaAllocHandle allocHandle, VmaVirtualAllocationInfo& outInfo) = 0; + virtual VkDeviceSize GetAllocationOffset(VmaAllocHandle allocHandle) const = 0; + virtual void* GetAllocationUserData(VmaAllocHandle allocHandle) const = 0; + + virtual VmaAllocHandle GetAllocationListBegin() const = 0; + virtual VmaAllocHandle GetNextAllocation(VmaAllocHandle prevAlloc) const = 0; + virtual VkDeviceSize GetNextFreeRegionSize(VmaAllocHandle alloc) const = 0; + + // Shouldn't modify blockCount. + virtual void AddDetailedStatistics(VmaDetailedStatistics& inoutStats) const = 0; + virtual void AddStatistics(VmaStatistics& inoutStats) const = 0; + +#if VMA_STATS_STRING_ENABLED + virtual void PrintDetailedMap(class VmaJsonWriter& json) const = 0; +#endif + + // Tries to find a place for suballocation with given parameters inside this block. + // If succeeded, fills pAllocationRequest and returns true. + // If failed, returns false. + virtual bool CreateAllocationRequest( + VkDeviceSize allocSize, + VkDeviceSize allocAlignment, + bool upperAddress, + VmaSuballocationType allocType, + // Always one of VMA_ALLOCATION_CREATE_STRATEGY_* or VMA_ALLOCATION_INTERNAL_STRATEGY_* flags. + uint32_t strategy, + VmaAllocationRequest* pAllocationRequest) = 0; + + virtual VkResult CheckCorruption(const void* pBlockData) = 0; + + // Makes actual allocation based on request. Request must already be checked and valid. + virtual void Alloc( + const VmaAllocationRequest& request, + VmaSuballocationType type, + void* userData) = 0; + + // Frees suballocation assigned to given memory region. + virtual void Free(VmaAllocHandle allocHandle) = 0; + + // Frees all allocations. + // Careful! Don't call it if there are VmaAllocation objects owned by userData of cleared allocations! + virtual void Clear() = 0; + + virtual void SetAllocationUserData(VmaAllocHandle allocHandle, void* userData) = 0; + virtual void DebugLogAllAllocations() const = 0; + +protected: + const VkAllocationCallbacks* GetAllocationCallbacks() const { return m_pAllocationCallbacks; } + VkDeviceSize GetBufferImageGranularity() const { return m_BufferImageGranularity; } + VkDeviceSize GetDebugMargin() const { return IsVirtual() ? 0 : VMA_DEBUG_MARGIN; } + + void DebugLogAllocation(VkDeviceSize offset, VkDeviceSize size, void* userData) const; +#if VMA_STATS_STRING_ENABLED + // mapRefCount == UINT32_MAX means unspecified. + void PrintDetailedMap_Begin(class VmaJsonWriter& json, + VkDeviceSize unusedBytes, + size_t allocationCount, + size_t unusedRangeCount) const; + void PrintDetailedMap_Allocation(class VmaJsonWriter& json, + VkDeviceSize offset, VkDeviceSize size, void* userData) const; + void PrintDetailedMap_UnusedRange(class VmaJsonWriter& json, + VkDeviceSize offset, + VkDeviceSize size) const; + void PrintDetailedMap_End(class VmaJsonWriter& json) const; +#endif + +private: + VkDeviceSize m_Size; + const VkAllocationCallbacks* m_pAllocationCallbacks; + const VkDeviceSize m_BufferImageGranularity; + const bool m_IsVirtual; +}; + +#ifndef _VMA_BLOCK_METADATA_FUNCTIONS +VmaBlockMetadata::VmaBlockMetadata(const VkAllocationCallbacks* pAllocationCallbacks, + VkDeviceSize bufferImageGranularity, bool isVirtual) + : m_Size(0), + m_pAllocationCallbacks(pAllocationCallbacks), + m_BufferImageGranularity(bufferImageGranularity), + m_IsVirtual(isVirtual) {} + +void VmaBlockMetadata::DebugLogAllocation(VkDeviceSize offset, VkDeviceSize size, void* userData) const +{ + if (IsVirtual()) + { + VMA_DEBUG_LOG("UNFREED VIRTUAL ALLOCATION; Offset: %llu; Size: %llu; UserData: %p", offset, size, userData); + } + else + { + VMA_ASSERT(userData != VMA_NULL); + VmaAllocation allocation = reinterpret_cast(userData); + + userData = allocation->GetUserData(); + const char* name = allocation->GetName(); + +#if VMA_STATS_STRING_ENABLED + VMA_DEBUG_LOG("UNFREED ALLOCATION; Offset: %llu; Size: %llu; UserData: %p; Name: %s; Type: %s; Usage: %u", + offset, size, userData, name ? name : "vma_empty", + VMA_SUBALLOCATION_TYPE_NAMES[allocation->GetSuballocationType()], + allocation->GetBufferImageUsage()); +#else + VMA_DEBUG_LOG("UNFREED ALLOCATION; Offset: %llu; Size: %llu; UserData: %p; Name: %s; Type: %u", + offset, size, userData, name ? name : "vma_empty", + (uint32_t)allocation->GetSuballocationType()); +#endif // VMA_STATS_STRING_ENABLED + } + +} + +#if VMA_STATS_STRING_ENABLED +void VmaBlockMetadata::PrintDetailedMap_Begin(class VmaJsonWriter& json, + VkDeviceSize unusedBytes, size_t allocationCount, size_t unusedRangeCount) const +{ + json.WriteString("TotalBytes"); + json.WriteNumber(GetSize()); + + json.WriteString("UnusedBytes"); + json.WriteSize(unusedBytes); + + json.WriteString("Allocations"); + json.WriteSize(allocationCount); + + json.WriteString("UnusedRanges"); + json.WriteSize(unusedRangeCount); + + json.WriteString("Suballocations"); + json.BeginArray(); +} + +void VmaBlockMetadata::PrintDetailedMap_Allocation(class VmaJsonWriter& json, + VkDeviceSize offset, VkDeviceSize size, void* userData) const +{ + json.BeginObject(true); + + json.WriteString("Offset"); + json.WriteNumber(offset); + + if (IsVirtual()) + { + json.WriteString("Size"); + json.WriteNumber(size); + if (userData) + { + json.WriteString("CustomData"); + json.BeginString(); + json.ContinueString_Pointer(userData); + json.EndString(); + } + } + else + { + ((VmaAllocation)userData)->PrintParameters(json); + } + + json.EndObject(); +} + +void VmaBlockMetadata::PrintDetailedMap_UnusedRange(class VmaJsonWriter& json, + VkDeviceSize offset, VkDeviceSize size) const +{ + json.BeginObject(true); + + json.WriteString("Offset"); + json.WriteNumber(offset); + + json.WriteString("Type"); + json.WriteString(VMA_SUBALLOCATION_TYPE_NAMES[VMA_SUBALLOCATION_TYPE_FREE]); + + json.WriteString("Size"); + json.WriteNumber(size); + + json.EndObject(); +} + +void VmaBlockMetadata::PrintDetailedMap_End(class VmaJsonWriter& json) const +{ + json.EndArray(); +} +#endif // VMA_STATS_STRING_ENABLED +#endif // _VMA_BLOCK_METADATA_FUNCTIONS +#endif // _VMA_BLOCK_METADATA + +#ifndef _VMA_BLOCK_BUFFER_IMAGE_GRANULARITY +// Before deleting object of this class remember to call 'Destroy()' +class VmaBlockBufferImageGranularity final +{ +public: + struct ValidationContext + { + const VkAllocationCallbacks* allocCallbacks; + uint16_t* pageAllocs; + }; + + VmaBlockBufferImageGranularity(VkDeviceSize bufferImageGranularity); + ~VmaBlockBufferImageGranularity(); + + bool IsEnabled() const { return m_BufferImageGranularity > MAX_LOW_BUFFER_IMAGE_GRANULARITY; } + + void Init(const VkAllocationCallbacks* pAllocationCallbacks, VkDeviceSize size); + // Before destroying object you must call free it's memory + void Destroy(const VkAllocationCallbacks* pAllocationCallbacks); + + void RoundupAllocRequest(VmaSuballocationType allocType, + VkDeviceSize& inOutAllocSize, + VkDeviceSize& inOutAllocAlignment) const; + + bool CheckConflictAndAlignUp(VkDeviceSize& inOutAllocOffset, + VkDeviceSize allocSize, + VkDeviceSize blockOffset, + VkDeviceSize blockSize, + VmaSuballocationType allocType) const; + + void AllocPages(uint8_t allocType, VkDeviceSize offset, VkDeviceSize size); + void FreePages(VkDeviceSize offset, VkDeviceSize size); + void Clear(); + + ValidationContext StartValidation(const VkAllocationCallbacks* pAllocationCallbacks, + bool isVirutal) const; + bool Validate(ValidationContext& ctx, VkDeviceSize offset, VkDeviceSize size) const; + bool FinishValidation(ValidationContext& ctx) const; + +private: + static const uint16_t MAX_LOW_BUFFER_IMAGE_GRANULARITY = 256; + + struct RegionInfo + { + uint8_t allocType; + uint16_t allocCount; + }; + + VkDeviceSize m_BufferImageGranularity; + uint32_t m_RegionCount; + RegionInfo* m_RegionInfo; + + uint32_t GetStartPage(VkDeviceSize offset) const { return OffsetToPageIndex(offset & ~(m_BufferImageGranularity - 1)); } + uint32_t GetEndPage(VkDeviceSize offset, VkDeviceSize size) const { return OffsetToPageIndex((offset + size - 1) & ~(m_BufferImageGranularity - 1)); } + + uint32_t OffsetToPageIndex(VkDeviceSize offset) const; + void AllocPage(RegionInfo& page, uint8_t allocType); +}; + +#ifndef _VMA_BLOCK_BUFFER_IMAGE_GRANULARITY_FUNCTIONS +VmaBlockBufferImageGranularity::VmaBlockBufferImageGranularity(VkDeviceSize bufferImageGranularity) + : m_BufferImageGranularity(bufferImageGranularity), + m_RegionCount(0), + m_RegionInfo(VMA_NULL) {} + +VmaBlockBufferImageGranularity::~VmaBlockBufferImageGranularity() +{ + VMA_ASSERT(m_RegionInfo == VMA_NULL && "Free not called before destroying object!"); +} + +void VmaBlockBufferImageGranularity::Init(const VkAllocationCallbacks* pAllocationCallbacks, VkDeviceSize size) +{ + if (IsEnabled()) + { + m_RegionCount = static_cast(VmaDivideRoundingUp(size, m_BufferImageGranularity)); + m_RegionInfo = vma_new_array(pAllocationCallbacks, RegionInfo, m_RegionCount); + memset(m_RegionInfo, 0, m_RegionCount * sizeof(RegionInfo)); + } +} + +void VmaBlockBufferImageGranularity::Destroy(const VkAllocationCallbacks* pAllocationCallbacks) +{ + if (m_RegionInfo) + { + vma_delete_array(pAllocationCallbacks, m_RegionInfo, m_RegionCount); + m_RegionInfo = VMA_NULL; + } +} + +void VmaBlockBufferImageGranularity::RoundupAllocRequest(VmaSuballocationType allocType, + VkDeviceSize& inOutAllocSize, + VkDeviceSize& inOutAllocAlignment) const +{ + if (m_BufferImageGranularity > 1 && + m_BufferImageGranularity <= MAX_LOW_BUFFER_IMAGE_GRANULARITY) + { + if (allocType == VMA_SUBALLOCATION_TYPE_UNKNOWN || + allocType == VMA_SUBALLOCATION_TYPE_IMAGE_UNKNOWN || + allocType == VMA_SUBALLOCATION_TYPE_IMAGE_OPTIMAL) + { + inOutAllocAlignment = VMA_MAX(inOutAllocAlignment, m_BufferImageGranularity); + inOutAllocSize = VmaAlignUp(inOutAllocSize, m_BufferImageGranularity); + } + } +} + +bool VmaBlockBufferImageGranularity::CheckConflictAndAlignUp(VkDeviceSize& inOutAllocOffset, + VkDeviceSize allocSize, + VkDeviceSize blockOffset, + VkDeviceSize blockSize, + VmaSuballocationType allocType) const +{ + if (IsEnabled()) + { + uint32_t startPage = GetStartPage(inOutAllocOffset); + if (m_RegionInfo[startPage].allocCount > 0 && + VmaIsBufferImageGranularityConflict(static_cast(m_RegionInfo[startPage].allocType), allocType)) + { + inOutAllocOffset = VmaAlignUp(inOutAllocOffset, m_BufferImageGranularity); + if (blockSize < allocSize + inOutAllocOffset - blockOffset) + return true; + ++startPage; + } + uint32_t endPage = GetEndPage(inOutAllocOffset, allocSize); + if (endPage != startPage && + m_RegionInfo[endPage].allocCount > 0 && + VmaIsBufferImageGranularityConflict(static_cast(m_RegionInfo[endPage].allocType), allocType)) + { + return true; + } + } + return false; +} + +void VmaBlockBufferImageGranularity::AllocPages(uint8_t allocType, VkDeviceSize offset, VkDeviceSize size) +{ + if (IsEnabled()) + { + uint32_t startPage = GetStartPage(offset); + AllocPage(m_RegionInfo[startPage], allocType); + + uint32_t endPage = GetEndPage(offset, size); + if (startPage != endPage) + AllocPage(m_RegionInfo[endPage], allocType); + } +} + +void VmaBlockBufferImageGranularity::FreePages(VkDeviceSize offset, VkDeviceSize size) +{ + if (IsEnabled()) + { + uint32_t startPage = GetStartPage(offset); + --m_RegionInfo[startPage].allocCount; + if (m_RegionInfo[startPage].allocCount == 0) + m_RegionInfo[startPage].allocType = VMA_SUBALLOCATION_TYPE_FREE; + uint32_t endPage = GetEndPage(offset, size); + if (startPage != endPage) + { + --m_RegionInfo[endPage].allocCount; + if (m_RegionInfo[endPage].allocCount == 0) + m_RegionInfo[endPage].allocType = VMA_SUBALLOCATION_TYPE_FREE; + } + } +} + +void VmaBlockBufferImageGranularity::Clear() +{ + if (m_RegionInfo) + memset(m_RegionInfo, 0, m_RegionCount * sizeof(RegionInfo)); +} + +VmaBlockBufferImageGranularity::ValidationContext VmaBlockBufferImageGranularity::StartValidation( + const VkAllocationCallbacks* pAllocationCallbacks, bool isVirutal) const +{ + ValidationContext ctx{ pAllocationCallbacks, VMA_NULL }; + if (!isVirutal && IsEnabled()) + { + ctx.pageAllocs = vma_new_array(pAllocationCallbacks, uint16_t, m_RegionCount); + memset(ctx.pageAllocs, 0, m_RegionCount * sizeof(uint16_t)); + } + return ctx; +} + +bool VmaBlockBufferImageGranularity::Validate(ValidationContext& ctx, + VkDeviceSize offset, VkDeviceSize size) const +{ + if (IsEnabled()) + { + uint32_t start = GetStartPage(offset); + ++ctx.pageAllocs[start]; + VMA_VALIDATE(m_RegionInfo[start].allocCount > 0); + + uint32_t end = GetEndPage(offset, size); + if (start != end) + { + ++ctx.pageAllocs[end]; + VMA_VALIDATE(m_RegionInfo[end].allocCount > 0); + } + } + return true; +} + +bool VmaBlockBufferImageGranularity::FinishValidation(ValidationContext& ctx) const +{ + // Check proper page structure + if (IsEnabled()) + { + VMA_ASSERT(ctx.pageAllocs != VMA_NULL && "Validation context not initialized!"); + + for (uint32_t page = 0; page < m_RegionCount; ++page) + { + VMA_VALIDATE(ctx.pageAllocs[page] == m_RegionInfo[page].allocCount); + } + vma_delete_array(ctx.allocCallbacks, ctx.pageAllocs, m_RegionCount); + ctx.pageAllocs = VMA_NULL; + } + return true; +} + +uint32_t VmaBlockBufferImageGranularity::OffsetToPageIndex(VkDeviceSize offset) const +{ + return static_cast(offset >> VMA_BITSCAN_MSB(m_BufferImageGranularity)); +} + +void VmaBlockBufferImageGranularity::AllocPage(RegionInfo& page, uint8_t allocType) +{ + // When current alloc type is free then it can be overriden by new type + if (page.allocCount == 0 || (page.allocCount > 0 && page.allocType == VMA_SUBALLOCATION_TYPE_FREE)) + page.allocType = allocType; + + ++page.allocCount; +} +#endif // _VMA_BLOCK_BUFFER_IMAGE_GRANULARITY_FUNCTIONS +#endif // _VMA_BLOCK_BUFFER_IMAGE_GRANULARITY + +#if 0 +#ifndef _VMA_BLOCK_METADATA_GENERIC +class VmaBlockMetadata_Generic : public VmaBlockMetadata +{ + friend class VmaDefragmentationAlgorithm_Generic; + friend class VmaDefragmentationAlgorithm_Fast; + VMA_CLASS_NO_COPY(VmaBlockMetadata_Generic) +public: + VmaBlockMetadata_Generic(const VkAllocationCallbacks* pAllocationCallbacks, + VkDeviceSize bufferImageGranularity, bool isVirtual); + virtual ~VmaBlockMetadata_Generic() = default; + + size_t GetAllocationCount() const override { return m_Suballocations.size() - m_FreeCount; } + VkDeviceSize GetSumFreeSize() const override { return m_SumFreeSize; } + bool IsEmpty() const override { return (m_Suballocations.size() == 1) && (m_FreeCount == 1); } + void Free(VmaAllocHandle allocHandle) override { FreeSuballocation(FindAtOffset((VkDeviceSize)allocHandle - 1)); } + VkDeviceSize GetAllocationOffset(VmaAllocHandle allocHandle) const override { return (VkDeviceSize)allocHandle - 1; }; + + void Init(VkDeviceSize size) override; + bool Validate() const override; + + void AddDetailedStatistics(VmaDetailedStatistics& inoutStats) const override; + void AddStatistics(VmaStatistics& inoutStats) const override; + +#if VMA_STATS_STRING_ENABLED + void PrintDetailedMap(class VmaJsonWriter& json, uint32_t mapRefCount) const override; +#endif + + bool CreateAllocationRequest( + VkDeviceSize allocSize, + VkDeviceSize allocAlignment, + bool upperAddress, + VmaSuballocationType allocType, + uint32_t strategy, + VmaAllocationRequest* pAllocationRequest) override; + + VkResult CheckCorruption(const void* pBlockData) override; + + void Alloc( + const VmaAllocationRequest& request, + VmaSuballocationType type, + void* userData) override; + + void GetAllocationInfo(VmaAllocHandle allocHandle, VmaVirtualAllocationInfo& outInfo) override; + void* GetAllocationUserData(VmaAllocHandle allocHandle) const override; + VmaAllocHandle GetAllocationListBegin() const override; + VmaAllocHandle GetNextAllocation(VmaAllocHandle prevAlloc) const override; + void Clear() override; + void SetAllocationUserData(VmaAllocHandle allocHandle, void* userData) override; + void DebugLogAllAllocations() const override; + +private: + uint32_t m_FreeCount; + VkDeviceSize m_SumFreeSize; + VmaSuballocationList m_Suballocations; + // Suballocations that are free. Sorted by size, ascending. + VmaVector> m_FreeSuballocationsBySize; + + VkDeviceSize AlignAllocationSize(VkDeviceSize size) const { return IsVirtual() ? size : VmaAlignUp(size, (VkDeviceSize)16); } + + VmaSuballocationList::iterator FindAtOffset(VkDeviceSize offset) const; + bool ValidateFreeSuballocationList() const; + + // Checks if requested suballocation with given parameters can be placed in given pFreeSuballocItem. + // If yes, fills pOffset and returns true. If no, returns false. + bool CheckAllocation( + VkDeviceSize allocSize, + VkDeviceSize allocAlignment, + VmaSuballocationType allocType, + VmaSuballocationList::const_iterator suballocItem, + VmaAllocHandle* pAllocHandle) const; + + // Given free suballocation, it merges it with following one, which must also be free. + void MergeFreeWithNext(VmaSuballocationList::iterator item); + // Releases given suballocation, making it free. + // Merges it with adjacent free suballocations if applicable. + // Returns iterator to new free suballocation at this place. + VmaSuballocationList::iterator FreeSuballocation(VmaSuballocationList::iterator suballocItem); + // Given free suballocation, it inserts it into sorted list of + // m_FreeSuballocationsBySize if it is suitable. + void RegisterFreeSuballocation(VmaSuballocationList::iterator item); + // Given free suballocation, it removes it from sorted list of + // m_FreeSuballocationsBySize if it is suitable. + void UnregisterFreeSuballocation(VmaSuballocationList::iterator item); +}; + +#ifndef _VMA_BLOCK_METADATA_GENERIC_FUNCTIONS +VmaBlockMetadata_Generic::VmaBlockMetadata_Generic(const VkAllocationCallbacks* pAllocationCallbacks, + VkDeviceSize bufferImageGranularity, bool isVirtual) + : VmaBlockMetadata(pAllocationCallbacks, bufferImageGranularity, isVirtual), + m_FreeCount(0), + m_SumFreeSize(0), + m_Suballocations(VmaStlAllocator(pAllocationCallbacks)), + m_FreeSuballocationsBySize(VmaStlAllocator(pAllocationCallbacks)) {} + +void VmaBlockMetadata_Generic::Init(VkDeviceSize size) +{ + VmaBlockMetadata::Init(size); + + m_FreeCount = 1; + m_SumFreeSize = size; + + VmaSuballocation suballoc = {}; + suballoc.offset = 0; + suballoc.size = size; + suballoc.type = VMA_SUBALLOCATION_TYPE_FREE; + + m_Suballocations.push_back(suballoc); + m_FreeSuballocationsBySize.push_back(m_Suballocations.begin()); +} + +bool VmaBlockMetadata_Generic::Validate() const +{ + VMA_VALIDATE(!m_Suballocations.empty()); + + // Expected offset of new suballocation as calculated from previous ones. + VkDeviceSize calculatedOffset = 0; + // Expected number of free suballocations as calculated from traversing their list. + uint32_t calculatedFreeCount = 0; + // Expected sum size of free suballocations as calculated from traversing their list. + VkDeviceSize calculatedSumFreeSize = 0; + // Expected number of free suballocations that should be registered in + // m_FreeSuballocationsBySize calculated from traversing their list. + size_t freeSuballocationsToRegister = 0; + // True if previous visited suballocation was free. + bool prevFree = false; + + const VkDeviceSize debugMargin = GetDebugMargin(); + + for (const auto& subAlloc : m_Suballocations) + { + // Actual offset of this suballocation doesn't match expected one. + VMA_VALIDATE(subAlloc.offset == calculatedOffset); + + const bool currFree = (subAlloc.type == VMA_SUBALLOCATION_TYPE_FREE); + // Two adjacent free suballocations are invalid. They should be merged. + VMA_VALIDATE(!prevFree || !currFree); + + VmaAllocation alloc = (VmaAllocation)subAlloc.userData; + if (!IsVirtual()) + { + VMA_VALIDATE(currFree == (alloc == VK_NULL_HANDLE)); + } + + if (currFree) + { + calculatedSumFreeSize += subAlloc.size; + ++calculatedFreeCount; + ++freeSuballocationsToRegister; + + // Margin required between allocations - every free space must be at least that large. + VMA_VALIDATE(subAlloc.size >= debugMargin); + } + else + { + if (!IsVirtual()) + { + VMA_VALIDATE((VkDeviceSize)alloc->GetAllocHandle() == subAlloc.offset + 1); + VMA_VALIDATE(alloc->GetSize() == subAlloc.size); + } + + // Margin required between allocations - previous allocation must be free. + VMA_VALIDATE(debugMargin == 0 || prevFree); + } + + calculatedOffset += subAlloc.size; + prevFree = currFree; + } + + // Number of free suballocations registered in m_FreeSuballocationsBySize doesn't + // match expected one. + VMA_VALIDATE(m_FreeSuballocationsBySize.size() == freeSuballocationsToRegister); + + VkDeviceSize lastSize = 0; + for (size_t i = 0; i < m_FreeSuballocationsBySize.size(); ++i) + { + VmaSuballocationList::iterator suballocItem = m_FreeSuballocationsBySize[i]; + + // Only free suballocations can be registered in m_FreeSuballocationsBySize. + VMA_VALIDATE(suballocItem->type == VMA_SUBALLOCATION_TYPE_FREE); + // They must be sorted by size ascending. + VMA_VALIDATE(suballocItem->size >= lastSize); + + lastSize = suballocItem->size; + } + + // Check if totals match calculated values. + VMA_VALIDATE(ValidateFreeSuballocationList()); + VMA_VALIDATE(calculatedOffset == GetSize()); + VMA_VALIDATE(calculatedSumFreeSize == m_SumFreeSize); + VMA_VALIDATE(calculatedFreeCount == m_FreeCount); + + return true; +} + +void VmaBlockMetadata_Generic::AddDetailedStatistics(VmaDetailedStatistics& inoutStats) const +{ + const uint32_t rangeCount = (uint32_t)m_Suballocations.size(); + inoutStats.statistics.blockCount++; + inoutStats.statistics.blockBytes += GetSize(); + + for (const auto& suballoc : m_Suballocations) + { + if (suballoc.type != VMA_SUBALLOCATION_TYPE_FREE) + VmaAddDetailedStatisticsAllocation(inoutStats, suballoc.size); + else + VmaAddDetailedStatisticsUnusedRange(inoutStats, suballoc.size); + } +} + +void VmaBlockMetadata_Generic::AddStatistics(VmaStatistics& inoutStats) const +{ + inoutStats.blockCount++; + inoutStats.allocationCount += (uint32_t)m_Suballocations.size() - m_FreeCount; + inoutStats.blockBytes += GetSize(); + inoutStats.allocationBytes += GetSize() - m_SumFreeSize; +} + +#if VMA_STATS_STRING_ENABLED +void VmaBlockMetadata_Generic::PrintDetailedMap(class VmaJsonWriter& json, uint32_t mapRefCount) const +{ + PrintDetailedMap_Begin(json, + m_SumFreeSize, // unusedBytes + m_Suballocations.size() - (size_t)m_FreeCount, // allocationCount + m_FreeCount, // unusedRangeCount + mapRefCount); + + for (const auto& suballoc : m_Suballocations) + { + if (suballoc.type == VMA_SUBALLOCATION_TYPE_FREE) + { + PrintDetailedMap_UnusedRange(json, suballoc.offset, suballoc.size); + } + else + { + PrintDetailedMap_Allocation(json, suballoc.offset, suballoc.size, suballoc.userData); + } + } + + PrintDetailedMap_End(json); +} +#endif // VMA_STATS_STRING_ENABLED + +bool VmaBlockMetadata_Generic::CreateAllocationRequest( + VkDeviceSize allocSize, + VkDeviceSize allocAlignment, + bool upperAddress, + VmaSuballocationType allocType, + uint32_t strategy, + VmaAllocationRequest* pAllocationRequest) +{ + VMA_ASSERT(allocSize > 0); + VMA_ASSERT(!upperAddress); + VMA_ASSERT(allocType != VMA_SUBALLOCATION_TYPE_FREE); + VMA_ASSERT(pAllocationRequest != VMA_NULL); + VMA_HEAVY_ASSERT(Validate()); + + allocSize = AlignAllocationSize(allocSize); + + pAllocationRequest->type = VmaAllocationRequestType::Normal; + pAllocationRequest->size = allocSize; + + const VkDeviceSize debugMargin = GetDebugMargin(); + + // There is not enough total free space in this block to fulfill the request: Early return. + if (m_SumFreeSize < allocSize + debugMargin) + { + return false; + } + + // New algorithm, efficiently searching freeSuballocationsBySize. + const size_t freeSuballocCount = m_FreeSuballocationsBySize.size(); + if (freeSuballocCount > 0) + { + if (strategy == 0 || + strategy == VMA_ALLOCATION_CREATE_STRATEGY_MIN_MEMORY_BIT) + { + // Find first free suballocation with size not less than allocSize + debugMargin. + VmaSuballocationList::iterator* const it = VmaBinaryFindFirstNotLess( + m_FreeSuballocationsBySize.data(), + m_FreeSuballocationsBySize.data() + freeSuballocCount, + allocSize + debugMargin, + VmaSuballocationItemSizeLess()); + size_t index = it - m_FreeSuballocationsBySize.data(); + for (; index < freeSuballocCount; ++index) + { + if (CheckAllocation( + allocSize, + allocAlignment, + allocType, + m_FreeSuballocationsBySize[index], + &pAllocationRequest->allocHandle)) + { + pAllocationRequest->item = m_FreeSuballocationsBySize[index]; + return true; + } + } + } + else if (strategy == VMA_ALLOCATION_INTERNAL_STRATEGY_MIN_OFFSET) + { + for (VmaSuballocationList::iterator it = m_Suballocations.begin(); + it != m_Suballocations.end(); + ++it) + { + if (it->type == VMA_SUBALLOCATION_TYPE_FREE && CheckAllocation( + allocSize, + allocAlignment, + allocType, + it, + &pAllocationRequest->allocHandle)) + { + pAllocationRequest->item = it; + return true; + } + } + } + else + { + VMA_ASSERT(strategy & (VMA_ALLOCATION_CREATE_STRATEGY_MIN_TIME_BIT | VMA_ALLOCATION_CREATE_STRATEGY_MIN_OFFSET_BIT )); + // Search staring from biggest suballocations. + for (size_t index = freeSuballocCount; index--; ) + { + if (CheckAllocation( + allocSize, + allocAlignment, + allocType, + m_FreeSuballocationsBySize[index], + &pAllocationRequest->allocHandle)) + { + pAllocationRequest->item = m_FreeSuballocationsBySize[index]; + return true; + } + } + } + } + + return false; +} + +VkResult VmaBlockMetadata_Generic::CheckCorruption(const void* pBlockData) +{ + for (auto& suballoc : m_Suballocations) + { + if (suballoc.type != VMA_SUBALLOCATION_TYPE_FREE) + { + if (!VmaValidateMagicValue(pBlockData, suballoc.offset + suballoc.size)) + { + VMA_ASSERT(0 && "MEMORY CORRUPTION DETECTED AFTER VALIDATED ALLOCATION!"); + return VK_ERROR_UNKNOWN_COPY; + } + } + } + + return VK_SUCCESS; +} + +void VmaBlockMetadata_Generic::Alloc( + const VmaAllocationRequest& request, + VmaSuballocationType type, + void* userData) +{ + VMA_ASSERT(request.type == VmaAllocationRequestType::Normal); + VMA_ASSERT(request.item != m_Suballocations.end()); + VmaSuballocation& suballoc = *request.item; + // Given suballocation is a free block. + VMA_ASSERT(suballoc.type == VMA_SUBALLOCATION_TYPE_FREE); + + // Given offset is inside this suballocation. + VMA_ASSERT((VkDeviceSize)request.allocHandle - 1 >= suballoc.offset); + const VkDeviceSize paddingBegin = (VkDeviceSize)request.allocHandle - suballoc.offset - 1; + VMA_ASSERT(suballoc.size >= paddingBegin + request.size); + const VkDeviceSize paddingEnd = suballoc.size - paddingBegin - request.size; + + // Unregister this free suballocation from m_FreeSuballocationsBySize and update + // it to become used. + UnregisterFreeSuballocation(request.item); + + suballoc.offset = (VkDeviceSize)request.allocHandle - 1; + suballoc.size = request.size; + suballoc.type = type; + suballoc.userData = userData; + + // If there are any free bytes remaining at the end, insert new free suballocation after current one. + if (paddingEnd) + { + VmaSuballocation paddingSuballoc = {}; + paddingSuballoc.offset = suballoc.offset + suballoc.size; + paddingSuballoc.size = paddingEnd; + paddingSuballoc.type = VMA_SUBALLOCATION_TYPE_FREE; + VmaSuballocationList::iterator next = request.item; + ++next; + const VmaSuballocationList::iterator paddingEndItem = + m_Suballocations.insert(next, paddingSuballoc); + RegisterFreeSuballocation(paddingEndItem); + } + + // If there are any free bytes remaining at the beginning, insert new free suballocation before current one. + if (paddingBegin) + { + VmaSuballocation paddingSuballoc = {}; + paddingSuballoc.offset = suballoc.offset - paddingBegin; + paddingSuballoc.size = paddingBegin; + paddingSuballoc.type = VMA_SUBALLOCATION_TYPE_FREE; + const VmaSuballocationList::iterator paddingBeginItem = + m_Suballocations.insert(request.item, paddingSuballoc); + RegisterFreeSuballocation(paddingBeginItem); + } + + // Update totals. + m_FreeCount = m_FreeCount - 1; + if (paddingBegin > 0) + { + ++m_FreeCount; + } + if (paddingEnd > 0) + { + ++m_FreeCount; + } + m_SumFreeSize -= request.size; +} + +void VmaBlockMetadata_Generic::GetAllocationInfo(VmaAllocHandle allocHandle, VmaVirtualAllocationInfo& outInfo) +{ + outInfo.offset = (VkDeviceSize)allocHandle - 1; + const VmaSuballocation& suballoc = *FindAtOffset(outInfo.offset); + outInfo.size = suballoc.size; + outInfo.pUserData = suballoc.userData; +} + +void* VmaBlockMetadata_Generic::GetAllocationUserData(VmaAllocHandle allocHandle) const +{ + return FindAtOffset((VkDeviceSize)allocHandle - 1)->userData; +} + +VmaAllocHandle VmaBlockMetadata_Generic::GetAllocationListBegin() const +{ + if (IsEmpty()) + return VK_NULL_HANDLE; + + for (const auto& suballoc : m_Suballocations) + { + if (suballoc.type != VMA_SUBALLOCATION_TYPE_FREE) + return (VmaAllocHandle)(suballoc.offset + 1); + } + VMA_ASSERT(false && "Should contain at least 1 allocation!"); + return VK_NULL_HANDLE; +} + +VmaAllocHandle VmaBlockMetadata_Generic::GetNextAllocation(VmaAllocHandle prevAlloc) const +{ + VmaSuballocationList::const_iterator prev = FindAtOffset((VkDeviceSize)prevAlloc - 1); + + for (VmaSuballocationList::const_iterator it = ++prev; it != m_Suballocations.end(); ++it) + { + if (it->type != VMA_SUBALLOCATION_TYPE_FREE) + return (VmaAllocHandle)(it->offset + 1); + } + return VK_NULL_HANDLE; +} + +void VmaBlockMetadata_Generic::Clear() +{ + const VkDeviceSize size = GetSize(); + + VMA_ASSERT(IsVirtual()); + m_FreeCount = 1; + m_SumFreeSize = size; + m_Suballocations.clear(); + m_FreeSuballocationsBySize.clear(); + + VmaSuballocation suballoc = {}; + suballoc.offset = 0; + suballoc.size = size; + suballoc.type = VMA_SUBALLOCATION_TYPE_FREE; + m_Suballocations.push_back(suballoc); + + m_FreeSuballocationsBySize.push_back(m_Suballocations.begin()); +} + +void VmaBlockMetadata_Generic::SetAllocationUserData(VmaAllocHandle allocHandle, void* userData) +{ + VmaSuballocation& suballoc = *FindAtOffset((VkDeviceSize)allocHandle - 1); + suballoc.userData = userData; +} + +void VmaBlockMetadata_Generic::DebugLogAllAllocations() const +{ + for (const auto& suballoc : m_Suballocations) + { + if (suballoc.type != VMA_SUBALLOCATION_TYPE_FREE) + DebugLogAllocation(suballoc.offset, suballoc.size, suballoc.userData); + } +} + +VmaSuballocationList::iterator VmaBlockMetadata_Generic::FindAtOffset(VkDeviceSize offset) const +{ + VMA_HEAVY_ASSERT(!m_Suballocations.empty()); + const VkDeviceSize last = m_Suballocations.rbegin()->offset; + if (last == offset) + return m_Suballocations.rbegin().drop_const(); + const VkDeviceSize first = m_Suballocations.begin()->offset; + if (first == offset) + return m_Suballocations.begin().drop_const(); + + const size_t suballocCount = m_Suballocations.size(); + const VkDeviceSize step = (last - first + m_Suballocations.begin()->size) / suballocCount; + auto findSuballocation = [&](auto begin, auto end) -> VmaSuballocationList::iterator + { + for (auto suballocItem = begin; + suballocItem != end; + ++suballocItem) + { + if (suballocItem->offset == offset) + return suballocItem.drop_const(); + } + VMA_ASSERT(false && "Not found!"); + return m_Suballocations.end().drop_const(); + }; + // If requested offset is closer to the end of range, search from the end + if (offset - first > suballocCount * step / 2) + { + return findSuballocation(m_Suballocations.rbegin(), m_Suballocations.rend()); + } + return findSuballocation(m_Suballocations.begin(), m_Suballocations.end()); +} + +bool VmaBlockMetadata_Generic::ValidateFreeSuballocationList() const +{ + VkDeviceSize lastSize = 0; + for (size_t i = 0, count = m_FreeSuballocationsBySize.size(); i < count; ++i) + { + const VmaSuballocationList::iterator it = m_FreeSuballocationsBySize[i]; + + VMA_VALIDATE(it->type == VMA_SUBALLOCATION_TYPE_FREE); + VMA_VALIDATE(it->size >= lastSize); + lastSize = it->size; + } + return true; +} + +bool VmaBlockMetadata_Generic::CheckAllocation( + VkDeviceSize allocSize, + VkDeviceSize allocAlignment, + VmaSuballocationType allocType, + VmaSuballocationList::const_iterator suballocItem, + VmaAllocHandle* pAllocHandle) const +{ + VMA_ASSERT(allocSize > 0); + VMA_ASSERT(allocType != VMA_SUBALLOCATION_TYPE_FREE); + VMA_ASSERT(suballocItem != m_Suballocations.cend()); + VMA_ASSERT(pAllocHandle != VMA_NULL); + + const VkDeviceSize debugMargin = GetDebugMargin(); + const VkDeviceSize bufferImageGranularity = GetBufferImageGranularity(); + + const VmaSuballocation& suballoc = *suballocItem; + VMA_ASSERT(suballoc.type == VMA_SUBALLOCATION_TYPE_FREE); + + // Size of this suballocation is too small for this request: Early return. + if (suballoc.size < allocSize) + { + return false; + } + + // Start from offset equal to beginning of this suballocation. + VkDeviceSize offset = suballoc.offset + (suballocItem == m_Suballocations.cbegin() ? 0 : GetDebugMargin()); + + // Apply debugMargin from the end of previous alloc. + if (debugMargin > 0) + { + offset += debugMargin; + } + + // Apply alignment. + offset = VmaAlignUp(offset, allocAlignment); + + // Check previous suballocations for BufferImageGranularity conflicts. + // Make bigger alignment if necessary. + if (bufferImageGranularity > 1 && bufferImageGranularity != allocAlignment) + { + bool bufferImageGranularityConflict = false; + VmaSuballocationList::const_iterator prevSuballocItem = suballocItem; + while (prevSuballocItem != m_Suballocations.cbegin()) + { + --prevSuballocItem; + const VmaSuballocation& prevSuballoc = *prevSuballocItem; + if (VmaBlocksOnSamePage(prevSuballoc.offset, prevSuballoc.size, offset, bufferImageGranularity)) + { + if (VmaIsBufferImageGranularityConflict(prevSuballoc.type, allocType)) + { + bufferImageGranularityConflict = true; + break; + } + } + else + // Already on previous page. + break; + } + if (bufferImageGranularityConflict) + { + offset = VmaAlignUp(offset, bufferImageGranularity); + } + } + + // Calculate padding at the beginning based on current offset. + const VkDeviceSize paddingBegin = offset - suballoc.offset; + + // Fail if requested size plus margin after is bigger than size of this suballocation. + if (paddingBegin + allocSize + debugMargin > suballoc.size) + { + return false; + } + + // Check next suballocations for BufferImageGranularity conflicts. + // If conflict exists, allocation cannot be made here. + if (allocSize % bufferImageGranularity || offset % bufferImageGranularity) + { + VmaSuballocationList::const_iterator nextSuballocItem = suballocItem; + ++nextSuballocItem; + while (nextSuballocItem != m_Suballocations.cend()) + { + const VmaSuballocation& nextSuballoc = *nextSuballocItem; + if (VmaBlocksOnSamePage(offset, allocSize, nextSuballoc.offset, bufferImageGranularity)) + { + if (VmaIsBufferImageGranularityConflict(allocType, nextSuballoc.type)) + { + return false; + } + } + else + { + // Already on next page. + break; + } + ++nextSuballocItem; + } + } + + *pAllocHandle = (VmaAllocHandle)(offset + 1); + // All tests passed: Success. pAllocHandle is already filled. + return true; +} + +void VmaBlockMetadata_Generic::MergeFreeWithNext(VmaSuballocationList::iterator item) +{ + VMA_ASSERT(item != m_Suballocations.end()); + VMA_ASSERT(item->type == VMA_SUBALLOCATION_TYPE_FREE); + + VmaSuballocationList::iterator nextItem = item; + ++nextItem; + VMA_ASSERT(nextItem != m_Suballocations.end()); + VMA_ASSERT(nextItem->type == VMA_SUBALLOCATION_TYPE_FREE); + + item->size += nextItem->size; + --m_FreeCount; + m_Suballocations.erase(nextItem); +} + +VmaSuballocationList::iterator VmaBlockMetadata_Generic::FreeSuballocation(VmaSuballocationList::iterator suballocItem) +{ + // Change this suballocation to be marked as free. + VmaSuballocation& suballoc = *suballocItem; + suballoc.type = VMA_SUBALLOCATION_TYPE_FREE; + suballoc.userData = VMA_NULL; + + // Update totals. + ++m_FreeCount; + m_SumFreeSize += suballoc.size; + + // Merge with previous and/or next suballocation if it's also free. + bool mergeWithNext = false; + bool mergeWithPrev = false; + + VmaSuballocationList::iterator nextItem = suballocItem; + ++nextItem; + if ((nextItem != m_Suballocations.end()) && (nextItem->type == VMA_SUBALLOCATION_TYPE_FREE)) + { + mergeWithNext = true; + } + + VmaSuballocationList::iterator prevItem = suballocItem; + if (suballocItem != m_Suballocations.begin()) + { + --prevItem; + if (prevItem->type == VMA_SUBALLOCATION_TYPE_FREE) + { + mergeWithPrev = true; + } + } + + if (mergeWithNext) + { + UnregisterFreeSuballocation(nextItem); + MergeFreeWithNext(suballocItem); + } + + if (mergeWithPrev) + { + UnregisterFreeSuballocation(prevItem); + MergeFreeWithNext(prevItem); + RegisterFreeSuballocation(prevItem); + return prevItem; + } + else + { + RegisterFreeSuballocation(suballocItem); + return suballocItem; + } +} + +void VmaBlockMetadata_Generic::RegisterFreeSuballocation(VmaSuballocationList::iterator item) +{ + VMA_ASSERT(item->type == VMA_SUBALLOCATION_TYPE_FREE); + VMA_ASSERT(item->size > 0); + + // You may want to enable this validation at the beginning or at the end of + // this function, depending on what do you want to check. + VMA_HEAVY_ASSERT(ValidateFreeSuballocationList()); + + if (m_FreeSuballocationsBySize.empty()) + { + m_FreeSuballocationsBySize.push_back(item); + } + else + { + VmaVectorInsertSorted(m_FreeSuballocationsBySize, item); + } + + //VMA_HEAVY_ASSERT(ValidateFreeSuballocationList()); +} + +void VmaBlockMetadata_Generic::UnregisterFreeSuballocation(VmaSuballocationList::iterator item) +{ + VMA_ASSERT(item->type == VMA_SUBALLOCATION_TYPE_FREE); + VMA_ASSERT(item->size > 0); + + // You may want to enable this validation at the beginning or at the end of + // this function, depending on what do you want to check. + VMA_HEAVY_ASSERT(ValidateFreeSuballocationList()); + + VmaSuballocationList::iterator* const it = VmaBinaryFindFirstNotLess( + m_FreeSuballocationsBySize.data(), + m_FreeSuballocationsBySize.data() + m_FreeSuballocationsBySize.size(), + item, + VmaSuballocationItemSizeLess()); + for (size_t index = it - m_FreeSuballocationsBySize.data(); + index < m_FreeSuballocationsBySize.size(); + ++index) + { + if (m_FreeSuballocationsBySize[index] == item) + { + VmaVectorRemove(m_FreeSuballocationsBySize, index); + return; + } + VMA_ASSERT((m_FreeSuballocationsBySize[index]->size == item->size) && "Not found."); + } + VMA_ASSERT(0 && "Not found."); + + //VMA_HEAVY_ASSERT(ValidateFreeSuballocationList()); +} +#endif // _VMA_BLOCK_METADATA_GENERIC_FUNCTIONS +#endif // _VMA_BLOCK_METADATA_GENERIC +#endif // #if 0 + +#ifndef _VMA_BLOCK_METADATA_LINEAR +/* +Allocations and their references in internal data structure look like this: + +if(m_2ndVectorMode == SECOND_VECTOR_EMPTY): + + 0 +-------+ + | | + | | + | | + +-------+ + | Alloc | 1st[m_1stNullItemsBeginCount] + +-------+ + | Alloc | 1st[m_1stNullItemsBeginCount + 1] + +-------+ + | ... | + +-------+ + | Alloc | 1st[1st.size() - 1] + +-------+ + | | + | | + | | +GetSize() +-------+ + +if(m_2ndVectorMode == SECOND_VECTOR_RING_BUFFER): + + 0 +-------+ + | Alloc | 2nd[0] + +-------+ + | Alloc | 2nd[1] + +-------+ + | ... | + +-------+ + | Alloc | 2nd[2nd.size() - 1] + +-------+ + | | + | | + | | + +-------+ + | Alloc | 1st[m_1stNullItemsBeginCount] + +-------+ + | Alloc | 1st[m_1stNullItemsBeginCount + 1] + +-------+ + | ... | + +-------+ + | Alloc | 1st[1st.size() - 1] + +-------+ + | | +GetSize() +-------+ + +if(m_2ndVectorMode == SECOND_VECTOR_DOUBLE_STACK): + + 0 +-------+ + | | + | | + | | + +-------+ + | Alloc | 1st[m_1stNullItemsBeginCount] + +-------+ + | Alloc | 1st[m_1stNullItemsBeginCount + 1] + +-------+ + | ... | + +-------+ + | Alloc | 1st[1st.size() - 1] + +-------+ + | | + | | + | | + +-------+ + | Alloc | 2nd[2nd.size() - 1] + +-------+ + | ... | + +-------+ + | Alloc | 2nd[1] + +-------+ + | Alloc | 2nd[0] +GetSize() +-------+ + +*/ +class VmaBlockMetadata_Linear : public VmaBlockMetadata +{ + VMA_CLASS_NO_COPY(VmaBlockMetadata_Linear) +public: + VmaBlockMetadata_Linear(const VkAllocationCallbacks* pAllocationCallbacks, + VkDeviceSize bufferImageGranularity, bool isVirtual); + virtual ~VmaBlockMetadata_Linear() = default; + + VkDeviceSize GetSumFreeSize() const override { return m_SumFreeSize; } + bool IsEmpty() const override { return GetAllocationCount() == 0; } + VkDeviceSize GetAllocationOffset(VmaAllocHandle allocHandle) const override { return (VkDeviceSize)allocHandle - 1; }; + + void Init(VkDeviceSize size) override; + bool Validate() const override; + size_t GetAllocationCount() const override; + size_t GetFreeRegionsCount() const override; + + void AddDetailedStatistics(VmaDetailedStatistics& inoutStats) const override; + void AddStatistics(VmaStatistics& inoutStats) const override; + +#if VMA_STATS_STRING_ENABLED + void PrintDetailedMap(class VmaJsonWriter& json) const override; +#endif + + bool CreateAllocationRequest( + VkDeviceSize allocSize, + VkDeviceSize allocAlignment, + bool upperAddress, + VmaSuballocationType allocType, + uint32_t strategy, + VmaAllocationRequest* pAllocationRequest) override; + + VkResult CheckCorruption(const void* pBlockData) override; + + void Alloc( + const VmaAllocationRequest& request, + VmaSuballocationType type, + void* userData) override; + + void Free(VmaAllocHandle allocHandle) override; + void GetAllocationInfo(VmaAllocHandle allocHandle, VmaVirtualAllocationInfo& outInfo) override; + void* GetAllocationUserData(VmaAllocHandle allocHandle) const override; + VmaAllocHandle GetAllocationListBegin() const override; + VmaAllocHandle GetNextAllocation(VmaAllocHandle prevAlloc) const override; + VkDeviceSize GetNextFreeRegionSize(VmaAllocHandle alloc) const override; + void Clear() override; + void SetAllocationUserData(VmaAllocHandle allocHandle, void* userData) override; + void DebugLogAllAllocations() const override; + +private: + /* + There are two suballocation vectors, used in ping-pong way. + The one with index m_1stVectorIndex is called 1st. + The one with index (m_1stVectorIndex ^ 1) is called 2nd. + 2nd can be non-empty only when 1st is not empty. + When 2nd is not empty, m_2ndVectorMode indicates its mode of operation. + */ + typedef VmaVector> SuballocationVectorType; + + enum SECOND_VECTOR_MODE + { + SECOND_VECTOR_EMPTY, + /* + Suballocations in 2nd vector are created later than the ones in 1st, but they + all have smaller offset. + */ + SECOND_VECTOR_RING_BUFFER, + /* + Suballocations in 2nd vector are upper side of double stack. + They all have offsets higher than those in 1st vector. + Top of this stack means smaller offsets, but higher indices in this vector. + */ + SECOND_VECTOR_DOUBLE_STACK, + }; + + VkDeviceSize m_SumFreeSize; + SuballocationVectorType m_Suballocations0, m_Suballocations1; + uint32_t m_1stVectorIndex; + SECOND_VECTOR_MODE m_2ndVectorMode; + // Number of items in 1st vector with hAllocation = null at the beginning. + size_t m_1stNullItemsBeginCount; + // Number of other items in 1st vector with hAllocation = null somewhere in the middle. + size_t m_1stNullItemsMiddleCount; + // Number of items in 2nd vector with hAllocation = null. + size_t m_2ndNullItemsCount; + + SuballocationVectorType& AccessSuballocations1st() { return m_1stVectorIndex ? m_Suballocations1 : m_Suballocations0; } + SuballocationVectorType& AccessSuballocations2nd() { return m_1stVectorIndex ? m_Suballocations0 : m_Suballocations1; } + const SuballocationVectorType& AccessSuballocations1st() const { return m_1stVectorIndex ? m_Suballocations1 : m_Suballocations0; } + const SuballocationVectorType& AccessSuballocations2nd() const { return m_1stVectorIndex ? m_Suballocations0 : m_Suballocations1; } + + VmaSuballocation& FindSuballocation(VkDeviceSize offset) const; + bool ShouldCompact1st() const; + void CleanupAfterFree(); + + bool CreateAllocationRequest_LowerAddress( + VkDeviceSize allocSize, + VkDeviceSize allocAlignment, + VmaSuballocationType allocType, + uint32_t strategy, + VmaAllocationRequest* pAllocationRequest); + bool CreateAllocationRequest_UpperAddress( + VkDeviceSize allocSize, + VkDeviceSize allocAlignment, + VmaSuballocationType allocType, + uint32_t strategy, + VmaAllocationRequest* pAllocationRequest); +}; + +#ifndef _VMA_BLOCK_METADATA_LINEAR_FUNCTIONS +VmaBlockMetadata_Linear::VmaBlockMetadata_Linear(const VkAllocationCallbacks* pAllocationCallbacks, + VkDeviceSize bufferImageGranularity, bool isVirtual) + : VmaBlockMetadata(pAllocationCallbacks, bufferImageGranularity, isVirtual), + m_SumFreeSize(0), + m_Suballocations0(VmaStlAllocator(pAllocationCallbacks)), + m_Suballocations1(VmaStlAllocator(pAllocationCallbacks)), + m_1stVectorIndex(0), + m_2ndVectorMode(SECOND_VECTOR_EMPTY), + m_1stNullItemsBeginCount(0), + m_1stNullItemsMiddleCount(0), + m_2ndNullItemsCount(0) {} + +void VmaBlockMetadata_Linear::Init(VkDeviceSize size) +{ + VmaBlockMetadata::Init(size); + m_SumFreeSize = size; +} + +bool VmaBlockMetadata_Linear::Validate() const +{ + const SuballocationVectorType& suballocations1st = AccessSuballocations1st(); + const SuballocationVectorType& suballocations2nd = AccessSuballocations2nd(); + + VMA_VALIDATE(suballocations2nd.empty() == (m_2ndVectorMode == SECOND_VECTOR_EMPTY)); + VMA_VALIDATE(!suballocations1st.empty() || + suballocations2nd.empty() || + m_2ndVectorMode != SECOND_VECTOR_RING_BUFFER); + + if (!suballocations1st.empty()) + { + // Null item at the beginning should be accounted into m_1stNullItemsBeginCount. + VMA_VALIDATE(suballocations1st[m_1stNullItemsBeginCount].type != VMA_SUBALLOCATION_TYPE_FREE); + // Null item at the end should be just pop_back(). + VMA_VALIDATE(suballocations1st.back().type != VMA_SUBALLOCATION_TYPE_FREE); + } + if (!suballocations2nd.empty()) + { + // Null item at the end should be just pop_back(). + VMA_VALIDATE(suballocations2nd.back().type != VMA_SUBALLOCATION_TYPE_FREE); + } + + VMA_VALIDATE(m_1stNullItemsBeginCount + m_1stNullItemsMiddleCount <= suballocations1st.size()); + VMA_VALIDATE(m_2ndNullItemsCount <= suballocations2nd.size()); + + VkDeviceSize sumUsedSize = 0; + const size_t suballoc1stCount = suballocations1st.size(); + const VkDeviceSize debugMargin = GetDebugMargin(); + VkDeviceSize offset = 0; + + if (m_2ndVectorMode == SECOND_VECTOR_RING_BUFFER) + { + const size_t suballoc2ndCount = suballocations2nd.size(); + size_t nullItem2ndCount = 0; + for (size_t i = 0; i < suballoc2ndCount; ++i) + { + const VmaSuballocation& suballoc = suballocations2nd[i]; + const bool currFree = (suballoc.type == VMA_SUBALLOCATION_TYPE_FREE); + + VmaAllocation const alloc = (VmaAllocation)suballoc.userData; + if (!IsVirtual()) + { + VMA_VALIDATE(currFree == (alloc == VK_NULL_HANDLE)); + } + VMA_VALIDATE(suballoc.offset >= offset); + + if (!currFree) + { + if (!IsVirtual()) + { + VMA_VALIDATE((VkDeviceSize)alloc->GetAllocHandle() == suballoc.offset + 1); + VMA_VALIDATE(alloc->GetSize() == suballoc.size); + } + sumUsedSize += suballoc.size; + } + else + { + ++nullItem2ndCount; + } + + offset = suballoc.offset + suballoc.size + debugMargin; + } + + VMA_VALIDATE(nullItem2ndCount == m_2ndNullItemsCount); + } + + for (size_t i = 0; i < m_1stNullItemsBeginCount; ++i) + { + const VmaSuballocation& suballoc = suballocations1st[i]; + VMA_VALIDATE(suballoc.type == VMA_SUBALLOCATION_TYPE_FREE && + suballoc.userData == VMA_NULL); + } + + size_t nullItem1stCount = m_1stNullItemsBeginCount; + + for (size_t i = m_1stNullItemsBeginCount; i < suballoc1stCount; ++i) + { + const VmaSuballocation& suballoc = suballocations1st[i]; + const bool currFree = (suballoc.type == VMA_SUBALLOCATION_TYPE_FREE); + + VmaAllocation const alloc = (VmaAllocation)suballoc.userData; + if (!IsVirtual()) + { + VMA_VALIDATE(currFree == (alloc == VK_NULL_HANDLE)); + } + VMA_VALIDATE(suballoc.offset >= offset); + VMA_VALIDATE(i >= m_1stNullItemsBeginCount || currFree); + + if (!currFree) + { + if (!IsVirtual()) + { + VMA_VALIDATE((VkDeviceSize)alloc->GetAllocHandle() == suballoc.offset + 1); + VMA_VALIDATE(alloc->GetSize() == suballoc.size); + } + sumUsedSize += suballoc.size; + } + else + { + ++nullItem1stCount; + } + + offset = suballoc.offset + suballoc.size + debugMargin; + } + VMA_VALIDATE(nullItem1stCount == m_1stNullItemsBeginCount + m_1stNullItemsMiddleCount); + + if (m_2ndVectorMode == SECOND_VECTOR_DOUBLE_STACK) + { + const size_t suballoc2ndCount = suballocations2nd.size(); + size_t nullItem2ndCount = 0; + for (size_t i = suballoc2ndCount; i--; ) + { + const VmaSuballocation& suballoc = suballocations2nd[i]; + const bool currFree = (suballoc.type == VMA_SUBALLOCATION_TYPE_FREE); + + VmaAllocation const alloc = (VmaAllocation)suballoc.userData; + if (!IsVirtual()) + { + VMA_VALIDATE(currFree == (alloc == VK_NULL_HANDLE)); + } + VMA_VALIDATE(suballoc.offset >= offset); + + if (!currFree) + { + if (!IsVirtual()) + { + VMA_VALIDATE((VkDeviceSize)alloc->GetAllocHandle() == suballoc.offset + 1); + VMA_VALIDATE(alloc->GetSize() == suballoc.size); + } + sumUsedSize += suballoc.size; + } + else + { + ++nullItem2ndCount; + } + + offset = suballoc.offset + suballoc.size + debugMargin; + } + + VMA_VALIDATE(nullItem2ndCount == m_2ndNullItemsCount); + } + + VMA_VALIDATE(offset <= GetSize()); + VMA_VALIDATE(m_SumFreeSize == GetSize() - sumUsedSize); + + return true; +} + +size_t VmaBlockMetadata_Linear::GetAllocationCount() const +{ + return AccessSuballocations1st().size() - m_1stNullItemsBeginCount - m_1stNullItemsMiddleCount + + AccessSuballocations2nd().size() - m_2ndNullItemsCount; +} + +size_t VmaBlockMetadata_Linear::GetFreeRegionsCount() const +{ + // Function only used for defragmentation, which is disabled for this algorithm + VMA_ASSERT(0); + return SIZE_MAX; +} + +void VmaBlockMetadata_Linear::AddDetailedStatistics(VmaDetailedStatistics& inoutStats) const +{ + const VkDeviceSize size = GetSize(); + const SuballocationVectorType& suballocations1st = AccessSuballocations1st(); + const SuballocationVectorType& suballocations2nd = AccessSuballocations2nd(); + const size_t suballoc1stCount = suballocations1st.size(); + const size_t suballoc2ndCount = suballocations2nd.size(); + + inoutStats.statistics.blockCount++; + inoutStats.statistics.blockBytes += size; + + VkDeviceSize lastOffset = 0; + + if (m_2ndVectorMode == SECOND_VECTOR_RING_BUFFER) + { + const VkDeviceSize freeSpace2ndTo1stEnd = suballocations1st[m_1stNullItemsBeginCount].offset; + size_t nextAlloc2ndIndex = 0; + while (lastOffset < freeSpace2ndTo1stEnd) + { + // Find next non-null allocation or move nextAllocIndex to the end. + while (nextAlloc2ndIndex < suballoc2ndCount && + suballocations2nd[nextAlloc2ndIndex].userData == VMA_NULL) + { + ++nextAlloc2ndIndex; + } + + // Found non-null allocation. + if (nextAlloc2ndIndex < suballoc2ndCount) + { + const VmaSuballocation& suballoc = suballocations2nd[nextAlloc2ndIndex]; + + // 1. Process free space before this allocation. + if (lastOffset < suballoc.offset) + { + // There is free space from lastOffset to suballoc.offset. + const VkDeviceSize unusedRangeSize = suballoc.offset - lastOffset; + VmaAddDetailedStatisticsUnusedRange(inoutStats, unusedRangeSize); + } + + // 2. Process this allocation. + // There is allocation with suballoc.offset, suballoc.size. + VmaAddDetailedStatisticsAllocation(inoutStats, suballoc.size); + + // 3. Prepare for next iteration. + lastOffset = suballoc.offset + suballoc.size; + ++nextAlloc2ndIndex; + } + // We are at the end. + else + { + // There is free space from lastOffset to freeSpace2ndTo1stEnd. + if (lastOffset < freeSpace2ndTo1stEnd) + { + const VkDeviceSize unusedRangeSize = freeSpace2ndTo1stEnd - lastOffset; + VmaAddDetailedStatisticsUnusedRange(inoutStats, unusedRangeSize); + } + + // End of loop. + lastOffset = freeSpace2ndTo1stEnd; + } + } + } + + size_t nextAlloc1stIndex = m_1stNullItemsBeginCount; + const VkDeviceSize freeSpace1stTo2ndEnd = + m_2ndVectorMode == SECOND_VECTOR_DOUBLE_STACK ? suballocations2nd.back().offset : size; + while (lastOffset < freeSpace1stTo2ndEnd) + { + // Find next non-null allocation or move nextAllocIndex to the end. + while (nextAlloc1stIndex < suballoc1stCount && + suballocations1st[nextAlloc1stIndex].userData == VMA_NULL) + { + ++nextAlloc1stIndex; + } + + // Found non-null allocation. + if (nextAlloc1stIndex < suballoc1stCount) + { + const VmaSuballocation& suballoc = suballocations1st[nextAlloc1stIndex]; + + // 1. Process free space before this allocation. + if (lastOffset < suballoc.offset) + { + // There is free space from lastOffset to suballoc.offset. + const VkDeviceSize unusedRangeSize = suballoc.offset - lastOffset; + VmaAddDetailedStatisticsUnusedRange(inoutStats, unusedRangeSize); + } + + // 2. Process this allocation. + // There is allocation with suballoc.offset, suballoc.size. + VmaAddDetailedStatisticsAllocation(inoutStats, suballoc.size); + + // 3. Prepare for next iteration. + lastOffset = suballoc.offset + suballoc.size; + ++nextAlloc1stIndex; + } + // We are at the end. + else + { + // There is free space from lastOffset to freeSpace1stTo2ndEnd. + if (lastOffset < freeSpace1stTo2ndEnd) + { + const VkDeviceSize unusedRangeSize = freeSpace1stTo2ndEnd - lastOffset; + VmaAddDetailedStatisticsUnusedRange(inoutStats, unusedRangeSize); + } + + // End of loop. + lastOffset = freeSpace1stTo2ndEnd; + } + } + + if (m_2ndVectorMode == SECOND_VECTOR_DOUBLE_STACK) + { + size_t nextAlloc2ndIndex = suballocations2nd.size() - 1; + while (lastOffset < size) + { + // Find next non-null allocation or move nextAllocIndex to the end. + while (nextAlloc2ndIndex != SIZE_MAX && + suballocations2nd[nextAlloc2ndIndex].userData == VMA_NULL) + { + --nextAlloc2ndIndex; + } + + // Found non-null allocation. + if (nextAlloc2ndIndex != SIZE_MAX) + { + const VmaSuballocation& suballoc = suballocations2nd[nextAlloc2ndIndex]; + + // 1. Process free space before this allocation. + if (lastOffset < suballoc.offset) + { + // There is free space from lastOffset to suballoc.offset. + const VkDeviceSize unusedRangeSize = suballoc.offset - lastOffset; + VmaAddDetailedStatisticsUnusedRange(inoutStats, unusedRangeSize); + } + + // 2. Process this allocation. + // There is allocation with suballoc.offset, suballoc.size. + VmaAddDetailedStatisticsAllocation(inoutStats, suballoc.size); + + // 3. Prepare for next iteration. + lastOffset = suballoc.offset + suballoc.size; + --nextAlloc2ndIndex; + } + // We are at the end. + else + { + // There is free space from lastOffset to size. + if (lastOffset < size) + { + const VkDeviceSize unusedRangeSize = size - lastOffset; + VmaAddDetailedStatisticsUnusedRange(inoutStats, unusedRangeSize); + } + + // End of loop. + lastOffset = size; + } + } + } +} + +void VmaBlockMetadata_Linear::AddStatistics(VmaStatistics& inoutStats) const +{ + const SuballocationVectorType& suballocations1st = AccessSuballocations1st(); + const SuballocationVectorType& suballocations2nd = AccessSuballocations2nd(); + const VkDeviceSize size = GetSize(); + const size_t suballoc1stCount = suballocations1st.size(); + const size_t suballoc2ndCount = suballocations2nd.size(); + + inoutStats.blockCount++; + inoutStats.blockBytes += size; + inoutStats.allocationBytes += size - m_SumFreeSize; + + VkDeviceSize lastOffset = 0; + + if (m_2ndVectorMode == SECOND_VECTOR_RING_BUFFER) + { + const VkDeviceSize freeSpace2ndTo1stEnd = suballocations1st[m_1stNullItemsBeginCount].offset; + size_t nextAlloc2ndIndex = m_1stNullItemsBeginCount; + while (lastOffset < freeSpace2ndTo1stEnd) + { + // Find next non-null allocation or move nextAlloc2ndIndex to the end. + while (nextAlloc2ndIndex < suballoc2ndCount && + suballocations2nd[nextAlloc2ndIndex].userData == VMA_NULL) + { + ++nextAlloc2ndIndex; + } + + // Found non-null allocation. + if (nextAlloc2ndIndex < suballoc2ndCount) + { + const VmaSuballocation& suballoc = suballocations2nd[nextAlloc2ndIndex]; + + // 1. Process free space before this allocation. + if (lastOffset < suballoc.offset) + { + // There is free space from lastOffset to suballoc.offset. + const VkDeviceSize unusedRangeSize = suballoc.offset - lastOffset; + } + + // 2. Process this allocation. + // There is allocation with suballoc.offset, suballoc.size. + ++inoutStats.allocationCount; + + // 3. Prepare for next iteration. + lastOffset = suballoc.offset + suballoc.size; + ++nextAlloc2ndIndex; + } + // We are at the end. + else + { + if (lastOffset < freeSpace2ndTo1stEnd) + { + // There is free space from lastOffset to freeSpace2ndTo1stEnd. + const VkDeviceSize unusedRangeSize = freeSpace2ndTo1stEnd - lastOffset; + } + + // End of loop. + lastOffset = freeSpace2ndTo1stEnd; + } + } + } + + size_t nextAlloc1stIndex = m_1stNullItemsBeginCount; + const VkDeviceSize freeSpace1stTo2ndEnd = + m_2ndVectorMode == SECOND_VECTOR_DOUBLE_STACK ? suballocations2nd.back().offset : size; + while (lastOffset < freeSpace1stTo2ndEnd) + { + // Find next non-null allocation or move nextAllocIndex to the end. + while (nextAlloc1stIndex < suballoc1stCount && + suballocations1st[nextAlloc1stIndex].userData == VMA_NULL) + { + ++nextAlloc1stIndex; + } + + // Found non-null allocation. + if (nextAlloc1stIndex < suballoc1stCount) + { + const VmaSuballocation& suballoc = suballocations1st[nextAlloc1stIndex]; + + // 1. Process free space before this allocation. + if (lastOffset < suballoc.offset) + { + // There is free space from lastOffset to suballoc.offset. + const VkDeviceSize unusedRangeSize = suballoc.offset - lastOffset; + } + + // 2. Process this allocation. + // There is allocation with suballoc.offset, suballoc.size. + ++inoutStats.allocationCount; + + // 3. Prepare for next iteration. + lastOffset = suballoc.offset + suballoc.size; + ++nextAlloc1stIndex; + } + // We are at the end. + else + { + if (lastOffset < freeSpace1stTo2ndEnd) + { + // There is free space from lastOffset to freeSpace1stTo2ndEnd. + const VkDeviceSize unusedRangeSize = freeSpace1stTo2ndEnd - lastOffset; + } + + // End of loop. + lastOffset = freeSpace1stTo2ndEnd; + } + } + + if (m_2ndVectorMode == SECOND_VECTOR_DOUBLE_STACK) + { + size_t nextAlloc2ndIndex = suballocations2nd.size() - 1; + while (lastOffset < size) + { + // Find next non-null allocation or move nextAlloc2ndIndex to the end. + while (nextAlloc2ndIndex != SIZE_MAX && + suballocations2nd[nextAlloc2ndIndex].userData == VMA_NULL) + { + --nextAlloc2ndIndex; + } + + // Found non-null allocation. + if (nextAlloc2ndIndex != SIZE_MAX) + { + const VmaSuballocation& suballoc = suballocations2nd[nextAlloc2ndIndex]; + + // 1. Process free space before this allocation. + if (lastOffset < suballoc.offset) + { + // There is free space from lastOffset to suballoc.offset. + const VkDeviceSize unusedRangeSize = suballoc.offset - lastOffset; + } + + // 2. Process this allocation. + // There is allocation with suballoc.offset, suballoc.size. + ++inoutStats.allocationCount; + + // 3. Prepare for next iteration. + lastOffset = suballoc.offset + suballoc.size; + --nextAlloc2ndIndex; + } + // We are at the end. + else + { + if (lastOffset < size) + { + // There is free space from lastOffset to size. + const VkDeviceSize unusedRangeSize = size - lastOffset; + } + + // End of loop. + lastOffset = size; + } + } + } +} + +#if VMA_STATS_STRING_ENABLED +void VmaBlockMetadata_Linear::PrintDetailedMap(class VmaJsonWriter& json) const +{ + const VkDeviceSize size = GetSize(); + const SuballocationVectorType& suballocations1st = AccessSuballocations1st(); + const SuballocationVectorType& suballocations2nd = AccessSuballocations2nd(); + const size_t suballoc1stCount = suballocations1st.size(); + const size_t suballoc2ndCount = suballocations2nd.size(); + + // FIRST PASS + + size_t unusedRangeCount = 0; + VkDeviceSize usedBytes = 0; + + VkDeviceSize lastOffset = 0; + + size_t alloc2ndCount = 0; + if (m_2ndVectorMode == SECOND_VECTOR_RING_BUFFER) + { + const VkDeviceSize freeSpace2ndTo1stEnd = suballocations1st[m_1stNullItemsBeginCount].offset; + size_t nextAlloc2ndIndex = 0; + while (lastOffset < freeSpace2ndTo1stEnd) + { + // Find next non-null allocation or move nextAlloc2ndIndex to the end. + while (nextAlloc2ndIndex < suballoc2ndCount && + suballocations2nd[nextAlloc2ndIndex].userData == VMA_NULL) + { + ++nextAlloc2ndIndex; + } + + // Found non-null allocation. + if (nextAlloc2ndIndex < suballoc2ndCount) + { + const VmaSuballocation& suballoc = suballocations2nd[nextAlloc2ndIndex]; + + // 1. Process free space before this allocation. + if (lastOffset < suballoc.offset) + { + // There is free space from lastOffset to suballoc.offset. + ++unusedRangeCount; + } + + // 2. Process this allocation. + // There is allocation with suballoc.offset, suballoc.size. + ++alloc2ndCount; + usedBytes += suballoc.size; + + // 3. Prepare for next iteration. + lastOffset = suballoc.offset + suballoc.size; + ++nextAlloc2ndIndex; + } + // We are at the end. + else + { + if (lastOffset < freeSpace2ndTo1stEnd) + { + // There is free space from lastOffset to freeSpace2ndTo1stEnd. + ++unusedRangeCount; + } + + // End of loop. + lastOffset = freeSpace2ndTo1stEnd; + } + } + } + + size_t nextAlloc1stIndex = m_1stNullItemsBeginCount; + size_t alloc1stCount = 0; + const VkDeviceSize freeSpace1stTo2ndEnd = + m_2ndVectorMode == SECOND_VECTOR_DOUBLE_STACK ? suballocations2nd.back().offset : size; + while (lastOffset < freeSpace1stTo2ndEnd) + { + // Find next non-null allocation or move nextAllocIndex to the end. + while (nextAlloc1stIndex < suballoc1stCount && + suballocations1st[nextAlloc1stIndex].userData == VMA_NULL) + { + ++nextAlloc1stIndex; + } + + // Found non-null allocation. + if (nextAlloc1stIndex < suballoc1stCount) + { + const VmaSuballocation& suballoc = suballocations1st[nextAlloc1stIndex]; + + // 1. Process free space before this allocation. + if (lastOffset < suballoc.offset) + { + // There is free space from lastOffset to suballoc.offset. + ++unusedRangeCount; + } + + // 2. Process this allocation. + // There is allocation with suballoc.offset, suballoc.size. + ++alloc1stCount; + usedBytes += suballoc.size; + + // 3. Prepare for next iteration. + lastOffset = suballoc.offset + suballoc.size; + ++nextAlloc1stIndex; + } + // We are at the end. + else + { + if (lastOffset < size) + { + // There is free space from lastOffset to freeSpace1stTo2ndEnd. + ++unusedRangeCount; + } + + // End of loop. + lastOffset = freeSpace1stTo2ndEnd; + } + } + + if (m_2ndVectorMode == SECOND_VECTOR_DOUBLE_STACK) + { + size_t nextAlloc2ndIndex = suballocations2nd.size() - 1; + while (lastOffset < size) + { + // Find next non-null allocation or move nextAlloc2ndIndex to the end. + while (nextAlloc2ndIndex != SIZE_MAX && + suballocations2nd[nextAlloc2ndIndex].userData == VMA_NULL) + { + --nextAlloc2ndIndex; + } + + // Found non-null allocation. + if (nextAlloc2ndIndex != SIZE_MAX) + { + const VmaSuballocation& suballoc = suballocations2nd[nextAlloc2ndIndex]; + + // 1. Process free space before this allocation. + if (lastOffset < suballoc.offset) + { + // There is free space from lastOffset to suballoc.offset. + ++unusedRangeCount; + } + + // 2. Process this allocation. + // There is allocation with suballoc.offset, suballoc.size. + ++alloc2ndCount; + usedBytes += suballoc.size; + + // 3. Prepare for next iteration. + lastOffset = suballoc.offset + suballoc.size; + --nextAlloc2ndIndex; + } + // We are at the end. + else + { + if (lastOffset < size) + { + // There is free space from lastOffset to size. + ++unusedRangeCount; + } + + // End of loop. + lastOffset = size; + } + } + } + + const VkDeviceSize unusedBytes = size - usedBytes; + PrintDetailedMap_Begin(json, unusedBytes, alloc1stCount + alloc2ndCount, unusedRangeCount); + + // SECOND PASS + lastOffset = 0; + + if (m_2ndVectorMode == SECOND_VECTOR_RING_BUFFER) + { + const VkDeviceSize freeSpace2ndTo1stEnd = suballocations1st[m_1stNullItemsBeginCount].offset; + size_t nextAlloc2ndIndex = 0; + while (lastOffset < freeSpace2ndTo1stEnd) + { + // Find next non-null allocation or move nextAlloc2ndIndex to the end. + while (nextAlloc2ndIndex < suballoc2ndCount && + suballocations2nd[nextAlloc2ndIndex].userData == VMA_NULL) + { + ++nextAlloc2ndIndex; + } + + // Found non-null allocation. + if (nextAlloc2ndIndex < suballoc2ndCount) + { + const VmaSuballocation& suballoc = suballocations2nd[nextAlloc2ndIndex]; + + // 1. Process free space before this allocation. + if (lastOffset < suballoc.offset) + { + // There is free space from lastOffset to suballoc.offset. + const VkDeviceSize unusedRangeSize = suballoc.offset - lastOffset; + PrintDetailedMap_UnusedRange(json, lastOffset, unusedRangeSize); + } + + // 2. Process this allocation. + // There is allocation with suballoc.offset, suballoc.size. + PrintDetailedMap_Allocation(json, suballoc.offset, suballoc.size, suballoc.userData); + + // 3. Prepare for next iteration. + lastOffset = suballoc.offset + suballoc.size; + ++nextAlloc2ndIndex; + } + // We are at the end. + else + { + if (lastOffset < freeSpace2ndTo1stEnd) + { + // There is free space from lastOffset to freeSpace2ndTo1stEnd. + const VkDeviceSize unusedRangeSize = freeSpace2ndTo1stEnd - lastOffset; + PrintDetailedMap_UnusedRange(json, lastOffset, unusedRangeSize); + } + + // End of loop. + lastOffset = freeSpace2ndTo1stEnd; + } + } + } + + nextAlloc1stIndex = m_1stNullItemsBeginCount; + while (lastOffset < freeSpace1stTo2ndEnd) + { + // Find next non-null allocation or move nextAllocIndex to the end. + while (nextAlloc1stIndex < suballoc1stCount && + suballocations1st[nextAlloc1stIndex].userData == VMA_NULL) + { + ++nextAlloc1stIndex; + } + + // Found non-null allocation. + if (nextAlloc1stIndex < suballoc1stCount) + { + const VmaSuballocation& suballoc = suballocations1st[nextAlloc1stIndex]; + + // 1. Process free space before this allocation. + if (lastOffset < suballoc.offset) + { + // There is free space from lastOffset to suballoc.offset. + const VkDeviceSize unusedRangeSize = suballoc.offset - lastOffset; + PrintDetailedMap_UnusedRange(json, lastOffset, unusedRangeSize); + } + + // 2. Process this allocation. + // There is allocation with suballoc.offset, suballoc.size. + PrintDetailedMap_Allocation(json, suballoc.offset, suballoc.size, suballoc.userData); + + // 3. Prepare for next iteration. + lastOffset = suballoc.offset + suballoc.size; + ++nextAlloc1stIndex; + } + // We are at the end. + else + { + if (lastOffset < freeSpace1stTo2ndEnd) + { + // There is free space from lastOffset to freeSpace1stTo2ndEnd. + const VkDeviceSize unusedRangeSize = freeSpace1stTo2ndEnd - lastOffset; + PrintDetailedMap_UnusedRange(json, lastOffset, unusedRangeSize); + } + + // End of loop. + lastOffset = freeSpace1stTo2ndEnd; + } + } + + if (m_2ndVectorMode == SECOND_VECTOR_DOUBLE_STACK) + { + size_t nextAlloc2ndIndex = suballocations2nd.size() - 1; + while (lastOffset < size) + { + // Find next non-null allocation or move nextAlloc2ndIndex to the end. + while (nextAlloc2ndIndex != SIZE_MAX && + suballocations2nd[nextAlloc2ndIndex].userData == VMA_NULL) + { + --nextAlloc2ndIndex; + } + + // Found non-null allocation. + if (nextAlloc2ndIndex != SIZE_MAX) + { + const VmaSuballocation& suballoc = suballocations2nd[nextAlloc2ndIndex]; + + // 1. Process free space before this allocation. + if (lastOffset < suballoc.offset) + { + // There is free space from lastOffset to suballoc.offset. + const VkDeviceSize unusedRangeSize = suballoc.offset - lastOffset; + PrintDetailedMap_UnusedRange(json, lastOffset, unusedRangeSize); + } + + // 2. Process this allocation. + // There is allocation with suballoc.offset, suballoc.size. + PrintDetailedMap_Allocation(json, suballoc.offset, suballoc.size, suballoc.userData); + + // 3. Prepare for next iteration. + lastOffset = suballoc.offset + suballoc.size; + --nextAlloc2ndIndex; + } + // We are at the end. + else + { + if (lastOffset < size) + { + // There is free space from lastOffset to size. + const VkDeviceSize unusedRangeSize = size - lastOffset; + PrintDetailedMap_UnusedRange(json, lastOffset, unusedRangeSize); + } + + // End of loop. + lastOffset = size; + } + } + } + + PrintDetailedMap_End(json); +} +#endif // VMA_STATS_STRING_ENABLED + +bool VmaBlockMetadata_Linear::CreateAllocationRequest( + VkDeviceSize allocSize, + VkDeviceSize allocAlignment, + bool upperAddress, + VmaSuballocationType allocType, + uint32_t strategy, + VmaAllocationRequest* pAllocationRequest) +{ + VMA_ASSERT(allocSize > 0); + VMA_ASSERT(allocType != VMA_SUBALLOCATION_TYPE_FREE); + VMA_ASSERT(pAllocationRequest != VMA_NULL); + VMA_HEAVY_ASSERT(Validate()); + pAllocationRequest->size = allocSize; + return upperAddress ? + CreateAllocationRequest_UpperAddress( + allocSize, allocAlignment, allocType, strategy, pAllocationRequest) : + CreateAllocationRequest_LowerAddress( + allocSize, allocAlignment, allocType, strategy, pAllocationRequest); +} + +VkResult VmaBlockMetadata_Linear::CheckCorruption(const void* pBlockData) +{ + VMA_ASSERT(!IsVirtual()); + SuballocationVectorType& suballocations1st = AccessSuballocations1st(); + for (size_t i = m_1stNullItemsBeginCount, count = suballocations1st.size(); i < count; ++i) + { + const VmaSuballocation& suballoc = suballocations1st[i]; + if (suballoc.type != VMA_SUBALLOCATION_TYPE_FREE) + { + if (!VmaValidateMagicValue(pBlockData, suballoc.offset + suballoc.size)) + { + VMA_ASSERT(0 && "MEMORY CORRUPTION DETECTED AFTER VALIDATED ALLOCATION!"); + return VK_ERROR_UNKNOWN_COPY; + } + } + } + + SuballocationVectorType& suballocations2nd = AccessSuballocations2nd(); + for (size_t i = 0, count = suballocations2nd.size(); i < count; ++i) + { + const VmaSuballocation& suballoc = suballocations2nd[i]; + if (suballoc.type != VMA_SUBALLOCATION_TYPE_FREE) + { + if (!VmaValidateMagicValue(pBlockData, suballoc.offset + suballoc.size)) + { + VMA_ASSERT(0 && "MEMORY CORRUPTION DETECTED AFTER VALIDATED ALLOCATION!"); + return VK_ERROR_UNKNOWN_COPY; + } + } + } + + return VK_SUCCESS; +} + +void VmaBlockMetadata_Linear::Alloc( + const VmaAllocationRequest& request, + VmaSuballocationType type, + void* userData) +{ + const VkDeviceSize offset = (VkDeviceSize)request.allocHandle - 1; + const VmaSuballocation newSuballoc = { offset, request.size, userData, type }; + + switch (request.type) + { + case VmaAllocationRequestType::UpperAddress: + { + VMA_ASSERT(m_2ndVectorMode != SECOND_VECTOR_RING_BUFFER && + "CRITICAL ERROR: Trying to use linear allocator as double stack while it was already used as ring buffer."); + SuballocationVectorType& suballocations2nd = AccessSuballocations2nd(); + suballocations2nd.push_back(newSuballoc); + m_2ndVectorMode = SECOND_VECTOR_DOUBLE_STACK; + } + break; + case VmaAllocationRequestType::EndOf1st: + { + SuballocationVectorType& suballocations1st = AccessSuballocations1st(); + + VMA_ASSERT(suballocations1st.empty() || + offset >= suballocations1st.back().offset + suballocations1st.back().size); + // Check if it fits before the end of the block. + VMA_ASSERT(offset + request.size <= GetSize()); + + suballocations1st.push_back(newSuballoc); + } + break; + case VmaAllocationRequestType::EndOf2nd: + { + SuballocationVectorType& suballocations1st = AccessSuballocations1st(); + // New allocation at the end of 2-part ring buffer, so before first allocation from 1st vector. + VMA_ASSERT(!suballocations1st.empty() && + offset + request.size <= suballocations1st[m_1stNullItemsBeginCount].offset); + SuballocationVectorType& suballocations2nd = AccessSuballocations2nd(); + + switch (m_2ndVectorMode) + { + case SECOND_VECTOR_EMPTY: + // First allocation from second part ring buffer. + VMA_ASSERT(suballocations2nd.empty()); + m_2ndVectorMode = SECOND_VECTOR_RING_BUFFER; + break; + case SECOND_VECTOR_RING_BUFFER: + // 2-part ring buffer is already started. + VMA_ASSERT(!suballocations2nd.empty()); + break; + case SECOND_VECTOR_DOUBLE_STACK: + VMA_ASSERT(0 && "CRITICAL ERROR: Trying to use linear allocator as ring buffer while it was already used as double stack."); + break; + default: + VMA_ASSERT(0); + } + + suballocations2nd.push_back(newSuballoc); + } + break; + default: + VMA_ASSERT(0 && "CRITICAL INTERNAL ERROR."); + } + + m_SumFreeSize -= newSuballoc.size; +} + +void VmaBlockMetadata_Linear::Free(VmaAllocHandle allocHandle) +{ + SuballocationVectorType& suballocations1st = AccessSuballocations1st(); + SuballocationVectorType& suballocations2nd = AccessSuballocations2nd(); + VkDeviceSize offset = (VkDeviceSize)allocHandle - 1; + + if (!suballocations1st.empty()) + { + // First allocation: Mark it as next empty at the beginning. + VmaSuballocation& firstSuballoc = suballocations1st[m_1stNullItemsBeginCount]; + if (firstSuballoc.offset == offset) + { + firstSuballoc.type = VMA_SUBALLOCATION_TYPE_FREE; + firstSuballoc.userData = VMA_NULL; + m_SumFreeSize += firstSuballoc.size; + ++m_1stNullItemsBeginCount; + CleanupAfterFree(); + return; + } + } + + // Last allocation in 2-part ring buffer or top of upper stack (same logic). + if (m_2ndVectorMode == SECOND_VECTOR_RING_BUFFER || + m_2ndVectorMode == SECOND_VECTOR_DOUBLE_STACK) + { + VmaSuballocation& lastSuballoc = suballocations2nd.back(); + if (lastSuballoc.offset == offset) + { + m_SumFreeSize += lastSuballoc.size; + suballocations2nd.pop_back(); + CleanupAfterFree(); + return; + } + } + // Last allocation in 1st vector. + else if (m_2ndVectorMode == SECOND_VECTOR_EMPTY) + { + VmaSuballocation& lastSuballoc = suballocations1st.back(); + if (lastSuballoc.offset == offset) + { + m_SumFreeSize += lastSuballoc.size; + suballocations1st.pop_back(); + CleanupAfterFree(); + return; + } + } + + VmaSuballocation refSuballoc; + refSuballoc.offset = offset; + // Rest of members stays uninitialized intentionally for better performance. + + // Item from the middle of 1st vector. + { + const SuballocationVectorType::iterator it = VmaBinaryFindSorted( + suballocations1st.begin() + m_1stNullItemsBeginCount, + suballocations1st.end(), + refSuballoc, + VmaSuballocationOffsetLess()); + if (it != suballocations1st.end()) + { + it->type = VMA_SUBALLOCATION_TYPE_FREE; + it->userData = VMA_NULL; + ++m_1stNullItemsMiddleCount; + m_SumFreeSize += it->size; + CleanupAfterFree(); + return; + } + } + + if (m_2ndVectorMode != SECOND_VECTOR_EMPTY) + { + // Item from the middle of 2nd vector. + const SuballocationVectorType::iterator it = m_2ndVectorMode == SECOND_VECTOR_RING_BUFFER ? + VmaBinaryFindSorted(suballocations2nd.begin(), suballocations2nd.end(), refSuballoc, VmaSuballocationOffsetLess()) : + VmaBinaryFindSorted(suballocations2nd.begin(), suballocations2nd.end(), refSuballoc, VmaSuballocationOffsetGreater()); + if (it != suballocations2nd.end()) + { + it->type = VMA_SUBALLOCATION_TYPE_FREE; + it->userData = VMA_NULL; + ++m_2ndNullItemsCount; + m_SumFreeSize += it->size; + CleanupAfterFree(); + return; + } + } + + VMA_ASSERT(0 && "Allocation to free not found in linear allocator!"); +} + +void VmaBlockMetadata_Linear::GetAllocationInfo(VmaAllocHandle allocHandle, VmaVirtualAllocationInfo& outInfo) +{ + outInfo.offset = (VkDeviceSize)allocHandle - 1; + VmaSuballocation& suballoc = FindSuballocation(outInfo.offset); + outInfo.size = suballoc.size; + outInfo.pUserData = suballoc.userData; +} + +void* VmaBlockMetadata_Linear::GetAllocationUserData(VmaAllocHandle allocHandle) const +{ + return FindSuballocation((VkDeviceSize)allocHandle - 1).userData; +} + +VmaAllocHandle VmaBlockMetadata_Linear::GetAllocationListBegin() const +{ + // Function only used for defragmentation, which is disabled for this algorithm + VMA_ASSERT(0); + return VK_NULL_HANDLE; +} + +VmaAllocHandle VmaBlockMetadata_Linear::GetNextAllocation(VmaAllocHandle prevAlloc) const +{ + // Function only used for defragmentation, which is disabled for this algorithm + VMA_ASSERT(0); + return VK_NULL_HANDLE; +} + +VkDeviceSize VmaBlockMetadata_Linear::GetNextFreeRegionSize(VmaAllocHandle alloc) const +{ + // Function only used for defragmentation, which is disabled for this algorithm + VMA_ASSERT(0); + return 0; +} + +void VmaBlockMetadata_Linear::Clear() +{ + m_SumFreeSize = GetSize(); + m_Suballocations0.clear(); + m_Suballocations1.clear(); + // Leaving m_1stVectorIndex unchanged - it doesn't matter. + m_2ndVectorMode = SECOND_VECTOR_EMPTY; + m_1stNullItemsBeginCount = 0; + m_1stNullItemsMiddleCount = 0; + m_2ndNullItemsCount = 0; +} + +void VmaBlockMetadata_Linear::SetAllocationUserData(VmaAllocHandle allocHandle, void* userData) +{ + VmaSuballocation& suballoc = FindSuballocation((VkDeviceSize)allocHandle - 1); + suballoc.userData = userData; +} + +void VmaBlockMetadata_Linear::DebugLogAllAllocations() const +{ + const SuballocationVectorType& suballocations1st = AccessSuballocations1st(); + for (auto it = suballocations1st.begin() + m_1stNullItemsBeginCount; it != suballocations1st.end(); ++it) + if (it->type != VMA_SUBALLOCATION_TYPE_FREE) + DebugLogAllocation(it->offset, it->size, it->userData); + + const SuballocationVectorType& suballocations2nd = AccessSuballocations2nd(); + for (auto it = suballocations2nd.begin(); it != suballocations2nd.end(); ++it) + if (it->type != VMA_SUBALLOCATION_TYPE_FREE) + DebugLogAllocation(it->offset, it->size, it->userData); +} + +VmaSuballocation& VmaBlockMetadata_Linear::FindSuballocation(VkDeviceSize offset) const +{ + const SuballocationVectorType& suballocations1st = AccessSuballocations1st(); + const SuballocationVectorType& suballocations2nd = AccessSuballocations2nd(); + + VmaSuballocation refSuballoc; + refSuballoc.offset = offset; + // Rest of members stays uninitialized intentionally for better performance. + + // Item from the 1st vector. + { + SuballocationVectorType::const_iterator it = VmaBinaryFindSorted( + suballocations1st.begin() + m_1stNullItemsBeginCount, + suballocations1st.end(), + refSuballoc, + VmaSuballocationOffsetLess()); + if (it != suballocations1st.end()) + { + return const_cast(*it); + } + } + + if (m_2ndVectorMode != SECOND_VECTOR_EMPTY) + { + // Rest of members stays uninitialized intentionally for better performance. + SuballocationVectorType::const_iterator it = m_2ndVectorMode == SECOND_VECTOR_RING_BUFFER ? + VmaBinaryFindSorted(suballocations2nd.begin(), suballocations2nd.end(), refSuballoc, VmaSuballocationOffsetLess()) : + VmaBinaryFindSorted(suballocations2nd.begin(), suballocations2nd.end(), refSuballoc, VmaSuballocationOffsetGreater()); + if (it != suballocations2nd.end()) + { + return const_cast(*it); + } + } + + VMA_ASSERT(0 && "Allocation not found in linear allocator!"); + return const_cast(suballocations1st.back()); // Should never occur. +} + +bool VmaBlockMetadata_Linear::ShouldCompact1st() const +{ + const size_t nullItemCount = m_1stNullItemsBeginCount + m_1stNullItemsMiddleCount; + const size_t suballocCount = AccessSuballocations1st().size(); + return suballocCount > 32 && nullItemCount * 2 >= (suballocCount - nullItemCount) * 3; +} + +void VmaBlockMetadata_Linear::CleanupAfterFree() +{ + SuballocationVectorType& suballocations1st = AccessSuballocations1st(); + SuballocationVectorType& suballocations2nd = AccessSuballocations2nd(); + + if (IsEmpty()) + { + suballocations1st.clear(); + suballocations2nd.clear(); + m_1stNullItemsBeginCount = 0; + m_1stNullItemsMiddleCount = 0; + m_2ndNullItemsCount = 0; + m_2ndVectorMode = SECOND_VECTOR_EMPTY; + } + else + { + const size_t suballoc1stCount = suballocations1st.size(); + const size_t nullItem1stCount = m_1stNullItemsBeginCount + m_1stNullItemsMiddleCount; + VMA_ASSERT(nullItem1stCount <= suballoc1stCount); + + // Find more null items at the beginning of 1st vector. + while (m_1stNullItemsBeginCount < suballoc1stCount && + suballocations1st[m_1stNullItemsBeginCount].type == VMA_SUBALLOCATION_TYPE_FREE) + { + ++m_1stNullItemsBeginCount; + --m_1stNullItemsMiddleCount; + } + + // Find more null items at the end of 1st vector. + while (m_1stNullItemsMiddleCount > 0 && + suballocations1st.back().type == VMA_SUBALLOCATION_TYPE_FREE) + { + --m_1stNullItemsMiddleCount; + suballocations1st.pop_back(); + } + + // Find more null items at the end of 2nd vector. + while (m_2ndNullItemsCount > 0 && + suballocations2nd.back().type == VMA_SUBALLOCATION_TYPE_FREE) + { + --m_2ndNullItemsCount; + suballocations2nd.pop_back(); + } + + // Find more null items at the beginning of 2nd vector. + while (m_2ndNullItemsCount > 0 && + suballocations2nd[0].type == VMA_SUBALLOCATION_TYPE_FREE) + { + --m_2ndNullItemsCount; + VmaVectorRemove(suballocations2nd, 0); + } + + if (ShouldCompact1st()) + { + const size_t nonNullItemCount = suballoc1stCount - nullItem1stCount; + size_t srcIndex = m_1stNullItemsBeginCount; + for (size_t dstIndex = 0; dstIndex < nonNullItemCount; ++dstIndex) + { + while (suballocations1st[srcIndex].type == VMA_SUBALLOCATION_TYPE_FREE) + { + ++srcIndex; + } + if (dstIndex != srcIndex) + { + suballocations1st[dstIndex] = suballocations1st[srcIndex]; + } + ++srcIndex; + } + suballocations1st.resize(nonNullItemCount); + m_1stNullItemsBeginCount = 0; + m_1stNullItemsMiddleCount = 0; + } + + // 2nd vector became empty. + if (suballocations2nd.empty()) + { + m_2ndVectorMode = SECOND_VECTOR_EMPTY; + } + + // 1st vector became empty. + if (suballocations1st.size() - m_1stNullItemsBeginCount == 0) + { + suballocations1st.clear(); + m_1stNullItemsBeginCount = 0; + + if (!suballocations2nd.empty() && m_2ndVectorMode == SECOND_VECTOR_RING_BUFFER) + { + // Swap 1st with 2nd. Now 2nd is empty. + m_2ndVectorMode = SECOND_VECTOR_EMPTY; + m_1stNullItemsMiddleCount = m_2ndNullItemsCount; + while (m_1stNullItemsBeginCount < suballocations2nd.size() && + suballocations2nd[m_1stNullItemsBeginCount].type == VMA_SUBALLOCATION_TYPE_FREE) + { + ++m_1stNullItemsBeginCount; + --m_1stNullItemsMiddleCount; + } + m_2ndNullItemsCount = 0; + m_1stVectorIndex ^= 1; + } + } + } + + VMA_HEAVY_ASSERT(Validate()); +} + +bool VmaBlockMetadata_Linear::CreateAllocationRequest_LowerAddress( + VkDeviceSize allocSize, + VkDeviceSize allocAlignment, + VmaSuballocationType allocType, + uint32_t strategy, + VmaAllocationRequest* pAllocationRequest) +{ + const VkDeviceSize blockSize = GetSize(); + const VkDeviceSize debugMargin = GetDebugMargin(); + const VkDeviceSize bufferImageGranularity = GetBufferImageGranularity(); + SuballocationVectorType& suballocations1st = AccessSuballocations1st(); + SuballocationVectorType& suballocations2nd = AccessSuballocations2nd(); + + if (m_2ndVectorMode == SECOND_VECTOR_EMPTY || m_2ndVectorMode == SECOND_VECTOR_DOUBLE_STACK) + { + // Try to allocate at the end of 1st vector. + + VkDeviceSize resultBaseOffset = 0; + if (!suballocations1st.empty()) + { + const VmaSuballocation& lastSuballoc = suballocations1st.back(); + resultBaseOffset = lastSuballoc.offset + lastSuballoc.size + debugMargin; + } + + // Start from offset equal to beginning of free space. + VkDeviceSize resultOffset = resultBaseOffset; + + // Apply alignment. + resultOffset = VmaAlignUp(resultOffset, allocAlignment); + + // Check previous suballocations for BufferImageGranularity conflicts. + // Make bigger alignment if necessary. + if (bufferImageGranularity > 1 && bufferImageGranularity != allocAlignment && !suballocations1st.empty()) + { + bool bufferImageGranularityConflict = false; + for (size_t prevSuballocIndex = suballocations1st.size(); prevSuballocIndex--; ) + { + const VmaSuballocation& prevSuballoc = suballocations1st[prevSuballocIndex]; + if (VmaBlocksOnSamePage(prevSuballoc.offset, prevSuballoc.size, resultOffset, bufferImageGranularity)) + { + if (VmaIsBufferImageGranularityConflict(prevSuballoc.type, allocType)) + { + bufferImageGranularityConflict = true; + break; + } + } + else + // Already on previous page. + break; + } + if (bufferImageGranularityConflict) + { + resultOffset = VmaAlignUp(resultOffset, bufferImageGranularity); + } + } + + const VkDeviceSize freeSpaceEnd = m_2ndVectorMode == SECOND_VECTOR_DOUBLE_STACK ? + suballocations2nd.back().offset : blockSize; + + // There is enough free space at the end after alignment. + if (resultOffset + allocSize + debugMargin <= freeSpaceEnd) + { + // Check next suballocations for BufferImageGranularity conflicts. + // If conflict exists, allocation cannot be made here. + if ((allocSize % bufferImageGranularity || resultOffset % bufferImageGranularity) && m_2ndVectorMode == SECOND_VECTOR_DOUBLE_STACK) + { + for (size_t nextSuballocIndex = suballocations2nd.size(); nextSuballocIndex--; ) + { + const VmaSuballocation& nextSuballoc = suballocations2nd[nextSuballocIndex]; + if (VmaBlocksOnSamePage(resultOffset, allocSize, nextSuballoc.offset, bufferImageGranularity)) + { + if (VmaIsBufferImageGranularityConflict(allocType, nextSuballoc.type)) + { + return false; + } + } + else + { + // Already on previous page. + break; + } + } + } + + // All tests passed: Success. + pAllocationRequest->allocHandle = (VmaAllocHandle)(resultOffset + 1); + // pAllocationRequest->item, customData unused. + pAllocationRequest->type = VmaAllocationRequestType::EndOf1st; + return true; + } + } + + // Wrap-around to end of 2nd vector. Try to allocate there, watching for the + // beginning of 1st vector as the end of free space. + if (m_2ndVectorMode == SECOND_VECTOR_EMPTY || m_2ndVectorMode == SECOND_VECTOR_RING_BUFFER) + { + VMA_ASSERT(!suballocations1st.empty()); + + VkDeviceSize resultBaseOffset = 0; + if (!suballocations2nd.empty()) + { + const VmaSuballocation& lastSuballoc = suballocations2nd.back(); + resultBaseOffset = lastSuballoc.offset + lastSuballoc.size + debugMargin; + } + + // Start from offset equal to beginning of free space. + VkDeviceSize resultOffset = resultBaseOffset; + + // Apply alignment. + resultOffset = VmaAlignUp(resultOffset, allocAlignment); + + // Check previous suballocations for BufferImageGranularity conflicts. + // Make bigger alignment if necessary. + if (bufferImageGranularity > 1 && bufferImageGranularity != allocAlignment && !suballocations2nd.empty()) + { + bool bufferImageGranularityConflict = false; + for (size_t prevSuballocIndex = suballocations2nd.size(); prevSuballocIndex--; ) + { + const VmaSuballocation& prevSuballoc = suballocations2nd[prevSuballocIndex]; + if (VmaBlocksOnSamePage(prevSuballoc.offset, prevSuballoc.size, resultOffset, bufferImageGranularity)) + { + if (VmaIsBufferImageGranularityConflict(prevSuballoc.type, allocType)) + { + bufferImageGranularityConflict = true; + break; + } + } + else + // Already on previous page. + break; + } + if (bufferImageGranularityConflict) + { + resultOffset = VmaAlignUp(resultOffset, bufferImageGranularity); + } + } + + size_t index1st = m_1stNullItemsBeginCount; + + // There is enough free space at the end after alignment. + if ((index1st == suballocations1st.size() && resultOffset + allocSize + debugMargin <= blockSize) || + (index1st < suballocations1st.size() && resultOffset + allocSize + debugMargin <= suballocations1st[index1st].offset)) + { + // Check next suballocations for BufferImageGranularity conflicts. + // If conflict exists, allocation cannot be made here. + if (allocSize % bufferImageGranularity || resultOffset % bufferImageGranularity) + { + for (size_t nextSuballocIndex = index1st; + nextSuballocIndex < suballocations1st.size(); + nextSuballocIndex++) + { + const VmaSuballocation& nextSuballoc = suballocations1st[nextSuballocIndex]; + if (VmaBlocksOnSamePage(resultOffset, allocSize, nextSuballoc.offset, bufferImageGranularity)) + { + if (VmaIsBufferImageGranularityConflict(allocType, nextSuballoc.type)) + { + return false; + } + } + else + { + // Already on next page. + break; + } + } + } + + // All tests passed: Success. + pAllocationRequest->allocHandle = (VmaAllocHandle)(resultOffset + 1); + pAllocationRequest->type = VmaAllocationRequestType::EndOf2nd; + // pAllocationRequest->item, customData unused. + return true; + } + } + + return false; +} + +bool VmaBlockMetadata_Linear::CreateAllocationRequest_UpperAddress( + VkDeviceSize allocSize, + VkDeviceSize allocAlignment, + VmaSuballocationType allocType, + uint32_t strategy, + VmaAllocationRequest* pAllocationRequest) +{ + const VkDeviceSize blockSize = GetSize(); + const VkDeviceSize bufferImageGranularity = GetBufferImageGranularity(); + SuballocationVectorType& suballocations1st = AccessSuballocations1st(); + SuballocationVectorType& suballocations2nd = AccessSuballocations2nd(); + + if (m_2ndVectorMode == SECOND_VECTOR_RING_BUFFER) + { + VMA_ASSERT(0 && "Trying to use pool with linear algorithm as double stack, while it is already being used as ring buffer."); + return false; + } + + // Try to allocate before 2nd.back(), or end of block if 2nd.empty(). + if (allocSize > blockSize) + { + return false; + } + VkDeviceSize resultBaseOffset = blockSize - allocSize; + if (!suballocations2nd.empty()) + { + const VmaSuballocation& lastSuballoc = suballocations2nd.back(); + resultBaseOffset = lastSuballoc.offset - allocSize; + if (allocSize > lastSuballoc.offset) + { + return false; + } + } + + // Start from offset equal to end of free space. + VkDeviceSize resultOffset = resultBaseOffset; + + const VkDeviceSize debugMargin = GetDebugMargin(); + + // Apply debugMargin at the end. + if (debugMargin > 0) + { + if (resultOffset < debugMargin) + { + return false; + } + resultOffset -= debugMargin; + } + + // Apply alignment. + resultOffset = VmaAlignDown(resultOffset, allocAlignment); + + // Check next suballocations from 2nd for BufferImageGranularity conflicts. + // Make bigger alignment if necessary. + if (bufferImageGranularity > 1 && bufferImageGranularity != allocAlignment && !suballocations2nd.empty()) + { + bool bufferImageGranularityConflict = false; + for (size_t nextSuballocIndex = suballocations2nd.size(); nextSuballocIndex--; ) + { + const VmaSuballocation& nextSuballoc = suballocations2nd[nextSuballocIndex]; + if (VmaBlocksOnSamePage(resultOffset, allocSize, nextSuballoc.offset, bufferImageGranularity)) + { + if (VmaIsBufferImageGranularityConflict(nextSuballoc.type, allocType)) + { + bufferImageGranularityConflict = true; + break; + } + } + else + // Already on previous page. + break; + } + if (bufferImageGranularityConflict) + { + resultOffset = VmaAlignDown(resultOffset, bufferImageGranularity); + } + } + + // There is enough free space. + const VkDeviceSize endOf1st = !suballocations1st.empty() ? + suballocations1st.back().offset + suballocations1st.back().size : + 0; + if (endOf1st + debugMargin <= resultOffset) + { + // Check previous suballocations for BufferImageGranularity conflicts. + // If conflict exists, allocation cannot be made here. + if (bufferImageGranularity > 1) + { + for (size_t prevSuballocIndex = suballocations1st.size(); prevSuballocIndex--; ) + { + const VmaSuballocation& prevSuballoc = suballocations1st[prevSuballocIndex]; + if (VmaBlocksOnSamePage(prevSuballoc.offset, prevSuballoc.size, resultOffset, bufferImageGranularity)) + { + if (VmaIsBufferImageGranularityConflict(allocType, prevSuballoc.type)) + { + return false; + } + } + else + { + // Already on next page. + break; + } + } + } + + // All tests passed: Success. + pAllocationRequest->allocHandle = (VmaAllocHandle)(resultOffset + 1); + // pAllocationRequest->item unused. + pAllocationRequest->type = VmaAllocationRequestType::UpperAddress; + return true; + } + + return false; +} +#endif // _VMA_BLOCK_METADATA_LINEAR_FUNCTIONS +#endif // _VMA_BLOCK_METADATA_LINEAR + +#if 0 +#ifndef _VMA_BLOCK_METADATA_BUDDY +/* +- GetSize() is the original size of allocated memory block. +- m_UsableSize is this size aligned down to a power of two. + All allocations and calculations happen relative to m_UsableSize. +- GetUnusableSize() is the difference between them. + It is reported as separate, unused range, not available for allocations. + +Node at level 0 has size = m_UsableSize. +Each next level contains nodes with size 2 times smaller than current level. +m_LevelCount is the maximum number of levels to use in the current object. +*/ +class VmaBlockMetadata_Buddy : public VmaBlockMetadata +{ + VMA_CLASS_NO_COPY(VmaBlockMetadata_Buddy) +public: + VmaBlockMetadata_Buddy(const VkAllocationCallbacks* pAllocationCallbacks, + VkDeviceSize bufferImageGranularity, bool isVirtual); + virtual ~VmaBlockMetadata_Buddy(); + + size_t GetAllocationCount() const override { return m_AllocationCount; } + VkDeviceSize GetSumFreeSize() const override { return m_SumFreeSize + GetUnusableSize(); } + bool IsEmpty() const override { return m_Root->type == Node::TYPE_FREE; } + VkResult CheckCorruption(const void* pBlockData) override { return VK_ERROR_FEATURE_NOT_PRESENT; } + VkDeviceSize GetAllocationOffset(VmaAllocHandle allocHandle) const override { return (VkDeviceSize)allocHandle - 1; }; + void DebugLogAllAllocations() const override { DebugLogAllAllocationNode(m_Root, 0); } + + void Init(VkDeviceSize size) override; + bool Validate() const override; + + void AddDetailedStatistics(VmaDetailedStatistics& inoutStats) const override; + void AddStatistics(VmaStatistics& inoutStats) const override; + +#if VMA_STATS_STRING_ENABLED + void PrintDetailedMap(class VmaJsonWriter& json, uint32_t mapRefCount) const override; +#endif + + bool CreateAllocationRequest( + VkDeviceSize allocSize, + VkDeviceSize allocAlignment, + bool upperAddress, + VmaSuballocationType allocType, + uint32_t strategy, + VmaAllocationRequest* pAllocationRequest) override; + + void Alloc( + const VmaAllocationRequest& request, + VmaSuballocationType type, + void* userData) override; + + void Free(VmaAllocHandle allocHandle) override; + void GetAllocationInfo(VmaAllocHandle allocHandle, VmaVirtualAllocationInfo& outInfo) override; + void* GetAllocationUserData(VmaAllocHandle allocHandle) const override; + VmaAllocHandle GetAllocationListBegin() const override; + VmaAllocHandle GetNextAllocation(VmaAllocHandle prevAlloc) const override; + void Clear() override; + void SetAllocationUserData(VmaAllocHandle allocHandle, void* userData) override; + +private: + static const size_t MAX_LEVELS = 48; + + struct ValidationContext + { + size_t calculatedAllocationCount = 0; + size_t calculatedFreeCount = 0; + VkDeviceSize calculatedSumFreeSize = 0; + }; + struct Node + { + VkDeviceSize offset; + enum TYPE + { + TYPE_FREE, + TYPE_ALLOCATION, + TYPE_SPLIT, + TYPE_COUNT + } type; + Node* parent; + Node* buddy; + + union + { + struct + { + Node* prev; + Node* next; + } free; + struct + { + void* userData; + } allocation; + struct + { + Node* leftChild; + } split; + }; + }; + + // Size of the memory block aligned down to a power of two. + VkDeviceSize m_UsableSize; + uint32_t m_LevelCount; + VmaPoolAllocator m_NodeAllocator; + Node* m_Root; + struct + { + Node* front; + Node* back; + } m_FreeList[MAX_LEVELS]; + + // Number of nodes in the tree with type == TYPE_ALLOCATION. + size_t m_AllocationCount; + // Number of nodes in the tree with type == TYPE_FREE. + size_t m_FreeCount; + // Doesn't include space wasted due to internal fragmentation - allocation sizes are just aligned up to node sizes. + // Doesn't include unusable size. + VkDeviceSize m_SumFreeSize; + + VkDeviceSize GetUnusableSize() const { return GetSize() - m_UsableSize; } + VkDeviceSize LevelToNodeSize(uint32_t level) const { return m_UsableSize >> level; } + + VkDeviceSize AlignAllocationSize(VkDeviceSize size) const + { + if (!IsVirtual()) + { + size = VmaAlignUp(size, (VkDeviceSize)16); + } + return VmaNextPow2(size); + } + Node* FindAllocationNode(VkDeviceSize offset, uint32_t& outLevel) const; + void DeleteNodeChildren(Node* node); + bool ValidateNode(ValidationContext& ctx, const Node* parent, const Node* curr, uint32_t level, VkDeviceSize levelNodeSize) const; + uint32_t AllocSizeToLevel(VkDeviceSize allocSize) const; + void AddNodeToDetailedStatistics(VmaDetailedStatistics& inoutStats, const Node* node, VkDeviceSize levelNodeSize) const; + // Adds node to the front of FreeList at given level. + // node->type must be FREE. + // node->free.prev, next can be undefined. + void AddToFreeListFront(uint32_t level, Node* node); + // Removes node from FreeList at given level. + // node->type must be FREE. + // node->free.prev, next stay untouched. + void RemoveFromFreeList(uint32_t level, Node* node); + void DebugLogAllAllocationNode(Node* node, uint32_t level) const; + +#if VMA_STATS_STRING_ENABLED + void PrintDetailedMapNode(class VmaJsonWriter& json, const Node* node, VkDeviceSize levelNodeSize) const; +#endif +}; + +#ifndef _VMA_BLOCK_METADATA_BUDDY_FUNCTIONS +VmaBlockMetadata_Buddy::VmaBlockMetadata_Buddy(const VkAllocationCallbacks* pAllocationCallbacks, + VkDeviceSize bufferImageGranularity, bool isVirtual) + : VmaBlockMetadata(pAllocationCallbacks, bufferImageGranularity, isVirtual), + m_NodeAllocator(pAllocationCallbacks, 32), // firstBlockCapacity + m_Root(VMA_NULL), + m_AllocationCount(0), + m_FreeCount(1), + m_SumFreeSize(0) +{ + memset(m_FreeList, 0, sizeof(m_FreeList)); +} + +VmaBlockMetadata_Buddy::~VmaBlockMetadata_Buddy() +{ + DeleteNodeChildren(m_Root); + m_NodeAllocator.Free(m_Root); +} + +void VmaBlockMetadata_Buddy::Init(VkDeviceSize size) +{ + VmaBlockMetadata::Init(size); + + m_UsableSize = VmaPrevPow2(size); + m_SumFreeSize = m_UsableSize; + + // Calculate m_LevelCount. + const VkDeviceSize minNodeSize = IsVirtual() ? 1 : 16; + m_LevelCount = 1; + while (m_LevelCount < MAX_LEVELS && + LevelToNodeSize(m_LevelCount) >= minNodeSize) + { + ++m_LevelCount; + } + + Node* rootNode = m_NodeAllocator.Alloc(); + rootNode->offset = 0; + rootNode->type = Node::TYPE_FREE; + rootNode->parent = VMA_NULL; + rootNode->buddy = VMA_NULL; + + m_Root = rootNode; + AddToFreeListFront(0, rootNode); +} + +bool VmaBlockMetadata_Buddy::Validate() const +{ + // Validate tree. + ValidationContext ctx; + if (!ValidateNode(ctx, VMA_NULL, m_Root, 0, LevelToNodeSize(0))) + { + VMA_VALIDATE(false && "ValidateNode failed."); + } + VMA_VALIDATE(m_AllocationCount == ctx.calculatedAllocationCount); + VMA_VALIDATE(m_SumFreeSize == ctx.calculatedSumFreeSize); + + // Validate free node lists. + for (uint32_t level = 0; level < m_LevelCount; ++level) + { + VMA_VALIDATE(m_FreeList[level].front == VMA_NULL || + m_FreeList[level].front->free.prev == VMA_NULL); + + for (Node* node = m_FreeList[level].front; + node != VMA_NULL; + node = node->free.next) + { + VMA_VALIDATE(node->type == Node::TYPE_FREE); + + if (node->free.next == VMA_NULL) + { + VMA_VALIDATE(m_FreeList[level].back == node); + } + else + { + VMA_VALIDATE(node->free.next->free.prev == node); + } + } + } + + // Validate that free lists ar higher levels are empty. + for (uint32_t level = m_LevelCount; level < MAX_LEVELS; ++level) + { + VMA_VALIDATE(m_FreeList[level].front == VMA_NULL && m_FreeList[level].back == VMA_NULL); + } + + return true; +} + +void VmaBlockMetadata_Buddy::AddDetailedStatistics(VmaDetailedStatistics& inoutStats) const +{ + inoutStats.statistics.blockCount++; + inoutStats.statistics.blockBytes += GetSize(); + + AddNodeToDetailedStatistics(inoutStats, m_Root, LevelToNodeSize(0)); + + const VkDeviceSize unusableSize = GetUnusableSize(); + if (unusableSize > 0) + VmaAddDetailedStatisticsUnusedRange(inoutStats, unusableSize); +} + +void VmaBlockMetadata_Buddy::AddStatistics(VmaStatistics& inoutStats) const +{ + inoutStats.blockCount++; + inoutStats.allocationCount += (uint32_t)m_AllocationCount; + inoutStats.blockBytes += GetSize(); + inoutStats.allocationBytes += GetSize() - m_SumFreeSize; +} + +#if VMA_STATS_STRING_ENABLED +void VmaBlockMetadata_Buddy::PrintDetailedMap(class VmaJsonWriter& json, uint32_t mapRefCount) const +{ + VmaDetailedStatistics stats; + VmaClearDetailedStatistics(stats); + AddDetailedStatistics(stats); + + PrintDetailedMap_Begin( + json, + stats.statistics.blockBytes - stats.statistics.allocationBytes, + stats.statistics.allocationCount, + stats.unusedRangeCount, + mapRefCount); + + PrintDetailedMapNode(json, m_Root, LevelToNodeSize(0)); + + const VkDeviceSize unusableSize = GetUnusableSize(); + if (unusableSize > 0) + { + PrintDetailedMap_UnusedRange(json, + m_UsableSize, // offset + unusableSize); // size + } + + PrintDetailedMap_End(json); +} +#endif // VMA_STATS_STRING_ENABLED + +bool VmaBlockMetadata_Buddy::CreateAllocationRequest( + VkDeviceSize allocSize, + VkDeviceSize allocAlignment, + bool upperAddress, + VmaSuballocationType allocType, + uint32_t strategy, + VmaAllocationRequest* pAllocationRequest) +{ + VMA_ASSERT(!upperAddress && "VMA_ALLOCATION_CREATE_UPPER_ADDRESS_BIT can be used only with linear algorithm."); + + allocSize = AlignAllocationSize(allocSize); + + // Simple way to respect bufferImageGranularity. May be optimized some day. + // Whenever it might be an OPTIMAL image... + if (allocType == VMA_SUBALLOCATION_TYPE_UNKNOWN || + allocType == VMA_SUBALLOCATION_TYPE_IMAGE_UNKNOWN || + allocType == VMA_SUBALLOCATION_TYPE_IMAGE_OPTIMAL) + { + allocAlignment = VMA_MAX(allocAlignment, GetBufferImageGranularity()); + allocSize = VmaAlignUp(allocSize, GetBufferImageGranularity()); + } + + if (allocSize > m_UsableSize) + { + return false; + } + + const uint32_t targetLevel = AllocSizeToLevel(allocSize); + for (uint32_t level = targetLevel; level--; ) + { + for (Node* freeNode = m_FreeList[level].front; + freeNode != VMA_NULL; + freeNode = freeNode->free.next) + { + if (freeNode->offset % allocAlignment == 0) + { + pAllocationRequest->type = VmaAllocationRequestType::Normal; + pAllocationRequest->allocHandle = (VmaAllocHandle)(freeNode->offset + 1); + pAllocationRequest->size = allocSize; + pAllocationRequest->customData = (void*)(uintptr_t)level; + return true; + } + } + } + + return false; +} + +void VmaBlockMetadata_Buddy::Alloc( + const VmaAllocationRequest& request, + VmaSuballocationType type, + void* userData) +{ + VMA_ASSERT(request.type == VmaAllocationRequestType::Normal); + + const uint32_t targetLevel = AllocSizeToLevel(request.size); + uint32_t currLevel = (uint32_t)(uintptr_t)request.customData; + + Node* currNode = m_FreeList[currLevel].front; + VMA_ASSERT(currNode != VMA_NULL && currNode->type == Node::TYPE_FREE); + const VkDeviceSize offset = (VkDeviceSize)request.allocHandle - 1; + while (currNode->offset != offset) + { + currNode = currNode->free.next; + VMA_ASSERT(currNode != VMA_NULL && currNode->type == Node::TYPE_FREE); + } + + // Go down, splitting free nodes. + while (currLevel < targetLevel) + { + // currNode is already first free node at currLevel. + // Remove it from list of free nodes at this currLevel. + RemoveFromFreeList(currLevel, currNode); + + const uint32_t childrenLevel = currLevel + 1; + + // Create two free sub-nodes. + Node* leftChild = m_NodeAllocator.Alloc(); + Node* rightChild = m_NodeAllocator.Alloc(); + + leftChild->offset = currNode->offset; + leftChild->type = Node::TYPE_FREE; + leftChild->parent = currNode; + leftChild->buddy = rightChild; + + rightChild->offset = currNode->offset + LevelToNodeSize(childrenLevel); + rightChild->type = Node::TYPE_FREE; + rightChild->parent = currNode; + rightChild->buddy = leftChild; + + // Convert current currNode to split type. + currNode->type = Node::TYPE_SPLIT; + currNode->split.leftChild = leftChild; + + // Add child nodes to free list. Order is important! + AddToFreeListFront(childrenLevel, rightChild); + AddToFreeListFront(childrenLevel, leftChild); + + ++m_FreeCount; + ++currLevel; + currNode = m_FreeList[currLevel].front; + + /* + We can be sure that currNode, as left child of node previously split, + also fulfills the alignment requirement. + */ + } + + // Remove from free list. + VMA_ASSERT(currLevel == targetLevel && + currNode != VMA_NULL && + currNode->type == Node::TYPE_FREE); + RemoveFromFreeList(currLevel, currNode); + + // Convert to allocation node. + currNode->type = Node::TYPE_ALLOCATION; + currNode->allocation.userData = userData; + + ++m_AllocationCount; + --m_FreeCount; + m_SumFreeSize -= request.size; +} + +void VmaBlockMetadata_Buddy::GetAllocationInfo(VmaAllocHandle allocHandle, VmaVirtualAllocationInfo& outInfo) +{ + uint32_t level = 0; + outInfo.offset = (VkDeviceSize)allocHandle - 1; + const Node* const node = FindAllocationNode(outInfo.offset, level); + outInfo.size = LevelToNodeSize(level); + outInfo.pUserData = node->allocation.userData; +} + +void* VmaBlockMetadata_Buddy::GetAllocationUserData(VmaAllocHandle allocHandle) const +{ + uint32_t level = 0; + const Node* const node = FindAllocationNode((VkDeviceSize)allocHandle - 1, level); + return node->allocation.userData; +} + +VmaAllocHandle VmaBlockMetadata_Buddy::GetAllocationListBegin() const +{ + // Function only used for defragmentation, which is disabled for this algorithm + return VK_NULL_HANDLE; +} + +VmaAllocHandle VmaBlockMetadata_Buddy::GetNextAllocation(VmaAllocHandle prevAlloc) const +{ + // Function only used for defragmentation, which is disabled for this algorithm + return VK_NULL_HANDLE; +} + +void VmaBlockMetadata_Buddy::DeleteNodeChildren(Node* node) +{ + if (node->type == Node::TYPE_SPLIT) + { + DeleteNodeChildren(node->split.leftChild->buddy); + DeleteNodeChildren(node->split.leftChild); + const VkAllocationCallbacks* allocationCallbacks = GetAllocationCallbacks(); + m_NodeAllocator.Free(node->split.leftChild->buddy); + m_NodeAllocator.Free(node->split.leftChild); + } +} + +void VmaBlockMetadata_Buddy::Clear() +{ + DeleteNodeChildren(m_Root); + m_Root->type = Node::TYPE_FREE; + m_AllocationCount = 0; + m_FreeCount = 1; + m_SumFreeSize = m_UsableSize; +} + +void VmaBlockMetadata_Buddy::SetAllocationUserData(VmaAllocHandle allocHandle, void* userData) +{ + uint32_t level = 0; + Node* const node = FindAllocationNode((VkDeviceSize)allocHandle - 1, level); + node->allocation.userData = userData; +} + +VmaBlockMetadata_Buddy::Node* VmaBlockMetadata_Buddy::FindAllocationNode(VkDeviceSize offset, uint32_t& outLevel) const +{ + Node* node = m_Root; + VkDeviceSize nodeOffset = 0; + outLevel = 0; + VkDeviceSize levelNodeSize = LevelToNodeSize(0); + while (node->type == Node::TYPE_SPLIT) + { + const VkDeviceSize nextLevelNodeSize = levelNodeSize >> 1; + if (offset < nodeOffset + nextLevelNodeSize) + { + node = node->split.leftChild; + } + else + { + node = node->split.leftChild->buddy; + nodeOffset += nextLevelNodeSize; + } + ++outLevel; + levelNodeSize = nextLevelNodeSize; + } + + VMA_ASSERT(node != VMA_NULL && node->type == Node::TYPE_ALLOCATION); + return node; +} + +bool VmaBlockMetadata_Buddy::ValidateNode(ValidationContext& ctx, const Node* parent, const Node* curr, uint32_t level, VkDeviceSize levelNodeSize) const +{ + VMA_VALIDATE(level < m_LevelCount); + VMA_VALIDATE(curr->parent == parent); + VMA_VALIDATE((curr->buddy == VMA_NULL) == (parent == VMA_NULL)); + VMA_VALIDATE(curr->buddy == VMA_NULL || curr->buddy->buddy == curr); + switch (curr->type) + { + case Node::TYPE_FREE: + // curr->free.prev, next are validated separately. + ctx.calculatedSumFreeSize += levelNodeSize; + ++ctx.calculatedFreeCount; + break; + case Node::TYPE_ALLOCATION: + ++ctx.calculatedAllocationCount; + if (!IsVirtual()) + { + VMA_VALIDATE(curr->allocation.userData != VMA_NULL); + } + break; + case Node::TYPE_SPLIT: + { + const uint32_t childrenLevel = level + 1; + const VkDeviceSize childrenLevelNodeSize = levelNodeSize >> 1; + const Node* const leftChild = curr->split.leftChild; + VMA_VALIDATE(leftChild != VMA_NULL); + VMA_VALIDATE(leftChild->offset == curr->offset); + if (!ValidateNode(ctx, curr, leftChild, childrenLevel, childrenLevelNodeSize)) + { + VMA_VALIDATE(false && "ValidateNode for left child failed."); + } + const Node* const rightChild = leftChild->buddy; + VMA_VALIDATE(rightChild->offset == curr->offset + childrenLevelNodeSize); + if (!ValidateNode(ctx, curr, rightChild, childrenLevel, childrenLevelNodeSize)) + { + VMA_VALIDATE(false && "ValidateNode for right child failed."); + } + } + break; + default: + return false; + } + + return true; +} + +uint32_t VmaBlockMetadata_Buddy::AllocSizeToLevel(VkDeviceSize allocSize) const +{ + // I know this could be optimized somehow e.g. by using std::log2p1 from C++20. + uint32_t level = 0; + VkDeviceSize currLevelNodeSize = m_UsableSize; + VkDeviceSize nextLevelNodeSize = currLevelNodeSize >> 1; + while (allocSize <= nextLevelNodeSize && level + 1 < m_LevelCount) + { + ++level; + currLevelNodeSize >>= 1; + nextLevelNodeSize >>= 1; + } + return level; +} + +void VmaBlockMetadata_Buddy::Free(VmaAllocHandle allocHandle) +{ + uint32_t level = 0; + Node* node = FindAllocationNode((VkDeviceSize)allocHandle - 1, level); + + ++m_FreeCount; + --m_AllocationCount; + m_SumFreeSize += LevelToNodeSize(level); + + node->type = Node::TYPE_FREE; + + // Join free nodes if possible. + while (level > 0 && node->buddy->type == Node::TYPE_FREE) + { + RemoveFromFreeList(level, node->buddy); + Node* const parent = node->parent; + + m_NodeAllocator.Free(node->buddy); + m_NodeAllocator.Free(node); + parent->type = Node::TYPE_FREE; + + node = parent; + --level; + --m_FreeCount; + } + + AddToFreeListFront(level, node); +} + +void VmaBlockMetadata_Buddy::AddNodeToDetailedStatistics(VmaDetailedStatistics& inoutStats, const Node* node, VkDeviceSize levelNodeSize) const +{ + switch (node->type) + { + case Node::TYPE_FREE: + VmaAddDetailedStatisticsUnusedRange(inoutStats, levelNodeSize); + break; + case Node::TYPE_ALLOCATION: + VmaAddDetailedStatisticsAllocation(inoutStats, levelNodeSize); + break; + case Node::TYPE_SPLIT: + { + const VkDeviceSize childrenNodeSize = levelNodeSize / 2; + const Node* const leftChild = node->split.leftChild; + AddNodeToDetailedStatistics(inoutStats, leftChild, childrenNodeSize); + const Node* const rightChild = leftChild->buddy; + AddNodeToDetailedStatistics(inoutStats, rightChild, childrenNodeSize); + } + break; + default: + VMA_ASSERT(0); + } +} + +void VmaBlockMetadata_Buddy::AddToFreeListFront(uint32_t level, Node* node) +{ + VMA_ASSERT(node->type == Node::TYPE_FREE); + + // List is empty. + Node* const frontNode = m_FreeList[level].front; + if (frontNode == VMA_NULL) + { + VMA_ASSERT(m_FreeList[level].back == VMA_NULL); + node->free.prev = node->free.next = VMA_NULL; + m_FreeList[level].front = m_FreeList[level].back = node; + } + else + { + VMA_ASSERT(frontNode->free.prev == VMA_NULL); + node->free.prev = VMA_NULL; + node->free.next = frontNode; + frontNode->free.prev = node; + m_FreeList[level].front = node; + } +} + +void VmaBlockMetadata_Buddy::RemoveFromFreeList(uint32_t level, Node* node) +{ + VMA_ASSERT(m_FreeList[level].front != VMA_NULL); + + // It is at the front. + if (node->free.prev == VMA_NULL) + { + VMA_ASSERT(m_FreeList[level].front == node); + m_FreeList[level].front = node->free.next; + } + else + { + Node* const prevFreeNode = node->free.prev; + VMA_ASSERT(prevFreeNode->free.next == node); + prevFreeNode->free.next = node->free.next; + } + + // It is at the back. + if (node->free.next == VMA_NULL) + { + VMA_ASSERT(m_FreeList[level].back == node); + m_FreeList[level].back = node->free.prev; + } + else + { + Node* const nextFreeNode = node->free.next; + VMA_ASSERT(nextFreeNode->free.prev == node); + nextFreeNode->free.prev = node->free.prev; + } +} + +void VmaBlockMetadata_Buddy::DebugLogAllAllocationNode(Node* node, uint32_t level) const +{ + switch (node->type) + { + case Node::TYPE_FREE: + break; + case Node::TYPE_ALLOCATION: + DebugLogAllocation(node->offset, LevelToNodeSize(level), node->allocation.userData); + break; + case Node::TYPE_SPLIT: + { + ++level; + DebugLogAllAllocationNode(node->split.leftChild, level); + DebugLogAllAllocationNode(node->split.leftChild->buddy, level); + } + break; + default: + VMA_ASSERT(0); + } +} + +#if VMA_STATS_STRING_ENABLED +void VmaBlockMetadata_Buddy::PrintDetailedMapNode(class VmaJsonWriter& json, const Node* node, VkDeviceSize levelNodeSize) const +{ + switch (node->type) + { + case Node::TYPE_FREE: + PrintDetailedMap_UnusedRange(json, node->offset, levelNodeSize); + break; + case Node::TYPE_ALLOCATION: + PrintDetailedMap_Allocation(json, node->offset, levelNodeSize, node->allocation.userData); + break; + case Node::TYPE_SPLIT: + { + const VkDeviceSize childrenNodeSize = levelNodeSize / 2; + const Node* const leftChild = node->split.leftChild; + PrintDetailedMapNode(json, leftChild, childrenNodeSize); + const Node* const rightChild = leftChild->buddy; + PrintDetailedMapNode(json, rightChild, childrenNodeSize); + } + break; + default: + VMA_ASSERT(0); + } +} +#endif // VMA_STATS_STRING_ENABLED +#endif // _VMA_BLOCK_METADATA_BUDDY_FUNCTIONS +#endif // _VMA_BLOCK_METADATA_BUDDY +#endif // #if 0 + +#ifndef _VMA_BLOCK_METADATA_TLSF +// To not search current larger region if first allocation won't succeed and skip to smaller range +// use with VMA_ALLOCATION_CREATE_STRATEGY_MIN_MEMORY_BIT as strategy in CreateAllocationRequest(). +// When fragmentation and reusal of previous blocks doesn't matter then use with +// VMA_ALLOCATION_CREATE_STRATEGY_MIN_TIME_BIT for fastest alloc time possible. +class VmaBlockMetadata_TLSF : public VmaBlockMetadata +{ + VMA_CLASS_NO_COPY(VmaBlockMetadata_TLSF) +public: + VmaBlockMetadata_TLSF(const VkAllocationCallbacks* pAllocationCallbacks, + VkDeviceSize bufferImageGranularity, bool isVirtual); + virtual ~VmaBlockMetadata_TLSF(); + + size_t GetAllocationCount() const override { return m_AllocCount; } + size_t GetFreeRegionsCount() const override { return m_BlocksFreeCount + 1; } + VkDeviceSize GetSumFreeSize() const override { return m_BlocksFreeSize + m_NullBlock->size; } + bool IsEmpty() const override { return m_NullBlock->offset == 0; } + VkDeviceSize GetAllocationOffset(VmaAllocHandle allocHandle) const override { return ((Block*)allocHandle)->offset; }; + + void Init(VkDeviceSize size) override; + bool Validate() const override; + + void AddDetailedStatistics(VmaDetailedStatistics& inoutStats) const override; + void AddStatistics(VmaStatistics& inoutStats) const override; + +#if VMA_STATS_STRING_ENABLED + void PrintDetailedMap(class VmaJsonWriter& json) const override; +#endif + + bool CreateAllocationRequest( + VkDeviceSize allocSize, + VkDeviceSize allocAlignment, + bool upperAddress, + VmaSuballocationType allocType, + uint32_t strategy, + VmaAllocationRequest* pAllocationRequest) override; + + VkResult CheckCorruption(const void* pBlockData) override; + void Alloc( + const VmaAllocationRequest& request, + VmaSuballocationType type, + void* userData) override; + + void Free(VmaAllocHandle allocHandle) override; + void GetAllocationInfo(VmaAllocHandle allocHandle, VmaVirtualAllocationInfo& outInfo) override; + void* GetAllocationUserData(VmaAllocHandle allocHandle) const override; + VmaAllocHandle GetAllocationListBegin() const override; + VmaAllocHandle GetNextAllocation(VmaAllocHandle prevAlloc) const override; + VkDeviceSize GetNextFreeRegionSize(VmaAllocHandle alloc) const override; + void Clear() override; + void SetAllocationUserData(VmaAllocHandle allocHandle, void* userData) override; + void DebugLogAllAllocations() const override; + +private: + // According to original paper it should be preferable 4 or 5: + // M. Masmano, I. Ripoll, A. Crespo, and J. Real "TLSF: a New Dynamic Memory Allocator for Real-Time Systems" + // http://www.gii.upv.es/tlsf/files/ecrts04_tlsf.pdf + static const uint8_t SECOND_LEVEL_INDEX = 5; + static const uint16_t SMALL_BUFFER_SIZE = 256; + static const uint32_t INITIAL_BLOCK_ALLOC_COUNT = 16; + static const uint8_t MEMORY_CLASS_SHIFT = 7; + static const uint8_t MAX_MEMORY_CLASSES = 65 - MEMORY_CLASS_SHIFT; + + class Block + { + public: + VkDeviceSize offset; + VkDeviceSize size; + Block* prevPhysical; + Block* nextPhysical; + + void MarkFree() { prevFree = VMA_NULL; } + void MarkTaken() { prevFree = this; } + bool IsFree() const { return prevFree != this; } + void*& UserData() { VMA_HEAVY_ASSERT(!IsFree()); return userData; } + Block*& PrevFree() { return prevFree; } + Block*& NextFree() { VMA_HEAVY_ASSERT(IsFree()); return nextFree; } + + private: + Block* prevFree; // Address of the same block here indicates that block is taken + union + { + Block* nextFree; + void* userData; + }; + }; + + size_t m_AllocCount; + // Total number of free blocks besides null block + size_t m_BlocksFreeCount; + // Total size of free blocks excluding null block + VkDeviceSize m_BlocksFreeSize; + uint32_t m_IsFreeBitmap; + uint8_t m_MemoryClasses; + uint32_t m_InnerIsFreeBitmap[MAX_MEMORY_CLASSES]; + uint32_t m_ListsCount; + /* + * 0: 0-3 lists for small buffers + * 1+: 0-(2^SLI-1) lists for normal buffers + */ + Block** m_FreeList; + VmaPoolAllocator m_BlockAllocator; + Block* m_NullBlock; + VmaBlockBufferImageGranularity m_GranularityHandler; + + uint8_t SizeToMemoryClass(VkDeviceSize size) const; + uint16_t SizeToSecondIndex(VkDeviceSize size, uint8_t memoryClass) const; + uint32_t GetListIndex(uint8_t memoryClass, uint16_t secondIndex) const; + uint32_t GetListIndex(VkDeviceSize size) const; + + void RemoveFreeBlock(Block* block); + void InsertFreeBlock(Block* block); + void MergeBlock(Block* block, Block* prev); + + Block* FindFreeBlock(VkDeviceSize size, uint32_t& listIndex) const; + bool CheckBlock( + Block& block, + uint32_t listIndex, + VkDeviceSize allocSize, + VkDeviceSize allocAlignment, + VmaSuballocationType allocType, + VmaAllocationRequest* pAllocationRequest); +}; + +#ifndef _VMA_BLOCK_METADATA_TLSF_FUNCTIONS +VmaBlockMetadata_TLSF::VmaBlockMetadata_TLSF(const VkAllocationCallbacks* pAllocationCallbacks, + VkDeviceSize bufferImageGranularity, bool isVirtual) + : VmaBlockMetadata(pAllocationCallbacks, bufferImageGranularity, isVirtual), + m_AllocCount(0), + m_BlocksFreeCount(0), + m_BlocksFreeSize(0), + m_IsFreeBitmap(0), + m_MemoryClasses(0), + m_ListsCount(0), + m_FreeList(VMA_NULL), + m_BlockAllocator(pAllocationCallbacks, INITIAL_BLOCK_ALLOC_COUNT), + m_NullBlock(VMA_NULL), + m_GranularityHandler(bufferImageGranularity) {} + +VmaBlockMetadata_TLSF::~VmaBlockMetadata_TLSF() +{ + if (m_FreeList) + vma_delete_array(GetAllocationCallbacks(), m_FreeList, m_ListsCount); + m_GranularityHandler.Destroy(GetAllocationCallbacks()); +} + +void VmaBlockMetadata_TLSF::Init(VkDeviceSize size) +{ + VmaBlockMetadata::Init(size); + + if (!IsVirtual()) + m_GranularityHandler.Init(GetAllocationCallbacks(), size); + + m_NullBlock = m_BlockAllocator.Alloc(); + m_NullBlock->size = size; + m_NullBlock->offset = 0; + m_NullBlock->prevPhysical = VMA_NULL; + m_NullBlock->nextPhysical = VMA_NULL; + m_NullBlock->MarkFree(); + m_NullBlock->NextFree() = VMA_NULL; + m_NullBlock->PrevFree() = VMA_NULL; + uint8_t memoryClass = SizeToMemoryClass(size); + uint16_t sli = SizeToSecondIndex(size, memoryClass); + m_ListsCount = (memoryClass == 0 ? 0 : (memoryClass - 1) * (1UL << SECOND_LEVEL_INDEX) + sli) + 1; + if (IsVirtual()) + m_ListsCount += 1UL << SECOND_LEVEL_INDEX; + else + m_ListsCount += 4; + + m_MemoryClasses = memoryClass + 2; + memset(m_InnerIsFreeBitmap, 0, MAX_MEMORY_CLASSES * sizeof(uint32_t)); + + m_FreeList = vma_new_array(GetAllocationCallbacks(), Block*, m_ListsCount); + memset(m_FreeList, 0, m_ListsCount * sizeof(Block*)); +} + +bool VmaBlockMetadata_TLSF::Validate() const +{ + VMA_VALIDATE(GetSumFreeSize() <= GetSize()); + + VkDeviceSize calculatedSize = m_NullBlock->size; + VkDeviceSize calculatedFreeSize = m_NullBlock->size; + size_t allocCount = 0; + size_t freeCount = 0; + + // Check integrity of free lists + for (uint32_t list = 0; list < m_ListsCount; ++list) + { + Block* block = m_FreeList[list]; + if (block != VMA_NULL) + { + VMA_VALIDATE(block->IsFree()); + VMA_VALIDATE(block->PrevFree() == VMA_NULL); + while (block->NextFree()) + { + VMA_VALIDATE(block->NextFree()->IsFree()); + VMA_VALIDATE(block->NextFree()->PrevFree() == block); + block = block->NextFree(); + } + } + } + + VkDeviceSize nextOffset = m_NullBlock->offset; + auto validateCtx = m_GranularityHandler.StartValidation(GetAllocationCallbacks(), IsVirtual()); + + VMA_VALIDATE(m_NullBlock->nextPhysical == VMA_NULL); + if (m_NullBlock->prevPhysical) + { + VMA_VALIDATE(m_NullBlock->prevPhysical->nextPhysical == m_NullBlock); + } + // Check all blocks + for (Block* prev = m_NullBlock->prevPhysical; prev != VMA_NULL; prev = prev->prevPhysical) + { + VMA_VALIDATE(prev->offset + prev->size == nextOffset); + nextOffset = prev->offset; + calculatedSize += prev->size; + + uint32_t listIndex = GetListIndex(prev->size); + if (prev->IsFree()) + { + ++freeCount; + // Check if free block belongs to free list + Block* freeBlock = m_FreeList[listIndex]; + VMA_VALIDATE(freeBlock != VMA_NULL); + + bool found = false; + do + { + if (freeBlock == prev) + found = true; + + freeBlock = freeBlock->NextFree(); + } while (!found && freeBlock != VMA_NULL); + + VMA_VALIDATE(found); + calculatedFreeSize += prev->size; + } + else + { + ++allocCount; + // Check if taken block is not on a free list + Block* freeBlock = m_FreeList[listIndex]; + while (freeBlock) + { + VMA_VALIDATE(freeBlock != prev); + freeBlock = freeBlock->NextFree(); + } + + if (!IsVirtual()) + { + VMA_VALIDATE(m_GranularityHandler.Validate(validateCtx, prev->offset, prev->size)); + } + } + + if (prev->prevPhysical) + { + VMA_VALIDATE(prev->prevPhysical->nextPhysical == prev); + } + } + + if (!IsVirtual()) + { + VMA_VALIDATE(m_GranularityHandler.FinishValidation(validateCtx)); + } + + VMA_VALIDATE(nextOffset == 0); + VMA_VALIDATE(calculatedSize == GetSize()); + VMA_VALIDATE(calculatedFreeSize == GetSumFreeSize()); + VMA_VALIDATE(allocCount == m_AllocCount); + VMA_VALIDATE(freeCount == m_BlocksFreeCount); + + return true; +} + +void VmaBlockMetadata_TLSF::AddDetailedStatistics(VmaDetailedStatistics& inoutStats) const +{ + inoutStats.statistics.blockCount++; + inoutStats.statistics.blockBytes += GetSize(); + if (m_NullBlock->size > 0) + VmaAddDetailedStatisticsUnusedRange(inoutStats, m_NullBlock->size); + + for (Block* block = m_NullBlock->prevPhysical; block != VMA_NULL; block = block->prevPhysical) + { + if (block->IsFree()) + VmaAddDetailedStatisticsUnusedRange(inoutStats, block->size); + else + VmaAddDetailedStatisticsAllocation(inoutStats, block->size); + } +} + +void VmaBlockMetadata_TLSF::AddStatistics(VmaStatistics& inoutStats) const +{ + inoutStats.blockCount++; + inoutStats.allocationCount += (uint32_t)m_AllocCount; + inoutStats.blockBytes += GetSize(); + inoutStats.allocationBytes += GetSize() - GetSumFreeSize(); +} + +#if VMA_STATS_STRING_ENABLED +void VmaBlockMetadata_TLSF::PrintDetailedMap(class VmaJsonWriter& json) const +{ + size_t blockCount = m_AllocCount + m_BlocksFreeCount; + VmaStlAllocator allocator(GetAllocationCallbacks()); + VmaVector> blockList(blockCount, allocator); + + size_t i = blockCount; + for (Block* block = m_NullBlock->prevPhysical; block != VMA_NULL; block = block->prevPhysical) + { + blockList[--i] = block; + } + VMA_ASSERT(i == 0); + + VmaDetailedStatistics stats; + VmaClearDetailedStatistics(stats); + AddDetailedStatistics(stats); + + PrintDetailedMap_Begin(json, + stats.statistics.blockBytes - stats.statistics.allocationBytes, + stats.statistics.allocationCount, + stats.unusedRangeCount); + + for (; i < blockCount; ++i) + { + Block* block = blockList[i]; + if (block->IsFree()) + PrintDetailedMap_UnusedRange(json, block->offset, block->size); + else + PrintDetailedMap_Allocation(json, block->offset, block->size, block->UserData()); + } + if (m_NullBlock->size > 0) + PrintDetailedMap_UnusedRange(json, m_NullBlock->offset, m_NullBlock->size); + + PrintDetailedMap_End(json); +} +#endif + +bool VmaBlockMetadata_TLSF::CreateAllocationRequest( + VkDeviceSize allocSize, + VkDeviceSize allocAlignment, + bool upperAddress, + VmaSuballocationType allocType, + uint32_t strategy, + VmaAllocationRequest* pAllocationRequest) +{ + VMA_ASSERT(allocSize > 0 && "Cannot allocate empty block!"); + VMA_ASSERT(!upperAddress && "VMA_ALLOCATION_CREATE_UPPER_ADDRESS_BIT can be used only with linear algorithm."); + + // For small granularity round up + if (!IsVirtual()) + m_GranularityHandler.RoundupAllocRequest(allocType, allocSize, allocAlignment); + + allocSize += GetDebugMargin(); + // Quick check for too small pool + if (allocSize > GetSumFreeSize()) + return false; + + // If no free blocks in pool then check only null block + if (m_BlocksFreeCount == 0) + return CheckBlock(*m_NullBlock, m_ListsCount, allocSize, allocAlignment, allocType, pAllocationRequest); + + // Round up to the next block + VkDeviceSize sizeForNextList = allocSize; + VkDeviceSize smallSizeStep = SMALL_BUFFER_SIZE / (IsVirtual() ? 1 << SECOND_LEVEL_INDEX : 4); + if (allocSize > SMALL_BUFFER_SIZE) + { + sizeForNextList += (1ULL << (VMA_BITSCAN_MSB(allocSize) - SECOND_LEVEL_INDEX)); + } + else if (allocSize > SMALL_BUFFER_SIZE - smallSizeStep) + sizeForNextList = SMALL_BUFFER_SIZE + 1; + else + sizeForNextList += smallSizeStep; + + uint32_t nextListIndex = 0; + uint32_t prevListIndex = 0; + Block* nextListBlock = VMA_NULL; + Block* prevListBlock = VMA_NULL; + + // Check blocks according to strategies + if (strategy & VMA_ALLOCATION_CREATE_STRATEGY_MIN_TIME_BIT) + { + // Quick check for larger block first + nextListBlock = FindFreeBlock(sizeForNextList, nextListIndex); + if (nextListBlock != VMA_NULL && CheckBlock(*nextListBlock, nextListIndex, allocSize, allocAlignment, allocType, pAllocationRequest)) + return true; + + // If not fitted then null block + if (CheckBlock(*m_NullBlock, m_ListsCount, allocSize, allocAlignment, allocType, pAllocationRequest)) + return true; + + // Null block failed, search larger bucket + while (nextListBlock) + { + if (CheckBlock(*nextListBlock, nextListIndex, allocSize, allocAlignment, allocType, pAllocationRequest)) + return true; + nextListBlock = nextListBlock->NextFree(); + } + + // Failed again, check best fit bucket + prevListBlock = FindFreeBlock(allocSize, prevListIndex); + while (prevListBlock) + { + if (CheckBlock(*prevListBlock, prevListIndex, allocSize, allocAlignment, allocType, pAllocationRequest)) + return true; + prevListBlock = prevListBlock->NextFree(); + } + } + else if (strategy & VMA_ALLOCATION_CREATE_STRATEGY_MIN_MEMORY_BIT) + { + // Check best fit bucket + prevListBlock = FindFreeBlock(allocSize, prevListIndex); + while (prevListBlock) + { + if (CheckBlock(*prevListBlock, prevListIndex, allocSize, allocAlignment, allocType, pAllocationRequest)) + return true; + prevListBlock = prevListBlock->NextFree(); + } + + // If failed check null block + if (CheckBlock(*m_NullBlock, m_ListsCount, allocSize, allocAlignment, allocType, pAllocationRequest)) + return true; + + // Check larger bucket + nextListBlock = FindFreeBlock(sizeForNextList, nextListIndex); + while (nextListBlock) + { + if (CheckBlock(*nextListBlock, nextListIndex, allocSize, allocAlignment, allocType, pAllocationRequest)) + return true; + nextListBlock = nextListBlock->NextFree(); + } + } + else if (strategy & VMA_ALLOCATION_CREATE_STRATEGY_MIN_OFFSET_BIT ) + { + // Perform search from the start + VmaStlAllocator allocator(GetAllocationCallbacks()); + VmaVector> blockList(m_BlocksFreeCount, allocator); + + size_t i = m_BlocksFreeCount; + for (Block* block = m_NullBlock->prevPhysical; block != VMA_NULL; block = block->prevPhysical) + { + if (block->IsFree() && block->size >= allocSize) + blockList[--i] = block; + } + + for (; i < m_BlocksFreeCount; ++i) + { + Block& block = *blockList[i]; + if (CheckBlock(block, GetListIndex(block.size), allocSize, allocAlignment, allocType, pAllocationRequest)) + return true; + } + + // If failed check null block + if (CheckBlock(*m_NullBlock, m_ListsCount, allocSize, allocAlignment, allocType, pAllocationRequest)) + return true; + + // Whole range searched, no more memory + return false; + } + else + { + // Check larger bucket + nextListBlock = FindFreeBlock(sizeForNextList, nextListIndex); + while (nextListBlock) + { + if (CheckBlock(*nextListBlock, nextListIndex, allocSize, allocAlignment, allocType, pAllocationRequest)) + return true; + nextListBlock = nextListBlock->NextFree(); + } + + // If failed check null block + if (CheckBlock(*m_NullBlock, m_ListsCount, allocSize, allocAlignment, allocType, pAllocationRequest)) + return true; + + // Check best fit bucket + prevListBlock = FindFreeBlock(allocSize, prevListIndex); + while (prevListBlock) + { + if (CheckBlock(*prevListBlock, prevListIndex, allocSize, allocAlignment, allocType, pAllocationRequest)) + return true; + prevListBlock = prevListBlock->NextFree(); + } + } + + // Worst case, full search has to be done + while (++nextListIndex < m_ListsCount) + { + nextListBlock = m_FreeList[nextListIndex]; + while (nextListBlock) + { + if (CheckBlock(*nextListBlock, nextListIndex, allocSize, allocAlignment, allocType, pAllocationRequest)) + return true; + nextListBlock = nextListBlock->NextFree(); + } + } + + // No more memory sadly + return false; +} + +VkResult VmaBlockMetadata_TLSF::CheckCorruption(const void* pBlockData) +{ + for (Block* block = m_NullBlock->prevPhysical; block != VMA_NULL; block = block->prevPhysical) + { + if (!block->IsFree()) + { + if (!VmaValidateMagicValue(pBlockData, block->offset + block->size)) + { + VMA_ASSERT(0 && "MEMORY CORRUPTION DETECTED AFTER VALIDATED ALLOCATION!"); + return VK_ERROR_UNKNOWN_COPY; + } + } + } + + return VK_SUCCESS; +} + +void VmaBlockMetadata_TLSF::Alloc( + const VmaAllocationRequest& request, + VmaSuballocationType type, + void* userData) +{ + VMA_ASSERT(request.type == VmaAllocationRequestType::TLSF); + + // Get block and pop it from the free list + Block* currentBlock = (Block*)request.allocHandle; + VkDeviceSize offset = request.algorithmData; + VMA_ASSERT(currentBlock != VMA_NULL); + VMA_ASSERT(currentBlock->offset <= offset); + + if (currentBlock != m_NullBlock) + RemoveFreeBlock(currentBlock); + + VkDeviceSize debugMargin = GetDebugMargin(); + VkDeviceSize misssingAlignment = offset - currentBlock->offset; + + // Append missing alignment to prev block or create new one + if (misssingAlignment) + { + Block* prevBlock = currentBlock->prevPhysical; + VMA_ASSERT(prevBlock != VMA_NULL && "There should be no missing alignment at offset 0!"); + + if (prevBlock->IsFree() && prevBlock->size != debugMargin) + { + uint32_t oldList = GetListIndex(prevBlock->size); + prevBlock->size += misssingAlignment; + // Check if new size crosses list bucket + if (oldList != GetListIndex(prevBlock->size)) + { + prevBlock->size -= misssingAlignment; + RemoveFreeBlock(prevBlock); + prevBlock->size += misssingAlignment; + InsertFreeBlock(prevBlock); + } + else + m_BlocksFreeSize += misssingAlignment; + } + else + { + Block* newBlock = m_BlockAllocator.Alloc(); + currentBlock->prevPhysical = newBlock; + prevBlock->nextPhysical = newBlock; + newBlock->prevPhysical = prevBlock; + newBlock->nextPhysical = currentBlock; + newBlock->size = misssingAlignment; + newBlock->offset = currentBlock->offset; + newBlock->MarkTaken(); + + InsertFreeBlock(newBlock); + } + + currentBlock->size -= misssingAlignment; + currentBlock->offset += misssingAlignment; + } + + VkDeviceSize size = request.size + debugMargin; + if (currentBlock->size == size) + { + if (currentBlock == m_NullBlock) + { + // Setup new null block + m_NullBlock = m_BlockAllocator.Alloc(); + m_NullBlock->size = 0; + m_NullBlock->offset = currentBlock->offset + size; + m_NullBlock->prevPhysical = currentBlock; + m_NullBlock->nextPhysical = VMA_NULL; + m_NullBlock->MarkFree(); + m_NullBlock->PrevFree() = VMA_NULL; + m_NullBlock->NextFree() = VMA_NULL; + currentBlock->nextPhysical = m_NullBlock; + currentBlock->MarkTaken(); + } + } + else + { + VMA_ASSERT(currentBlock->size > size && "Proper block already found, shouldn't find smaller one!"); + + // Create new free block + Block* newBlock = m_BlockAllocator.Alloc(); + newBlock->size = currentBlock->size - size; + newBlock->offset = currentBlock->offset + size; + newBlock->prevPhysical = currentBlock; + newBlock->nextPhysical = currentBlock->nextPhysical; + currentBlock->nextPhysical = newBlock; + currentBlock->size = size; + + if (currentBlock == m_NullBlock) + { + m_NullBlock = newBlock; + m_NullBlock->MarkFree(); + m_NullBlock->NextFree() = VMA_NULL; + m_NullBlock->PrevFree() = VMA_NULL; + currentBlock->MarkTaken(); + } + else + { + newBlock->nextPhysical->prevPhysical = newBlock; + newBlock->MarkTaken(); + InsertFreeBlock(newBlock); + } + } + currentBlock->UserData() = userData; + + if (debugMargin > 0) + { + currentBlock->size -= debugMargin; + Block* newBlock = m_BlockAllocator.Alloc(); + newBlock->size = debugMargin; + newBlock->offset = currentBlock->offset + currentBlock->size; + newBlock->prevPhysical = currentBlock; + newBlock->nextPhysical = currentBlock->nextPhysical; + newBlock->MarkTaken(); + currentBlock->nextPhysical->prevPhysical = newBlock; + currentBlock->nextPhysical = newBlock; + InsertFreeBlock(newBlock); + } + + if (!IsVirtual()) + m_GranularityHandler.AllocPages((uint8_t)(uintptr_t)request.customData, + currentBlock->offset, currentBlock->size); + ++m_AllocCount; +} + +void VmaBlockMetadata_TLSF::Free(VmaAllocHandle allocHandle) +{ + Block* block = (Block*)allocHandle; + Block* next = block->nextPhysical; + VMA_ASSERT(!block->IsFree() && "Block is already free!"); + + if (!IsVirtual()) + m_GranularityHandler.FreePages(block->offset, block->size); + --m_AllocCount; + + VkDeviceSize debugMargin = GetDebugMargin(); + if (debugMargin > 0) + { + RemoveFreeBlock(next); + MergeBlock(next, block); + block = next; + next = next->nextPhysical; + } + + // Try merging + Block* prev = block->prevPhysical; + if (prev != VMA_NULL && prev->IsFree() && prev->size != debugMargin) + { + RemoveFreeBlock(prev); + MergeBlock(block, prev); + } + + if (!next->IsFree()) + InsertFreeBlock(block); + else if (next == m_NullBlock) + MergeBlock(m_NullBlock, block); + else + { + RemoveFreeBlock(next); + MergeBlock(next, block); + InsertFreeBlock(next); + } +} + +void VmaBlockMetadata_TLSF::GetAllocationInfo(VmaAllocHandle allocHandle, VmaVirtualAllocationInfo& outInfo) +{ + Block* block = (Block*)allocHandle; + VMA_ASSERT(!block->IsFree() && "Cannot get allocation info for free block!"); + outInfo.offset = block->offset; + outInfo.size = block->size; + outInfo.pUserData = block->UserData(); +} + +void* VmaBlockMetadata_TLSF::GetAllocationUserData(VmaAllocHandle allocHandle) const +{ + Block* block = (Block*)allocHandle; + VMA_ASSERT(!block->IsFree() && "Cannot get user data for free block!"); + return block->UserData(); +} + +VmaAllocHandle VmaBlockMetadata_TLSF::GetAllocationListBegin() const +{ + if (m_AllocCount == 0) + return VK_NULL_HANDLE; + + for (Block* block = m_NullBlock->prevPhysical; block; block = block->prevPhysical) + { + if (!block->IsFree()) + return (VmaAllocHandle)block; + } + VMA_ASSERT(false && "If m_AllocCount > 0 then should find any allocation!"); + return VK_NULL_HANDLE; +} + +VmaAllocHandle VmaBlockMetadata_TLSF::GetNextAllocation(VmaAllocHandle prevAlloc) const +{ + Block* startBlock = (Block*)prevAlloc; + VMA_ASSERT(!startBlock->IsFree() && "Incorrect block!"); + + for (Block* block = startBlock->prevPhysical; block; block = block->prevPhysical) + { + if (!block->IsFree()) + return (VmaAllocHandle)block; + } + return VK_NULL_HANDLE; +} + +VkDeviceSize VmaBlockMetadata_TLSF::GetNextFreeRegionSize(VmaAllocHandle alloc) const +{ + Block* block = (Block*)alloc; + VMA_ASSERT(!block->IsFree() && "Incorrect block!"); + + if (block->prevPhysical) + return block->prevPhysical->IsFree() ? block->prevPhysical->size : 0; + return 0; +} + +void VmaBlockMetadata_TLSF::Clear() +{ + m_AllocCount = 0; + m_BlocksFreeCount = 0; + m_BlocksFreeSize = 0; + m_IsFreeBitmap = 0; + m_NullBlock->offset = 0; + m_NullBlock->size = GetSize(); + Block* block = m_NullBlock->prevPhysical; + m_NullBlock->prevPhysical = VMA_NULL; + while (block) + { + Block* prev = block->prevPhysical; + m_BlockAllocator.Free(block); + block = prev; + } + memset(m_FreeList, 0, m_ListsCount * sizeof(Block*)); + memset(m_InnerIsFreeBitmap, 0, m_MemoryClasses * sizeof(uint32_t)); + m_GranularityHandler.Clear(); +} + +void VmaBlockMetadata_TLSF::SetAllocationUserData(VmaAllocHandle allocHandle, void* userData) +{ + Block* block = (Block*)allocHandle; + VMA_ASSERT(!block->IsFree() && "Trying to set user data for not allocated block!"); + block->UserData() = userData; +} + +void VmaBlockMetadata_TLSF::DebugLogAllAllocations() const +{ + for (Block* block = m_NullBlock->prevPhysical; block != VMA_NULL; block = block->prevPhysical) + if (!block->IsFree()) + DebugLogAllocation(block->offset, block->size, block->UserData()); +} + +uint8_t VmaBlockMetadata_TLSF::SizeToMemoryClass(VkDeviceSize size) const +{ + if (size > SMALL_BUFFER_SIZE) + return VMA_BITSCAN_MSB(size) - MEMORY_CLASS_SHIFT; + return 0; +} + +uint16_t VmaBlockMetadata_TLSF::SizeToSecondIndex(VkDeviceSize size, uint8_t memoryClass) const +{ + if (memoryClass == 0) + { + if (IsVirtual()) + return static_cast((size - 1) / 8); + else + return static_cast((size - 1) / 64); + } + return static_cast((size >> (memoryClass + MEMORY_CLASS_SHIFT - SECOND_LEVEL_INDEX)) ^ (1U << SECOND_LEVEL_INDEX)); +} + +uint32_t VmaBlockMetadata_TLSF::GetListIndex(uint8_t memoryClass, uint16_t secondIndex) const +{ + if (memoryClass == 0) + return secondIndex; + + const uint32_t index = static_cast(memoryClass - 1) * (1 << SECOND_LEVEL_INDEX) + secondIndex; + if (IsVirtual()) + return index + (1 << SECOND_LEVEL_INDEX); + else + return index + 4; +} + +uint32_t VmaBlockMetadata_TLSF::GetListIndex(VkDeviceSize size) const +{ + uint8_t memoryClass = SizeToMemoryClass(size); + return GetListIndex(memoryClass, SizeToSecondIndex(size, memoryClass)); +} + +void VmaBlockMetadata_TLSF::RemoveFreeBlock(Block* block) +{ + VMA_ASSERT(block != m_NullBlock); + VMA_ASSERT(block->IsFree()); + + if (block->NextFree() != VMA_NULL) + block->NextFree()->PrevFree() = block->PrevFree(); + if (block->PrevFree() != VMA_NULL) + block->PrevFree()->NextFree() = block->NextFree(); + else + { + uint8_t memClass = SizeToMemoryClass(block->size); + uint16_t secondIndex = SizeToSecondIndex(block->size, memClass); + uint32_t index = GetListIndex(memClass, secondIndex); + VMA_ASSERT(m_FreeList[index] == block); + m_FreeList[index] = block->NextFree(); + if (block->NextFree() == VMA_NULL) + { + m_InnerIsFreeBitmap[memClass] &= ~(1U << secondIndex); + if (m_InnerIsFreeBitmap[memClass] == 0) + m_IsFreeBitmap &= ~(1UL << memClass); + } + } + block->MarkTaken(); + block->UserData() = VMA_NULL; + --m_BlocksFreeCount; + m_BlocksFreeSize -= block->size; +} + +void VmaBlockMetadata_TLSF::InsertFreeBlock(Block* block) +{ + VMA_ASSERT(block != m_NullBlock); + VMA_ASSERT(!block->IsFree() && "Cannot insert block twice!"); + + uint8_t memClass = SizeToMemoryClass(block->size); + uint16_t secondIndex = SizeToSecondIndex(block->size, memClass); + uint32_t index = GetListIndex(memClass, secondIndex); + VMA_ASSERT(index < m_ListsCount); + block->PrevFree() = VMA_NULL; + block->NextFree() = m_FreeList[index]; + m_FreeList[index] = block; + if (block->NextFree() != VMA_NULL) + block->NextFree()->PrevFree() = block; + else + { + m_InnerIsFreeBitmap[memClass] |= 1U << secondIndex; + m_IsFreeBitmap |= 1UL << memClass; + } + ++m_BlocksFreeCount; + m_BlocksFreeSize += block->size; +} + +void VmaBlockMetadata_TLSF::MergeBlock(Block* block, Block* prev) +{ + VMA_ASSERT(block->prevPhysical == prev && "Cannot merge seperate physical regions!"); + VMA_ASSERT(!prev->IsFree() && "Cannot merge block that belongs to free list!"); + + block->offset = prev->offset; + block->size += prev->size; + block->prevPhysical = prev->prevPhysical; + if (block->prevPhysical) + block->prevPhysical->nextPhysical = block; + m_BlockAllocator.Free(prev); +} + +VmaBlockMetadata_TLSF::Block* VmaBlockMetadata_TLSF::FindFreeBlock(VkDeviceSize size, uint32_t& listIndex) const +{ + uint8_t memoryClass = SizeToMemoryClass(size); + uint32_t innerFreeMap = m_InnerIsFreeBitmap[memoryClass] & (~0U << SizeToSecondIndex(size, memoryClass)); + if (!innerFreeMap) + { + // Check higher levels for avaiable blocks + uint32_t freeMap = m_IsFreeBitmap & (~0UL << (memoryClass + 1)); + if (!freeMap) + return VMA_NULL; // No more memory avaible + + // Find lowest free region + memoryClass = VMA_BITSCAN_LSB(freeMap); + innerFreeMap = m_InnerIsFreeBitmap[memoryClass]; + VMA_ASSERT(innerFreeMap != 0); + } + // Find lowest free subregion + listIndex = GetListIndex(memoryClass, VMA_BITSCAN_LSB(innerFreeMap)); + VMA_ASSERT(m_FreeList[listIndex]); + return m_FreeList[listIndex]; +} + +bool VmaBlockMetadata_TLSF::CheckBlock( + Block& block, + uint32_t listIndex, + VkDeviceSize allocSize, + VkDeviceSize allocAlignment, + VmaSuballocationType allocType, + VmaAllocationRequest* pAllocationRequest) +{ + VMA_ASSERT(block.IsFree() && "Block is already taken!"); + + VkDeviceSize alignedOffset = VmaAlignUp(block.offset, allocAlignment); + if (block.size < allocSize + alignedOffset - block.offset) + return false; + + // Check for granularity conflicts + if (!IsVirtual() && + m_GranularityHandler.CheckConflictAndAlignUp(alignedOffset, allocSize, block.offset, block.size, allocType)) + return false; + + // Alloc successful + pAllocationRequest->type = VmaAllocationRequestType::TLSF; + pAllocationRequest->allocHandle = (VmaAllocHandle)█ + pAllocationRequest->size = allocSize - GetDebugMargin(); + pAllocationRequest->customData = (void*)allocType; + pAllocationRequest->algorithmData = alignedOffset; + + // Place block at the start of list if it's normal block + if (listIndex != m_ListsCount && block.PrevFree()) + { + block.PrevFree()->NextFree() = block.NextFree(); + if (block.NextFree()) + block.NextFree()->PrevFree() = block.PrevFree(); + block.PrevFree() = VMA_NULL; + block.NextFree() = m_FreeList[listIndex]; + m_FreeList[listIndex] = █ + if (block.NextFree()) + block.NextFree()->PrevFree() = █ + } + + return true; +} +#endif // _VMA_BLOCK_METADATA_TLSF_FUNCTIONS +#endif // _VMA_BLOCK_METADATA_TLSF + +#ifndef _VMA_BLOCK_VECTOR +/* +Sequence of VmaDeviceMemoryBlock. Represents memory blocks allocated for a specific +Vulkan memory type. + +Synchronized internally with a mutex. +*/ +class VmaBlockVector +{ + friend struct VmaDefragmentationContext_T; + VMA_CLASS_NO_COPY(VmaBlockVector) +public: + VmaBlockVector( + VmaAllocator hAllocator, + VmaPool hParentPool, + uint32_t memoryTypeIndex, + VkDeviceSize preferredBlockSize, + size_t minBlockCount, + size_t maxBlockCount, + VkDeviceSize bufferImageGranularity, + bool explicitBlockSize, + uint32_t algorithm, + float priority, + VkDeviceSize minAllocationAlignment, + void* pMemoryAllocateNext); + ~VmaBlockVector(); + + VmaAllocator GetAllocator() const { return m_hAllocator; } + VmaPool GetParentPool() const { return m_hParentPool; } + bool IsCustomPool() const { return m_hParentPool != VMA_NULL; } + uint32_t GetMemoryTypeIndex() const { return m_MemoryTypeIndex; } + VkDeviceSize GetPreferredBlockSize() const { return m_PreferredBlockSize; } + VkDeviceSize GetBufferImageGranularity() const { return m_BufferImageGranularity; } + uint32_t GetAlgorithm() const { return m_Algorithm; } + bool HasExplicitBlockSize() const { return m_ExplicitBlockSize; } + float GetPriority() const { return m_Priority; } + const void* GetAllocationNextPtr() const { return m_pMemoryAllocateNext; } + // To be used only while the m_Mutex is locked. Used during defragmentation. + size_t GetBlockCount() const { return m_Blocks.size(); } + // To be used only while the m_Mutex is locked. Used during defragmentation. + VmaDeviceMemoryBlock* GetBlock(size_t index) const { return m_Blocks[index]; } + VMA_RW_MUTEX &GetMutex() { return m_Mutex; } + + VkResult CreateMinBlocks(); + void AddStatistics(VmaStatistics& inoutStats); + void AddDetailedStatistics(VmaDetailedStatistics& inoutStats); + bool IsEmpty(); + bool IsCorruptionDetectionEnabled() const; + + VkResult Allocate( + VkDeviceSize size, + VkDeviceSize alignment, + const VmaAllocationCreateInfo& createInfo, + VmaSuballocationType suballocType, + size_t allocationCount, + VmaAllocation* pAllocations); + + void Free(const VmaAllocation hAllocation); + +#if VMA_STATS_STRING_ENABLED + void PrintDetailedMap(class VmaJsonWriter& json); +#endif + + VkResult CheckCorruption(); + +private: + const VmaAllocator m_hAllocator; + const VmaPool m_hParentPool; + const uint32_t m_MemoryTypeIndex; + const VkDeviceSize m_PreferredBlockSize; + const size_t m_MinBlockCount; + const size_t m_MaxBlockCount; + const VkDeviceSize m_BufferImageGranularity; + const bool m_ExplicitBlockSize; + const uint32_t m_Algorithm; + const float m_Priority; + const VkDeviceSize m_MinAllocationAlignment; + + void* const m_pMemoryAllocateNext; + VMA_RW_MUTEX m_Mutex; + // Incrementally sorted by sumFreeSize, ascending. + VmaVector> m_Blocks; + uint32_t m_NextBlockId; + bool m_IncrementalSort = true; + + void SetIncrementalSort(bool val) { m_IncrementalSort = val; } + + VkDeviceSize CalcMaxBlockSize() const; + // Finds and removes given block from vector. + void Remove(VmaDeviceMemoryBlock* pBlock); + // Performs single step in sorting m_Blocks. They may not be fully sorted + // after this call. + void IncrementallySortBlocks(); + void SortByFreeSize(); + + VkResult AllocatePage( + VkDeviceSize size, + VkDeviceSize alignment, + const VmaAllocationCreateInfo& createInfo, + VmaSuballocationType suballocType, + VmaAllocation* pAllocation); + + VkResult AllocateFromBlock( + VmaDeviceMemoryBlock* pBlock, + VkDeviceSize size, + VkDeviceSize alignment, + VmaAllocationCreateFlags allocFlags, + void* pUserData, + VmaSuballocationType suballocType, + uint32_t strategy, + VmaAllocation* pAllocation); + + VkResult CommitAllocationRequest( + VmaAllocationRequest& allocRequest, + VmaDeviceMemoryBlock* pBlock, + VkDeviceSize alignment, + VmaAllocationCreateFlags allocFlags, + void* pUserData, + VmaSuballocationType suballocType, + VmaAllocation* pAllocation); + + VkResult CreateBlock(VkDeviceSize blockSize, size_t* pNewBlockIndex); + bool HasEmptyBlock(); +}; +#endif // _VMA_BLOCK_VECTOR + +#ifndef _VMA_DEFRAGMENTATION_CONTEXT +struct VmaDefragmentationContext_T +{ + VMA_CLASS_NO_COPY(VmaDefragmentationContext_T) +public: + VmaDefragmentationContext_T( + VmaAllocator hAllocator, + const VmaDefragmentationInfo& info); + ~VmaDefragmentationContext_T(); + + void GetStats(VmaDefragmentationStats& outStats) { outStats = m_GlobalStats; } + + VkResult DefragmentPassBegin(VmaDefragmentationPassMoveInfo& moveInfo); + VkResult DefragmentPassEnd(VmaDefragmentationPassMoveInfo& moveInfo); + +private: + // Max number of allocations to ignore due to size constraints before ending single pass + static const uint8_t MAX_ALLOCS_TO_IGNORE = 16; + enum class CounterStatus { Pass, Ignore, End }; + + struct FragmentedBlock + { + uint32_t data; + VmaDeviceMemoryBlock* block; + }; + struct StateBalanced + { + VkDeviceSize avgFreeSize = 0; + VkDeviceSize avgAllocSize = UINT64_MAX; + }; + struct StateExtensive + { + enum class Operation : uint8_t + { + FindFreeBlockBuffer, FindFreeBlockTexture, FindFreeBlockAll, + MoveBuffers, MoveTextures, MoveAll, + Cleanup, Done + }; + + Operation operation = Operation::FindFreeBlockTexture; + size_t firstFreeBlock = SIZE_MAX; + }; + struct MoveAllocationData + { + VkDeviceSize size; + VkDeviceSize alignment; + VmaSuballocationType type; + VmaAllocationCreateFlags flags; + VmaDefragmentationMove move = {}; + }; + + const VkDeviceSize m_MaxPassBytes; + const uint32_t m_MaxPassAllocations; + + VmaStlAllocator m_MoveAllocator; + VmaVector> m_Moves; + + uint8_t m_IgnoredAllocs = 0; + uint32_t m_Algorithm; + uint32_t m_BlockVectorCount; + VmaBlockVector* m_PoolBlockVector; + VmaBlockVector** m_pBlockVectors; + size_t m_ImmovableBlockCount = 0; + VmaDefragmentationStats m_GlobalStats = { 0 }; + VmaDefragmentationStats m_PassStats = { 0 }; + void* m_AlgorithmState = VMA_NULL; + + static MoveAllocationData GetMoveData(VmaAllocHandle handle, VmaBlockMetadata* metadata); + CounterStatus CheckCounters(VkDeviceSize bytes); + bool IncrementCounters(VkDeviceSize bytes); + bool ReallocWithinBlock(VmaBlockVector& vector, VmaDeviceMemoryBlock* block); + bool AllocInOtherBlock(size_t start, size_t end, MoveAllocationData& data, VmaBlockVector& vector); + + bool ComputeDefragmentation(VmaBlockVector& vector, size_t index); + bool ComputeDefragmentation_Fast(VmaBlockVector& vector); + bool ComputeDefragmentation_Balanced(VmaBlockVector& vector, size_t index, bool update); + bool ComputeDefragmentation_Full(VmaBlockVector& vector); + bool ComputeDefragmentation_Extensive(VmaBlockVector& vector, size_t index); + + void UpdateVectorStatistics(VmaBlockVector& vector, StateBalanced& state); + bool MoveDataToFreeBlocks(VmaSuballocationType currentType, + VmaBlockVector& vector, size_t firstFreeBlock, + bool& texturePresent, bool& bufferPresent, bool& otherPresent); +}; +#endif // _VMA_DEFRAGMENTATION_CONTEXT + +#ifndef _VMA_POOL_T +struct VmaPool_T +{ + friend struct VmaPoolListItemTraits; + VMA_CLASS_NO_COPY(VmaPool_T) +public: + VmaBlockVector m_BlockVector; + VmaDedicatedAllocationList m_DedicatedAllocations; + + VmaPool_T( + VmaAllocator hAllocator, + const VmaPoolCreateInfo& createInfo, + VkDeviceSize preferredBlockSize); + ~VmaPool_T(); + + uint32_t GetId() const { return m_Id; } + void SetId(uint32_t id) { VMA_ASSERT(m_Id == 0); m_Id = id; } + + const char* GetName() const { return m_Name; } + void SetName(const char* pName); + +#if VMA_STATS_STRING_ENABLED + //void PrintDetailedMap(class VmaStringBuilder& sb); +#endif + +private: + uint32_t m_Id; + char* m_Name; + VmaPool_T* m_PrevPool = VMA_NULL; + VmaPool_T* m_NextPool = VMA_NULL; +}; + +struct VmaPoolListItemTraits +{ + typedef VmaPool_T ItemType; + + static ItemType* GetPrev(const ItemType* item) { return item->m_PrevPool; } + static ItemType* GetNext(const ItemType* item) { return item->m_NextPool; } + static ItemType*& AccessPrev(ItemType* item) { return item->m_PrevPool; } + static ItemType*& AccessNext(ItemType* item) { return item->m_NextPool; } +}; +#endif // _VMA_POOL_T + +#ifndef _VMA_CURRENT_BUDGET_DATA +struct VmaCurrentBudgetData +{ + VMA_ATOMIC_UINT32 m_BlockCount[VK_MAX_MEMORY_HEAPS]; + VMA_ATOMIC_UINT32 m_AllocationCount[VK_MAX_MEMORY_HEAPS]; + VMA_ATOMIC_UINT64 m_BlockBytes[VK_MAX_MEMORY_HEAPS]; + VMA_ATOMIC_UINT64 m_AllocationBytes[VK_MAX_MEMORY_HEAPS]; + +#if VMA_MEMORY_BUDGET + VMA_ATOMIC_UINT32 m_OperationsSinceBudgetFetch; + VMA_RW_MUTEX m_BudgetMutex; + uint64_t m_VulkanUsage[VK_MAX_MEMORY_HEAPS]; + uint64_t m_VulkanBudget[VK_MAX_MEMORY_HEAPS]; + uint64_t m_BlockBytesAtBudgetFetch[VK_MAX_MEMORY_HEAPS]; +#endif // VMA_MEMORY_BUDGET + + VmaCurrentBudgetData(); + + void AddAllocation(uint32_t heapIndex, VkDeviceSize allocationSize); + void RemoveAllocation(uint32_t heapIndex, VkDeviceSize allocationSize); +}; + +#ifndef _VMA_CURRENT_BUDGET_DATA_FUNCTIONS +VmaCurrentBudgetData::VmaCurrentBudgetData() +{ + for (uint32_t heapIndex = 0; heapIndex < VK_MAX_MEMORY_HEAPS; ++heapIndex) + { + m_BlockCount[heapIndex] = 0; + m_AllocationCount[heapIndex] = 0; + m_BlockBytes[heapIndex] = 0; + m_AllocationBytes[heapIndex] = 0; +#if VMA_MEMORY_BUDGET + m_VulkanUsage[heapIndex] = 0; + m_VulkanBudget[heapIndex] = 0; + m_BlockBytesAtBudgetFetch[heapIndex] = 0; +#endif + } + +#if VMA_MEMORY_BUDGET + m_OperationsSinceBudgetFetch = 0; +#endif +} + +void VmaCurrentBudgetData::AddAllocation(uint32_t heapIndex, VkDeviceSize allocationSize) +{ + m_AllocationBytes[heapIndex] += allocationSize; + ++m_AllocationCount[heapIndex]; +#if VMA_MEMORY_BUDGET + ++m_OperationsSinceBudgetFetch; +#endif +} + +void VmaCurrentBudgetData::RemoveAllocation(uint32_t heapIndex, VkDeviceSize allocationSize) +{ + VMA_ASSERT(m_AllocationBytes[heapIndex] >= allocationSize); + m_AllocationBytes[heapIndex] -= allocationSize; + VMA_ASSERT(m_AllocationCount[heapIndex] > 0); + --m_AllocationCount[heapIndex]; +#if VMA_MEMORY_BUDGET + ++m_OperationsSinceBudgetFetch; +#endif +} +#endif // _VMA_CURRENT_BUDGET_DATA_FUNCTIONS +#endif // _VMA_CURRENT_BUDGET_DATA + +#ifndef _VMA_ALLOCATION_OBJECT_ALLOCATOR +/* +Thread-safe wrapper over VmaPoolAllocator free list, for allocation of VmaAllocation_T objects. +*/ +class VmaAllocationObjectAllocator +{ + VMA_CLASS_NO_COPY(VmaAllocationObjectAllocator) +public: + VmaAllocationObjectAllocator(const VkAllocationCallbacks* pAllocationCallbacks) + : m_Allocator(pAllocationCallbacks, 1024) {} + + template VmaAllocation Allocate(Types&&... args); + void Free(VmaAllocation hAlloc); + +private: + VMA_MUTEX m_Mutex; + VmaPoolAllocator m_Allocator; +}; + +template +VmaAllocation VmaAllocationObjectAllocator::Allocate(Types&&... args) +{ + VmaMutexLock mutexLock(m_Mutex); + return m_Allocator.Alloc(std::forward(args)...); +} + +void VmaAllocationObjectAllocator::Free(VmaAllocation hAlloc) +{ + VmaMutexLock mutexLock(m_Mutex); + m_Allocator.Free(hAlloc); +} +#endif // _VMA_ALLOCATION_OBJECT_ALLOCATOR + +#ifndef _VMA_VIRTUAL_BLOCK_T +struct VmaVirtualBlock_T +{ + VMA_CLASS_NO_COPY(VmaVirtualBlock_T) +public: + const bool m_AllocationCallbacksSpecified; + const VkAllocationCallbacks m_AllocationCallbacks; + + VmaVirtualBlock_T(const VmaVirtualBlockCreateInfo& createInfo); + ~VmaVirtualBlock_T(); + + VkResult Init() { return VK_SUCCESS; } + bool IsEmpty() const { return m_Metadata->IsEmpty(); } + void Free(VmaVirtualAllocation allocation) { m_Metadata->Free((VmaAllocHandle)allocation); } + void SetAllocationUserData(VmaVirtualAllocation allocation, void* userData) { m_Metadata->SetAllocationUserData((VmaAllocHandle)allocation, userData); } + void Clear() { m_Metadata->Clear(); } + + const VkAllocationCallbacks* GetAllocationCallbacks() const; + void GetAllocationInfo(VmaVirtualAllocation allocation, VmaVirtualAllocationInfo& outInfo); + VkResult Allocate(const VmaVirtualAllocationCreateInfo& createInfo, VmaVirtualAllocation& outAllocation, + VkDeviceSize* outOffset); + void GetStatistics(VmaStatistics& outStats) const; + void CalculateDetailedStatistics(VmaDetailedStatistics& outStats) const; +#if VMA_STATS_STRING_ENABLED + void BuildStatsString(bool detailedMap, VmaStringBuilder& sb) const; +#endif + +private: + VmaBlockMetadata* m_Metadata; +}; + +#ifndef _VMA_VIRTUAL_BLOCK_T_FUNCTIONS +VmaVirtualBlock_T::VmaVirtualBlock_T(const VmaVirtualBlockCreateInfo& createInfo) + : m_AllocationCallbacksSpecified(createInfo.pAllocationCallbacks != VMA_NULL), + m_AllocationCallbacks(createInfo.pAllocationCallbacks != VMA_NULL ? *createInfo.pAllocationCallbacks : VmaEmptyAllocationCallbacks) +{ + const uint32_t algorithm = createInfo.flags & VMA_VIRTUAL_BLOCK_CREATE_ALGORITHM_MASK; + switch (algorithm) + { + default: + VMA_ASSERT(0); + case 0: + m_Metadata = vma_new(GetAllocationCallbacks(), VmaBlockMetadata_TLSF)(VK_NULL_HANDLE, 1, true); + break; + case VMA_VIRTUAL_BLOCK_CREATE_LINEAR_ALGORITHM_BIT: + m_Metadata = vma_new(GetAllocationCallbacks(), VmaBlockMetadata_Linear)(VK_NULL_HANDLE, 1, true); + break; + } + + m_Metadata->Init(createInfo.size); +} + +VmaVirtualBlock_T::~VmaVirtualBlock_T() +{ + // Define macro VMA_DEBUG_LOG to receive the list of the unfreed allocations + if (!m_Metadata->IsEmpty()) + m_Metadata->DebugLogAllAllocations(); + // This is the most important assert in the entire library. + // Hitting it means you have some memory leak - unreleased virtual allocations. + VMA_ASSERT(m_Metadata->IsEmpty() && "Some virtual allocations were not freed before destruction of this virtual block!"); + + vma_delete(GetAllocationCallbacks(), m_Metadata); +} + +const VkAllocationCallbacks* VmaVirtualBlock_T::GetAllocationCallbacks() const +{ + return m_AllocationCallbacksSpecified ? &m_AllocationCallbacks : VMA_NULL; +} + +void VmaVirtualBlock_T::GetAllocationInfo(VmaVirtualAllocation allocation, VmaVirtualAllocationInfo& outInfo) +{ + m_Metadata->GetAllocationInfo((VmaAllocHandle)allocation, outInfo); +} + +VkResult VmaVirtualBlock_T::Allocate(const VmaVirtualAllocationCreateInfo& createInfo, VmaVirtualAllocation& outAllocation, + VkDeviceSize* outOffset) +{ + VmaAllocationRequest request = {}; + if (m_Metadata->CreateAllocationRequest( + createInfo.size, // allocSize + VMA_MAX(createInfo.alignment, (VkDeviceSize)1), // allocAlignment + (createInfo.flags & VMA_VIRTUAL_ALLOCATION_CREATE_UPPER_ADDRESS_BIT) != 0, // upperAddress + VMA_SUBALLOCATION_TYPE_UNKNOWN, // allocType - unimportant + createInfo.flags & VMA_VIRTUAL_ALLOCATION_CREATE_STRATEGY_MASK, // strategy + &request)) + { + m_Metadata->Alloc(request, + VMA_SUBALLOCATION_TYPE_UNKNOWN, // type - unimportant + createInfo.pUserData); + outAllocation = (VmaVirtualAllocation)request.allocHandle; + if(outOffset) + *outOffset = m_Metadata->GetAllocationOffset(request.allocHandle); + return VK_SUCCESS; + } + outAllocation = (VmaVirtualAllocation)VK_NULL_HANDLE; + if (outOffset) + *outOffset = UINT64_MAX; + return VK_ERROR_OUT_OF_DEVICE_MEMORY; +} + +void VmaVirtualBlock_T::GetStatistics(VmaStatistics& outStats) const +{ + VmaClearStatistics(outStats); + m_Metadata->AddStatistics(outStats); +} + +void VmaVirtualBlock_T::CalculateDetailedStatistics(VmaDetailedStatistics& outStats) const +{ + VmaClearDetailedStatistics(outStats); + m_Metadata->AddDetailedStatistics(outStats); +} + +#if VMA_STATS_STRING_ENABLED +void VmaVirtualBlock_T::BuildStatsString(bool detailedMap, VmaStringBuilder& sb) const +{ + VmaJsonWriter json(GetAllocationCallbacks(), sb); + json.BeginObject(); + + VmaDetailedStatistics stats; + CalculateDetailedStatistics(stats); + + json.WriteString("Stats"); + VmaPrintDetailedStatistics(json, stats); + + if (detailedMap) + { + json.WriteString("Details"); + json.BeginObject(); + m_Metadata->PrintDetailedMap(json); + json.EndObject(); + } + + json.EndObject(); +} +#endif // VMA_STATS_STRING_ENABLED +#endif // _VMA_VIRTUAL_BLOCK_T_FUNCTIONS +#endif // _VMA_VIRTUAL_BLOCK_T + + +// Main allocator object. +struct VmaAllocator_T +{ + VMA_CLASS_NO_COPY(VmaAllocator_T) +public: + bool m_UseMutex; + uint32_t m_VulkanApiVersion; + bool m_UseKhrDedicatedAllocation; // Can be set only if m_VulkanApiVersion < VK_MAKE_VERSION(1, 1, 0). + bool m_UseKhrBindMemory2; // Can be set only if m_VulkanApiVersion < VK_MAKE_VERSION(1, 1, 0). + bool m_UseExtMemoryBudget; + bool m_UseAmdDeviceCoherentMemory; + bool m_UseKhrBufferDeviceAddress; + bool m_UseExtMemoryPriority; + VkDevice m_hDevice; + VkInstance m_hInstance; + bool m_AllocationCallbacksSpecified; + VkAllocationCallbacks m_AllocationCallbacks; + VmaDeviceMemoryCallbacks m_DeviceMemoryCallbacks; + VmaAllocationObjectAllocator m_AllocationObjectAllocator; + + // Each bit (1 << i) is set if HeapSizeLimit is enabled for that heap, so cannot allocate more than the heap size. + uint32_t m_HeapSizeLimitMask; + + VkPhysicalDeviceProperties m_PhysicalDeviceProperties; + VkPhysicalDeviceMemoryProperties m_MemProps; + + // Default pools. + VmaBlockVector* m_pBlockVectors[VK_MAX_MEMORY_TYPES]; + VmaDedicatedAllocationList m_DedicatedAllocations[VK_MAX_MEMORY_TYPES]; + + VmaCurrentBudgetData m_Budget; + VMA_ATOMIC_UINT32 m_DeviceMemoryCount; // Total number of VkDeviceMemory objects. + + VmaAllocator_T(const VmaAllocatorCreateInfo* pCreateInfo); + VkResult Init(const VmaAllocatorCreateInfo* pCreateInfo); + ~VmaAllocator_T(); + + const VkAllocationCallbacks* GetAllocationCallbacks() const + { + return m_AllocationCallbacksSpecified ? &m_AllocationCallbacks : VMA_NULL; + } + const VmaVulkanFunctions& GetVulkanFunctions() const + { + return m_VulkanFunctions; + } + + VkPhysicalDevice GetPhysicalDevice() const { return m_PhysicalDevice; } + + VkDeviceSize GetBufferImageGranularity() const + { + return VMA_MAX( + static_cast(VMA_DEBUG_MIN_BUFFER_IMAGE_GRANULARITY), + m_PhysicalDeviceProperties.limits.bufferImageGranularity); + } + + uint32_t GetMemoryHeapCount() const { return m_MemProps.memoryHeapCount; } + uint32_t GetMemoryTypeCount() const { return m_MemProps.memoryTypeCount; } + + uint32_t MemoryTypeIndexToHeapIndex(uint32_t memTypeIndex) const + { + VMA_ASSERT(memTypeIndex < m_MemProps.memoryTypeCount); + return m_MemProps.memoryTypes[memTypeIndex].heapIndex; + } + // True when specific memory type is HOST_VISIBLE but not HOST_COHERENT. + bool IsMemoryTypeNonCoherent(uint32_t memTypeIndex) const + { + return (m_MemProps.memoryTypes[memTypeIndex].propertyFlags & (VK_MEMORY_PROPERTY_HOST_VISIBLE_BIT | VK_MEMORY_PROPERTY_HOST_COHERENT_BIT)) == + VK_MEMORY_PROPERTY_HOST_VISIBLE_BIT; + } + // Minimum alignment for all allocations in specific memory type. + VkDeviceSize GetMemoryTypeMinAlignment(uint32_t memTypeIndex) const + { + return IsMemoryTypeNonCoherent(memTypeIndex) ? + VMA_MAX((VkDeviceSize)VMA_MIN_ALIGNMENT, m_PhysicalDeviceProperties.limits.nonCoherentAtomSize) : + (VkDeviceSize)VMA_MIN_ALIGNMENT; + } + + bool IsIntegratedGpu() const + { + return m_PhysicalDeviceProperties.deviceType == VK_PHYSICAL_DEVICE_TYPE_INTEGRATED_GPU; + } + + uint32_t GetGlobalMemoryTypeBits() const { return m_GlobalMemoryTypeBits; } + + void GetBufferMemoryRequirements( + VkBuffer hBuffer, + VkMemoryRequirements& memReq, + bool& requiresDedicatedAllocation, + bool& prefersDedicatedAllocation) const; + void GetImageMemoryRequirements( + VkImage hImage, + VkMemoryRequirements& memReq, + bool& requiresDedicatedAllocation, + bool& prefersDedicatedAllocation) const; + VkResult FindMemoryTypeIndex( + uint32_t memoryTypeBits, + const VmaAllocationCreateInfo* pAllocationCreateInfo, + VkFlags bufImgUsage, // VkBufferCreateInfo::usage or VkImageCreateInfo::usage. UINT32_MAX if unknown. + uint32_t* pMemoryTypeIndex) const; + + // Main allocation function. + VkResult AllocateMemory( + const VkMemoryRequirements& vkMemReq, + bool requiresDedicatedAllocation, + bool prefersDedicatedAllocation, + VkBuffer dedicatedBuffer, + VkImage dedicatedImage, + VkFlags dedicatedBufferImageUsage, // UINT32_MAX if unknown. + const VmaAllocationCreateInfo& createInfo, + VmaSuballocationType suballocType, + size_t allocationCount, + VmaAllocation* pAllocations); + + // Main deallocation function. + void FreeMemory( + size_t allocationCount, + const VmaAllocation* pAllocations); + + void CalculateStatistics(VmaTotalStatistics* pStats); + + void GetHeapBudgets( + VmaBudget* outBudgets, uint32_t firstHeap, uint32_t heapCount); + +#if VMA_STATS_STRING_ENABLED + void PrintDetailedMap(class VmaJsonWriter& json); +#endif + + void GetAllocationInfo(VmaAllocation hAllocation, VmaAllocationInfo* pAllocationInfo); + + VkResult CreatePool(const VmaPoolCreateInfo* pCreateInfo, VmaPool* pPool); + void DestroyPool(VmaPool pool); + void GetPoolStatistics(VmaPool pool, VmaStatistics* pPoolStats); + void CalculatePoolStatistics(VmaPool pool, VmaDetailedStatistics* pPoolStats); + + void SetCurrentFrameIndex(uint32_t frameIndex); + uint32_t GetCurrentFrameIndex() const { return m_CurrentFrameIndex.load(); } + + VkResult CheckPoolCorruption(VmaPool hPool); + VkResult CheckCorruption(uint32_t memoryTypeBits); + + // Call to Vulkan function vkAllocateMemory with accompanying bookkeeping. + VkResult AllocateVulkanMemory(const VkMemoryAllocateInfo* pAllocateInfo, VkDeviceMemory* pMemory); + // Call to Vulkan function vkFreeMemory with accompanying bookkeeping. + void FreeVulkanMemory(uint32_t memoryType, VkDeviceSize size, VkDeviceMemory hMemory); + // Call to Vulkan function vkBindBufferMemory or vkBindBufferMemory2KHR. + VkResult BindVulkanBuffer( + VkDeviceMemory memory, + VkDeviceSize memoryOffset, + VkBuffer buffer, + const void* pNext); + // Call to Vulkan function vkBindImageMemory or vkBindImageMemory2KHR. + VkResult BindVulkanImage( + VkDeviceMemory memory, + VkDeviceSize memoryOffset, + VkImage image, + const void* pNext); + + VkResult Map(VmaAllocation hAllocation, void** ppData); + void Unmap(VmaAllocation hAllocation); + + VkResult BindBufferMemory( + VmaAllocation hAllocation, + VkDeviceSize allocationLocalOffset, + VkBuffer hBuffer, + const void* pNext); + VkResult BindImageMemory( + VmaAllocation hAllocation, + VkDeviceSize allocationLocalOffset, + VkImage hImage, + const void* pNext); + + VkResult FlushOrInvalidateAllocation( + VmaAllocation hAllocation, + VkDeviceSize offset, VkDeviceSize size, + VMA_CACHE_OPERATION op); + VkResult FlushOrInvalidateAllocations( + uint32_t allocationCount, + const VmaAllocation* allocations, + const VkDeviceSize* offsets, const VkDeviceSize* sizes, + VMA_CACHE_OPERATION op); + + void FillAllocation(const VmaAllocation hAllocation, uint8_t pattern); + + /* + Returns bit mask of memory types that can support defragmentation on GPU as + they support creation of required buffer for copy operations. + */ + uint32_t GetGpuDefragmentationMemoryTypeBits(); + +#if VMA_EXTERNAL_MEMORY + VkExternalMemoryHandleTypeFlagsKHR GetExternalMemoryHandleTypeFlags(uint32_t memTypeIndex) const + { + return m_TypeExternalMemoryHandleTypes[memTypeIndex]; + } +#endif // #if VMA_EXTERNAL_MEMORY + +private: + VkDeviceSize m_PreferredLargeHeapBlockSize; + + VkPhysicalDevice m_PhysicalDevice; + VMA_ATOMIC_UINT32 m_CurrentFrameIndex; + VMA_ATOMIC_UINT32 m_GpuDefragmentationMemoryTypeBits; // UINT32_MAX means uninitialized. +#if VMA_EXTERNAL_MEMORY + VkExternalMemoryHandleTypeFlagsKHR m_TypeExternalMemoryHandleTypes[VK_MAX_MEMORY_TYPES]; +#endif // #if VMA_EXTERNAL_MEMORY + + VMA_RW_MUTEX m_PoolsMutex; + typedef VmaIntrusiveLinkedList PoolList; + // Protected by m_PoolsMutex. + PoolList m_Pools; + uint32_t m_NextPoolId; + + VmaVulkanFunctions m_VulkanFunctions; + + // Global bit mask AND-ed with any memoryTypeBits to disallow certain memory types. + uint32_t m_GlobalMemoryTypeBits; + + void ImportVulkanFunctions(const VmaVulkanFunctions* pVulkanFunctions); + +#if VMA_STATIC_VULKAN_FUNCTIONS == 1 + void ImportVulkanFunctions_Static(); +#endif + + void ImportVulkanFunctions_Custom(const VmaVulkanFunctions* pVulkanFunctions); + +#if VMA_DYNAMIC_VULKAN_FUNCTIONS == 1 + void ImportVulkanFunctions_Dynamic(); +#endif + + void ValidateVulkanFunctions(); + + VkDeviceSize CalcPreferredBlockSize(uint32_t memTypeIndex); + + VkResult AllocateMemoryOfType( + VmaPool pool, + VkDeviceSize size, + VkDeviceSize alignment, + bool dedicatedPreferred, + VkBuffer dedicatedBuffer, + VkImage dedicatedImage, + VkFlags dedicatedBufferImageUsage, + const VmaAllocationCreateInfo& createInfo, + uint32_t memTypeIndex, + VmaSuballocationType suballocType, + VmaDedicatedAllocationList& dedicatedAllocations, + VmaBlockVector& blockVector, + size_t allocationCount, + VmaAllocation* pAllocations); + + // Helper function only to be used inside AllocateDedicatedMemory. + VkResult AllocateDedicatedMemoryPage( + VmaPool pool, + VkDeviceSize size, + VmaSuballocationType suballocType, + uint32_t memTypeIndex, + const VkMemoryAllocateInfo& allocInfo, + bool map, + bool isUserDataString, + bool isMappingAllowed, + void* pUserData, + VmaAllocation* pAllocation); + + // Allocates and registers new VkDeviceMemory specifically for dedicated allocations. + VkResult AllocateDedicatedMemory( + VmaPool pool, + VkDeviceSize size, + VmaSuballocationType suballocType, + VmaDedicatedAllocationList& dedicatedAllocations, + uint32_t memTypeIndex, + bool map, + bool isUserDataString, + bool isMappingAllowed, + bool canAliasMemory, + void* pUserData, + float priority, + VkBuffer dedicatedBuffer, + VkImage dedicatedImage, + VkFlags dedicatedBufferImageUsage, + size_t allocationCount, + VmaAllocation* pAllocations, + const void* pNextChain = nullptr); + + void FreeDedicatedMemory(const VmaAllocation allocation); + + VkResult CalcMemTypeParams( + VmaAllocationCreateInfo& outCreateInfo, + uint32_t memTypeIndex, + VkDeviceSize size, + size_t allocationCount); + VkResult CalcAllocationParams( + VmaAllocationCreateInfo& outCreateInfo, + bool dedicatedRequired, + bool dedicatedPreferred); + + /* + Calculates and returns bit mask of memory types that can support defragmentation + on GPU as they support creation of required buffer for copy operations. + */ + uint32_t CalculateGpuDefragmentationMemoryTypeBits() const; + uint32_t CalculateGlobalMemoryTypeBits() const; + + bool GetFlushOrInvalidateRange( + VmaAllocation allocation, + VkDeviceSize offset, VkDeviceSize size, + VkMappedMemoryRange& outRange) const; + +#if VMA_MEMORY_BUDGET + void UpdateVulkanBudget(); +#endif // #if VMA_MEMORY_BUDGET +}; + + +#ifndef _VMA_MEMORY_FUNCTIONS +static void* VmaMalloc(VmaAllocator hAllocator, size_t size, size_t alignment) +{ + return VmaMalloc(&hAllocator->m_AllocationCallbacks, size, alignment); +} + +static void VmaFree(VmaAllocator hAllocator, void* ptr) +{ + VmaFree(&hAllocator->m_AllocationCallbacks, ptr); +} + +template +static T* VmaAllocate(VmaAllocator hAllocator) +{ + return (T*)VmaMalloc(hAllocator, sizeof(T), VMA_ALIGN_OF(T)); +} + +template +static T* VmaAllocateArray(VmaAllocator hAllocator, size_t count) +{ + return (T*)VmaMalloc(hAllocator, sizeof(T) * count, VMA_ALIGN_OF(T)); +} + +template +static void vma_delete(VmaAllocator hAllocator, T* ptr) +{ + if(ptr != VMA_NULL) + { + ptr->~T(); + VmaFree(hAllocator, ptr); + } +} + +template +static void vma_delete_array(VmaAllocator hAllocator, T* ptr, size_t count) +{ + if(ptr != VMA_NULL) + { + for(size_t i = count; i--; ) + ptr[i].~T(); + VmaFree(hAllocator, ptr); + } +} +#endif // _VMA_MEMORY_FUNCTIONS + +#ifndef _VMA_DEVICE_MEMORY_BLOCK_FUNCTIONS +VmaDeviceMemoryBlock::VmaDeviceMemoryBlock(VmaAllocator hAllocator) + : m_pMetadata(VMA_NULL), + m_MemoryTypeIndex(UINT32_MAX), + m_Id(0), + m_hMemory(VK_NULL_HANDLE), + m_MapCount(0), + m_pMappedData(VMA_NULL) {} + +VmaDeviceMemoryBlock::~VmaDeviceMemoryBlock() +{ + VMA_ASSERT(m_MapCount == 0 && "VkDeviceMemory block is being destroyed while it is still mapped."); + VMA_ASSERT(m_hMemory == VK_NULL_HANDLE); +} + +void VmaDeviceMemoryBlock::Init( + VmaAllocator hAllocator, + VmaPool hParentPool, + uint32_t newMemoryTypeIndex, + VkDeviceMemory newMemory, + VkDeviceSize newSize, + uint32_t id, + uint32_t algorithm, + VkDeviceSize bufferImageGranularity) +{ + VMA_ASSERT(m_hMemory == VK_NULL_HANDLE); + + m_hParentPool = hParentPool; + m_MemoryTypeIndex = newMemoryTypeIndex; + m_Id = id; + m_hMemory = newMemory; + + switch (algorithm) + { + case VMA_POOL_CREATE_LINEAR_ALGORITHM_BIT: + m_pMetadata = vma_new(hAllocator, VmaBlockMetadata_Linear)(hAllocator->GetAllocationCallbacks(), + bufferImageGranularity, false); // isVirtual + break; + default: + VMA_ASSERT(0); + // Fall-through. + case 0: + m_pMetadata = vma_new(hAllocator, VmaBlockMetadata_TLSF)(hAllocator->GetAllocationCallbacks(), + bufferImageGranularity, false); // isVirtual + } + m_pMetadata->Init(newSize); +} + +void VmaDeviceMemoryBlock::Destroy(VmaAllocator allocator) +{ + // Define macro VMA_DEBUG_LOG to receive the list of the unfreed allocations + if (!m_pMetadata->IsEmpty()) + m_pMetadata->DebugLogAllAllocations(); + // This is the most important assert in the entire library. + // Hitting it means you have some memory leak - unreleased VmaAllocation objects. + VMA_ASSERT(m_pMetadata->IsEmpty() && "Some allocations were not freed before destruction of this memory block!"); + + VMA_ASSERT(m_hMemory != VK_NULL_HANDLE); + allocator->FreeVulkanMemory(m_MemoryTypeIndex, m_pMetadata->GetSize(), m_hMemory); + m_hMemory = VK_NULL_HANDLE; + + vma_delete(allocator, m_pMetadata); + m_pMetadata = VMA_NULL; +} + +void VmaDeviceMemoryBlock::PostFree(VmaAllocator hAllocator) +{ + if(m_MappingHysteresis.PostFree()) + { + VMA_ASSERT(m_MappingHysteresis.GetExtraMapping() == 0); + if (m_MapCount == 0) + { + m_pMappedData = VMA_NULL; + (*hAllocator->GetVulkanFunctions().vkUnmapMemory)(hAllocator->m_hDevice, m_hMemory); + } + } +} + +bool VmaDeviceMemoryBlock::Validate() const +{ + VMA_VALIDATE((m_hMemory != VK_NULL_HANDLE) && + (m_pMetadata->GetSize() != 0)); + + return m_pMetadata->Validate(); +} + +VkResult VmaDeviceMemoryBlock::CheckCorruption(VmaAllocator hAllocator) +{ + void* pData = nullptr; + VkResult res = Map(hAllocator, 1, &pData); + if (res != VK_SUCCESS) + { + return res; + } + + res = m_pMetadata->CheckCorruption(pData); + + Unmap(hAllocator, 1); + + return res; +} + +VkResult VmaDeviceMemoryBlock::Map(VmaAllocator hAllocator, uint32_t count, void** ppData) +{ + if (count == 0) + { + return VK_SUCCESS; + } + + VmaMutexLock lock(m_MapAndBindMutex, hAllocator->m_UseMutex); + const uint32_t oldTotalMapCount = m_MapCount + m_MappingHysteresis.GetExtraMapping(); + m_MappingHysteresis.PostMap(); + if (oldTotalMapCount != 0) + { + m_MapCount += count; + VMA_ASSERT(m_pMappedData != VMA_NULL); + if (ppData != VMA_NULL) + { + *ppData = m_pMappedData; + } + return VK_SUCCESS; + } + else + { + VkResult result = (*hAllocator->GetVulkanFunctions().vkMapMemory)( + hAllocator->m_hDevice, + m_hMemory, + 0, // offset + VK_WHOLE_SIZE, + 0, // flags + &m_pMappedData); + if (result == VK_SUCCESS) + { + if (ppData != VMA_NULL) + { + *ppData = m_pMappedData; + } + m_MapCount = count; + } + return result; + } +} + +void VmaDeviceMemoryBlock::Unmap(VmaAllocator hAllocator, uint32_t count) +{ + if (count == 0) + { + return; + } + + VmaMutexLock lock(m_MapAndBindMutex, hAllocator->m_UseMutex); + if (m_MapCount >= count) + { + m_MapCount -= count; + const uint32_t totalMapCount = m_MapCount + m_MappingHysteresis.GetExtraMapping(); + if (totalMapCount == 0) + { + m_pMappedData = VMA_NULL; + (*hAllocator->GetVulkanFunctions().vkUnmapMemory)(hAllocator->m_hDevice, m_hMemory); + } + m_MappingHysteresis.PostUnmap(); + } + else + { + VMA_ASSERT(0 && "VkDeviceMemory block is being unmapped while it was not previously mapped."); + } +} + +VkResult VmaDeviceMemoryBlock::WriteMagicValueAfterAllocation(VmaAllocator hAllocator, VkDeviceSize allocOffset, VkDeviceSize allocSize) +{ + VMA_ASSERT(VMA_DEBUG_MARGIN > 0 && VMA_DEBUG_MARGIN % 4 == 0 && VMA_DEBUG_DETECT_CORRUPTION); + + void* pData; + VkResult res = Map(hAllocator, 1, &pData); + if (res != VK_SUCCESS) + { + return res; + } + + VmaWriteMagicValue(pData, allocOffset + allocSize); + + Unmap(hAllocator, 1); + return VK_SUCCESS; +} + +VkResult VmaDeviceMemoryBlock::ValidateMagicValueAfterAllocation(VmaAllocator hAllocator, VkDeviceSize allocOffset, VkDeviceSize allocSize) +{ + VMA_ASSERT(VMA_DEBUG_MARGIN > 0 && VMA_DEBUG_MARGIN % 4 == 0 && VMA_DEBUG_DETECT_CORRUPTION); + + void* pData; + VkResult res = Map(hAllocator, 1, &pData); + if (res != VK_SUCCESS) + { + return res; + } + + if (!VmaValidateMagicValue(pData, allocOffset + allocSize)) + { + VMA_ASSERT(0 && "MEMORY CORRUPTION DETECTED AFTER FREED ALLOCATION!"); + } + + Unmap(hAllocator, 1); + return VK_SUCCESS; +} + +VkResult VmaDeviceMemoryBlock::BindBufferMemory( + const VmaAllocator hAllocator, + const VmaAllocation hAllocation, + VkDeviceSize allocationLocalOffset, + VkBuffer hBuffer, + const void* pNext) +{ + VMA_ASSERT(hAllocation->GetType() == VmaAllocation_T::ALLOCATION_TYPE_BLOCK && + hAllocation->GetBlock() == this); + VMA_ASSERT(allocationLocalOffset < hAllocation->GetSize() && + "Invalid allocationLocalOffset. Did you forget that this offset is relative to the beginning of the allocation, not the whole memory block?"); + const VkDeviceSize memoryOffset = hAllocation->GetOffset() + allocationLocalOffset; + // This lock is important so that we don't call vkBind... and/or vkMap... simultaneously on the same VkDeviceMemory from multiple threads. + VmaMutexLock lock(m_MapAndBindMutex, hAllocator->m_UseMutex); + return hAllocator->BindVulkanBuffer(m_hMemory, memoryOffset, hBuffer, pNext); +} + +VkResult VmaDeviceMemoryBlock::BindImageMemory( + const VmaAllocator hAllocator, + const VmaAllocation hAllocation, + VkDeviceSize allocationLocalOffset, + VkImage hImage, + const void* pNext) +{ + VMA_ASSERT(hAllocation->GetType() == VmaAllocation_T::ALLOCATION_TYPE_BLOCK && + hAllocation->GetBlock() == this); + VMA_ASSERT(allocationLocalOffset < hAllocation->GetSize() && + "Invalid allocationLocalOffset. Did you forget that this offset is relative to the beginning of the allocation, not the whole memory block?"); + const VkDeviceSize memoryOffset = hAllocation->GetOffset() + allocationLocalOffset; + // This lock is important so that we don't call vkBind... and/or vkMap... simultaneously on the same VkDeviceMemory from multiple threads. + VmaMutexLock lock(m_MapAndBindMutex, hAllocator->m_UseMutex); + return hAllocator->BindVulkanImage(m_hMemory, memoryOffset, hImage, pNext); +} +#endif // _VMA_DEVICE_MEMORY_BLOCK_FUNCTIONS + +#ifndef _VMA_ALLOCATION_T_FUNCTIONS +VmaAllocation_T::VmaAllocation_T(bool mappingAllowed) + : m_Alignment{ 1 }, + m_Size{ 0 }, + m_pUserData{ VMA_NULL }, + m_pName{ VMA_NULL }, + m_MemoryTypeIndex{ 0 }, + m_Type{ (uint8_t)ALLOCATION_TYPE_NONE }, + m_SuballocationType{ (uint8_t)VMA_SUBALLOCATION_TYPE_UNKNOWN }, + m_MapCount{ 0 }, + m_Flags{ 0 } +{ + if(mappingAllowed) + m_Flags |= (uint8_t)FLAG_MAPPING_ALLOWED; + +#if VMA_STATS_STRING_ENABLED + m_BufferImageUsage = 0; +#endif +} + +VmaAllocation_T::~VmaAllocation_T() +{ + VMA_ASSERT(m_MapCount == 0 && "Allocation was not unmapped before destruction."); + + // Check if owned string was freed. + VMA_ASSERT(m_pName == VMA_NULL); +} + +void VmaAllocation_T::InitBlockAllocation( + VmaDeviceMemoryBlock* block, + VmaAllocHandle allocHandle, + VkDeviceSize alignment, + VkDeviceSize size, + uint32_t memoryTypeIndex, + VmaSuballocationType suballocationType, + bool mapped) +{ + VMA_ASSERT(m_Type == ALLOCATION_TYPE_NONE); + VMA_ASSERT(block != VMA_NULL); + m_Type = (uint8_t)ALLOCATION_TYPE_BLOCK; + m_Alignment = alignment; + m_Size = size; + m_MemoryTypeIndex = memoryTypeIndex; + if(mapped) + { + VMA_ASSERT(IsMappingAllowed() && "Mapping is not allowed on this allocation! Please use one of the new VMA_ALLOCATION_CREATE_HOST_ACCESS_* flags when creating it."); + m_Flags |= (uint8_t)FLAG_PERSISTENT_MAP; + } + m_SuballocationType = (uint8_t)suballocationType; + m_BlockAllocation.m_Block = block; + m_BlockAllocation.m_AllocHandle = allocHandle; +} + +void VmaAllocation_T::InitDedicatedAllocation( + VmaPool hParentPool, + uint32_t memoryTypeIndex, + VkDeviceMemory hMemory, + VmaSuballocationType suballocationType, + void* pMappedData, + VkDeviceSize size) +{ + VMA_ASSERT(m_Type == ALLOCATION_TYPE_NONE); + VMA_ASSERT(hMemory != VK_NULL_HANDLE); + m_Type = (uint8_t)ALLOCATION_TYPE_DEDICATED; + m_Alignment = 0; + m_Size = size; + m_MemoryTypeIndex = memoryTypeIndex; + m_SuballocationType = (uint8_t)suballocationType; + if(pMappedData != VMA_NULL) + { + VMA_ASSERT(IsMappingAllowed() && "Mapping is not allowed on this allocation! Please use one of the new VMA_ALLOCATION_CREATE_HOST_ACCESS_* flags when creating it."); + m_Flags |= (uint8_t)FLAG_PERSISTENT_MAP; + } + m_DedicatedAllocation.m_hParentPool = hParentPool; + m_DedicatedAllocation.m_hMemory = hMemory; + m_DedicatedAllocation.m_pMappedData = pMappedData; + m_DedicatedAllocation.m_Prev = VMA_NULL; + m_DedicatedAllocation.m_Next = VMA_NULL; +} + +void VmaAllocation_T::SetName(VmaAllocator hAllocator, const char* pName) +{ + VMA_ASSERT(pName == VMA_NULL || pName != m_pName); + + FreeName(hAllocator); + + if (pName != VMA_NULL) + m_pName = VmaCreateStringCopy(hAllocator->GetAllocationCallbacks(), pName); +} + +uint8_t VmaAllocation_T::SwapBlockAllocation(VmaAllocator hAllocator, VmaAllocation allocation) +{ + VMA_ASSERT(allocation != VMA_NULL); + VMA_ASSERT(m_Type == ALLOCATION_TYPE_BLOCK); + VMA_ASSERT(allocation->m_Type == ALLOCATION_TYPE_BLOCK); + + if (m_MapCount != 0) + m_BlockAllocation.m_Block->Unmap(hAllocator, m_MapCount); + + m_BlockAllocation.m_Block->m_pMetadata->SetAllocationUserData(m_BlockAllocation.m_AllocHandle, allocation); + VMA_SWAP(m_BlockAllocation, allocation->m_BlockAllocation); + m_BlockAllocation.m_Block->m_pMetadata->SetAllocationUserData(m_BlockAllocation.m_AllocHandle, this); + +#if VMA_STATS_STRING_ENABLED + VMA_SWAP(m_BufferImageUsage, allocation->m_BufferImageUsage); +#endif + return m_MapCount; +} + +VmaAllocHandle VmaAllocation_T::GetAllocHandle() const +{ + switch (m_Type) + { + case ALLOCATION_TYPE_BLOCK: + return m_BlockAllocation.m_AllocHandle; + case ALLOCATION_TYPE_DEDICATED: + return VK_NULL_HANDLE; + default: + VMA_ASSERT(0); + return VK_NULL_HANDLE; + } +} + +VkDeviceSize VmaAllocation_T::GetOffset() const +{ + switch (m_Type) + { + case ALLOCATION_TYPE_BLOCK: + return m_BlockAllocation.m_Block->m_pMetadata->GetAllocationOffset(m_BlockAllocation.m_AllocHandle); + case ALLOCATION_TYPE_DEDICATED: + return 0; + default: + VMA_ASSERT(0); + return 0; + } +} + +VmaPool VmaAllocation_T::GetParentPool() const +{ + switch (m_Type) + { + case ALLOCATION_TYPE_BLOCK: + return m_BlockAllocation.m_Block->GetParentPool(); + case ALLOCATION_TYPE_DEDICATED: + return m_DedicatedAllocation.m_hParentPool; + default: + VMA_ASSERT(0); + return VK_NULL_HANDLE; + } +} + +VkDeviceMemory VmaAllocation_T::GetMemory() const +{ + switch (m_Type) + { + case ALLOCATION_TYPE_BLOCK: + return m_BlockAllocation.m_Block->GetDeviceMemory(); + case ALLOCATION_TYPE_DEDICATED: + return m_DedicatedAllocation.m_hMemory; + default: + VMA_ASSERT(0); + return VK_NULL_HANDLE; + } +} + +void* VmaAllocation_T::GetMappedData() const +{ + switch (m_Type) + { + case ALLOCATION_TYPE_BLOCK: + if (m_MapCount != 0 || IsPersistentMap()) + { + void* pBlockData = m_BlockAllocation.m_Block->GetMappedData(); + VMA_ASSERT(pBlockData != VMA_NULL); + return (char*)pBlockData + GetOffset(); + } + else + { + return VMA_NULL; + } + break; + case ALLOCATION_TYPE_DEDICATED: + VMA_ASSERT((m_DedicatedAllocation.m_pMappedData != VMA_NULL) == (m_MapCount != 0 || IsPersistentMap())); + return m_DedicatedAllocation.m_pMappedData; + default: + VMA_ASSERT(0); + return VMA_NULL; + } +} + +void VmaAllocation_T::BlockAllocMap() +{ + VMA_ASSERT(GetType() == ALLOCATION_TYPE_BLOCK); + VMA_ASSERT(IsMappingAllowed() && "Mapping is not allowed on this allocation! Please use one of the new VMA_ALLOCATION_CREATE_HOST_ACCESS_* flags when creating it."); + + if (m_MapCount < 0xFF) + { + ++m_MapCount; + } + else + { + VMA_ASSERT(0 && "Allocation mapped too many times simultaneously."); + } +} + +void VmaAllocation_T::BlockAllocUnmap() +{ + VMA_ASSERT(GetType() == ALLOCATION_TYPE_BLOCK); + + if (m_MapCount > 0) + { + --m_MapCount; + } + else + { + VMA_ASSERT(0 && "Unmapping allocation not previously mapped."); + } +} + +VkResult VmaAllocation_T::DedicatedAllocMap(VmaAllocator hAllocator, void** ppData) +{ + VMA_ASSERT(GetType() == ALLOCATION_TYPE_DEDICATED); + VMA_ASSERT(IsMappingAllowed() && "Mapping is not allowed on this allocation! Please use one of the new VMA_ALLOCATION_CREATE_HOST_ACCESS_* flags when creating it."); + + if (m_MapCount != 0 || IsPersistentMap()) + { + if (m_MapCount < 0xFF) + { + VMA_ASSERT(m_DedicatedAllocation.m_pMappedData != VMA_NULL); + *ppData = m_DedicatedAllocation.m_pMappedData; + ++m_MapCount; + return VK_SUCCESS; + } + else + { + VMA_ASSERT(0 && "Dedicated allocation mapped too many times simultaneously."); + return VK_ERROR_MEMORY_MAP_FAILED; + } + } + else + { + VkResult result = (*hAllocator->GetVulkanFunctions().vkMapMemory)( + hAllocator->m_hDevice, + m_DedicatedAllocation.m_hMemory, + 0, // offset + VK_WHOLE_SIZE, + 0, // flags + ppData); + if (result == VK_SUCCESS) + { + m_DedicatedAllocation.m_pMappedData = *ppData; + m_MapCount = 1; + } + return result; + } +} + +void VmaAllocation_T::DedicatedAllocUnmap(VmaAllocator hAllocator) +{ + VMA_ASSERT(GetType() == ALLOCATION_TYPE_DEDICATED); + + if (m_MapCount > 0) + { + --m_MapCount; + if (m_MapCount == 0 && !IsPersistentMap()) + { + m_DedicatedAllocation.m_pMappedData = VMA_NULL; + (*hAllocator->GetVulkanFunctions().vkUnmapMemory)( + hAllocator->m_hDevice, + m_DedicatedAllocation.m_hMemory); + } + } + else + { + VMA_ASSERT(0 && "Unmapping dedicated allocation not previously mapped."); + } +} + +#if VMA_STATS_STRING_ENABLED +void VmaAllocation_T::InitBufferImageUsage(uint32_t bufferImageUsage) +{ + VMA_ASSERT(m_BufferImageUsage == 0); + m_BufferImageUsage = bufferImageUsage; +} + +void VmaAllocation_T::PrintParameters(class VmaJsonWriter& json) const +{ + json.WriteString("Type"); + json.WriteString(VMA_SUBALLOCATION_TYPE_NAMES[m_SuballocationType]); + + json.WriteString("Size"); + json.WriteNumber(m_Size); + json.WriteString("Usage"); + json.WriteNumber(m_BufferImageUsage); + + if (m_pUserData != VMA_NULL) + { + json.WriteString("CustomData"); + json.BeginString(); + json.ContinueString_Pointer(m_pUserData); + json.EndString(); + } + if (m_pName != VMA_NULL) + { + json.WriteString("Name"); + json.WriteString(m_pName); + } +} +#endif // VMA_STATS_STRING_ENABLED + +void VmaAllocation_T::FreeName(VmaAllocator hAllocator) +{ + if(m_pName) + { + VmaFreeString(hAllocator->GetAllocationCallbacks(), m_pName); + m_pName = VMA_NULL; + } +} +#endif // _VMA_ALLOCATION_T_FUNCTIONS + +#ifndef _VMA_BLOCK_VECTOR_FUNCTIONS +VmaBlockVector::VmaBlockVector( + VmaAllocator hAllocator, + VmaPool hParentPool, + uint32_t memoryTypeIndex, + VkDeviceSize preferredBlockSize, + size_t minBlockCount, + size_t maxBlockCount, + VkDeviceSize bufferImageGranularity, + bool explicitBlockSize, + uint32_t algorithm, + float priority, + VkDeviceSize minAllocationAlignment, + void* pMemoryAllocateNext) + : m_hAllocator(hAllocator), + m_hParentPool(hParentPool), + m_MemoryTypeIndex(memoryTypeIndex), + m_PreferredBlockSize(preferredBlockSize), + m_MinBlockCount(minBlockCount), + m_MaxBlockCount(maxBlockCount), + m_BufferImageGranularity(bufferImageGranularity), + m_ExplicitBlockSize(explicitBlockSize), + m_Algorithm(algorithm), + m_Priority(priority), + m_MinAllocationAlignment(minAllocationAlignment), + m_pMemoryAllocateNext(pMemoryAllocateNext), + m_Blocks(VmaStlAllocator(hAllocator->GetAllocationCallbacks())), + m_NextBlockId(0) {} + +VmaBlockVector::~VmaBlockVector() +{ + for (size_t i = m_Blocks.size(); i--; ) + { + m_Blocks[i]->Destroy(m_hAllocator); + vma_delete(m_hAllocator, m_Blocks[i]); + } +} + +VkResult VmaBlockVector::CreateMinBlocks() +{ + for (size_t i = 0; i < m_MinBlockCount; ++i) + { + VkResult res = CreateBlock(m_PreferredBlockSize, VMA_NULL); + if (res != VK_SUCCESS) + { + return res; + } + } + return VK_SUCCESS; +} + +void VmaBlockVector::AddStatistics(VmaStatistics& inoutStats) +{ + VmaMutexLockRead lock(m_Mutex, m_hAllocator->m_UseMutex); + + const size_t blockCount = m_Blocks.size(); + for (uint32_t blockIndex = 0; blockIndex < blockCount; ++blockIndex) + { + const VmaDeviceMemoryBlock* const pBlock = m_Blocks[blockIndex]; + VMA_ASSERT(pBlock); + VMA_HEAVY_ASSERT(pBlock->Validate()); + pBlock->m_pMetadata->AddStatistics(inoutStats); + } +} + +void VmaBlockVector::AddDetailedStatistics(VmaDetailedStatistics& inoutStats) +{ + VmaMutexLockRead lock(m_Mutex, m_hAllocator->m_UseMutex); + + const size_t blockCount = m_Blocks.size(); + for (uint32_t blockIndex = 0; blockIndex < blockCount; ++blockIndex) + { + const VmaDeviceMemoryBlock* const pBlock = m_Blocks[blockIndex]; + VMA_ASSERT(pBlock); + VMA_HEAVY_ASSERT(pBlock->Validate()); + pBlock->m_pMetadata->AddDetailedStatistics(inoutStats); + } +} + +bool VmaBlockVector::IsEmpty() +{ + VmaMutexLockRead lock(m_Mutex, m_hAllocator->m_UseMutex); + return m_Blocks.empty(); +} + +bool VmaBlockVector::IsCorruptionDetectionEnabled() const +{ + const uint32_t requiredMemFlags = VK_MEMORY_PROPERTY_HOST_VISIBLE_BIT | VK_MEMORY_PROPERTY_HOST_COHERENT_BIT; + return (VMA_DEBUG_DETECT_CORRUPTION != 0) && + (VMA_DEBUG_MARGIN > 0) && + (m_Algorithm == 0 || m_Algorithm == VMA_POOL_CREATE_LINEAR_ALGORITHM_BIT) && + (m_hAllocator->m_MemProps.memoryTypes[m_MemoryTypeIndex].propertyFlags & requiredMemFlags) == requiredMemFlags; +} + +VkResult VmaBlockVector::Allocate( + VkDeviceSize size, + VkDeviceSize alignment, + const VmaAllocationCreateInfo& createInfo, + VmaSuballocationType suballocType, + size_t allocationCount, + VmaAllocation* pAllocations) +{ + size_t allocIndex; + VkResult res = VK_SUCCESS; + + alignment = VMA_MAX(alignment, m_MinAllocationAlignment); + + if (IsCorruptionDetectionEnabled()) + { + size = VmaAlignUp(size, sizeof(VMA_CORRUPTION_DETECTION_MAGIC_VALUE)); + alignment = VmaAlignUp(alignment, sizeof(VMA_CORRUPTION_DETECTION_MAGIC_VALUE)); + } + + { + VmaMutexLockWrite lock(m_Mutex, m_hAllocator->m_UseMutex); + for (allocIndex = 0; allocIndex < allocationCount; ++allocIndex) + { + res = AllocatePage( + size, + alignment, + createInfo, + suballocType, + pAllocations + allocIndex); + if (res != VK_SUCCESS) + { + break; + } + } + } + + if (res != VK_SUCCESS) + { + // Free all already created allocations. + while (allocIndex--) + Free(pAllocations[allocIndex]); + memset(pAllocations, 0, sizeof(VmaAllocation) * allocationCount); + } + + return res; +} + +VkResult VmaBlockVector::AllocatePage( + VkDeviceSize size, + VkDeviceSize alignment, + const VmaAllocationCreateInfo& createInfo, + VmaSuballocationType suballocType, + VmaAllocation* pAllocation) +{ + const bool isUpperAddress = (createInfo.flags & VMA_ALLOCATION_CREATE_UPPER_ADDRESS_BIT) != 0; + + VkDeviceSize freeMemory; + { + const uint32_t heapIndex = m_hAllocator->MemoryTypeIndexToHeapIndex(m_MemoryTypeIndex); + VmaBudget heapBudget = {}; + m_hAllocator->GetHeapBudgets(&heapBudget, heapIndex, 1); + freeMemory = (heapBudget.usage < heapBudget.budget) ? (heapBudget.budget - heapBudget.usage) : 0; + } + + const bool canFallbackToDedicated = !HasExplicitBlockSize() && + (createInfo.flags & VMA_ALLOCATION_CREATE_NEVER_ALLOCATE_BIT) == 0; + const bool canCreateNewBlock = + ((createInfo.flags & VMA_ALLOCATION_CREATE_NEVER_ALLOCATE_BIT) == 0) && + (m_Blocks.size() < m_MaxBlockCount) && + (freeMemory >= size || !canFallbackToDedicated); + uint32_t strategy = createInfo.flags & VMA_ALLOCATION_CREATE_STRATEGY_MASK; + + // Upper address can only be used with linear allocator and within single memory block. + if (isUpperAddress && + (m_Algorithm != VMA_POOL_CREATE_LINEAR_ALGORITHM_BIT || m_MaxBlockCount > 1)) + { + return VK_ERROR_FEATURE_NOT_PRESENT; + } + + // Early reject: requested allocation size is larger that maximum block size for this block vector. + if (size + VMA_DEBUG_MARGIN > m_PreferredBlockSize) + { + return VK_ERROR_OUT_OF_DEVICE_MEMORY; + } + + // 1. Search existing allocations. Try to allocate. + if (m_Algorithm == VMA_POOL_CREATE_LINEAR_ALGORITHM_BIT) + { + // Use only last block. + if (!m_Blocks.empty()) + { + VmaDeviceMemoryBlock* const pCurrBlock = m_Blocks.back(); + VMA_ASSERT(pCurrBlock); + VkResult res = AllocateFromBlock( + pCurrBlock, size, alignment, createInfo.flags, createInfo.pUserData, suballocType, strategy, pAllocation); + if (res == VK_SUCCESS) + { + VMA_DEBUG_LOG(" Returned from last block #%u", pCurrBlock->GetId()); + IncrementallySortBlocks(); + return VK_SUCCESS; + } + } + } + else + { + if (strategy != VMA_ALLOCATION_CREATE_STRATEGY_MIN_TIME_BIT) // MIN_MEMORY or default + { + const bool isHostVisible = + (m_hAllocator->m_MemProps.memoryTypes[m_MemoryTypeIndex].propertyFlags & VK_MEMORY_PROPERTY_HOST_VISIBLE_BIT) != 0; + if(isHostVisible) + { + const bool isMappingAllowed = (createInfo.flags & + (VMA_ALLOCATION_CREATE_HOST_ACCESS_SEQUENTIAL_WRITE_BIT | VMA_ALLOCATION_CREATE_HOST_ACCESS_RANDOM_BIT)) != 0; + /* + For non-mappable allocations, check blocks that are not mapped first. + For mappable allocations, check blocks that are already mapped first. + This way, having many blocks, we will separate mappable and non-mappable allocations, + hopefully limiting the number of blocks that are mapped, which will help tools like RenderDoc. + */ + for(size_t mappingI = 0; mappingI < 2; ++mappingI) + { + // Forward order in m_Blocks - prefer blocks with smallest amount of free space. + for (size_t blockIndex = 0; blockIndex < m_Blocks.size(); ++blockIndex) + { + VmaDeviceMemoryBlock* const pCurrBlock = m_Blocks[blockIndex]; + VMA_ASSERT(pCurrBlock); + const bool isBlockMapped = pCurrBlock->GetMappedData() != VMA_NULL; + if((mappingI == 0) == (isMappingAllowed == isBlockMapped)) + { + VkResult res = AllocateFromBlock( + pCurrBlock, size, alignment, createInfo.flags, createInfo.pUserData, suballocType, strategy, pAllocation); + if (res == VK_SUCCESS) + { + VMA_DEBUG_LOG(" Returned from existing block #%u", pCurrBlock->GetId()); + IncrementallySortBlocks(); + return VK_SUCCESS; + } + } + } + } + } + else + { + // Forward order in m_Blocks - prefer blocks with smallest amount of free space. + for (size_t blockIndex = 0; blockIndex < m_Blocks.size(); ++blockIndex) + { + VmaDeviceMemoryBlock* const pCurrBlock = m_Blocks[blockIndex]; + VMA_ASSERT(pCurrBlock); + VkResult res = AllocateFromBlock( + pCurrBlock, size, alignment, createInfo.flags, createInfo.pUserData, suballocType, strategy, pAllocation); + if (res == VK_SUCCESS) + { + VMA_DEBUG_LOG(" Returned from existing block #%u", pCurrBlock->GetId()); + IncrementallySortBlocks(); + return VK_SUCCESS; + } + } + } + } + else // VMA_ALLOCATION_CREATE_STRATEGY_MIN_TIME_BIT + { + // Backward order in m_Blocks - prefer blocks with largest amount of free space. + for (size_t blockIndex = m_Blocks.size(); blockIndex--; ) + { + VmaDeviceMemoryBlock* const pCurrBlock = m_Blocks[blockIndex]; + VMA_ASSERT(pCurrBlock); + VkResult res = AllocateFromBlock(pCurrBlock, size, alignment, createInfo.flags, createInfo.pUserData, suballocType, strategy, pAllocation); + if (res == VK_SUCCESS) + { + VMA_DEBUG_LOG(" Returned from existing block #%u", pCurrBlock->GetId()); + IncrementallySortBlocks(); + return VK_SUCCESS; + } + } + } + } + + // 2. Try to create new block. + if (canCreateNewBlock) + { + // Calculate optimal size for new block. + VkDeviceSize newBlockSize = m_PreferredBlockSize; + uint32_t newBlockSizeShift = 0; + const uint32_t NEW_BLOCK_SIZE_SHIFT_MAX = 3; + + if (!m_ExplicitBlockSize) + { + // Allocate 1/8, 1/4, 1/2 as first blocks. + const VkDeviceSize maxExistingBlockSize = CalcMaxBlockSize(); + for (uint32_t i = 0; i < NEW_BLOCK_SIZE_SHIFT_MAX; ++i) + { + const VkDeviceSize smallerNewBlockSize = newBlockSize / 2; + if (smallerNewBlockSize > maxExistingBlockSize && smallerNewBlockSize >= size * 2) + { + newBlockSize = smallerNewBlockSize; + ++newBlockSizeShift; + } + else + { + break; + } + } + } + + size_t newBlockIndex = 0; + VkResult res = (newBlockSize <= freeMemory || !canFallbackToDedicated) ? + CreateBlock(newBlockSize, &newBlockIndex) : VK_ERROR_OUT_OF_DEVICE_MEMORY; + // Allocation of this size failed? Try 1/2, 1/4, 1/8 of m_PreferredBlockSize. + if (!m_ExplicitBlockSize) + { + while (res < 0 && newBlockSizeShift < NEW_BLOCK_SIZE_SHIFT_MAX) + { + const VkDeviceSize smallerNewBlockSize = newBlockSize / 2; + if (smallerNewBlockSize >= size) + { + newBlockSize = smallerNewBlockSize; + ++newBlockSizeShift; + res = (newBlockSize <= freeMemory || !canFallbackToDedicated) ? + CreateBlock(newBlockSize, &newBlockIndex) : VK_ERROR_OUT_OF_DEVICE_MEMORY; + } + else + { + break; + } + } + } + + if (res == VK_SUCCESS) + { + VmaDeviceMemoryBlock* const pBlock = m_Blocks[newBlockIndex]; + VMA_ASSERT(pBlock->m_pMetadata->GetSize() >= size); + + res = AllocateFromBlock( + pBlock, size, alignment, createInfo.flags, createInfo.pUserData, suballocType, strategy, pAllocation); + if (res == VK_SUCCESS) + { + VMA_DEBUG_LOG(" Created new block #%u Size=%llu", pBlock->GetId(), newBlockSize); + IncrementallySortBlocks(); + return VK_SUCCESS; + } + else + { + // Allocation from new block failed, possibly due to VMA_DEBUG_MARGIN or alignment. + return VK_ERROR_OUT_OF_DEVICE_MEMORY; + } + } + } + + return VK_ERROR_OUT_OF_DEVICE_MEMORY; +} + +void VmaBlockVector::Free(const VmaAllocation hAllocation) +{ + VmaDeviceMemoryBlock* pBlockToDelete = VMA_NULL; + + bool budgetExceeded = false; + { + const uint32_t heapIndex = m_hAllocator->MemoryTypeIndexToHeapIndex(m_MemoryTypeIndex); + VmaBudget heapBudget = {}; + m_hAllocator->GetHeapBudgets(&heapBudget, heapIndex, 1); + budgetExceeded = heapBudget.usage >= heapBudget.budget; + } + + // Scope for lock. + { + VmaMutexLockWrite lock(m_Mutex, m_hAllocator->m_UseMutex); + + VmaDeviceMemoryBlock* pBlock = hAllocation->GetBlock(); + + if (IsCorruptionDetectionEnabled()) + { + VkResult res = pBlock->ValidateMagicValueAfterAllocation(m_hAllocator, hAllocation->GetOffset(), hAllocation->GetSize()); + VMA_ASSERT(res == VK_SUCCESS && "Couldn't map block memory to validate magic value."); + } + + if (hAllocation->IsPersistentMap()) + { + pBlock->Unmap(m_hAllocator, 1); + } + + const bool hadEmptyBlockBeforeFree = HasEmptyBlock(); + pBlock->m_pMetadata->Free(hAllocation->GetAllocHandle()); + pBlock->PostFree(m_hAllocator); + VMA_HEAVY_ASSERT(pBlock->Validate()); + + VMA_DEBUG_LOG(" Freed from MemoryTypeIndex=%u", m_MemoryTypeIndex); + + const bool canDeleteBlock = m_Blocks.size() > m_MinBlockCount; + // pBlock became empty after this deallocation. + if (pBlock->m_pMetadata->IsEmpty()) + { + // Already had empty block. We don't want to have two, so delete this one. + if ((hadEmptyBlockBeforeFree || budgetExceeded) && canDeleteBlock) + { + pBlockToDelete = pBlock; + Remove(pBlock); + } + // else: We now have one empty block - leave it. A hysteresis to avoid allocating whole block back and forth. + } + // pBlock didn't become empty, but we have another empty block - find and free that one. + // (This is optional, heuristics.) + else if (hadEmptyBlockBeforeFree && canDeleteBlock) + { + VmaDeviceMemoryBlock* pLastBlock = m_Blocks.back(); + if (pLastBlock->m_pMetadata->IsEmpty()) + { + pBlockToDelete = pLastBlock; + m_Blocks.pop_back(); + } + } + + IncrementallySortBlocks(); + } + + // Destruction of a free block. Deferred until this point, outside of mutex + // lock, for performance reason. + if (pBlockToDelete != VMA_NULL) + { + VMA_DEBUG_LOG(" Deleted empty block #%u", pBlockToDelete->GetId()); + pBlockToDelete->Destroy(m_hAllocator); + vma_delete(m_hAllocator, pBlockToDelete); + } + + m_hAllocator->m_Budget.RemoveAllocation(m_hAllocator->MemoryTypeIndexToHeapIndex(m_MemoryTypeIndex), hAllocation->GetSize()); + m_hAllocator->m_AllocationObjectAllocator.Free(hAllocation); +} + +VkDeviceSize VmaBlockVector::CalcMaxBlockSize() const +{ + VkDeviceSize result = 0; + for (size_t i = m_Blocks.size(); i--; ) + { + result = VMA_MAX(result, m_Blocks[i]->m_pMetadata->GetSize()); + if (result >= m_PreferredBlockSize) + { + break; + } + } + return result; +} + +void VmaBlockVector::Remove(VmaDeviceMemoryBlock* pBlock) +{ + for (uint32_t blockIndex = 0; blockIndex < m_Blocks.size(); ++blockIndex) + { + if (m_Blocks[blockIndex] == pBlock) + { + VmaVectorRemove(m_Blocks, blockIndex); + return; + } + } + VMA_ASSERT(0); +} + +void VmaBlockVector::IncrementallySortBlocks() +{ + if (!m_IncrementalSort) + return; + if (m_Algorithm != VMA_POOL_CREATE_LINEAR_ALGORITHM_BIT) + { + // Bubble sort only until first swap. + for (size_t i = 1; i < m_Blocks.size(); ++i) + { + if (m_Blocks[i - 1]->m_pMetadata->GetSumFreeSize() > m_Blocks[i]->m_pMetadata->GetSumFreeSize()) + { + VMA_SWAP(m_Blocks[i - 1], m_Blocks[i]); + return; + } + } + } +} + +void VmaBlockVector::SortByFreeSize() +{ + VMA_SORT(m_Blocks.begin(), m_Blocks.end(), + [](VmaDeviceMemoryBlock* b1, VmaDeviceMemoryBlock* b2) -> bool + { + return b1->m_pMetadata->GetSumFreeSize() < b2->m_pMetadata->GetSumFreeSize(); + }); +} + +VkResult VmaBlockVector::AllocateFromBlock( + VmaDeviceMemoryBlock* pBlock, + VkDeviceSize size, + VkDeviceSize alignment, + VmaAllocationCreateFlags allocFlags, + void* pUserData, + VmaSuballocationType suballocType, + uint32_t strategy, + VmaAllocation* pAllocation) +{ + const bool isUpperAddress = (allocFlags & VMA_ALLOCATION_CREATE_UPPER_ADDRESS_BIT) != 0; + + VmaAllocationRequest currRequest = {}; + if (pBlock->m_pMetadata->CreateAllocationRequest( + size, + alignment, + isUpperAddress, + suballocType, + strategy, + &currRequest)) + { + return CommitAllocationRequest(currRequest, pBlock, alignment, allocFlags, pUserData, suballocType, pAllocation); + } + return VK_ERROR_OUT_OF_DEVICE_MEMORY; +} + +VkResult VmaBlockVector::CommitAllocationRequest( + VmaAllocationRequest& allocRequest, + VmaDeviceMemoryBlock* pBlock, + VkDeviceSize alignment, + VmaAllocationCreateFlags allocFlags, + void* pUserData, + VmaSuballocationType suballocType, + VmaAllocation* pAllocation) +{ + const bool mapped = (allocFlags & VMA_ALLOCATION_CREATE_MAPPED_BIT) != 0; + const bool isUserDataString = (allocFlags & VMA_ALLOCATION_CREATE_USER_DATA_COPY_STRING_BIT) != 0; + const bool isMappingAllowed = (allocFlags & + (VMA_ALLOCATION_CREATE_HOST_ACCESS_SEQUENTIAL_WRITE_BIT | VMA_ALLOCATION_CREATE_HOST_ACCESS_RANDOM_BIT)) != 0; + + pBlock->PostAlloc(); + // Allocate from pCurrBlock. + if (mapped) + { + VkResult res = pBlock->Map(m_hAllocator, 1, VMA_NULL); + if (res != VK_SUCCESS) + { + return res; + } + } + + *pAllocation = m_hAllocator->m_AllocationObjectAllocator.Allocate(isMappingAllowed); + pBlock->m_pMetadata->Alloc(allocRequest, suballocType, *pAllocation); + (*pAllocation)->InitBlockAllocation( + pBlock, + allocRequest.allocHandle, + alignment, + allocRequest.size, // Not size, as actual allocation size may be larger than requested! + m_MemoryTypeIndex, + suballocType, + mapped); + VMA_HEAVY_ASSERT(pBlock->Validate()); + if (isUserDataString) + (*pAllocation)->SetName(m_hAllocator, (const char*)pUserData); + else + (*pAllocation)->SetUserData(m_hAllocator, pUserData); + m_hAllocator->m_Budget.AddAllocation(m_hAllocator->MemoryTypeIndexToHeapIndex(m_MemoryTypeIndex), allocRequest.size); + if (VMA_DEBUG_INITIALIZE_ALLOCATIONS) + { + m_hAllocator->FillAllocation(*pAllocation, VMA_ALLOCATION_FILL_PATTERN_CREATED); + } + if (IsCorruptionDetectionEnabled()) + { + VkResult res = pBlock->WriteMagicValueAfterAllocation(m_hAllocator, (*pAllocation)->GetOffset(), allocRequest.size); + VMA_ASSERT(res == VK_SUCCESS && "Couldn't map block memory to write magic value."); + } + return VK_SUCCESS; +} + +VkResult VmaBlockVector::CreateBlock(VkDeviceSize blockSize, size_t* pNewBlockIndex) +{ + VkMemoryAllocateInfo allocInfo = { VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_INFO }; + allocInfo.pNext = m_pMemoryAllocateNext; + allocInfo.memoryTypeIndex = m_MemoryTypeIndex; + allocInfo.allocationSize = blockSize; + +#if VMA_BUFFER_DEVICE_ADDRESS + // Every standalone block can potentially contain a buffer with VK_BUFFER_USAGE_SHADER_DEVICE_ADDRESS_BIT - always enable the feature. + VkMemoryAllocateFlagsInfoKHR allocFlagsInfo = { VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_FLAGS_INFO_KHR }; + if (m_hAllocator->m_UseKhrBufferDeviceAddress) + { + allocFlagsInfo.flags = VK_MEMORY_ALLOCATE_DEVICE_ADDRESS_BIT_KHR; + VmaPnextChainPushFront(&allocInfo, &allocFlagsInfo); + } +#endif // VMA_BUFFER_DEVICE_ADDRESS + +#if VMA_MEMORY_PRIORITY + VkMemoryPriorityAllocateInfoEXT priorityInfo = { VK_STRUCTURE_TYPE_MEMORY_PRIORITY_ALLOCATE_INFO_EXT }; + if (m_hAllocator->m_UseExtMemoryPriority) + { + VMA_ASSERT(m_Priority >= 0.f && m_Priority <= 1.f); + priorityInfo.priority = m_Priority; + VmaPnextChainPushFront(&allocInfo, &priorityInfo); + } +#endif // VMA_MEMORY_PRIORITY + +#if VMA_EXTERNAL_MEMORY + // Attach VkExportMemoryAllocateInfoKHR if necessary. + VkExportMemoryAllocateInfoKHR exportMemoryAllocInfo = { VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO_KHR }; + exportMemoryAllocInfo.handleTypes = m_hAllocator->GetExternalMemoryHandleTypeFlags(m_MemoryTypeIndex); + if (exportMemoryAllocInfo.handleTypes != 0) + { + VmaPnextChainPushFront(&allocInfo, &exportMemoryAllocInfo); + } +#endif // VMA_EXTERNAL_MEMORY + + VkDeviceMemory mem = VK_NULL_HANDLE; + VkResult res = m_hAllocator->AllocateVulkanMemory(&allocInfo, &mem); + if (res < 0) + { + return res; + } + + // New VkDeviceMemory successfully created. + + // Create new Allocation for it. + VmaDeviceMemoryBlock* const pBlock = vma_new(m_hAllocator, VmaDeviceMemoryBlock)(m_hAllocator); + pBlock->Init( + m_hAllocator, + m_hParentPool, + m_MemoryTypeIndex, + mem, + allocInfo.allocationSize, + m_NextBlockId++, + m_Algorithm, + m_BufferImageGranularity); + + m_Blocks.push_back(pBlock); + if (pNewBlockIndex != VMA_NULL) + { + *pNewBlockIndex = m_Blocks.size() - 1; + } + + return VK_SUCCESS; +} + +bool VmaBlockVector::HasEmptyBlock() +{ + for (size_t index = 0, count = m_Blocks.size(); index < count; ++index) + { + VmaDeviceMemoryBlock* const pBlock = m_Blocks[index]; + if (pBlock->m_pMetadata->IsEmpty()) + { + return true; + } + } + return false; +} + +#if VMA_STATS_STRING_ENABLED +void VmaBlockVector::PrintDetailedMap(class VmaJsonWriter& json) +{ + VmaMutexLockRead lock(m_Mutex, m_hAllocator->m_UseMutex); + + + json.BeginObject(); + for (size_t i = 0; i < m_Blocks.size(); ++i) + { + json.BeginString(); + json.ContinueString(m_Blocks[i]->GetId()); + json.EndString(); + + json.BeginObject(); + json.WriteString("MapRefCount"); + json.WriteNumber(m_Blocks[i]->GetMapRefCount()); + + m_Blocks[i]->m_pMetadata->PrintDetailedMap(json); + json.EndObject(); + } + json.EndObject(); +} +#endif // VMA_STATS_STRING_ENABLED + +VkResult VmaBlockVector::CheckCorruption() +{ + if (!IsCorruptionDetectionEnabled()) + { + return VK_ERROR_FEATURE_NOT_PRESENT; + } + + VmaMutexLockRead lock(m_Mutex, m_hAllocator->m_UseMutex); + for (uint32_t blockIndex = 0; blockIndex < m_Blocks.size(); ++blockIndex) + { + VmaDeviceMemoryBlock* const pBlock = m_Blocks[blockIndex]; + VMA_ASSERT(pBlock); + VkResult res = pBlock->CheckCorruption(m_hAllocator); + if (res != VK_SUCCESS) + { + return res; + } + } + return VK_SUCCESS; +} + +#endif // _VMA_BLOCK_VECTOR_FUNCTIONS + +#ifndef _VMA_DEFRAGMENTATION_CONTEXT_FUNCTIONS +VmaDefragmentationContext_T::VmaDefragmentationContext_T( + VmaAllocator hAllocator, + const VmaDefragmentationInfo& info) + : m_MaxPassBytes(info.maxBytesPerPass == 0 ? VK_WHOLE_SIZE : info.maxBytesPerPass), + m_MaxPassAllocations(info.maxAllocationsPerPass == 0 ? UINT32_MAX : info.maxAllocationsPerPass), + m_MoveAllocator(hAllocator->GetAllocationCallbacks()), + m_Moves(m_MoveAllocator) +{ + m_Algorithm = info.flags & VMA_DEFRAGMENTATION_FLAG_ALGORITHM_MASK; + + if (info.pool != VMA_NULL) + { + m_BlockVectorCount = 1; + m_PoolBlockVector = &info.pool->m_BlockVector; + m_pBlockVectors = &m_PoolBlockVector; + m_PoolBlockVector->SetIncrementalSort(false); + m_PoolBlockVector->SortByFreeSize(); + } + else + { + m_BlockVectorCount = hAllocator->GetMemoryTypeCount(); + m_PoolBlockVector = VMA_NULL; + m_pBlockVectors = hAllocator->m_pBlockVectors; + for (uint32_t i = 0; i < m_BlockVectorCount; ++i) + { + VmaBlockVector* vector = m_pBlockVectors[i]; + if (vector != VMA_NULL) + { + vector->SetIncrementalSort(false); + vector->SortByFreeSize(); + } + } + } + + switch (m_Algorithm) + { + case 0: // Default algorithm + m_Algorithm = VMA_DEFRAGMENTATION_FLAG_ALGORITHM_BALANCED_BIT; + case VMA_DEFRAGMENTATION_FLAG_ALGORITHM_BALANCED_BIT: + { + m_AlgorithmState = vma_new_array(hAllocator, StateBalanced, m_BlockVectorCount); + break; + } + case VMA_DEFRAGMENTATION_FLAG_ALGORITHM_EXTENSIVE_BIT: + { + if (hAllocator->GetBufferImageGranularity() > 1) + { + m_AlgorithmState = vma_new_array(hAllocator, StateExtensive, m_BlockVectorCount); + } + break; + } + } +} + +VmaDefragmentationContext_T::~VmaDefragmentationContext_T() +{ + if (m_PoolBlockVector != VMA_NULL) + { + m_PoolBlockVector->SetIncrementalSort(true); + } + else + { + for (uint32_t i = 0; i < m_BlockVectorCount; ++i) + { + VmaBlockVector* vector = m_pBlockVectors[i]; + if (vector != VMA_NULL) + vector->SetIncrementalSort(true); + } + } + + if (m_AlgorithmState) + { + switch (m_Algorithm) + { + case VMA_DEFRAGMENTATION_FLAG_ALGORITHM_BALANCED_BIT: + vma_delete_array(m_MoveAllocator.m_pCallbacks, reinterpret_cast(m_AlgorithmState), m_BlockVectorCount); + break; + case VMA_DEFRAGMENTATION_FLAG_ALGORITHM_EXTENSIVE_BIT: + vma_delete_array(m_MoveAllocator.m_pCallbacks, reinterpret_cast(m_AlgorithmState), m_BlockVectorCount); + break; + default: + VMA_ASSERT(0); + } + } +} + +VkResult VmaDefragmentationContext_T::DefragmentPassBegin(VmaDefragmentationPassMoveInfo& moveInfo) +{ + if (m_PoolBlockVector != VMA_NULL) + { + VmaMutexLockWrite lock(m_PoolBlockVector->GetMutex(), m_PoolBlockVector->GetAllocator()->m_UseMutex); + + if (m_PoolBlockVector->GetBlockCount() > 1) + ComputeDefragmentation(*m_PoolBlockVector, 0); + else if (m_PoolBlockVector->GetBlockCount() == 1) + ReallocWithinBlock(*m_PoolBlockVector, m_PoolBlockVector->GetBlock(0)); + } + else + { + for (uint32_t i = 0; i < m_BlockVectorCount; ++i) + { + if (m_pBlockVectors[i] != VMA_NULL) + { + VmaMutexLockWrite lock(m_pBlockVectors[i]->GetMutex(), m_pBlockVectors[i]->GetAllocator()->m_UseMutex); + + if (m_pBlockVectors[i]->GetBlockCount() > 1) + { + if (ComputeDefragmentation(*m_pBlockVectors[i], i)) + break; + } + else if (m_pBlockVectors[i]->GetBlockCount() == 1) + { + if (ReallocWithinBlock(*m_pBlockVectors[i], m_pBlockVectors[i]->GetBlock(0))) + break; + } + } + } + } + + moveInfo.moveCount = static_cast(m_Moves.size()); + if (moveInfo.moveCount > 0) + { + moveInfo.pMoves = m_Moves.data(); + return VK_INCOMPLETE; + } + + moveInfo.pMoves = VMA_NULL; + return VK_SUCCESS; +} + +VkResult VmaDefragmentationContext_T::DefragmentPassEnd(VmaDefragmentationPassMoveInfo& moveInfo) +{ + VMA_ASSERT(moveInfo.moveCount > 0 ? moveInfo.pMoves != VMA_NULL : true); + + VkResult result = VK_SUCCESS; + VmaStlAllocator blockAllocator(m_MoveAllocator.m_pCallbacks); + VmaVector> immovableBlocks(blockAllocator); + VmaVector> mappedBlocks(blockAllocator); + + VmaAllocator allocator = VMA_NULL; + for (uint32_t i = 0; i < moveInfo.moveCount; ++i) + { + VmaDefragmentationMove& move = moveInfo.pMoves[i]; + size_t prevCount = 0, currentCount = 0; + VkDeviceSize freedBlockSize = 0; + + uint32_t vectorIndex; + VmaBlockVector* vector; + if (m_PoolBlockVector != VMA_NULL) + { + vectorIndex = 0; + vector = m_PoolBlockVector; + } + else + { + vectorIndex = move.srcAllocation->GetMemoryTypeIndex(); + vector = m_pBlockVectors[vectorIndex]; + VMA_ASSERT(vector != VMA_NULL); + } + + switch (move.operation) + { + case VMA_DEFRAGMENTATION_MOVE_OPERATION_COPY: + { + uint8_t mapCount = move.srcAllocation->SwapBlockAllocation(vector->m_hAllocator, move.dstTmpAllocation); + if (mapCount > 0) + { + allocator = vector->m_hAllocator; + VmaDeviceMemoryBlock* newMapBlock = move.srcAllocation->GetBlock(); + bool notPresent = true; + for (FragmentedBlock& block : mappedBlocks) + { + if (block.block == newMapBlock) + { + notPresent = false; + block.data += mapCount; + break; + } + } + if (notPresent) + mappedBlocks.push_back({ mapCount, newMapBlock }); + } + + // Scope for locks, Free have it's own lock + { + VmaMutexLockRead lock(vector->GetMutex(), vector->GetAllocator()->m_UseMutex); + prevCount = vector->GetBlockCount(); + freedBlockSize = move.dstTmpAllocation->GetBlock()->m_pMetadata->GetSize(); + } + vector->Free(move.dstTmpAllocation); + { + VmaMutexLockRead lock(vector->GetMutex(), vector->GetAllocator()->m_UseMutex); + currentCount = vector->GetBlockCount(); + } + + result = VK_INCOMPLETE; + break; + } + case VMA_DEFRAGMENTATION_MOVE_OPERATION_IGNORE: + { + m_PassStats.bytesMoved -= move.srcAllocation->GetSize(); + --m_PassStats.allocationsMoved; + vector->Free(move.dstTmpAllocation); + + VmaDeviceMemoryBlock* newBlock = move.srcAllocation->GetBlock(); + bool notPresent = true; + for (const FragmentedBlock& block : immovableBlocks) + { + if (block.block == newBlock) + { + notPresent = false; + break; + } + } + if (notPresent) + immovableBlocks.push_back({ vectorIndex, newBlock }); + break; + } + case VMA_DEFRAGMENTATION_MOVE_OPERATION_DESTROY: + { + m_PassStats.bytesMoved -= move.srcAllocation->GetSize(); + --m_PassStats.allocationsMoved; + // Scope for locks, Free have it's own lock + { + VmaMutexLockRead lock(vector->GetMutex(), vector->GetAllocator()->m_UseMutex); + prevCount = vector->GetBlockCount(); + freedBlockSize = move.srcAllocation->GetBlock()->m_pMetadata->GetSize(); + } + vector->Free(move.srcAllocation); + { + VmaMutexLockRead lock(vector->GetMutex(), vector->GetAllocator()->m_UseMutex); + currentCount = vector->GetBlockCount(); + } + freedBlockSize *= prevCount - currentCount; + + VkDeviceSize dstBlockSize; + { + VmaMutexLockRead lock(vector->GetMutex(), vector->GetAllocator()->m_UseMutex); + dstBlockSize = move.dstTmpAllocation->GetBlock()->m_pMetadata->GetSize(); + } + vector->Free(move.dstTmpAllocation); + { + VmaMutexLockRead lock(vector->GetMutex(), vector->GetAllocator()->m_UseMutex); + freedBlockSize += dstBlockSize * (currentCount - vector->GetBlockCount()); + currentCount = vector->GetBlockCount(); + } + + result = VK_INCOMPLETE; + break; + } + default: + VMA_ASSERT(0); + } + + if (prevCount > currentCount) + { + size_t freedBlocks = prevCount - currentCount; + m_PassStats.deviceMemoryBlocksFreed += static_cast(freedBlocks); + m_PassStats.bytesFreed += freedBlockSize; + } + + switch (m_Algorithm) + { + case VMA_DEFRAGMENTATION_FLAG_ALGORITHM_EXTENSIVE_BIT: + { + if (m_AlgorithmState != VMA_NULL) + { + // Avoid unnecessary tries to allocate when new free block is avaiable + StateExtensive& state = reinterpret_cast(m_AlgorithmState)[vectorIndex]; + if (state.firstFreeBlock != SIZE_MAX) + { + const size_t diff = prevCount - currentCount; + if (state.firstFreeBlock >= diff) + { + state.firstFreeBlock -= diff; + if (state.firstFreeBlock != 0) + state.firstFreeBlock -= vector->GetBlock(state.firstFreeBlock - 1)->m_pMetadata->IsEmpty(); + } + else + state.firstFreeBlock = 0; + } + } + } + } + } + moveInfo.moveCount = 0; + moveInfo.pMoves = VMA_NULL; + m_Moves.clear(); + + // Update stats + m_GlobalStats.allocationsMoved += m_PassStats.allocationsMoved; + m_GlobalStats.bytesFreed += m_PassStats.bytesFreed; + m_GlobalStats.bytesMoved += m_PassStats.bytesMoved; + m_GlobalStats.deviceMemoryBlocksFreed += m_PassStats.deviceMemoryBlocksFreed; + m_PassStats = { 0 }; + + // Move blocks with immovable allocations according to algorithm + if (immovableBlocks.size() > 0) + { + switch (m_Algorithm) + { + case VMA_DEFRAGMENTATION_FLAG_ALGORITHM_EXTENSIVE_BIT: + { + if (m_AlgorithmState != VMA_NULL) + { + bool swapped = false; + // Move to the start of free blocks range + for (const FragmentedBlock& block : immovableBlocks) + { + StateExtensive& state = reinterpret_cast(m_AlgorithmState)[block.data]; + if (state.operation != StateExtensive::Operation::Cleanup) + { + VmaBlockVector* vector = m_pBlockVectors[block.data]; + VmaMutexLockWrite lock(vector->GetMutex(), vector->GetAllocator()->m_UseMutex); + + for (size_t i = 0, count = vector->GetBlockCount() - m_ImmovableBlockCount; i < count; ++i) + { + if (vector->GetBlock(i) == block.block) + { + VMA_SWAP(vector->m_Blocks[i], vector->m_Blocks[vector->GetBlockCount() - ++m_ImmovableBlockCount]); + if (state.firstFreeBlock != SIZE_MAX) + { + if (i + 1 < state.firstFreeBlock) + { + if (state.firstFreeBlock > 1) + VMA_SWAP(vector->m_Blocks[i], vector->m_Blocks[--state.firstFreeBlock]); + else + --state.firstFreeBlock; + } + } + swapped = true; + break; + } + } + } + } + if (swapped) + result = VK_INCOMPLETE; + break; + } + } + default: + { + // Move to the begining + for (const FragmentedBlock& block : immovableBlocks) + { + VmaBlockVector* vector = m_pBlockVectors[block.data]; + VmaMutexLockWrite lock(vector->GetMutex(), vector->GetAllocator()->m_UseMutex); + + for (size_t i = m_ImmovableBlockCount; i < vector->GetBlockCount(); ++i) + { + if (vector->GetBlock(i) == block.block) + { + VMA_SWAP(vector->m_Blocks[i], vector->m_Blocks[m_ImmovableBlockCount++]); + break; + } + } + } + break; + } + } + } + + // Bulk-map destination blocks + for (const FragmentedBlock& block : mappedBlocks) + { + VkResult res = block.block->Map(allocator, block.data, VMA_NULL); + VMA_ASSERT(res == VK_SUCCESS); + } + return result; +} + +bool VmaDefragmentationContext_T::ComputeDefragmentation(VmaBlockVector& vector, size_t index) +{ + switch (m_Algorithm) + { + case VMA_DEFRAGMENTATION_FLAG_ALGORITHM_FAST_BIT: + return ComputeDefragmentation_Fast(vector); + default: + VMA_ASSERT(0); + case VMA_DEFRAGMENTATION_FLAG_ALGORITHM_BALANCED_BIT: + return ComputeDefragmentation_Balanced(vector, index, true); + case VMA_DEFRAGMENTATION_FLAG_ALGORITHM_FULL_BIT: + return ComputeDefragmentation_Full(vector); + case VMA_DEFRAGMENTATION_FLAG_ALGORITHM_EXTENSIVE_BIT: + return ComputeDefragmentation_Extensive(vector, index); + } +} + +VmaDefragmentationContext_T::MoveAllocationData VmaDefragmentationContext_T::GetMoveData( + VmaAllocHandle handle, VmaBlockMetadata* metadata) +{ + MoveAllocationData moveData; + moveData.move.srcAllocation = (VmaAllocation)metadata->GetAllocationUserData(handle); + moveData.size = moveData.move.srcAllocation->GetSize(); + moveData.alignment = moveData.move.srcAllocation->GetAlignment(); + moveData.type = moveData.move.srcAllocation->GetSuballocationType(); + moveData.flags = 0; + + if (moveData.move.srcAllocation->IsPersistentMap()) + moveData.flags |= VMA_ALLOCATION_CREATE_MAPPED_BIT; + if (moveData.move.srcAllocation->IsMappingAllowed()) + moveData.flags |= VMA_ALLOCATION_CREATE_HOST_ACCESS_SEQUENTIAL_WRITE_BIT | VMA_ALLOCATION_CREATE_HOST_ACCESS_RANDOM_BIT; + + return moveData; +} + +VmaDefragmentationContext_T::CounterStatus VmaDefragmentationContext_T::CheckCounters(VkDeviceSize bytes) +{ + // Ignore allocation if will exceed max size for copy + if (m_PassStats.bytesMoved + bytes > m_MaxPassBytes) + { + if (++m_IgnoredAllocs < MAX_ALLOCS_TO_IGNORE) + return CounterStatus::Ignore; + else + return CounterStatus::End; + } + return CounterStatus::Pass; +} + +bool VmaDefragmentationContext_T::IncrementCounters(VkDeviceSize bytes) +{ + m_PassStats.bytesMoved += bytes; + // Early return when max found + if (++m_PassStats.allocationsMoved >= m_MaxPassAllocations || m_PassStats.bytesMoved >= m_MaxPassBytes) + { + VMA_ASSERT(m_PassStats.allocationsMoved == m_MaxPassAllocations || + m_PassStats.bytesMoved == m_MaxPassBytes && "Exceeded maximal pass threshold!"); + return true; + } + return false; +} + +bool VmaDefragmentationContext_T::ReallocWithinBlock(VmaBlockVector& vector, VmaDeviceMemoryBlock* block) +{ + VmaBlockMetadata* metadata = block->m_pMetadata; + + for (VmaAllocHandle handle = metadata->GetAllocationListBegin(); + handle != VK_NULL_HANDLE; + handle = metadata->GetNextAllocation(handle)) + { + MoveAllocationData moveData = GetMoveData(handle, metadata); + // Ignore newly created allocations by defragmentation algorithm + if (moveData.move.srcAllocation->GetUserData() == this) + continue; + switch (CheckCounters(moveData.move.srcAllocation->GetSize())) + { + case CounterStatus::Ignore: + continue; + case CounterStatus::End: + return true; + default: + VMA_ASSERT(0); + case CounterStatus::Pass: + break; + } + + VkDeviceSize offset = moveData.move.srcAllocation->GetOffset(); + if (offset != 0 && metadata->GetSumFreeSize() >= moveData.size) + { + VmaAllocationRequest request = {}; + if (metadata->CreateAllocationRequest( + moveData.size, + moveData.alignment, + false, + moveData.type, + VMA_ALLOCATION_CREATE_STRATEGY_MIN_OFFSET_BIT, + &request)) + { + if (metadata->GetAllocationOffset(request.allocHandle) < offset) + { + if (vector.CommitAllocationRequest( + request, + block, + moveData.alignment, + moveData.flags, + this, + moveData.type, + &moveData.move.dstTmpAllocation) == VK_SUCCESS) + { + m_Moves.push_back(moveData.move); + if (IncrementCounters(moveData.size)) + return true; + } + } + } + } + } + return false; +} + +bool VmaDefragmentationContext_T::AllocInOtherBlock(size_t start, size_t end, MoveAllocationData& data, VmaBlockVector& vector) +{ + for (; start < end; ++start) + { + VmaDeviceMemoryBlock* dstBlock = vector.GetBlock(start); + if (dstBlock->m_pMetadata->GetSumFreeSize() >= data.size) + { + if (vector.AllocateFromBlock(dstBlock, + data.size, + data.alignment, + data.flags, + this, + data.type, + 0, + &data.move.dstTmpAllocation) == VK_SUCCESS) + { + m_Moves.push_back(data.move); + if (IncrementCounters(data.size)) + return true; + break; + } + } + } + return false; +} + +bool VmaDefragmentationContext_T::ComputeDefragmentation_Fast(VmaBlockVector& vector) +{ + // Move only between blocks + + // Go through allocations in last blocks and try to fit them inside first ones + for (size_t i = vector.GetBlockCount() - 1; i > m_ImmovableBlockCount; --i) + { + VmaBlockMetadata* metadata = vector.GetBlock(i)->m_pMetadata; + + for (VmaAllocHandle handle = metadata->GetAllocationListBegin(); + handle != VK_NULL_HANDLE; + handle = metadata->GetNextAllocation(handle)) + { + MoveAllocationData moveData = GetMoveData(handle, metadata); + // Ignore newly created allocations by defragmentation algorithm + if (moveData.move.srcAllocation->GetUserData() == this) + continue; + switch (CheckCounters(moveData.move.srcAllocation->GetSize())) + { + case CounterStatus::Ignore: + continue; + case CounterStatus::End: + return true; + default: + VMA_ASSERT(0); + case CounterStatus::Pass: + break; + } + + // Check all previous blocks for free space + if (AllocInOtherBlock(0, i, moveData, vector)) + return true; + } + } + return false; +} + +bool VmaDefragmentationContext_T::ComputeDefragmentation_Balanced(VmaBlockVector& vector, size_t index, bool update) +{ + // Go over every allocation and try to fit it in previous blocks at lowest offsets, + // if not possible: realloc within single block to minimize offset (exclude offset == 0), + // but only if there are noticable gaps between them (some heuristic, ex. average size of allocation in block) + VMA_ASSERT(m_AlgorithmState != VMA_NULL); + + StateBalanced& vectorState = reinterpret_cast(m_AlgorithmState)[index]; + if (update && vectorState.avgAllocSize == UINT64_MAX) + UpdateVectorStatistics(vector, vectorState); + + const size_t startMoveCount = m_Moves.size(); + VkDeviceSize minimalFreeRegion = vectorState.avgFreeSize / 2; + for (size_t i = vector.GetBlockCount() - 1; i > m_ImmovableBlockCount; --i) + { + VmaDeviceMemoryBlock* block = vector.GetBlock(i); + VmaBlockMetadata* metadata = block->m_pMetadata; + VkDeviceSize prevFreeRegionSize = 0; + + for (VmaAllocHandle handle = metadata->GetAllocationListBegin(); + handle != VK_NULL_HANDLE; + handle = metadata->GetNextAllocation(handle)) + { + MoveAllocationData moveData = GetMoveData(handle, metadata); + // Ignore newly created allocations by defragmentation algorithm + if (moveData.move.srcAllocation->GetUserData() == this) + continue; + switch (CheckCounters(moveData.move.srcAllocation->GetSize())) + { + case CounterStatus::Ignore: + continue; + case CounterStatus::End: + return true; + default: + VMA_ASSERT(0); + case CounterStatus::Pass: + break; + } + + // Check all previous blocks for free space + const size_t prevMoveCount = m_Moves.size(); + if (AllocInOtherBlock(0, i, moveData, vector)) + return true; + + VkDeviceSize nextFreeRegionSize = metadata->GetNextFreeRegionSize(handle); + // If no room found then realloc within block for lower offset + VkDeviceSize offset = moveData.move.srcAllocation->GetOffset(); + if (prevMoveCount == m_Moves.size() && offset != 0 && metadata->GetSumFreeSize() >= moveData.size) + { + // Check if realloc will make sense + if (prevFreeRegionSize >= minimalFreeRegion || + nextFreeRegionSize >= minimalFreeRegion || + moveData.size <= vectorState.avgFreeSize || + moveData.size <= vectorState.avgAllocSize) + { + VmaAllocationRequest request = {}; + if (metadata->CreateAllocationRequest( + moveData.size, + moveData.alignment, + false, + moveData.type, + VMA_ALLOCATION_CREATE_STRATEGY_MIN_OFFSET_BIT, + &request)) + { + if (metadata->GetAllocationOffset(request.allocHandle) < offset) + { + if (vector.CommitAllocationRequest( + request, + block, + moveData.alignment, + moveData.flags, + this, + moveData.type, + &moveData.move.dstTmpAllocation) == VK_SUCCESS) + { + m_Moves.push_back(moveData.move); + if (IncrementCounters(moveData.size)) + return true; + } + } + } + } + } + prevFreeRegionSize = nextFreeRegionSize; + } + } + + // No moves perfomed, update statistics to current vector state + if (startMoveCount == m_Moves.size() && !update) + { + vectorState.avgAllocSize = UINT64_MAX; + return ComputeDefragmentation_Balanced(vector, index, false); + } + return false; +} + +bool VmaDefragmentationContext_T::ComputeDefragmentation_Full(VmaBlockVector& vector) +{ + // Go over every allocation and try to fit it in previous blocks at lowest offsets, + // if not possible: realloc within single block to minimize offset (exclude offset == 0) + + for (size_t i = vector.GetBlockCount() - 1; i > m_ImmovableBlockCount; --i) + { + VmaDeviceMemoryBlock* block = vector.GetBlock(i); + VmaBlockMetadata* metadata = block->m_pMetadata; + + for (VmaAllocHandle handle = metadata->GetAllocationListBegin(); + handle != VK_NULL_HANDLE; + handle = metadata->GetNextAllocation(handle)) + { + MoveAllocationData moveData = GetMoveData(handle, metadata); + // Ignore newly created allocations by defragmentation algorithm + if (moveData.move.srcAllocation->GetUserData() == this) + continue; + switch (CheckCounters(moveData.move.srcAllocation->GetSize())) + { + case CounterStatus::Ignore: + continue; + case CounterStatus::End: + return true; + default: + VMA_ASSERT(0); + case CounterStatus::Pass: + break; + } + + // Check all previous blocks for free space + const size_t prevMoveCount = m_Moves.size(); + if (AllocInOtherBlock(0, i, moveData, vector)) + return true; + + // If no room found then realloc within block for lower offset + VkDeviceSize offset = moveData.move.srcAllocation->GetOffset(); + if (prevMoveCount == m_Moves.size() && offset != 0 && metadata->GetSumFreeSize() >= moveData.size) + { + VmaAllocationRequest request = {}; + if (metadata->CreateAllocationRequest( + moveData.size, + moveData.alignment, + false, + moveData.type, + VMA_ALLOCATION_CREATE_STRATEGY_MIN_OFFSET_BIT, + &request)) + { + if (metadata->GetAllocationOffset(request.allocHandle) < offset) + { + if (vector.CommitAllocationRequest( + request, + block, + moveData.alignment, + moveData.flags, + this, + moveData.type, + &moveData.move.dstTmpAllocation) == VK_SUCCESS) + { + m_Moves.push_back(moveData.move); + if (IncrementCounters(moveData.size)) + return true; + } + } + } + } + } + } + return false; +} + +bool VmaDefragmentationContext_T::ComputeDefragmentation_Extensive(VmaBlockVector& vector, size_t index) +{ + // First free single block, then populate it to the brim, then free another block, and so on + + // Fallback to previous algorithm since without granularity conflicts it can achieve max packing + if (vector.m_BufferImageGranularity == 1) + return ComputeDefragmentation_Full(vector); + + VMA_ASSERT(m_AlgorithmState != VMA_NULL); + + StateExtensive& vectorState = reinterpret_cast(m_AlgorithmState)[index]; + + bool texturePresent = false, bufferPresent = false, otherPresent = false; + switch (vectorState.operation) + { + case StateExtensive::Operation::Done: // Vector defragmented + return false; + case StateExtensive::Operation::FindFreeBlockBuffer: + case StateExtensive::Operation::FindFreeBlockTexture: + case StateExtensive::Operation::FindFreeBlockAll: + { + // No more blocks to free, just perform fast realloc and move to cleanup + if (vectorState.firstFreeBlock == 0) + { + vectorState.operation = StateExtensive::Operation::Cleanup; + return ComputeDefragmentation_Fast(vector); + } + + // No free blocks, have to clear last one + size_t last = (vectorState.firstFreeBlock == SIZE_MAX ? vector.GetBlockCount() : vectorState.firstFreeBlock) - 1; + VmaBlockMetadata* freeMetadata = vector.GetBlock(last)->m_pMetadata; + + const size_t prevMoveCount = m_Moves.size(); + for (VmaAllocHandle handle = freeMetadata->GetAllocationListBegin(); + handle != VK_NULL_HANDLE; + handle = freeMetadata->GetNextAllocation(handle)) + { + MoveAllocationData moveData = GetMoveData(handle, freeMetadata); + switch (CheckCounters(moveData.move.srcAllocation->GetSize())) + { + case CounterStatus::Ignore: + continue; + case CounterStatus::End: + return true; + default: + VMA_ASSERT(0); + case CounterStatus::Pass: + break; + } + + // Check all previous blocks for free space + if (AllocInOtherBlock(0, last, moveData, vector)) + { + // Full clear performed already + if (prevMoveCount != m_Moves.size() && freeMetadata->GetNextAllocation(handle) == VK_NULL_HANDLE) + reinterpret_cast(m_AlgorithmState)[index] = last; + return true; + } + } + + if (prevMoveCount == m_Moves.size()) + { + // Cannot perform full clear, have to move data in other blocks around + if (last != 0) + { + for (size_t i = last - 1; i; --i) + { + if (ReallocWithinBlock(vector, vector.GetBlock(i))) + return true; + } + } + + if (prevMoveCount == m_Moves.size()) + { + // No possible reallocs within blocks, try to move them around fast + return ComputeDefragmentation_Fast(vector); + } + } + else + { + switch (vectorState.operation) + { + case StateExtensive::Operation::FindFreeBlockBuffer: + vectorState.operation = StateExtensive::Operation::MoveBuffers; + break; + default: + VMA_ASSERT(0); + case StateExtensive::Operation::FindFreeBlockTexture: + vectorState.operation = StateExtensive::Operation::MoveTextures; + break; + case StateExtensive::Operation::FindFreeBlockAll: + vectorState.operation = StateExtensive::Operation::MoveAll; + break; + } + vectorState.firstFreeBlock = last; + // Nothing done, block found without reallocations, can perform another reallocs in same pass + return ComputeDefragmentation_Extensive(vector, index); + } + break; + } + case StateExtensive::Operation::MoveTextures: + { + if (MoveDataToFreeBlocks(VMA_SUBALLOCATION_TYPE_IMAGE_OPTIMAL, vector, + vectorState.firstFreeBlock, texturePresent, bufferPresent, otherPresent)) + { + if (texturePresent) + { + vectorState.operation = StateExtensive::Operation::FindFreeBlockTexture; + return ComputeDefragmentation_Extensive(vector, index); + } + + if (!bufferPresent && !otherPresent) + { + vectorState.operation = StateExtensive::Operation::Cleanup; + break; + } + + // No more textures to move, check buffers + vectorState.operation = StateExtensive::Operation::MoveBuffers; + bufferPresent = false; + otherPresent = false; + } + else + break; + } + case StateExtensive::Operation::MoveBuffers: + { + if (MoveDataToFreeBlocks(VMA_SUBALLOCATION_TYPE_BUFFER, vector, + vectorState.firstFreeBlock, texturePresent, bufferPresent, otherPresent)) + { + if (bufferPresent) + { + vectorState.operation = StateExtensive::Operation::FindFreeBlockBuffer; + return ComputeDefragmentation_Extensive(vector, index); + } + + if (!otherPresent) + { + vectorState.operation = StateExtensive::Operation::Cleanup; + break; + } + + // No more buffers to move, check all others + vectorState.operation = StateExtensive::Operation::MoveAll; + otherPresent = false; + } + else + break; + } + case StateExtensive::Operation::MoveAll: + { + if (MoveDataToFreeBlocks(VMA_SUBALLOCATION_TYPE_FREE, vector, + vectorState.firstFreeBlock, texturePresent, bufferPresent, otherPresent)) + { + if (otherPresent) + { + vectorState.operation = StateExtensive::Operation::FindFreeBlockBuffer; + return ComputeDefragmentation_Extensive(vector, index); + } + // Everything moved + vectorState.operation = StateExtensive::Operation::Cleanup; + } + break; + } + case StateExtensive::Operation::Cleanup: + // Cleanup is handled below so that other operations may reuse the cleanup code. This case is here to prevent the unhandled enum value warning (C4062). + break; + } + + if (vectorState.operation == StateExtensive::Operation::Cleanup) + { + // All other work done, pack data in blocks even tighter if possible + const size_t prevMoveCount = m_Moves.size(); + for (size_t i = 0; i < vector.GetBlockCount(); ++i) + { + if (ReallocWithinBlock(vector, vector.GetBlock(i))) + return true; + } + + if (prevMoveCount == m_Moves.size()) + vectorState.operation = StateExtensive::Operation::Done; + } + return false; +} + +void VmaDefragmentationContext_T::UpdateVectorStatistics(VmaBlockVector& vector, StateBalanced& state) +{ + size_t allocCount = 0; + size_t freeCount = 0; + state.avgFreeSize = 0; + state.avgAllocSize = 0; + + for (size_t i = 0; i < vector.GetBlockCount(); ++i) + { + VmaBlockMetadata* metadata = vector.GetBlock(i)->m_pMetadata; + + allocCount += metadata->GetAllocationCount(); + freeCount += metadata->GetFreeRegionsCount(); + state.avgFreeSize += metadata->GetSumFreeSize(); + state.avgAllocSize += metadata->GetSize(); + } + + state.avgAllocSize = (state.avgAllocSize - state.avgFreeSize) / allocCount; + state.avgFreeSize /= freeCount; +} + +bool VmaDefragmentationContext_T::MoveDataToFreeBlocks(VmaSuballocationType currentType, + VmaBlockVector& vector, size_t firstFreeBlock, + bool& texturePresent, bool& bufferPresent, bool& otherPresent) +{ + const size_t prevMoveCount = m_Moves.size(); + for (size_t i = firstFreeBlock ; i;) + { + VmaDeviceMemoryBlock* block = vector.GetBlock(--i); + VmaBlockMetadata* metadata = block->m_pMetadata; + + for (VmaAllocHandle handle = metadata->GetAllocationListBegin(); + handle != VK_NULL_HANDLE; + handle = metadata->GetNextAllocation(handle)) + { + MoveAllocationData moveData = GetMoveData(handle, metadata); + // Ignore newly created allocations by defragmentation algorithm + if (moveData.move.srcAllocation->GetUserData() == this) + continue; + switch (CheckCounters(moveData.move.srcAllocation->GetSize())) + { + case CounterStatus::Ignore: + continue; + case CounterStatus::End: + return true; + default: + VMA_ASSERT(0); + case CounterStatus::Pass: + break; + } + + // Move only single type of resources at once + if (!VmaIsBufferImageGranularityConflict(moveData.type, currentType)) + { + // Try to fit allocation into free blocks + if (AllocInOtherBlock(firstFreeBlock, vector.GetBlockCount(), moveData, vector)) + return false; + } + + if (!VmaIsBufferImageGranularityConflict(moveData.type, VMA_SUBALLOCATION_TYPE_IMAGE_OPTIMAL)) + texturePresent = true; + else if (!VmaIsBufferImageGranularityConflict(moveData.type, VMA_SUBALLOCATION_TYPE_BUFFER)) + bufferPresent = true; + else + otherPresent = true; + } + } + return prevMoveCount == m_Moves.size(); +} +#endif // _VMA_DEFRAGMENTATION_CONTEXT_FUNCTIONS + +#ifndef _VMA_POOL_T_FUNCTIONS +VmaPool_T::VmaPool_T( + VmaAllocator hAllocator, + const VmaPoolCreateInfo& createInfo, + VkDeviceSize preferredBlockSize) + : m_BlockVector( + hAllocator, + this, // hParentPool + createInfo.memoryTypeIndex, + createInfo.blockSize != 0 ? createInfo.blockSize : preferredBlockSize, + createInfo.minBlockCount, + createInfo.maxBlockCount, + (createInfo.flags& VMA_POOL_CREATE_IGNORE_BUFFER_IMAGE_GRANULARITY_BIT) != 0 ? 1 : hAllocator->GetBufferImageGranularity(), + createInfo.blockSize != 0, // explicitBlockSize + createInfo.flags & VMA_POOL_CREATE_ALGORITHM_MASK, // algorithm + createInfo.priority, + VMA_MAX(hAllocator->GetMemoryTypeMinAlignment(createInfo.memoryTypeIndex), createInfo.minAllocationAlignment), + createInfo.pMemoryAllocateNext), + m_Id(0), + m_Name(VMA_NULL) {} + +VmaPool_T::~VmaPool_T() +{ + VMA_ASSERT(m_PrevPool == VMA_NULL && m_NextPool == VMA_NULL); +} + +void VmaPool_T::SetName(const char* pName) +{ + const VkAllocationCallbacks* allocs = m_BlockVector.GetAllocator()->GetAllocationCallbacks(); + VmaFreeString(allocs, m_Name); + + if (pName != VMA_NULL) + { + m_Name = VmaCreateStringCopy(allocs, pName); + } + else + { + m_Name = VMA_NULL; + } +} +#endif // _VMA_POOL_T_FUNCTIONS + +#ifndef _VMA_ALLOCATOR_T_FUNCTIONS +VmaAllocator_T::VmaAllocator_T(const VmaAllocatorCreateInfo* pCreateInfo) : + m_UseMutex((pCreateInfo->flags & VMA_ALLOCATOR_CREATE_EXTERNALLY_SYNCHRONIZED_BIT) == 0), + m_VulkanApiVersion(pCreateInfo->vulkanApiVersion != 0 ? pCreateInfo->vulkanApiVersion : VK_API_VERSION_1_0), + m_UseKhrDedicatedAllocation((pCreateInfo->flags & VMA_ALLOCATOR_CREATE_KHR_DEDICATED_ALLOCATION_BIT) != 0), + m_UseKhrBindMemory2((pCreateInfo->flags & VMA_ALLOCATOR_CREATE_KHR_BIND_MEMORY2_BIT) != 0), + m_UseExtMemoryBudget((pCreateInfo->flags & VMA_ALLOCATOR_CREATE_EXT_MEMORY_BUDGET_BIT) != 0), + m_UseAmdDeviceCoherentMemory((pCreateInfo->flags & VMA_ALLOCATOR_CREATE_AMD_DEVICE_COHERENT_MEMORY_BIT) != 0), + m_UseKhrBufferDeviceAddress((pCreateInfo->flags & VMA_ALLOCATOR_CREATE_BUFFER_DEVICE_ADDRESS_BIT) != 0), + m_UseExtMemoryPriority((pCreateInfo->flags & VMA_ALLOCATOR_CREATE_EXT_MEMORY_PRIORITY_BIT) != 0), + m_hDevice(pCreateInfo->device), + m_hInstance(pCreateInfo->instance), + m_AllocationCallbacksSpecified(pCreateInfo->pAllocationCallbacks != VMA_NULL), + m_AllocationCallbacks(pCreateInfo->pAllocationCallbacks ? + *pCreateInfo->pAllocationCallbacks : VmaEmptyAllocationCallbacks), + m_AllocationObjectAllocator(&m_AllocationCallbacks), + m_HeapSizeLimitMask(0), + m_DeviceMemoryCount(0), + m_PreferredLargeHeapBlockSize(0), + m_PhysicalDevice(pCreateInfo->physicalDevice), + m_GpuDefragmentationMemoryTypeBits(UINT32_MAX), + m_NextPoolId(0), + m_GlobalMemoryTypeBits(UINT32_MAX) +{ + if(m_VulkanApiVersion >= VK_MAKE_VERSION(1, 1, 0)) + { + m_UseKhrDedicatedAllocation = false; + m_UseKhrBindMemory2 = false; + } + + if(VMA_DEBUG_DETECT_CORRUPTION) + { + // Needs to be multiply of uint32_t size because we are going to write VMA_CORRUPTION_DETECTION_MAGIC_VALUE to it. + VMA_ASSERT(VMA_DEBUG_MARGIN % sizeof(uint32_t) == 0); + } + + VMA_ASSERT(pCreateInfo->physicalDevice && pCreateInfo->device && pCreateInfo->instance); + + if(m_VulkanApiVersion < VK_MAKE_VERSION(1, 1, 0)) + { +#if !(VMA_DEDICATED_ALLOCATION) + if((pCreateInfo->flags & VMA_ALLOCATOR_CREATE_KHR_DEDICATED_ALLOCATION_BIT) != 0) + { + VMA_ASSERT(0 && "VMA_ALLOCATOR_CREATE_KHR_DEDICATED_ALLOCATION_BIT set but required extensions are disabled by preprocessor macros."); + } +#endif +#if !(VMA_BIND_MEMORY2) + if((pCreateInfo->flags & VMA_ALLOCATOR_CREATE_KHR_BIND_MEMORY2_BIT) != 0) + { + VMA_ASSERT(0 && "VMA_ALLOCATOR_CREATE_KHR_BIND_MEMORY2_BIT set but required extension is disabled by preprocessor macros."); + } +#endif + } +#if !(VMA_MEMORY_BUDGET) + if((pCreateInfo->flags & VMA_ALLOCATOR_CREATE_EXT_MEMORY_BUDGET_BIT) != 0) + { + VMA_ASSERT(0 && "VMA_ALLOCATOR_CREATE_EXT_MEMORY_BUDGET_BIT set but required extension is disabled by preprocessor macros."); + } +#endif +#if !(VMA_BUFFER_DEVICE_ADDRESS) + if(m_UseKhrBufferDeviceAddress) + { + VMA_ASSERT(0 && "VMA_ALLOCATOR_CREATE_BUFFER_DEVICE_ADDRESS_BIT is set but required extension or Vulkan 1.2 is not available in your Vulkan header or its support in VMA has been disabled by a preprocessor macro."); + } +#endif +#if VMA_VULKAN_VERSION < 1002000 + if(m_VulkanApiVersion >= VK_MAKE_VERSION(1, 2, 0)) + { + VMA_ASSERT(0 && "vulkanApiVersion >= VK_API_VERSION_1_2 but required Vulkan version is disabled by preprocessor macros."); + } +#endif +#if VMA_VULKAN_VERSION < 1001000 + if(m_VulkanApiVersion >= VK_MAKE_VERSION(1, 1, 0)) + { + VMA_ASSERT(0 && "vulkanApiVersion >= VK_API_VERSION_1_1 but required Vulkan version is disabled by preprocessor macros."); + } +#endif +#if !(VMA_MEMORY_PRIORITY) + if(m_UseExtMemoryPriority) + { + VMA_ASSERT(0 && "VMA_ALLOCATOR_CREATE_EXT_MEMORY_PRIORITY_BIT is set but required extension is not available in your Vulkan header or its support in VMA has been disabled by a preprocessor macro."); + } +#endif + + memset(&m_DeviceMemoryCallbacks, 0 ,sizeof(m_DeviceMemoryCallbacks)); + memset(&m_PhysicalDeviceProperties, 0, sizeof(m_PhysicalDeviceProperties)); + memset(&m_MemProps, 0, sizeof(m_MemProps)); + + memset(&m_pBlockVectors, 0, sizeof(m_pBlockVectors)); + memset(&m_VulkanFunctions, 0, sizeof(m_VulkanFunctions)); + +#if VMA_EXTERNAL_MEMORY + memset(&m_TypeExternalMemoryHandleTypes, 0, sizeof(m_TypeExternalMemoryHandleTypes)); +#endif // #if VMA_EXTERNAL_MEMORY + + if(pCreateInfo->pDeviceMemoryCallbacks != VMA_NULL) + { + m_DeviceMemoryCallbacks.pUserData = pCreateInfo->pDeviceMemoryCallbacks->pUserData; + m_DeviceMemoryCallbacks.pfnAllocate = pCreateInfo->pDeviceMemoryCallbacks->pfnAllocate; + m_DeviceMemoryCallbacks.pfnFree = pCreateInfo->pDeviceMemoryCallbacks->pfnFree; + } + + ImportVulkanFunctions(pCreateInfo->pVulkanFunctions); + + (*m_VulkanFunctions.vkGetPhysicalDeviceProperties)(m_PhysicalDevice, &m_PhysicalDeviceProperties); + (*m_VulkanFunctions.vkGetPhysicalDeviceMemoryProperties)(m_PhysicalDevice, &m_MemProps); + + VMA_ASSERT(VmaIsPow2(VMA_MIN_ALIGNMENT)); + VMA_ASSERT(VmaIsPow2(VMA_DEBUG_MIN_BUFFER_IMAGE_GRANULARITY)); + VMA_ASSERT(VmaIsPow2(m_PhysicalDeviceProperties.limits.bufferImageGranularity)); + VMA_ASSERT(VmaIsPow2(m_PhysicalDeviceProperties.limits.nonCoherentAtomSize)); + + m_PreferredLargeHeapBlockSize = (pCreateInfo->preferredLargeHeapBlockSize != 0) ? + pCreateInfo->preferredLargeHeapBlockSize : static_cast(VMA_DEFAULT_LARGE_HEAP_BLOCK_SIZE); + + m_GlobalMemoryTypeBits = CalculateGlobalMemoryTypeBits(); + +#if VMA_EXTERNAL_MEMORY + if(pCreateInfo->pTypeExternalMemoryHandleTypes != VMA_NULL) + { + memcpy(m_TypeExternalMemoryHandleTypes, pCreateInfo->pTypeExternalMemoryHandleTypes, + sizeof(VkExternalMemoryHandleTypeFlagsKHR) * GetMemoryTypeCount()); + } +#endif // #if VMA_EXTERNAL_MEMORY + + if(pCreateInfo->pHeapSizeLimit != VMA_NULL) + { + for(uint32_t heapIndex = 0; heapIndex < GetMemoryHeapCount(); ++heapIndex) + { + const VkDeviceSize limit = pCreateInfo->pHeapSizeLimit[heapIndex]; + if(limit != VK_WHOLE_SIZE) + { + m_HeapSizeLimitMask |= 1u << heapIndex; + if(limit < m_MemProps.memoryHeaps[heapIndex].size) + { + m_MemProps.memoryHeaps[heapIndex].size = limit; + } + } + } + } + + for(uint32_t memTypeIndex = 0; memTypeIndex < GetMemoryTypeCount(); ++memTypeIndex) + { + // Create only supported types + if((m_GlobalMemoryTypeBits & (1u << memTypeIndex)) != 0) + { + const VkDeviceSize preferredBlockSize = CalcPreferredBlockSize(memTypeIndex); + m_pBlockVectors[memTypeIndex] = vma_new(this, VmaBlockVector)( + this, + VK_NULL_HANDLE, // hParentPool + memTypeIndex, + preferredBlockSize, + 0, + SIZE_MAX, + GetBufferImageGranularity(), + false, // explicitBlockSize + 0, // algorithm + 0.5f, // priority (0.5 is the default per Vulkan spec) + GetMemoryTypeMinAlignment(memTypeIndex), // minAllocationAlignment + VMA_NULL); // // pMemoryAllocateNext + // No need to call m_pBlockVectors[memTypeIndex][blockVectorTypeIndex]->CreateMinBlocks here, + // becase minBlockCount is 0. + } + } +} + +VkResult VmaAllocator_T::Init(const VmaAllocatorCreateInfo* pCreateInfo) +{ + VkResult res = VK_SUCCESS; + +#if VMA_MEMORY_BUDGET + if(m_UseExtMemoryBudget) + { + UpdateVulkanBudget(); + } +#endif // #if VMA_MEMORY_BUDGET + + return res; +} + +VmaAllocator_T::~VmaAllocator_T() +{ + VMA_ASSERT(m_Pools.IsEmpty()); + + for(size_t memTypeIndex = GetMemoryTypeCount(); memTypeIndex--; ) + { + vma_delete(this, m_pBlockVectors[memTypeIndex]); + } +} + +void VmaAllocator_T::ImportVulkanFunctions(const VmaVulkanFunctions* pVulkanFunctions) +{ +#if VMA_STATIC_VULKAN_FUNCTIONS == 1 + ImportVulkanFunctions_Static(); +#endif + + if(pVulkanFunctions != VMA_NULL) + { + ImportVulkanFunctions_Custom(pVulkanFunctions); + } + +#if VMA_DYNAMIC_VULKAN_FUNCTIONS == 1 + ImportVulkanFunctions_Dynamic(); +#endif + + ValidateVulkanFunctions(); +} + +#if VMA_STATIC_VULKAN_FUNCTIONS == 1 + +void VmaAllocator_T::ImportVulkanFunctions_Static() +{ + // Vulkan 1.0 + m_VulkanFunctions.vkGetInstanceProcAddr = (PFN_vkGetInstanceProcAddr)vkGetInstanceProcAddr; + m_VulkanFunctions.vkGetDeviceProcAddr = (PFN_vkGetDeviceProcAddr)vkGetDeviceProcAddr; + m_VulkanFunctions.vkGetPhysicalDeviceProperties = (PFN_vkGetPhysicalDeviceProperties)vkGetPhysicalDeviceProperties; + m_VulkanFunctions.vkGetPhysicalDeviceMemoryProperties = (PFN_vkGetPhysicalDeviceMemoryProperties)vkGetPhysicalDeviceMemoryProperties; + m_VulkanFunctions.vkAllocateMemory = (PFN_vkAllocateMemory)vkAllocateMemory; + m_VulkanFunctions.vkFreeMemory = (PFN_vkFreeMemory)vkFreeMemory; + m_VulkanFunctions.vkMapMemory = (PFN_vkMapMemory)vkMapMemory; + m_VulkanFunctions.vkUnmapMemory = (PFN_vkUnmapMemory)vkUnmapMemory; + m_VulkanFunctions.vkFlushMappedMemoryRanges = (PFN_vkFlushMappedMemoryRanges)vkFlushMappedMemoryRanges; + m_VulkanFunctions.vkInvalidateMappedMemoryRanges = (PFN_vkInvalidateMappedMemoryRanges)vkInvalidateMappedMemoryRanges; + m_VulkanFunctions.vkBindBufferMemory = (PFN_vkBindBufferMemory)vkBindBufferMemory; + m_VulkanFunctions.vkBindImageMemory = (PFN_vkBindImageMemory)vkBindImageMemory; + m_VulkanFunctions.vkGetBufferMemoryRequirements = (PFN_vkGetBufferMemoryRequirements)vkGetBufferMemoryRequirements; + m_VulkanFunctions.vkGetImageMemoryRequirements = (PFN_vkGetImageMemoryRequirements)vkGetImageMemoryRequirements; + m_VulkanFunctions.vkCreateBuffer = (PFN_vkCreateBuffer)vkCreateBuffer; + m_VulkanFunctions.vkDestroyBuffer = (PFN_vkDestroyBuffer)vkDestroyBuffer; + m_VulkanFunctions.vkCreateImage = (PFN_vkCreateImage)vkCreateImage; + m_VulkanFunctions.vkDestroyImage = (PFN_vkDestroyImage)vkDestroyImage; + m_VulkanFunctions.vkCmdCopyBuffer = (PFN_vkCmdCopyBuffer)vkCmdCopyBuffer; + + // Vulkan 1.1 +#if VMA_VULKAN_VERSION >= 1001000 + if(m_VulkanApiVersion >= VK_MAKE_VERSION(1, 1, 0)) + { + m_VulkanFunctions.vkGetBufferMemoryRequirements2KHR = (PFN_vkGetBufferMemoryRequirements2)vkGetBufferMemoryRequirements2; + m_VulkanFunctions.vkGetImageMemoryRequirements2KHR = (PFN_vkGetImageMemoryRequirements2)vkGetImageMemoryRequirements2; + m_VulkanFunctions.vkBindBufferMemory2KHR = (PFN_vkBindBufferMemory2)vkBindBufferMemory2; + m_VulkanFunctions.vkBindImageMemory2KHR = (PFN_vkBindImageMemory2)vkBindImageMemory2; + m_VulkanFunctions.vkGetPhysicalDeviceMemoryProperties2KHR = (PFN_vkGetPhysicalDeviceMemoryProperties2)vkGetPhysicalDeviceMemoryProperties2; + } +#endif + +#if VMA_VULKAN_VERSION >= 1003000 + if(m_VulkanApiVersion >= VK_MAKE_VERSION(1, 3, 0)) + { + m_VulkanFunctions.vkGetDeviceBufferMemoryRequirements = (PFN_vkGetDeviceBufferMemoryRequirements)vkGetDeviceBufferMemoryRequirements; + m_VulkanFunctions.vkGetDeviceImageMemoryRequirements = (PFN_vkGetDeviceImageMemoryRequirements)vkGetDeviceImageMemoryRequirements; + } +#endif +} + +#endif // VMA_STATIC_VULKAN_FUNCTIONS == 1 + +void VmaAllocator_T::ImportVulkanFunctions_Custom(const VmaVulkanFunctions* pVulkanFunctions) +{ + VMA_ASSERT(pVulkanFunctions != VMA_NULL); + +#define VMA_COPY_IF_NOT_NULL(funcName) \ + if(pVulkanFunctions->funcName != VMA_NULL) m_VulkanFunctions.funcName = pVulkanFunctions->funcName; + + VMA_COPY_IF_NOT_NULL(vkGetInstanceProcAddr); + VMA_COPY_IF_NOT_NULL(vkGetDeviceProcAddr); + VMA_COPY_IF_NOT_NULL(vkGetPhysicalDeviceProperties); + VMA_COPY_IF_NOT_NULL(vkGetPhysicalDeviceMemoryProperties); + VMA_COPY_IF_NOT_NULL(vkAllocateMemory); + VMA_COPY_IF_NOT_NULL(vkFreeMemory); + VMA_COPY_IF_NOT_NULL(vkMapMemory); + VMA_COPY_IF_NOT_NULL(vkUnmapMemory); + VMA_COPY_IF_NOT_NULL(vkFlushMappedMemoryRanges); + VMA_COPY_IF_NOT_NULL(vkInvalidateMappedMemoryRanges); + VMA_COPY_IF_NOT_NULL(vkBindBufferMemory); + VMA_COPY_IF_NOT_NULL(vkBindImageMemory); + VMA_COPY_IF_NOT_NULL(vkGetBufferMemoryRequirements); + VMA_COPY_IF_NOT_NULL(vkGetImageMemoryRequirements); + VMA_COPY_IF_NOT_NULL(vkCreateBuffer); + VMA_COPY_IF_NOT_NULL(vkDestroyBuffer); + VMA_COPY_IF_NOT_NULL(vkCreateImage); + VMA_COPY_IF_NOT_NULL(vkDestroyImage); + VMA_COPY_IF_NOT_NULL(vkCmdCopyBuffer); + +#if VMA_DEDICATED_ALLOCATION || VMA_VULKAN_VERSION >= 1001000 + VMA_COPY_IF_NOT_NULL(vkGetBufferMemoryRequirements2KHR); + VMA_COPY_IF_NOT_NULL(vkGetImageMemoryRequirements2KHR); +#endif + +#if VMA_BIND_MEMORY2 || VMA_VULKAN_VERSION >= 1001000 + VMA_COPY_IF_NOT_NULL(vkBindBufferMemory2KHR); + VMA_COPY_IF_NOT_NULL(vkBindImageMemory2KHR); +#endif + +#if VMA_MEMORY_BUDGET + VMA_COPY_IF_NOT_NULL(vkGetPhysicalDeviceMemoryProperties2KHR); +#endif + +#if VMA_VULKAN_VERSION >= 1003000 + VMA_COPY_IF_NOT_NULL(vkGetDeviceBufferMemoryRequirements); + VMA_COPY_IF_NOT_NULL(vkGetDeviceImageMemoryRequirements); +#endif + +#undef VMA_COPY_IF_NOT_NULL +} + +#if VMA_DYNAMIC_VULKAN_FUNCTIONS == 1 + +void VmaAllocator_T::ImportVulkanFunctions_Dynamic() +{ + VMA_ASSERT(m_VulkanFunctions.vkGetInstanceProcAddr && m_VulkanFunctions.vkGetDeviceProcAddr && + "To use VMA_DYNAMIC_VULKAN_FUNCTIONS in new versions of VMA you now have to pass " + "VmaVulkanFunctions::vkGetInstanceProcAddr and vkGetDeviceProcAddr as VmaAllocatorCreateInfo::pVulkanFunctions. " + "Other members can be null."); + +#define VMA_FETCH_INSTANCE_FUNC(memberName, functionPointerType, functionNameString) \ + if(m_VulkanFunctions.memberName == VMA_NULL) \ + m_VulkanFunctions.memberName = \ + (functionPointerType)m_VulkanFunctions.vkGetInstanceProcAddr(m_hInstance, functionNameString); +#define VMA_FETCH_DEVICE_FUNC(memberName, functionPointerType, functionNameString) \ + if(m_VulkanFunctions.memberName == VMA_NULL) \ + m_VulkanFunctions.memberName = \ + (functionPointerType)m_VulkanFunctions.vkGetDeviceProcAddr(m_hDevice, functionNameString); + + VMA_FETCH_INSTANCE_FUNC(vkGetPhysicalDeviceProperties, PFN_vkGetPhysicalDeviceProperties, "vkGetPhysicalDeviceProperties"); + VMA_FETCH_INSTANCE_FUNC(vkGetPhysicalDeviceMemoryProperties, PFN_vkGetPhysicalDeviceMemoryProperties, "vkGetPhysicalDeviceMemoryProperties"); + VMA_FETCH_DEVICE_FUNC(vkAllocateMemory, PFN_vkAllocateMemory, "vkAllocateMemory"); + VMA_FETCH_DEVICE_FUNC(vkFreeMemory, PFN_vkFreeMemory, "vkFreeMemory"); + VMA_FETCH_DEVICE_FUNC(vkMapMemory, PFN_vkMapMemory, "vkMapMemory"); + VMA_FETCH_DEVICE_FUNC(vkUnmapMemory, PFN_vkUnmapMemory, "vkUnmapMemory"); + VMA_FETCH_DEVICE_FUNC(vkFlushMappedMemoryRanges, PFN_vkFlushMappedMemoryRanges, "vkFlushMappedMemoryRanges"); + VMA_FETCH_DEVICE_FUNC(vkInvalidateMappedMemoryRanges, PFN_vkInvalidateMappedMemoryRanges, "vkInvalidateMappedMemoryRanges"); + VMA_FETCH_DEVICE_FUNC(vkBindBufferMemory, PFN_vkBindBufferMemory, "vkBindBufferMemory"); + VMA_FETCH_DEVICE_FUNC(vkBindImageMemory, PFN_vkBindImageMemory, "vkBindImageMemory"); + VMA_FETCH_DEVICE_FUNC(vkGetBufferMemoryRequirements, PFN_vkGetBufferMemoryRequirements, "vkGetBufferMemoryRequirements"); + VMA_FETCH_DEVICE_FUNC(vkGetImageMemoryRequirements, PFN_vkGetImageMemoryRequirements, "vkGetImageMemoryRequirements"); + VMA_FETCH_DEVICE_FUNC(vkCreateBuffer, PFN_vkCreateBuffer, "vkCreateBuffer"); + VMA_FETCH_DEVICE_FUNC(vkDestroyBuffer, PFN_vkDestroyBuffer, "vkDestroyBuffer"); + VMA_FETCH_DEVICE_FUNC(vkCreateImage, PFN_vkCreateImage, "vkCreateImage"); + VMA_FETCH_DEVICE_FUNC(vkDestroyImage, PFN_vkDestroyImage, "vkDestroyImage"); + VMA_FETCH_DEVICE_FUNC(vkCmdCopyBuffer, PFN_vkCmdCopyBuffer, "vkCmdCopyBuffer"); + +#if VMA_VULKAN_VERSION >= 1001000 + if(m_VulkanApiVersion >= VK_MAKE_VERSION(1, 1, 0)) + { + VMA_FETCH_DEVICE_FUNC(vkGetBufferMemoryRequirements2KHR, PFN_vkGetBufferMemoryRequirements2, "vkGetBufferMemoryRequirements2"); + VMA_FETCH_DEVICE_FUNC(vkGetImageMemoryRequirements2KHR, PFN_vkGetImageMemoryRequirements2, "vkGetImageMemoryRequirements2"); + VMA_FETCH_DEVICE_FUNC(vkBindBufferMemory2KHR, PFN_vkBindBufferMemory2, "vkBindBufferMemory2"); + VMA_FETCH_DEVICE_FUNC(vkBindImageMemory2KHR, PFN_vkBindImageMemory2, "vkBindImageMemory2"); + VMA_FETCH_INSTANCE_FUNC(vkGetPhysicalDeviceMemoryProperties2KHR, PFN_vkGetPhysicalDeviceMemoryProperties2, "vkGetPhysicalDeviceMemoryProperties2"); + } +#endif + +#if VMA_DEDICATED_ALLOCATION + if(m_UseKhrDedicatedAllocation) + { + VMA_FETCH_DEVICE_FUNC(vkGetBufferMemoryRequirements2KHR, PFN_vkGetBufferMemoryRequirements2KHR, "vkGetBufferMemoryRequirements2KHR"); + VMA_FETCH_DEVICE_FUNC(vkGetImageMemoryRequirements2KHR, PFN_vkGetImageMemoryRequirements2KHR, "vkGetImageMemoryRequirements2KHR"); + } +#endif + +#if VMA_BIND_MEMORY2 + if(m_UseKhrBindMemory2) + { + VMA_FETCH_DEVICE_FUNC(vkBindBufferMemory2KHR, PFN_vkBindBufferMemory2KHR, "vkBindBufferMemory2KHR"); + VMA_FETCH_DEVICE_FUNC(vkBindImageMemory2KHR, PFN_vkBindImageMemory2KHR, "vkBindImageMemory2KHR"); + } +#endif // #if VMA_BIND_MEMORY2 + +#if VMA_MEMORY_BUDGET + if(m_UseExtMemoryBudget) + { + VMA_FETCH_INSTANCE_FUNC(vkGetPhysicalDeviceMemoryProperties2KHR, PFN_vkGetPhysicalDeviceMemoryProperties2KHR, "vkGetPhysicalDeviceMemoryProperties2KHR"); + } +#endif // #if VMA_MEMORY_BUDGET + +#if VMA_VULKAN_VERSION >= 1003000 + if(m_VulkanApiVersion >= VK_MAKE_VERSION(1, 3, 0)) + { + VMA_FETCH_DEVICE_FUNC(vkGetDeviceBufferMemoryRequirements, PFN_vkGetDeviceBufferMemoryRequirements, "vkGetDeviceBufferMemoryRequirements"); + VMA_FETCH_DEVICE_FUNC(vkGetDeviceImageMemoryRequirements, PFN_vkGetDeviceImageMemoryRequirements, "vkGetDeviceImageMemoryRequirements"); + } +#endif + +#undef VMA_FETCH_DEVICE_FUNC +#undef VMA_FETCH_INSTANCE_FUNC +} + +#endif // VMA_DYNAMIC_VULKAN_FUNCTIONS == 1 + +void VmaAllocator_T::ValidateVulkanFunctions() +{ + VMA_ASSERT(m_VulkanFunctions.vkGetPhysicalDeviceProperties != VMA_NULL); + VMA_ASSERT(m_VulkanFunctions.vkGetPhysicalDeviceMemoryProperties != VMA_NULL); + VMA_ASSERT(m_VulkanFunctions.vkAllocateMemory != VMA_NULL); + VMA_ASSERT(m_VulkanFunctions.vkFreeMemory != VMA_NULL); + VMA_ASSERT(m_VulkanFunctions.vkMapMemory != VMA_NULL); + VMA_ASSERT(m_VulkanFunctions.vkUnmapMemory != VMA_NULL); + VMA_ASSERT(m_VulkanFunctions.vkFlushMappedMemoryRanges != VMA_NULL); + VMA_ASSERT(m_VulkanFunctions.vkInvalidateMappedMemoryRanges != VMA_NULL); + VMA_ASSERT(m_VulkanFunctions.vkBindBufferMemory != VMA_NULL); + VMA_ASSERT(m_VulkanFunctions.vkBindImageMemory != VMA_NULL); + VMA_ASSERT(m_VulkanFunctions.vkGetBufferMemoryRequirements != VMA_NULL); + VMA_ASSERT(m_VulkanFunctions.vkGetImageMemoryRequirements != VMA_NULL); + VMA_ASSERT(m_VulkanFunctions.vkCreateBuffer != VMA_NULL); + VMA_ASSERT(m_VulkanFunctions.vkDestroyBuffer != VMA_NULL); + VMA_ASSERT(m_VulkanFunctions.vkCreateImage != VMA_NULL); + VMA_ASSERT(m_VulkanFunctions.vkDestroyImage != VMA_NULL); + VMA_ASSERT(m_VulkanFunctions.vkCmdCopyBuffer != VMA_NULL); + +#if VMA_DEDICATED_ALLOCATION || VMA_VULKAN_VERSION >= 1001000 + if(m_VulkanApiVersion >= VK_MAKE_VERSION(1, 1, 0) || m_UseKhrDedicatedAllocation) + { + VMA_ASSERT(m_VulkanFunctions.vkGetBufferMemoryRequirements2KHR != VMA_NULL); + VMA_ASSERT(m_VulkanFunctions.vkGetImageMemoryRequirements2KHR != VMA_NULL); + } +#endif + +#if VMA_BIND_MEMORY2 || VMA_VULKAN_VERSION >= 1001000 + if(m_VulkanApiVersion >= VK_MAKE_VERSION(1, 1, 0) || m_UseKhrBindMemory2) + { + VMA_ASSERT(m_VulkanFunctions.vkBindBufferMemory2KHR != VMA_NULL); + VMA_ASSERT(m_VulkanFunctions.vkBindImageMemory2KHR != VMA_NULL); + } +#endif + +#if VMA_MEMORY_BUDGET || VMA_VULKAN_VERSION >= 1001000 + if(m_UseExtMemoryBudget || m_VulkanApiVersion >= VK_MAKE_VERSION(1, 1, 0)) + { + VMA_ASSERT(m_VulkanFunctions.vkGetPhysicalDeviceMemoryProperties2KHR != VMA_NULL); + } +#endif + +#if VMA_VULKAN_VERSION >= 1003000 + if(m_VulkanApiVersion >= VK_MAKE_VERSION(1, 3, 0)) + { + VMA_ASSERT(m_VulkanFunctions.vkGetDeviceBufferMemoryRequirements != VMA_NULL); + VMA_ASSERT(m_VulkanFunctions.vkGetDeviceImageMemoryRequirements != VMA_NULL); + } +#endif +} + +VkDeviceSize VmaAllocator_T::CalcPreferredBlockSize(uint32_t memTypeIndex) +{ + const uint32_t heapIndex = MemoryTypeIndexToHeapIndex(memTypeIndex); + const VkDeviceSize heapSize = m_MemProps.memoryHeaps[heapIndex].size; + const bool isSmallHeap = heapSize <= VMA_SMALL_HEAP_MAX_SIZE; + return VmaAlignUp(isSmallHeap ? (heapSize / 8) : m_PreferredLargeHeapBlockSize, (VkDeviceSize)32); +} + +VkResult VmaAllocator_T::AllocateMemoryOfType( + VmaPool pool, + VkDeviceSize size, + VkDeviceSize alignment, + bool dedicatedPreferred, + VkBuffer dedicatedBuffer, + VkImage dedicatedImage, + VkFlags dedicatedBufferImageUsage, + const VmaAllocationCreateInfo& createInfo, + uint32_t memTypeIndex, + VmaSuballocationType suballocType, + VmaDedicatedAllocationList& dedicatedAllocations, + VmaBlockVector& blockVector, + size_t allocationCount, + VmaAllocation* pAllocations) +{ + VMA_ASSERT(pAllocations != VMA_NULL); + VMA_DEBUG_LOG(" AllocateMemory: MemoryTypeIndex=%u, AllocationCount=%zu, Size=%llu", memTypeIndex, allocationCount, size); + + VmaAllocationCreateInfo finalCreateInfo = createInfo; + VkResult res = CalcMemTypeParams( + finalCreateInfo, + memTypeIndex, + size, + allocationCount); + if(res != VK_SUCCESS) + return res; + + if((finalCreateInfo.flags & VMA_ALLOCATION_CREATE_DEDICATED_MEMORY_BIT) != 0) + { + return AllocateDedicatedMemory( + pool, + size, + suballocType, + dedicatedAllocations, + memTypeIndex, + (finalCreateInfo.flags & VMA_ALLOCATION_CREATE_MAPPED_BIT) != 0, + (finalCreateInfo.flags & VMA_ALLOCATION_CREATE_USER_DATA_COPY_STRING_BIT) != 0, + (finalCreateInfo.flags & + (VMA_ALLOCATION_CREATE_HOST_ACCESS_SEQUENTIAL_WRITE_BIT | VMA_ALLOCATION_CREATE_HOST_ACCESS_RANDOM_BIT)) != 0, + (finalCreateInfo.flags & VMA_ALLOCATION_CREATE_CAN_ALIAS_BIT) != 0, + finalCreateInfo.pUserData, + finalCreateInfo.priority, + dedicatedBuffer, + dedicatedImage, + dedicatedBufferImageUsage, + allocationCount, + pAllocations, + blockVector.GetAllocationNextPtr()); + } + else + { + const bool canAllocateDedicated = + (finalCreateInfo.flags & VMA_ALLOCATION_CREATE_NEVER_ALLOCATE_BIT) == 0 && + (pool == VK_NULL_HANDLE || !blockVector.HasExplicitBlockSize()); + + if(canAllocateDedicated) + { + // Heuristics: Allocate dedicated memory if requested size if greater than half of preferred block size. + if(size > blockVector.GetPreferredBlockSize() / 2) + { + dedicatedPreferred = true; + } + // Protection against creating each allocation as dedicated when we reach or exceed heap size/budget, + // which can quickly deplete maxMemoryAllocationCount: Don't prefer dedicated allocations when above + // 3/4 of the maximum allocation count. + if(m_DeviceMemoryCount.load() > m_PhysicalDeviceProperties.limits.maxMemoryAllocationCount * 3 / 4) + { + dedicatedPreferred = false; + } + + if(dedicatedPreferred) + { + res = AllocateDedicatedMemory( + pool, + size, + suballocType, + dedicatedAllocations, + memTypeIndex, + (finalCreateInfo.flags & VMA_ALLOCATION_CREATE_MAPPED_BIT) != 0, + (finalCreateInfo.flags & VMA_ALLOCATION_CREATE_USER_DATA_COPY_STRING_BIT) != 0, + (finalCreateInfo.flags & + (VMA_ALLOCATION_CREATE_HOST_ACCESS_SEQUENTIAL_WRITE_BIT | VMA_ALLOCATION_CREATE_HOST_ACCESS_RANDOM_BIT)) != 0, + (finalCreateInfo.flags & VMA_ALLOCATION_CREATE_CAN_ALIAS_BIT) != 0, + finalCreateInfo.pUserData, + finalCreateInfo.priority, + dedicatedBuffer, + dedicatedImage, + dedicatedBufferImageUsage, + allocationCount, + pAllocations, + blockVector.GetAllocationNextPtr()); + if(res == VK_SUCCESS) + { + // Succeeded: AllocateDedicatedMemory function already filld pMemory, nothing more to do here. + VMA_DEBUG_LOG(" Allocated as DedicatedMemory"); + return VK_SUCCESS; + } + } + } + + res = blockVector.Allocate( + size, + alignment, + finalCreateInfo, + suballocType, + allocationCount, + pAllocations); + if(res == VK_SUCCESS) + return VK_SUCCESS; + + // Try dedicated memory. + if(canAllocateDedicated && !dedicatedPreferred) + { + res = AllocateDedicatedMemory( + pool, + size, + suballocType, + dedicatedAllocations, + memTypeIndex, + (finalCreateInfo.flags & VMA_ALLOCATION_CREATE_MAPPED_BIT) != 0, + (finalCreateInfo.flags & VMA_ALLOCATION_CREATE_USER_DATA_COPY_STRING_BIT) != 0, + (finalCreateInfo.flags & + (VMA_ALLOCATION_CREATE_HOST_ACCESS_SEQUENTIAL_WRITE_BIT | VMA_ALLOCATION_CREATE_HOST_ACCESS_RANDOM_BIT)) != 0, + (finalCreateInfo.flags & VMA_ALLOCATION_CREATE_CAN_ALIAS_BIT) != 0, + finalCreateInfo.pUserData, + finalCreateInfo.priority, + dedicatedBuffer, + dedicatedImage, + dedicatedBufferImageUsage, + allocationCount, + pAllocations, + blockVector.GetAllocationNextPtr()); + if(res == VK_SUCCESS) + { + // Succeeded: AllocateDedicatedMemory function already filld pMemory, nothing more to do here. + VMA_DEBUG_LOG(" Allocated as DedicatedMemory"); + return VK_SUCCESS; + } + } + // Everything failed: Return error code. + VMA_DEBUG_LOG(" vkAllocateMemory FAILED"); + return res; + } +} + +VkResult VmaAllocator_T::AllocateDedicatedMemory( + VmaPool pool, + VkDeviceSize size, + VmaSuballocationType suballocType, + VmaDedicatedAllocationList& dedicatedAllocations, + uint32_t memTypeIndex, + bool map, + bool isUserDataString, + bool isMappingAllowed, + bool canAliasMemory, + void* pUserData, + float priority, + VkBuffer dedicatedBuffer, + VkImage dedicatedImage, + VkFlags dedicatedBufferImageUsage, + size_t allocationCount, + VmaAllocation* pAllocations, + const void* pNextChain) +{ + VMA_ASSERT(allocationCount > 0 && pAllocations); + + VkMemoryAllocateInfo allocInfo = { VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_INFO }; + allocInfo.memoryTypeIndex = memTypeIndex; + allocInfo.allocationSize = size; + allocInfo.pNext = pNextChain; + +#if VMA_DEDICATED_ALLOCATION || VMA_VULKAN_VERSION >= 1001000 + VkMemoryDedicatedAllocateInfoKHR dedicatedAllocInfo = { VK_STRUCTURE_TYPE_MEMORY_DEDICATED_ALLOCATE_INFO_KHR }; + if(!canAliasMemory) + { + if(m_UseKhrDedicatedAllocation || m_VulkanApiVersion >= VK_MAKE_VERSION(1, 1, 0)) + { + if(dedicatedBuffer != VK_NULL_HANDLE) + { + VMA_ASSERT(dedicatedImage == VK_NULL_HANDLE); + dedicatedAllocInfo.buffer = dedicatedBuffer; + VmaPnextChainPushFront(&allocInfo, &dedicatedAllocInfo); + } + else if(dedicatedImage != VK_NULL_HANDLE) + { + dedicatedAllocInfo.image = dedicatedImage; + VmaPnextChainPushFront(&allocInfo, &dedicatedAllocInfo); + } + } + } +#endif // #if VMA_DEDICATED_ALLOCATION || VMA_VULKAN_VERSION >= 1001000 + +#if VMA_BUFFER_DEVICE_ADDRESS + VkMemoryAllocateFlagsInfoKHR allocFlagsInfo = { VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_FLAGS_INFO_KHR }; + if(m_UseKhrBufferDeviceAddress) + { + bool canContainBufferWithDeviceAddress = true; + if(dedicatedBuffer != VK_NULL_HANDLE) + { + canContainBufferWithDeviceAddress = dedicatedBufferImageUsage == UINT32_MAX || // Usage flags unknown + (dedicatedBufferImageUsage & VK_BUFFER_USAGE_SHADER_DEVICE_ADDRESS_BIT_EXT) != 0; + } + else if(dedicatedImage != VK_NULL_HANDLE) + { + canContainBufferWithDeviceAddress = false; + } + if(canContainBufferWithDeviceAddress) + { + allocFlagsInfo.flags = VK_MEMORY_ALLOCATE_DEVICE_ADDRESS_BIT_KHR; + VmaPnextChainPushFront(&allocInfo, &allocFlagsInfo); + } + } +#endif // #if VMA_BUFFER_DEVICE_ADDRESS + +#if VMA_MEMORY_PRIORITY + VkMemoryPriorityAllocateInfoEXT priorityInfo = { VK_STRUCTURE_TYPE_MEMORY_PRIORITY_ALLOCATE_INFO_EXT }; + if(m_UseExtMemoryPriority) + { + VMA_ASSERT(priority >= 0.f && priority <= 1.f); + priorityInfo.priority = priority; + VmaPnextChainPushFront(&allocInfo, &priorityInfo); + } +#endif // #if VMA_MEMORY_PRIORITY + +#if VMA_EXTERNAL_MEMORY + // Attach VkExportMemoryAllocateInfoKHR if necessary. + VkExportMemoryAllocateInfoKHR exportMemoryAllocInfo = { VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO_KHR }; + exportMemoryAllocInfo.handleTypes = GetExternalMemoryHandleTypeFlags(memTypeIndex); + if(exportMemoryAllocInfo.handleTypes != 0) + { + VmaPnextChainPushFront(&allocInfo, &exportMemoryAllocInfo); + } +#endif // #if VMA_EXTERNAL_MEMORY + + size_t allocIndex; + VkResult res = VK_SUCCESS; + for(allocIndex = 0; allocIndex < allocationCount; ++allocIndex) + { + res = AllocateDedicatedMemoryPage( + pool, + size, + suballocType, + memTypeIndex, + allocInfo, + map, + isUserDataString, + isMappingAllowed, + pUserData, + pAllocations + allocIndex); + if(res != VK_SUCCESS) + { + break; + } + } + + if(res == VK_SUCCESS) + { + for (allocIndex = 0; allocIndex < allocationCount; ++allocIndex) + { + dedicatedAllocations.Register(pAllocations[allocIndex]); + } + VMA_DEBUG_LOG(" Allocated DedicatedMemory Count=%zu, MemoryTypeIndex=#%u", allocationCount, memTypeIndex); + } + else + { + // Free all already created allocations. + while(allocIndex--) + { + VmaAllocation currAlloc = pAllocations[allocIndex]; + VkDeviceMemory hMemory = currAlloc->GetMemory(); + + /* + There is no need to call this, because Vulkan spec allows to skip vkUnmapMemory + before vkFreeMemory. + + if(currAlloc->GetMappedData() != VMA_NULL) + { + (*m_VulkanFunctions.vkUnmapMemory)(m_hDevice, hMemory); + } + */ + + FreeVulkanMemory(memTypeIndex, currAlloc->GetSize(), hMemory); + m_Budget.RemoveAllocation(MemoryTypeIndexToHeapIndex(memTypeIndex), currAlloc->GetSize()); + m_AllocationObjectAllocator.Free(currAlloc); + } + + memset(pAllocations, 0, sizeof(VmaAllocation) * allocationCount); + } + + return res; +} + +VkResult VmaAllocator_T::AllocateDedicatedMemoryPage( + VmaPool pool, + VkDeviceSize size, + VmaSuballocationType suballocType, + uint32_t memTypeIndex, + const VkMemoryAllocateInfo& allocInfo, + bool map, + bool isUserDataString, + bool isMappingAllowed, + void* pUserData, + VmaAllocation* pAllocation) +{ + VkDeviceMemory hMemory = VK_NULL_HANDLE; + VkResult res = AllocateVulkanMemory(&allocInfo, &hMemory); + if(res < 0) + { + VMA_DEBUG_LOG(" vkAllocateMemory FAILED"); + return res; + } + + void* pMappedData = VMA_NULL; + if(map) + { + res = (*m_VulkanFunctions.vkMapMemory)( + m_hDevice, + hMemory, + 0, + VK_WHOLE_SIZE, + 0, + &pMappedData); + if(res < 0) + { + VMA_DEBUG_LOG(" vkMapMemory FAILED"); + FreeVulkanMemory(memTypeIndex, size, hMemory); + return res; + } + } + + *pAllocation = m_AllocationObjectAllocator.Allocate(isMappingAllowed); + (*pAllocation)->InitDedicatedAllocation(pool, memTypeIndex, hMemory, suballocType, pMappedData, size); + if (isUserDataString) + (*pAllocation)->SetName(this, (const char*)pUserData); + else + (*pAllocation)->SetUserData(this, pUserData); + m_Budget.AddAllocation(MemoryTypeIndexToHeapIndex(memTypeIndex), size); + if(VMA_DEBUG_INITIALIZE_ALLOCATIONS) + { + FillAllocation(*pAllocation, VMA_ALLOCATION_FILL_PATTERN_CREATED); + } + + return VK_SUCCESS; +} + +void VmaAllocator_T::GetBufferMemoryRequirements( + VkBuffer hBuffer, + VkMemoryRequirements& memReq, + bool& requiresDedicatedAllocation, + bool& prefersDedicatedAllocation) const +{ +#if VMA_DEDICATED_ALLOCATION || VMA_VULKAN_VERSION >= 1001000 + if(m_UseKhrDedicatedAllocation || m_VulkanApiVersion >= VK_MAKE_VERSION(1, 1, 0)) + { + VkBufferMemoryRequirementsInfo2KHR memReqInfo = { VK_STRUCTURE_TYPE_BUFFER_MEMORY_REQUIREMENTS_INFO_2_KHR }; + memReqInfo.buffer = hBuffer; + + VkMemoryDedicatedRequirementsKHR memDedicatedReq = { VK_STRUCTURE_TYPE_MEMORY_DEDICATED_REQUIREMENTS_KHR }; + + VkMemoryRequirements2KHR memReq2 = { VK_STRUCTURE_TYPE_MEMORY_REQUIREMENTS_2_KHR }; + VmaPnextChainPushFront(&memReq2, &memDedicatedReq); + + (*m_VulkanFunctions.vkGetBufferMemoryRequirements2KHR)(m_hDevice, &memReqInfo, &memReq2); + + memReq = memReq2.memoryRequirements; + requiresDedicatedAllocation = (memDedicatedReq.requiresDedicatedAllocation != VK_FALSE); + prefersDedicatedAllocation = (memDedicatedReq.prefersDedicatedAllocation != VK_FALSE); + } + else +#endif // #if VMA_DEDICATED_ALLOCATION || VMA_VULKAN_VERSION >= 1001000 + { + (*m_VulkanFunctions.vkGetBufferMemoryRequirements)(m_hDevice, hBuffer, &memReq); + requiresDedicatedAllocation = false; + prefersDedicatedAllocation = false; + } +} + +void VmaAllocator_T::GetImageMemoryRequirements( + VkImage hImage, + VkMemoryRequirements& memReq, + bool& requiresDedicatedAllocation, + bool& prefersDedicatedAllocation) const +{ +#if VMA_DEDICATED_ALLOCATION || VMA_VULKAN_VERSION >= 1001000 + if(m_UseKhrDedicatedAllocation || m_VulkanApiVersion >= VK_MAKE_VERSION(1, 1, 0)) + { + VkImageMemoryRequirementsInfo2KHR memReqInfo = { VK_STRUCTURE_TYPE_IMAGE_MEMORY_REQUIREMENTS_INFO_2_KHR }; + memReqInfo.image = hImage; + + VkMemoryDedicatedRequirementsKHR memDedicatedReq = { VK_STRUCTURE_TYPE_MEMORY_DEDICATED_REQUIREMENTS_KHR }; + + VkMemoryRequirements2KHR memReq2 = { VK_STRUCTURE_TYPE_MEMORY_REQUIREMENTS_2_KHR }; + VmaPnextChainPushFront(&memReq2, &memDedicatedReq); + + (*m_VulkanFunctions.vkGetImageMemoryRequirements2KHR)(m_hDevice, &memReqInfo, &memReq2); + + memReq = memReq2.memoryRequirements; + requiresDedicatedAllocation = (memDedicatedReq.requiresDedicatedAllocation != VK_FALSE); + prefersDedicatedAllocation = (memDedicatedReq.prefersDedicatedAllocation != VK_FALSE); + } + else +#endif // #if VMA_DEDICATED_ALLOCATION || VMA_VULKAN_VERSION >= 1001000 + { + (*m_VulkanFunctions.vkGetImageMemoryRequirements)(m_hDevice, hImage, &memReq); + requiresDedicatedAllocation = false; + prefersDedicatedAllocation = false; + } +} + +VkResult VmaAllocator_T::FindMemoryTypeIndex( + uint32_t memoryTypeBits, + const VmaAllocationCreateInfo* pAllocationCreateInfo, + VkFlags bufImgUsage, + uint32_t* pMemoryTypeIndex) const +{ + memoryTypeBits &= GetGlobalMemoryTypeBits(); + + if(pAllocationCreateInfo->memoryTypeBits != 0) + { + memoryTypeBits &= pAllocationCreateInfo->memoryTypeBits; + } + + VkMemoryPropertyFlags requiredFlags = 0, preferredFlags = 0, notPreferredFlags = 0; + if(!FindMemoryPreferences( + IsIntegratedGpu(), + *pAllocationCreateInfo, + bufImgUsage, + requiredFlags, preferredFlags, notPreferredFlags)) + { + return VK_ERROR_FEATURE_NOT_PRESENT; + } + + *pMemoryTypeIndex = UINT32_MAX; + uint32_t minCost = UINT32_MAX; + for(uint32_t memTypeIndex = 0, memTypeBit = 1; + memTypeIndex < GetMemoryTypeCount(); + ++memTypeIndex, memTypeBit <<= 1) + { + // This memory type is acceptable according to memoryTypeBits bitmask. + if((memTypeBit & memoryTypeBits) != 0) + { + const VkMemoryPropertyFlags currFlags = + m_MemProps.memoryTypes[memTypeIndex].propertyFlags; + // This memory type contains requiredFlags. + if((requiredFlags & ~currFlags) == 0) + { + // Calculate cost as number of bits from preferredFlags not present in this memory type. + uint32_t currCost = VMA_COUNT_BITS_SET(preferredFlags & ~currFlags) + + VMA_COUNT_BITS_SET(currFlags & notPreferredFlags); + // Remember memory type with lowest cost. + if(currCost < minCost) + { + *pMemoryTypeIndex = memTypeIndex; + if(currCost == 0) + { + return VK_SUCCESS; + } + minCost = currCost; + } + } + } + } + return (*pMemoryTypeIndex != UINT32_MAX) ? VK_SUCCESS : VK_ERROR_FEATURE_NOT_PRESENT; +} + +VkResult VmaAllocator_T::CalcMemTypeParams( + VmaAllocationCreateInfo& inoutCreateInfo, + uint32_t memTypeIndex, + VkDeviceSize size, + size_t allocationCount) +{ + // If memory type is not HOST_VISIBLE, disable MAPPED. + if((inoutCreateInfo.flags & VMA_ALLOCATION_CREATE_MAPPED_BIT) != 0 && + (m_MemProps.memoryTypes[memTypeIndex].propertyFlags & VK_MEMORY_PROPERTY_HOST_VISIBLE_BIT) == 0) + { + inoutCreateInfo.flags &= ~VMA_ALLOCATION_CREATE_MAPPED_BIT; + } + + if((inoutCreateInfo.flags & VMA_ALLOCATION_CREATE_DEDICATED_MEMORY_BIT) != 0 && + (inoutCreateInfo.flags & VMA_ALLOCATION_CREATE_WITHIN_BUDGET_BIT) != 0) + { + const uint32_t heapIndex = MemoryTypeIndexToHeapIndex(memTypeIndex); + VmaBudget heapBudget = {}; + GetHeapBudgets(&heapBudget, heapIndex, 1); + if(heapBudget.usage + size * allocationCount > heapBudget.budget) + { + return VK_ERROR_OUT_OF_DEVICE_MEMORY; + } + } + return VK_SUCCESS; +} + +VkResult VmaAllocator_T::CalcAllocationParams( + VmaAllocationCreateInfo& inoutCreateInfo, + bool dedicatedRequired, + bool dedicatedPreferred) +{ + VMA_ASSERT((inoutCreateInfo.flags & + (VMA_ALLOCATION_CREATE_HOST_ACCESS_SEQUENTIAL_WRITE_BIT | VMA_ALLOCATION_CREATE_HOST_ACCESS_RANDOM_BIT)) != + (VMA_ALLOCATION_CREATE_HOST_ACCESS_SEQUENTIAL_WRITE_BIT | VMA_ALLOCATION_CREATE_HOST_ACCESS_RANDOM_BIT) && + "Specifying both flags VMA_ALLOCATION_CREATE_HOST_ACCESS_SEQUENTIAL_WRITE_BIT and VMA_ALLOCATION_CREATE_HOST_ACCESS_RANDOM_BIT is incorrect."); + VMA_ASSERT((((inoutCreateInfo.flags & VMA_ALLOCATION_CREATE_HOST_ACCESS_ALLOW_TRANSFER_INSTEAD_BIT) == 0 || + (inoutCreateInfo.flags & (VMA_ALLOCATION_CREATE_HOST_ACCESS_SEQUENTIAL_WRITE_BIT | VMA_ALLOCATION_CREATE_HOST_ACCESS_RANDOM_BIT)) != 0)) && + "Specifying VMA_ALLOCATION_CREATE_HOST_ACCESS_ALLOW_TRANSFER_INSTEAD_BIT requires also VMA_ALLOCATION_CREATE_HOST_ACCESS_SEQUENTIAL_WRITE_BIT or VMA_ALLOCATION_CREATE_HOST_ACCESS_RANDOM_BIT."); + if(inoutCreateInfo.usage == VMA_MEMORY_USAGE_AUTO || inoutCreateInfo.usage == VMA_MEMORY_USAGE_AUTO_PREFER_DEVICE || inoutCreateInfo.usage == VMA_MEMORY_USAGE_AUTO_PREFER_HOST) + { + if((inoutCreateInfo.flags & VMA_ALLOCATION_CREATE_MAPPED_BIT) != 0) + { + VMA_ASSERT((inoutCreateInfo.flags & (VMA_ALLOCATION_CREATE_HOST_ACCESS_SEQUENTIAL_WRITE_BIT | VMA_ALLOCATION_CREATE_HOST_ACCESS_RANDOM_BIT)) != 0 && + "When using VMA_ALLOCATION_CREATE_MAPPED_BIT and usage = VMA_MEMORY_USAGE_AUTO*, you must also specify VMA_ALLOCATION_CREATE_HOST_ACCESS_SEQUENTIAL_WRITE_BIT or VMA_ALLOCATION_CREATE_HOST_ACCESS_RANDOM_BIT."); + } + } + + // If memory is lazily allocated, it should be always dedicated. + if(dedicatedRequired || + inoutCreateInfo.usage == VMA_MEMORY_USAGE_GPU_LAZILY_ALLOCATED) + { + inoutCreateInfo.flags |= VMA_ALLOCATION_CREATE_DEDICATED_MEMORY_BIT; + } + + if(inoutCreateInfo.pool != VK_NULL_HANDLE) + { + if(inoutCreateInfo.pool->m_BlockVector.HasExplicitBlockSize() && + (inoutCreateInfo.flags & VMA_ALLOCATION_CREATE_DEDICATED_MEMORY_BIT) != 0) + { + VMA_ASSERT(0 && "Specifying VMA_ALLOCATION_CREATE_DEDICATED_MEMORY_BIT while current custom pool doesn't support dedicated allocations."); + return VK_ERROR_FEATURE_NOT_PRESENT; + } + inoutCreateInfo.priority = inoutCreateInfo.pool->m_BlockVector.GetPriority(); + } + + if((inoutCreateInfo.flags & VMA_ALLOCATION_CREATE_DEDICATED_MEMORY_BIT) != 0 && + (inoutCreateInfo.flags & VMA_ALLOCATION_CREATE_NEVER_ALLOCATE_BIT) != 0) + { + VMA_ASSERT(0 && "Specifying VMA_ALLOCATION_CREATE_DEDICATED_MEMORY_BIT together with VMA_ALLOCATION_CREATE_NEVER_ALLOCATE_BIT makes no sense."); + return VK_ERROR_FEATURE_NOT_PRESENT; + } + + if(VMA_DEBUG_ALWAYS_DEDICATED_MEMORY && + (inoutCreateInfo.flags & VMA_ALLOCATION_CREATE_NEVER_ALLOCATE_BIT) != 0) + { + inoutCreateInfo.flags |= VMA_ALLOCATION_CREATE_DEDICATED_MEMORY_BIT; + } + + // Non-auto USAGE values imply HOST_ACCESS flags. + // And so does VMA_MEMORY_USAGE_UNKNOWN because it is used with custom pools. + // Which specific flag is used doesn't matter. They change things only when used with VMA_MEMORY_USAGE_AUTO*. + // Otherwise they just protect from assert on mapping. + if(inoutCreateInfo.usage != VMA_MEMORY_USAGE_AUTO && + inoutCreateInfo.usage != VMA_MEMORY_USAGE_AUTO_PREFER_DEVICE && + inoutCreateInfo.usage != VMA_MEMORY_USAGE_AUTO_PREFER_HOST) + { + if((inoutCreateInfo.flags & (VMA_ALLOCATION_CREATE_HOST_ACCESS_SEQUENTIAL_WRITE_BIT | VMA_ALLOCATION_CREATE_HOST_ACCESS_RANDOM_BIT)) == 0) + { + inoutCreateInfo.flags |= VMA_ALLOCATION_CREATE_HOST_ACCESS_RANDOM_BIT; + } + } + + return VK_SUCCESS; +} + +VkResult VmaAllocator_T::AllocateMemory( + const VkMemoryRequirements& vkMemReq, + bool requiresDedicatedAllocation, + bool prefersDedicatedAllocation, + VkBuffer dedicatedBuffer, + VkImage dedicatedImage, + VkFlags dedicatedBufferImageUsage, + const VmaAllocationCreateInfo& createInfo, + VmaSuballocationType suballocType, + size_t allocationCount, + VmaAllocation* pAllocations) +{ + memset(pAllocations, 0, sizeof(VmaAllocation) * allocationCount); + + VMA_ASSERT(VmaIsPow2(vkMemReq.alignment)); + + if(vkMemReq.size == 0) + { + return VK_ERROR_INITIALIZATION_FAILED; + } + + VmaAllocationCreateInfo createInfoFinal = createInfo; + VkResult res = CalcAllocationParams(createInfoFinal, requiresDedicatedAllocation, prefersDedicatedAllocation); + if(res != VK_SUCCESS) + return res; + + if(createInfoFinal.pool != VK_NULL_HANDLE) + { + VmaBlockVector& blockVector = createInfoFinal.pool->m_BlockVector; + return AllocateMemoryOfType( + createInfoFinal.pool, + vkMemReq.size, + vkMemReq.alignment, + prefersDedicatedAllocation, + dedicatedBuffer, + dedicatedImage, + dedicatedBufferImageUsage, + createInfoFinal, + blockVector.GetMemoryTypeIndex(), + suballocType, + createInfoFinal.pool->m_DedicatedAllocations, + blockVector, + allocationCount, + pAllocations); + } + else + { + // Bit mask of memory Vulkan types acceptable for this allocation. + uint32_t memoryTypeBits = vkMemReq.memoryTypeBits; + uint32_t memTypeIndex = UINT32_MAX; + res = FindMemoryTypeIndex(memoryTypeBits, &createInfoFinal, dedicatedBufferImageUsage, &memTypeIndex); + // Can't find any single memory type matching requirements. res is VK_ERROR_FEATURE_NOT_PRESENT. + if(res != VK_SUCCESS) + return res; + do + { + VmaBlockVector* blockVector = m_pBlockVectors[memTypeIndex]; + VMA_ASSERT(blockVector && "Trying to use unsupported memory type!"); + res = AllocateMemoryOfType( + VK_NULL_HANDLE, + vkMemReq.size, + vkMemReq.alignment, + requiresDedicatedAllocation || prefersDedicatedAllocation, + dedicatedBuffer, + dedicatedImage, + dedicatedBufferImageUsage, + createInfoFinal, + memTypeIndex, + suballocType, + m_DedicatedAllocations[memTypeIndex], + *blockVector, + allocationCount, + pAllocations); + // Allocation succeeded + if(res == VK_SUCCESS) + return VK_SUCCESS; + + // Remove old memTypeIndex from list of possibilities. + memoryTypeBits &= ~(1u << memTypeIndex); + // Find alternative memTypeIndex. + res = FindMemoryTypeIndex(memoryTypeBits, &createInfoFinal, dedicatedBufferImageUsage, &memTypeIndex); + } while(res == VK_SUCCESS); + + // No other matching memory type index could be found. + // Not returning res, which is VK_ERROR_FEATURE_NOT_PRESENT, because we already failed to allocate once. + return VK_ERROR_OUT_OF_DEVICE_MEMORY; + } +} + +void VmaAllocator_T::FreeMemory( + size_t allocationCount, + const VmaAllocation* pAllocations) +{ + VMA_ASSERT(pAllocations); + + for(size_t allocIndex = allocationCount; allocIndex--; ) + { + VmaAllocation allocation = pAllocations[allocIndex]; + + if(allocation != VK_NULL_HANDLE) + { + if(VMA_DEBUG_INITIALIZE_ALLOCATIONS) + { + FillAllocation(allocation, VMA_ALLOCATION_FILL_PATTERN_DESTROYED); + } + + allocation->FreeName(this); + + switch(allocation->GetType()) + { + case VmaAllocation_T::ALLOCATION_TYPE_BLOCK: + { + VmaBlockVector* pBlockVector = VMA_NULL; + VmaPool hPool = allocation->GetParentPool(); + if(hPool != VK_NULL_HANDLE) + { + pBlockVector = &hPool->m_BlockVector; + } + else + { + const uint32_t memTypeIndex = allocation->GetMemoryTypeIndex(); + pBlockVector = m_pBlockVectors[memTypeIndex]; + VMA_ASSERT(pBlockVector && "Trying to free memory of unsupported type!"); + } + pBlockVector->Free(allocation); + } + break; + case VmaAllocation_T::ALLOCATION_TYPE_DEDICATED: + FreeDedicatedMemory(allocation); + break; + default: + VMA_ASSERT(0); + } + } + } +} + +void VmaAllocator_T::CalculateStatistics(VmaTotalStatistics* pStats) +{ + // Initialize. + VmaClearDetailedStatistics(pStats->total); + for(uint32_t i = 0; i < VK_MAX_MEMORY_TYPES; ++i) + VmaClearDetailedStatistics(pStats->memoryType[i]); + for(uint32_t i = 0; i < VK_MAX_MEMORY_HEAPS; ++i) + VmaClearDetailedStatistics(pStats->memoryHeap[i]); + + // Process default pools. + for(uint32_t memTypeIndex = 0; memTypeIndex < GetMemoryTypeCount(); ++memTypeIndex) + { + VmaBlockVector* const pBlockVector = m_pBlockVectors[memTypeIndex]; + if (pBlockVector != VMA_NULL) + pBlockVector->AddDetailedStatistics(pStats->memoryType[memTypeIndex]); + } + + // Process custom pools. + { + VmaMutexLockRead lock(m_PoolsMutex, m_UseMutex); + for(VmaPool pool = m_Pools.Front(); pool != VMA_NULL; pool = m_Pools.GetNext(pool)) + { + VmaBlockVector& blockVector = pool->m_BlockVector; + const uint32_t memTypeIndex = blockVector.GetMemoryTypeIndex(); + blockVector.AddDetailedStatistics(pStats->memoryType[memTypeIndex]); + pool->m_DedicatedAllocations.AddDetailedStatistics(pStats->memoryType[memTypeIndex]); + } + } + + // Process dedicated allocations. + for(uint32_t memTypeIndex = 0; memTypeIndex < GetMemoryTypeCount(); ++memTypeIndex) + { + m_DedicatedAllocations[memTypeIndex].AddDetailedStatistics(pStats->memoryType[memTypeIndex]); + } + + // Sum from memory types to memory heaps. + for(uint32_t memTypeIndex = 0; memTypeIndex < GetMemoryTypeCount(); ++memTypeIndex) + { + const uint32_t memHeapIndex = m_MemProps.memoryTypes[memTypeIndex].heapIndex; + VmaAddDetailedStatistics(pStats->memoryHeap[memHeapIndex], pStats->memoryType[memTypeIndex]); + } + + // Sum from memory heaps to total. + for(uint32_t memHeapIndex = 0; memHeapIndex < GetMemoryHeapCount(); ++memHeapIndex) + VmaAddDetailedStatistics(pStats->total, pStats->memoryHeap[memHeapIndex]); + + VMA_ASSERT(pStats->total.statistics.allocationCount == 0 || + pStats->total.allocationSizeMax >= pStats->total.allocationSizeMin); + VMA_ASSERT(pStats->total.unusedRangeCount == 0 || + pStats->total.unusedRangeSizeMax >= pStats->total.unusedRangeSizeMin); +} + +void VmaAllocator_T::GetHeapBudgets(VmaBudget* outBudgets, uint32_t firstHeap, uint32_t heapCount) +{ +#if VMA_MEMORY_BUDGET + if(m_UseExtMemoryBudget) + { + if(m_Budget.m_OperationsSinceBudgetFetch < 30) + { + VmaMutexLockRead lockRead(m_Budget.m_BudgetMutex, m_UseMutex); + for(uint32_t i = 0; i < heapCount; ++i, ++outBudgets) + { + const uint32_t heapIndex = firstHeap + i; + + outBudgets->statistics.blockCount = m_Budget.m_BlockCount[heapIndex]; + outBudgets->statistics.allocationCount = m_Budget.m_AllocationCount[heapIndex]; + outBudgets->statistics.blockBytes = m_Budget.m_BlockBytes[heapIndex]; + outBudgets->statistics.allocationBytes = m_Budget.m_AllocationBytes[heapIndex]; + + if(m_Budget.m_VulkanUsage[heapIndex] + outBudgets->statistics.blockBytes > m_Budget.m_BlockBytesAtBudgetFetch[heapIndex]) + { + outBudgets->usage = m_Budget.m_VulkanUsage[heapIndex] + + outBudgets->statistics.blockBytes - m_Budget.m_BlockBytesAtBudgetFetch[heapIndex]; + } + else + { + outBudgets->usage = 0; + } + + // Have to take MIN with heap size because explicit HeapSizeLimit is included in it. + outBudgets->budget = VMA_MIN( + m_Budget.m_VulkanBudget[heapIndex], m_MemProps.memoryHeaps[heapIndex].size); + } + } + else + { + UpdateVulkanBudget(); // Outside of mutex lock + GetHeapBudgets(outBudgets, firstHeap, heapCount); // Recursion + } + } + else +#endif + { + for(uint32_t i = 0; i < heapCount; ++i, ++outBudgets) + { + const uint32_t heapIndex = firstHeap + i; + + outBudgets->statistics.blockCount = m_Budget.m_BlockCount[heapIndex]; + outBudgets->statistics.allocationCount = m_Budget.m_AllocationCount[heapIndex]; + outBudgets->statistics.blockBytes = m_Budget.m_BlockBytes[heapIndex]; + outBudgets->statistics.allocationBytes = m_Budget.m_AllocationBytes[heapIndex]; + + outBudgets->usage = outBudgets->statistics.blockBytes; + outBudgets->budget = m_MemProps.memoryHeaps[heapIndex].size * 8 / 10; // 80% heuristics. + } + } +} + +void VmaAllocator_T::GetAllocationInfo(VmaAllocation hAllocation, VmaAllocationInfo* pAllocationInfo) +{ + pAllocationInfo->memoryType = hAllocation->GetMemoryTypeIndex(); + pAllocationInfo->deviceMemory = hAllocation->GetMemory(); + pAllocationInfo->offset = hAllocation->GetOffset(); + pAllocationInfo->size = hAllocation->GetSize(); + pAllocationInfo->pMappedData = hAllocation->GetMappedData(); + pAllocationInfo->pUserData = hAllocation->GetUserData(); + pAllocationInfo->pName = hAllocation->GetName(); +} + +VkResult VmaAllocator_T::CreatePool(const VmaPoolCreateInfo* pCreateInfo, VmaPool* pPool) +{ + VMA_DEBUG_LOG(" CreatePool: MemoryTypeIndex=%u, flags=%u", pCreateInfo->memoryTypeIndex, pCreateInfo->flags); + + VmaPoolCreateInfo newCreateInfo = *pCreateInfo; + + // Protection against uninitialized new structure member. If garbage data are left there, this pointer dereference would crash. + if(pCreateInfo->pMemoryAllocateNext) + { + VMA_ASSERT(((const VkBaseInStructure*)pCreateInfo->pMemoryAllocateNext)->sType != 0); + } + + if(newCreateInfo.maxBlockCount == 0) + { + newCreateInfo.maxBlockCount = SIZE_MAX; + } + if(newCreateInfo.minBlockCount > newCreateInfo.maxBlockCount) + { + return VK_ERROR_INITIALIZATION_FAILED; + } + // Memory type index out of range or forbidden. + if(pCreateInfo->memoryTypeIndex >= GetMemoryTypeCount() || + ((1u << pCreateInfo->memoryTypeIndex) & m_GlobalMemoryTypeBits) == 0) + { + return VK_ERROR_FEATURE_NOT_PRESENT; + } + if(newCreateInfo.minAllocationAlignment > 0) + { + VMA_ASSERT(VmaIsPow2(newCreateInfo.minAllocationAlignment)); + } + + const VkDeviceSize preferredBlockSize = CalcPreferredBlockSize(newCreateInfo.memoryTypeIndex); + + *pPool = vma_new(this, VmaPool_T)(this, newCreateInfo, preferredBlockSize); + + VkResult res = (*pPool)->m_BlockVector.CreateMinBlocks(); + if(res != VK_SUCCESS) + { + vma_delete(this, *pPool); + *pPool = VMA_NULL; + return res; + } + + // Add to m_Pools. + { + VmaMutexLockWrite lock(m_PoolsMutex, m_UseMutex); + (*pPool)->SetId(m_NextPoolId++); + m_Pools.PushBack(*pPool); + } + + return VK_SUCCESS; +} + +void VmaAllocator_T::DestroyPool(VmaPool pool) +{ + // Remove from m_Pools. + { + VmaMutexLockWrite lock(m_PoolsMutex, m_UseMutex); + m_Pools.Remove(pool); + } + + vma_delete(this, pool); +} + +void VmaAllocator_T::GetPoolStatistics(VmaPool pool, VmaStatistics* pPoolStats) +{ + VmaClearStatistics(*pPoolStats); + pool->m_BlockVector.AddStatistics(*pPoolStats); + pool->m_DedicatedAllocations.AddStatistics(*pPoolStats); +} + +void VmaAllocator_T::CalculatePoolStatistics(VmaPool pool, VmaDetailedStatistics* pPoolStats) +{ + VmaClearDetailedStatistics(*pPoolStats); + pool->m_BlockVector.AddDetailedStatistics(*pPoolStats); + pool->m_DedicatedAllocations.AddDetailedStatistics(*pPoolStats); +} + +void VmaAllocator_T::SetCurrentFrameIndex(uint32_t frameIndex) +{ + m_CurrentFrameIndex.store(frameIndex); + +#if VMA_MEMORY_BUDGET + if(m_UseExtMemoryBudget) + { + UpdateVulkanBudget(); + } +#endif // #if VMA_MEMORY_BUDGET +} + +VkResult VmaAllocator_T::CheckPoolCorruption(VmaPool hPool) +{ + return hPool->m_BlockVector.CheckCorruption(); +} + +VkResult VmaAllocator_T::CheckCorruption(uint32_t memoryTypeBits) +{ + VkResult finalRes = VK_ERROR_FEATURE_NOT_PRESENT; + + // Process default pools. + for(uint32_t memTypeIndex = 0; memTypeIndex < GetMemoryTypeCount(); ++memTypeIndex) + { + VmaBlockVector* const pBlockVector = m_pBlockVectors[memTypeIndex]; + if(pBlockVector != VMA_NULL) + { + VkResult localRes = pBlockVector->CheckCorruption(); + switch(localRes) + { + case VK_ERROR_FEATURE_NOT_PRESENT: + break; + case VK_SUCCESS: + finalRes = VK_SUCCESS; + break; + default: + return localRes; + } + } + } + + // Process custom pools. + { + VmaMutexLockRead lock(m_PoolsMutex, m_UseMutex); + for(VmaPool pool = m_Pools.Front(); pool != VMA_NULL; pool = m_Pools.GetNext(pool)) + { + if(((1u << pool->m_BlockVector.GetMemoryTypeIndex()) & memoryTypeBits) != 0) + { + VkResult localRes = pool->m_BlockVector.CheckCorruption(); + switch(localRes) + { + case VK_ERROR_FEATURE_NOT_PRESENT: + break; + case VK_SUCCESS: + finalRes = VK_SUCCESS; + break; + default: + return localRes; + } + } + } + } + + return finalRes; +} + +VkResult VmaAllocator_T::AllocateVulkanMemory(const VkMemoryAllocateInfo* pAllocateInfo, VkDeviceMemory* pMemory) +{ + AtomicTransactionalIncrement deviceMemoryCountIncrement; + const uint64_t prevDeviceMemoryCount = deviceMemoryCountIncrement.Increment(&m_DeviceMemoryCount); +#if VMA_DEBUG_DONT_EXCEED_MAX_MEMORY_ALLOCATION_COUNT + if(prevDeviceMemoryCount >= m_PhysicalDeviceProperties.limits.maxMemoryAllocationCount) + { + return VK_ERROR_TOO_MANY_OBJECTS; + } +#endif + + const uint32_t heapIndex = MemoryTypeIndexToHeapIndex(pAllocateInfo->memoryTypeIndex); + + // HeapSizeLimit is in effect for this heap. + if((m_HeapSizeLimitMask & (1u << heapIndex)) != 0) + { + const VkDeviceSize heapSize = m_MemProps.memoryHeaps[heapIndex].size; + VkDeviceSize blockBytes = m_Budget.m_BlockBytes[heapIndex]; + for(;;) + { + const VkDeviceSize blockBytesAfterAllocation = blockBytes + pAllocateInfo->allocationSize; + if(blockBytesAfterAllocation > heapSize) + { + return VK_ERROR_OUT_OF_DEVICE_MEMORY; + } + if(m_Budget.m_BlockBytes[heapIndex].compare_exchange_strong(blockBytes, blockBytesAfterAllocation)) + { + break; + } + } + } + else + { + m_Budget.m_BlockBytes[heapIndex] += pAllocateInfo->allocationSize; + } + ++m_Budget.m_BlockCount[heapIndex]; + + // VULKAN CALL vkAllocateMemory. + VkResult res = (*m_VulkanFunctions.vkAllocateMemory)(m_hDevice, pAllocateInfo, GetAllocationCallbacks(), pMemory); + + if(res == VK_SUCCESS) + { +#if VMA_MEMORY_BUDGET + ++m_Budget.m_OperationsSinceBudgetFetch; +#endif + + // Informative callback. + if(m_DeviceMemoryCallbacks.pfnAllocate != VMA_NULL) + { + (*m_DeviceMemoryCallbacks.pfnAllocate)(this, pAllocateInfo->memoryTypeIndex, *pMemory, pAllocateInfo->allocationSize, m_DeviceMemoryCallbacks.pUserData); + } + + deviceMemoryCountIncrement.Commit(); + } + else + { + --m_Budget.m_BlockCount[heapIndex]; + m_Budget.m_BlockBytes[heapIndex] -= pAllocateInfo->allocationSize; + } + + return res; +} + +void VmaAllocator_T::FreeVulkanMemory(uint32_t memoryType, VkDeviceSize size, VkDeviceMemory hMemory) +{ + // Informative callback. + if(m_DeviceMemoryCallbacks.pfnFree != VMA_NULL) + { + (*m_DeviceMemoryCallbacks.pfnFree)(this, memoryType, hMemory, size, m_DeviceMemoryCallbacks.pUserData); + } + + // VULKAN CALL vkFreeMemory. + (*m_VulkanFunctions.vkFreeMemory)(m_hDevice, hMemory, GetAllocationCallbacks()); + + const uint32_t heapIndex = MemoryTypeIndexToHeapIndex(memoryType); + --m_Budget.m_BlockCount[heapIndex]; + m_Budget.m_BlockBytes[heapIndex] -= size; + + --m_DeviceMemoryCount; +} + +VkResult VmaAllocator_T::BindVulkanBuffer( + VkDeviceMemory memory, + VkDeviceSize memoryOffset, + VkBuffer buffer, + const void* pNext) +{ + if(pNext != VMA_NULL) + { +#if VMA_VULKAN_VERSION >= 1001000 || VMA_BIND_MEMORY2 + if((m_UseKhrBindMemory2 || m_VulkanApiVersion >= VK_MAKE_VERSION(1, 1, 0)) && + m_VulkanFunctions.vkBindBufferMemory2KHR != VMA_NULL) + { + VkBindBufferMemoryInfoKHR bindBufferMemoryInfo = { VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_INFO_KHR }; + bindBufferMemoryInfo.pNext = pNext; + bindBufferMemoryInfo.buffer = buffer; + bindBufferMemoryInfo.memory = memory; + bindBufferMemoryInfo.memoryOffset = memoryOffset; + return (*m_VulkanFunctions.vkBindBufferMemory2KHR)(m_hDevice, 1, &bindBufferMemoryInfo); + } + else +#endif // #if VMA_VULKAN_VERSION >= 1001000 || VMA_BIND_MEMORY2 + { + return VK_ERROR_EXTENSION_NOT_PRESENT; + } + } + else + { + return (*m_VulkanFunctions.vkBindBufferMemory)(m_hDevice, buffer, memory, memoryOffset); + } +} + +VkResult VmaAllocator_T::BindVulkanImage( + VkDeviceMemory memory, + VkDeviceSize memoryOffset, + VkImage image, + const void* pNext) +{ + if(pNext != VMA_NULL) + { +#if VMA_VULKAN_VERSION >= 1001000 || VMA_BIND_MEMORY2 + if((m_UseKhrBindMemory2 || m_VulkanApiVersion >= VK_MAKE_VERSION(1, 1, 0)) && + m_VulkanFunctions.vkBindImageMemory2KHR != VMA_NULL) + { + VkBindImageMemoryInfoKHR bindBufferMemoryInfo = { VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_INFO_KHR }; + bindBufferMemoryInfo.pNext = pNext; + bindBufferMemoryInfo.image = image; + bindBufferMemoryInfo.memory = memory; + bindBufferMemoryInfo.memoryOffset = memoryOffset; + return (*m_VulkanFunctions.vkBindImageMemory2KHR)(m_hDevice, 1, &bindBufferMemoryInfo); + } + else +#endif // #if VMA_BIND_MEMORY2 + { + return VK_ERROR_EXTENSION_NOT_PRESENT; + } + } + else + { + return (*m_VulkanFunctions.vkBindImageMemory)(m_hDevice, image, memory, memoryOffset); + } +} + +VkResult VmaAllocator_T::Map(VmaAllocation hAllocation, void** ppData) +{ + switch(hAllocation->GetType()) + { + case VmaAllocation_T::ALLOCATION_TYPE_BLOCK: + { + VmaDeviceMemoryBlock* const pBlock = hAllocation->GetBlock(); + char *pBytes = VMA_NULL; + VkResult res = pBlock->Map(this, 1, (void**)&pBytes); + if(res == VK_SUCCESS) + { + *ppData = pBytes + (ptrdiff_t)hAllocation->GetOffset(); + hAllocation->BlockAllocMap(); + } + return res; + } + case VmaAllocation_T::ALLOCATION_TYPE_DEDICATED: + return hAllocation->DedicatedAllocMap(this, ppData); + default: + VMA_ASSERT(0); + return VK_ERROR_MEMORY_MAP_FAILED; + } +} + +void VmaAllocator_T::Unmap(VmaAllocation hAllocation) +{ + switch(hAllocation->GetType()) + { + case VmaAllocation_T::ALLOCATION_TYPE_BLOCK: + { + VmaDeviceMemoryBlock* const pBlock = hAllocation->GetBlock(); + hAllocation->BlockAllocUnmap(); + pBlock->Unmap(this, 1); + } + break; + case VmaAllocation_T::ALLOCATION_TYPE_DEDICATED: + hAllocation->DedicatedAllocUnmap(this); + break; + default: + VMA_ASSERT(0); + } +} + +VkResult VmaAllocator_T::BindBufferMemory( + VmaAllocation hAllocation, + VkDeviceSize allocationLocalOffset, + VkBuffer hBuffer, + const void* pNext) +{ + VkResult res = VK_SUCCESS; + switch(hAllocation->GetType()) + { + case VmaAllocation_T::ALLOCATION_TYPE_DEDICATED: + res = BindVulkanBuffer(hAllocation->GetMemory(), allocationLocalOffset, hBuffer, pNext); + break; + case VmaAllocation_T::ALLOCATION_TYPE_BLOCK: + { + VmaDeviceMemoryBlock* const pBlock = hAllocation->GetBlock(); + VMA_ASSERT(pBlock && "Binding buffer to allocation that doesn't belong to any block."); + res = pBlock->BindBufferMemory(this, hAllocation, allocationLocalOffset, hBuffer, pNext); + break; + } + default: + VMA_ASSERT(0); + } + return res; +} + +VkResult VmaAllocator_T::BindImageMemory( + VmaAllocation hAllocation, + VkDeviceSize allocationLocalOffset, + VkImage hImage, + const void* pNext) +{ + VkResult res = VK_SUCCESS; + switch(hAllocation->GetType()) + { + case VmaAllocation_T::ALLOCATION_TYPE_DEDICATED: + res = BindVulkanImage(hAllocation->GetMemory(), allocationLocalOffset, hImage, pNext); + break; + case VmaAllocation_T::ALLOCATION_TYPE_BLOCK: + { + VmaDeviceMemoryBlock* pBlock = hAllocation->GetBlock(); + VMA_ASSERT(pBlock && "Binding image to allocation that doesn't belong to any block."); + res = pBlock->BindImageMemory(this, hAllocation, allocationLocalOffset, hImage, pNext); + break; + } + default: + VMA_ASSERT(0); + } + return res; +} + +VkResult VmaAllocator_T::FlushOrInvalidateAllocation( + VmaAllocation hAllocation, + VkDeviceSize offset, VkDeviceSize size, + VMA_CACHE_OPERATION op) +{ + VkResult res = VK_SUCCESS; + + VkMappedMemoryRange memRange = {}; + if(GetFlushOrInvalidateRange(hAllocation, offset, size, memRange)) + { + switch(op) + { + case VMA_CACHE_FLUSH: + res = (*GetVulkanFunctions().vkFlushMappedMemoryRanges)(m_hDevice, 1, &memRange); + break; + case VMA_CACHE_INVALIDATE: + res = (*GetVulkanFunctions().vkInvalidateMappedMemoryRanges)(m_hDevice, 1, &memRange); + break; + default: + VMA_ASSERT(0); + } + } + // else: Just ignore this call. + return res; +} + +VkResult VmaAllocator_T::FlushOrInvalidateAllocations( + uint32_t allocationCount, + const VmaAllocation* allocations, + const VkDeviceSize* offsets, const VkDeviceSize* sizes, + VMA_CACHE_OPERATION op) +{ + typedef VmaStlAllocator RangeAllocator; + typedef VmaSmallVector RangeVector; + RangeVector ranges = RangeVector(RangeAllocator(GetAllocationCallbacks())); + + for(uint32_t allocIndex = 0; allocIndex < allocationCount; ++allocIndex) + { + const VmaAllocation alloc = allocations[allocIndex]; + const VkDeviceSize offset = offsets != VMA_NULL ? offsets[allocIndex] : 0; + const VkDeviceSize size = sizes != VMA_NULL ? sizes[allocIndex] : VK_WHOLE_SIZE; + VkMappedMemoryRange newRange; + if(GetFlushOrInvalidateRange(alloc, offset, size, newRange)) + { + ranges.push_back(newRange); + } + } + + VkResult res = VK_SUCCESS; + if(!ranges.empty()) + { + switch(op) + { + case VMA_CACHE_FLUSH: + res = (*GetVulkanFunctions().vkFlushMappedMemoryRanges)(m_hDevice, (uint32_t)ranges.size(), ranges.data()); + break; + case VMA_CACHE_INVALIDATE: + res = (*GetVulkanFunctions().vkInvalidateMappedMemoryRanges)(m_hDevice, (uint32_t)ranges.size(), ranges.data()); + break; + default: + VMA_ASSERT(0); + } + } + // else: Just ignore this call. + return res; +} + +void VmaAllocator_T::FreeDedicatedMemory(const VmaAllocation allocation) +{ + VMA_ASSERT(allocation && allocation->GetType() == VmaAllocation_T::ALLOCATION_TYPE_DEDICATED); + + const uint32_t memTypeIndex = allocation->GetMemoryTypeIndex(); + VmaPool parentPool = allocation->GetParentPool(); + if(parentPool == VK_NULL_HANDLE) + { + // Default pool + m_DedicatedAllocations[memTypeIndex].Unregister(allocation); + } + else + { + // Custom pool + parentPool->m_DedicatedAllocations.Unregister(allocation); + } + + VkDeviceMemory hMemory = allocation->GetMemory(); + + /* + There is no need to call this, because Vulkan spec allows to skip vkUnmapMemory + before vkFreeMemory. + + if(allocation->GetMappedData() != VMA_NULL) + { + (*m_VulkanFunctions.vkUnmapMemory)(m_hDevice, hMemory); + } + */ + + FreeVulkanMemory(memTypeIndex, allocation->GetSize(), hMemory); + + m_Budget.RemoveAllocation(MemoryTypeIndexToHeapIndex(allocation->GetMemoryTypeIndex()), allocation->GetSize()); + m_AllocationObjectAllocator.Free(allocation); + + VMA_DEBUG_LOG(" Freed DedicatedMemory MemoryTypeIndex=%u", memTypeIndex); +} + +uint32_t VmaAllocator_T::CalculateGpuDefragmentationMemoryTypeBits() const +{ + VkBufferCreateInfo dummyBufCreateInfo; + VmaFillGpuDefragmentationBufferCreateInfo(dummyBufCreateInfo); + + uint32_t memoryTypeBits = 0; + + // Create buffer. + VkBuffer buf = VK_NULL_HANDLE; + VkResult res = (*GetVulkanFunctions().vkCreateBuffer)( + m_hDevice, &dummyBufCreateInfo, GetAllocationCallbacks(), &buf); + if(res == VK_SUCCESS) + { + // Query for supported memory types. + VkMemoryRequirements memReq; + (*GetVulkanFunctions().vkGetBufferMemoryRequirements)(m_hDevice, buf, &memReq); + memoryTypeBits = memReq.memoryTypeBits; + + // Destroy buffer. + (*GetVulkanFunctions().vkDestroyBuffer)(m_hDevice, buf, GetAllocationCallbacks()); + } + + return memoryTypeBits; +} + +uint32_t VmaAllocator_T::CalculateGlobalMemoryTypeBits() const +{ + // Make sure memory information is already fetched. + VMA_ASSERT(GetMemoryTypeCount() > 0); + + uint32_t memoryTypeBits = UINT32_MAX; + + if(!m_UseAmdDeviceCoherentMemory) + { + // Exclude memory types that have VK_MEMORY_PROPERTY_DEVICE_COHERENT_BIT_AMD. + for(uint32_t memTypeIndex = 0; memTypeIndex < GetMemoryTypeCount(); ++memTypeIndex) + { + if((m_MemProps.memoryTypes[memTypeIndex].propertyFlags & VK_MEMORY_PROPERTY_DEVICE_COHERENT_BIT_AMD_COPY) != 0) + { + memoryTypeBits &= ~(1u << memTypeIndex); + } + } + } + + return memoryTypeBits; +} + +bool VmaAllocator_T::GetFlushOrInvalidateRange( + VmaAllocation allocation, + VkDeviceSize offset, VkDeviceSize size, + VkMappedMemoryRange& outRange) const +{ + const uint32_t memTypeIndex = allocation->GetMemoryTypeIndex(); + if(size > 0 && IsMemoryTypeNonCoherent(memTypeIndex)) + { + const VkDeviceSize nonCoherentAtomSize = m_PhysicalDeviceProperties.limits.nonCoherentAtomSize; + const VkDeviceSize allocationSize = allocation->GetSize(); + VMA_ASSERT(offset <= allocationSize); + + outRange.sType = VK_STRUCTURE_TYPE_MAPPED_MEMORY_RANGE; + outRange.pNext = VMA_NULL; + outRange.memory = allocation->GetMemory(); + + switch(allocation->GetType()) + { + case VmaAllocation_T::ALLOCATION_TYPE_DEDICATED: + outRange.offset = VmaAlignDown(offset, nonCoherentAtomSize); + if(size == VK_WHOLE_SIZE) + { + outRange.size = allocationSize - outRange.offset; + } + else + { + VMA_ASSERT(offset + size <= allocationSize); + outRange.size = VMA_MIN( + VmaAlignUp(size + (offset - outRange.offset), nonCoherentAtomSize), + allocationSize - outRange.offset); + } + break; + case VmaAllocation_T::ALLOCATION_TYPE_BLOCK: + { + // 1. Still within this allocation. + outRange.offset = VmaAlignDown(offset, nonCoherentAtomSize); + if(size == VK_WHOLE_SIZE) + { + size = allocationSize - offset; + } + else + { + VMA_ASSERT(offset + size <= allocationSize); + } + outRange.size = VmaAlignUp(size + (offset - outRange.offset), nonCoherentAtomSize); + + // 2. Adjust to whole block. + const VkDeviceSize allocationOffset = allocation->GetOffset(); + VMA_ASSERT(allocationOffset % nonCoherentAtomSize == 0); + const VkDeviceSize blockSize = allocation->GetBlock()->m_pMetadata->GetSize(); + outRange.offset += allocationOffset; + outRange.size = VMA_MIN(outRange.size, blockSize - outRange.offset); + + break; + } + default: + VMA_ASSERT(0); + } + return true; + } + return false; +} + +#if VMA_MEMORY_BUDGET +void VmaAllocator_T::UpdateVulkanBudget() +{ + VMA_ASSERT(m_UseExtMemoryBudget); + + VkPhysicalDeviceMemoryProperties2KHR memProps = { VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PROPERTIES_2_KHR }; + + VkPhysicalDeviceMemoryBudgetPropertiesEXT budgetProps = { VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_BUDGET_PROPERTIES_EXT }; + VmaPnextChainPushFront(&memProps, &budgetProps); + + GetVulkanFunctions().vkGetPhysicalDeviceMemoryProperties2KHR(m_PhysicalDevice, &memProps); + + { + VmaMutexLockWrite lockWrite(m_Budget.m_BudgetMutex, m_UseMutex); + + for(uint32_t heapIndex = 0; heapIndex < GetMemoryHeapCount(); ++heapIndex) + { + m_Budget.m_VulkanUsage[heapIndex] = budgetProps.heapUsage[heapIndex]; + m_Budget.m_VulkanBudget[heapIndex] = budgetProps.heapBudget[heapIndex]; + m_Budget.m_BlockBytesAtBudgetFetch[heapIndex] = m_Budget.m_BlockBytes[heapIndex].load(); + + // Some bugged drivers return the budget incorrectly, e.g. 0 or much bigger than heap size. + if(m_Budget.m_VulkanBudget[heapIndex] == 0) + { + m_Budget.m_VulkanBudget[heapIndex] = m_MemProps.memoryHeaps[heapIndex].size * 8 / 10; // 80% heuristics. + } + else if(m_Budget.m_VulkanBudget[heapIndex] > m_MemProps.memoryHeaps[heapIndex].size) + { + m_Budget.m_VulkanBudget[heapIndex] = m_MemProps.memoryHeaps[heapIndex].size; + } + if(m_Budget.m_VulkanUsage[heapIndex] == 0 && m_Budget.m_BlockBytesAtBudgetFetch[heapIndex] > 0) + { + m_Budget.m_VulkanUsage[heapIndex] = m_Budget.m_BlockBytesAtBudgetFetch[heapIndex]; + } + } + m_Budget.m_OperationsSinceBudgetFetch = 0; + } +} +#endif // VMA_MEMORY_BUDGET + +void VmaAllocator_T::FillAllocation(const VmaAllocation hAllocation, uint8_t pattern) +{ + if(VMA_DEBUG_INITIALIZE_ALLOCATIONS && + hAllocation->IsMappingAllowed() && + (m_MemProps.memoryTypes[hAllocation->GetMemoryTypeIndex()].propertyFlags & VK_MEMORY_PROPERTY_HOST_VISIBLE_BIT) != 0) + { + void* pData = VMA_NULL; + VkResult res = Map(hAllocation, &pData); + if(res == VK_SUCCESS) + { + memset(pData, (int)pattern, (size_t)hAllocation->GetSize()); + FlushOrInvalidateAllocation(hAllocation, 0, VK_WHOLE_SIZE, VMA_CACHE_FLUSH); + Unmap(hAllocation); + } + else + { + VMA_ASSERT(0 && "VMA_DEBUG_INITIALIZE_ALLOCATIONS is enabled, but couldn't map memory to fill allocation."); + } + } +} + +uint32_t VmaAllocator_T::GetGpuDefragmentationMemoryTypeBits() +{ + uint32_t memoryTypeBits = m_GpuDefragmentationMemoryTypeBits.load(); + if(memoryTypeBits == UINT32_MAX) + { + memoryTypeBits = CalculateGpuDefragmentationMemoryTypeBits(); + m_GpuDefragmentationMemoryTypeBits.store(memoryTypeBits); + } + return memoryTypeBits; +} + +#if VMA_STATS_STRING_ENABLED +void VmaAllocator_T::PrintDetailedMap(VmaJsonWriter& json) +{ + json.WriteString("DefaultPools"); + json.BeginObject(); + { + for (uint32_t memTypeIndex = 0; memTypeIndex < GetMemoryTypeCount(); ++memTypeIndex) + { + VmaBlockVector* pBlockVector = m_pBlockVectors[memTypeIndex]; + VmaDedicatedAllocationList& dedicatedAllocList = m_DedicatedAllocations[memTypeIndex]; + if (pBlockVector != VMA_NULL) + { + json.BeginString("Type "); + json.ContinueString(memTypeIndex); + json.EndString(); + json.BeginObject(); + { + json.WriteString("PreferredBlockSize"); + json.WriteNumber(pBlockVector->GetPreferredBlockSize()); + + json.WriteString("Blocks"); + pBlockVector->PrintDetailedMap(json); + + json.WriteString("DedicatedAllocations"); + dedicatedAllocList.BuildStatsString(json); + } + json.EndObject(); + } + } + } + json.EndObject(); + + json.WriteString("CustomPools"); + json.BeginObject(); + { + VmaMutexLockRead lock(m_PoolsMutex, m_UseMutex); + if (!m_Pools.IsEmpty()) + { + for (uint32_t memTypeIndex = 0; memTypeIndex < GetMemoryTypeCount(); ++memTypeIndex) + { + bool displayType = true; + size_t index = 0; + for (VmaPool pool = m_Pools.Front(); pool != VMA_NULL; pool = m_Pools.GetNext(pool)) + { + VmaBlockVector& blockVector = pool->m_BlockVector; + if (blockVector.GetMemoryTypeIndex() == memTypeIndex) + { + if (displayType) + { + json.BeginString("Type "); + json.ContinueString(memTypeIndex); + json.EndString(); + json.BeginArray(); + displayType = false; + } + + json.BeginObject(); + { + json.WriteString("Name"); + json.BeginString(); + json.ContinueString_Size(index++); + if (pool->GetName()) + { + json.ContinueString(" - "); + json.ContinueString(pool->GetName()); + } + json.EndString(); + + json.WriteString("PreferredBlockSize"); + json.WriteNumber(blockVector.GetPreferredBlockSize()); + + json.WriteString("Blocks"); + blockVector.PrintDetailedMap(json); + + json.WriteString("DedicatedAllocations"); + pool->m_DedicatedAllocations.BuildStatsString(json); + } + json.EndObject(); + } + } + + if (!displayType) + json.EndArray(); + } + } + } + json.EndObject(); +} +#endif // VMA_STATS_STRING_ENABLED +#endif // _VMA_ALLOCATOR_T_FUNCTIONS + + +#ifndef _VMA_PUBLIC_INTERFACE +VMA_CALL_PRE VkResult VMA_CALL_POST vmaCreateAllocator( + const VmaAllocatorCreateInfo* pCreateInfo, + VmaAllocator* pAllocator) +{ + VMA_ASSERT(pCreateInfo && pAllocator); + VMA_ASSERT(pCreateInfo->vulkanApiVersion == 0 || + (VK_VERSION_MAJOR(pCreateInfo->vulkanApiVersion) == 1 && VK_VERSION_MINOR(pCreateInfo->vulkanApiVersion) <= 3)); + VMA_DEBUG_LOG("vmaCreateAllocator"); + *pAllocator = vma_new(pCreateInfo->pAllocationCallbacks, VmaAllocator_T)(pCreateInfo); + VkResult result = (*pAllocator)->Init(pCreateInfo); + if(result < 0) + { + vma_delete(pCreateInfo->pAllocationCallbacks, *pAllocator); + *pAllocator = VK_NULL_HANDLE; + } + return result; +} + +VMA_CALL_PRE void VMA_CALL_POST vmaDestroyAllocator( + VmaAllocator allocator) +{ + if(allocator != VK_NULL_HANDLE) + { + VMA_DEBUG_LOG("vmaDestroyAllocator"); + VkAllocationCallbacks allocationCallbacks = allocator->m_AllocationCallbacks; // Have to copy the callbacks when destroying. + vma_delete(&allocationCallbacks, allocator); + } +} + +VMA_CALL_PRE void VMA_CALL_POST vmaGetAllocatorInfo(VmaAllocator allocator, VmaAllocatorInfo* pAllocatorInfo) +{ + VMA_ASSERT(allocator && pAllocatorInfo); + pAllocatorInfo->instance = allocator->m_hInstance; + pAllocatorInfo->physicalDevice = allocator->GetPhysicalDevice(); + pAllocatorInfo->device = allocator->m_hDevice; +} + +VMA_CALL_PRE void VMA_CALL_POST vmaGetPhysicalDeviceProperties( + VmaAllocator allocator, + const VkPhysicalDeviceProperties **ppPhysicalDeviceProperties) +{ + VMA_ASSERT(allocator && ppPhysicalDeviceProperties); + *ppPhysicalDeviceProperties = &allocator->m_PhysicalDeviceProperties; +} + +VMA_CALL_PRE void VMA_CALL_POST vmaGetMemoryProperties( + VmaAllocator allocator, + const VkPhysicalDeviceMemoryProperties** ppPhysicalDeviceMemoryProperties) +{ + VMA_ASSERT(allocator && ppPhysicalDeviceMemoryProperties); + *ppPhysicalDeviceMemoryProperties = &allocator->m_MemProps; +} + +VMA_CALL_PRE void VMA_CALL_POST vmaGetMemoryTypeProperties( + VmaAllocator allocator, + uint32_t memoryTypeIndex, + VkMemoryPropertyFlags* pFlags) +{ + VMA_ASSERT(allocator && pFlags); + VMA_ASSERT(memoryTypeIndex < allocator->GetMemoryTypeCount()); + *pFlags = allocator->m_MemProps.memoryTypes[memoryTypeIndex].propertyFlags; +} + +VMA_CALL_PRE void VMA_CALL_POST vmaSetCurrentFrameIndex( + VmaAllocator allocator, + uint32_t frameIndex) +{ + VMA_ASSERT(allocator); + + VMA_DEBUG_GLOBAL_MUTEX_LOCK + + allocator->SetCurrentFrameIndex(frameIndex); +} + +VMA_CALL_PRE void VMA_CALL_POST vmaCalculateStatistics( + VmaAllocator allocator, + VmaTotalStatistics* pStats) +{ + VMA_ASSERT(allocator && pStats); + VMA_DEBUG_GLOBAL_MUTEX_LOCK + allocator->CalculateStatistics(pStats); +} + +VMA_CALL_PRE void VMA_CALL_POST vmaGetHeapBudgets( + VmaAllocator allocator, + VmaBudget* pBudgets) +{ + VMA_ASSERT(allocator && pBudgets); + VMA_DEBUG_GLOBAL_MUTEX_LOCK + allocator->GetHeapBudgets(pBudgets, 0, allocator->GetMemoryHeapCount()); +} + +#if VMA_STATS_STRING_ENABLED + +VMA_CALL_PRE void VMA_CALL_POST vmaBuildStatsString( + VmaAllocator allocator, + char** ppStatsString, + VkBool32 detailedMap) +{ + VMA_ASSERT(allocator && ppStatsString); + VMA_DEBUG_GLOBAL_MUTEX_LOCK + + VmaStringBuilder sb(allocator->GetAllocationCallbacks()); + { + VmaBudget budgets[VK_MAX_MEMORY_HEAPS]; + allocator->GetHeapBudgets(budgets, 0, allocator->GetMemoryHeapCount()); + + VmaTotalStatistics stats; + allocator->CalculateStatistics(&stats); + + VmaJsonWriter json(allocator->GetAllocationCallbacks(), sb); + json.BeginObject(); + { + json.WriteString("General"); + json.BeginObject(); + { + const VkPhysicalDeviceProperties& deviceProperties = allocator->m_PhysicalDeviceProperties; + const VkPhysicalDeviceMemoryProperties& memoryProperties = allocator->m_MemProps; + + json.WriteString("API"); + json.WriteString("Vulkan"); + + json.WriteString("apiVersion"); + json.BeginString(); + json.ContinueString(VK_API_VERSION_MAJOR(deviceProperties.apiVersion)); + json.ContinueString("."); + json.ContinueString(VK_API_VERSION_MINOR(deviceProperties.apiVersion)); + json.ContinueString("."); + json.ContinueString(VK_API_VERSION_PATCH(deviceProperties.apiVersion)); + json.EndString(); + + json.WriteString("GPU"); + json.WriteString(deviceProperties.deviceName); + json.WriteString("deviceType"); + json.WriteNumber(static_cast(deviceProperties.deviceType)); + + json.WriteString("maxMemoryAllocationCount"); + json.WriteNumber(deviceProperties.limits.maxMemoryAllocationCount); + json.WriteString("bufferImageGranularity"); + json.WriteNumber(deviceProperties.limits.bufferImageGranularity); + json.WriteString("nonCoherentAtomSize"); + json.WriteNumber(deviceProperties.limits.nonCoherentAtomSize); + + json.WriteString("memoryHeapCount"); + json.WriteNumber(memoryProperties.memoryHeapCount); + json.WriteString("memoryTypeCount"); + json.WriteNumber(memoryProperties.memoryTypeCount); + } + json.EndObject(); + } + { + json.WriteString("Total"); + VmaPrintDetailedStatistics(json, stats.total); + } + { + json.WriteString("MemoryInfo"); + json.BeginObject(); + { + for (uint32_t heapIndex = 0; heapIndex < allocator->GetMemoryHeapCount(); ++heapIndex) + { + json.BeginString("Heap "); + json.ContinueString(heapIndex); + json.EndString(); + json.BeginObject(); + { + const VkMemoryHeap& heapInfo = allocator->m_MemProps.memoryHeaps[heapIndex]; + json.WriteString("Flags"); + json.BeginArray(true); + { + if (heapInfo.flags & VK_MEMORY_HEAP_DEVICE_LOCAL_BIT) + json.WriteString("DEVICE_LOCAL"); + #if VMA_VULKAN_VERSION >= 1001000 + if (heapInfo.flags & VK_MEMORY_HEAP_MULTI_INSTANCE_BIT) + json.WriteString("MULTI_INSTANCE"); + #endif + + VkMemoryHeapFlags flags = heapInfo.flags & + ~(VK_MEMORY_HEAP_DEVICE_LOCAL_BIT + #if VMA_VULKAN_VERSION >= 1001000 + | VK_MEMORY_HEAP_MULTI_INSTANCE_BIT + #endif + ); + if (flags != 0) + json.WriteNumber(flags); + } + json.EndArray(); + + json.WriteString("Size"); + json.WriteNumber(heapInfo.size); + + json.WriteString("Budget"); + json.BeginObject(); + { + json.WriteString("BudgetBytes"); + json.WriteNumber(budgets[heapIndex].budget); + json.WriteString("UsageBytes"); + json.WriteNumber(budgets[heapIndex].usage); + } + json.EndObject(); + + json.WriteString("Stats"); + VmaPrintDetailedStatistics(json, stats.memoryHeap[heapIndex]); + + json.WriteString("MemoryPools"); + json.BeginObject(); + { + for (uint32_t typeIndex = 0; typeIndex < allocator->GetMemoryTypeCount(); ++typeIndex) + { + if (allocator->MemoryTypeIndexToHeapIndex(typeIndex) == heapIndex) + { + json.BeginString("Type "); + json.ContinueString(typeIndex); + json.EndString(); + json.BeginObject(); + { + json.WriteString("Flags"); + json.BeginArray(true); + { + VkMemoryPropertyFlags flags = allocator->m_MemProps.memoryTypes[typeIndex].propertyFlags; + if (flags & VK_MEMORY_PROPERTY_DEVICE_LOCAL_BIT) + json.WriteString("DEVICE_LOCAL"); + if (flags & VK_MEMORY_PROPERTY_HOST_VISIBLE_BIT) + json.WriteString("HOST_VISIBLE"); + if (flags & VK_MEMORY_PROPERTY_HOST_COHERENT_BIT) + json.WriteString("HOST_COHERENT"); + if (flags & VK_MEMORY_PROPERTY_HOST_CACHED_BIT) + json.WriteString("HOST_CACHED"); + if (flags & VK_MEMORY_PROPERTY_LAZILY_ALLOCATED_BIT) + json.WriteString("LAZILY_ALLOCATED"); + #if VMA_VULKAN_VERSION >= 1001000 + if (flags & VK_MEMORY_PROPERTY_PROTECTED_BIT) + json.WriteString("PROTECTED"); + #endif + #if VK_AMD_device_coherent_memory + if (flags & VK_MEMORY_PROPERTY_DEVICE_COHERENT_BIT_AMD_COPY) + json.WriteString("DEVICE_COHERENT_AMD"); + if (flags & VK_MEMORY_PROPERTY_DEVICE_UNCACHED_BIT_AMD_COPY) + json.WriteString("DEVICE_UNCACHED_AMD"); + #endif + + flags &= ~(VK_MEMORY_PROPERTY_DEVICE_LOCAL_BIT + #if VMA_VULKAN_VERSION >= 1001000 + | VK_MEMORY_PROPERTY_LAZILY_ALLOCATED_BIT + #endif + #if VK_AMD_device_coherent_memory + | VK_MEMORY_PROPERTY_DEVICE_COHERENT_BIT_AMD_COPY + | VK_MEMORY_PROPERTY_DEVICE_UNCACHED_BIT_AMD_COPY + #endif + | VK_MEMORY_PROPERTY_HOST_VISIBLE_BIT + | VK_MEMORY_PROPERTY_HOST_COHERENT_BIT + | VK_MEMORY_PROPERTY_HOST_CACHED_BIT); + if (flags != 0) + json.WriteNumber(flags); + } + json.EndArray(); + + json.WriteString("Stats"); + VmaPrintDetailedStatistics(json, stats.memoryType[typeIndex]); + } + json.EndObject(); + } + } + + } + json.EndObject(); + } + json.EndObject(); + } + } + json.EndObject(); + } + + if (detailedMap == VK_TRUE) + allocator->PrintDetailedMap(json); + + json.EndObject(); + } + + *ppStatsString = VmaCreateStringCopy(allocator->GetAllocationCallbacks(), sb.GetData(), sb.GetLength()); +} + +VMA_CALL_PRE void VMA_CALL_POST vmaFreeStatsString( + VmaAllocator allocator, + char* pStatsString) +{ + if(pStatsString != VMA_NULL) + { + VMA_ASSERT(allocator); + VmaFreeString(allocator->GetAllocationCallbacks(), pStatsString); + } +} + +#endif // VMA_STATS_STRING_ENABLED + +/* +This function is not protected by any mutex because it just reads immutable data. +*/ +VMA_CALL_PRE VkResult VMA_CALL_POST vmaFindMemoryTypeIndex( + VmaAllocator allocator, + uint32_t memoryTypeBits, + const VmaAllocationCreateInfo* pAllocationCreateInfo, + uint32_t* pMemoryTypeIndex) +{ + VMA_ASSERT(allocator != VK_NULL_HANDLE); + VMA_ASSERT(pAllocationCreateInfo != VMA_NULL); + VMA_ASSERT(pMemoryTypeIndex != VMA_NULL); + + return allocator->FindMemoryTypeIndex(memoryTypeBits, pAllocationCreateInfo, UINT32_MAX, pMemoryTypeIndex); +} + +VMA_CALL_PRE VkResult VMA_CALL_POST vmaFindMemoryTypeIndexForBufferInfo( + VmaAllocator allocator, + const VkBufferCreateInfo* pBufferCreateInfo, + const VmaAllocationCreateInfo* pAllocationCreateInfo, + uint32_t* pMemoryTypeIndex) +{ + VMA_ASSERT(allocator != VK_NULL_HANDLE); + VMA_ASSERT(pBufferCreateInfo != VMA_NULL); + VMA_ASSERT(pAllocationCreateInfo != VMA_NULL); + VMA_ASSERT(pMemoryTypeIndex != VMA_NULL); + + const VkDevice hDev = allocator->m_hDevice; + const VmaVulkanFunctions* funcs = &allocator->GetVulkanFunctions(); + VkResult res; + +#if VMA_VULKAN_VERSION >= 1003000 + if(funcs->vkGetDeviceBufferMemoryRequirements) + { + // Can query straight from VkBufferCreateInfo :) + VkDeviceBufferMemoryRequirements devBufMemReq = {VK_STRUCTURE_TYPE_DEVICE_BUFFER_MEMORY_REQUIREMENTS}; + devBufMemReq.pCreateInfo = pBufferCreateInfo; + + VkMemoryRequirements2 memReq = {VK_STRUCTURE_TYPE_MEMORY_REQUIREMENTS_2}; + (*funcs->vkGetDeviceBufferMemoryRequirements)(hDev, &devBufMemReq, &memReq); + + res = allocator->FindMemoryTypeIndex( + memReq.memoryRequirements.memoryTypeBits, pAllocationCreateInfo, pBufferCreateInfo->usage, pMemoryTypeIndex); + } + else +#endif // #if VMA_VULKAN_VERSION >= 1003000 + { + // Must create a dummy buffer to query :( + VkBuffer hBuffer = VK_NULL_HANDLE; + res = funcs->vkCreateBuffer( + hDev, pBufferCreateInfo, allocator->GetAllocationCallbacks(), &hBuffer); + if(res == VK_SUCCESS) + { + VkMemoryRequirements memReq = {}; + funcs->vkGetBufferMemoryRequirements(hDev, hBuffer, &memReq); + + res = allocator->FindMemoryTypeIndex( + memReq.memoryTypeBits, pAllocationCreateInfo, pBufferCreateInfo->usage, pMemoryTypeIndex); + + funcs->vkDestroyBuffer( + hDev, hBuffer, allocator->GetAllocationCallbacks()); + } + } + return res; +} + +VMA_CALL_PRE VkResult VMA_CALL_POST vmaFindMemoryTypeIndexForImageInfo( + VmaAllocator allocator, + const VkImageCreateInfo* pImageCreateInfo, + const VmaAllocationCreateInfo* pAllocationCreateInfo, + uint32_t* pMemoryTypeIndex) +{ + VMA_ASSERT(allocator != VK_NULL_HANDLE); + VMA_ASSERT(pImageCreateInfo != VMA_NULL); + VMA_ASSERT(pAllocationCreateInfo != VMA_NULL); + VMA_ASSERT(pMemoryTypeIndex != VMA_NULL); + + const VkDevice hDev = allocator->m_hDevice; + const VmaVulkanFunctions* funcs = &allocator->GetVulkanFunctions(); + VkResult res; + +#if VMA_VULKAN_VERSION >= 1003000 + if(funcs->vkGetDeviceImageMemoryRequirements) + { + // Can query straight from VkImageCreateInfo :) + VkDeviceImageMemoryRequirements devImgMemReq = {VK_STRUCTURE_TYPE_DEVICE_IMAGE_MEMORY_REQUIREMENTS}; + devImgMemReq.pCreateInfo = pImageCreateInfo; + VMA_ASSERT(pImageCreateInfo->tiling != VK_IMAGE_TILING_DRM_FORMAT_MODIFIER_EXT_COPY && (pImageCreateInfo->flags & VK_IMAGE_CREATE_DISJOINT_BIT_COPY) == 0 && + "Cannot use this VkImageCreateInfo with vmaFindMemoryTypeIndexForImageInfo as I don't know what to pass as VkDeviceImageMemoryRequirements::planeAspect."); + + VkMemoryRequirements2 memReq = {VK_STRUCTURE_TYPE_MEMORY_REQUIREMENTS_2}; + (*funcs->vkGetDeviceImageMemoryRequirements)(hDev, &devImgMemReq, &memReq); + + res = allocator->FindMemoryTypeIndex( + memReq.memoryRequirements.memoryTypeBits, pAllocationCreateInfo, pImageCreateInfo->usage, pMemoryTypeIndex); + } + else +#endif // #if VMA_VULKAN_VERSION >= 1003000 + { + // Must create a dummy image to query :( + VkImage hImage = VK_NULL_HANDLE; + res = funcs->vkCreateImage( + hDev, pImageCreateInfo, allocator->GetAllocationCallbacks(), &hImage); + if(res == VK_SUCCESS) + { + VkMemoryRequirements memReq = {}; + funcs->vkGetImageMemoryRequirements(hDev, hImage, &memReq); + + res = allocator->FindMemoryTypeIndex( + memReq.memoryTypeBits, pAllocationCreateInfo, pImageCreateInfo->usage, pMemoryTypeIndex); + + funcs->vkDestroyImage( + hDev, hImage, allocator->GetAllocationCallbacks()); + } + } + return res; +} + +VMA_CALL_PRE VkResult VMA_CALL_POST vmaCreatePool( + VmaAllocator allocator, + const VmaPoolCreateInfo* pCreateInfo, + VmaPool* pPool) +{ + VMA_ASSERT(allocator && pCreateInfo && pPool); + + VMA_DEBUG_LOG("vmaCreatePool"); + + VMA_DEBUG_GLOBAL_MUTEX_LOCK + + return allocator->CreatePool(pCreateInfo, pPool); +} + +VMA_CALL_PRE void VMA_CALL_POST vmaDestroyPool( + VmaAllocator allocator, + VmaPool pool) +{ + VMA_ASSERT(allocator); + + if(pool == VK_NULL_HANDLE) + { + return; + } + + VMA_DEBUG_LOG("vmaDestroyPool"); + + VMA_DEBUG_GLOBAL_MUTEX_LOCK + + allocator->DestroyPool(pool); +} + +VMA_CALL_PRE void VMA_CALL_POST vmaGetPoolStatistics( + VmaAllocator allocator, + VmaPool pool, + VmaStatistics* pPoolStats) +{ + VMA_ASSERT(allocator && pool && pPoolStats); + + VMA_DEBUG_GLOBAL_MUTEX_LOCK + + allocator->GetPoolStatistics(pool, pPoolStats); +} + +VMA_CALL_PRE void VMA_CALL_POST vmaCalculatePoolStatistics( + VmaAllocator allocator, + VmaPool pool, + VmaDetailedStatistics* pPoolStats) +{ + VMA_ASSERT(allocator && pool && pPoolStats); + + VMA_DEBUG_GLOBAL_MUTEX_LOCK + + allocator->CalculatePoolStatistics(pool, pPoolStats); +} + +VMA_CALL_PRE VkResult VMA_CALL_POST vmaCheckPoolCorruption(VmaAllocator allocator, VmaPool pool) +{ + VMA_ASSERT(allocator && pool); + + VMA_DEBUG_GLOBAL_MUTEX_LOCK + + VMA_DEBUG_LOG("vmaCheckPoolCorruption"); + + return allocator->CheckPoolCorruption(pool); +} + +VMA_CALL_PRE void VMA_CALL_POST vmaGetPoolName( + VmaAllocator allocator, + VmaPool pool, + const char** ppName) +{ + VMA_ASSERT(allocator && pool && ppName); + + VMA_DEBUG_LOG("vmaGetPoolName"); + + VMA_DEBUG_GLOBAL_MUTEX_LOCK + + *ppName = pool->GetName(); +} + +VMA_CALL_PRE void VMA_CALL_POST vmaSetPoolName( + VmaAllocator allocator, + VmaPool pool, + const char* pName) +{ + VMA_ASSERT(allocator && pool); + + VMA_DEBUG_LOG("vmaSetPoolName"); + + VMA_DEBUG_GLOBAL_MUTEX_LOCK + + pool->SetName(pName); +} + +VMA_CALL_PRE VkResult VMA_CALL_POST vmaAllocateMemory( + VmaAllocator allocator, + const VkMemoryRequirements* pVkMemoryRequirements, + const VmaAllocationCreateInfo* pCreateInfo, + VmaAllocation* pAllocation, + VmaAllocationInfo* pAllocationInfo) +{ + VMA_ASSERT(allocator && pVkMemoryRequirements && pCreateInfo && pAllocation); + + VMA_DEBUG_LOG("vmaAllocateMemory"); + + VMA_DEBUG_GLOBAL_MUTEX_LOCK + + VkResult result = allocator->AllocateMemory( + *pVkMemoryRequirements, + false, // requiresDedicatedAllocation + false, // prefersDedicatedAllocation + VK_NULL_HANDLE, // dedicatedBuffer + VK_NULL_HANDLE, // dedicatedImage + UINT32_MAX, // dedicatedBufferImageUsage + *pCreateInfo, + VMA_SUBALLOCATION_TYPE_UNKNOWN, + 1, // allocationCount + pAllocation); + + if(pAllocationInfo != VMA_NULL && result == VK_SUCCESS) + { + allocator->GetAllocationInfo(*pAllocation, pAllocationInfo); + } + + return result; +} + +VMA_CALL_PRE VkResult VMA_CALL_POST vmaAllocateMemoryPages( + VmaAllocator allocator, + const VkMemoryRequirements* pVkMemoryRequirements, + const VmaAllocationCreateInfo* pCreateInfo, + size_t allocationCount, + VmaAllocation* pAllocations, + VmaAllocationInfo* pAllocationInfo) +{ + if(allocationCount == 0) + { + return VK_SUCCESS; + } + + VMA_ASSERT(allocator && pVkMemoryRequirements && pCreateInfo && pAllocations); + + VMA_DEBUG_LOG("vmaAllocateMemoryPages"); + + VMA_DEBUG_GLOBAL_MUTEX_LOCK + + VkResult result = allocator->AllocateMemory( + *pVkMemoryRequirements, + false, // requiresDedicatedAllocation + false, // prefersDedicatedAllocation + VK_NULL_HANDLE, // dedicatedBuffer + VK_NULL_HANDLE, // dedicatedImage + UINT32_MAX, // dedicatedBufferImageUsage + *pCreateInfo, + VMA_SUBALLOCATION_TYPE_UNKNOWN, + allocationCount, + pAllocations); + + if(pAllocationInfo != VMA_NULL && result == VK_SUCCESS) + { + for(size_t i = 0; i < allocationCount; ++i) + { + allocator->GetAllocationInfo(pAllocations[i], pAllocationInfo + i); + } + } + + return result; +} + +VMA_CALL_PRE VkResult VMA_CALL_POST vmaAllocateMemoryForBuffer( + VmaAllocator allocator, + VkBuffer buffer, + const VmaAllocationCreateInfo* pCreateInfo, + VmaAllocation* pAllocation, + VmaAllocationInfo* pAllocationInfo) +{ + VMA_ASSERT(allocator && buffer != VK_NULL_HANDLE && pCreateInfo && pAllocation); + + VMA_DEBUG_LOG("vmaAllocateMemoryForBuffer"); + + VMA_DEBUG_GLOBAL_MUTEX_LOCK + + VkMemoryRequirements vkMemReq = {}; + bool requiresDedicatedAllocation = false; + bool prefersDedicatedAllocation = false; + allocator->GetBufferMemoryRequirements(buffer, vkMemReq, + requiresDedicatedAllocation, + prefersDedicatedAllocation); + + VkResult result = allocator->AllocateMemory( + vkMemReq, + requiresDedicatedAllocation, + prefersDedicatedAllocation, + buffer, // dedicatedBuffer + VK_NULL_HANDLE, // dedicatedImage + UINT32_MAX, // dedicatedBufferImageUsage + *pCreateInfo, + VMA_SUBALLOCATION_TYPE_BUFFER, + 1, // allocationCount + pAllocation); + + if(pAllocationInfo && result == VK_SUCCESS) + { + allocator->GetAllocationInfo(*pAllocation, pAllocationInfo); + } + + return result; +} + +VMA_CALL_PRE VkResult VMA_CALL_POST vmaAllocateMemoryForImage( + VmaAllocator allocator, + VkImage image, + const VmaAllocationCreateInfo* pCreateInfo, + VmaAllocation* pAllocation, + VmaAllocationInfo* pAllocationInfo) +{ + VMA_ASSERT(allocator && image != VK_NULL_HANDLE && pCreateInfo && pAllocation); + + VMA_DEBUG_LOG("vmaAllocateMemoryForImage"); + + VMA_DEBUG_GLOBAL_MUTEX_LOCK + + VkMemoryRequirements vkMemReq = {}; + bool requiresDedicatedAllocation = false; + bool prefersDedicatedAllocation = false; + allocator->GetImageMemoryRequirements(image, vkMemReq, + requiresDedicatedAllocation, prefersDedicatedAllocation); + + VkResult result = allocator->AllocateMemory( + vkMemReq, + requiresDedicatedAllocation, + prefersDedicatedAllocation, + VK_NULL_HANDLE, // dedicatedBuffer + image, // dedicatedImage + UINT32_MAX, // dedicatedBufferImageUsage + *pCreateInfo, + VMA_SUBALLOCATION_TYPE_IMAGE_UNKNOWN, + 1, // allocationCount + pAllocation); + + if(pAllocationInfo && result == VK_SUCCESS) + { + allocator->GetAllocationInfo(*pAllocation, pAllocationInfo); + } + + return result; +} + +VMA_CALL_PRE void VMA_CALL_POST vmaFreeMemory( + VmaAllocator allocator, + VmaAllocation allocation) +{ + VMA_ASSERT(allocator); + + if(allocation == VK_NULL_HANDLE) + { + return; + } + + VMA_DEBUG_LOG("vmaFreeMemory"); + + VMA_DEBUG_GLOBAL_MUTEX_LOCK + + allocator->FreeMemory( + 1, // allocationCount + &allocation); +} + +VMA_CALL_PRE void VMA_CALL_POST vmaFreeMemoryPages( + VmaAllocator allocator, + size_t allocationCount, + const VmaAllocation* pAllocations) +{ + if(allocationCount == 0) + { + return; + } + + VMA_ASSERT(allocator); + + VMA_DEBUG_LOG("vmaFreeMemoryPages"); + + VMA_DEBUG_GLOBAL_MUTEX_LOCK + + allocator->FreeMemory(allocationCount, pAllocations); +} + +VMA_CALL_PRE void VMA_CALL_POST vmaGetAllocationInfo( + VmaAllocator allocator, + VmaAllocation allocation, + VmaAllocationInfo* pAllocationInfo) +{ + VMA_ASSERT(allocator && allocation && pAllocationInfo); + + VMA_DEBUG_GLOBAL_MUTEX_LOCK + + allocator->GetAllocationInfo(allocation, pAllocationInfo); +} + +VMA_CALL_PRE void VMA_CALL_POST vmaSetAllocationUserData( + VmaAllocator allocator, + VmaAllocation allocation, + void* pUserData) +{ + VMA_ASSERT(allocator && allocation); + + VMA_DEBUG_GLOBAL_MUTEX_LOCK + + allocation->SetUserData(allocator, pUserData); +} + +VMA_CALL_PRE void VMA_CALL_POST vmaSetAllocationName( + VmaAllocator VMA_NOT_NULL allocator, + VmaAllocation VMA_NOT_NULL allocation, + const char* VMA_NULLABLE pName) +{ + allocation->SetName(allocator, pName); +} + +VMA_CALL_PRE void VMA_CALL_POST vmaGetAllocationMemoryProperties( + VmaAllocator VMA_NOT_NULL allocator, + VmaAllocation VMA_NOT_NULL allocation, + VkMemoryPropertyFlags* VMA_NOT_NULL pFlags) +{ + VMA_ASSERT(allocator && allocation && pFlags); + const uint32_t memTypeIndex = allocation->GetMemoryTypeIndex(); + *pFlags = allocator->m_MemProps.memoryTypes[memTypeIndex].propertyFlags; +} + +VMA_CALL_PRE VkResult VMA_CALL_POST vmaMapMemory( + VmaAllocator allocator, + VmaAllocation allocation, + void** ppData) +{ + VMA_ASSERT(allocator && allocation && ppData); + + VMA_DEBUG_GLOBAL_MUTEX_LOCK + + return allocator->Map(allocation, ppData); +} + +VMA_CALL_PRE void VMA_CALL_POST vmaUnmapMemory( + VmaAllocator allocator, + VmaAllocation allocation) +{ + VMA_ASSERT(allocator && allocation); + + VMA_DEBUG_GLOBAL_MUTEX_LOCK + + allocator->Unmap(allocation); +} + +VMA_CALL_PRE VkResult VMA_CALL_POST vmaFlushAllocation( + VmaAllocator allocator, + VmaAllocation allocation, + VkDeviceSize offset, + VkDeviceSize size) +{ + VMA_ASSERT(allocator && allocation); + + VMA_DEBUG_LOG("vmaFlushAllocation"); + + VMA_DEBUG_GLOBAL_MUTEX_LOCK + + const VkResult res = allocator->FlushOrInvalidateAllocation(allocation, offset, size, VMA_CACHE_FLUSH); + + return res; +} + +VMA_CALL_PRE VkResult VMA_CALL_POST vmaInvalidateAllocation( + VmaAllocator allocator, + VmaAllocation allocation, + VkDeviceSize offset, + VkDeviceSize size) +{ + VMA_ASSERT(allocator && allocation); + + VMA_DEBUG_LOG("vmaInvalidateAllocation"); + + VMA_DEBUG_GLOBAL_MUTEX_LOCK + + const VkResult res = allocator->FlushOrInvalidateAllocation(allocation, offset, size, VMA_CACHE_INVALIDATE); + + return res; +} + +VMA_CALL_PRE VkResult VMA_CALL_POST vmaFlushAllocations( + VmaAllocator allocator, + uint32_t allocationCount, + const VmaAllocation* allocations, + const VkDeviceSize* offsets, + const VkDeviceSize* sizes) +{ + VMA_ASSERT(allocator); + + if(allocationCount == 0) + { + return VK_SUCCESS; + } + + VMA_ASSERT(allocations); + + VMA_DEBUG_LOG("vmaFlushAllocations"); + + VMA_DEBUG_GLOBAL_MUTEX_LOCK + + const VkResult res = allocator->FlushOrInvalidateAllocations(allocationCount, allocations, offsets, sizes, VMA_CACHE_FLUSH); + + return res; +} + +VMA_CALL_PRE VkResult VMA_CALL_POST vmaInvalidateAllocations( + VmaAllocator allocator, + uint32_t allocationCount, + const VmaAllocation* allocations, + const VkDeviceSize* offsets, + const VkDeviceSize* sizes) +{ + VMA_ASSERT(allocator); + + if(allocationCount == 0) + { + return VK_SUCCESS; + } + + VMA_ASSERT(allocations); + + VMA_DEBUG_LOG("vmaInvalidateAllocations"); + + VMA_DEBUG_GLOBAL_MUTEX_LOCK + + const VkResult res = allocator->FlushOrInvalidateAllocations(allocationCount, allocations, offsets, sizes, VMA_CACHE_INVALIDATE); + + return res; +} + +VMA_CALL_PRE VkResult VMA_CALL_POST vmaCheckCorruption( + VmaAllocator allocator, + uint32_t memoryTypeBits) +{ + VMA_ASSERT(allocator); + + VMA_DEBUG_LOG("vmaCheckCorruption"); + + VMA_DEBUG_GLOBAL_MUTEX_LOCK + + return allocator->CheckCorruption(memoryTypeBits); +} + +VMA_CALL_PRE VkResult VMA_CALL_POST vmaBeginDefragmentation( + VmaAllocator allocator, + const VmaDefragmentationInfo* pInfo, + VmaDefragmentationContext* pContext) +{ + VMA_ASSERT(allocator && pInfo && pContext); + + VMA_DEBUG_LOG("vmaBeginDefragmentation"); + + if (pInfo->pool != VMA_NULL) + { + // Check if run on supported algorithms + if (pInfo->pool->m_BlockVector.GetAlgorithm() & VMA_POOL_CREATE_LINEAR_ALGORITHM_BIT) + return VK_ERROR_FEATURE_NOT_PRESENT; + } + + VMA_DEBUG_GLOBAL_MUTEX_LOCK + + *pContext = vma_new(allocator, VmaDefragmentationContext_T)(allocator, *pInfo); + return VK_SUCCESS; +} + +VMA_CALL_PRE void VMA_CALL_POST vmaEndDefragmentation( + VmaAllocator allocator, + VmaDefragmentationContext context, + VmaDefragmentationStats* pStats) +{ + VMA_ASSERT(allocator && context); + + VMA_DEBUG_LOG("vmaEndDefragmentation"); + + VMA_DEBUG_GLOBAL_MUTEX_LOCK + + if (pStats) + context->GetStats(*pStats); + vma_delete(allocator, context); +} + +VMA_CALL_PRE VkResult VMA_CALL_POST vmaBeginDefragmentationPass( + VmaAllocator VMA_NOT_NULL allocator, + VmaDefragmentationContext VMA_NOT_NULL context, + VmaDefragmentationPassMoveInfo* VMA_NOT_NULL pPassInfo) +{ + VMA_ASSERT(context && pPassInfo); + + VMA_DEBUG_LOG("vmaBeginDefragmentationPass"); + + VMA_DEBUG_GLOBAL_MUTEX_LOCK + + return context->DefragmentPassBegin(*pPassInfo); +} + +VMA_CALL_PRE VkResult VMA_CALL_POST vmaEndDefragmentationPass( + VmaAllocator VMA_NOT_NULL allocator, + VmaDefragmentationContext VMA_NOT_NULL context, + VmaDefragmentationPassMoveInfo* VMA_NOT_NULL pPassInfo) +{ + VMA_ASSERT(context && pPassInfo); + + VMA_DEBUG_LOG("vmaEndDefragmentationPass"); + + VMA_DEBUG_GLOBAL_MUTEX_LOCK + + return context->DefragmentPassEnd(*pPassInfo); +} + +VMA_CALL_PRE VkResult VMA_CALL_POST vmaBindBufferMemory( + VmaAllocator allocator, + VmaAllocation allocation, + VkBuffer buffer) +{ + VMA_ASSERT(allocator && allocation && buffer); + + VMA_DEBUG_LOG("vmaBindBufferMemory"); + + VMA_DEBUG_GLOBAL_MUTEX_LOCK + + return allocator->BindBufferMemory(allocation, 0, buffer, VMA_NULL); +} + +VMA_CALL_PRE VkResult VMA_CALL_POST vmaBindBufferMemory2( + VmaAllocator allocator, + VmaAllocation allocation, + VkDeviceSize allocationLocalOffset, + VkBuffer buffer, + const void* pNext) +{ + VMA_ASSERT(allocator && allocation && buffer); + + VMA_DEBUG_LOG("vmaBindBufferMemory2"); + + VMA_DEBUG_GLOBAL_MUTEX_LOCK + + return allocator->BindBufferMemory(allocation, allocationLocalOffset, buffer, pNext); +} + +VMA_CALL_PRE VkResult VMA_CALL_POST vmaBindImageMemory( + VmaAllocator allocator, + VmaAllocation allocation, + VkImage image) +{ + VMA_ASSERT(allocator && allocation && image); + + VMA_DEBUG_LOG("vmaBindImageMemory"); + + VMA_DEBUG_GLOBAL_MUTEX_LOCK + + return allocator->BindImageMemory(allocation, 0, image, VMA_NULL); +} + +VMA_CALL_PRE VkResult VMA_CALL_POST vmaBindImageMemory2( + VmaAllocator allocator, + VmaAllocation allocation, + VkDeviceSize allocationLocalOffset, + VkImage image, + const void* pNext) +{ + VMA_ASSERT(allocator && allocation && image); + + VMA_DEBUG_LOG("vmaBindImageMemory2"); + + VMA_DEBUG_GLOBAL_MUTEX_LOCK + + return allocator->BindImageMemory(allocation, allocationLocalOffset, image, pNext); +} + +VMA_CALL_PRE VkResult VMA_CALL_POST vmaCreateBuffer( + VmaAllocator allocator, + const VkBufferCreateInfo* pBufferCreateInfo, + const VmaAllocationCreateInfo* pAllocationCreateInfo, + VkBuffer* pBuffer, + VmaAllocation* pAllocation, + VmaAllocationInfo* pAllocationInfo) +{ + VMA_ASSERT(allocator && pBufferCreateInfo && pAllocationCreateInfo && pBuffer && pAllocation); + + if(pBufferCreateInfo->size == 0) + { + return VK_ERROR_INITIALIZATION_FAILED; + } + if((pBufferCreateInfo->usage & VK_BUFFER_USAGE_SHADER_DEVICE_ADDRESS_BIT_COPY) != 0 && + !allocator->m_UseKhrBufferDeviceAddress) + { + VMA_ASSERT(0 && "Creating a buffer with VK_BUFFER_USAGE_SHADER_DEVICE_ADDRESS_BIT is not valid if VMA_ALLOCATOR_CREATE_BUFFER_DEVICE_ADDRESS_BIT was not used."); + return VK_ERROR_INITIALIZATION_FAILED; + } + + VMA_DEBUG_LOG("vmaCreateBuffer"); + + VMA_DEBUG_GLOBAL_MUTEX_LOCK + + *pBuffer = VK_NULL_HANDLE; + *pAllocation = VK_NULL_HANDLE; + + // 1. Create VkBuffer. + VkResult res = (*allocator->GetVulkanFunctions().vkCreateBuffer)( + allocator->m_hDevice, + pBufferCreateInfo, + allocator->GetAllocationCallbacks(), + pBuffer); + if(res >= 0) + { + // 2. vkGetBufferMemoryRequirements. + VkMemoryRequirements vkMemReq = {}; + bool requiresDedicatedAllocation = false; + bool prefersDedicatedAllocation = false; + allocator->GetBufferMemoryRequirements(*pBuffer, vkMemReq, + requiresDedicatedAllocation, prefersDedicatedAllocation); + + // 3. Allocate memory using allocator. + res = allocator->AllocateMemory( + vkMemReq, + requiresDedicatedAllocation, + prefersDedicatedAllocation, + *pBuffer, // dedicatedBuffer + VK_NULL_HANDLE, // dedicatedImage + pBufferCreateInfo->usage, // dedicatedBufferImageUsage + *pAllocationCreateInfo, + VMA_SUBALLOCATION_TYPE_BUFFER, + 1, // allocationCount + pAllocation); + + if(res >= 0) + { + // 3. Bind buffer with memory. + if((pAllocationCreateInfo->flags & VMA_ALLOCATION_CREATE_DONT_BIND_BIT) == 0) + { + res = allocator->BindBufferMemory(*pAllocation, 0, *pBuffer, VMA_NULL); + } + if(res >= 0) + { + // All steps succeeded. + #if VMA_STATS_STRING_ENABLED + (*pAllocation)->InitBufferImageUsage(pBufferCreateInfo->usage); + #endif + if(pAllocationInfo != VMA_NULL) + { + allocator->GetAllocationInfo(*pAllocation, pAllocationInfo); + } + + return VK_SUCCESS; + } + allocator->FreeMemory( + 1, // allocationCount + pAllocation); + *pAllocation = VK_NULL_HANDLE; + (*allocator->GetVulkanFunctions().vkDestroyBuffer)(allocator->m_hDevice, *pBuffer, allocator->GetAllocationCallbacks()); + *pBuffer = VK_NULL_HANDLE; + return res; + } + (*allocator->GetVulkanFunctions().vkDestroyBuffer)(allocator->m_hDevice, *pBuffer, allocator->GetAllocationCallbacks()); + *pBuffer = VK_NULL_HANDLE; + return res; + } + return res; +} + +VMA_CALL_PRE VkResult VMA_CALL_POST vmaCreateBufferWithAlignment( + VmaAllocator allocator, + const VkBufferCreateInfo* pBufferCreateInfo, + const VmaAllocationCreateInfo* pAllocationCreateInfo, + VkDeviceSize minAlignment, + VkBuffer* pBuffer, + VmaAllocation* pAllocation, + VmaAllocationInfo* pAllocationInfo) +{ + VMA_ASSERT(allocator && pBufferCreateInfo && pAllocationCreateInfo && VmaIsPow2(minAlignment) && pBuffer && pAllocation); + + if(pBufferCreateInfo->size == 0) + { + return VK_ERROR_INITIALIZATION_FAILED; + } + if((pBufferCreateInfo->usage & VK_BUFFER_USAGE_SHADER_DEVICE_ADDRESS_BIT_COPY) != 0 && + !allocator->m_UseKhrBufferDeviceAddress) + { + VMA_ASSERT(0 && "Creating a buffer with VK_BUFFER_USAGE_SHADER_DEVICE_ADDRESS_BIT is not valid if VMA_ALLOCATOR_CREATE_BUFFER_DEVICE_ADDRESS_BIT was not used."); + return VK_ERROR_INITIALIZATION_FAILED; + } + + VMA_DEBUG_LOG("vmaCreateBufferWithAlignment"); + + VMA_DEBUG_GLOBAL_MUTEX_LOCK + + *pBuffer = VK_NULL_HANDLE; + *pAllocation = VK_NULL_HANDLE; + + // 1. Create VkBuffer. + VkResult res = (*allocator->GetVulkanFunctions().vkCreateBuffer)( + allocator->m_hDevice, + pBufferCreateInfo, + allocator->GetAllocationCallbacks(), + pBuffer); + if(res >= 0) + { + // 2. vkGetBufferMemoryRequirements. + VkMemoryRequirements vkMemReq = {}; + bool requiresDedicatedAllocation = false; + bool prefersDedicatedAllocation = false; + allocator->GetBufferMemoryRequirements(*pBuffer, vkMemReq, + requiresDedicatedAllocation, prefersDedicatedAllocation); + + // 2a. Include minAlignment + vkMemReq.alignment = VMA_MAX(vkMemReq.alignment, minAlignment); + + // 3. Allocate memory using allocator. + res = allocator->AllocateMemory( + vkMemReq, + requiresDedicatedAllocation, + prefersDedicatedAllocation, + *pBuffer, // dedicatedBuffer + VK_NULL_HANDLE, // dedicatedImage + pBufferCreateInfo->usage, // dedicatedBufferImageUsage + *pAllocationCreateInfo, + VMA_SUBALLOCATION_TYPE_BUFFER, + 1, // allocationCount + pAllocation); + + if(res >= 0) + { + // 3. Bind buffer with memory. + if((pAllocationCreateInfo->flags & VMA_ALLOCATION_CREATE_DONT_BIND_BIT) == 0) + { + res = allocator->BindBufferMemory(*pAllocation, 0, *pBuffer, VMA_NULL); + } + if(res >= 0) + { + // All steps succeeded. + #if VMA_STATS_STRING_ENABLED + (*pAllocation)->InitBufferImageUsage(pBufferCreateInfo->usage); + #endif + if(pAllocationInfo != VMA_NULL) + { + allocator->GetAllocationInfo(*pAllocation, pAllocationInfo); + } + + return VK_SUCCESS; + } + allocator->FreeMemory( + 1, // allocationCount + pAllocation); + *pAllocation = VK_NULL_HANDLE; + (*allocator->GetVulkanFunctions().vkDestroyBuffer)(allocator->m_hDevice, *pBuffer, allocator->GetAllocationCallbacks()); + *pBuffer = VK_NULL_HANDLE; + return res; + } + (*allocator->GetVulkanFunctions().vkDestroyBuffer)(allocator->m_hDevice, *pBuffer, allocator->GetAllocationCallbacks()); + *pBuffer = VK_NULL_HANDLE; + return res; + } + return res; +} + +VMA_CALL_PRE VkResult VMA_CALL_POST vmaCreateAliasingBuffer( + VmaAllocator VMA_NOT_NULL allocator, + VmaAllocation VMA_NOT_NULL allocation, + const VkBufferCreateInfo* VMA_NOT_NULL pBufferCreateInfo, + VkBuffer VMA_NULLABLE_NON_DISPATCHABLE* VMA_NOT_NULL pBuffer) +{ + VMA_ASSERT(allocator && pBufferCreateInfo && pBuffer && allocation); + + VMA_DEBUG_LOG("vmaCreateAliasingBuffer"); + + *pBuffer = VK_NULL_HANDLE; + + if (pBufferCreateInfo->size == 0) + { + return VK_ERROR_INITIALIZATION_FAILED; + } + if ((pBufferCreateInfo->usage & VK_BUFFER_USAGE_SHADER_DEVICE_ADDRESS_BIT_COPY) != 0 && + !allocator->m_UseKhrBufferDeviceAddress) + { + VMA_ASSERT(0 && "Creating a buffer with VK_BUFFER_USAGE_SHADER_DEVICE_ADDRESS_BIT is not valid if VMA_ALLOCATOR_CREATE_BUFFER_DEVICE_ADDRESS_BIT was not used."); + return VK_ERROR_INITIALIZATION_FAILED; + } + + VMA_DEBUG_GLOBAL_MUTEX_LOCK + + // 1. Create VkBuffer. + VkResult res = (*allocator->GetVulkanFunctions().vkCreateBuffer)( + allocator->m_hDevice, + pBufferCreateInfo, + allocator->GetAllocationCallbacks(), + pBuffer); + if (res >= 0) + { + // 2. Bind buffer with memory. + res = allocator->BindBufferMemory(allocation, 0, *pBuffer, VMA_NULL); + if (res >= 0) + { + return VK_SUCCESS; + } + (*allocator->GetVulkanFunctions().vkDestroyBuffer)(allocator->m_hDevice, *pBuffer, allocator->GetAllocationCallbacks()); + } + return res; +} + +VMA_CALL_PRE void VMA_CALL_POST vmaDestroyBuffer( + VmaAllocator allocator, + VkBuffer buffer, + VmaAllocation allocation) +{ + VMA_ASSERT(allocator); + + if(buffer == VK_NULL_HANDLE && allocation == VK_NULL_HANDLE) + { + return; + } + + VMA_DEBUG_LOG("vmaDestroyBuffer"); + + VMA_DEBUG_GLOBAL_MUTEX_LOCK + + if(buffer != VK_NULL_HANDLE) + { + (*allocator->GetVulkanFunctions().vkDestroyBuffer)(allocator->m_hDevice, buffer, allocator->GetAllocationCallbacks()); + } + + if(allocation != VK_NULL_HANDLE) + { + allocator->FreeMemory( + 1, // allocationCount + &allocation); + } +} + +VMA_CALL_PRE VkResult VMA_CALL_POST vmaCreateImage( + VmaAllocator allocator, + const VkImageCreateInfo* pImageCreateInfo, + const VmaAllocationCreateInfo* pAllocationCreateInfo, + VkImage* pImage, + VmaAllocation* pAllocation, + VmaAllocationInfo* pAllocationInfo) +{ + VMA_ASSERT(allocator && pImageCreateInfo && pAllocationCreateInfo && pImage && pAllocation); + + if(pImageCreateInfo->extent.width == 0 || + pImageCreateInfo->extent.height == 0 || + pImageCreateInfo->extent.depth == 0 || + pImageCreateInfo->mipLevels == 0 || + pImageCreateInfo->arrayLayers == 0) + { + return VK_ERROR_INITIALIZATION_FAILED; + } + + VMA_DEBUG_LOG("vmaCreateImage"); + + VMA_DEBUG_GLOBAL_MUTEX_LOCK + + *pImage = VK_NULL_HANDLE; + *pAllocation = VK_NULL_HANDLE; + + // 1. Create VkImage. + VkResult res = (*allocator->GetVulkanFunctions().vkCreateImage)( + allocator->m_hDevice, + pImageCreateInfo, + allocator->GetAllocationCallbacks(), + pImage); + if(res >= 0) + { + VmaSuballocationType suballocType = pImageCreateInfo->tiling == VK_IMAGE_TILING_OPTIMAL ? + VMA_SUBALLOCATION_TYPE_IMAGE_OPTIMAL : + VMA_SUBALLOCATION_TYPE_IMAGE_LINEAR; + + // 2. Allocate memory using allocator. + VkMemoryRequirements vkMemReq = {}; + bool requiresDedicatedAllocation = false; + bool prefersDedicatedAllocation = false; + allocator->GetImageMemoryRequirements(*pImage, vkMemReq, + requiresDedicatedAllocation, prefersDedicatedAllocation); + + res = allocator->AllocateMemory( + vkMemReq, + requiresDedicatedAllocation, + prefersDedicatedAllocation, + VK_NULL_HANDLE, // dedicatedBuffer + *pImage, // dedicatedImage + pImageCreateInfo->usage, // dedicatedBufferImageUsage + *pAllocationCreateInfo, + suballocType, + 1, // allocationCount + pAllocation); + + if(res >= 0) + { + // 3. Bind image with memory. + if((pAllocationCreateInfo->flags & VMA_ALLOCATION_CREATE_DONT_BIND_BIT) == 0) + { + res = allocator->BindImageMemory(*pAllocation, 0, *pImage, VMA_NULL); + } + if(res >= 0) + { + // All steps succeeded. + #if VMA_STATS_STRING_ENABLED + (*pAllocation)->InitBufferImageUsage(pImageCreateInfo->usage); + #endif + if(pAllocationInfo != VMA_NULL) + { + allocator->GetAllocationInfo(*pAllocation, pAllocationInfo); + } + + return VK_SUCCESS; + } + allocator->FreeMemory( + 1, // allocationCount + pAllocation); + *pAllocation = VK_NULL_HANDLE; + (*allocator->GetVulkanFunctions().vkDestroyImage)(allocator->m_hDevice, *pImage, allocator->GetAllocationCallbacks()); + *pImage = VK_NULL_HANDLE; + return res; + } + (*allocator->GetVulkanFunctions().vkDestroyImage)(allocator->m_hDevice, *pImage, allocator->GetAllocationCallbacks()); + *pImage = VK_NULL_HANDLE; + return res; + } + return res; +} + +VMA_CALL_PRE VkResult VMA_CALL_POST vmaCreateAliasingImage( + VmaAllocator VMA_NOT_NULL allocator, + VmaAllocation VMA_NOT_NULL allocation, + const VkImageCreateInfo* VMA_NOT_NULL pImageCreateInfo, + VkImage VMA_NULLABLE_NON_DISPATCHABLE* VMA_NOT_NULL pImage) +{ + VMA_ASSERT(allocator && pImageCreateInfo && pImage && allocation); + + *pImage = VK_NULL_HANDLE; + + VMA_DEBUG_LOG("vmaCreateImage"); + + if (pImageCreateInfo->extent.width == 0 || + pImageCreateInfo->extent.height == 0 || + pImageCreateInfo->extent.depth == 0 || + pImageCreateInfo->mipLevels == 0 || + pImageCreateInfo->arrayLayers == 0) + { + return VK_ERROR_INITIALIZATION_FAILED; + } + + VMA_DEBUG_GLOBAL_MUTEX_LOCK + + // 1. Create VkImage. + VkResult res = (*allocator->GetVulkanFunctions().vkCreateImage)( + allocator->m_hDevice, + pImageCreateInfo, + allocator->GetAllocationCallbacks(), + pImage); + if (res >= 0) + { + // 2. Bind image with memory. + res = allocator->BindImageMemory(allocation, 0, *pImage, VMA_NULL); + if (res >= 0) + { + return VK_SUCCESS; + } + (*allocator->GetVulkanFunctions().vkDestroyImage)(allocator->m_hDevice, *pImage, allocator->GetAllocationCallbacks()); + } + return res; +} + +VMA_CALL_PRE void VMA_CALL_POST vmaDestroyImage( + VmaAllocator VMA_NOT_NULL allocator, + VkImage VMA_NULLABLE_NON_DISPATCHABLE image, + VmaAllocation VMA_NULLABLE allocation) +{ + VMA_ASSERT(allocator); + + if(image == VK_NULL_HANDLE && allocation == VK_NULL_HANDLE) + { + return; + } + + VMA_DEBUG_LOG("vmaDestroyImage"); + + VMA_DEBUG_GLOBAL_MUTEX_LOCK + + if(image != VK_NULL_HANDLE) + { + (*allocator->GetVulkanFunctions().vkDestroyImage)(allocator->m_hDevice, image, allocator->GetAllocationCallbacks()); + } + if(allocation != VK_NULL_HANDLE) + { + allocator->FreeMemory( + 1, // allocationCount + &allocation); + } +} + +VMA_CALL_PRE VkResult VMA_CALL_POST vmaCreateVirtualBlock( + const VmaVirtualBlockCreateInfo* VMA_NOT_NULL pCreateInfo, + VmaVirtualBlock VMA_NULLABLE * VMA_NOT_NULL pVirtualBlock) +{ + VMA_ASSERT(pCreateInfo && pVirtualBlock); + VMA_ASSERT(pCreateInfo->size > 0); + VMA_DEBUG_LOG("vmaCreateVirtualBlock"); + VMA_DEBUG_GLOBAL_MUTEX_LOCK; + *pVirtualBlock = vma_new(pCreateInfo->pAllocationCallbacks, VmaVirtualBlock_T)(*pCreateInfo); + VkResult res = (*pVirtualBlock)->Init(); + if(res < 0) + { + vma_delete(pCreateInfo->pAllocationCallbacks, *pVirtualBlock); + *pVirtualBlock = VK_NULL_HANDLE; + } + return res; +} + +VMA_CALL_PRE void VMA_CALL_POST vmaDestroyVirtualBlock(VmaVirtualBlock VMA_NULLABLE virtualBlock) +{ + if(virtualBlock != VK_NULL_HANDLE) + { + VMA_DEBUG_LOG("vmaDestroyVirtualBlock"); + VMA_DEBUG_GLOBAL_MUTEX_LOCK; + VkAllocationCallbacks allocationCallbacks = virtualBlock->m_AllocationCallbacks; // Have to copy the callbacks when destroying. + vma_delete(&allocationCallbacks, virtualBlock); + } +} + +VMA_CALL_PRE VkBool32 VMA_CALL_POST vmaIsVirtualBlockEmpty(VmaVirtualBlock VMA_NOT_NULL virtualBlock) +{ + VMA_ASSERT(virtualBlock != VK_NULL_HANDLE); + VMA_DEBUG_LOG("vmaIsVirtualBlockEmpty"); + VMA_DEBUG_GLOBAL_MUTEX_LOCK; + return virtualBlock->IsEmpty() ? VK_TRUE : VK_FALSE; +} + +VMA_CALL_PRE void VMA_CALL_POST vmaGetVirtualAllocationInfo(VmaVirtualBlock VMA_NOT_NULL virtualBlock, + VmaVirtualAllocation VMA_NOT_NULL_NON_DISPATCHABLE allocation, VmaVirtualAllocationInfo* VMA_NOT_NULL pVirtualAllocInfo) +{ + VMA_ASSERT(virtualBlock != VK_NULL_HANDLE && pVirtualAllocInfo != VMA_NULL); + VMA_DEBUG_LOG("vmaGetVirtualAllocationInfo"); + VMA_DEBUG_GLOBAL_MUTEX_LOCK; + virtualBlock->GetAllocationInfo(allocation, *pVirtualAllocInfo); +} + +VMA_CALL_PRE VkResult VMA_CALL_POST vmaVirtualAllocate(VmaVirtualBlock VMA_NOT_NULL virtualBlock, + const VmaVirtualAllocationCreateInfo* VMA_NOT_NULL pCreateInfo, VmaVirtualAllocation VMA_NULLABLE_NON_DISPATCHABLE* VMA_NOT_NULL pAllocation, + VkDeviceSize* VMA_NULLABLE pOffset) +{ + VMA_ASSERT(virtualBlock != VK_NULL_HANDLE && pCreateInfo != VMA_NULL && pAllocation != VMA_NULL); + VMA_DEBUG_LOG("vmaVirtualAllocate"); + VMA_DEBUG_GLOBAL_MUTEX_LOCK; + return virtualBlock->Allocate(*pCreateInfo, *pAllocation, pOffset); +} + +VMA_CALL_PRE void VMA_CALL_POST vmaVirtualFree(VmaVirtualBlock VMA_NOT_NULL virtualBlock, VmaVirtualAllocation VMA_NULLABLE_NON_DISPATCHABLE allocation) +{ + if(allocation != VK_NULL_HANDLE) + { + VMA_ASSERT(virtualBlock != VK_NULL_HANDLE); + VMA_DEBUG_LOG("vmaVirtualFree"); + VMA_DEBUG_GLOBAL_MUTEX_LOCK; + virtualBlock->Free(allocation); + } +} + +VMA_CALL_PRE void VMA_CALL_POST vmaClearVirtualBlock(VmaVirtualBlock VMA_NOT_NULL virtualBlock) +{ + VMA_ASSERT(virtualBlock != VK_NULL_HANDLE); + VMA_DEBUG_LOG("vmaClearVirtualBlock"); + VMA_DEBUG_GLOBAL_MUTEX_LOCK; + virtualBlock->Clear(); +} + +VMA_CALL_PRE void VMA_CALL_POST vmaSetVirtualAllocationUserData(VmaVirtualBlock VMA_NOT_NULL virtualBlock, + VmaVirtualAllocation VMA_NOT_NULL_NON_DISPATCHABLE allocation, void* VMA_NULLABLE pUserData) +{ + VMA_ASSERT(virtualBlock != VK_NULL_HANDLE); + VMA_DEBUG_LOG("vmaSetVirtualAllocationUserData"); + VMA_DEBUG_GLOBAL_MUTEX_LOCK; + virtualBlock->SetAllocationUserData(allocation, pUserData); +} + +VMA_CALL_PRE void VMA_CALL_POST vmaGetVirtualBlockStatistics(VmaVirtualBlock VMA_NOT_NULL virtualBlock, + VmaStatistics* VMA_NOT_NULL pStats) +{ + VMA_ASSERT(virtualBlock != VK_NULL_HANDLE && pStats != VMA_NULL); + VMA_DEBUG_LOG("vmaGetVirtualBlockStatistics"); + VMA_DEBUG_GLOBAL_MUTEX_LOCK; + virtualBlock->GetStatistics(*pStats); +} + +VMA_CALL_PRE void VMA_CALL_POST vmaCalculateVirtualBlockStatistics(VmaVirtualBlock VMA_NOT_NULL virtualBlock, + VmaDetailedStatistics* VMA_NOT_NULL pStats) +{ + VMA_ASSERT(virtualBlock != VK_NULL_HANDLE && pStats != VMA_NULL); + VMA_DEBUG_LOG("vmaCalculateVirtualBlockStatistics"); + VMA_DEBUG_GLOBAL_MUTEX_LOCK; + virtualBlock->CalculateDetailedStatistics(*pStats); +} + +#if VMA_STATS_STRING_ENABLED + +VMA_CALL_PRE void VMA_CALL_POST vmaBuildVirtualBlockStatsString(VmaVirtualBlock VMA_NOT_NULL virtualBlock, + char* VMA_NULLABLE * VMA_NOT_NULL ppStatsString, VkBool32 detailedMap) +{ + VMA_ASSERT(virtualBlock != VK_NULL_HANDLE && ppStatsString != VMA_NULL); + VMA_DEBUG_GLOBAL_MUTEX_LOCK; + const VkAllocationCallbacks* allocationCallbacks = virtualBlock->GetAllocationCallbacks(); + VmaStringBuilder sb(allocationCallbacks); + virtualBlock->BuildStatsString(detailedMap != VK_FALSE, sb); + *ppStatsString = VmaCreateStringCopy(allocationCallbacks, sb.GetData(), sb.GetLength()); +} + +VMA_CALL_PRE void VMA_CALL_POST vmaFreeVirtualBlockStatsString(VmaVirtualBlock VMA_NOT_NULL virtualBlock, + char* VMA_NULLABLE pStatsString) +{ + if(pStatsString != VMA_NULL) + { + VMA_ASSERT(virtualBlock != VK_NULL_HANDLE); + VMA_DEBUG_GLOBAL_MUTEX_LOCK; + VmaFreeString(virtualBlock->GetAllocationCallbacks(), pStatsString); + } +} +#endif // VMA_STATS_STRING_ENABLED +#endif // _VMA_PUBLIC_INTERFACE +#endif // VMA_IMPLEMENTATION + +/** +\page quick_start Quick start + +\section quick_start_project_setup Project setup + +Vulkan Memory Allocator comes in form of a "stb-style" single header file. +You don't need to build it as a separate library project. +You can add this file directly to your project and submit it to code repository next to your other source files. + +"Single header" doesn't mean that everything is contained in C/C++ declarations, +like it tends to be in case of inline functions or C++ templates. +It means that implementation is bundled with interface in a single file and needs to be extracted using preprocessor macro. +If you don't do it properly, you will get linker errors. + +To do it properly: + +-# Include "vk_mem_alloc.h" file in each CPP file where you want to use the library. + This includes declarations of all members of the library. +-# In exactly one CPP file define following macro before this include. + It enables also internal definitions. + +\code +#define VMA_IMPLEMENTATION +#include "vk_mem_alloc.h" +\endcode + +It may be a good idea to create dedicated CPP file just for this purpose. + +This library includes header ``, which in turn +includes `` on Windows. If you need some specific macros defined +before including these headers (like `WIN32_LEAN_AND_MEAN` or +`WINVER` for Windows, `VK_USE_PLATFORM_WIN32_KHR` for Vulkan), you must define +them before every `#include` of this library. + +This library is written in C++, but has C-compatible interface. +Thus you can include and use vk_mem_alloc.h in C or C++ code, but full +implementation with `VMA_IMPLEMENTATION` macro must be compiled as C++, NOT as C. +Some features of C++14 used. STL containers, RTTI, or C++ exceptions are not used. + + +\section quick_start_initialization Initialization + +At program startup: + +-# Initialize Vulkan to have `VkPhysicalDevice`, `VkDevice` and `VkInstance` object. +-# Fill VmaAllocatorCreateInfo structure and create #VmaAllocator object by + calling vmaCreateAllocator(). + +Only members `physicalDevice`, `device`, `instance` are required. +However, you should inform the library which Vulkan version do you use by setting +VmaAllocatorCreateInfo::vulkanApiVersion and which extensions did you enable +by setting VmaAllocatorCreateInfo::flags (like #VMA_ALLOCATOR_CREATE_BUFFER_DEVICE_ADDRESS_BIT for VK_KHR_buffer_device_address). +Otherwise, VMA would use only features of Vulkan 1.0 core with no extensions. + +You may need to configure importing Vulkan functions. There are 3 ways to do this: + +-# **If you link with Vulkan static library** (e.g. "vulkan-1.lib" on Windows): + - You don't need to do anything. + - VMA will use these, as macro `VMA_STATIC_VULKAN_FUNCTIONS` is defined to 1 by default. +-# **If you want VMA to fetch pointers to Vulkan functions dynamically** using `vkGetInstanceProcAddr`, + `vkGetDeviceProcAddr` (this is the option presented in the example below): + - Define `VMA_STATIC_VULKAN_FUNCTIONS` to 0, `VMA_DYNAMIC_VULKAN_FUNCTIONS` to 1. + - Provide pointers to these two functions via VmaVulkanFunctions::vkGetInstanceProcAddr, + VmaVulkanFunctions::vkGetDeviceProcAddr. + - The library will fetch pointers to all other functions it needs internally. +-# **If you fetch pointers to all Vulkan functions in a custom way**, e.g. using some loader like + [Volk](https://github.com/zeux/volk): + - Define `VMA_STATIC_VULKAN_FUNCTIONS` and `VMA_DYNAMIC_VULKAN_FUNCTIONS` to 0. + - Pass these pointers via structure #VmaVulkanFunctions. + +\code +VmaVulkanFunctions vulkanFunctions = {}; +vulkanFunctions.vkGetInstanceProcAddr = &vkGetInstanceProcAddr; +vulkanFunctions.vkGetDeviceProcAddr = &vkGetDeviceProcAddr; + +VmaAllocatorCreateInfo allocatorCreateInfo = {}; +allocatorCreateInfo.vulkanApiVersion = VK_API_VERSION_1_2; +allocatorCreateInfo.physicalDevice = physicalDevice; +allocatorCreateInfo.device = device; +allocatorCreateInfo.instance = instance; +allocatorCreateInfo.pVulkanFunctions = &vulkanFunctions; + +VmaAllocator allocator; +vmaCreateAllocator(&allocatorCreateInfo, &allocator); +\endcode + + +\section quick_start_resource_allocation Resource allocation + +When you want to create a buffer or image: + +-# Fill `VkBufferCreateInfo` / `VkImageCreateInfo` structure. +-# Fill VmaAllocationCreateInfo structure. +-# Call vmaCreateBuffer() / vmaCreateImage() to get `VkBuffer`/`VkImage` with memory + already allocated and bound to it, plus #VmaAllocation objects that represents its underlying memory. + +\code +VkBufferCreateInfo bufferInfo = { VK_STRUCTURE_TYPE_BUFFER_CREATE_INFO }; +bufferInfo.size = 65536; +bufferInfo.usage = VK_BUFFER_USAGE_VERTEX_BUFFER_BIT | VK_BUFFER_USAGE_TRANSFER_DST_BIT; + +VmaAllocationCreateInfo allocInfo = {}; +allocInfo.usage = VMA_MEMORY_USAGE_AUTO; + +VkBuffer buffer; +VmaAllocation allocation; +vmaCreateBuffer(allocator, &bufferInfo, &allocInfo, &buffer, &allocation, nullptr); +\endcode + +Don't forget to destroy your objects when no longer needed: + +\code +vmaDestroyBuffer(allocator, buffer, allocation); +vmaDestroyAllocator(allocator); +\endcode + + +\page choosing_memory_type Choosing memory type + +Physical devices in Vulkan support various combinations of memory heaps and +types. Help with choosing correct and optimal memory type for your specific +resource is one of the key features of this library. You can use it by filling +appropriate members of VmaAllocationCreateInfo structure, as described below. +You can also combine multiple methods. + +-# If you just want to find memory type index that meets your requirements, you + can use function: vmaFindMemoryTypeIndexForBufferInfo(), + vmaFindMemoryTypeIndexForImageInfo(), vmaFindMemoryTypeIndex(). +-# If you want to allocate a region of device memory without association with any + specific image or buffer, you can use function vmaAllocateMemory(). Usage of + this function is not recommended and usually not needed. + vmaAllocateMemoryPages() function is also provided for creating multiple allocations at once, + which may be useful for sparse binding. +-# If you already have a buffer or an image created, you want to allocate memory + for it and then you will bind it yourself, you can use function + vmaAllocateMemoryForBuffer(), vmaAllocateMemoryForImage(). + For binding you should use functions: vmaBindBufferMemory(), vmaBindImageMemory() + or their extended versions: vmaBindBufferMemory2(), vmaBindImageMemory2(). +-# **This is the easiest and recommended way to use this library:** + If you want to create a buffer or an image, allocate memory for it and bind + them together, all in one call, you can use function vmaCreateBuffer(), + vmaCreateImage(). + +When using 3. or 4., the library internally queries Vulkan for memory types +supported for that buffer or image (function `vkGetBufferMemoryRequirements()`) +and uses only one of these types. + +If no memory type can be found that meets all the requirements, these functions +return `VK_ERROR_FEATURE_NOT_PRESENT`. + +You can leave VmaAllocationCreateInfo structure completely filled with zeros. +It means no requirements are specified for memory type. +It is valid, although not very useful. + +\section choosing_memory_type_usage Usage + +The easiest way to specify memory requirements is to fill member +VmaAllocationCreateInfo::usage using one of the values of enum #VmaMemoryUsage. +It defines high level, common usage types. +Since version 3 of the library, it is recommended to use #VMA_MEMORY_USAGE_AUTO to let it select best memory type for your resource automatically. + +For example, if you want to create a uniform buffer that will be filled using +transfer only once or infrequently and then used for rendering every frame as a uniform buffer, you can +do it using following code. The buffer will most likely end up in a memory type with +`VK_MEMORY_PROPERTY_DEVICE_LOCAL_BIT` to be fast to access by the GPU device. + +\code +VkBufferCreateInfo bufferInfo = { VK_STRUCTURE_TYPE_BUFFER_CREATE_INFO }; +bufferInfo.size = 65536; +bufferInfo.usage = VK_BUFFER_USAGE_UNIFORM_BUFFER_BIT | VK_BUFFER_USAGE_TRANSFER_DST_BIT; + +VmaAllocationCreateInfo allocInfo = {}; +allocInfo.usage = VMA_MEMORY_USAGE_AUTO; + +VkBuffer buffer; +VmaAllocation allocation; +vmaCreateBuffer(allocator, &bufferInfo, &allocInfo, &buffer, &allocation, nullptr); +\endcode + +If you have a preference for putting the resource in GPU (device) memory or CPU (host) memory +on systems with discrete graphics card that have the memories separate, you can use +#VMA_MEMORY_USAGE_AUTO_PREFER_DEVICE or #VMA_MEMORY_USAGE_AUTO_PREFER_HOST. + +When using `VMA_MEMORY_USAGE_AUTO*` while you want to map the allocated memory, +you also need to specify one of the host access flags: +#VMA_ALLOCATION_CREATE_HOST_ACCESS_SEQUENTIAL_WRITE_BIT or #VMA_ALLOCATION_CREATE_HOST_ACCESS_RANDOM_BIT. +This will help the library decide about preferred memory type to ensure it has `VK_MEMORY_PROPERTY_HOST_VISIBLE_BIT` +so you can map it. + +For example, a staging buffer that will be filled via mapped pointer and then +used as a source of transfer to the buffer decribed previously can be created like this. +It will likely and up in a memory type that is `HOST_VISIBLE` and `HOST_COHERENT` +but not `HOST_CACHED` (meaning uncached, write-combined) and not `DEVICE_LOCAL` (meaning system RAM). + +\code +VkBufferCreateInfo stagingBufferInfo = { VK_STRUCTURE_TYPE_BUFFER_CREATE_INFO }; +stagingBufferInfo.size = 65536; +stagingBufferInfo.usage = VK_BUFFER_USAGE_TRANSFER_SRC_BIT; + +VmaAllocationCreateInfo stagingAllocInfo = {}; +stagingAllocInfo.usage = VMA_MEMORY_USAGE_AUTO; +stagingAllocInfo.flags = VMA_ALLOCATION_CREATE_HOST_ACCESS_SEQUENTIAL_WRITE_BIT; + +VkBuffer stagingBuffer; +VmaAllocation stagingAllocation; +vmaCreateBuffer(allocator, &stagingBufferInfo, &stagingAllocInfo, &stagingBuffer, &stagingAllocation, nullptr); +\endcode + +For more examples of creating different kinds of resources, see chapter \ref usage_patterns. + +Usage values `VMA_MEMORY_USAGE_AUTO*` are legal to use only when the library knows +about the resource being created by having `VkBufferCreateInfo` / `VkImageCreateInfo` passed, +so they work with functions like: vmaCreateBuffer(), vmaCreateImage(), vmaFindMemoryTypeIndexForBufferInfo() etc. +If you allocate raw memory using function vmaAllocateMemory(), you have to use other means of selecting +memory type, as decribed below. + +\note +Old usage values (`VMA_MEMORY_USAGE_GPU_ONLY`, `VMA_MEMORY_USAGE_CPU_ONLY`, +`VMA_MEMORY_USAGE_CPU_TO_GPU`, `VMA_MEMORY_USAGE_GPU_TO_CPU`, `VMA_MEMORY_USAGE_CPU_COPY`) +are still available and work same way as in previous versions of the library +for backward compatibility, but they are not recommended. + +\section choosing_memory_type_required_preferred_flags Required and preferred flags + +You can specify more detailed requirements by filling members +VmaAllocationCreateInfo::requiredFlags and VmaAllocationCreateInfo::preferredFlags +with a combination of bits from enum `VkMemoryPropertyFlags`. For example, +if you want to create a buffer that will be persistently mapped on host (so it +must be `HOST_VISIBLE`) and preferably will also be `HOST_COHERENT` and `HOST_CACHED`, +use following code: + +\code +VmaAllocationCreateInfo allocInfo = {}; +allocInfo.requiredFlags = VK_MEMORY_PROPERTY_HOST_VISIBLE_BIT; +allocInfo.preferredFlags = VK_MEMORY_PROPERTY_HOST_COHERENT_BIT | VK_MEMORY_PROPERTY_HOST_CACHED_BIT; +allocInfo.flags = VMA_ALLOCATION_CREATE_HOST_ACCESS_RANDOM_BIT | VMA_ALLOCATION_CREATE_MAPPED_BIT; + +VkBuffer buffer; +VmaAllocation allocation; +vmaCreateBuffer(allocator, &bufferInfo, &allocInfo, &buffer, &allocation, nullptr); +\endcode + +A memory type is chosen that has all the required flags and as many preferred +flags set as possible. + +Value passed in VmaAllocationCreateInfo::usage is internally converted to a set of required and preferred flags, +plus some extra "magic" (heuristics). + +\section choosing_memory_type_explicit_memory_types Explicit memory types + +If you inspected memory types available on the physical device and you have +a preference for memory types that you want to use, you can fill member +VmaAllocationCreateInfo::memoryTypeBits. It is a bit mask, where each bit set +means that a memory type with that index is allowed to be used for the +allocation. Special value 0, just like `UINT32_MAX`, means there are no +restrictions to memory type index. + +Please note that this member is NOT just a memory type index. +Still you can use it to choose just one, specific memory type. +For example, if you already determined that your buffer should be created in +memory type 2, use following code: + +\code +uint32_t memoryTypeIndex = 2; + +VmaAllocationCreateInfo allocInfo = {}; +allocInfo.memoryTypeBits = 1u << memoryTypeIndex; + +VkBuffer buffer; +VmaAllocation allocation; +vmaCreateBuffer(allocator, &bufferInfo, &allocInfo, &buffer, &allocation, nullptr); +\endcode + + +\section choosing_memory_type_custom_memory_pools Custom memory pools + +If you allocate from custom memory pool, all the ways of specifying memory +requirements described above are not applicable and the aforementioned members +of VmaAllocationCreateInfo structure are ignored. Memory type is selected +explicitly when creating the pool and then used to make all the allocations from +that pool. For further details, see \ref custom_memory_pools. + +\section choosing_memory_type_dedicated_allocations Dedicated allocations + +Memory for allocations is reserved out of larger block of `VkDeviceMemory` +allocated from Vulkan internally. That is the main feature of this whole library. +You can still request a separate memory block to be created for an allocation, +just like you would do in a trivial solution without using any allocator. +In that case, a buffer or image is always bound to that memory at offset 0. +This is called a "dedicated allocation". +You can explicitly request it by using flag #VMA_ALLOCATION_CREATE_DEDICATED_MEMORY_BIT. +The library can also internally decide to use dedicated allocation in some cases, e.g.: + +- When the size of the allocation is large. +- When [VK_KHR_dedicated_allocation](@ref vk_khr_dedicated_allocation) extension is enabled + and it reports that dedicated allocation is required or recommended for the resource. +- When allocation of next big memory block fails due to not enough device memory, + but allocation with the exact requested size succeeds. + + +\page memory_mapping Memory mapping + +To "map memory" in Vulkan means to obtain a CPU pointer to `VkDeviceMemory`, +to be able to read from it or write to it in CPU code. +Mapping is possible only of memory allocated from a memory type that has +`VK_MEMORY_PROPERTY_HOST_VISIBLE_BIT` flag. +Functions `vkMapMemory()`, `vkUnmapMemory()` are designed for this purpose. +You can use them directly with memory allocated by this library, +but it is not recommended because of following issue: +Mapping the same `VkDeviceMemory` block multiple times is illegal - only one mapping at a time is allowed. +This includes mapping disjoint regions. Mapping is not reference-counted internally by Vulkan. +Because of this, Vulkan Memory Allocator provides following facilities: + +\note If you want to be able to map an allocation, you need to specify one of the flags +#VMA_ALLOCATION_CREATE_HOST_ACCESS_SEQUENTIAL_WRITE_BIT or #VMA_ALLOCATION_CREATE_HOST_ACCESS_RANDOM_BIT +in VmaAllocationCreateInfo::flags. These flags are required for an allocation to be mappable +when using #VMA_MEMORY_USAGE_AUTO or other `VMA_MEMORY_USAGE_AUTO*` enum values. +For other usage values they are ignored and every such allocation made in `HOST_VISIBLE` memory type is mappable, +but they can still be used for consistency. + +\section memory_mapping_mapping_functions Mapping functions + +The library provides following functions for mapping of a specific #VmaAllocation: vmaMapMemory(), vmaUnmapMemory(). +They are safer and more convenient to use than standard Vulkan functions. +You can map an allocation multiple times simultaneously - mapping is reference-counted internally. +You can also map different allocations simultaneously regardless of whether they use the same `VkDeviceMemory` block. +The way it is implemented is that the library always maps entire memory block, not just region of the allocation. +For further details, see description of vmaMapMemory() function. +Example: + +\code +// Having these objects initialized: +struct ConstantBuffer +{ + ... +}; +ConstantBuffer constantBufferData = ... + +VmaAllocator allocator = ... +VkBuffer constantBuffer = ... +VmaAllocation constantBufferAllocation = ... + +// You can map and fill your buffer using following code: + +void* mappedData; +vmaMapMemory(allocator, constantBufferAllocation, &mappedData); +memcpy(mappedData, &constantBufferData, sizeof(constantBufferData)); +vmaUnmapMemory(allocator, constantBufferAllocation); +\endcode + +When mapping, you may see a warning from Vulkan validation layer similar to this one: + +Mapping an image with layout VK_IMAGE_LAYOUT_DEPTH_STENCIL_ATTACHMENT_OPTIMAL can result in undefined behavior if this memory is used by the device. Only GENERAL or PREINITIALIZED should be used. + +It happens because the library maps entire `VkDeviceMemory` block, where different +types of images and buffers may end up together, especially on GPUs with unified memory like Intel. +You can safely ignore it if you are sure you access only memory of the intended +object that you wanted to map. + + +\section memory_mapping_persistently_mapped_memory Persistently mapped memory + +Kepping your memory persistently mapped is generally OK in Vulkan. +You don't need to unmap it before using its data on the GPU. +The library provides a special feature designed for that: +Allocations made with #VMA_ALLOCATION_CREATE_MAPPED_BIT flag set in +VmaAllocationCreateInfo::flags stay mapped all the time, +so you can just access CPU pointer to it any time +without a need to call any "map" or "unmap" function. +Example: + +\code +VkBufferCreateInfo bufCreateInfo = { VK_STRUCTURE_TYPE_BUFFER_CREATE_INFO }; +bufCreateInfo.size = sizeof(ConstantBuffer); +bufCreateInfo.usage = VK_BUFFER_USAGE_TRANSFER_SRC_BIT; + +VmaAllocationCreateInfo allocCreateInfo = {}; +allocCreateInfo.usage = VMA_MEMORY_USAGE_AUTO; +allocCreateInfo.flags = VMA_ALLOCATION_CREATE_HOST_ACCESS_SEQUENTIAL_WRITE_BIT | + VMA_ALLOCATION_CREATE_MAPPED_BIT; + +VkBuffer buf; +VmaAllocation alloc; +VmaAllocationInfo allocInfo; +vmaCreateBuffer(allocator, &bufCreateInfo, &allocCreateInfo, &buf, &alloc, &allocInfo); + +// Buffer is already mapped. You can access its memory. +memcpy(allocInfo.pMappedData, &constantBufferData, sizeof(constantBufferData)); +\endcode + +\note #VMA_ALLOCATION_CREATE_MAPPED_BIT by itself doesn't guarantee that the allocation will end up +in a mappable memory type. +For this, you need to also specify #VMA_ALLOCATION_CREATE_HOST_ACCESS_SEQUENTIAL_WRITE_BIT or +#VMA_ALLOCATION_CREATE_HOST_ACCESS_RANDOM_BIT. +#VMA_ALLOCATION_CREATE_MAPPED_BIT only guarantees that if the memory is `HOST_VISIBLE`, the allocation will be mapped on creation. +For an example of how to make use of this fact, see section \ref usage_patterns_advanced_data_uploading. + +\section memory_mapping_cache_control Cache flush and invalidate + +Memory in Vulkan doesn't need to be unmapped before using it on GPU, +but unless a memory types has `VK_MEMORY_PROPERTY_HOST_COHERENT_BIT` flag set, +you need to manually **invalidate** cache before reading of mapped pointer +and **flush** cache after writing to mapped pointer. +Map/unmap operations don't do that automatically. +Vulkan provides following functions for this purpose `vkFlushMappedMemoryRanges()`, +`vkInvalidateMappedMemoryRanges()`, but this library provides more convenient +functions that refer to given allocation object: vmaFlushAllocation(), +vmaInvalidateAllocation(), +or multiple objects at once: vmaFlushAllocations(), vmaInvalidateAllocations(). + +Regions of memory specified for flush/invalidate must be aligned to +`VkPhysicalDeviceLimits::nonCoherentAtomSize`. This is automatically ensured by the library. +In any memory type that is `HOST_VISIBLE` but not `HOST_COHERENT`, all allocations +within blocks are aligned to this value, so their offsets are always multiply of +`nonCoherentAtomSize` and two different allocations never share same "line" of this size. + +Also, Windows drivers from all 3 PC GPU vendors (AMD, Intel, NVIDIA) +currently provide `HOST_COHERENT` flag on all memory types that are +`HOST_VISIBLE`, so on PC you may not need to bother. + + +\page staying_within_budget Staying within budget + +When developing a graphics-intensive game or program, it is important to avoid allocating +more GPU memory than it is physically available. When the memory is over-committed, +various bad things can happen, depending on the specific GPU, graphics driver, and +operating system: + +- It may just work without any problems. +- The application may slow down because some memory blocks are moved to system RAM + and the GPU has to access them through PCI Express bus. +- A new allocation may take very long time to complete, even few seconds, and possibly + freeze entire system. +- The new allocation may fail with `VK_ERROR_OUT_OF_DEVICE_MEMORY`. +- It may even result in GPU crash (TDR), observed as `VK_ERROR_DEVICE_LOST` + returned somewhere later. + +\section staying_within_budget_querying_for_budget Querying for budget + +To query for current memory usage and available budget, use function vmaGetHeapBudgets(). +Returned structure #VmaBudget contains quantities expressed in bytes, per Vulkan memory heap. + +Please note that this function returns different information and works faster than +vmaCalculateStatistics(). vmaGetHeapBudgets() can be called every frame or even before every +allocation, while vmaCalculateStatistics() is intended to be used rarely, +only to obtain statistical information, e.g. for debugging purposes. + +It is recommended to use VK_EXT_memory_budget device extension to obtain information +about the budget from Vulkan device. VMA is able to use this extension automatically. +When not enabled, the allocator behaves same way, but then it estimates current usage +and available budget based on its internal information and Vulkan memory heap sizes, +which may be less precise. In order to use this extension: + +1. Make sure extensions VK_EXT_memory_budget and VK_KHR_get_physical_device_properties2 + required by it are available and enable them. Please note that the first is a device + extension and the second is instance extension! +2. Use flag #VMA_ALLOCATOR_CREATE_EXT_MEMORY_BUDGET_BIT when creating #VmaAllocator object. +3. Make sure to call vmaSetCurrentFrameIndex() every frame. Budget is queried from + Vulkan inside of it to avoid overhead of querying it with every allocation. + +\section staying_within_budget_controlling_memory_usage Controlling memory usage + +There are many ways in which you can try to stay within the budget. + +First, when making new allocation requires allocating a new memory block, the library +tries not to exceed the budget automatically. If a block with default recommended size +(e.g. 256 MB) would go over budget, a smaller block is allocated, possibly even +dedicated memory for just this resource. + +If the size of the requested resource plus current memory usage is more than the +budget, by default the library still tries to create it, leaving it to the Vulkan +implementation whether the allocation succeeds or fails. You can change this behavior +by using #VMA_ALLOCATION_CREATE_WITHIN_BUDGET_BIT flag. With it, the allocation is +not made if it would exceed the budget or if the budget is already exceeded. +VMA then tries to make the allocation from the next eligible Vulkan memory type. +The all of them fail, the call then fails with `VK_ERROR_OUT_OF_DEVICE_MEMORY`. +Example usage pattern may be to pass the #VMA_ALLOCATION_CREATE_WITHIN_BUDGET_BIT flag +when creating resources that are not essential for the application (e.g. the texture +of a specific object) and not to pass it when creating critically important resources +(e.g. render targets). + +On AMD graphics cards there is a custom vendor extension available: VK_AMD_memory_overallocation_behavior +that allows to control the behavior of the Vulkan implementation in out-of-memory cases - +whether it should fail with an error code or still allow the allocation. +Usage of this extension involves only passing extra structure on Vulkan device creation, +so it is out of scope of this library. + +Finally, you can also use #VMA_ALLOCATION_CREATE_NEVER_ALLOCATE_BIT flag to make sure +a new allocation is created only when it fits inside one of the existing memory blocks. +If it would require to allocate a new block, if fails instead with `VK_ERROR_OUT_OF_DEVICE_MEMORY`. +This also ensures that the function call is very fast because it never goes to Vulkan +to obtain a new block. + +\note Creating \ref custom_memory_pools with VmaPoolCreateInfo::minBlockCount +set to more than 0 will currently try to allocate memory blocks without checking whether they +fit within budget. + + +\page resource_aliasing Resource aliasing (overlap) + +New explicit graphics APIs (Vulkan and Direct3D 12), thanks to manual memory +management, give an opportunity to alias (overlap) multiple resources in the +same region of memory - a feature not available in the old APIs (Direct3D 11, OpenGL). +It can be useful to save video memory, but it must be used with caution. + +For example, if you know the flow of your whole render frame in advance, you +are going to use some intermediate textures or buffers only during a small range of render passes, +and you know these ranges don't overlap in time, you can bind these resources to +the same place in memory, even if they have completely different parameters (width, height, format etc.). + +![Resource aliasing (overlap)](../gfx/Aliasing.png) + +Such scenario is possible using VMA, but you need to create your images manually. +Then you need to calculate parameters of an allocation to be made using formula: + +- allocation size = max(size of each image) +- allocation alignment = max(alignment of each image) +- allocation memoryTypeBits = bitwise AND(memoryTypeBits of each image) + +Following example shows two different images bound to the same place in memory, +allocated to fit largest of them. + +\code +// A 512x512 texture to be sampled. +VkImageCreateInfo img1CreateInfo = { VK_STRUCTURE_TYPE_IMAGE_CREATE_INFO }; +img1CreateInfo.imageType = VK_IMAGE_TYPE_2D; +img1CreateInfo.extent.width = 512; +img1CreateInfo.extent.height = 512; +img1CreateInfo.extent.depth = 1; +img1CreateInfo.mipLevels = 10; +img1CreateInfo.arrayLayers = 1; +img1CreateInfo.format = VK_FORMAT_R8G8B8A8_SRGB; +img1CreateInfo.tiling = VK_IMAGE_TILING_OPTIMAL; +img1CreateInfo.initialLayout = VK_IMAGE_LAYOUT_UNDEFINED; +img1CreateInfo.usage = VK_IMAGE_USAGE_TRANSFER_DST_BIT | VK_IMAGE_USAGE_SAMPLED_BIT; +img1CreateInfo.samples = VK_SAMPLE_COUNT_1_BIT; + +// A full screen texture to be used as color attachment. +VkImageCreateInfo img2CreateInfo = { VK_STRUCTURE_TYPE_IMAGE_CREATE_INFO }; +img2CreateInfo.imageType = VK_IMAGE_TYPE_2D; +img2CreateInfo.extent.width = 1920; +img2CreateInfo.extent.height = 1080; +img2CreateInfo.extent.depth = 1; +img2CreateInfo.mipLevels = 1; +img2CreateInfo.arrayLayers = 1; +img2CreateInfo.format = VK_FORMAT_R8G8B8A8_UNORM; +img2CreateInfo.tiling = VK_IMAGE_TILING_OPTIMAL; +img2CreateInfo.initialLayout = VK_IMAGE_LAYOUT_UNDEFINED; +img2CreateInfo.usage = VK_IMAGE_USAGE_SAMPLED_BIT | VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT; +img2CreateInfo.samples = VK_SAMPLE_COUNT_1_BIT; + +VkImage img1; +res = vkCreateImage(device, &img1CreateInfo, nullptr, &img1); +VkImage img2; +res = vkCreateImage(device, &img2CreateInfo, nullptr, &img2); + +VkMemoryRequirements img1MemReq; +vkGetImageMemoryRequirements(device, img1, &img1MemReq); +VkMemoryRequirements img2MemReq; +vkGetImageMemoryRequirements(device, img2, &img2MemReq); + +VkMemoryRequirements finalMemReq = {}; +finalMemReq.size = std::max(img1MemReq.size, img2MemReq.size); +finalMemReq.alignment = std::max(img1MemReq.alignment, img2MemReq.alignment); +finalMemReq.memoryTypeBits = img1MemReq.memoryTypeBits & img2MemReq.memoryTypeBits; +// Validate if(finalMemReq.memoryTypeBits != 0) + +VmaAllocationCreateInfo allocCreateInfo = {}; +allocCreateInfo.preferredFlags = VK_MEMORY_PROPERTY_DEVICE_LOCAL_BIT; + +VmaAllocation alloc; +res = vmaAllocateMemory(allocator, &finalMemReq, &allocCreateInfo, &alloc, nullptr); + +res = vmaBindImageMemory(allocator, alloc, img1); +res = vmaBindImageMemory(allocator, alloc, img2); + +// You can use img1, img2 here, but not at the same time! + +vmaFreeMemory(allocator, alloc); +vkDestroyImage(allocator, img2, nullptr); +vkDestroyImage(allocator, img1, nullptr); +\endcode + +Remember that using resources that alias in memory requires proper synchronization. +You need to issue a memory barrier to make sure commands that use `img1` and `img2` +don't overlap on GPU timeline. +You also need to treat a resource after aliasing as uninitialized - containing garbage data. +For example, if you use `img1` and then want to use `img2`, you need to issue +an image memory barrier for `img2` with `oldLayout` = `VK_IMAGE_LAYOUT_UNDEFINED`. + +Additional considerations: + +- Vulkan also allows to interpret contents of memory between aliasing resources consistently in some cases. +See chapter 11.8. "Memory Aliasing" of Vulkan specification or `VK_IMAGE_CREATE_ALIAS_BIT` flag. +- You can create more complex layout where different images and buffers are bound +at different offsets inside one large allocation. For example, one can imagine +a big texture used in some render passes, aliasing with a set of many small buffers +used between in some further passes. To bind a resource at non-zero offset in an allocation, +use vmaBindBufferMemory2() / vmaBindImageMemory2(). +- Before allocating memory for the resources you want to alias, check `memoryTypeBits` +returned in memory requirements of each resource to make sure the bits overlap. +Some GPUs may expose multiple memory types suitable e.g. only for buffers or +images with `COLOR_ATTACHMENT` usage, so the sets of memory types supported by your +resources may be disjoint. Aliasing them is not possible in that case. + + +\page custom_memory_pools Custom memory pools + +A memory pool contains a number of `VkDeviceMemory` blocks. +The library automatically creates and manages default pool for each memory type available on the device. +Default memory pool automatically grows in size. +Size of allocated blocks is also variable and managed automatically. + +You can create custom pool and allocate memory out of it. +It can be useful if you want to: + +- Keep certain kind of allocations separate from others. +- Enforce particular, fixed size of Vulkan memory blocks. +- Limit maximum amount of Vulkan memory allocated for that pool. +- Reserve minimum or fixed amount of Vulkan memory always preallocated for that pool. +- Use extra parameters for a set of your allocations that are available in #VmaPoolCreateInfo but not in + #VmaAllocationCreateInfo - e.g., custom minimum alignment, custom `pNext` chain. +- Perform defragmentation on a specific subset of your allocations. + +To use custom memory pools: + +-# Fill VmaPoolCreateInfo structure. +-# Call vmaCreatePool() to obtain #VmaPool handle. +-# When making an allocation, set VmaAllocationCreateInfo::pool to this handle. + You don't need to specify any other parameters of this structure, like `usage`. + +Example: + +\code +// Find memoryTypeIndex for the pool. +VkBufferCreateInfo sampleBufCreateInfo = { VK_STRUCTURE_TYPE_BUFFER_CREATE_INFO }; +sampleBufCreateInfo.size = 0x10000; // Doesn't matter. +sampleBufCreateInfo.usage = VK_BUFFER_USAGE_UNIFORM_BUFFER_BIT | VK_BUFFER_USAGE_TRANSFER_DST_BIT; + +VmaAllocationCreateInfo sampleAllocCreateInfo = {}; +sampleAllocCreateInfo.usage = VMA_MEMORY_USAGE_AUTO; + +uint32_t memTypeIndex; +VkResult res = vmaFindMemoryTypeIndexForBufferInfo(allocator, + &sampleBufCreateInfo, &sampleAllocCreateInfo, &memTypeIndex); +// Check res... + +// Create a pool that can have at most 2 blocks, 128 MiB each. +VmaPoolCreateInfo poolCreateInfo = {}; +poolCreateInfo.memoryTypeIndex = memTypeIndex; +poolCreateInfo.blockSize = 128ull * 1024 * 1024; +poolCreateInfo.maxBlockCount = 2; + +VmaPool pool; +res = vmaCreatePool(allocator, &poolCreateInfo, &pool); +// Check res... + +// Allocate a buffer out of it. +VkBufferCreateInfo bufCreateInfo = { VK_STRUCTURE_TYPE_BUFFER_CREATE_INFO }; +bufCreateInfo.size = 1024; +bufCreateInfo.usage = VK_BUFFER_USAGE_UNIFORM_BUFFER_BIT | VK_BUFFER_USAGE_TRANSFER_DST_BIT; + +VmaAllocationCreateInfo allocCreateInfo = {}; +allocCreateInfo.pool = pool; + +VkBuffer buf; +VmaAllocation alloc; +res = vmaCreateBuffer(allocator, &bufCreateInfo, &allocCreateInfo, &buf, &alloc, nullptr); +// Check res... +\endcode + +You have to free all allocations made from this pool before destroying it. + +\code +vmaDestroyBuffer(allocator, buf, alloc); +vmaDestroyPool(allocator, pool); +\endcode + +New versions of this library support creating dedicated allocations in custom pools. +It is supported only when VmaPoolCreateInfo::blockSize = 0. +To use this feature, set VmaAllocationCreateInfo::pool to the pointer to your custom pool and +VmaAllocationCreateInfo::flags to #VMA_ALLOCATION_CREATE_DEDICATED_MEMORY_BIT. + +\note Excessive use of custom pools is a common mistake when using this library. +Custom pools may be useful for special purposes - when you want to +keep certain type of resources separate e.g. to reserve minimum amount of memory +for them or limit maximum amount of memory they can occupy. For most +resources this is not needed and so it is not recommended to create #VmaPool +objects and allocations out of them. Allocating from the default pool is sufficient. + + +\section custom_memory_pools_MemTypeIndex Choosing memory type index + +When creating a pool, you must explicitly specify memory type index. +To find the one suitable for your buffers or images, you can use helper functions +vmaFindMemoryTypeIndexForBufferInfo(), vmaFindMemoryTypeIndexForImageInfo(). +You need to provide structures with example parameters of buffers or images +that you are going to create in that pool. + +\code +VkBufferCreateInfo exampleBufCreateInfo = { VK_STRUCTURE_TYPE_BUFFER_CREATE_INFO }; +exampleBufCreateInfo.size = 1024; // Doesn't matter +exampleBufCreateInfo.usage = VK_BUFFER_USAGE_UNIFORM_BUFFER_BIT | VK_BUFFER_USAGE_TRANSFER_DST_BIT; + +VmaAllocationCreateInfo allocCreateInfo = {}; +allocCreateInfo.usage = VMA_MEMORY_USAGE_AUTO; + +uint32_t memTypeIndex; +vmaFindMemoryTypeIndexForBufferInfo(allocator, &exampleBufCreateInfo, &allocCreateInfo, &memTypeIndex); + +VmaPoolCreateInfo poolCreateInfo = {}; +poolCreateInfo.memoryTypeIndex = memTypeIndex; +// ... +\endcode + +When creating buffers/images allocated in that pool, provide following parameters: + +- `VkBufferCreateInfo`: Prefer to pass same parameters as above. + Otherwise you risk creating resources in a memory type that is not suitable for them, which may result in undefined behavior. + Using different `VK_BUFFER_USAGE_` flags may work, but you shouldn't create images in a pool intended for buffers + or the other way around. +- VmaAllocationCreateInfo: You don't need to pass same parameters. Fill only `pool` member. + Other members are ignored anyway. + +\section linear_algorithm Linear allocation algorithm + +Each Vulkan memory block managed by this library has accompanying metadata that +keeps track of used and unused regions. By default, the metadata structure and +algorithm tries to find best place for new allocations among free regions to +optimize memory usage. This way you can allocate and free objects in any order. + +![Default allocation algorithm](../gfx/Linear_allocator_1_algo_default.png) + +Sometimes there is a need to use simpler, linear allocation algorithm. You can +create custom pool that uses such algorithm by adding flag +#VMA_POOL_CREATE_LINEAR_ALGORITHM_BIT to VmaPoolCreateInfo::flags while creating +#VmaPool object. Then an alternative metadata management is used. It always +creates new allocations after last one and doesn't reuse free regions after +allocations freed in the middle. It results in better allocation performance and +less memory consumed by metadata. + +![Linear allocation algorithm](../gfx/Linear_allocator_2_algo_linear.png) + +With this one flag, you can create a custom pool that can be used in many ways: +free-at-once, stack, double stack, and ring buffer. See below for details. +You don't need to specify explicitly which of these options you are going to use - it is detected automatically. + +\subsection linear_algorithm_free_at_once Free-at-once + +In a pool that uses linear algorithm, you still need to free all the allocations +individually, e.g. by using vmaFreeMemory() or vmaDestroyBuffer(). You can free +them in any order. New allocations are always made after last one - free space +in the middle is not reused. However, when you release all the allocation and +the pool becomes empty, allocation starts from the beginning again. This way you +can use linear algorithm to speed up creation of allocations that you are going +to release all at once. + +![Free-at-once](../gfx/Linear_allocator_3_free_at_once.png) + +This mode is also available for pools created with VmaPoolCreateInfo::maxBlockCount +value that allows multiple memory blocks. + +\subsection linear_algorithm_stack Stack + +When you free an allocation that was created last, its space can be reused. +Thanks to this, if you always release allocations in the order opposite to their +creation (LIFO - Last In First Out), you can achieve behavior of a stack. + +![Stack](../gfx/Linear_allocator_4_stack.png) + +This mode is also available for pools created with VmaPoolCreateInfo::maxBlockCount +value that allows multiple memory blocks. + +\subsection linear_algorithm_double_stack Double stack + +The space reserved by a custom pool with linear algorithm may be used by two +stacks: + +- First, default one, growing up from offset 0. +- Second, "upper" one, growing down from the end towards lower offsets. + +To make allocation from the upper stack, add flag #VMA_ALLOCATION_CREATE_UPPER_ADDRESS_BIT +to VmaAllocationCreateInfo::flags. + +![Double stack](../gfx/Linear_allocator_7_double_stack.png) + +Double stack is available only in pools with one memory block - +VmaPoolCreateInfo::maxBlockCount must be 1. Otherwise behavior is undefined. + +When the two stacks' ends meet so there is not enough space between them for a +new allocation, such allocation fails with usual +`VK_ERROR_OUT_OF_DEVICE_MEMORY` error. + +\subsection linear_algorithm_ring_buffer Ring buffer + +When you free some allocations from the beginning and there is not enough free space +for a new one at the end of a pool, allocator's "cursor" wraps around to the +beginning and starts allocation there. Thanks to this, if you always release +allocations in the same order as you created them (FIFO - First In First Out), +you can achieve behavior of a ring buffer / queue. + +![Ring buffer](../gfx/Linear_allocator_5_ring_buffer.png) + +Ring buffer is available only in pools with one memory block - +VmaPoolCreateInfo::maxBlockCount must be 1. Otherwise behavior is undefined. + +\note \ref defragmentation is not supported in custom pools created with #VMA_POOL_CREATE_LINEAR_ALGORITHM_BIT. + + +\page defragmentation Defragmentation + +Interleaved allocations and deallocations of many objects of varying size can +cause fragmentation over time, which can lead to a situation where the library is unable +to find a continuous range of free memory for a new allocation despite there is +enough free space, just scattered across many small free ranges between existing +allocations. + +To mitigate this problem, you can use defragmentation feature. +It doesn't happen automatically though and needs your cooperation, +because VMA is a low level library that only allocates memory. +It cannot recreate buffers and images in a new place as it doesn't remember the contents of `VkBufferCreateInfo` / `VkImageCreateInfo` structures. +It cannot copy their contents as it doesn't record any commands to a command buffer. + +Example: + +\code +VmaDefragmentationInfo defragInfo = {}; +defragInfo.pool = myPool; +defragInfo.flags = VMA_DEFRAGMENTATION_FLAG_ALGORITHM_FAST_BIT; + +VmaDefragmentationContext defragCtx; +VkResult res = vmaBeginDefragmentation(allocator, &defragInfo, &defragCtx); +// Check res... + +for(;;) +{ + VmaDefragmentationPassMoveInfo pass; + res = vmaBeginDefragmentationPass(allocator, defragCtx, &pass); + if(res == VK_SUCCESS) + break; + else if(res != VK_INCOMPLETE) + // Handle error... + + for(uint32_t i = 0; i < pass.moveCount; ++i) + { + // Inspect pass.pMoves[i].srcAllocation, identify what buffer/image it represents. + VmaAllocationInfo allocInfo; + vmaGetAllocationInfo(allocator, pMoves[i].srcAllocation, &allocInfo); + MyEngineResourceData* resData = (MyEngineResourceData*)allocInfo.pUserData; + + // Recreate and bind this buffer/image at: pass.pMoves[i].dstMemory, pass.pMoves[i].dstOffset. + VkImageCreateInfo imgCreateInfo = ... + VkImage newImg; + res = vkCreateImage(device, &imgCreateInfo, nullptr, &newImg); + // Check res... + res = vmaBindImageMemory(allocator, pMoves[i].dstTmpAllocation, newImg); + // Check res... + + // Issue a vkCmdCopyBuffer/vkCmdCopyImage to copy its content to the new place. + vkCmdCopyImage(cmdBuf, resData->img, ..., newImg, ...); + } + + // Make sure the copy commands finished executing. + vkWaitForFences(...); + + // Destroy old buffers/images bound with pass.pMoves[i].srcAllocation. + for(uint32_t i = 0; i < pass.moveCount; ++i) + { + // ... + vkDestroyImage(device, resData->img, nullptr); + } + + // Update appropriate descriptors to point to the new places... + + res = vmaEndDefragmentationPass(allocator, defragCtx, &pass); + if(res == VK_SUCCESS) + break; + else if(res != VK_INCOMPLETE) + // Handle error... +} + +vmaEndDefragmentation(allocator, defragCtx, nullptr); +\endcode + +Although functions like vmaCreateBuffer(), vmaCreateImage(), vmaDestroyBuffer(), vmaDestroyImage() +create/destroy an allocation and a buffer/image at once, these are just a shortcut for +creating the resource, allocating memory, and binding them together. +Defragmentation works on memory allocations only. You must handle the rest manually. +Defragmentation is an iterative process that should repreat "passes" as long as related functions +return `VK_INCOMPLETE` not `VK_SUCCESS`. +In each pass: + +1. vmaBeginDefragmentationPass() function call: + - Calculates and returns the list of allocations to be moved in this pass. + Note this can be a time-consuming process. + - Reserves destination memory for them by creating temporary destination allocations + that you can query for their `VkDeviceMemory` + offset using vmaGetAllocationInfo(). +2. Inside the pass, **you should**: + - Inspect the returned list of allocations to be moved. + - Create new buffers/images and bind them at the returned destination temporary allocations. + - Copy data from source to destination resources if necessary. + - Destroy the source buffers/images, but NOT their allocations. +3. vmaEndDefragmentationPass() function call: + - Frees the source memory reserved for the allocations that are moved. + - Modifies source #VmaAllocation objects that are moved to point to the destination reserved memory. + - Frees `VkDeviceMemory` blocks that became empty. + +Unlike in previous iterations of the defragmentation API, there is no list of "movable" allocations passed as a parameter. +Defragmentation algorithm tries to move all suitable allocations. +You can, however, refuse to move some of them inside a defragmentation pass, by setting +`pass.pMoves[i].operation` to #VMA_DEFRAGMENTATION_MOVE_OPERATION_IGNORE. +This is not recommended and may result in suboptimal packing of the allocations after defragmentation. +If you cannot ensure any allocation can be moved, it is better to keep movable allocations separate in a custom pool. + +Inside a pass, for each allocation that should be moved: + +- You should copy its data from the source to the destination place by calling e.g. `vkCmdCopyBuffer()`, `vkCmdCopyImage()`. + - You need to make sure these commands finished executing before destroying the source buffers/images and before calling vmaEndDefragmentationPass(). +- If a resource doesn't contain any meaningful data, e.g. it is a transient color attachment image to be cleared, + filled, and used temporarily in each rendering frame, you can just recreate this image + without copying its data. +- If the resource is in `HOST_VISIBLE` and `HOST_CACHED` memory, you can copy its data on the CPU + using `memcpy()`. +- If you cannot move the allocation, you can set `pass.pMoves[i].operation` to #VMA_DEFRAGMENTATION_MOVE_OPERATION_IGNORE. + This will cancel the move. + - vmaEndDefragmentationPass() will then free the destination memory + not the source memory of the allocation, leaving it unchanged. +- If you decide the allocation is unimportant and can be destroyed instead of moved (e.g. it wasn't used for long time), + you can set `pass.pMoves[i].operation` to #VMA_DEFRAGMENTATION_MOVE_OPERATION_DESTROY. + - vmaEndDefragmentationPass() will then free both source and destination memory, and will destroy the source #VmaAllocation object. + +You can defragment a specific custom pool by setting VmaDefragmentationInfo::pool +(like in the example above) or all the default pools by setting this member to null. + +Defragmentation is always performed in each pool separately. +Allocations are never moved between different Vulkan memory types. +The size of the destination memory reserved for a moved allocation is the same as the original one. +Alignment of an allocation as it was determined using `vkGetBufferMemoryRequirements()` etc. is also respected after defragmentation. +Buffers/images should be recreated with the same `VkBufferCreateInfo` / `VkImageCreateInfo` parameters as the original ones. + +You can perform the defragmentation incrementally to limit the number of allocations and bytes to be moved +in each pass, e.g. to call it in sync with render frames and not to experience too big hitches. +See members: VmaDefragmentationInfo::maxBytesPerPass, VmaDefragmentationInfo::maxAllocationsPerPass. + +It is also safe to perform the defragmentation asynchronously to render frames and other Vulkan and VMA +usage, possibly from multiple threads, with the exception that allocations +returned in VmaDefragmentationPassMoveInfo::pMoves shouldn't be destroyed until the defragmentation pass is ended. + +Mapping is preserved on allocations that are moved during defragmentation. +Whether through #VMA_ALLOCATION_CREATE_MAPPED_BIT or vmaMapMemory(), the allocations +are mapped at their new place. Of course, pointer to the mapped data changes, so it needs to be queried +using VmaAllocationInfo::pMappedData. + +\note Defragmentation is not supported in custom pools created with #VMA_POOL_CREATE_LINEAR_ALGORITHM_BIT. + + +\page statistics Statistics + +This library contains several functions that return information about its internal state, +especially the amount of memory allocated from Vulkan. + +\section statistics_numeric_statistics Numeric statistics + +If you need to obtain basic statistics about memory usage per heap, together with current budget, +you can call function vmaGetHeapBudgets() and inspect structure #VmaBudget. +This is useful to keep track of memory usage and stay withing budget +(see also \ref staying_within_budget). +Example: + +\code +uint32_t heapIndex = ... + +VmaBudget budgets[VK_MAX_MEMORY_HEAPS]; +vmaGetHeapBudgets(allocator, budgets); + +printf("My heap currently has %u allocations taking %llu B,\n", + budgets[heapIndex].statistics.allocationCount, + budgets[heapIndex].statistics.allocationBytes); +printf("allocated out of %u Vulkan device memory blocks taking %llu B,\n", + budgets[heapIndex].statistics.blockCount, + budgets[heapIndex].statistics.blockBytes); +printf("Vulkan reports total usage %llu B with budget %llu B.\n", + budgets[heapIndex].usage, + budgets[heapIndex].budget); +\endcode + +You can query for more detailed statistics per memory heap, type, and totals, +including minimum and maximum allocation size and unused range size, +by calling function vmaCalculateStatistics() and inspecting structure #VmaTotalStatistics. +This function is slower though, as it has to traverse all the internal data structures, +so it should be used only for debugging purposes. + +You can query for statistics of a custom pool using function vmaGetPoolStatistics() +or vmaCalculatePoolStatistics(). + +You can query for information about a specific allocation using function vmaGetAllocationInfo(). +It fill structure #VmaAllocationInfo. + +\section statistics_json_dump JSON dump + +You can dump internal state of the allocator to a string in JSON format using function vmaBuildStatsString(). +The result is guaranteed to be correct JSON. +It uses ANSI encoding. +Any strings provided by user (see [Allocation names](@ref allocation_names)) +are copied as-is and properly escaped for JSON, so if they use UTF-8, ISO-8859-2 or any other encoding, +this JSON string can be treated as using this encoding. +It must be freed using function vmaFreeStatsString(). + +The format of this JSON string is not part of official documentation of the library, +but it will not change in backward-incompatible way without increasing library major version number +and appropriate mention in changelog. + +The JSON string contains all the data that can be obtained using vmaCalculateStatistics(). +It can also contain detailed map of allocated memory blocks and their regions - +free and occupied by allocations. +This allows e.g. to visualize the memory or assess fragmentation. + + +\page allocation_annotation Allocation names and user data + +\section allocation_user_data Allocation user data + +You can annotate allocations with your own information, e.g. for debugging purposes. +To do that, fill VmaAllocationCreateInfo::pUserData field when creating +an allocation. It is an opaque `void*` pointer. You can use it e.g. as a pointer, +some handle, index, key, ordinal number or any other value that would associate +the allocation with your custom metadata. +It it useful to identify appropriate data structures in your engine given #VmaAllocation, +e.g. when doing \ref defragmentation. + +\code +VkBufferCreateInfo bufCreateInfo = ... + +MyBufferMetadata* pMetadata = CreateBufferMetadata(); + +VmaAllocationCreateInfo allocCreateInfo = {}; +allocCreateInfo.usage = VMA_MEMORY_USAGE_AUTO; +allocCreateInfo.pUserData = pMetadata; + +VkBuffer buffer; +VmaAllocation allocation; +vmaCreateBuffer(allocator, &bufCreateInfo, &allocCreateInfo, &buffer, &allocation, nullptr); +\endcode + +The pointer may be later retrieved as VmaAllocationInfo::pUserData: + +\code +VmaAllocationInfo allocInfo; +vmaGetAllocationInfo(allocator, allocation, &allocInfo); +MyBufferMetadata* pMetadata = (MyBufferMetadata*)allocInfo.pUserData; +\endcode + +It can also be changed using function vmaSetAllocationUserData(). + +Values of (non-zero) allocations' `pUserData` are printed in JSON report created by +vmaBuildStatsString() in hexadecimal form. + +\section allocation_names Allocation names + +An allocation can also carry a null-terminated string, giving a name to the allocation. +To set it, call vmaSetAllocationName(). +The library creates internal copy of the string, so the pointer you pass doesn't need +to be valid for whole lifetime of the allocation. You can free it after the call. + +\code +std::string imageName = "Texture: "; +imageName += fileName; +vmaSetAllocationName(allocator, allocation, imageName.c_str()); +\endcode + +The string can be later retrieved by inspecting VmaAllocationInfo::pName. +It is also printed in JSON report created by vmaBuildStatsString(). + +\note Setting string name to VMA allocation doesn't automatically set it to the Vulkan buffer or image created with it. +You must do it manually using an extension like VK_EXT_debug_utils, which is independent of this library. + + +\page virtual_allocator Virtual allocator + +As an extra feature, the core allocation algorithm of the library is exposed through a simple and convenient API of "virtual allocator". +It doesn't allocate any real GPU memory. It just keeps track of used and free regions of a "virtual block". +You can use it to allocate your own memory or other objects, even completely unrelated to Vulkan. +A common use case is sub-allocation of pieces of one large GPU buffer. + +\section virtual_allocator_creating_virtual_block Creating virtual block + +To use this functionality, there is no main "allocator" object. +You don't need to have #VmaAllocator object created. +All you need to do is to create a separate #VmaVirtualBlock object for each block of memory you want to be managed by the allocator: + +-# Fill in #VmaVirtualBlockCreateInfo structure. +-# Call vmaCreateVirtualBlock(). Get new #VmaVirtualBlock object. + +Example: + +\code +VmaVirtualBlockCreateInfo blockCreateInfo = {}; +blockCreateInfo.size = 1048576; // 1 MB + +VmaVirtualBlock block; +VkResult res = vmaCreateVirtualBlock(&blockCreateInfo, &block); +\endcode + +\section virtual_allocator_making_virtual_allocations Making virtual allocations + +#VmaVirtualBlock object contains internal data structure that keeps track of free and occupied regions +using the same code as the main Vulkan memory allocator. +Similarly to #VmaAllocation for standard GPU allocations, there is #VmaVirtualAllocation type +that represents an opaque handle to an allocation withing the virtual block. + +In order to make such allocation: + +-# Fill in #VmaVirtualAllocationCreateInfo structure. +-# Call vmaVirtualAllocate(). Get new #VmaVirtualAllocation object that represents the allocation. + You can also receive `VkDeviceSize offset` that was assigned to the allocation. + +Example: + +\code +VmaVirtualAllocationCreateInfo allocCreateInfo = {}; +allocCreateInfo.size = 4096; // 4 KB + +VmaVirtualAllocation alloc; +VkDeviceSize offset; +res = vmaVirtualAllocate(block, &allocCreateInfo, &alloc, &offset); +if(res == VK_SUCCESS) +{ + // Use the 4 KB of your memory starting at offset. +} +else +{ + // Allocation failed - no space for it could be found. Handle this error! +} +\endcode + +\section virtual_allocator_deallocation Deallocation + +When no longer needed, an allocation can be freed by calling vmaVirtualFree(). +You can only pass to this function an allocation that was previously returned by vmaVirtualAllocate() +called for the same #VmaVirtualBlock. + +When whole block is no longer needed, the block object can be released by calling vmaDestroyVirtualBlock(). +All allocations must be freed before the block is destroyed, which is checked internally by an assert. +However, if you don't want to call vmaVirtualFree() for each allocation, you can use vmaClearVirtualBlock() to free them all at once - +a feature not available in normal Vulkan memory allocator. Example: + +\code +vmaVirtualFree(block, alloc); +vmaDestroyVirtualBlock(block); +\endcode + +\section virtual_allocator_allocation_parameters Allocation parameters + +You can attach a custom pointer to each allocation by using vmaSetVirtualAllocationUserData(). +Its default value is null. +It can be used to store any data that needs to be associated with that allocation - e.g. an index, a handle, or a pointer to some +larger data structure containing more information. Example: + +\code +struct CustomAllocData +{ + std::string m_AllocName; +}; +CustomAllocData* allocData = new CustomAllocData(); +allocData->m_AllocName = "My allocation 1"; +vmaSetVirtualAllocationUserData(block, alloc, allocData); +\endcode + +The pointer can later be fetched, along with allocation offset and size, by passing the allocation handle to function +vmaGetVirtualAllocationInfo() and inspecting returned structure #VmaVirtualAllocationInfo. +If you allocated a new object to be used as the custom pointer, don't forget to delete that object before freeing the allocation! +Example: + +\code +VmaVirtualAllocationInfo allocInfo; +vmaGetVirtualAllocationInfo(block, alloc, &allocInfo); +delete (CustomAllocData*)allocInfo.pUserData; + +vmaVirtualFree(block, alloc); +\endcode + +\section virtual_allocator_alignment_and_units Alignment and units + +It feels natural to express sizes and offsets in bytes. +If an offset of an allocation needs to be aligned to a multiply of some number (e.g. 4 bytes), you can fill optional member +VmaVirtualAllocationCreateInfo::alignment to request it. Example: + +\code +VmaVirtualAllocationCreateInfo allocCreateInfo = {}; +allocCreateInfo.size = 4096; // 4 KB +allocCreateInfo.alignment = 4; // Returned offset must be a multiply of 4 B + +VmaVirtualAllocation alloc; +res = vmaVirtualAllocate(block, &allocCreateInfo, &alloc, nullptr); +\endcode + +Alignments of different allocations made from one block may vary. +However, if all alignments and sizes are always multiply of some size e.g. 4 B or `sizeof(MyDataStruct)`, +you can express all sizes, alignments, and offsets in multiples of that size instead of individual bytes. +It might be more convenient, but you need to make sure to use this new unit consistently in all the places: + +- VmaVirtualBlockCreateInfo::size +- VmaVirtualAllocationCreateInfo::size and VmaVirtualAllocationCreateInfo::alignment +- Using offset returned by vmaVirtualAllocate() or in VmaVirtualAllocationInfo::offset + +\section virtual_allocator_statistics Statistics + +You can obtain statistics of a virtual block using vmaGetVirtualBlockStatistics() +(to get brief statistics that are fast to calculate) +or vmaCalculateVirtualBlockStatistics() (to get more detailed statistics, slower to calculate). +The functions fill structures #VmaStatistics, #VmaDetailedStatistics respectively - same as used by the normal Vulkan memory allocator. +Example: + +\code +VmaStatistics stats; +vmaGetVirtualBlockStatistics(block, &stats); +printf("My virtual block has %llu bytes used by %u virtual allocations\n", + stats.allocationBytes, stats.allocationCount); +\endcode + +You can also request a full list of allocations and free regions as a string in JSON format by calling +vmaBuildVirtualBlockStatsString(). +Returned string must be later freed using vmaFreeVirtualBlockStatsString(). +The format of this string differs from the one returned by the main Vulkan allocator, but it is similar. + +\section virtual_allocator_additional_considerations Additional considerations + +The "virtual allocator" functionality is implemented on a level of individual memory blocks. +Keeping track of a whole collection of blocks, allocating new ones when out of free space, +deleting empty ones, and deciding which one to try first for a new allocation must be implemented by the user. + +Alternative allocation algorithms are supported, just like in custom pools of the real GPU memory. +See enum #VmaVirtualBlockCreateFlagBits to learn how to specify them (e.g. #VMA_VIRTUAL_BLOCK_CREATE_LINEAR_ALGORITHM_BIT). +You can find their description in chapter \ref custom_memory_pools. +Allocation strategies are also supported. +See enum #VmaVirtualAllocationCreateFlagBits to learn how to specify them (e.g. #VMA_VIRTUAL_ALLOCATION_CREATE_STRATEGY_MIN_TIME_BIT). + +Following features are supported only by the allocator of the real GPU memory and not by virtual allocations: +buffer-image granularity, `VMA_DEBUG_MARGIN`, `VMA_MIN_ALIGNMENT`. + + +\page debugging_memory_usage Debugging incorrect memory usage + +If you suspect a bug with memory usage, like usage of uninitialized memory or +memory being overwritten out of bounds of an allocation, +you can use debug features of this library to verify this. + +\section debugging_memory_usage_initialization Memory initialization + +If you experience a bug with incorrect and nondeterministic data in your program and you suspect uninitialized memory to be used, +you can enable automatic memory initialization to verify this. +To do it, define macro `VMA_DEBUG_INITIALIZE_ALLOCATIONS` to 1. + +\code +#define VMA_DEBUG_INITIALIZE_ALLOCATIONS 1 +#include "vk_mem_alloc.h" +\endcode + +It makes memory of new allocations initialized to bit pattern `0xDCDCDCDC`. +Before an allocation is destroyed, its memory is filled with bit pattern `0xEFEFEFEF`. +Memory is automatically mapped and unmapped if necessary. + +If you find these values while debugging your program, good chances are that you incorrectly +read Vulkan memory that is allocated but not initialized, or already freed, respectively. + +Memory initialization works only with memory types that are `HOST_VISIBLE` and with allocations that can be mapped. +It works also with dedicated allocations. + +\section debugging_memory_usage_margins Margins + +By default, allocations are laid out in memory blocks next to each other if possible +(considering required alignment, `bufferImageGranularity`, and `nonCoherentAtomSize`). + +![Allocations without margin](../gfx/Margins_1.png) + +Define macro `VMA_DEBUG_MARGIN` to some non-zero value (e.g. 16) to enforce specified +number of bytes as a margin after every allocation. + +\code +#define VMA_DEBUG_MARGIN 16 +#include "vk_mem_alloc.h" +\endcode + +![Allocations with margin](../gfx/Margins_2.png) + +If your bug goes away after enabling margins, it means it may be caused by memory +being overwritten outside of allocation boundaries. It is not 100% certain though. +Change in application behavior may also be caused by different order and distribution +of allocations across memory blocks after margins are applied. + +Margins work with all types of memory. + +Margin is applied only to allocations made out of memory blocks and not to dedicated +allocations, which have their own memory block of specific size. +It is thus not applied to allocations made using #VMA_ALLOCATION_CREATE_DEDICATED_MEMORY_BIT flag +or those automatically decided to put into dedicated allocations, e.g. due to its +large size or recommended by VK_KHR_dedicated_allocation extension. + +Margins appear in [JSON dump](@ref statistics_json_dump) as part of free space. + +Note that enabling margins increases memory usage and fragmentation. + +Margins do not apply to \ref virtual_allocator. + +\section debugging_memory_usage_corruption_detection Corruption detection + +You can additionally define macro `VMA_DEBUG_DETECT_CORRUPTION` to 1 to enable validation +of contents of the margins. + +\code +#define VMA_DEBUG_MARGIN 16 +#define VMA_DEBUG_DETECT_CORRUPTION 1 +#include "vk_mem_alloc.h" +\endcode + +When this feature is enabled, number of bytes specified as `VMA_DEBUG_MARGIN` +(it must be multiply of 4) after every allocation is filled with a magic number. +This idea is also know as "canary". +Memory is automatically mapped and unmapped if necessary. + +This number is validated automatically when the allocation is destroyed. +If it is not equal to the expected value, `VMA_ASSERT()` is executed. +It clearly means that either CPU or GPU overwritten the memory outside of boundaries of the allocation, +which indicates a serious bug. + +You can also explicitly request checking margins of all allocations in all memory blocks +that belong to specified memory types by using function vmaCheckCorruption(), +or in memory blocks that belong to specified custom pool, by using function +vmaCheckPoolCorruption(). + +Margin validation (corruption detection) works only for memory types that are +`HOST_VISIBLE` and `HOST_COHERENT`. + + +\page opengl_interop OpenGL Interop + +VMA provides some features that help with interoperability with OpenGL. + +\section opengl_interop_exporting_memory Exporting memory + +If you want to attach `VkExportMemoryAllocateInfoKHR` structure to `pNext` chain of memory allocations made by the library: + +It is recommended to create \ref custom_memory_pools for such allocations. +Define and fill in your `VkExportMemoryAllocateInfoKHR` structure and attach it to VmaPoolCreateInfo::pMemoryAllocateNext +while creating the custom pool. +Please note that the structure must remain alive and unchanged for the whole lifetime of the #VmaPool, +not only while creating it, as no copy of the structure is made, +but its original pointer is used for each allocation instead. + +If you want to export all memory allocated by the library from certain memory types, +also dedicated allocations or other allocations made from default pools, +an alternative solution is to fill in VmaAllocatorCreateInfo::pTypeExternalMemoryHandleTypes. +It should point to an array with `VkExternalMemoryHandleTypeFlagsKHR` to be automatically passed by the library +through `VkExportMemoryAllocateInfoKHR` on each allocation made from a specific memory type. +Please note that new versions of the library also support dedicated allocations created in custom pools. + +You should not mix these two methods in a way that allows to apply both to the same memory type. +Otherwise, `VkExportMemoryAllocateInfoKHR` structure would be attached twice to the `pNext` chain of `VkMemoryAllocateInfo`. + + +\section opengl_interop_custom_alignment Custom alignment + +Buffers or images exported to a different API like OpenGL may require a different alignment, +higher than the one used by the library automatically, queried from functions like `vkGetBufferMemoryRequirements`. +To impose such alignment: + +It is recommended to create \ref custom_memory_pools for such allocations. +Set VmaPoolCreateInfo::minAllocationAlignment member to the minimum alignment required for each allocation +to be made out of this pool. +The alignment actually used will be the maximum of this member and the alignment returned for the specific buffer or image +from a function like `vkGetBufferMemoryRequirements`, which is called by VMA automatically. + +If you want to create a buffer with a specific minimum alignment out of default pools, +use special function vmaCreateBufferWithAlignment(), which takes additional parameter `minAlignment`. + +Note the problem of alignment affects only resources placed inside bigger `VkDeviceMemory` blocks and not dedicated +allocations, as these, by definition, always have alignment = 0 because the resource is bound to the beginning of its dedicated block. +Contrary to Direct3D 12, Vulkan doesn't have a concept of alignment of the entire memory block passed on its allocation. + + +\page usage_patterns Recommended usage patterns + +Vulkan gives great flexibility in memory allocation. +This chapter shows the most common patterns. + +See also slides from talk: +[Sawicki, Adam. Advanced Graphics Techniques Tutorial: Memory management in Vulkan and DX12. Game Developers Conference, 2018](https://www.gdcvault.com/play/1025458/Advanced-Graphics-Techniques-Tutorial-New) + + +\section usage_patterns_gpu_only GPU-only resource + +When: +Any resources that you frequently write and read on GPU, +e.g. images used as color attachments (aka "render targets"), depth-stencil attachments, +images/buffers used as storage image/buffer (aka "Unordered Access View (UAV)"). + +What to do: +Let the library select the optimal memory type, which will likely have `VK_MEMORY_PROPERTY_DEVICE_LOCAL_BIT`. + +\code +VkImageCreateInfo imgCreateInfo = { VK_STRUCTURE_TYPE_IMAGE_CREATE_INFO }; +imgCreateInfo.imageType = VK_IMAGE_TYPE_2D; +imgCreateInfo.extent.width = 3840; +imgCreateInfo.extent.height = 2160; +imgCreateInfo.extent.depth = 1; +imgCreateInfo.mipLevels = 1; +imgCreateInfo.arrayLayers = 1; +imgCreateInfo.format = VK_FORMAT_R8G8B8A8_UNORM; +imgCreateInfo.tiling = VK_IMAGE_TILING_OPTIMAL; +imgCreateInfo.initialLayout = VK_IMAGE_LAYOUT_UNDEFINED; +imgCreateInfo.usage = VK_IMAGE_USAGE_SAMPLED_BIT | VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT; +imgCreateInfo.samples = VK_SAMPLE_COUNT_1_BIT; + +VmaAllocationCreateInfo allocCreateInfo = {}; +allocCreateInfo.usage = VMA_MEMORY_USAGE_AUTO; +allocCreateInfo.flags = VMA_ALLOCATION_CREATE_DEDICATED_MEMORY_BIT; +allocCreateInfo.priority = 1.0f; + +VkImage img; +VmaAllocation alloc; +vmaCreateImage(allocator, &imgCreateInfo, &allocCreateInfo, &img, &alloc, nullptr); +\endcode + +Also consider: +Consider creating them as dedicated allocations using #VMA_ALLOCATION_CREATE_DEDICATED_MEMORY_BIT, +especially if they are large or if you plan to destroy and recreate them with different sizes +e.g. when display resolution changes. +Prefer to create such resources first and all other GPU resources (like textures and vertex buffers) later. +When VK_EXT_memory_priority extension is enabled, it is also worth setting high priority to such allocation +to decrease chances to be evicted to system memory by the operating system. + +\section usage_patterns_staging_copy_upload Staging copy for upload + +When: +A "staging" buffer than you want to map and fill from CPU code, then use as a source od transfer +to some GPU resource. + +What to do: +Use flag #VMA_ALLOCATION_CREATE_HOST_ACCESS_SEQUENTIAL_WRITE_BIT. +Let the library select the optimal memory type, which will always have `VK_MEMORY_PROPERTY_HOST_VISIBLE_BIT`. + +\code +VkBufferCreateInfo bufCreateInfo = { VK_STRUCTURE_TYPE_BUFFER_CREATE_INFO }; +bufCreateInfo.size = 65536; +bufCreateInfo.usage = VK_BUFFER_USAGE_TRANSFER_SRC_BIT; + +VmaAllocationCreateInfo allocCreateInfo = {}; +allocCreateInfo.usage = VMA_MEMORY_USAGE_AUTO; +allocCreateInfo.flags = VMA_ALLOCATION_CREATE_HOST_ACCESS_SEQUENTIAL_WRITE_BIT | + VMA_ALLOCATION_CREATE_MAPPED_BIT; + +VkBuffer buf; +VmaAllocation alloc; +VmaAllocationInfo allocInfo; +vmaCreateBuffer(allocator, &bufCreateInfo, &allocCreateInfo, &buf, &alloc, &allocInfo); + +... + +memcpy(allocInfo.pMappedData, myData, myDataSize); +\endcode + +Also consider: +You can map the allocation using vmaMapMemory() or you can create it as persistenly mapped +using #VMA_ALLOCATION_CREATE_MAPPED_BIT, as in the example above. + + +\section usage_patterns_readback Readback + +When: +Buffers for data written by or transferred from the GPU that you want to read back on the CPU, +e.g. results of some computations. + +What to do: +Use flag #VMA_ALLOCATION_CREATE_HOST_ACCESS_RANDOM_BIT. +Let the library select the optimal memory type, which will always have `VK_MEMORY_PROPERTY_HOST_VISIBLE_BIT` +and `VK_MEMORY_PROPERTY_HOST_CACHED_BIT`. + +\code +VkBufferCreateInfo bufCreateInfo = { VK_STRUCTURE_TYPE_BUFFER_CREATE_INFO }; +bufCreateInfo.size = 65536; +bufCreateInfo.usage = VK_BUFFER_USAGE_TRANSFER_DST_BIT; + +VmaAllocationCreateInfo allocCreateInfo = {}; +allocCreateInfo.usage = VMA_MEMORY_USAGE_AUTO; +allocCreateInfo.flags = VMA_ALLOCATION_CREATE_HOST_ACCESS_RANDOM_BIT | + VMA_ALLOCATION_CREATE_MAPPED_BIT; + +VkBuffer buf; +VmaAllocation alloc; +VmaAllocationInfo allocInfo; +vmaCreateBuffer(allocator, &bufCreateInfo, &allocCreateInfo, &buf, &alloc, &allocInfo); + +... + +const float* downloadedData = (const float*)allocInfo.pMappedData; +\endcode + + +\section usage_patterns_advanced_data_uploading Advanced data uploading + +For resources that you frequently write on CPU via mapped pointer and +freqnently read on GPU e.g. as a uniform buffer (also called "dynamic"), multiple options are possible: + +-# Easiest solution is to have one copy of the resource in `HOST_VISIBLE` memory, + even if it means system RAM (not `DEVICE_LOCAL`) on systems with a discrete graphics card, + and make the device reach out to that resource directly. + - Reads performed by the device will then go through PCI Express bus. + The performace of this access may be limited, but it may be fine depending on the size + of this resource (whether it is small enough to quickly end up in GPU cache) and the sparsity + of access. +-# On systems with unified memory (e.g. AMD APU or Intel integrated graphics, mobile chips), + a memory type may be available that is both `HOST_VISIBLE` (available for mapping) and `DEVICE_LOCAL` + (fast to access from the GPU). Then, it is likely the best choice for such type of resource. +-# Systems with a discrete graphics card and separate video memory may or may not expose + a memory type that is both `HOST_VISIBLE` and `DEVICE_LOCAL`, also known as Base Address Register (BAR). + If they do, it represents a piece of VRAM (or entire VRAM, if ReBAR is enabled in the motherboard BIOS) + that is available to CPU for mapping. + - Writes performed by the host to that memory go through PCI Express bus. + The performance of these writes may be limited, but it may be fine, especially on PCIe 4.0, + as long as rules of using uncached and write-combined memory are followed - only sequential writes and no reads. +-# Finally, you may need or prefer to create a separate copy of the resource in `DEVICE_LOCAL` memory, + a separate "staging" copy in `HOST_VISIBLE` memory and perform an explicit transfer command between them. + +Thankfully, VMA offers an aid to create and use such resources in the the way optimal +for the current Vulkan device. To help the library make the best choice, +use flag #VMA_ALLOCATION_CREATE_HOST_ACCESS_SEQUENTIAL_WRITE_BIT together with +#VMA_ALLOCATION_CREATE_HOST_ACCESS_ALLOW_TRANSFER_INSTEAD_BIT. +It will then prefer a memory type that is both `DEVICE_LOCAL` and `HOST_VISIBLE` (integrated memory or BAR), +but if no such memory type is available or allocation from it fails +(PC graphics cards have only 256 MB of BAR by default, unless ReBAR is supported and enabled in BIOS), +it will fall back to `DEVICE_LOCAL` memory for fast GPU access. +It is then up to you to detect that the allocation ended up in a memory type that is not `HOST_VISIBLE`, +so you need to create another "staging" allocation and perform explicit transfers. + +\code +VkBufferCreateInfo bufCreateInfo = { VK_STRUCTURE_TYPE_BUFFER_CREATE_INFO }; +bufCreateInfo.size = 65536; +bufCreateInfo.usage = VK_BUFFER_USAGE_UNIFORM_BUFFER_BIT | VK_BUFFER_USAGE_TRANSFER_DST_BIT; + +VmaAllocationCreateInfo allocCreateInfo = {}; +allocCreateInfo.usage = VMA_MEMORY_USAGE_AUTO; +allocCreateInfo.flags = VMA_ALLOCATION_CREATE_HOST_ACCESS_SEQUENTIAL_WRITE_BIT | + VMA_ALLOCATION_CREATE_HOST_ACCESS_ALLOW_TRANSFER_INSTEAD_BIT | + VMA_ALLOCATION_CREATE_MAPPED_BIT; + +VkBuffer buf; +VmaAllocation alloc; +VmaAllocationInfo allocInfo; +vmaCreateBuffer(allocator, &bufCreateInfo, &allocCreateInfo, &buf, &alloc, &allocInfo); + +VkMemoryPropertyFlags memPropFlags; +vmaGetAllocationMemoryProperties(allocator, alloc, &memPropFlags); + +if(memPropFlags & VK_MEMORY_PROPERTY_HOST_VISIBLE_BIT) +{ + // Allocation ended up in a mappable memory and is already mapped - write to it directly. + + // [Executed in runtime]: + memcpy(allocInfo.pMappedData, myData, myDataSize); +} +else +{ + // Allocation ended up in a non-mappable memory - need to transfer. + VkBufferCreateInfo stagingBufCreateInfo = { VK_STRUCTURE_TYPE_BUFFER_CREATE_INFO }; + stagingBufCreateInfo.size = 65536; + stagingBufCreateInfo.usage = VK_BUFFER_USAGE_TRANSFER_SRC_BIT; + + VmaAllocationCreateInfo stagingAllocCreateInfo = {}; + stagingAllocCreateInfo.usage = VMA_MEMORY_USAGE_AUTO; + stagingAllocCreateInfo.flags = VMA_ALLOCATION_CREATE_HOST_ACCESS_SEQUENTIAL_WRITE_BIT | + VMA_ALLOCATION_CREATE_MAPPED_BIT; + + VkBuffer stagingBuf; + VmaAllocation stagingAlloc; + VmaAllocationInfo stagingAllocInfo; + vmaCreateBuffer(allocator, &stagingBufCreateInfo, &stagingAllocCreateInfo, + &stagingBuf, &stagingAlloc, stagingAllocInfo); + + // [Executed in runtime]: + memcpy(stagingAllocInfo.pMappedData, myData, myDataSize); + //vkCmdPipelineBarrier: VK_ACCESS_HOST_WRITE_BIT --> VK_ACCESS_TRANSFER_READ_BIT + VkBufferCopy bufCopy = { + 0, // srcOffset + 0, // dstOffset, + myDataSize); // size + vkCmdCopyBuffer(cmdBuf, stagingBuf, buf, 1, &bufCopy); +} +\endcode + +\section usage_patterns_other_use_cases Other use cases + +Here are some other, less obvious use cases and their recommended settings: + +- An image that is used only as transfer source and destination, but it should stay on the device, + as it is used to temporarily store a copy of some texture, e.g. from the current to the next frame, + for temporal antialiasing or other temporal effects. + - Use `VkImageCreateInfo::usage = VK_IMAGE_USAGE_TRANSFER_SRC_BIT | VK_IMAGE_USAGE_TRANSFER_DST_BIT` + - Use VmaAllocationCreateInfo::usage = #VMA_MEMORY_USAGE_AUTO +- An image that is used only as transfer source and destination, but it should be placed + in the system RAM despite it doesn't need to be mapped, because it serves as a "swap" copy to evict + least recently used textures from VRAM. + - Use `VkImageCreateInfo::usage = VK_IMAGE_USAGE_TRANSFER_SRC_BIT | VK_IMAGE_USAGE_TRANSFER_DST_BIT` + - Use VmaAllocationCreateInfo::usage = #VMA_MEMORY_USAGE_AUTO_PREFER_HOST, + as VMA needs a hint here to differentiate from the previous case. +- A buffer that you want to map and write from the CPU, directly read from the GPU + (e.g. as a uniform or vertex buffer), but you have a clear preference to place it in device or + host memory due to its large size. + - Use `VkBufferCreateInfo::usage = VK_BUFFER_USAGE_UNIFORM_BUFFER_BIT` + - Use VmaAllocationCreateInfo::usage = #VMA_MEMORY_USAGE_AUTO_PREFER_DEVICE or #VMA_MEMORY_USAGE_AUTO_PREFER_HOST + - Use VmaAllocationCreateInfo::flags = #VMA_ALLOCATION_CREATE_HOST_ACCESS_SEQUENTIAL_WRITE_BIT + + +\page configuration Configuration + +Please check "CONFIGURATION SECTION" in the code to find macros that you can define +before each include of this file or change directly in this file to provide +your own implementation of basic facilities like assert, `min()` and `max()` functions, +mutex, atomic etc. +The library uses its own implementation of containers by default, but you can switch to using +STL containers instead. + +For example, define `VMA_ASSERT(expr)` before including the library to provide +custom implementation of the assertion, compatible with your project. +By default it is defined to standard C `assert(expr)` in `_DEBUG` configuration +and empty otherwise. + +\section config_Vulkan_functions Pointers to Vulkan functions + +There are multiple ways to import pointers to Vulkan functions in the library. +In the simplest case you don't need to do anything. +If the compilation or linking of your program or the initialization of the #VmaAllocator +doesn't work for you, you can try to reconfigure it. + +First, the allocator tries to fetch pointers to Vulkan functions linked statically, +like this: + +\code +m_VulkanFunctions.vkAllocateMemory = (PFN_vkAllocateMemory)vkAllocateMemory; +\endcode + +If you want to disable this feature, set configuration macro: `#define VMA_STATIC_VULKAN_FUNCTIONS 0`. + +Second, you can provide the pointers yourself by setting member VmaAllocatorCreateInfo::pVulkanFunctions. +You can fetch them e.g. using functions `vkGetInstanceProcAddr` and `vkGetDeviceProcAddr` or +by using a helper library like [volk](https://github.com/zeux/volk). + +Third, VMA tries to fetch remaining pointers that are still null by calling +`vkGetInstanceProcAddr` and `vkGetDeviceProcAddr` on its own. +You need to only fill in VmaVulkanFunctions::vkGetInstanceProcAddr and VmaVulkanFunctions::vkGetDeviceProcAddr. +Other pointers will be fetched automatically. +If you want to disable this feature, set configuration macro: `#define VMA_DYNAMIC_VULKAN_FUNCTIONS 0`. + +Finally, all the function pointers required by the library (considering selected +Vulkan version and enabled extensions) are checked with `VMA_ASSERT` if they are not null. + + +\section custom_memory_allocator Custom host memory allocator + +If you use custom allocator for CPU memory rather than default operator `new` +and `delete` from C++, you can make this library using your allocator as well +by filling optional member VmaAllocatorCreateInfo::pAllocationCallbacks. These +functions will be passed to Vulkan, as well as used by the library itself to +make any CPU-side allocations. + +\section allocation_callbacks Device memory allocation callbacks + +The library makes calls to `vkAllocateMemory()` and `vkFreeMemory()` internally. +You can setup callbacks to be informed about these calls, e.g. for the purpose +of gathering some statistics. To do it, fill optional member +VmaAllocatorCreateInfo::pDeviceMemoryCallbacks. + +\section heap_memory_limit Device heap memory limit + +When device memory of certain heap runs out of free space, new allocations may +fail (returning error code) or they may succeed, silently pushing some existing_ +memory blocks from GPU VRAM to system RAM (which degrades performance). This +behavior is implementation-dependent - it depends on GPU vendor and graphics +driver. + +On AMD cards it can be controlled while creating Vulkan device object by using +VK_AMD_memory_overallocation_behavior extension, if available. + +Alternatively, if you want to test how your program behaves with limited amount of Vulkan device +memory available without switching your graphics card to one that really has +smaller VRAM, you can use a feature of this library intended for this purpose. +To do it, fill optional member VmaAllocatorCreateInfo::pHeapSizeLimit. + + + +\page vk_khr_dedicated_allocation VK_KHR_dedicated_allocation + +VK_KHR_dedicated_allocation is a Vulkan extension which can be used to improve +performance on some GPUs. It augments Vulkan API with possibility to query +driver whether it prefers particular buffer or image to have its own, dedicated +allocation (separate `VkDeviceMemory` block) for better efficiency - to be able +to do some internal optimizations. The extension is supported by this library. +It will be used automatically when enabled. + +It has been promoted to core Vulkan 1.1, so if you use eligible Vulkan version +and inform VMA about it by setting VmaAllocatorCreateInfo::vulkanApiVersion, +you are all set. + +Otherwise, if you want to use it as an extension: + +1 . When creating Vulkan device, check if following 2 device extensions are +supported (call `vkEnumerateDeviceExtensionProperties()`). +If yes, enable them (fill `VkDeviceCreateInfo::ppEnabledExtensionNames`). + +- VK_KHR_get_memory_requirements2 +- VK_KHR_dedicated_allocation + +If you enabled these extensions: + +2 . Use #VMA_ALLOCATOR_CREATE_KHR_DEDICATED_ALLOCATION_BIT flag when creating +your #VmaAllocator to inform the library that you enabled required extensions +and you want the library to use them. + +\code +allocatorInfo.flags |= VMA_ALLOCATOR_CREATE_KHR_DEDICATED_ALLOCATION_BIT; + +vmaCreateAllocator(&allocatorInfo, &allocator); +\endcode + +That is all. The extension will be automatically used whenever you create a +buffer using vmaCreateBuffer() or image using vmaCreateImage(). + +When using the extension together with Vulkan Validation Layer, you will receive +warnings like this: + +_vkBindBufferMemory(): Binding memory to buffer 0x33 but vkGetBufferMemoryRequirements() has not been called on that buffer._ + +It is OK, you should just ignore it. It happens because you use function +`vkGetBufferMemoryRequirements2KHR()` instead of standard +`vkGetBufferMemoryRequirements()`, while the validation layer seems to be +unaware of it. + +To learn more about this extension, see: + +- [VK_KHR_dedicated_allocation in Vulkan specification](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/chap50.html#VK_KHR_dedicated_allocation) +- [VK_KHR_dedicated_allocation unofficial manual](http://asawicki.info/articles/VK_KHR_dedicated_allocation.php5) + + + +\page vk_ext_memory_priority VK_EXT_memory_priority + +VK_EXT_memory_priority is a device extension that allows to pass additional "priority" +value to Vulkan memory allocations that the implementation may use prefer certain +buffers and images that are critical for performance to stay in device-local memory +in cases when the memory is over-subscribed, while some others may be moved to the system memory. + +VMA offers convenient usage of this extension. +If you enable it, you can pass "priority" parameter when creating allocations or custom pools +and the library automatically passes the value to Vulkan using this extension. + +If you want to use this extension in connection with VMA, follow these steps: + +\section vk_ext_memory_priority_initialization Initialization + +1) Call `vkEnumerateDeviceExtensionProperties` for the physical device. +Check if the extension is supported - if returned array of `VkExtensionProperties` contains "VK_EXT_memory_priority". + +2) Call `vkGetPhysicalDeviceFeatures2` for the physical device instead of old `vkGetPhysicalDeviceFeatures`. +Attach additional structure `VkPhysicalDeviceMemoryPriorityFeaturesEXT` to `VkPhysicalDeviceFeatures2::pNext` to be returned. +Check if the device feature is really supported - check if `VkPhysicalDeviceMemoryPriorityFeaturesEXT::memoryPriority` is true. + +3) While creating device with `vkCreateDevice`, enable this extension - add "VK_EXT_memory_priority" +to the list passed as `VkDeviceCreateInfo::ppEnabledExtensionNames`. + +4) While creating the device, also don't set `VkDeviceCreateInfo::pEnabledFeatures`. +Fill in `VkPhysicalDeviceFeatures2` structure instead and pass it as `VkDeviceCreateInfo::pNext`. +Enable this device feature - attach additional structure `VkPhysicalDeviceMemoryPriorityFeaturesEXT` to +`VkPhysicalDeviceFeatures2::pNext` chain and set its member `memoryPriority` to `VK_TRUE`. + +5) While creating #VmaAllocator with vmaCreateAllocator() inform VMA that you +have enabled this extension and feature - add #VMA_ALLOCATOR_CREATE_EXT_MEMORY_PRIORITY_BIT +to VmaAllocatorCreateInfo::flags. + +\section vk_ext_memory_priority_usage Usage + +When using this extension, you should initialize following member: + +- VmaAllocationCreateInfo::priority when creating a dedicated allocation with #VMA_ALLOCATION_CREATE_DEDICATED_MEMORY_BIT. +- VmaPoolCreateInfo::priority when creating a custom pool. + +It should be a floating-point value between `0.0f` and `1.0f`, where recommended default is `0.5f`. +Memory allocated with higher value can be treated by the Vulkan implementation as higher priority +and so it can have lower chances of being pushed out to system memory, experiencing degraded performance. + +It might be a good idea to create performance-critical resources like color-attachment or depth-stencil images +as dedicated and set high priority to them. For example: + +\code +VkImageCreateInfo imgCreateInfo = { VK_STRUCTURE_TYPE_IMAGE_CREATE_INFO }; +imgCreateInfo.imageType = VK_IMAGE_TYPE_2D; +imgCreateInfo.extent.width = 3840; +imgCreateInfo.extent.height = 2160; +imgCreateInfo.extent.depth = 1; +imgCreateInfo.mipLevels = 1; +imgCreateInfo.arrayLayers = 1; +imgCreateInfo.format = VK_FORMAT_R8G8B8A8_UNORM; +imgCreateInfo.tiling = VK_IMAGE_TILING_OPTIMAL; +imgCreateInfo.initialLayout = VK_IMAGE_LAYOUT_UNDEFINED; +imgCreateInfo.usage = VK_IMAGE_USAGE_SAMPLED_BIT | VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT; +imgCreateInfo.samples = VK_SAMPLE_COUNT_1_BIT; + +VmaAllocationCreateInfo allocCreateInfo = {}; +allocCreateInfo.usage = VMA_MEMORY_USAGE_AUTO; +allocCreateInfo.flags = VMA_ALLOCATION_CREATE_DEDICATED_MEMORY_BIT; +allocCreateInfo.priority = 1.0f; + +VkImage img; +VmaAllocation alloc; +vmaCreateImage(allocator, &imgCreateInfo, &allocCreateInfo, &img, &alloc, nullptr); +\endcode + +`priority` member is ignored in the following situations: + +- Allocations created in custom pools: They inherit the priority, along with all other allocation parameters + from the parametrs passed in #VmaPoolCreateInfo when the pool was created. +- Allocations created in default pools: They inherit the priority from the parameters + VMA used when creating default pools, which means `priority == 0.5f`. + + +\page vk_amd_device_coherent_memory VK_AMD_device_coherent_memory + +VK_AMD_device_coherent_memory is a device extension that enables access to +additional memory types with `VK_MEMORY_PROPERTY_DEVICE_COHERENT_BIT_AMD` and +`VK_MEMORY_PROPERTY_DEVICE_UNCACHED_BIT_AMD` flag. It is useful mostly for +allocation of buffers intended for writing "breadcrumb markers" in between passes +or draw calls, which in turn are useful for debugging GPU crash/hang/TDR cases. + +When the extension is available but has not been enabled, Vulkan physical device +still exposes those memory types, but their usage is forbidden. VMA automatically +takes care of that - it returns `VK_ERROR_FEATURE_NOT_PRESENT` when an attempt +to allocate memory of such type is made. + +If you want to use this extension in connection with VMA, follow these steps: + +\section vk_amd_device_coherent_memory_initialization Initialization + +1) Call `vkEnumerateDeviceExtensionProperties` for the physical device. +Check if the extension is supported - if returned array of `VkExtensionProperties` contains "VK_AMD_device_coherent_memory". + +2) Call `vkGetPhysicalDeviceFeatures2` for the physical device instead of old `vkGetPhysicalDeviceFeatures`. +Attach additional structure `VkPhysicalDeviceCoherentMemoryFeaturesAMD` to `VkPhysicalDeviceFeatures2::pNext` to be returned. +Check if the device feature is really supported - check if `VkPhysicalDeviceCoherentMemoryFeaturesAMD::deviceCoherentMemory` is true. + +3) While creating device with `vkCreateDevice`, enable this extension - add "VK_AMD_device_coherent_memory" +to the list passed as `VkDeviceCreateInfo::ppEnabledExtensionNames`. + +4) While creating the device, also don't set `VkDeviceCreateInfo::pEnabledFeatures`. +Fill in `VkPhysicalDeviceFeatures2` structure instead and pass it as `VkDeviceCreateInfo::pNext`. +Enable this device feature - attach additional structure `VkPhysicalDeviceCoherentMemoryFeaturesAMD` to +`VkPhysicalDeviceFeatures2::pNext` and set its member `deviceCoherentMemory` to `VK_TRUE`. + +5) While creating #VmaAllocator with vmaCreateAllocator() inform VMA that you +have enabled this extension and feature - add #VMA_ALLOCATOR_CREATE_AMD_DEVICE_COHERENT_MEMORY_BIT +to VmaAllocatorCreateInfo::flags. + +\section vk_amd_device_coherent_memory_usage Usage + +After following steps described above, you can create VMA allocations and custom pools +out of the special `DEVICE_COHERENT` and `DEVICE_UNCACHED` memory types on eligible +devices. There are multiple ways to do it, for example: + +- You can request or prefer to allocate out of such memory types by adding + `VK_MEMORY_PROPERTY_DEVICE_UNCACHED_BIT_AMD` to VmaAllocationCreateInfo::requiredFlags + or VmaAllocationCreateInfo::preferredFlags. Those flags can be freely mixed with + other ways of \ref choosing_memory_type, like setting VmaAllocationCreateInfo::usage. +- If you manually found memory type index to use for this purpose, force allocation + from this specific index by setting VmaAllocationCreateInfo::memoryTypeBits `= 1u << index`. + +\section vk_amd_device_coherent_memory_more_information More information + +To learn more about this extension, see [VK_AMD_device_coherent_memory in Vulkan specification](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VK_AMD_device_coherent_memory.html) + +Example use of this extension can be found in the code of the sample and test suite +accompanying this library. + + +\page enabling_buffer_device_address Enabling buffer device address + +Device extension VK_KHR_buffer_device_address +allow to fetch raw GPU pointer to a buffer and pass it for usage in a shader code. +It has been promoted to core Vulkan 1.2. + +If you want to use this feature in connection with VMA, follow these steps: + +\section enabling_buffer_device_address_initialization Initialization + +1) (For Vulkan version < 1.2) Call `vkEnumerateDeviceExtensionProperties` for the physical device. +Check if the extension is supported - if returned array of `VkExtensionProperties` contains +"VK_KHR_buffer_device_address". + +2) Call `vkGetPhysicalDeviceFeatures2` for the physical device instead of old `vkGetPhysicalDeviceFeatures`. +Attach additional structure `VkPhysicalDeviceBufferDeviceAddressFeatures*` to `VkPhysicalDeviceFeatures2::pNext` to be returned. +Check if the device feature is really supported - check if `VkPhysicalDeviceBufferDeviceAddressFeatures::bufferDeviceAddress` is true. + +3) (For Vulkan version < 1.2) While creating device with `vkCreateDevice`, enable this extension - add +"VK_KHR_buffer_device_address" to the list passed as `VkDeviceCreateInfo::ppEnabledExtensionNames`. + +4) While creating the device, also don't set `VkDeviceCreateInfo::pEnabledFeatures`. +Fill in `VkPhysicalDeviceFeatures2` structure instead and pass it as `VkDeviceCreateInfo::pNext`. +Enable this device feature - attach additional structure `VkPhysicalDeviceBufferDeviceAddressFeatures*` to +`VkPhysicalDeviceFeatures2::pNext` and set its member `bufferDeviceAddress` to `VK_TRUE`. + +5) While creating #VmaAllocator with vmaCreateAllocator() inform VMA that you +have enabled this feature - add #VMA_ALLOCATOR_CREATE_BUFFER_DEVICE_ADDRESS_BIT +to VmaAllocatorCreateInfo::flags. + +\section enabling_buffer_device_address_usage Usage + +After following steps described above, you can create buffers with `VK_BUFFER_USAGE_SHADER_DEVICE_ADDRESS_BIT*` using VMA. +The library automatically adds `VK_MEMORY_ALLOCATE_DEVICE_ADDRESS_BIT*` to +allocated memory blocks wherever it might be needed. + +Please note that the library supports only `VK_BUFFER_USAGE_SHADER_DEVICE_ADDRESS_BIT*`. +The second part of this functionality related to "capture and replay" is not supported, +as it is intended for usage in debugging tools like RenderDoc, not in everyday Vulkan usage. + +\section enabling_buffer_device_address_more_information More information + +To learn more about this extension, see [VK_KHR_buffer_device_address in Vulkan specification](https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/chap46.html#VK_KHR_buffer_device_address) + +Example use of this extension can be found in the code of the sample and test suite +accompanying this library. + +\page general_considerations General considerations + +\section general_considerations_thread_safety Thread safety + +- The library has no global state, so separate #VmaAllocator objects can be used + independently. + There should be no need to create multiple such objects though - one per `VkDevice` is enough. +- By default, all calls to functions that take #VmaAllocator as first parameter + are safe to call from multiple threads simultaneously because they are + synchronized internally when needed. + This includes allocation and deallocation from default memory pool, as well as custom #VmaPool. +- When the allocator is created with #VMA_ALLOCATOR_CREATE_EXTERNALLY_SYNCHRONIZED_BIT + flag, calls to functions that take such #VmaAllocator object must be + synchronized externally. +- Access to a #VmaAllocation object must be externally synchronized. For example, + you must not call vmaGetAllocationInfo() and vmaMapMemory() from different + threads at the same time if you pass the same #VmaAllocation object to these + functions. +- #VmaVirtualBlock is not safe to be used from multiple threads simultaneously. + +\section general_considerations_versioning_and_compatibility Versioning and compatibility + +The library uses [**Semantic Versioning**](https://semver.org/), +which means version numbers follow convention: Major.Minor.Patch (e.g. 2.3.0), where: + +- Incremented Patch version means a release is backward- and forward-compatible, + introducing only some internal improvements, bug fixes, optimizations etc. + or changes that are out of scope of the official API described in this documentation. +- Incremented Minor version means a release is backward-compatible, + so existing code that uses the library should continue to work, while some new + symbols could have been added: new structures, functions, new values in existing + enums and bit flags, new structure members, but not new function parameters. +- Incrementing Major version means a release could break some backward compatibility. + +All changes between official releases are documented in file "CHANGELOG.md". + +\warning Backward compatiblity is considered on the level of C++ source code, not binary linkage. +Adding new members to existing structures is treated as backward compatible if initializing +the new members to binary zero results in the old behavior. +You should always fully initialize all library structures to zeros and not rely on their +exact binary size. + +\section general_considerations_validation_layer_warnings Validation layer warnings + +When using this library, you can meet following types of warnings issued by +Vulkan validation layer. They don't necessarily indicate a bug, so you may need +to just ignore them. + +- *vkBindBufferMemory(): Binding memory to buffer 0xeb8e4 but vkGetBufferMemoryRequirements() has not been called on that buffer.* + - It happens when VK_KHR_dedicated_allocation extension is enabled. + `vkGetBufferMemoryRequirements2KHR` function is used instead, while validation layer seems to be unaware of it. +- *Mapping an image with layout VK_IMAGE_LAYOUT_DEPTH_STENCIL_ATTACHMENT_OPTIMAL can result in undefined behavior if this memory is used by the device. Only GENERAL or PREINITIALIZED should be used.* + - It happens when you map a buffer or image, because the library maps entire + `VkDeviceMemory` block, where different types of images and buffers may end + up together, especially on GPUs with unified memory like Intel. +- *Non-linear image 0xebc91 is aliased with linear buffer 0xeb8e4 which may indicate a bug.* + - It may happen when you use [defragmentation](@ref defragmentation). + +\section general_considerations_allocation_algorithm Allocation algorithm + +The library uses following algorithm for allocation, in order: + +-# Try to find free range of memory in existing blocks. +-# If failed, try to create a new block of `VkDeviceMemory`, with preferred block size. +-# If failed, try to create such block with size / 2, size / 4, size / 8. +-# If failed, try to allocate separate `VkDeviceMemory` for this allocation, + just like when you use #VMA_ALLOCATION_CREATE_DEDICATED_MEMORY_BIT. +-# If failed, choose other memory type that meets the requirements specified in + VmaAllocationCreateInfo and go to point 1. +-# If failed, return `VK_ERROR_OUT_OF_DEVICE_MEMORY`. + +\section general_considerations_features_not_supported Features not supported + +Features deliberately excluded from the scope of this library: + +-# **Data transfer.** Uploading (streaming) and downloading data of buffers and images + between CPU and GPU memory and related synchronization is responsibility of the user. + Defining some "texture" object that would automatically stream its data from a + staging copy in CPU memory to GPU memory would rather be a feature of another, + higher-level library implemented on top of VMA. + VMA doesn't record any commands to a `VkCommandBuffer`. It just allocates memory. +-# **Recreation of buffers and images.** Although the library has functions for + buffer and image creation: vmaCreateBuffer(), vmaCreateImage(), you need to + recreate these objects yourself after defragmentation. That is because the big + structures `VkBufferCreateInfo`, `VkImageCreateInfo` are not stored in + #VmaAllocation object. +-# **Handling CPU memory allocation failures.** When dynamically creating small C++ + objects in CPU memory (not Vulkan memory), allocation failures are not checked + and handled gracefully, because that would complicate code significantly and + is usually not needed in desktop PC applications anyway. + Success of an allocation is just checked with an assert. +-# **Code free of any compiler warnings.** Maintaining the library to compile and + work correctly on so many different platforms is hard enough. Being free of + any warnings, on any version of any compiler, is simply not feasible. + There are many preprocessor macros that make some variables unused, function parameters unreferenced, + or conditional expressions constant in some configurations. + The code of this library should not be bigger or more complicated just to silence these warnings. + It is recommended to disable such warnings instead. +-# This is a C++ library with C interface. **Bindings or ports to any other programming languages** are welcome as external projects but + are not going to be included into this repository. +*/ diff --git a/MacroLibX/third_party/volk.c b/MacroLibX/third_party/volk.c new file mode 100644 index 0000000..d72e38c --- /dev/null +++ b/MacroLibX/third_party/volk.c @@ -0,0 +1,2739 @@ +/* This file is part of volk library; see volk.h for version/license details */ +/* clang-format off */ +#include "volk.h" + +#ifdef _WIN32 + typedef const char* LPCSTR; + typedef struct HINSTANCE__* HINSTANCE; + typedef HINSTANCE HMODULE; + #ifdef _WIN64 + typedef __int64 (__stdcall* FARPROC)(void); + #else + typedef int (__stdcall* FARPROC)(void); + #endif +#else +# include +#endif + +#ifdef __cplusplus +extern "C" { +#endif + +#ifdef _WIN32 +__declspec(dllimport) HMODULE __stdcall LoadLibraryA(LPCSTR); +__declspec(dllimport) FARPROC __stdcall GetProcAddress(HMODULE, LPCSTR); +#endif + +static VkInstance loadedInstance = VK_NULL_HANDLE; +static VkDevice loadedDevice = VK_NULL_HANDLE; + +static void volkGenLoadLoader(void* context, PFN_vkVoidFunction (*load)(void*, const char*)); +static void volkGenLoadInstance(void* context, PFN_vkVoidFunction (*load)(void*, const char*)); +static void volkGenLoadDevice(void* context, PFN_vkVoidFunction (*load)(void*, const char*)); +static void volkGenLoadDeviceTable(struct VolkDeviceTable* table, void* context, PFN_vkVoidFunction (*load)(void*, const char*)); + +static PFN_vkVoidFunction vkGetInstanceProcAddrStub(void* context, const char* name) +{ + return vkGetInstanceProcAddr((VkInstance)context, name); +} + +static PFN_vkVoidFunction vkGetDeviceProcAddrStub(void* context, const char* name) +{ + return vkGetDeviceProcAddr((VkDevice)context, name); +} + +VkResult volkInitialize(void) +{ +#if defined(_WIN32) + HMODULE module = LoadLibraryA("vulkan-1.dll"); + if (!module) + return VK_ERROR_INITIALIZATION_FAILED; + + // note: function pointer is cast through void function pointer to silence cast-function-type warning on gcc8 + vkGetInstanceProcAddr = (PFN_vkGetInstanceProcAddr)(void(*)(void))GetProcAddress(module, "vkGetInstanceProcAddr"); +#elif defined(__APPLE__) + void* module = dlopen("libvulkan.dylib", RTLD_NOW | RTLD_LOCAL); + if (!module) + module = dlopen("libvulkan.1.dylib", RTLD_NOW | RTLD_LOCAL); + if (!module) + module = dlopen("libMoltenVK.dylib", RTLD_NOW | RTLD_LOCAL); + if (!module) + return VK_ERROR_INITIALIZATION_FAILED; + + vkGetInstanceProcAddr = (PFN_vkGetInstanceProcAddr)dlsym(module, "vkGetInstanceProcAddr"); +#else + void* module = dlopen("libvulkan.so.1", RTLD_NOW | RTLD_LOCAL); + if (!module) + module = dlopen("libvulkan.so", RTLD_NOW | RTLD_LOCAL); + if (!module) + return VK_ERROR_INITIALIZATION_FAILED; + + vkGetInstanceProcAddr = (PFN_vkGetInstanceProcAddr)dlsym(module, "vkGetInstanceProcAddr"); +#endif + + volkGenLoadLoader(NULL, vkGetInstanceProcAddrStub); + + return VK_SUCCESS; +} + +void volkInitializeCustom(PFN_vkGetInstanceProcAddr handler) +{ + vkGetInstanceProcAddr = handler; + + volkGenLoadLoader(NULL, vkGetInstanceProcAddrStub); +} + +uint32_t volkGetInstanceVersion(void) +{ +#if defined(VK_VERSION_1_1) + uint32_t apiVersion = 0; + if (vkEnumerateInstanceVersion && vkEnumerateInstanceVersion(&apiVersion) == VK_SUCCESS) + return apiVersion; +#endif + + if (vkCreateInstance) + return VK_API_VERSION_1_0; + + return 0; +} + +void volkLoadInstance(VkInstance instance) +{ + loadedInstance = instance; + volkGenLoadInstance(instance, vkGetInstanceProcAddrStub); + volkGenLoadDevice(instance, vkGetInstanceProcAddrStub); +} + +void volkLoadInstanceOnly(VkInstance instance) +{ + loadedInstance = instance; + volkGenLoadInstance(instance, vkGetInstanceProcAddrStub); +} + +VkInstance volkGetLoadedInstance() +{ + return loadedInstance; +} + +void volkLoadDevice(VkDevice device) +{ + loadedDevice = device; + volkGenLoadDevice(device, vkGetDeviceProcAddrStub); +} + +VkDevice volkGetLoadedDevice() +{ + return loadedDevice; +} + +void volkLoadDeviceTable(struct VolkDeviceTable* table, VkDevice device) +{ + volkGenLoadDeviceTable(table, device, vkGetDeviceProcAddrStub); +} + +static void volkGenLoadLoader(void* context, PFN_vkVoidFunction (*load)(void*, const char*)) +{ + /* VOLK_GENERATE_LOAD_LOADER */ +#if defined(VK_VERSION_1_0) + vkCreateInstance = (PFN_vkCreateInstance)load(context, "vkCreateInstance"); + vkEnumerateInstanceExtensionProperties = (PFN_vkEnumerateInstanceExtensionProperties)load(context, "vkEnumerateInstanceExtensionProperties"); + vkEnumerateInstanceLayerProperties = (PFN_vkEnumerateInstanceLayerProperties)load(context, "vkEnumerateInstanceLayerProperties"); +#endif /* defined(VK_VERSION_1_0) */ +#if defined(VK_VERSION_1_1) + vkEnumerateInstanceVersion = (PFN_vkEnumerateInstanceVersion)load(context, "vkEnumerateInstanceVersion"); +#endif /* defined(VK_VERSION_1_1) */ + /* VOLK_GENERATE_LOAD_LOADER */ +} + +static void volkGenLoadInstance(void* context, PFN_vkVoidFunction (*load)(void*, const char*)) +{ + /* VOLK_GENERATE_LOAD_INSTANCE */ +#if defined(VK_VERSION_1_0) + vkCreateDevice = (PFN_vkCreateDevice)load(context, "vkCreateDevice"); + vkDestroyInstance = (PFN_vkDestroyInstance)load(context, "vkDestroyInstance"); + vkEnumerateDeviceExtensionProperties = (PFN_vkEnumerateDeviceExtensionProperties)load(context, "vkEnumerateDeviceExtensionProperties"); + vkEnumerateDeviceLayerProperties = (PFN_vkEnumerateDeviceLayerProperties)load(context, "vkEnumerateDeviceLayerProperties"); + vkEnumeratePhysicalDevices = (PFN_vkEnumeratePhysicalDevices)load(context, "vkEnumeratePhysicalDevices"); + vkGetDeviceProcAddr = (PFN_vkGetDeviceProcAddr)load(context, "vkGetDeviceProcAddr"); + vkGetPhysicalDeviceFeatures = (PFN_vkGetPhysicalDeviceFeatures)load(context, "vkGetPhysicalDeviceFeatures"); + vkGetPhysicalDeviceFormatProperties = (PFN_vkGetPhysicalDeviceFormatProperties)load(context, "vkGetPhysicalDeviceFormatProperties"); + vkGetPhysicalDeviceImageFormatProperties = (PFN_vkGetPhysicalDeviceImageFormatProperties)load(context, "vkGetPhysicalDeviceImageFormatProperties"); + vkGetPhysicalDeviceMemoryProperties = (PFN_vkGetPhysicalDeviceMemoryProperties)load(context, "vkGetPhysicalDeviceMemoryProperties"); + vkGetPhysicalDeviceProperties = (PFN_vkGetPhysicalDeviceProperties)load(context, "vkGetPhysicalDeviceProperties"); + vkGetPhysicalDeviceQueueFamilyProperties = (PFN_vkGetPhysicalDeviceQueueFamilyProperties)load(context, "vkGetPhysicalDeviceQueueFamilyProperties"); + vkGetPhysicalDeviceSparseImageFormatProperties = (PFN_vkGetPhysicalDeviceSparseImageFormatProperties)load(context, "vkGetPhysicalDeviceSparseImageFormatProperties"); +#endif /* defined(VK_VERSION_1_0) */ +#if defined(VK_VERSION_1_1) + vkEnumeratePhysicalDeviceGroups = (PFN_vkEnumeratePhysicalDeviceGroups)load(context, "vkEnumeratePhysicalDeviceGroups"); + vkGetPhysicalDeviceExternalBufferProperties = (PFN_vkGetPhysicalDeviceExternalBufferProperties)load(context, "vkGetPhysicalDeviceExternalBufferProperties"); + vkGetPhysicalDeviceExternalFenceProperties = (PFN_vkGetPhysicalDeviceExternalFenceProperties)load(context, "vkGetPhysicalDeviceExternalFenceProperties"); + vkGetPhysicalDeviceExternalSemaphoreProperties = (PFN_vkGetPhysicalDeviceExternalSemaphoreProperties)load(context, "vkGetPhysicalDeviceExternalSemaphoreProperties"); + vkGetPhysicalDeviceFeatures2 = (PFN_vkGetPhysicalDeviceFeatures2)load(context, "vkGetPhysicalDeviceFeatures2"); + vkGetPhysicalDeviceFormatProperties2 = (PFN_vkGetPhysicalDeviceFormatProperties2)load(context, "vkGetPhysicalDeviceFormatProperties2"); + vkGetPhysicalDeviceImageFormatProperties2 = (PFN_vkGetPhysicalDeviceImageFormatProperties2)load(context, "vkGetPhysicalDeviceImageFormatProperties2"); + vkGetPhysicalDeviceMemoryProperties2 = (PFN_vkGetPhysicalDeviceMemoryProperties2)load(context, "vkGetPhysicalDeviceMemoryProperties2"); + vkGetPhysicalDeviceProperties2 = (PFN_vkGetPhysicalDeviceProperties2)load(context, "vkGetPhysicalDeviceProperties2"); + vkGetPhysicalDeviceQueueFamilyProperties2 = (PFN_vkGetPhysicalDeviceQueueFamilyProperties2)load(context, "vkGetPhysicalDeviceQueueFamilyProperties2"); + vkGetPhysicalDeviceSparseImageFormatProperties2 = (PFN_vkGetPhysicalDeviceSparseImageFormatProperties2)load(context, "vkGetPhysicalDeviceSparseImageFormatProperties2"); +#endif /* defined(VK_VERSION_1_1) */ +#if defined(VK_VERSION_1_3) + vkGetPhysicalDeviceToolProperties = (PFN_vkGetPhysicalDeviceToolProperties)load(context, "vkGetPhysicalDeviceToolProperties"); +#endif /* defined(VK_VERSION_1_3) */ +#if defined(VK_EXT_acquire_drm_display) + vkAcquireDrmDisplayEXT = (PFN_vkAcquireDrmDisplayEXT)load(context, "vkAcquireDrmDisplayEXT"); + vkGetDrmDisplayEXT = (PFN_vkGetDrmDisplayEXT)load(context, "vkGetDrmDisplayEXT"); +#endif /* defined(VK_EXT_acquire_drm_display) */ +#if defined(VK_EXT_acquire_xlib_display) + vkAcquireXlibDisplayEXT = (PFN_vkAcquireXlibDisplayEXT)load(context, "vkAcquireXlibDisplayEXT"); + vkGetRandROutputDisplayEXT = (PFN_vkGetRandROutputDisplayEXT)load(context, "vkGetRandROutputDisplayEXT"); +#endif /* defined(VK_EXT_acquire_xlib_display) */ +#if defined(VK_EXT_calibrated_timestamps) + vkGetPhysicalDeviceCalibrateableTimeDomainsEXT = (PFN_vkGetPhysicalDeviceCalibrateableTimeDomainsEXT)load(context, "vkGetPhysicalDeviceCalibrateableTimeDomainsEXT"); +#endif /* defined(VK_EXT_calibrated_timestamps) */ +#if defined(VK_EXT_debug_report) + vkCreateDebugReportCallbackEXT = (PFN_vkCreateDebugReportCallbackEXT)load(context, "vkCreateDebugReportCallbackEXT"); + vkDebugReportMessageEXT = (PFN_vkDebugReportMessageEXT)load(context, "vkDebugReportMessageEXT"); + vkDestroyDebugReportCallbackEXT = (PFN_vkDestroyDebugReportCallbackEXT)load(context, "vkDestroyDebugReportCallbackEXT"); +#endif /* defined(VK_EXT_debug_report) */ +#if defined(VK_EXT_debug_utils) + vkCmdBeginDebugUtilsLabelEXT = (PFN_vkCmdBeginDebugUtilsLabelEXT)load(context, "vkCmdBeginDebugUtilsLabelEXT"); + vkCmdEndDebugUtilsLabelEXT = (PFN_vkCmdEndDebugUtilsLabelEXT)load(context, "vkCmdEndDebugUtilsLabelEXT"); + vkCmdInsertDebugUtilsLabelEXT = (PFN_vkCmdInsertDebugUtilsLabelEXT)load(context, "vkCmdInsertDebugUtilsLabelEXT"); + vkCreateDebugUtilsMessengerEXT = (PFN_vkCreateDebugUtilsMessengerEXT)load(context, "vkCreateDebugUtilsMessengerEXT"); + vkDestroyDebugUtilsMessengerEXT = (PFN_vkDestroyDebugUtilsMessengerEXT)load(context, "vkDestroyDebugUtilsMessengerEXT"); + vkQueueBeginDebugUtilsLabelEXT = (PFN_vkQueueBeginDebugUtilsLabelEXT)load(context, "vkQueueBeginDebugUtilsLabelEXT"); + vkQueueEndDebugUtilsLabelEXT = (PFN_vkQueueEndDebugUtilsLabelEXT)load(context, "vkQueueEndDebugUtilsLabelEXT"); + vkQueueInsertDebugUtilsLabelEXT = (PFN_vkQueueInsertDebugUtilsLabelEXT)load(context, "vkQueueInsertDebugUtilsLabelEXT"); + vkSetDebugUtilsObjectNameEXT = (PFN_vkSetDebugUtilsObjectNameEXT)load(context, "vkSetDebugUtilsObjectNameEXT"); + vkSetDebugUtilsObjectTagEXT = (PFN_vkSetDebugUtilsObjectTagEXT)load(context, "vkSetDebugUtilsObjectTagEXT"); + vkSubmitDebugUtilsMessageEXT = (PFN_vkSubmitDebugUtilsMessageEXT)load(context, "vkSubmitDebugUtilsMessageEXT"); +#endif /* defined(VK_EXT_debug_utils) */ +#if defined(VK_EXT_direct_mode_display) + vkReleaseDisplayEXT = (PFN_vkReleaseDisplayEXT)load(context, "vkReleaseDisplayEXT"); +#endif /* defined(VK_EXT_direct_mode_display) */ +#if defined(VK_EXT_directfb_surface) + vkCreateDirectFBSurfaceEXT = (PFN_vkCreateDirectFBSurfaceEXT)load(context, "vkCreateDirectFBSurfaceEXT"); + vkGetPhysicalDeviceDirectFBPresentationSupportEXT = (PFN_vkGetPhysicalDeviceDirectFBPresentationSupportEXT)load(context, "vkGetPhysicalDeviceDirectFBPresentationSupportEXT"); +#endif /* defined(VK_EXT_directfb_surface) */ +#if defined(VK_EXT_display_surface_counter) + vkGetPhysicalDeviceSurfaceCapabilities2EXT = (PFN_vkGetPhysicalDeviceSurfaceCapabilities2EXT)load(context, "vkGetPhysicalDeviceSurfaceCapabilities2EXT"); +#endif /* defined(VK_EXT_display_surface_counter) */ +#if defined(VK_EXT_full_screen_exclusive) + vkGetPhysicalDeviceSurfacePresentModes2EXT = (PFN_vkGetPhysicalDeviceSurfacePresentModes2EXT)load(context, "vkGetPhysicalDeviceSurfacePresentModes2EXT"); +#endif /* defined(VK_EXT_full_screen_exclusive) */ +#if defined(VK_EXT_headless_surface) + vkCreateHeadlessSurfaceEXT = (PFN_vkCreateHeadlessSurfaceEXT)load(context, "vkCreateHeadlessSurfaceEXT"); +#endif /* defined(VK_EXT_headless_surface) */ +#if defined(VK_EXT_metal_surface) + vkCreateMetalSurfaceEXT = (PFN_vkCreateMetalSurfaceEXT)load(context, "vkCreateMetalSurfaceEXT"); +#endif /* defined(VK_EXT_metal_surface) */ +#if defined(VK_EXT_sample_locations) + vkGetPhysicalDeviceMultisamplePropertiesEXT = (PFN_vkGetPhysicalDeviceMultisamplePropertiesEXT)load(context, "vkGetPhysicalDeviceMultisamplePropertiesEXT"); +#endif /* defined(VK_EXT_sample_locations) */ +#if defined(VK_EXT_tooling_info) + vkGetPhysicalDeviceToolPropertiesEXT = (PFN_vkGetPhysicalDeviceToolPropertiesEXT)load(context, "vkGetPhysicalDeviceToolPropertiesEXT"); +#endif /* defined(VK_EXT_tooling_info) */ +#if defined(VK_FUCHSIA_imagepipe_surface) + vkCreateImagePipeSurfaceFUCHSIA = (PFN_vkCreateImagePipeSurfaceFUCHSIA)load(context, "vkCreateImagePipeSurfaceFUCHSIA"); +#endif /* defined(VK_FUCHSIA_imagepipe_surface) */ +#if defined(VK_GGP_stream_descriptor_surface) + vkCreateStreamDescriptorSurfaceGGP = (PFN_vkCreateStreamDescriptorSurfaceGGP)load(context, "vkCreateStreamDescriptorSurfaceGGP"); +#endif /* defined(VK_GGP_stream_descriptor_surface) */ +#if defined(VK_KHR_android_surface) + vkCreateAndroidSurfaceKHR = (PFN_vkCreateAndroidSurfaceKHR)load(context, "vkCreateAndroidSurfaceKHR"); +#endif /* defined(VK_KHR_android_surface) */ +#if defined(VK_KHR_device_group_creation) + vkEnumeratePhysicalDeviceGroupsKHR = (PFN_vkEnumeratePhysicalDeviceGroupsKHR)load(context, "vkEnumeratePhysicalDeviceGroupsKHR"); +#endif /* defined(VK_KHR_device_group_creation) */ +#if defined(VK_KHR_display) + vkCreateDisplayModeKHR = (PFN_vkCreateDisplayModeKHR)load(context, "vkCreateDisplayModeKHR"); + vkCreateDisplayPlaneSurfaceKHR = (PFN_vkCreateDisplayPlaneSurfaceKHR)load(context, "vkCreateDisplayPlaneSurfaceKHR"); + vkGetDisplayModePropertiesKHR = (PFN_vkGetDisplayModePropertiesKHR)load(context, "vkGetDisplayModePropertiesKHR"); + vkGetDisplayPlaneCapabilitiesKHR = (PFN_vkGetDisplayPlaneCapabilitiesKHR)load(context, "vkGetDisplayPlaneCapabilitiesKHR"); + vkGetDisplayPlaneSupportedDisplaysKHR = (PFN_vkGetDisplayPlaneSupportedDisplaysKHR)load(context, "vkGetDisplayPlaneSupportedDisplaysKHR"); + vkGetPhysicalDeviceDisplayPlanePropertiesKHR = (PFN_vkGetPhysicalDeviceDisplayPlanePropertiesKHR)load(context, "vkGetPhysicalDeviceDisplayPlanePropertiesKHR"); + vkGetPhysicalDeviceDisplayPropertiesKHR = (PFN_vkGetPhysicalDeviceDisplayPropertiesKHR)load(context, "vkGetPhysicalDeviceDisplayPropertiesKHR"); +#endif /* defined(VK_KHR_display) */ +#if defined(VK_KHR_external_fence_capabilities) + vkGetPhysicalDeviceExternalFencePropertiesKHR = (PFN_vkGetPhysicalDeviceExternalFencePropertiesKHR)load(context, "vkGetPhysicalDeviceExternalFencePropertiesKHR"); +#endif /* defined(VK_KHR_external_fence_capabilities) */ +#if defined(VK_KHR_external_memory_capabilities) + vkGetPhysicalDeviceExternalBufferPropertiesKHR = (PFN_vkGetPhysicalDeviceExternalBufferPropertiesKHR)load(context, "vkGetPhysicalDeviceExternalBufferPropertiesKHR"); +#endif /* defined(VK_KHR_external_memory_capabilities) */ +#if defined(VK_KHR_external_semaphore_capabilities) + vkGetPhysicalDeviceExternalSemaphorePropertiesKHR = (PFN_vkGetPhysicalDeviceExternalSemaphorePropertiesKHR)load(context, "vkGetPhysicalDeviceExternalSemaphorePropertiesKHR"); +#endif /* defined(VK_KHR_external_semaphore_capabilities) */ +#if defined(VK_KHR_fragment_shading_rate) + vkGetPhysicalDeviceFragmentShadingRatesKHR = (PFN_vkGetPhysicalDeviceFragmentShadingRatesKHR)load(context, "vkGetPhysicalDeviceFragmentShadingRatesKHR"); +#endif /* defined(VK_KHR_fragment_shading_rate) */ +#if defined(VK_KHR_get_display_properties2) + vkGetDisplayModeProperties2KHR = (PFN_vkGetDisplayModeProperties2KHR)load(context, "vkGetDisplayModeProperties2KHR"); + vkGetDisplayPlaneCapabilities2KHR = (PFN_vkGetDisplayPlaneCapabilities2KHR)load(context, "vkGetDisplayPlaneCapabilities2KHR"); + vkGetPhysicalDeviceDisplayPlaneProperties2KHR = (PFN_vkGetPhysicalDeviceDisplayPlaneProperties2KHR)load(context, "vkGetPhysicalDeviceDisplayPlaneProperties2KHR"); + vkGetPhysicalDeviceDisplayProperties2KHR = (PFN_vkGetPhysicalDeviceDisplayProperties2KHR)load(context, "vkGetPhysicalDeviceDisplayProperties2KHR"); +#endif /* defined(VK_KHR_get_display_properties2) */ +#if defined(VK_KHR_get_physical_device_properties2) + vkGetPhysicalDeviceFeatures2KHR = (PFN_vkGetPhysicalDeviceFeatures2KHR)load(context, "vkGetPhysicalDeviceFeatures2KHR"); + vkGetPhysicalDeviceFormatProperties2KHR = (PFN_vkGetPhysicalDeviceFormatProperties2KHR)load(context, "vkGetPhysicalDeviceFormatProperties2KHR"); + vkGetPhysicalDeviceImageFormatProperties2KHR = (PFN_vkGetPhysicalDeviceImageFormatProperties2KHR)load(context, "vkGetPhysicalDeviceImageFormatProperties2KHR"); + vkGetPhysicalDeviceMemoryProperties2KHR = (PFN_vkGetPhysicalDeviceMemoryProperties2KHR)load(context, "vkGetPhysicalDeviceMemoryProperties2KHR"); + vkGetPhysicalDeviceProperties2KHR = (PFN_vkGetPhysicalDeviceProperties2KHR)load(context, "vkGetPhysicalDeviceProperties2KHR"); + vkGetPhysicalDeviceQueueFamilyProperties2KHR = (PFN_vkGetPhysicalDeviceQueueFamilyProperties2KHR)load(context, "vkGetPhysicalDeviceQueueFamilyProperties2KHR"); + vkGetPhysicalDeviceSparseImageFormatProperties2KHR = (PFN_vkGetPhysicalDeviceSparseImageFormatProperties2KHR)load(context, "vkGetPhysicalDeviceSparseImageFormatProperties2KHR"); +#endif /* defined(VK_KHR_get_physical_device_properties2) */ +#if defined(VK_KHR_get_surface_capabilities2) + vkGetPhysicalDeviceSurfaceCapabilities2KHR = (PFN_vkGetPhysicalDeviceSurfaceCapabilities2KHR)load(context, "vkGetPhysicalDeviceSurfaceCapabilities2KHR"); + vkGetPhysicalDeviceSurfaceFormats2KHR = (PFN_vkGetPhysicalDeviceSurfaceFormats2KHR)load(context, "vkGetPhysicalDeviceSurfaceFormats2KHR"); +#endif /* defined(VK_KHR_get_surface_capabilities2) */ +#if defined(VK_KHR_performance_query) + vkEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR = (PFN_vkEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR)load(context, "vkEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR"); + vkGetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR = (PFN_vkGetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR)load(context, "vkGetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR"); +#endif /* defined(VK_KHR_performance_query) */ +#if defined(VK_KHR_surface) + vkDestroySurfaceKHR = (PFN_vkDestroySurfaceKHR)load(context, "vkDestroySurfaceKHR"); + vkGetPhysicalDeviceSurfaceCapabilitiesKHR = (PFN_vkGetPhysicalDeviceSurfaceCapabilitiesKHR)load(context, "vkGetPhysicalDeviceSurfaceCapabilitiesKHR"); + vkGetPhysicalDeviceSurfaceFormatsKHR = (PFN_vkGetPhysicalDeviceSurfaceFormatsKHR)load(context, "vkGetPhysicalDeviceSurfaceFormatsKHR"); + vkGetPhysicalDeviceSurfacePresentModesKHR = (PFN_vkGetPhysicalDeviceSurfacePresentModesKHR)load(context, "vkGetPhysicalDeviceSurfacePresentModesKHR"); + vkGetPhysicalDeviceSurfaceSupportKHR = (PFN_vkGetPhysicalDeviceSurfaceSupportKHR)load(context, "vkGetPhysicalDeviceSurfaceSupportKHR"); +#endif /* defined(VK_KHR_surface) */ +#if defined(VK_KHR_video_queue) + vkGetPhysicalDeviceVideoCapabilitiesKHR = (PFN_vkGetPhysicalDeviceVideoCapabilitiesKHR)load(context, "vkGetPhysicalDeviceVideoCapabilitiesKHR"); + vkGetPhysicalDeviceVideoFormatPropertiesKHR = (PFN_vkGetPhysicalDeviceVideoFormatPropertiesKHR)load(context, "vkGetPhysicalDeviceVideoFormatPropertiesKHR"); +#endif /* defined(VK_KHR_video_queue) */ +#if defined(VK_KHR_wayland_surface) + vkCreateWaylandSurfaceKHR = (PFN_vkCreateWaylandSurfaceKHR)load(context, "vkCreateWaylandSurfaceKHR"); + vkGetPhysicalDeviceWaylandPresentationSupportKHR = (PFN_vkGetPhysicalDeviceWaylandPresentationSupportKHR)load(context, "vkGetPhysicalDeviceWaylandPresentationSupportKHR"); +#endif /* defined(VK_KHR_wayland_surface) */ +#if defined(VK_KHR_win32_surface) + vkCreateWin32SurfaceKHR = (PFN_vkCreateWin32SurfaceKHR)load(context, "vkCreateWin32SurfaceKHR"); + vkGetPhysicalDeviceWin32PresentationSupportKHR = (PFN_vkGetPhysicalDeviceWin32PresentationSupportKHR)load(context, "vkGetPhysicalDeviceWin32PresentationSupportKHR"); +#endif /* defined(VK_KHR_win32_surface) */ +#if defined(VK_KHR_xcb_surface) + vkCreateXcbSurfaceKHR = (PFN_vkCreateXcbSurfaceKHR)load(context, "vkCreateXcbSurfaceKHR"); + vkGetPhysicalDeviceXcbPresentationSupportKHR = (PFN_vkGetPhysicalDeviceXcbPresentationSupportKHR)load(context, "vkGetPhysicalDeviceXcbPresentationSupportKHR"); +#endif /* defined(VK_KHR_xcb_surface) */ +#if defined(VK_KHR_xlib_surface) + vkCreateXlibSurfaceKHR = (PFN_vkCreateXlibSurfaceKHR)load(context, "vkCreateXlibSurfaceKHR"); + vkGetPhysicalDeviceXlibPresentationSupportKHR = (PFN_vkGetPhysicalDeviceXlibPresentationSupportKHR)load(context, "vkGetPhysicalDeviceXlibPresentationSupportKHR"); +#endif /* defined(VK_KHR_xlib_surface) */ +#if defined(VK_MVK_ios_surface) + vkCreateIOSSurfaceMVK = (PFN_vkCreateIOSSurfaceMVK)load(context, "vkCreateIOSSurfaceMVK"); +#endif /* defined(VK_MVK_ios_surface) */ +#if defined(VK_MVK_macos_surface) + vkCreateMacOSSurfaceMVK = (PFN_vkCreateMacOSSurfaceMVK)load(context, "vkCreateMacOSSurfaceMVK"); +#endif /* defined(VK_MVK_macos_surface) */ +#if defined(VK_NN_vi_surface) + vkCreateViSurfaceNN = (PFN_vkCreateViSurfaceNN)load(context, "vkCreateViSurfaceNN"); +#endif /* defined(VK_NN_vi_surface) */ +#if defined(VK_NV_acquire_winrt_display) + vkAcquireWinrtDisplayNV = (PFN_vkAcquireWinrtDisplayNV)load(context, "vkAcquireWinrtDisplayNV"); + vkGetWinrtDisplayNV = (PFN_vkGetWinrtDisplayNV)load(context, "vkGetWinrtDisplayNV"); +#endif /* defined(VK_NV_acquire_winrt_display) */ +#if defined(VK_NV_cooperative_matrix) + vkGetPhysicalDeviceCooperativeMatrixPropertiesNV = (PFN_vkGetPhysicalDeviceCooperativeMatrixPropertiesNV)load(context, "vkGetPhysicalDeviceCooperativeMatrixPropertiesNV"); +#endif /* defined(VK_NV_cooperative_matrix) */ +#if defined(VK_NV_coverage_reduction_mode) + vkGetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV = (PFN_vkGetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV)load(context, "vkGetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV"); +#endif /* defined(VK_NV_coverage_reduction_mode) */ +#if defined(VK_NV_external_memory_capabilities) + vkGetPhysicalDeviceExternalImageFormatPropertiesNV = (PFN_vkGetPhysicalDeviceExternalImageFormatPropertiesNV)load(context, "vkGetPhysicalDeviceExternalImageFormatPropertiesNV"); +#endif /* defined(VK_NV_external_memory_capabilities) */ +#if defined(VK_NV_optical_flow) + vkGetPhysicalDeviceOpticalFlowImageFormatsNV = (PFN_vkGetPhysicalDeviceOpticalFlowImageFormatsNV)load(context, "vkGetPhysicalDeviceOpticalFlowImageFormatsNV"); +#endif /* defined(VK_NV_optical_flow) */ +#if defined(VK_QNX_screen_surface) + vkCreateScreenSurfaceQNX = (PFN_vkCreateScreenSurfaceQNX)load(context, "vkCreateScreenSurfaceQNX"); + vkGetPhysicalDeviceScreenPresentationSupportQNX = (PFN_vkGetPhysicalDeviceScreenPresentationSupportQNX)load(context, "vkGetPhysicalDeviceScreenPresentationSupportQNX"); +#endif /* defined(VK_QNX_screen_surface) */ +#if (defined(VK_KHR_device_group) && defined(VK_KHR_surface)) || (defined(VK_KHR_swapchain) && defined(VK_VERSION_1_1)) + vkGetPhysicalDevicePresentRectanglesKHR = (PFN_vkGetPhysicalDevicePresentRectanglesKHR)load(context, "vkGetPhysicalDevicePresentRectanglesKHR"); +#endif /* (defined(VK_KHR_device_group) && defined(VK_KHR_surface)) || (defined(VK_KHR_swapchain) && defined(VK_VERSION_1_1)) */ + /* VOLK_GENERATE_LOAD_INSTANCE */ +} + +static void volkGenLoadDevice(void* context, PFN_vkVoidFunction (*load)(void*, const char*)) +{ + /* VOLK_GENERATE_LOAD_DEVICE */ +#if defined(VK_VERSION_1_0) + vkAllocateCommandBuffers = (PFN_vkAllocateCommandBuffers)load(context, "vkAllocateCommandBuffers"); + vkAllocateDescriptorSets = (PFN_vkAllocateDescriptorSets)load(context, "vkAllocateDescriptorSets"); + vkAllocateMemory = (PFN_vkAllocateMemory)load(context, "vkAllocateMemory"); + vkBeginCommandBuffer = (PFN_vkBeginCommandBuffer)load(context, "vkBeginCommandBuffer"); + vkBindBufferMemory = (PFN_vkBindBufferMemory)load(context, "vkBindBufferMemory"); + vkBindImageMemory = (PFN_vkBindImageMemory)load(context, "vkBindImageMemory"); + vkCmdBeginQuery = (PFN_vkCmdBeginQuery)load(context, "vkCmdBeginQuery"); + vkCmdBeginRenderPass = (PFN_vkCmdBeginRenderPass)load(context, "vkCmdBeginRenderPass"); + vkCmdBindDescriptorSets = (PFN_vkCmdBindDescriptorSets)load(context, "vkCmdBindDescriptorSets"); + vkCmdBindIndexBuffer = (PFN_vkCmdBindIndexBuffer)load(context, "vkCmdBindIndexBuffer"); + vkCmdBindPipeline = (PFN_vkCmdBindPipeline)load(context, "vkCmdBindPipeline"); + vkCmdBindVertexBuffers = (PFN_vkCmdBindVertexBuffers)load(context, "vkCmdBindVertexBuffers"); + vkCmdBlitImage = (PFN_vkCmdBlitImage)load(context, "vkCmdBlitImage"); + vkCmdClearAttachments = (PFN_vkCmdClearAttachments)load(context, "vkCmdClearAttachments"); + vkCmdClearColorImage = (PFN_vkCmdClearColorImage)load(context, "vkCmdClearColorImage"); + vkCmdClearDepthStencilImage = (PFN_vkCmdClearDepthStencilImage)load(context, "vkCmdClearDepthStencilImage"); + vkCmdCopyBuffer = (PFN_vkCmdCopyBuffer)load(context, "vkCmdCopyBuffer"); + vkCmdCopyBufferToImage = (PFN_vkCmdCopyBufferToImage)load(context, "vkCmdCopyBufferToImage"); + vkCmdCopyImage = (PFN_vkCmdCopyImage)load(context, "vkCmdCopyImage"); + vkCmdCopyImageToBuffer = (PFN_vkCmdCopyImageToBuffer)load(context, "vkCmdCopyImageToBuffer"); + vkCmdCopyQueryPoolResults = (PFN_vkCmdCopyQueryPoolResults)load(context, "vkCmdCopyQueryPoolResults"); + vkCmdDispatch = (PFN_vkCmdDispatch)load(context, "vkCmdDispatch"); + vkCmdDispatchIndirect = (PFN_vkCmdDispatchIndirect)load(context, "vkCmdDispatchIndirect"); + vkCmdDraw = (PFN_vkCmdDraw)load(context, "vkCmdDraw"); + vkCmdDrawIndexed = (PFN_vkCmdDrawIndexed)load(context, "vkCmdDrawIndexed"); + vkCmdDrawIndexedIndirect = (PFN_vkCmdDrawIndexedIndirect)load(context, "vkCmdDrawIndexedIndirect"); + vkCmdDrawIndirect = (PFN_vkCmdDrawIndirect)load(context, "vkCmdDrawIndirect"); + vkCmdEndQuery = (PFN_vkCmdEndQuery)load(context, "vkCmdEndQuery"); + vkCmdEndRenderPass = (PFN_vkCmdEndRenderPass)load(context, "vkCmdEndRenderPass"); + vkCmdExecuteCommands = (PFN_vkCmdExecuteCommands)load(context, "vkCmdExecuteCommands"); + vkCmdFillBuffer = (PFN_vkCmdFillBuffer)load(context, "vkCmdFillBuffer"); + vkCmdNextSubpass = (PFN_vkCmdNextSubpass)load(context, "vkCmdNextSubpass"); + vkCmdPipelineBarrier = (PFN_vkCmdPipelineBarrier)load(context, "vkCmdPipelineBarrier"); + vkCmdPushConstants = (PFN_vkCmdPushConstants)load(context, "vkCmdPushConstants"); + vkCmdResetEvent = (PFN_vkCmdResetEvent)load(context, "vkCmdResetEvent"); + vkCmdResetQueryPool = (PFN_vkCmdResetQueryPool)load(context, "vkCmdResetQueryPool"); + vkCmdResolveImage = (PFN_vkCmdResolveImage)load(context, "vkCmdResolveImage"); + vkCmdSetBlendConstants = (PFN_vkCmdSetBlendConstants)load(context, "vkCmdSetBlendConstants"); + vkCmdSetDepthBias = (PFN_vkCmdSetDepthBias)load(context, "vkCmdSetDepthBias"); + vkCmdSetDepthBounds = (PFN_vkCmdSetDepthBounds)load(context, "vkCmdSetDepthBounds"); + vkCmdSetEvent = (PFN_vkCmdSetEvent)load(context, "vkCmdSetEvent"); + vkCmdSetLineWidth = (PFN_vkCmdSetLineWidth)load(context, "vkCmdSetLineWidth"); + vkCmdSetScissor = (PFN_vkCmdSetScissor)load(context, "vkCmdSetScissor"); + vkCmdSetStencilCompareMask = (PFN_vkCmdSetStencilCompareMask)load(context, "vkCmdSetStencilCompareMask"); + vkCmdSetStencilReference = (PFN_vkCmdSetStencilReference)load(context, "vkCmdSetStencilReference"); + vkCmdSetStencilWriteMask = (PFN_vkCmdSetStencilWriteMask)load(context, "vkCmdSetStencilWriteMask"); + vkCmdSetViewport = (PFN_vkCmdSetViewport)load(context, "vkCmdSetViewport"); + vkCmdUpdateBuffer = (PFN_vkCmdUpdateBuffer)load(context, "vkCmdUpdateBuffer"); + vkCmdWaitEvents = (PFN_vkCmdWaitEvents)load(context, "vkCmdWaitEvents"); + vkCmdWriteTimestamp = (PFN_vkCmdWriteTimestamp)load(context, "vkCmdWriteTimestamp"); + vkCreateBuffer = (PFN_vkCreateBuffer)load(context, "vkCreateBuffer"); + vkCreateBufferView = (PFN_vkCreateBufferView)load(context, "vkCreateBufferView"); + vkCreateCommandPool = (PFN_vkCreateCommandPool)load(context, "vkCreateCommandPool"); + vkCreateComputePipelines = (PFN_vkCreateComputePipelines)load(context, "vkCreateComputePipelines"); + vkCreateDescriptorPool = (PFN_vkCreateDescriptorPool)load(context, "vkCreateDescriptorPool"); + vkCreateDescriptorSetLayout = (PFN_vkCreateDescriptorSetLayout)load(context, "vkCreateDescriptorSetLayout"); + vkCreateEvent = (PFN_vkCreateEvent)load(context, "vkCreateEvent"); + vkCreateFence = (PFN_vkCreateFence)load(context, "vkCreateFence"); + vkCreateFramebuffer = (PFN_vkCreateFramebuffer)load(context, "vkCreateFramebuffer"); + vkCreateGraphicsPipelines = (PFN_vkCreateGraphicsPipelines)load(context, "vkCreateGraphicsPipelines"); + vkCreateImage = (PFN_vkCreateImage)load(context, "vkCreateImage"); + vkCreateImageView = (PFN_vkCreateImageView)load(context, "vkCreateImageView"); + vkCreatePipelineCache = (PFN_vkCreatePipelineCache)load(context, "vkCreatePipelineCache"); + vkCreatePipelineLayout = (PFN_vkCreatePipelineLayout)load(context, "vkCreatePipelineLayout"); + vkCreateQueryPool = (PFN_vkCreateQueryPool)load(context, "vkCreateQueryPool"); + vkCreateRenderPass = (PFN_vkCreateRenderPass)load(context, "vkCreateRenderPass"); + vkCreateSampler = (PFN_vkCreateSampler)load(context, "vkCreateSampler"); + vkCreateSemaphore = (PFN_vkCreateSemaphore)load(context, "vkCreateSemaphore"); + vkCreateShaderModule = (PFN_vkCreateShaderModule)load(context, "vkCreateShaderModule"); + vkDestroyBuffer = (PFN_vkDestroyBuffer)load(context, "vkDestroyBuffer"); + vkDestroyBufferView = (PFN_vkDestroyBufferView)load(context, "vkDestroyBufferView"); + vkDestroyCommandPool = (PFN_vkDestroyCommandPool)load(context, "vkDestroyCommandPool"); + vkDestroyDescriptorPool = (PFN_vkDestroyDescriptorPool)load(context, "vkDestroyDescriptorPool"); + vkDestroyDescriptorSetLayout = (PFN_vkDestroyDescriptorSetLayout)load(context, "vkDestroyDescriptorSetLayout"); + vkDestroyDevice = (PFN_vkDestroyDevice)load(context, "vkDestroyDevice"); + vkDestroyEvent = (PFN_vkDestroyEvent)load(context, "vkDestroyEvent"); + vkDestroyFence = (PFN_vkDestroyFence)load(context, "vkDestroyFence"); + vkDestroyFramebuffer = (PFN_vkDestroyFramebuffer)load(context, "vkDestroyFramebuffer"); + vkDestroyImage = (PFN_vkDestroyImage)load(context, "vkDestroyImage"); + vkDestroyImageView = (PFN_vkDestroyImageView)load(context, "vkDestroyImageView"); + vkDestroyPipeline = (PFN_vkDestroyPipeline)load(context, "vkDestroyPipeline"); + vkDestroyPipelineCache = (PFN_vkDestroyPipelineCache)load(context, "vkDestroyPipelineCache"); + vkDestroyPipelineLayout = (PFN_vkDestroyPipelineLayout)load(context, "vkDestroyPipelineLayout"); + vkDestroyQueryPool = (PFN_vkDestroyQueryPool)load(context, "vkDestroyQueryPool"); + vkDestroyRenderPass = (PFN_vkDestroyRenderPass)load(context, "vkDestroyRenderPass"); + vkDestroySampler = (PFN_vkDestroySampler)load(context, "vkDestroySampler"); + vkDestroySemaphore = (PFN_vkDestroySemaphore)load(context, "vkDestroySemaphore"); + vkDestroyShaderModule = (PFN_vkDestroyShaderModule)load(context, "vkDestroyShaderModule"); + vkDeviceWaitIdle = (PFN_vkDeviceWaitIdle)load(context, "vkDeviceWaitIdle"); + vkEndCommandBuffer = (PFN_vkEndCommandBuffer)load(context, "vkEndCommandBuffer"); + vkFlushMappedMemoryRanges = (PFN_vkFlushMappedMemoryRanges)load(context, "vkFlushMappedMemoryRanges"); + vkFreeCommandBuffers = (PFN_vkFreeCommandBuffers)load(context, "vkFreeCommandBuffers"); + vkFreeDescriptorSets = (PFN_vkFreeDescriptorSets)load(context, "vkFreeDescriptorSets"); + vkFreeMemory = (PFN_vkFreeMemory)load(context, "vkFreeMemory"); + vkGetBufferMemoryRequirements = (PFN_vkGetBufferMemoryRequirements)load(context, "vkGetBufferMemoryRequirements"); + vkGetDeviceMemoryCommitment = (PFN_vkGetDeviceMemoryCommitment)load(context, "vkGetDeviceMemoryCommitment"); + vkGetDeviceQueue = (PFN_vkGetDeviceQueue)load(context, "vkGetDeviceQueue"); + vkGetEventStatus = (PFN_vkGetEventStatus)load(context, "vkGetEventStatus"); + vkGetFenceStatus = (PFN_vkGetFenceStatus)load(context, "vkGetFenceStatus"); + vkGetImageMemoryRequirements = (PFN_vkGetImageMemoryRequirements)load(context, "vkGetImageMemoryRequirements"); + vkGetImageSparseMemoryRequirements = (PFN_vkGetImageSparseMemoryRequirements)load(context, "vkGetImageSparseMemoryRequirements"); + vkGetImageSubresourceLayout = (PFN_vkGetImageSubresourceLayout)load(context, "vkGetImageSubresourceLayout"); + vkGetPipelineCacheData = (PFN_vkGetPipelineCacheData)load(context, "vkGetPipelineCacheData"); + vkGetQueryPoolResults = (PFN_vkGetQueryPoolResults)load(context, "vkGetQueryPoolResults"); + vkGetRenderAreaGranularity = (PFN_vkGetRenderAreaGranularity)load(context, "vkGetRenderAreaGranularity"); + vkInvalidateMappedMemoryRanges = (PFN_vkInvalidateMappedMemoryRanges)load(context, "vkInvalidateMappedMemoryRanges"); + vkMapMemory = (PFN_vkMapMemory)load(context, "vkMapMemory"); + vkMergePipelineCaches = (PFN_vkMergePipelineCaches)load(context, "vkMergePipelineCaches"); + vkQueueBindSparse = (PFN_vkQueueBindSparse)load(context, "vkQueueBindSparse"); + vkQueueSubmit = (PFN_vkQueueSubmit)load(context, "vkQueueSubmit"); + vkQueueWaitIdle = (PFN_vkQueueWaitIdle)load(context, "vkQueueWaitIdle"); + vkResetCommandBuffer = (PFN_vkResetCommandBuffer)load(context, "vkResetCommandBuffer"); + vkResetCommandPool = (PFN_vkResetCommandPool)load(context, "vkResetCommandPool"); + vkResetDescriptorPool = (PFN_vkResetDescriptorPool)load(context, "vkResetDescriptorPool"); + vkResetEvent = (PFN_vkResetEvent)load(context, "vkResetEvent"); + vkResetFences = (PFN_vkResetFences)load(context, "vkResetFences"); + vkSetEvent = (PFN_vkSetEvent)load(context, "vkSetEvent"); + vkUnmapMemory = (PFN_vkUnmapMemory)load(context, "vkUnmapMemory"); + vkUpdateDescriptorSets = (PFN_vkUpdateDescriptorSets)load(context, "vkUpdateDescriptorSets"); + vkWaitForFences = (PFN_vkWaitForFences)load(context, "vkWaitForFences"); +#endif /* defined(VK_VERSION_1_0) */ +#if defined(VK_VERSION_1_1) + vkBindBufferMemory2 = (PFN_vkBindBufferMemory2)load(context, "vkBindBufferMemory2"); + vkBindImageMemory2 = (PFN_vkBindImageMemory2)load(context, "vkBindImageMemory2"); + vkCmdDispatchBase = (PFN_vkCmdDispatchBase)load(context, "vkCmdDispatchBase"); + vkCmdSetDeviceMask = (PFN_vkCmdSetDeviceMask)load(context, "vkCmdSetDeviceMask"); + vkCreateDescriptorUpdateTemplate = (PFN_vkCreateDescriptorUpdateTemplate)load(context, "vkCreateDescriptorUpdateTemplate"); + vkCreateSamplerYcbcrConversion = (PFN_vkCreateSamplerYcbcrConversion)load(context, "vkCreateSamplerYcbcrConversion"); + vkDestroyDescriptorUpdateTemplate = (PFN_vkDestroyDescriptorUpdateTemplate)load(context, "vkDestroyDescriptorUpdateTemplate"); + vkDestroySamplerYcbcrConversion = (PFN_vkDestroySamplerYcbcrConversion)load(context, "vkDestroySamplerYcbcrConversion"); + vkGetBufferMemoryRequirements2 = (PFN_vkGetBufferMemoryRequirements2)load(context, "vkGetBufferMemoryRequirements2"); + vkGetDescriptorSetLayoutSupport = (PFN_vkGetDescriptorSetLayoutSupport)load(context, "vkGetDescriptorSetLayoutSupport"); + vkGetDeviceGroupPeerMemoryFeatures = (PFN_vkGetDeviceGroupPeerMemoryFeatures)load(context, "vkGetDeviceGroupPeerMemoryFeatures"); + vkGetDeviceQueue2 = (PFN_vkGetDeviceQueue2)load(context, "vkGetDeviceQueue2"); + vkGetImageMemoryRequirements2 = (PFN_vkGetImageMemoryRequirements2)load(context, "vkGetImageMemoryRequirements2"); + vkGetImageSparseMemoryRequirements2 = (PFN_vkGetImageSparseMemoryRequirements2)load(context, "vkGetImageSparseMemoryRequirements2"); + vkTrimCommandPool = (PFN_vkTrimCommandPool)load(context, "vkTrimCommandPool"); + vkUpdateDescriptorSetWithTemplate = (PFN_vkUpdateDescriptorSetWithTemplate)load(context, "vkUpdateDescriptorSetWithTemplate"); +#endif /* defined(VK_VERSION_1_1) */ +#if defined(VK_VERSION_1_2) + vkCmdBeginRenderPass2 = (PFN_vkCmdBeginRenderPass2)load(context, "vkCmdBeginRenderPass2"); + vkCmdDrawIndexedIndirectCount = (PFN_vkCmdDrawIndexedIndirectCount)load(context, "vkCmdDrawIndexedIndirectCount"); + vkCmdDrawIndirectCount = (PFN_vkCmdDrawIndirectCount)load(context, "vkCmdDrawIndirectCount"); + vkCmdEndRenderPass2 = (PFN_vkCmdEndRenderPass2)load(context, "vkCmdEndRenderPass2"); + vkCmdNextSubpass2 = (PFN_vkCmdNextSubpass2)load(context, "vkCmdNextSubpass2"); + vkCreateRenderPass2 = (PFN_vkCreateRenderPass2)load(context, "vkCreateRenderPass2"); + vkGetBufferDeviceAddress = (PFN_vkGetBufferDeviceAddress)load(context, "vkGetBufferDeviceAddress"); + vkGetBufferOpaqueCaptureAddress = (PFN_vkGetBufferOpaqueCaptureAddress)load(context, "vkGetBufferOpaqueCaptureAddress"); + vkGetDeviceMemoryOpaqueCaptureAddress = (PFN_vkGetDeviceMemoryOpaqueCaptureAddress)load(context, "vkGetDeviceMemoryOpaqueCaptureAddress"); + vkGetSemaphoreCounterValue = (PFN_vkGetSemaphoreCounterValue)load(context, "vkGetSemaphoreCounterValue"); + vkResetQueryPool = (PFN_vkResetQueryPool)load(context, "vkResetQueryPool"); + vkSignalSemaphore = (PFN_vkSignalSemaphore)load(context, "vkSignalSemaphore"); + vkWaitSemaphores = (PFN_vkWaitSemaphores)load(context, "vkWaitSemaphores"); +#endif /* defined(VK_VERSION_1_2) */ +#if defined(VK_VERSION_1_3) + vkCmdBeginRendering = (PFN_vkCmdBeginRendering)load(context, "vkCmdBeginRendering"); + vkCmdBindVertexBuffers2 = (PFN_vkCmdBindVertexBuffers2)load(context, "vkCmdBindVertexBuffers2"); + vkCmdBlitImage2 = (PFN_vkCmdBlitImage2)load(context, "vkCmdBlitImage2"); + vkCmdCopyBuffer2 = (PFN_vkCmdCopyBuffer2)load(context, "vkCmdCopyBuffer2"); + vkCmdCopyBufferToImage2 = (PFN_vkCmdCopyBufferToImage2)load(context, "vkCmdCopyBufferToImage2"); + vkCmdCopyImage2 = (PFN_vkCmdCopyImage2)load(context, "vkCmdCopyImage2"); + vkCmdCopyImageToBuffer2 = (PFN_vkCmdCopyImageToBuffer2)load(context, "vkCmdCopyImageToBuffer2"); + vkCmdEndRendering = (PFN_vkCmdEndRendering)load(context, "vkCmdEndRendering"); + vkCmdPipelineBarrier2 = (PFN_vkCmdPipelineBarrier2)load(context, "vkCmdPipelineBarrier2"); + vkCmdResetEvent2 = (PFN_vkCmdResetEvent2)load(context, "vkCmdResetEvent2"); + vkCmdResolveImage2 = (PFN_vkCmdResolveImage2)load(context, "vkCmdResolveImage2"); + vkCmdSetCullMode = (PFN_vkCmdSetCullMode)load(context, "vkCmdSetCullMode"); + vkCmdSetDepthBiasEnable = (PFN_vkCmdSetDepthBiasEnable)load(context, "vkCmdSetDepthBiasEnable"); + vkCmdSetDepthBoundsTestEnable = (PFN_vkCmdSetDepthBoundsTestEnable)load(context, "vkCmdSetDepthBoundsTestEnable"); + vkCmdSetDepthCompareOp = (PFN_vkCmdSetDepthCompareOp)load(context, "vkCmdSetDepthCompareOp"); + vkCmdSetDepthTestEnable = (PFN_vkCmdSetDepthTestEnable)load(context, "vkCmdSetDepthTestEnable"); + vkCmdSetDepthWriteEnable = (PFN_vkCmdSetDepthWriteEnable)load(context, "vkCmdSetDepthWriteEnable"); + vkCmdSetEvent2 = (PFN_vkCmdSetEvent2)load(context, "vkCmdSetEvent2"); + vkCmdSetFrontFace = (PFN_vkCmdSetFrontFace)load(context, "vkCmdSetFrontFace"); + vkCmdSetPrimitiveRestartEnable = (PFN_vkCmdSetPrimitiveRestartEnable)load(context, "vkCmdSetPrimitiveRestartEnable"); + vkCmdSetPrimitiveTopology = (PFN_vkCmdSetPrimitiveTopology)load(context, "vkCmdSetPrimitiveTopology"); + vkCmdSetRasterizerDiscardEnable = (PFN_vkCmdSetRasterizerDiscardEnable)load(context, "vkCmdSetRasterizerDiscardEnable"); + vkCmdSetScissorWithCount = (PFN_vkCmdSetScissorWithCount)load(context, "vkCmdSetScissorWithCount"); + vkCmdSetStencilOp = (PFN_vkCmdSetStencilOp)load(context, "vkCmdSetStencilOp"); + vkCmdSetStencilTestEnable = (PFN_vkCmdSetStencilTestEnable)load(context, "vkCmdSetStencilTestEnable"); + vkCmdSetViewportWithCount = (PFN_vkCmdSetViewportWithCount)load(context, "vkCmdSetViewportWithCount"); + vkCmdWaitEvents2 = (PFN_vkCmdWaitEvents2)load(context, "vkCmdWaitEvents2"); + vkCmdWriteTimestamp2 = (PFN_vkCmdWriteTimestamp2)load(context, "vkCmdWriteTimestamp2"); + vkCreatePrivateDataSlot = (PFN_vkCreatePrivateDataSlot)load(context, "vkCreatePrivateDataSlot"); + vkDestroyPrivateDataSlot = (PFN_vkDestroyPrivateDataSlot)load(context, "vkDestroyPrivateDataSlot"); + vkGetDeviceBufferMemoryRequirements = (PFN_vkGetDeviceBufferMemoryRequirements)load(context, "vkGetDeviceBufferMemoryRequirements"); + vkGetDeviceImageMemoryRequirements = (PFN_vkGetDeviceImageMemoryRequirements)load(context, "vkGetDeviceImageMemoryRequirements"); + vkGetDeviceImageSparseMemoryRequirements = (PFN_vkGetDeviceImageSparseMemoryRequirements)load(context, "vkGetDeviceImageSparseMemoryRequirements"); + vkGetPrivateData = (PFN_vkGetPrivateData)load(context, "vkGetPrivateData"); + vkQueueSubmit2 = (PFN_vkQueueSubmit2)load(context, "vkQueueSubmit2"); + vkSetPrivateData = (PFN_vkSetPrivateData)load(context, "vkSetPrivateData"); +#endif /* defined(VK_VERSION_1_3) */ +#if defined(VK_AMD_buffer_marker) + vkCmdWriteBufferMarkerAMD = (PFN_vkCmdWriteBufferMarkerAMD)load(context, "vkCmdWriteBufferMarkerAMD"); +#endif /* defined(VK_AMD_buffer_marker) */ +#if defined(VK_AMD_display_native_hdr) + vkSetLocalDimmingAMD = (PFN_vkSetLocalDimmingAMD)load(context, "vkSetLocalDimmingAMD"); +#endif /* defined(VK_AMD_display_native_hdr) */ +#if defined(VK_AMD_draw_indirect_count) + vkCmdDrawIndexedIndirectCountAMD = (PFN_vkCmdDrawIndexedIndirectCountAMD)load(context, "vkCmdDrawIndexedIndirectCountAMD"); + vkCmdDrawIndirectCountAMD = (PFN_vkCmdDrawIndirectCountAMD)load(context, "vkCmdDrawIndirectCountAMD"); +#endif /* defined(VK_AMD_draw_indirect_count) */ +#if defined(VK_AMD_shader_info) + vkGetShaderInfoAMD = (PFN_vkGetShaderInfoAMD)load(context, "vkGetShaderInfoAMD"); +#endif /* defined(VK_AMD_shader_info) */ +#if defined(VK_ANDROID_external_memory_android_hardware_buffer) + vkGetAndroidHardwareBufferPropertiesANDROID = (PFN_vkGetAndroidHardwareBufferPropertiesANDROID)load(context, "vkGetAndroidHardwareBufferPropertiesANDROID"); + vkGetMemoryAndroidHardwareBufferANDROID = (PFN_vkGetMemoryAndroidHardwareBufferANDROID)load(context, "vkGetMemoryAndroidHardwareBufferANDROID"); +#endif /* defined(VK_ANDROID_external_memory_android_hardware_buffer) */ +#if defined(VK_EXT_buffer_device_address) + vkGetBufferDeviceAddressEXT = (PFN_vkGetBufferDeviceAddressEXT)load(context, "vkGetBufferDeviceAddressEXT"); +#endif /* defined(VK_EXT_buffer_device_address) */ +#if defined(VK_EXT_calibrated_timestamps) + vkGetCalibratedTimestampsEXT = (PFN_vkGetCalibratedTimestampsEXT)load(context, "vkGetCalibratedTimestampsEXT"); +#endif /* defined(VK_EXT_calibrated_timestamps) */ +#if defined(VK_EXT_color_write_enable) + vkCmdSetColorWriteEnableEXT = (PFN_vkCmdSetColorWriteEnableEXT)load(context, "vkCmdSetColorWriteEnableEXT"); +#endif /* defined(VK_EXT_color_write_enable) */ +#if defined(VK_EXT_conditional_rendering) + vkCmdBeginConditionalRenderingEXT = (PFN_vkCmdBeginConditionalRenderingEXT)load(context, "vkCmdBeginConditionalRenderingEXT"); + vkCmdEndConditionalRenderingEXT = (PFN_vkCmdEndConditionalRenderingEXT)load(context, "vkCmdEndConditionalRenderingEXT"); +#endif /* defined(VK_EXT_conditional_rendering) */ +#if defined(VK_EXT_debug_marker) + vkCmdDebugMarkerBeginEXT = (PFN_vkCmdDebugMarkerBeginEXT)load(context, "vkCmdDebugMarkerBeginEXT"); + vkCmdDebugMarkerEndEXT = (PFN_vkCmdDebugMarkerEndEXT)load(context, "vkCmdDebugMarkerEndEXT"); + vkCmdDebugMarkerInsertEXT = (PFN_vkCmdDebugMarkerInsertEXT)load(context, "vkCmdDebugMarkerInsertEXT"); + vkDebugMarkerSetObjectNameEXT = (PFN_vkDebugMarkerSetObjectNameEXT)load(context, "vkDebugMarkerSetObjectNameEXT"); + vkDebugMarkerSetObjectTagEXT = (PFN_vkDebugMarkerSetObjectTagEXT)load(context, "vkDebugMarkerSetObjectTagEXT"); +#endif /* defined(VK_EXT_debug_marker) */ +#if defined(VK_EXT_descriptor_buffer) + vkCmdBindDescriptorBufferEmbeddedSamplersEXT = (PFN_vkCmdBindDescriptorBufferEmbeddedSamplersEXT)load(context, "vkCmdBindDescriptorBufferEmbeddedSamplersEXT"); + vkCmdBindDescriptorBuffersEXT = (PFN_vkCmdBindDescriptorBuffersEXT)load(context, "vkCmdBindDescriptorBuffersEXT"); + vkCmdSetDescriptorBufferOffsetsEXT = (PFN_vkCmdSetDescriptorBufferOffsetsEXT)load(context, "vkCmdSetDescriptorBufferOffsetsEXT"); + vkGetBufferOpaqueCaptureDescriptorDataEXT = (PFN_vkGetBufferOpaqueCaptureDescriptorDataEXT)load(context, "vkGetBufferOpaqueCaptureDescriptorDataEXT"); + vkGetDescriptorEXT = (PFN_vkGetDescriptorEXT)load(context, "vkGetDescriptorEXT"); + vkGetDescriptorSetLayoutBindingOffsetEXT = (PFN_vkGetDescriptorSetLayoutBindingOffsetEXT)load(context, "vkGetDescriptorSetLayoutBindingOffsetEXT"); + vkGetDescriptorSetLayoutSizeEXT = (PFN_vkGetDescriptorSetLayoutSizeEXT)load(context, "vkGetDescriptorSetLayoutSizeEXT"); + vkGetImageOpaqueCaptureDescriptorDataEXT = (PFN_vkGetImageOpaqueCaptureDescriptorDataEXT)load(context, "vkGetImageOpaqueCaptureDescriptorDataEXT"); + vkGetImageViewOpaqueCaptureDescriptorDataEXT = (PFN_vkGetImageViewOpaqueCaptureDescriptorDataEXT)load(context, "vkGetImageViewOpaqueCaptureDescriptorDataEXT"); + vkGetSamplerOpaqueCaptureDescriptorDataEXT = (PFN_vkGetSamplerOpaqueCaptureDescriptorDataEXT)load(context, "vkGetSamplerOpaqueCaptureDescriptorDataEXT"); +#endif /* defined(VK_EXT_descriptor_buffer) */ +#if defined(VK_EXT_descriptor_buffer) && defined(VK_KHR_acceleration_structure) && defined(VK_NV_ray_tracing) + vkGetAccelerationStructureOpaqueCaptureDescriptorDataEXT = (PFN_vkGetAccelerationStructureOpaqueCaptureDescriptorDataEXT)load(context, "vkGetAccelerationStructureOpaqueCaptureDescriptorDataEXT"); +#endif /* defined(VK_EXT_descriptor_buffer) && defined(VK_KHR_acceleration_structure) && defined(VK_NV_ray_tracing) */ +#if defined(VK_EXT_device_fault) + vkGetDeviceFaultInfoEXT = (PFN_vkGetDeviceFaultInfoEXT)load(context, "vkGetDeviceFaultInfoEXT"); +#endif /* defined(VK_EXT_device_fault) */ +#if defined(VK_EXT_discard_rectangles) + vkCmdSetDiscardRectangleEXT = (PFN_vkCmdSetDiscardRectangleEXT)load(context, "vkCmdSetDiscardRectangleEXT"); +#endif /* defined(VK_EXT_discard_rectangles) */ +#if defined(VK_EXT_display_control) + vkDisplayPowerControlEXT = (PFN_vkDisplayPowerControlEXT)load(context, "vkDisplayPowerControlEXT"); + vkGetSwapchainCounterEXT = (PFN_vkGetSwapchainCounterEXT)load(context, "vkGetSwapchainCounterEXT"); + vkRegisterDeviceEventEXT = (PFN_vkRegisterDeviceEventEXT)load(context, "vkRegisterDeviceEventEXT"); + vkRegisterDisplayEventEXT = (PFN_vkRegisterDisplayEventEXT)load(context, "vkRegisterDisplayEventEXT"); +#endif /* defined(VK_EXT_display_control) */ +#if defined(VK_EXT_extended_dynamic_state) + vkCmdBindVertexBuffers2EXT = (PFN_vkCmdBindVertexBuffers2EXT)load(context, "vkCmdBindVertexBuffers2EXT"); + vkCmdSetCullModeEXT = (PFN_vkCmdSetCullModeEXT)load(context, "vkCmdSetCullModeEXT"); + vkCmdSetDepthBoundsTestEnableEXT = (PFN_vkCmdSetDepthBoundsTestEnableEXT)load(context, "vkCmdSetDepthBoundsTestEnableEXT"); + vkCmdSetDepthCompareOpEXT = (PFN_vkCmdSetDepthCompareOpEXT)load(context, "vkCmdSetDepthCompareOpEXT"); + vkCmdSetDepthTestEnableEXT = (PFN_vkCmdSetDepthTestEnableEXT)load(context, "vkCmdSetDepthTestEnableEXT"); + vkCmdSetDepthWriteEnableEXT = (PFN_vkCmdSetDepthWriteEnableEXT)load(context, "vkCmdSetDepthWriteEnableEXT"); + vkCmdSetFrontFaceEXT = (PFN_vkCmdSetFrontFaceEXT)load(context, "vkCmdSetFrontFaceEXT"); + vkCmdSetPrimitiveTopologyEXT = (PFN_vkCmdSetPrimitiveTopologyEXT)load(context, "vkCmdSetPrimitiveTopologyEXT"); + vkCmdSetScissorWithCountEXT = (PFN_vkCmdSetScissorWithCountEXT)load(context, "vkCmdSetScissorWithCountEXT"); + vkCmdSetStencilOpEXT = (PFN_vkCmdSetStencilOpEXT)load(context, "vkCmdSetStencilOpEXT"); + vkCmdSetStencilTestEnableEXT = (PFN_vkCmdSetStencilTestEnableEXT)load(context, "vkCmdSetStencilTestEnableEXT"); + vkCmdSetViewportWithCountEXT = (PFN_vkCmdSetViewportWithCountEXT)load(context, "vkCmdSetViewportWithCountEXT"); +#endif /* defined(VK_EXT_extended_dynamic_state) */ +#if defined(VK_EXT_extended_dynamic_state2) + vkCmdSetDepthBiasEnableEXT = (PFN_vkCmdSetDepthBiasEnableEXT)load(context, "vkCmdSetDepthBiasEnableEXT"); + vkCmdSetLogicOpEXT = (PFN_vkCmdSetLogicOpEXT)load(context, "vkCmdSetLogicOpEXT"); + vkCmdSetPatchControlPointsEXT = (PFN_vkCmdSetPatchControlPointsEXT)load(context, "vkCmdSetPatchControlPointsEXT"); + vkCmdSetPrimitiveRestartEnableEXT = (PFN_vkCmdSetPrimitiveRestartEnableEXT)load(context, "vkCmdSetPrimitiveRestartEnableEXT"); + vkCmdSetRasterizerDiscardEnableEXT = (PFN_vkCmdSetRasterizerDiscardEnableEXT)load(context, "vkCmdSetRasterizerDiscardEnableEXT"); +#endif /* defined(VK_EXT_extended_dynamic_state2) */ +#if defined(VK_EXT_extended_dynamic_state3) + vkCmdSetAlphaToCoverageEnableEXT = (PFN_vkCmdSetAlphaToCoverageEnableEXT)load(context, "vkCmdSetAlphaToCoverageEnableEXT"); + vkCmdSetAlphaToOneEnableEXT = (PFN_vkCmdSetAlphaToOneEnableEXT)load(context, "vkCmdSetAlphaToOneEnableEXT"); + vkCmdSetColorBlendAdvancedEXT = (PFN_vkCmdSetColorBlendAdvancedEXT)load(context, "vkCmdSetColorBlendAdvancedEXT"); + vkCmdSetColorBlendEnableEXT = (PFN_vkCmdSetColorBlendEnableEXT)load(context, "vkCmdSetColorBlendEnableEXT"); + vkCmdSetColorBlendEquationEXT = (PFN_vkCmdSetColorBlendEquationEXT)load(context, "vkCmdSetColorBlendEquationEXT"); + vkCmdSetColorWriteMaskEXT = (PFN_vkCmdSetColorWriteMaskEXT)load(context, "vkCmdSetColorWriteMaskEXT"); + vkCmdSetConservativeRasterizationModeEXT = (PFN_vkCmdSetConservativeRasterizationModeEXT)load(context, "vkCmdSetConservativeRasterizationModeEXT"); + vkCmdSetCoverageModulationModeNV = (PFN_vkCmdSetCoverageModulationModeNV)load(context, "vkCmdSetCoverageModulationModeNV"); + vkCmdSetCoverageModulationTableEnableNV = (PFN_vkCmdSetCoverageModulationTableEnableNV)load(context, "vkCmdSetCoverageModulationTableEnableNV"); + vkCmdSetCoverageModulationTableNV = (PFN_vkCmdSetCoverageModulationTableNV)load(context, "vkCmdSetCoverageModulationTableNV"); + vkCmdSetCoverageReductionModeNV = (PFN_vkCmdSetCoverageReductionModeNV)load(context, "vkCmdSetCoverageReductionModeNV"); + vkCmdSetCoverageToColorEnableNV = (PFN_vkCmdSetCoverageToColorEnableNV)load(context, "vkCmdSetCoverageToColorEnableNV"); + vkCmdSetCoverageToColorLocationNV = (PFN_vkCmdSetCoverageToColorLocationNV)load(context, "vkCmdSetCoverageToColorLocationNV"); + vkCmdSetDepthClampEnableEXT = (PFN_vkCmdSetDepthClampEnableEXT)load(context, "vkCmdSetDepthClampEnableEXT"); + vkCmdSetDepthClipEnableEXT = (PFN_vkCmdSetDepthClipEnableEXT)load(context, "vkCmdSetDepthClipEnableEXT"); + vkCmdSetDepthClipNegativeOneToOneEXT = (PFN_vkCmdSetDepthClipNegativeOneToOneEXT)load(context, "vkCmdSetDepthClipNegativeOneToOneEXT"); + vkCmdSetExtraPrimitiveOverestimationSizeEXT = (PFN_vkCmdSetExtraPrimitiveOverestimationSizeEXT)load(context, "vkCmdSetExtraPrimitiveOverestimationSizeEXT"); + vkCmdSetLineRasterizationModeEXT = (PFN_vkCmdSetLineRasterizationModeEXT)load(context, "vkCmdSetLineRasterizationModeEXT"); + vkCmdSetLineStippleEnableEXT = (PFN_vkCmdSetLineStippleEnableEXT)load(context, "vkCmdSetLineStippleEnableEXT"); + vkCmdSetLogicOpEnableEXT = (PFN_vkCmdSetLogicOpEnableEXT)load(context, "vkCmdSetLogicOpEnableEXT"); + vkCmdSetPolygonModeEXT = (PFN_vkCmdSetPolygonModeEXT)load(context, "vkCmdSetPolygonModeEXT"); + vkCmdSetProvokingVertexModeEXT = (PFN_vkCmdSetProvokingVertexModeEXT)load(context, "vkCmdSetProvokingVertexModeEXT"); + vkCmdSetRasterizationSamplesEXT = (PFN_vkCmdSetRasterizationSamplesEXT)load(context, "vkCmdSetRasterizationSamplesEXT"); + vkCmdSetRasterizationStreamEXT = (PFN_vkCmdSetRasterizationStreamEXT)load(context, "vkCmdSetRasterizationStreamEXT"); + vkCmdSetRepresentativeFragmentTestEnableNV = (PFN_vkCmdSetRepresentativeFragmentTestEnableNV)load(context, "vkCmdSetRepresentativeFragmentTestEnableNV"); + vkCmdSetSampleLocationsEnableEXT = (PFN_vkCmdSetSampleLocationsEnableEXT)load(context, "vkCmdSetSampleLocationsEnableEXT"); + vkCmdSetSampleMaskEXT = (PFN_vkCmdSetSampleMaskEXT)load(context, "vkCmdSetSampleMaskEXT"); + vkCmdSetShadingRateImageEnableNV = (PFN_vkCmdSetShadingRateImageEnableNV)load(context, "vkCmdSetShadingRateImageEnableNV"); + vkCmdSetTessellationDomainOriginEXT = (PFN_vkCmdSetTessellationDomainOriginEXT)load(context, "vkCmdSetTessellationDomainOriginEXT"); + vkCmdSetViewportSwizzleNV = (PFN_vkCmdSetViewportSwizzleNV)load(context, "vkCmdSetViewportSwizzleNV"); + vkCmdSetViewportWScalingEnableNV = (PFN_vkCmdSetViewportWScalingEnableNV)load(context, "vkCmdSetViewportWScalingEnableNV"); +#endif /* defined(VK_EXT_extended_dynamic_state3) */ +#if defined(VK_EXT_external_memory_host) + vkGetMemoryHostPointerPropertiesEXT = (PFN_vkGetMemoryHostPointerPropertiesEXT)load(context, "vkGetMemoryHostPointerPropertiesEXT"); +#endif /* defined(VK_EXT_external_memory_host) */ +#if defined(VK_EXT_full_screen_exclusive) + vkAcquireFullScreenExclusiveModeEXT = (PFN_vkAcquireFullScreenExclusiveModeEXT)load(context, "vkAcquireFullScreenExclusiveModeEXT"); + vkReleaseFullScreenExclusiveModeEXT = (PFN_vkReleaseFullScreenExclusiveModeEXT)load(context, "vkReleaseFullScreenExclusiveModeEXT"); +#endif /* defined(VK_EXT_full_screen_exclusive) */ +#if defined(VK_EXT_hdr_metadata) + vkSetHdrMetadataEXT = (PFN_vkSetHdrMetadataEXT)load(context, "vkSetHdrMetadataEXT"); +#endif /* defined(VK_EXT_hdr_metadata) */ +#if defined(VK_EXT_host_query_reset) + vkResetQueryPoolEXT = (PFN_vkResetQueryPoolEXT)load(context, "vkResetQueryPoolEXT"); +#endif /* defined(VK_EXT_host_query_reset) */ +#if defined(VK_EXT_image_compression_control) + vkGetImageSubresourceLayout2EXT = (PFN_vkGetImageSubresourceLayout2EXT)load(context, "vkGetImageSubresourceLayout2EXT"); +#endif /* defined(VK_EXT_image_compression_control) */ +#if defined(VK_EXT_image_drm_format_modifier) + vkGetImageDrmFormatModifierPropertiesEXT = (PFN_vkGetImageDrmFormatModifierPropertiesEXT)load(context, "vkGetImageDrmFormatModifierPropertiesEXT"); +#endif /* defined(VK_EXT_image_drm_format_modifier) */ +#if defined(VK_EXT_line_rasterization) + vkCmdSetLineStippleEXT = (PFN_vkCmdSetLineStippleEXT)load(context, "vkCmdSetLineStippleEXT"); +#endif /* defined(VK_EXT_line_rasterization) */ +#if defined(VK_EXT_mesh_shader) + vkCmdDrawMeshTasksEXT = (PFN_vkCmdDrawMeshTasksEXT)load(context, "vkCmdDrawMeshTasksEXT"); + vkCmdDrawMeshTasksIndirectCountEXT = (PFN_vkCmdDrawMeshTasksIndirectCountEXT)load(context, "vkCmdDrawMeshTasksIndirectCountEXT"); + vkCmdDrawMeshTasksIndirectEXT = (PFN_vkCmdDrawMeshTasksIndirectEXT)load(context, "vkCmdDrawMeshTasksIndirectEXT"); +#endif /* defined(VK_EXT_mesh_shader) */ +#if defined(VK_EXT_metal_objects) + vkExportMetalObjectsEXT = (PFN_vkExportMetalObjectsEXT)load(context, "vkExportMetalObjectsEXT"); +#endif /* defined(VK_EXT_metal_objects) */ +#if defined(VK_EXT_multi_draw) + vkCmdDrawMultiEXT = (PFN_vkCmdDrawMultiEXT)load(context, "vkCmdDrawMultiEXT"); + vkCmdDrawMultiIndexedEXT = (PFN_vkCmdDrawMultiIndexedEXT)load(context, "vkCmdDrawMultiIndexedEXT"); +#endif /* defined(VK_EXT_multi_draw) */ +#if defined(VK_EXT_opacity_micromap) + vkBuildMicromapsEXT = (PFN_vkBuildMicromapsEXT)load(context, "vkBuildMicromapsEXT"); + vkCmdBuildMicromapsEXT = (PFN_vkCmdBuildMicromapsEXT)load(context, "vkCmdBuildMicromapsEXT"); + vkCmdCopyMemoryToMicromapEXT = (PFN_vkCmdCopyMemoryToMicromapEXT)load(context, "vkCmdCopyMemoryToMicromapEXT"); + vkCmdCopyMicromapEXT = (PFN_vkCmdCopyMicromapEXT)load(context, "vkCmdCopyMicromapEXT"); + vkCmdCopyMicromapToMemoryEXT = (PFN_vkCmdCopyMicromapToMemoryEXT)load(context, "vkCmdCopyMicromapToMemoryEXT"); + vkCmdWriteMicromapsPropertiesEXT = (PFN_vkCmdWriteMicromapsPropertiesEXT)load(context, "vkCmdWriteMicromapsPropertiesEXT"); + vkCopyMemoryToMicromapEXT = (PFN_vkCopyMemoryToMicromapEXT)load(context, "vkCopyMemoryToMicromapEXT"); + vkCopyMicromapEXT = (PFN_vkCopyMicromapEXT)load(context, "vkCopyMicromapEXT"); + vkCopyMicromapToMemoryEXT = (PFN_vkCopyMicromapToMemoryEXT)load(context, "vkCopyMicromapToMemoryEXT"); + vkCreateMicromapEXT = (PFN_vkCreateMicromapEXT)load(context, "vkCreateMicromapEXT"); + vkDestroyMicromapEXT = (PFN_vkDestroyMicromapEXT)load(context, "vkDestroyMicromapEXT"); + vkGetDeviceMicromapCompatibilityEXT = (PFN_vkGetDeviceMicromapCompatibilityEXT)load(context, "vkGetDeviceMicromapCompatibilityEXT"); + vkGetMicromapBuildSizesEXT = (PFN_vkGetMicromapBuildSizesEXT)load(context, "vkGetMicromapBuildSizesEXT"); + vkWriteMicromapsPropertiesEXT = (PFN_vkWriteMicromapsPropertiesEXT)load(context, "vkWriteMicromapsPropertiesEXT"); +#endif /* defined(VK_EXT_opacity_micromap) */ +#if defined(VK_EXT_pageable_device_local_memory) + vkSetDeviceMemoryPriorityEXT = (PFN_vkSetDeviceMemoryPriorityEXT)load(context, "vkSetDeviceMemoryPriorityEXT"); +#endif /* defined(VK_EXT_pageable_device_local_memory) */ +#if defined(VK_EXT_pipeline_properties) + vkGetPipelinePropertiesEXT = (PFN_vkGetPipelinePropertiesEXT)load(context, "vkGetPipelinePropertiesEXT"); +#endif /* defined(VK_EXT_pipeline_properties) */ +#if defined(VK_EXT_private_data) + vkCreatePrivateDataSlotEXT = (PFN_vkCreatePrivateDataSlotEXT)load(context, "vkCreatePrivateDataSlotEXT"); + vkDestroyPrivateDataSlotEXT = (PFN_vkDestroyPrivateDataSlotEXT)load(context, "vkDestroyPrivateDataSlotEXT"); + vkGetPrivateDataEXT = (PFN_vkGetPrivateDataEXT)load(context, "vkGetPrivateDataEXT"); + vkSetPrivateDataEXT = (PFN_vkSetPrivateDataEXT)load(context, "vkSetPrivateDataEXT"); +#endif /* defined(VK_EXT_private_data) */ +#if defined(VK_EXT_sample_locations) + vkCmdSetSampleLocationsEXT = (PFN_vkCmdSetSampleLocationsEXT)load(context, "vkCmdSetSampleLocationsEXT"); +#endif /* defined(VK_EXT_sample_locations) */ +#if defined(VK_EXT_shader_module_identifier) + vkGetShaderModuleCreateInfoIdentifierEXT = (PFN_vkGetShaderModuleCreateInfoIdentifierEXT)load(context, "vkGetShaderModuleCreateInfoIdentifierEXT"); + vkGetShaderModuleIdentifierEXT = (PFN_vkGetShaderModuleIdentifierEXT)load(context, "vkGetShaderModuleIdentifierEXT"); +#endif /* defined(VK_EXT_shader_module_identifier) */ +#if defined(VK_EXT_swapchain_maintenance1) + vkReleaseSwapchainImagesEXT = (PFN_vkReleaseSwapchainImagesEXT)load(context, "vkReleaseSwapchainImagesEXT"); +#endif /* defined(VK_EXT_swapchain_maintenance1) */ +#if defined(VK_EXT_transform_feedback) + vkCmdBeginQueryIndexedEXT = (PFN_vkCmdBeginQueryIndexedEXT)load(context, "vkCmdBeginQueryIndexedEXT"); + vkCmdBeginTransformFeedbackEXT = (PFN_vkCmdBeginTransformFeedbackEXT)load(context, "vkCmdBeginTransformFeedbackEXT"); + vkCmdBindTransformFeedbackBuffersEXT = (PFN_vkCmdBindTransformFeedbackBuffersEXT)load(context, "vkCmdBindTransformFeedbackBuffersEXT"); + vkCmdDrawIndirectByteCountEXT = (PFN_vkCmdDrawIndirectByteCountEXT)load(context, "vkCmdDrawIndirectByteCountEXT"); + vkCmdEndQueryIndexedEXT = (PFN_vkCmdEndQueryIndexedEXT)load(context, "vkCmdEndQueryIndexedEXT"); + vkCmdEndTransformFeedbackEXT = (PFN_vkCmdEndTransformFeedbackEXT)load(context, "vkCmdEndTransformFeedbackEXT"); +#endif /* defined(VK_EXT_transform_feedback) */ +#if defined(VK_EXT_validation_cache) + vkCreateValidationCacheEXT = (PFN_vkCreateValidationCacheEXT)load(context, "vkCreateValidationCacheEXT"); + vkDestroyValidationCacheEXT = (PFN_vkDestroyValidationCacheEXT)load(context, "vkDestroyValidationCacheEXT"); + vkGetValidationCacheDataEXT = (PFN_vkGetValidationCacheDataEXT)load(context, "vkGetValidationCacheDataEXT"); + vkMergeValidationCachesEXT = (PFN_vkMergeValidationCachesEXT)load(context, "vkMergeValidationCachesEXT"); +#endif /* defined(VK_EXT_validation_cache) */ +#if defined(VK_EXT_vertex_input_dynamic_state) + vkCmdSetVertexInputEXT = (PFN_vkCmdSetVertexInputEXT)load(context, "vkCmdSetVertexInputEXT"); +#endif /* defined(VK_EXT_vertex_input_dynamic_state) */ +#if defined(VK_FUCHSIA_buffer_collection) + vkCreateBufferCollectionFUCHSIA = (PFN_vkCreateBufferCollectionFUCHSIA)load(context, "vkCreateBufferCollectionFUCHSIA"); + vkDestroyBufferCollectionFUCHSIA = (PFN_vkDestroyBufferCollectionFUCHSIA)load(context, "vkDestroyBufferCollectionFUCHSIA"); + vkGetBufferCollectionPropertiesFUCHSIA = (PFN_vkGetBufferCollectionPropertiesFUCHSIA)load(context, "vkGetBufferCollectionPropertiesFUCHSIA"); + vkSetBufferCollectionBufferConstraintsFUCHSIA = (PFN_vkSetBufferCollectionBufferConstraintsFUCHSIA)load(context, "vkSetBufferCollectionBufferConstraintsFUCHSIA"); + vkSetBufferCollectionImageConstraintsFUCHSIA = (PFN_vkSetBufferCollectionImageConstraintsFUCHSIA)load(context, "vkSetBufferCollectionImageConstraintsFUCHSIA"); +#endif /* defined(VK_FUCHSIA_buffer_collection) */ +#if defined(VK_FUCHSIA_external_memory) + vkGetMemoryZirconHandleFUCHSIA = (PFN_vkGetMemoryZirconHandleFUCHSIA)load(context, "vkGetMemoryZirconHandleFUCHSIA"); + vkGetMemoryZirconHandlePropertiesFUCHSIA = (PFN_vkGetMemoryZirconHandlePropertiesFUCHSIA)load(context, "vkGetMemoryZirconHandlePropertiesFUCHSIA"); +#endif /* defined(VK_FUCHSIA_external_memory) */ +#if defined(VK_FUCHSIA_external_semaphore) + vkGetSemaphoreZirconHandleFUCHSIA = (PFN_vkGetSemaphoreZirconHandleFUCHSIA)load(context, "vkGetSemaphoreZirconHandleFUCHSIA"); + vkImportSemaphoreZirconHandleFUCHSIA = (PFN_vkImportSemaphoreZirconHandleFUCHSIA)load(context, "vkImportSemaphoreZirconHandleFUCHSIA"); +#endif /* defined(VK_FUCHSIA_external_semaphore) */ +#if defined(VK_GOOGLE_display_timing) + vkGetPastPresentationTimingGOOGLE = (PFN_vkGetPastPresentationTimingGOOGLE)load(context, "vkGetPastPresentationTimingGOOGLE"); + vkGetRefreshCycleDurationGOOGLE = (PFN_vkGetRefreshCycleDurationGOOGLE)load(context, "vkGetRefreshCycleDurationGOOGLE"); +#endif /* defined(VK_GOOGLE_display_timing) */ +#if defined(VK_HUAWEI_invocation_mask) + vkCmdBindInvocationMaskHUAWEI = (PFN_vkCmdBindInvocationMaskHUAWEI)load(context, "vkCmdBindInvocationMaskHUAWEI"); +#endif /* defined(VK_HUAWEI_invocation_mask) */ +#if defined(VK_HUAWEI_subpass_shading) + vkCmdSubpassShadingHUAWEI = (PFN_vkCmdSubpassShadingHUAWEI)load(context, "vkCmdSubpassShadingHUAWEI"); + vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI = (PFN_vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI)load(context, "vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI"); +#endif /* defined(VK_HUAWEI_subpass_shading) */ +#if defined(VK_INTEL_performance_query) + vkAcquirePerformanceConfigurationINTEL = (PFN_vkAcquirePerformanceConfigurationINTEL)load(context, "vkAcquirePerformanceConfigurationINTEL"); + vkCmdSetPerformanceMarkerINTEL = (PFN_vkCmdSetPerformanceMarkerINTEL)load(context, "vkCmdSetPerformanceMarkerINTEL"); + vkCmdSetPerformanceOverrideINTEL = (PFN_vkCmdSetPerformanceOverrideINTEL)load(context, "vkCmdSetPerformanceOverrideINTEL"); + vkCmdSetPerformanceStreamMarkerINTEL = (PFN_vkCmdSetPerformanceStreamMarkerINTEL)load(context, "vkCmdSetPerformanceStreamMarkerINTEL"); + vkGetPerformanceParameterINTEL = (PFN_vkGetPerformanceParameterINTEL)load(context, "vkGetPerformanceParameterINTEL"); + vkInitializePerformanceApiINTEL = (PFN_vkInitializePerformanceApiINTEL)load(context, "vkInitializePerformanceApiINTEL"); + vkQueueSetPerformanceConfigurationINTEL = (PFN_vkQueueSetPerformanceConfigurationINTEL)load(context, "vkQueueSetPerformanceConfigurationINTEL"); + vkReleasePerformanceConfigurationINTEL = (PFN_vkReleasePerformanceConfigurationINTEL)load(context, "vkReleasePerformanceConfigurationINTEL"); + vkUninitializePerformanceApiINTEL = (PFN_vkUninitializePerformanceApiINTEL)load(context, "vkUninitializePerformanceApiINTEL"); +#endif /* defined(VK_INTEL_performance_query) */ +#if defined(VK_KHR_acceleration_structure) + vkBuildAccelerationStructuresKHR = (PFN_vkBuildAccelerationStructuresKHR)load(context, "vkBuildAccelerationStructuresKHR"); + vkCmdBuildAccelerationStructuresIndirectKHR = (PFN_vkCmdBuildAccelerationStructuresIndirectKHR)load(context, "vkCmdBuildAccelerationStructuresIndirectKHR"); + vkCmdBuildAccelerationStructuresKHR = (PFN_vkCmdBuildAccelerationStructuresKHR)load(context, "vkCmdBuildAccelerationStructuresKHR"); + vkCmdCopyAccelerationStructureKHR = (PFN_vkCmdCopyAccelerationStructureKHR)load(context, "vkCmdCopyAccelerationStructureKHR"); + vkCmdCopyAccelerationStructureToMemoryKHR = (PFN_vkCmdCopyAccelerationStructureToMemoryKHR)load(context, "vkCmdCopyAccelerationStructureToMemoryKHR"); + vkCmdCopyMemoryToAccelerationStructureKHR = (PFN_vkCmdCopyMemoryToAccelerationStructureKHR)load(context, "vkCmdCopyMemoryToAccelerationStructureKHR"); + vkCmdWriteAccelerationStructuresPropertiesKHR = (PFN_vkCmdWriteAccelerationStructuresPropertiesKHR)load(context, "vkCmdWriteAccelerationStructuresPropertiesKHR"); + vkCopyAccelerationStructureKHR = (PFN_vkCopyAccelerationStructureKHR)load(context, "vkCopyAccelerationStructureKHR"); + vkCopyAccelerationStructureToMemoryKHR = (PFN_vkCopyAccelerationStructureToMemoryKHR)load(context, "vkCopyAccelerationStructureToMemoryKHR"); + vkCopyMemoryToAccelerationStructureKHR = (PFN_vkCopyMemoryToAccelerationStructureKHR)load(context, "vkCopyMemoryToAccelerationStructureKHR"); + vkCreateAccelerationStructureKHR = (PFN_vkCreateAccelerationStructureKHR)load(context, "vkCreateAccelerationStructureKHR"); + vkDestroyAccelerationStructureKHR = (PFN_vkDestroyAccelerationStructureKHR)load(context, "vkDestroyAccelerationStructureKHR"); + vkGetAccelerationStructureBuildSizesKHR = (PFN_vkGetAccelerationStructureBuildSizesKHR)load(context, "vkGetAccelerationStructureBuildSizesKHR"); + vkGetAccelerationStructureDeviceAddressKHR = (PFN_vkGetAccelerationStructureDeviceAddressKHR)load(context, "vkGetAccelerationStructureDeviceAddressKHR"); + vkGetDeviceAccelerationStructureCompatibilityKHR = (PFN_vkGetDeviceAccelerationStructureCompatibilityKHR)load(context, "vkGetDeviceAccelerationStructureCompatibilityKHR"); + vkWriteAccelerationStructuresPropertiesKHR = (PFN_vkWriteAccelerationStructuresPropertiesKHR)load(context, "vkWriteAccelerationStructuresPropertiesKHR"); +#endif /* defined(VK_KHR_acceleration_structure) */ +#if defined(VK_KHR_bind_memory2) + vkBindBufferMemory2KHR = (PFN_vkBindBufferMemory2KHR)load(context, "vkBindBufferMemory2KHR"); + vkBindImageMemory2KHR = (PFN_vkBindImageMemory2KHR)load(context, "vkBindImageMemory2KHR"); +#endif /* defined(VK_KHR_bind_memory2) */ +#if defined(VK_KHR_buffer_device_address) + vkGetBufferDeviceAddressKHR = (PFN_vkGetBufferDeviceAddressKHR)load(context, "vkGetBufferDeviceAddressKHR"); + vkGetBufferOpaqueCaptureAddressKHR = (PFN_vkGetBufferOpaqueCaptureAddressKHR)load(context, "vkGetBufferOpaqueCaptureAddressKHR"); + vkGetDeviceMemoryOpaqueCaptureAddressKHR = (PFN_vkGetDeviceMemoryOpaqueCaptureAddressKHR)load(context, "vkGetDeviceMemoryOpaqueCaptureAddressKHR"); +#endif /* defined(VK_KHR_buffer_device_address) */ +#if defined(VK_KHR_copy_commands2) + vkCmdBlitImage2KHR = (PFN_vkCmdBlitImage2KHR)load(context, "vkCmdBlitImage2KHR"); + vkCmdCopyBuffer2KHR = (PFN_vkCmdCopyBuffer2KHR)load(context, "vkCmdCopyBuffer2KHR"); + vkCmdCopyBufferToImage2KHR = (PFN_vkCmdCopyBufferToImage2KHR)load(context, "vkCmdCopyBufferToImage2KHR"); + vkCmdCopyImage2KHR = (PFN_vkCmdCopyImage2KHR)load(context, "vkCmdCopyImage2KHR"); + vkCmdCopyImageToBuffer2KHR = (PFN_vkCmdCopyImageToBuffer2KHR)load(context, "vkCmdCopyImageToBuffer2KHR"); + vkCmdResolveImage2KHR = (PFN_vkCmdResolveImage2KHR)load(context, "vkCmdResolveImage2KHR"); +#endif /* defined(VK_KHR_copy_commands2) */ +#if defined(VK_KHR_create_renderpass2) + vkCmdBeginRenderPass2KHR = (PFN_vkCmdBeginRenderPass2KHR)load(context, "vkCmdBeginRenderPass2KHR"); + vkCmdEndRenderPass2KHR = (PFN_vkCmdEndRenderPass2KHR)load(context, "vkCmdEndRenderPass2KHR"); + vkCmdNextSubpass2KHR = (PFN_vkCmdNextSubpass2KHR)load(context, "vkCmdNextSubpass2KHR"); + vkCreateRenderPass2KHR = (PFN_vkCreateRenderPass2KHR)load(context, "vkCreateRenderPass2KHR"); +#endif /* defined(VK_KHR_create_renderpass2) */ +#if defined(VK_KHR_deferred_host_operations) + vkCreateDeferredOperationKHR = (PFN_vkCreateDeferredOperationKHR)load(context, "vkCreateDeferredOperationKHR"); + vkDeferredOperationJoinKHR = (PFN_vkDeferredOperationJoinKHR)load(context, "vkDeferredOperationJoinKHR"); + vkDestroyDeferredOperationKHR = (PFN_vkDestroyDeferredOperationKHR)load(context, "vkDestroyDeferredOperationKHR"); + vkGetDeferredOperationMaxConcurrencyKHR = (PFN_vkGetDeferredOperationMaxConcurrencyKHR)load(context, "vkGetDeferredOperationMaxConcurrencyKHR"); + vkGetDeferredOperationResultKHR = (PFN_vkGetDeferredOperationResultKHR)load(context, "vkGetDeferredOperationResultKHR"); +#endif /* defined(VK_KHR_deferred_host_operations) */ +#if defined(VK_KHR_descriptor_update_template) + vkCreateDescriptorUpdateTemplateKHR = (PFN_vkCreateDescriptorUpdateTemplateKHR)load(context, "vkCreateDescriptorUpdateTemplateKHR"); + vkDestroyDescriptorUpdateTemplateKHR = (PFN_vkDestroyDescriptorUpdateTemplateKHR)load(context, "vkDestroyDescriptorUpdateTemplateKHR"); + vkUpdateDescriptorSetWithTemplateKHR = (PFN_vkUpdateDescriptorSetWithTemplateKHR)load(context, "vkUpdateDescriptorSetWithTemplateKHR"); +#endif /* defined(VK_KHR_descriptor_update_template) */ +#if defined(VK_KHR_device_group) + vkCmdDispatchBaseKHR = (PFN_vkCmdDispatchBaseKHR)load(context, "vkCmdDispatchBaseKHR"); + vkCmdSetDeviceMaskKHR = (PFN_vkCmdSetDeviceMaskKHR)load(context, "vkCmdSetDeviceMaskKHR"); + vkGetDeviceGroupPeerMemoryFeaturesKHR = (PFN_vkGetDeviceGroupPeerMemoryFeaturesKHR)load(context, "vkGetDeviceGroupPeerMemoryFeaturesKHR"); +#endif /* defined(VK_KHR_device_group) */ +#if defined(VK_KHR_display_swapchain) + vkCreateSharedSwapchainsKHR = (PFN_vkCreateSharedSwapchainsKHR)load(context, "vkCreateSharedSwapchainsKHR"); +#endif /* defined(VK_KHR_display_swapchain) */ +#if defined(VK_KHR_draw_indirect_count) + vkCmdDrawIndexedIndirectCountKHR = (PFN_vkCmdDrawIndexedIndirectCountKHR)load(context, "vkCmdDrawIndexedIndirectCountKHR"); + vkCmdDrawIndirectCountKHR = (PFN_vkCmdDrawIndirectCountKHR)load(context, "vkCmdDrawIndirectCountKHR"); +#endif /* defined(VK_KHR_draw_indirect_count) */ +#if defined(VK_KHR_dynamic_rendering) + vkCmdBeginRenderingKHR = (PFN_vkCmdBeginRenderingKHR)load(context, "vkCmdBeginRenderingKHR"); + vkCmdEndRenderingKHR = (PFN_vkCmdEndRenderingKHR)load(context, "vkCmdEndRenderingKHR"); +#endif /* defined(VK_KHR_dynamic_rendering) */ +#if defined(VK_KHR_external_fence_fd) + vkGetFenceFdKHR = (PFN_vkGetFenceFdKHR)load(context, "vkGetFenceFdKHR"); + vkImportFenceFdKHR = (PFN_vkImportFenceFdKHR)load(context, "vkImportFenceFdKHR"); +#endif /* defined(VK_KHR_external_fence_fd) */ +#if defined(VK_KHR_external_fence_win32) + vkGetFenceWin32HandleKHR = (PFN_vkGetFenceWin32HandleKHR)load(context, "vkGetFenceWin32HandleKHR"); + vkImportFenceWin32HandleKHR = (PFN_vkImportFenceWin32HandleKHR)load(context, "vkImportFenceWin32HandleKHR"); +#endif /* defined(VK_KHR_external_fence_win32) */ +#if defined(VK_KHR_external_memory_fd) + vkGetMemoryFdKHR = (PFN_vkGetMemoryFdKHR)load(context, "vkGetMemoryFdKHR"); + vkGetMemoryFdPropertiesKHR = (PFN_vkGetMemoryFdPropertiesKHR)load(context, "vkGetMemoryFdPropertiesKHR"); +#endif /* defined(VK_KHR_external_memory_fd) */ +#if defined(VK_KHR_external_memory_win32) + vkGetMemoryWin32HandleKHR = (PFN_vkGetMemoryWin32HandleKHR)load(context, "vkGetMemoryWin32HandleKHR"); + vkGetMemoryWin32HandlePropertiesKHR = (PFN_vkGetMemoryWin32HandlePropertiesKHR)load(context, "vkGetMemoryWin32HandlePropertiesKHR"); +#endif /* defined(VK_KHR_external_memory_win32) */ +#if defined(VK_KHR_external_semaphore_fd) + vkGetSemaphoreFdKHR = (PFN_vkGetSemaphoreFdKHR)load(context, "vkGetSemaphoreFdKHR"); + vkImportSemaphoreFdKHR = (PFN_vkImportSemaphoreFdKHR)load(context, "vkImportSemaphoreFdKHR"); +#endif /* defined(VK_KHR_external_semaphore_fd) */ +#if defined(VK_KHR_external_semaphore_win32) + vkGetSemaphoreWin32HandleKHR = (PFN_vkGetSemaphoreWin32HandleKHR)load(context, "vkGetSemaphoreWin32HandleKHR"); + vkImportSemaphoreWin32HandleKHR = (PFN_vkImportSemaphoreWin32HandleKHR)load(context, "vkImportSemaphoreWin32HandleKHR"); +#endif /* defined(VK_KHR_external_semaphore_win32) */ +#if defined(VK_KHR_fragment_shading_rate) + vkCmdSetFragmentShadingRateKHR = (PFN_vkCmdSetFragmentShadingRateKHR)load(context, "vkCmdSetFragmentShadingRateKHR"); +#endif /* defined(VK_KHR_fragment_shading_rate) */ +#if defined(VK_KHR_get_memory_requirements2) + vkGetBufferMemoryRequirements2KHR = (PFN_vkGetBufferMemoryRequirements2KHR)load(context, "vkGetBufferMemoryRequirements2KHR"); + vkGetImageMemoryRequirements2KHR = (PFN_vkGetImageMemoryRequirements2KHR)load(context, "vkGetImageMemoryRequirements2KHR"); + vkGetImageSparseMemoryRequirements2KHR = (PFN_vkGetImageSparseMemoryRequirements2KHR)load(context, "vkGetImageSparseMemoryRequirements2KHR"); +#endif /* defined(VK_KHR_get_memory_requirements2) */ +#if defined(VK_KHR_maintenance1) + vkTrimCommandPoolKHR = (PFN_vkTrimCommandPoolKHR)load(context, "vkTrimCommandPoolKHR"); +#endif /* defined(VK_KHR_maintenance1) */ +#if defined(VK_KHR_maintenance3) + vkGetDescriptorSetLayoutSupportKHR = (PFN_vkGetDescriptorSetLayoutSupportKHR)load(context, "vkGetDescriptorSetLayoutSupportKHR"); +#endif /* defined(VK_KHR_maintenance3) */ +#if defined(VK_KHR_maintenance4) + vkGetDeviceBufferMemoryRequirementsKHR = (PFN_vkGetDeviceBufferMemoryRequirementsKHR)load(context, "vkGetDeviceBufferMemoryRequirementsKHR"); + vkGetDeviceImageMemoryRequirementsKHR = (PFN_vkGetDeviceImageMemoryRequirementsKHR)load(context, "vkGetDeviceImageMemoryRequirementsKHR"); + vkGetDeviceImageSparseMemoryRequirementsKHR = (PFN_vkGetDeviceImageSparseMemoryRequirementsKHR)load(context, "vkGetDeviceImageSparseMemoryRequirementsKHR"); +#endif /* defined(VK_KHR_maintenance4) */ +#if defined(VK_KHR_performance_query) + vkAcquireProfilingLockKHR = (PFN_vkAcquireProfilingLockKHR)load(context, "vkAcquireProfilingLockKHR"); + vkReleaseProfilingLockKHR = (PFN_vkReleaseProfilingLockKHR)load(context, "vkReleaseProfilingLockKHR"); +#endif /* defined(VK_KHR_performance_query) */ +#if defined(VK_KHR_pipeline_executable_properties) + vkGetPipelineExecutableInternalRepresentationsKHR = (PFN_vkGetPipelineExecutableInternalRepresentationsKHR)load(context, "vkGetPipelineExecutableInternalRepresentationsKHR"); + vkGetPipelineExecutablePropertiesKHR = (PFN_vkGetPipelineExecutablePropertiesKHR)load(context, "vkGetPipelineExecutablePropertiesKHR"); + vkGetPipelineExecutableStatisticsKHR = (PFN_vkGetPipelineExecutableStatisticsKHR)load(context, "vkGetPipelineExecutableStatisticsKHR"); +#endif /* defined(VK_KHR_pipeline_executable_properties) */ +#if defined(VK_KHR_present_wait) + vkWaitForPresentKHR = (PFN_vkWaitForPresentKHR)load(context, "vkWaitForPresentKHR"); +#endif /* defined(VK_KHR_present_wait) */ +#if defined(VK_KHR_push_descriptor) + vkCmdPushDescriptorSetKHR = (PFN_vkCmdPushDescriptorSetKHR)load(context, "vkCmdPushDescriptorSetKHR"); +#endif /* defined(VK_KHR_push_descriptor) */ +#if defined(VK_KHR_ray_tracing_maintenance1) && defined(VK_KHR_ray_tracing_pipeline) + vkCmdTraceRaysIndirect2KHR = (PFN_vkCmdTraceRaysIndirect2KHR)load(context, "vkCmdTraceRaysIndirect2KHR"); +#endif /* defined(VK_KHR_ray_tracing_maintenance1) && defined(VK_KHR_ray_tracing_pipeline) */ +#if defined(VK_KHR_ray_tracing_pipeline) + vkCmdSetRayTracingPipelineStackSizeKHR = (PFN_vkCmdSetRayTracingPipelineStackSizeKHR)load(context, "vkCmdSetRayTracingPipelineStackSizeKHR"); + vkCmdTraceRaysIndirectKHR = (PFN_vkCmdTraceRaysIndirectKHR)load(context, "vkCmdTraceRaysIndirectKHR"); + vkCmdTraceRaysKHR = (PFN_vkCmdTraceRaysKHR)load(context, "vkCmdTraceRaysKHR"); + vkCreateRayTracingPipelinesKHR = (PFN_vkCreateRayTracingPipelinesKHR)load(context, "vkCreateRayTracingPipelinesKHR"); + vkGetRayTracingCaptureReplayShaderGroupHandlesKHR = (PFN_vkGetRayTracingCaptureReplayShaderGroupHandlesKHR)load(context, "vkGetRayTracingCaptureReplayShaderGroupHandlesKHR"); + vkGetRayTracingShaderGroupHandlesKHR = (PFN_vkGetRayTracingShaderGroupHandlesKHR)load(context, "vkGetRayTracingShaderGroupHandlesKHR"); + vkGetRayTracingShaderGroupStackSizeKHR = (PFN_vkGetRayTracingShaderGroupStackSizeKHR)load(context, "vkGetRayTracingShaderGroupStackSizeKHR"); +#endif /* defined(VK_KHR_ray_tracing_pipeline) */ +#if defined(VK_KHR_sampler_ycbcr_conversion) + vkCreateSamplerYcbcrConversionKHR = (PFN_vkCreateSamplerYcbcrConversionKHR)load(context, "vkCreateSamplerYcbcrConversionKHR"); + vkDestroySamplerYcbcrConversionKHR = (PFN_vkDestroySamplerYcbcrConversionKHR)load(context, "vkDestroySamplerYcbcrConversionKHR"); +#endif /* defined(VK_KHR_sampler_ycbcr_conversion) */ +#if defined(VK_KHR_shared_presentable_image) + vkGetSwapchainStatusKHR = (PFN_vkGetSwapchainStatusKHR)load(context, "vkGetSwapchainStatusKHR"); +#endif /* defined(VK_KHR_shared_presentable_image) */ +#if defined(VK_KHR_swapchain) + vkAcquireNextImageKHR = (PFN_vkAcquireNextImageKHR)load(context, "vkAcquireNextImageKHR"); + vkCreateSwapchainKHR = (PFN_vkCreateSwapchainKHR)load(context, "vkCreateSwapchainKHR"); + vkDestroySwapchainKHR = (PFN_vkDestroySwapchainKHR)load(context, "vkDestroySwapchainKHR"); + vkGetSwapchainImagesKHR = (PFN_vkGetSwapchainImagesKHR)load(context, "vkGetSwapchainImagesKHR"); + vkQueuePresentKHR = (PFN_vkQueuePresentKHR)load(context, "vkQueuePresentKHR"); +#endif /* defined(VK_KHR_swapchain) */ +#if defined(VK_KHR_synchronization2) + vkCmdPipelineBarrier2KHR = (PFN_vkCmdPipelineBarrier2KHR)load(context, "vkCmdPipelineBarrier2KHR"); + vkCmdResetEvent2KHR = (PFN_vkCmdResetEvent2KHR)load(context, "vkCmdResetEvent2KHR"); + vkCmdSetEvent2KHR = (PFN_vkCmdSetEvent2KHR)load(context, "vkCmdSetEvent2KHR"); + vkCmdWaitEvents2KHR = (PFN_vkCmdWaitEvents2KHR)load(context, "vkCmdWaitEvents2KHR"); + vkCmdWriteTimestamp2KHR = (PFN_vkCmdWriteTimestamp2KHR)load(context, "vkCmdWriteTimestamp2KHR"); + vkQueueSubmit2KHR = (PFN_vkQueueSubmit2KHR)load(context, "vkQueueSubmit2KHR"); +#endif /* defined(VK_KHR_synchronization2) */ +#if defined(VK_KHR_synchronization2) && defined(VK_AMD_buffer_marker) + vkCmdWriteBufferMarker2AMD = (PFN_vkCmdWriteBufferMarker2AMD)load(context, "vkCmdWriteBufferMarker2AMD"); +#endif /* defined(VK_KHR_synchronization2) && defined(VK_AMD_buffer_marker) */ +#if defined(VK_KHR_synchronization2) && defined(VK_NV_device_diagnostic_checkpoints) + vkGetQueueCheckpointData2NV = (PFN_vkGetQueueCheckpointData2NV)load(context, "vkGetQueueCheckpointData2NV"); +#endif /* defined(VK_KHR_synchronization2) && defined(VK_NV_device_diagnostic_checkpoints) */ +#if defined(VK_KHR_timeline_semaphore) + vkGetSemaphoreCounterValueKHR = (PFN_vkGetSemaphoreCounterValueKHR)load(context, "vkGetSemaphoreCounterValueKHR"); + vkSignalSemaphoreKHR = (PFN_vkSignalSemaphoreKHR)load(context, "vkSignalSemaphoreKHR"); + vkWaitSemaphoresKHR = (PFN_vkWaitSemaphoresKHR)load(context, "vkWaitSemaphoresKHR"); +#endif /* defined(VK_KHR_timeline_semaphore) */ +#if defined(VK_KHR_video_decode_queue) + vkCmdDecodeVideoKHR = (PFN_vkCmdDecodeVideoKHR)load(context, "vkCmdDecodeVideoKHR"); +#endif /* defined(VK_KHR_video_decode_queue) */ +#if defined(VK_KHR_video_encode_queue) + vkCmdEncodeVideoKHR = (PFN_vkCmdEncodeVideoKHR)load(context, "vkCmdEncodeVideoKHR"); +#endif /* defined(VK_KHR_video_encode_queue) */ +#if defined(VK_KHR_video_queue) + vkBindVideoSessionMemoryKHR = (PFN_vkBindVideoSessionMemoryKHR)load(context, "vkBindVideoSessionMemoryKHR"); + vkCmdBeginVideoCodingKHR = (PFN_vkCmdBeginVideoCodingKHR)load(context, "vkCmdBeginVideoCodingKHR"); + vkCmdControlVideoCodingKHR = (PFN_vkCmdControlVideoCodingKHR)load(context, "vkCmdControlVideoCodingKHR"); + vkCmdEndVideoCodingKHR = (PFN_vkCmdEndVideoCodingKHR)load(context, "vkCmdEndVideoCodingKHR"); + vkCreateVideoSessionKHR = (PFN_vkCreateVideoSessionKHR)load(context, "vkCreateVideoSessionKHR"); + vkCreateVideoSessionParametersKHR = (PFN_vkCreateVideoSessionParametersKHR)load(context, "vkCreateVideoSessionParametersKHR"); + vkDestroyVideoSessionKHR = (PFN_vkDestroyVideoSessionKHR)load(context, "vkDestroyVideoSessionKHR"); + vkDestroyVideoSessionParametersKHR = (PFN_vkDestroyVideoSessionParametersKHR)load(context, "vkDestroyVideoSessionParametersKHR"); + vkGetVideoSessionMemoryRequirementsKHR = (PFN_vkGetVideoSessionMemoryRequirementsKHR)load(context, "vkGetVideoSessionMemoryRequirementsKHR"); + vkUpdateVideoSessionParametersKHR = (PFN_vkUpdateVideoSessionParametersKHR)load(context, "vkUpdateVideoSessionParametersKHR"); +#endif /* defined(VK_KHR_video_queue) */ +#if defined(VK_NVX_binary_import) + vkCmdCuLaunchKernelNVX = (PFN_vkCmdCuLaunchKernelNVX)load(context, "vkCmdCuLaunchKernelNVX"); + vkCreateCuFunctionNVX = (PFN_vkCreateCuFunctionNVX)load(context, "vkCreateCuFunctionNVX"); + vkCreateCuModuleNVX = (PFN_vkCreateCuModuleNVX)load(context, "vkCreateCuModuleNVX"); + vkDestroyCuFunctionNVX = (PFN_vkDestroyCuFunctionNVX)load(context, "vkDestroyCuFunctionNVX"); + vkDestroyCuModuleNVX = (PFN_vkDestroyCuModuleNVX)load(context, "vkDestroyCuModuleNVX"); +#endif /* defined(VK_NVX_binary_import) */ +#if defined(VK_NVX_image_view_handle) + vkGetImageViewAddressNVX = (PFN_vkGetImageViewAddressNVX)load(context, "vkGetImageViewAddressNVX"); + vkGetImageViewHandleNVX = (PFN_vkGetImageViewHandleNVX)load(context, "vkGetImageViewHandleNVX"); +#endif /* defined(VK_NVX_image_view_handle) */ +#if defined(VK_NV_clip_space_w_scaling) + vkCmdSetViewportWScalingNV = (PFN_vkCmdSetViewportWScalingNV)load(context, "vkCmdSetViewportWScalingNV"); +#endif /* defined(VK_NV_clip_space_w_scaling) */ +#if defined(VK_NV_copy_memory_indirect) + vkCmdCopyMemoryIndirectNV = (PFN_vkCmdCopyMemoryIndirectNV)load(context, "vkCmdCopyMemoryIndirectNV"); + vkCmdCopyMemoryToImageIndirectNV = (PFN_vkCmdCopyMemoryToImageIndirectNV)load(context, "vkCmdCopyMemoryToImageIndirectNV"); +#endif /* defined(VK_NV_copy_memory_indirect) */ +#if defined(VK_NV_device_diagnostic_checkpoints) + vkCmdSetCheckpointNV = (PFN_vkCmdSetCheckpointNV)load(context, "vkCmdSetCheckpointNV"); + vkGetQueueCheckpointDataNV = (PFN_vkGetQueueCheckpointDataNV)load(context, "vkGetQueueCheckpointDataNV"); +#endif /* defined(VK_NV_device_diagnostic_checkpoints) */ +#if defined(VK_NV_device_generated_commands) + vkCmdBindPipelineShaderGroupNV = (PFN_vkCmdBindPipelineShaderGroupNV)load(context, "vkCmdBindPipelineShaderGroupNV"); + vkCmdExecuteGeneratedCommandsNV = (PFN_vkCmdExecuteGeneratedCommandsNV)load(context, "vkCmdExecuteGeneratedCommandsNV"); + vkCmdPreprocessGeneratedCommandsNV = (PFN_vkCmdPreprocessGeneratedCommandsNV)load(context, "vkCmdPreprocessGeneratedCommandsNV"); + vkCreateIndirectCommandsLayoutNV = (PFN_vkCreateIndirectCommandsLayoutNV)load(context, "vkCreateIndirectCommandsLayoutNV"); + vkDestroyIndirectCommandsLayoutNV = (PFN_vkDestroyIndirectCommandsLayoutNV)load(context, "vkDestroyIndirectCommandsLayoutNV"); + vkGetGeneratedCommandsMemoryRequirementsNV = (PFN_vkGetGeneratedCommandsMemoryRequirementsNV)load(context, "vkGetGeneratedCommandsMemoryRequirementsNV"); +#endif /* defined(VK_NV_device_generated_commands) */ +#if defined(VK_NV_external_memory_rdma) + vkGetMemoryRemoteAddressNV = (PFN_vkGetMemoryRemoteAddressNV)load(context, "vkGetMemoryRemoteAddressNV"); +#endif /* defined(VK_NV_external_memory_rdma) */ +#if defined(VK_NV_external_memory_win32) + vkGetMemoryWin32HandleNV = (PFN_vkGetMemoryWin32HandleNV)load(context, "vkGetMemoryWin32HandleNV"); +#endif /* defined(VK_NV_external_memory_win32) */ +#if defined(VK_NV_fragment_shading_rate_enums) + vkCmdSetFragmentShadingRateEnumNV = (PFN_vkCmdSetFragmentShadingRateEnumNV)load(context, "vkCmdSetFragmentShadingRateEnumNV"); +#endif /* defined(VK_NV_fragment_shading_rate_enums) */ +#if defined(VK_NV_memory_decompression) + vkCmdDecompressMemoryIndirectCountNV = (PFN_vkCmdDecompressMemoryIndirectCountNV)load(context, "vkCmdDecompressMemoryIndirectCountNV"); + vkCmdDecompressMemoryNV = (PFN_vkCmdDecompressMemoryNV)load(context, "vkCmdDecompressMemoryNV"); +#endif /* defined(VK_NV_memory_decompression) */ +#if defined(VK_NV_mesh_shader) + vkCmdDrawMeshTasksIndirectCountNV = (PFN_vkCmdDrawMeshTasksIndirectCountNV)load(context, "vkCmdDrawMeshTasksIndirectCountNV"); + vkCmdDrawMeshTasksIndirectNV = (PFN_vkCmdDrawMeshTasksIndirectNV)load(context, "vkCmdDrawMeshTasksIndirectNV"); + vkCmdDrawMeshTasksNV = (PFN_vkCmdDrawMeshTasksNV)load(context, "vkCmdDrawMeshTasksNV"); +#endif /* defined(VK_NV_mesh_shader) */ +#if defined(VK_NV_optical_flow) + vkBindOpticalFlowSessionImageNV = (PFN_vkBindOpticalFlowSessionImageNV)load(context, "vkBindOpticalFlowSessionImageNV"); + vkCmdOpticalFlowExecuteNV = (PFN_vkCmdOpticalFlowExecuteNV)load(context, "vkCmdOpticalFlowExecuteNV"); + vkCreateOpticalFlowSessionNV = (PFN_vkCreateOpticalFlowSessionNV)load(context, "vkCreateOpticalFlowSessionNV"); + vkDestroyOpticalFlowSessionNV = (PFN_vkDestroyOpticalFlowSessionNV)load(context, "vkDestroyOpticalFlowSessionNV"); +#endif /* defined(VK_NV_optical_flow) */ +#if defined(VK_NV_ray_tracing) + vkBindAccelerationStructureMemoryNV = (PFN_vkBindAccelerationStructureMemoryNV)load(context, "vkBindAccelerationStructureMemoryNV"); + vkCmdBuildAccelerationStructureNV = (PFN_vkCmdBuildAccelerationStructureNV)load(context, "vkCmdBuildAccelerationStructureNV"); + vkCmdCopyAccelerationStructureNV = (PFN_vkCmdCopyAccelerationStructureNV)load(context, "vkCmdCopyAccelerationStructureNV"); + vkCmdTraceRaysNV = (PFN_vkCmdTraceRaysNV)load(context, "vkCmdTraceRaysNV"); + vkCmdWriteAccelerationStructuresPropertiesNV = (PFN_vkCmdWriteAccelerationStructuresPropertiesNV)load(context, "vkCmdWriteAccelerationStructuresPropertiesNV"); + vkCompileDeferredNV = (PFN_vkCompileDeferredNV)load(context, "vkCompileDeferredNV"); + vkCreateAccelerationStructureNV = (PFN_vkCreateAccelerationStructureNV)load(context, "vkCreateAccelerationStructureNV"); + vkCreateRayTracingPipelinesNV = (PFN_vkCreateRayTracingPipelinesNV)load(context, "vkCreateRayTracingPipelinesNV"); + vkDestroyAccelerationStructureNV = (PFN_vkDestroyAccelerationStructureNV)load(context, "vkDestroyAccelerationStructureNV"); + vkGetAccelerationStructureHandleNV = (PFN_vkGetAccelerationStructureHandleNV)load(context, "vkGetAccelerationStructureHandleNV"); + vkGetAccelerationStructureMemoryRequirementsNV = (PFN_vkGetAccelerationStructureMemoryRequirementsNV)load(context, "vkGetAccelerationStructureMemoryRequirementsNV"); + vkGetRayTracingShaderGroupHandlesNV = (PFN_vkGetRayTracingShaderGroupHandlesNV)load(context, "vkGetRayTracingShaderGroupHandlesNV"); +#endif /* defined(VK_NV_ray_tracing) */ +#if defined(VK_NV_scissor_exclusive) + vkCmdSetExclusiveScissorNV = (PFN_vkCmdSetExclusiveScissorNV)load(context, "vkCmdSetExclusiveScissorNV"); +#endif /* defined(VK_NV_scissor_exclusive) */ +#if defined(VK_NV_shading_rate_image) + vkCmdBindShadingRateImageNV = (PFN_vkCmdBindShadingRateImageNV)load(context, "vkCmdBindShadingRateImageNV"); + vkCmdSetCoarseSampleOrderNV = (PFN_vkCmdSetCoarseSampleOrderNV)load(context, "vkCmdSetCoarseSampleOrderNV"); + vkCmdSetViewportShadingRatePaletteNV = (PFN_vkCmdSetViewportShadingRatePaletteNV)load(context, "vkCmdSetViewportShadingRatePaletteNV"); +#endif /* defined(VK_NV_shading_rate_image) */ +#if defined(VK_QCOM_tile_properties) + vkGetDynamicRenderingTilePropertiesQCOM = (PFN_vkGetDynamicRenderingTilePropertiesQCOM)load(context, "vkGetDynamicRenderingTilePropertiesQCOM"); + vkGetFramebufferTilePropertiesQCOM = (PFN_vkGetFramebufferTilePropertiesQCOM)load(context, "vkGetFramebufferTilePropertiesQCOM"); +#endif /* defined(VK_QCOM_tile_properties) */ +#if defined(VK_VALVE_descriptor_set_host_mapping) + vkGetDescriptorSetHostMappingVALVE = (PFN_vkGetDescriptorSetHostMappingVALVE)load(context, "vkGetDescriptorSetHostMappingVALVE"); + vkGetDescriptorSetLayoutHostMappingInfoVALVE = (PFN_vkGetDescriptorSetLayoutHostMappingInfoVALVE)load(context, "vkGetDescriptorSetLayoutHostMappingInfoVALVE"); +#endif /* defined(VK_VALVE_descriptor_set_host_mapping) */ +#if (defined(VK_EXT_full_screen_exclusive) && defined(VK_KHR_device_group)) || (defined(VK_EXT_full_screen_exclusive) && defined(VK_VERSION_1_1)) + vkGetDeviceGroupSurfacePresentModes2EXT = (PFN_vkGetDeviceGroupSurfacePresentModes2EXT)load(context, "vkGetDeviceGroupSurfacePresentModes2EXT"); +#endif /* (defined(VK_EXT_full_screen_exclusive) && defined(VK_KHR_device_group)) || (defined(VK_EXT_full_screen_exclusive) && defined(VK_VERSION_1_1)) */ +#if (defined(VK_KHR_descriptor_update_template) && defined(VK_KHR_push_descriptor)) || (defined(VK_KHR_push_descriptor) && defined(VK_VERSION_1_1)) || (defined(VK_KHR_push_descriptor) && defined(VK_KHR_descriptor_update_template)) + vkCmdPushDescriptorSetWithTemplateKHR = (PFN_vkCmdPushDescriptorSetWithTemplateKHR)load(context, "vkCmdPushDescriptorSetWithTemplateKHR"); +#endif /* (defined(VK_KHR_descriptor_update_template) && defined(VK_KHR_push_descriptor)) || (defined(VK_KHR_push_descriptor) && defined(VK_VERSION_1_1)) || (defined(VK_KHR_push_descriptor) && defined(VK_KHR_descriptor_update_template)) */ +#if (defined(VK_KHR_device_group) && defined(VK_KHR_surface)) || (defined(VK_KHR_swapchain) && defined(VK_VERSION_1_1)) + vkGetDeviceGroupPresentCapabilitiesKHR = (PFN_vkGetDeviceGroupPresentCapabilitiesKHR)load(context, "vkGetDeviceGroupPresentCapabilitiesKHR"); + vkGetDeviceGroupSurfacePresentModesKHR = (PFN_vkGetDeviceGroupSurfacePresentModesKHR)load(context, "vkGetDeviceGroupSurfacePresentModesKHR"); +#endif /* (defined(VK_KHR_device_group) && defined(VK_KHR_surface)) || (defined(VK_KHR_swapchain) && defined(VK_VERSION_1_1)) */ +#if (defined(VK_KHR_device_group) && defined(VK_KHR_swapchain)) || (defined(VK_KHR_swapchain) && defined(VK_VERSION_1_1)) + vkAcquireNextImage2KHR = (PFN_vkAcquireNextImage2KHR)load(context, "vkAcquireNextImage2KHR"); +#endif /* (defined(VK_KHR_device_group) && defined(VK_KHR_swapchain)) || (defined(VK_KHR_swapchain) && defined(VK_VERSION_1_1)) */ + /* VOLK_GENERATE_LOAD_DEVICE */ +} + +static void volkGenLoadDeviceTable(struct VolkDeviceTable* table, void* context, PFN_vkVoidFunction (*load)(void*, const char*)) +{ + /* VOLK_GENERATE_LOAD_DEVICE_TABLE */ +#if defined(VK_VERSION_1_0) + table->vkAllocateCommandBuffers = (PFN_vkAllocateCommandBuffers)load(context, "vkAllocateCommandBuffers"); + table->vkAllocateDescriptorSets = (PFN_vkAllocateDescriptorSets)load(context, "vkAllocateDescriptorSets"); + table->vkAllocateMemory = (PFN_vkAllocateMemory)load(context, "vkAllocateMemory"); + table->vkBeginCommandBuffer = (PFN_vkBeginCommandBuffer)load(context, "vkBeginCommandBuffer"); + table->vkBindBufferMemory = (PFN_vkBindBufferMemory)load(context, "vkBindBufferMemory"); + table->vkBindImageMemory = (PFN_vkBindImageMemory)load(context, "vkBindImageMemory"); + table->vkCmdBeginQuery = (PFN_vkCmdBeginQuery)load(context, "vkCmdBeginQuery"); + table->vkCmdBeginRenderPass = (PFN_vkCmdBeginRenderPass)load(context, "vkCmdBeginRenderPass"); + table->vkCmdBindDescriptorSets = (PFN_vkCmdBindDescriptorSets)load(context, "vkCmdBindDescriptorSets"); + table->vkCmdBindIndexBuffer = (PFN_vkCmdBindIndexBuffer)load(context, "vkCmdBindIndexBuffer"); + table->vkCmdBindPipeline = (PFN_vkCmdBindPipeline)load(context, "vkCmdBindPipeline"); + table->vkCmdBindVertexBuffers = (PFN_vkCmdBindVertexBuffers)load(context, "vkCmdBindVertexBuffers"); + table->vkCmdBlitImage = (PFN_vkCmdBlitImage)load(context, "vkCmdBlitImage"); + table->vkCmdClearAttachments = (PFN_vkCmdClearAttachments)load(context, "vkCmdClearAttachments"); + table->vkCmdClearColorImage = (PFN_vkCmdClearColorImage)load(context, "vkCmdClearColorImage"); + table->vkCmdClearDepthStencilImage = (PFN_vkCmdClearDepthStencilImage)load(context, "vkCmdClearDepthStencilImage"); + table->vkCmdCopyBuffer = (PFN_vkCmdCopyBuffer)load(context, "vkCmdCopyBuffer"); + table->vkCmdCopyBufferToImage = (PFN_vkCmdCopyBufferToImage)load(context, "vkCmdCopyBufferToImage"); + table->vkCmdCopyImage = (PFN_vkCmdCopyImage)load(context, "vkCmdCopyImage"); + table->vkCmdCopyImageToBuffer = (PFN_vkCmdCopyImageToBuffer)load(context, "vkCmdCopyImageToBuffer"); + table->vkCmdCopyQueryPoolResults = (PFN_vkCmdCopyQueryPoolResults)load(context, "vkCmdCopyQueryPoolResults"); + table->vkCmdDispatch = (PFN_vkCmdDispatch)load(context, "vkCmdDispatch"); + table->vkCmdDispatchIndirect = (PFN_vkCmdDispatchIndirect)load(context, "vkCmdDispatchIndirect"); + table->vkCmdDraw = (PFN_vkCmdDraw)load(context, "vkCmdDraw"); + table->vkCmdDrawIndexed = (PFN_vkCmdDrawIndexed)load(context, "vkCmdDrawIndexed"); + table->vkCmdDrawIndexedIndirect = (PFN_vkCmdDrawIndexedIndirect)load(context, "vkCmdDrawIndexedIndirect"); + table->vkCmdDrawIndirect = (PFN_vkCmdDrawIndirect)load(context, "vkCmdDrawIndirect"); + table->vkCmdEndQuery = (PFN_vkCmdEndQuery)load(context, "vkCmdEndQuery"); + table->vkCmdEndRenderPass = (PFN_vkCmdEndRenderPass)load(context, "vkCmdEndRenderPass"); + table->vkCmdExecuteCommands = (PFN_vkCmdExecuteCommands)load(context, "vkCmdExecuteCommands"); + table->vkCmdFillBuffer = (PFN_vkCmdFillBuffer)load(context, "vkCmdFillBuffer"); + table->vkCmdNextSubpass = (PFN_vkCmdNextSubpass)load(context, "vkCmdNextSubpass"); + table->vkCmdPipelineBarrier = (PFN_vkCmdPipelineBarrier)load(context, "vkCmdPipelineBarrier"); + table->vkCmdPushConstants = (PFN_vkCmdPushConstants)load(context, "vkCmdPushConstants"); + table->vkCmdResetEvent = (PFN_vkCmdResetEvent)load(context, "vkCmdResetEvent"); + table->vkCmdResetQueryPool = (PFN_vkCmdResetQueryPool)load(context, "vkCmdResetQueryPool"); + table->vkCmdResolveImage = (PFN_vkCmdResolveImage)load(context, "vkCmdResolveImage"); + table->vkCmdSetBlendConstants = (PFN_vkCmdSetBlendConstants)load(context, "vkCmdSetBlendConstants"); + table->vkCmdSetDepthBias = (PFN_vkCmdSetDepthBias)load(context, "vkCmdSetDepthBias"); + table->vkCmdSetDepthBounds = (PFN_vkCmdSetDepthBounds)load(context, "vkCmdSetDepthBounds"); + table->vkCmdSetEvent = (PFN_vkCmdSetEvent)load(context, "vkCmdSetEvent"); + table->vkCmdSetLineWidth = (PFN_vkCmdSetLineWidth)load(context, "vkCmdSetLineWidth"); + table->vkCmdSetScissor = (PFN_vkCmdSetScissor)load(context, "vkCmdSetScissor"); + table->vkCmdSetStencilCompareMask = (PFN_vkCmdSetStencilCompareMask)load(context, "vkCmdSetStencilCompareMask"); + table->vkCmdSetStencilReference = (PFN_vkCmdSetStencilReference)load(context, "vkCmdSetStencilReference"); + table->vkCmdSetStencilWriteMask = (PFN_vkCmdSetStencilWriteMask)load(context, "vkCmdSetStencilWriteMask"); + table->vkCmdSetViewport = (PFN_vkCmdSetViewport)load(context, "vkCmdSetViewport"); + table->vkCmdUpdateBuffer = (PFN_vkCmdUpdateBuffer)load(context, "vkCmdUpdateBuffer"); + table->vkCmdWaitEvents = (PFN_vkCmdWaitEvents)load(context, "vkCmdWaitEvents"); + table->vkCmdWriteTimestamp = (PFN_vkCmdWriteTimestamp)load(context, "vkCmdWriteTimestamp"); + table->vkCreateBuffer = (PFN_vkCreateBuffer)load(context, "vkCreateBuffer"); + table->vkCreateBufferView = (PFN_vkCreateBufferView)load(context, "vkCreateBufferView"); + table->vkCreateCommandPool = (PFN_vkCreateCommandPool)load(context, "vkCreateCommandPool"); + table->vkCreateComputePipelines = (PFN_vkCreateComputePipelines)load(context, "vkCreateComputePipelines"); + table->vkCreateDescriptorPool = (PFN_vkCreateDescriptorPool)load(context, "vkCreateDescriptorPool"); + table->vkCreateDescriptorSetLayout = (PFN_vkCreateDescriptorSetLayout)load(context, "vkCreateDescriptorSetLayout"); + table->vkCreateEvent = (PFN_vkCreateEvent)load(context, "vkCreateEvent"); + table->vkCreateFence = (PFN_vkCreateFence)load(context, "vkCreateFence"); + table->vkCreateFramebuffer = (PFN_vkCreateFramebuffer)load(context, "vkCreateFramebuffer"); + table->vkCreateGraphicsPipelines = (PFN_vkCreateGraphicsPipelines)load(context, "vkCreateGraphicsPipelines"); + table->vkCreateImage = (PFN_vkCreateImage)load(context, "vkCreateImage"); + table->vkCreateImageView = (PFN_vkCreateImageView)load(context, "vkCreateImageView"); + table->vkCreatePipelineCache = (PFN_vkCreatePipelineCache)load(context, "vkCreatePipelineCache"); + table->vkCreatePipelineLayout = (PFN_vkCreatePipelineLayout)load(context, "vkCreatePipelineLayout"); + table->vkCreateQueryPool = (PFN_vkCreateQueryPool)load(context, "vkCreateQueryPool"); + table->vkCreateRenderPass = (PFN_vkCreateRenderPass)load(context, "vkCreateRenderPass"); + table->vkCreateSampler = (PFN_vkCreateSampler)load(context, "vkCreateSampler"); + table->vkCreateSemaphore = (PFN_vkCreateSemaphore)load(context, "vkCreateSemaphore"); + table->vkCreateShaderModule = (PFN_vkCreateShaderModule)load(context, "vkCreateShaderModule"); + table->vkDestroyBuffer = (PFN_vkDestroyBuffer)load(context, "vkDestroyBuffer"); + table->vkDestroyBufferView = (PFN_vkDestroyBufferView)load(context, "vkDestroyBufferView"); + table->vkDestroyCommandPool = (PFN_vkDestroyCommandPool)load(context, "vkDestroyCommandPool"); + table->vkDestroyDescriptorPool = (PFN_vkDestroyDescriptorPool)load(context, "vkDestroyDescriptorPool"); + table->vkDestroyDescriptorSetLayout = (PFN_vkDestroyDescriptorSetLayout)load(context, "vkDestroyDescriptorSetLayout"); + table->vkDestroyDevice = (PFN_vkDestroyDevice)load(context, "vkDestroyDevice"); + table->vkDestroyEvent = (PFN_vkDestroyEvent)load(context, "vkDestroyEvent"); + table->vkDestroyFence = (PFN_vkDestroyFence)load(context, "vkDestroyFence"); + table->vkDestroyFramebuffer = (PFN_vkDestroyFramebuffer)load(context, "vkDestroyFramebuffer"); + table->vkDestroyImage = (PFN_vkDestroyImage)load(context, "vkDestroyImage"); + table->vkDestroyImageView = (PFN_vkDestroyImageView)load(context, "vkDestroyImageView"); + table->vkDestroyPipeline = (PFN_vkDestroyPipeline)load(context, "vkDestroyPipeline"); + table->vkDestroyPipelineCache = (PFN_vkDestroyPipelineCache)load(context, "vkDestroyPipelineCache"); + table->vkDestroyPipelineLayout = (PFN_vkDestroyPipelineLayout)load(context, "vkDestroyPipelineLayout"); + table->vkDestroyQueryPool = (PFN_vkDestroyQueryPool)load(context, "vkDestroyQueryPool"); + table->vkDestroyRenderPass = (PFN_vkDestroyRenderPass)load(context, "vkDestroyRenderPass"); + table->vkDestroySampler = (PFN_vkDestroySampler)load(context, "vkDestroySampler"); + table->vkDestroySemaphore = (PFN_vkDestroySemaphore)load(context, "vkDestroySemaphore"); + table->vkDestroyShaderModule = (PFN_vkDestroyShaderModule)load(context, "vkDestroyShaderModule"); + table->vkDeviceWaitIdle = (PFN_vkDeviceWaitIdle)load(context, "vkDeviceWaitIdle"); + table->vkEndCommandBuffer = (PFN_vkEndCommandBuffer)load(context, "vkEndCommandBuffer"); + table->vkFlushMappedMemoryRanges = (PFN_vkFlushMappedMemoryRanges)load(context, "vkFlushMappedMemoryRanges"); + table->vkFreeCommandBuffers = (PFN_vkFreeCommandBuffers)load(context, "vkFreeCommandBuffers"); + table->vkFreeDescriptorSets = (PFN_vkFreeDescriptorSets)load(context, "vkFreeDescriptorSets"); + table->vkFreeMemory = (PFN_vkFreeMemory)load(context, "vkFreeMemory"); + table->vkGetBufferMemoryRequirements = (PFN_vkGetBufferMemoryRequirements)load(context, "vkGetBufferMemoryRequirements"); + table->vkGetDeviceMemoryCommitment = (PFN_vkGetDeviceMemoryCommitment)load(context, "vkGetDeviceMemoryCommitment"); + table->vkGetDeviceQueue = (PFN_vkGetDeviceQueue)load(context, "vkGetDeviceQueue"); + table->vkGetEventStatus = (PFN_vkGetEventStatus)load(context, "vkGetEventStatus"); + table->vkGetFenceStatus = (PFN_vkGetFenceStatus)load(context, "vkGetFenceStatus"); + table->vkGetImageMemoryRequirements = (PFN_vkGetImageMemoryRequirements)load(context, "vkGetImageMemoryRequirements"); + table->vkGetImageSparseMemoryRequirements = (PFN_vkGetImageSparseMemoryRequirements)load(context, "vkGetImageSparseMemoryRequirements"); + table->vkGetImageSubresourceLayout = (PFN_vkGetImageSubresourceLayout)load(context, "vkGetImageSubresourceLayout"); + table->vkGetPipelineCacheData = (PFN_vkGetPipelineCacheData)load(context, "vkGetPipelineCacheData"); + table->vkGetQueryPoolResults = (PFN_vkGetQueryPoolResults)load(context, "vkGetQueryPoolResults"); + table->vkGetRenderAreaGranularity = (PFN_vkGetRenderAreaGranularity)load(context, "vkGetRenderAreaGranularity"); + table->vkInvalidateMappedMemoryRanges = (PFN_vkInvalidateMappedMemoryRanges)load(context, "vkInvalidateMappedMemoryRanges"); + table->vkMapMemory = (PFN_vkMapMemory)load(context, "vkMapMemory"); + table->vkMergePipelineCaches = (PFN_vkMergePipelineCaches)load(context, "vkMergePipelineCaches"); + table->vkQueueBindSparse = (PFN_vkQueueBindSparse)load(context, "vkQueueBindSparse"); + table->vkQueueSubmit = (PFN_vkQueueSubmit)load(context, "vkQueueSubmit"); + table->vkQueueWaitIdle = (PFN_vkQueueWaitIdle)load(context, "vkQueueWaitIdle"); + table->vkResetCommandBuffer = (PFN_vkResetCommandBuffer)load(context, "vkResetCommandBuffer"); + table->vkResetCommandPool = (PFN_vkResetCommandPool)load(context, "vkResetCommandPool"); + table->vkResetDescriptorPool = (PFN_vkResetDescriptorPool)load(context, "vkResetDescriptorPool"); + table->vkResetEvent = (PFN_vkResetEvent)load(context, "vkResetEvent"); + table->vkResetFences = (PFN_vkResetFences)load(context, "vkResetFences"); + table->vkSetEvent = (PFN_vkSetEvent)load(context, "vkSetEvent"); + table->vkUnmapMemory = (PFN_vkUnmapMemory)load(context, "vkUnmapMemory"); + table->vkUpdateDescriptorSets = (PFN_vkUpdateDescriptorSets)load(context, "vkUpdateDescriptorSets"); + table->vkWaitForFences = (PFN_vkWaitForFences)load(context, "vkWaitForFences"); +#endif /* defined(VK_VERSION_1_0) */ +#if defined(VK_VERSION_1_1) + table->vkBindBufferMemory2 = (PFN_vkBindBufferMemory2)load(context, "vkBindBufferMemory2"); + table->vkBindImageMemory2 = (PFN_vkBindImageMemory2)load(context, "vkBindImageMemory2"); + table->vkCmdDispatchBase = (PFN_vkCmdDispatchBase)load(context, "vkCmdDispatchBase"); + table->vkCmdSetDeviceMask = (PFN_vkCmdSetDeviceMask)load(context, "vkCmdSetDeviceMask"); + table->vkCreateDescriptorUpdateTemplate = (PFN_vkCreateDescriptorUpdateTemplate)load(context, "vkCreateDescriptorUpdateTemplate"); + table->vkCreateSamplerYcbcrConversion = (PFN_vkCreateSamplerYcbcrConversion)load(context, "vkCreateSamplerYcbcrConversion"); + table->vkDestroyDescriptorUpdateTemplate = (PFN_vkDestroyDescriptorUpdateTemplate)load(context, "vkDestroyDescriptorUpdateTemplate"); + table->vkDestroySamplerYcbcrConversion = (PFN_vkDestroySamplerYcbcrConversion)load(context, "vkDestroySamplerYcbcrConversion"); + table->vkGetBufferMemoryRequirements2 = (PFN_vkGetBufferMemoryRequirements2)load(context, "vkGetBufferMemoryRequirements2"); + table->vkGetDescriptorSetLayoutSupport = (PFN_vkGetDescriptorSetLayoutSupport)load(context, "vkGetDescriptorSetLayoutSupport"); + table->vkGetDeviceGroupPeerMemoryFeatures = (PFN_vkGetDeviceGroupPeerMemoryFeatures)load(context, "vkGetDeviceGroupPeerMemoryFeatures"); + table->vkGetDeviceQueue2 = (PFN_vkGetDeviceQueue2)load(context, "vkGetDeviceQueue2"); + table->vkGetImageMemoryRequirements2 = (PFN_vkGetImageMemoryRequirements2)load(context, "vkGetImageMemoryRequirements2"); + table->vkGetImageSparseMemoryRequirements2 = (PFN_vkGetImageSparseMemoryRequirements2)load(context, "vkGetImageSparseMemoryRequirements2"); + table->vkTrimCommandPool = (PFN_vkTrimCommandPool)load(context, "vkTrimCommandPool"); + table->vkUpdateDescriptorSetWithTemplate = (PFN_vkUpdateDescriptorSetWithTemplate)load(context, "vkUpdateDescriptorSetWithTemplate"); +#endif /* defined(VK_VERSION_1_1) */ +#if defined(VK_VERSION_1_2) + table->vkCmdBeginRenderPass2 = (PFN_vkCmdBeginRenderPass2)load(context, "vkCmdBeginRenderPass2"); + table->vkCmdDrawIndexedIndirectCount = (PFN_vkCmdDrawIndexedIndirectCount)load(context, "vkCmdDrawIndexedIndirectCount"); + table->vkCmdDrawIndirectCount = (PFN_vkCmdDrawIndirectCount)load(context, "vkCmdDrawIndirectCount"); + table->vkCmdEndRenderPass2 = (PFN_vkCmdEndRenderPass2)load(context, "vkCmdEndRenderPass2"); + table->vkCmdNextSubpass2 = (PFN_vkCmdNextSubpass2)load(context, "vkCmdNextSubpass2"); + table->vkCreateRenderPass2 = (PFN_vkCreateRenderPass2)load(context, "vkCreateRenderPass2"); + table->vkGetBufferDeviceAddress = (PFN_vkGetBufferDeviceAddress)load(context, "vkGetBufferDeviceAddress"); + table->vkGetBufferOpaqueCaptureAddress = (PFN_vkGetBufferOpaqueCaptureAddress)load(context, "vkGetBufferOpaqueCaptureAddress"); + table->vkGetDeviceMemoryOpaqueCaptureAddress = (PFN_vkGetDeviceMemoryOpaqueCaptureAddress)load(context, "vkGetDeviceMemoryOpaqueCaptureAddress"); + table->vkGetSemaphoreCounterValue = (PFN_vkGetSemaphoreCounterValue)load(context, "vkGetSemaphoreCounterValue"); + table->vkResetQueryPool = (PFN_vkResetQueryPool)load(context, "vkResetQueryPool"); + table->vkSignalSemaphore = (PFN_vkSignalSemaphore)load(context, "vkSignalSemaphore"); + table->vkWaitSemaphores = (PFN_vkWaitSemaphores)load(context, "vkWaitSemaphores"); +#endif /* defined(VK_VERSION_1_2) */ +#if defined(VK_VERSION_1_3) + table->vkCmdBeginRendering = (PFN_vkCmdBeginRendering)load(context, "vkCmdBeginRendering"); + table->vkCmdBindVertexBuffers2 = (PFN_vkCmdBindVertexBuffers2)load(context, "vkCmdBindVertexBuffers2"); + table->vkCmdBlitImage2 = (PFN_vkCmdBlitImage2)load(context, "vkCmdBlitImage2"); + table->vkCmdCopyBuffer2 = (PFN_vkCmdCopyBuffer2)load(context, "vkCmdCopyBuffer2"); + table->vkCmdCopyBufferToImage2 = (PFN_vkCmdCopyBufferToImage2)load(context, "vkCmdCopyBufferToImage2"); + table->vkCmdCopyImage2 = (PFN_vkCmdCopyImage2)load(context, "vkCmdCopyImage2"); + table->vkCmdCopyImageToBuffer2 = (PFN_vkCmdCopyImageToBuffer2)load(context, "vkCmdCopyImageToBuffer2"); + table->vkCmdEndRendering = (PFN_vkCmdEndRendering)load(context, "vkCmdEndRendering"); + table->vkCmdPipelineBarrier2 = (PFN_vkCmdPipelineBarrier2)load(context, "vkCmdPipelineBarrier2"); + table->vkCmdResetEvent2 = (PFN_vkCmdResetEvent2)load(context, "vkCmdResetEvent2"); + table->vkCmdResolveImage2 = (PFN_vkCmdResolveImage2)load(context, "vkCmdResolveImage2"); + table->vkCmdSetCullMode = (PFN_vkCmdSetCullMode)load(context, "vkCmdSetCullMode"); + table->vkCmdSetDepthBiasEnable = (PFN_vkCmdSetDepthBiasEnable)load(context, "vkCmdSetDepthBiasEnable"); + table->vkCmdSetDepthBoundsTestEnable = (PFN_vkCmdSetDepthBoundsTestEnable)load(context, "vkCmdSetDepthBoundsTestEnable"); + table->vkCmdSetDepthCompareOp = (PFN_vkCmdSetDepthCompareOp)load(context, "vkCmdSetDepthCompareOp"); + table->vkCmdSetDepthTestEnable = (PFN_vkCmdSetDepthTestEnable)load(context, "vkCmdSetDepthTestEnable"); + table->vkCmdSetDepthWriteEnable = (PFN_vkCmdSetDepthWriteEnable)load(context, "vkCmdSetDepthWriteEnable"); + table->vkCmdSetEvent2 = (PFN_vkCmdSetEvent2)load(context, "vkCmdSetEvent2"); + table->vkCmdSetFrontFace = (PFN_vkCmdSetFrontFace)load(context, "vkCmdSetFrontFace"); + table->vkCmdSetPrimitiveRestartEnable = (PFN_vkCmdSetPrimitiveRestartEnable)load(context, "vkCmdSetPrimitiveRestartEnable"); + table->vkCmdSetPrimitiveTopology = (PFN_vkCmdSetPrimitiveTopology)load(context, "vkCmdSetPrimitiveTopology"); + table->vkCmdSetRasterizerDiscardEnable = (PFN_vkCmdSetRasterizerDiscardEnable)load(context, "vkCmdSetRasterizerDiscardEnable"); + table->vkCmdSetScissorWithCount = (PFN_vkCmdSetScissorWithCount)load(context, "vkCmdSetScissorWithCount"); + table->vkCmdSetStencilOp = (PFN_vkCmdSetStencilOp)load(context, "vkCmdSetStencilOp"); + table->vkCmdSetStencilTestEnable = (PFN_vkCmdSetStencilTestEnable)load(context, "vkCmdSetStencilTestEnable"); + table->vkCmdSetViewportWithCount = (PFN_vkCmdSetViewportWithCount)load(context, "vkCmdSetViewportWithCount"); + table->vkCmdWaitEvents2 = (PFN_vkCmdWaitEvents2)load(context, "vkCmdWaitEvents2"); + table->vkCmdWriteTimestamp2 = (PFN_vkCmdWriteTimestamp2)load(context, "vkCmdWriteTimestamp2"); + table->vkCreatePrivateDataSlot = (PFN_vkCreatePrivateDataSlot)load(context, "vkCreatePrivateDataSlot"); + table->vkDestroyPrivateDataSlot = (PFN_vkDestroyPrivateDataSlot)load(context, "vkDestroyPrivateDataSlot"); + table->vkGetDeviceBufferMemoryRequirements = (PFN_vkGetDeviceBufferMemoryRequirements)load(context, "vkGetDeviceBufferMemoryRequirements"); + table->vkGetDeviceImageMemoryRequirements = (PFN_vkGetDeviceImageMemoryRequirements)load(context, "vkGetDeviceImageMemoryRequirements"); + table->vkGetDeviceImageSparseMemoryRequirements = (PFN_vkGetDeviceImageSparseMemoryRequirements)load(context, "vkGetDeviceImageSparseMemoryRequirements"); + table->vkGetPrivateData = (PFN_vkGetPrivateData)load(context, "vkGetPrivateData"); + table->vkQueueSubmit2 = (PFN_vkQueueSubmit2)load(context, "vkQueueSubmit2"); + table->vkSetPrivateData = (PFN_vkSetPrivateData)load(context, "vkSetPrivateData"); +#endif /* defined(VK_VERSION_1_3) */ +#if defined(VK_AMD_buffer_marker) + table->vkCmdWriteBufferMarkerAMD = (PFN_vkCmdWriteBufferMarkerAMD)load(context, "vkCmdWriteBufferMarkerAMD"); +#endif /* defined(VK_AMD_buffer_marker) */ +#if defined(VK_AMD_display_native_hdr) + table->vkSetLocalDimmingAMD = (PFN_vkSetLocalDimmingAMD)load(context, "vkSetLocalDimmingAMD"); +#endif /* defined(VK_AMD_display_native_hdr) */ +#if defined(VK_AMD_draw_indirect_count) + table->vkCmdDrawIndexedIndirectCountAMD = (PFN_vkCmdDrawIndexedIndirectCountAMD)load(context, "vkCmdDrawIndexedIndirectCountAMD"); + table->vkCmdDrawIndirectCountAMD = (PFN_vkCmdDrawIndirectCountAMD)load(context, "vkCmdDrawIndirectCountAMD"); +#endif /* defined(VK_AMD_draw_indirect_count) */ +#if defined(VK_AMD_shader_info) + table->vkGetShaderInfoAMD = (PFN_vkGetShaderInfoAMD)load(context, "vkGetShaderInfoAMD"); +#endif /* defined(VK_AMD_shader_info) */ +#if defined(VK_ANDROID_external_memory_android_hardware_buffer) + table->vkGetAndroidHardwareBufferPropertiesANDROID = (PFN_vkGetAndroidHardwareBufferPropertiesANDROID)load(context, "vkGetAndroidHardwareBufferPropertiesANDROID"); + table->vkGetMemoryAndroidHardwareBufferANDROID = (PFN_vkGetMemoryAndroidHardwareBufferANDROID)load(context, "vkGetMemoryAndroidHardwareBufferANDROID"); +#endif /* defined(VK_ANDROID_external_memory_android_hardware_buffer) */ +#if defined(VK_EXT_buffer_device_address) + table->vkGetBufferDeviceAddressEXT = (PFN_vkGetBufferDeviceAddressEXT)load(context, "vkGetBufferDeviceAddressEXT"); +#endif /* defined(VK_EXT_buffer_device_address) */ +#if defined(VK_EXT_calibrated_timestamps) + table->vkGetCalibratedTimestampsEXT = (PFN_vkGetCalibratedTimestampsEXT)load(context, "vkGetCalibratedTimestampsEXT"); +#endif /* defined(VK_EXT_calibrated_timestamps) */ +#if defined(VK_EXT_color_write_enable) + table->vkCmdSetColorWriteEnableEXT = (PFN_vkCmdSetColorWriteEnableEXT)load(context, "vkCmdSetColorWriteEnableEXT"); +#endif /* defined(VK_EXT_color_write_enable) */ +#if defined(VK_EXT_conditional_rendering) + table->vkCmdBeginConditionalRenderingEXT = (PFN_vkCmdBeginConditionalRenderingEXT)load(context, "vkCmdBeginConditionalRenderingEXT"); + table->vkCmdEndConditionalRenderingEXT = (PFN_vkCmdEndConditionalRenderingEXT)load(context, "vkCmdEndConditionalRenderingEXT"); +#endif /* defined(VK_EXT_conditional_rendering) */ +#if defined(VK_EXT_debug_marker) + table->vkCmdDebugMarkerBeginEXT = (PFN_vkCmdDebugMarkerBeginEXT)load(context, "vkCmdDebugMarkerBeginEXT"); + table->vkCmdDebugMarkerEndEXT = (PFN_vkCmdDebugMarkerEndEXT)load(context, "vkCmdDebugMarkerEndEXT"); + table->vkCmdDebugMarkerInsertEXT = (PFN_vkCmdDebugMarkerInsertEXT)load(context, "vkCmdDebugMarkerInsertEXT"); + table->vkDebugMarkerSetObjectNameEXT = (PFN_vkDebugMarkerSetObjectNameEXT)load(context, "vkDebugMarkerSetObjectNameEXT"); + table->vkDebugMarkerSetObjectTagEXT = (PFN_vkDebugMarkerSetObjectTagEXT)load(context, "vkDebugMarkerSetObjectTagEXT"); +#endif /* defined(VK_EXT_debug_marker) */ +#if defined(VK_EXT_descriptor_buffer) + table->vkCmdBindDescriptorBufferEmbeddedSamplersEXT = (PFN_vkCmdBindDescriptorBufferEmbeddedSamplersEXT)load(context, "vkCmdBindDescriptorBufferEmbeddedSamplersEXT"); + table->vkCmdBindDescriptorBuffersEXT = (PFN_vkCmdBindDescriptorBuffersEXT)load(context, "vkCmdBindDescriptorBuffersEXT"); + table->vkCmdSetDescriptorBufferOffsetsEXT = (PFN_vkCmdSetDescriptorBufferOffsetsEXT)load(context, "vkCmdSetDescriptorBufferOffsetsEXT"); + table->vkGetBufferOpaqueCaptureDescriptorDataEXT = (PFN_vkGetBufferOpaqueCaptureDescriptorDataEXT)load(context, "vkGetBufferOpaqueCaptureDescriptorDataEXT"); + table->vkGetDescriptorEXT = (PFN_vkGetDescriptorEXT)load(context, "vkGetDescriptorEXT"); + table->vkGetDescriptorSetLayoutBindingOffsetEXT = (PFN_vkGetDescriptorSetLayoutBindingOffsetEXT)load(context, "vkGetDescriptorSetLayoutBindingOffsetEXT"); + table->vkGetDescriptorSetLayoutSizeEXT = (PFN_vkGetDescriptorSetLayoutSizeEXT)load(context, "vkGetDescriptorSetLayoutSizeEXT"); + table->vkGetImageOpaqueCaptureDescriptorDataEXT = (PFN_vkGetImageOpaqueCaptureDescriptorDataEXT)load(context, "vkGetImageOpaqueCaptureDescriptorDataEXT"); + table->vkGetImageViewOpaqueCaptureDescriptorDataEXT = (PFN_vkGetImageViewOpaqueCaptureDescriptorDataEXT)load(context, "vkGetImageViewOpaqueCaptureDescriptorDataEXT"); + table->vkGetSamplerOpaqueCaptureDescriptorDataEXT = (PFN_vkGetSamplerOpaqueCaptureDescriptorDataEXT)load(context, "vkGetSamplerOpaqueCaptureDescriptorDataEXT"); +#endif /* defined(VK_EXT_descriptor_buffer) */ +#if defined(VK_EXT_descriptor_buffer) && defined(VK_KHR_acceleration_structure) && defined(VK_NV_ray_tracing) + table->vkGetAccelerationStructureOpaqueCaptureDescriptorDataEXT = (PFN_vkGetAccelerationStructureOpaqueCaptureDescriptorDataEXT)load(context, "vkGetAccelerationStructureOpaqueCaptureDescriptorDataEXT"); +#endif /* defined(VK_EXT_descriptor_buffer) && defined(VK_KHR_acceleration_structure) && defined(VK_NV_ray_tracing) */ +#if defined(VK_EXT_device_fault) + table->vkGetDeviceFaultInfoEXT = (PFN_vkGetDeviceFaultInfoEXT)load(context, "vkGetDeviceFaultInfoEXT"); +#endif /* defined(VK_EXT_device_fault) */ +#if defined(VK_EXT_discard_rectangles) + table->vkCmdSetDiscardRectangleEXT = (PFN_vkCmdSetDiscardRectangleEXT)load(context, "vkCmdSetDiscardRectangleEXT"); +#endif /* defined(VK_EXT_discard_rectangles) */ +#if defined(VK_EXT_display_control) + table->vkDisplayPowerControlEXT = (PFN_vkDisplayPowerControlEXT)load(context, "vkDisplayPowerControlEXT"); + table->vkGetSwapchainCounterEXT = (PFN_vkGetSwapchainCounterEXT)load(context, "vkGetSwapchainCounterEXT"); + table->vkRegisterDeviceEventEXT = (PFN_vkRegisterDeviceEventEXT)load(context, "vkRegisterDeviceEventEXT"); + table->vkRegisterDisplayEventEXT = (PFN_vkRegisterDisplayEventEXT)load(context, "vkRegisterDisplayEventEXT"); +#endif /* defined(VK_EXT_display_control) */ +#if defined(VK_EXT_extended_dynamic_state) + table->vkCmdBindVertexBuffers2EXT = (PFN_vkCmdBindVertexBuffers2EXT)load(context, "vkCmdBindVertexBuffers2EXT"); + table->vkCmdSetCullModeEXT = (PFN_vkCmdSetCullModeEXT)load(context, "vkCmdSetCullModeEXT"); + table->vkCmdSetDepthBoundsTestEnableEXT = (PFN_vkCmdSetDepthBoundsTestEnableEXT)load(context, "vkCmdSetDepthBoundsTestEnableEXT"); + table->vkCmdSetDepthCompareOpEXT = (PFN_vkCmdSetDepthCompareOpEXT)load(context, "vkCmdSetDepthCompareOpEXT"); + table->vkCmdSetDepthTestEnableEXT = (PFN_vkCmdSetDepthTestEnableEXT)load(context, "vkCmdSetDepthTestEnableEXT"); + table->vkCmdSetDepthWriteEnableEXT = (PFN_vkCmdSetDepthWriteEnableEXT)load(context, "vkCmdSetDepthWriteEnableEXT"); + table->vkCmdSetFrontFaceEXT = (PFN_vkCmdSetFrontFaceEXT)load(context, "vkCmdSetFrontFaceEXT"); + table->vkCmdSetPrimitiveTopologyEXT = (PFN_vkCmdSetPrimitiveTopologyEXT)load(context, "vkCmdSetPrimitiveTopologyEXT"); + table->vkCmdSetScissorWithCountEXT = (PFN_vkCmdSetScissorWithCountEXT)load(context, "vkCmdSetScissorWithCountEXT"); + table->vkCmdSetStencilOpEXT = (PFN_vkCmdSetStencilOpEXT)load(context, "vkCmdSetStencilOpEXT"); + table->vkCmdSetStencilTestEnableEXT = (PFN_vkCmdSetStencilTestEnableEXT)load(context, "vkCmdSetStencilTestEnableEXT"); + table->vkCmdSetViewportWithCountEXT = (PFN_vkCmdSetViewportWithCountEXT)load(context, "vkCmdSetViewportWithCountEXT"); +#endif /* defined(VK_EXT_extended_dynamic_state) */ +#if defined(VK_EXT_extended_dynamic_state2) + table->vkCmdSetDepthBiasEnableEXT = (PFN_vkCmdSetDepthBiasEnableEXT)load(context, "vkCmdSetDepthBiasEnableEXT"); + table->vkCmdSetLogicOpEXT = (PFN_vkCmdSetLogicOpEXT)load(context, "vkCmdSetLogicOpEXT"); + table->vkCmdSetPatchControlPointsEXT = (PFN_vkCmdSetPatchControlPointsEXT)load(context, "vkCmdSetPatchControlPointsEXT"); + table->vkCmdSetPrimitiveRestartEnableEXT = (PFN_vkCmdSetPrimitiveRestartEnableEXT)load(context, "vkCmdSetPrimitiveRestartEnableEXT"); + table->vkCmdSetRasterizerDiscardEnableEXT = (PFN_vkCmdSetRasterizerDiscardEnableEXT)load(context, "vkCmdSetRasterizerDiscardEnableEXT"); +#endif /* defined(VK_EXT_extended_dynamic_state2) */ +#if defined(VK_EXT_extended_dynamic_state3) + table->vkCmdSetAlphaToCoverageEnableEXT = (PFN_vkCmdSetAlphaToCoverageEnableEXT)load(context, "vkCmdSetAlphaToCoverageEnableEXT"); + table->vkCmdSetAlphaToOneEnableEXT = (PFN_vkCmdSetAlphaToOneEnableEXT)load(context, "vkCmdSetAlphaToOneEnableEXT"); + table->vkCmdSetColorBlendAdvancedEXT = (PFN_vkCmdSetColorBlendAdvancedEXT)load(context, "vkCmdSetColorBlendAdvancedEXT"); + table->vkCmdSetColorBlendEnableEXT = (PFN_vkCmdSetColorBlendEnableEXT)load(context, "vkCmdSetColorBlendEnableEXT"); + table->vkCmdSetColorBlendEquationEXT = (PFN_vkCmdSetColorBlendEquationEXT)load(context, "vkCmdSetColorBlendEquationEXT"); + table->vkCmdSetColorWriteMaskEXT = (PFN_vkCmdSetColorWriteMaskEXT)load(context, "vkCmdSetColorWriteMaskEXT"); + table->vkCmdSetConservativeRasterizationModeEXT = (PFN_vkCmdSetConservativeRasterizationModeEXT)load(context, "vkCmdSetConservativeRasterizationModeEXT"); + table->vkCmdSetCoverageModulationModeNV = (PFN_vkCmdSetCoverageModulationModeNV)load(context, "vkCmdSetCoverageModulationModeNV"); + table->vkCmdSetCoverageModulationTableEnableNV = (PFN_vkCmdSetCoverageModulationTableEnableNV)load(context, "vkCmdSetCoverageModulationTableEnableNV"); + table->vkCmdSetCoverageModulationTableNV = (PFN_vkCmdSetCoverageModulationTableNV)load(context, "vkCmdSetCoverageModulationTableNV"); + table->vkCmdSetCoverageReductionModeNV = (PFN_vkCmdSetCoverageReductionModeNV)load(context, "vkCmdSetCoverageReductionModeNV"); + table->vkCmdSetCoverageToColorEnableNV = (PFN_vkCmdSetCoverageToColorEnableNV)load(context, "vkCmdSetCoverageToColorEnableNV"); + table->vkCmdSetCoverageToColorLocationNV = (PFN_vkCmdSetCoverageToColorLocationNV)load(context, "vkCmdSetCoverageToColorLocationNV"); + table->vkCmdSetDepthClampEnableEXT = (PFN_vkCmdSetDepthClampEnableEXT)load(context, "vkCmdSetDepthClampEnableEXT"); + table->vkCmdSetDepthClipEnableEXT = (PFN_vkCmdSetDepthClipEnableEXT)load(context, "vkCmdSetDepthClipEnableEXT"); + table->vkCmdSetDepthClipNegativeOneToOneEXT = (PFN_vkCmdSetDepthClipNegativeOneToOneEXT)load(context, "vkCmdSetDepthClipNegativeOneToOneEXT"); + table->vkCmdSetExtraPrimitiveOverestimationSizeEXT = (PFN_vkCmdSetExtraPrimitiveOverestimationSizeEXT)load(context, "vkCmdSetExtraPrimitiveOverestimationSizeEXT"); + table->vkCmdSetLineRasterizationModeEXT = (PFN_vkCmdSetLineRasterizationModeEXT)load(context, "vkCmdSetLineRasterizationModeEXT"); + table->vkCmdSetLineStippleEnableEXT = (PFN_vkCmdSetLineStippleEnableEXT)load(context, "vkCmdSetLineStippleEnableEXT"); + table->vkCmdSetLogicOpEnableEXT = (PFN_vkCmdSetLogicOpEnableEXT)load(context, "vkCmdSetLogicOpEnableEXT"); + table->vkCmdSetPolygonModeEXT = (PFN_vkCmdSetPolygonModeEXT)load(context, "vkCmdSetPolygonModeEXT"); + table->vkCmdSetProvokingVertexModeEXT = (PFN_vkCmdSetProvokingVertexModeEXT)load(context, "vkCmdSetProvokingVertexModeEXT"); + table->vkCmdSetRasterizationSamplesEXT = (PFN_vkCmdSetRasterizationSamplesEXT)load(context, "vkCmdSetRasterizationSamplesEXT"); + table->vkCmdSetRasterizationStreamEXT = (PFN_vkCmdSetRasterizationStreamEXT)load(context, "vkCmdSetRasterizationStreamEXT"); + table->vkCmdSetRepresentativeFragmentTestEnableNV = (PFN_vkCmdSetRepresentativeFragmentTestEnableNV)load(context, "vkCmdSetRepresentativeFragmentTestEnableNV"); + table->vkCmdSetSampleLocationsEnableEXT = (PFN_vkCmdSetSampleLocationsEnableEXT)load(context, "vkCmdSetSampleLocationsEnableEXT"); + table->vkCmdSetSampleMaskEXT = (PFN_vkCmdSetSampleMaskEXT)load(context, "vkCmdSetSampleMaskEXT"); + table->vkCmdSetShadingRateImageEnableNV = (PFN_vkCmdSetShadingRateImageEnableNV)load(context, "vkCmdSetShadingRateImageEnableNV"); + table->vkCmdSetTessellationDomainOriginEXT = (PFN_vkCmdSetTessellationDomainOriginEXT)load(context, "vkCmdSetTessellationDomainOriginEXT"); + table->vkCmdSetViewportSwizzleNV = (PFN_vkCmdSetViewportSwizzleNV)load(context, "vkCmdSetViewportSwizzleNV"); + table->vkCmdSetViewportWScalingEnableNV = (PFN_vkCmdSetViewportWScalingEnableNV)load(context, "vkCmdSetViewportWScalingEnableNV"); +#endif /* defined(VK_EXT_extended_dynamic_state3) */ +#if defined(VK_EXT_external_memory_host) + table->vkGetMemoryHostPointerPropertiesEXT = (PFN_vkGetMemoryHostPointerPropertiesEXT)load(context, "vkGetMemoryHostPointerPropertiesEXT"); +#endif /* defined(VK_EXT_external_memory_host) */ +#if defined(VK_EXT_full_screen_exclusive) + table->vkAcquireFullScreenExclusiveModeEXT = (PFN_vkAcquireFullScreenExclusiveModeEXT)load(context, "vkAcquireFullScreenExclusiveModeEXT"); + table->vkReleaseFullScreenExclusiveModeEXT = (PFN_vkReleaseFullScreenExclusiveModeEXT)load(context, "vkReleaseFullScreenExclusiveModeEXT"); +#endif /* defined(VK_EXT_full_screen_exclusive) */ +#if defined(VK_EXT_hdr_metadata) + table->vkSetHdrMetadataEXT = (PFN_vkSetHdrMetadataEXT)load(context, "vkSetHdrMetadataEXT"); +#endif /* defined(VK_EXT_hdr_metadata) */ +#if defined(VK_EXT_host_query_reset) + table->vkResetQueryPoolEXT = (PFN_vkResetQueryPoolEXT)load(context, "vkResetQueryPoolEXT"); +#endif /* defined(VK_EXT_host_query_reset) */ +#if defined(VK_EXT_image_compression_control) + table->vkGetImageSubresourceLayout2EXT = (PFN_vkGetImageSubresourceLayout2EXT)load(context, "vkGetImageSubresourceLayout2EXT"); +#endif /* defined(VK_EXT_image_compression_control) */ +#if defined(VK_EXT_image_drm_format_modifier) + table->vkGetImageDrmFormatModifierPropertiesEXT = (PFN_vkGetImageDrmFormatModifierPropertiesEXT)load(context, "vkGetImageDrmFormatModifierPropertiesEXT"); +#endif /* defined(VK_EXT_image_drm_format_modifier) */ +#if defined(VK_EXT_line_rasterization) + table->vkCmdSetLineStippleEXT = (PFN_vkCmdSetLineStippleEXT)load(context, "vkCmdSetLineStippleEXT"); +#endif /* defined(VK_EXT_line_rasterization) */ +#if defined(VK_EXT_mesh_shader) + table->vkCmdDrawMeshTasksEXT = (PFN_vkCmdDrawMeshTasksEXT)load(context, "vkCmdDrawMeshTasksEXT"); + table->vkCmdDrawMeshTasksIndirectCountEXT = (PFN_vkCmdDrawMeshTasksIndirectCountEXT)load(context, "vkCmdDrawMeshTasksIndirectCountEXT"); + table->vkCmdDrawMeshTasksIndirectEXT = (PFN_vkCmdDrawMeshTasksIndirectEXT)load(context, "vkCmdDrawMeshTasksIndirectEXT"); +#endif /* defined(VK_EXT_mesh_shader) */ +#if defined(VK_EXT_metal_objects) + table->vkExportMetalObjectsEXT = (PFN_vkExportMetalObjectsEXT)load(context, "vkExportMetalObjectsEXT"); +#endif /* defined(VK_EXT_metal_objects) */ +#if defined(VK_EXT_multi_draw) + table->vkCmdDrawMultiEXT = (PFN_vkCmdDrawMultiEXT)load(context, "vkCmdDrawMultiEXT"); + table->vkCmdDrawMultiIndexedEXT = (PFN_vkCmdDrawMultiIndexedEXT)load(context, "vkCmdDrawMultiIndexedEXT"); +#endif /* defined(VK_EXT_multi_draw) */ +#if defined(VK_EXT_opacity_micromap) + table->vkBuildMicromapsEXT = (PFN_vkBuildMicromapsEXT)load(context, "vkBuildMicromapsEXT"); + table->vkCmdBuildMicromapsEXT = (PFN_vkCmdBuildMicromapsEXT)load(context, "vkCmdBuildMicromapsEXT"); + table->vkCmdCopyMemoryToMicromapEXT = (PFN_vkCmdCopyMemoryToMicromapEXT)load(context, "vkCmdCopyMemoryToMicromapEXT"); + table->vkCmdCopyMicromapEXT = (PFN_vkCmdCopyMicromapEXT)load(context, "vkCmdCopyMicromapEXT"); + table->vkCmdCopyMicromapToMemoryEXT = (PFN_vkCmdCopyMicromapToMemoryEXT)load(context, "vkCmdCopyMicromapToMemoryEXT"); + table->vkCmdWriteMicromapsPropertiesEXT = (PFN_vkCmdWriteMicromapsPropertiesEXT)load(context, "vkCmdWriteMicromapsPropertiesEXT"); + table->vkCopyMemoryToMicromapEXT = (PFN_vkCopyMemoryToMicromapEXT)load(context, "vkCopyMemoryToMicromapEXT"); + table->vkCopyMicromapEXT = (PFN_vkCopyMicromapEXT)load(context, "vkCopyMicromapEXT"); + table->vkCopyMicromapToMemoryEXT = (PFN_vkCopyMicromapToMemoryEXT)load(context, "vkCopyMicromapToMemoryEXT"); + table->vkCreateMicromapEXT = (PFN_vkCreateMicromapEXT)load(context, "vkCreateMicromapEXT"); + table->vkDestroyMicromapEXT = (PFN_vkDestroyMicromapEXT)load(context, "vkDestroyMicromapEXT"); + table->vkGetDeviceMicromapCompatibilityEXT = (PFN_vkGetDeviceMicromapCompatibilityEXT)load(context, "vkGetDeviceMicromapCompatibilityEXT"); + table->vkGetMicromapBuildSizesEXT = (PFN_vkGetMicromapBuildSizesEXT)load(context, "vkGetMicromapBuildSizesEXT"); + table->vkWriteMicromapsPropertiesEXT = (PFN_vkWriteMicromapsPropertiesEXT)load(context, "vkWriteMicromapsPropertiesEXT"); +#endif /* defined(VK_EXT_opacity_micromap) */ +#if defined(VK_EXT_pageable_device_local_memory) + table->vkSetDeviceMemoryPriorityEXT = (PFN_vkSetDeviceMemoryPriorityEXT)load(context, "vkSetDeviceMemoryPriorityEXT"); +#endif /* defined(VK_EXT_pageable_device_local_memory) */ +#if defined(VK_EXT_pipeline_properties) + table->vkGetPipelinePropertiesEXT = (PFN_vkGetPipelinePropertiesEXT)load(context, "vkGetPipelinePropertiesEXT"); +#endif /* defined(VK_EXT_pipeline_properties) */ +#if defined(VK_EXT_private_data) + table->vkCreatePrivateDataSlotEXT = (PFN_vkCreatePrivateDataSlotEXT)load(context, "vkCreatePrivateDataSlotEXT"); + table->vkDestroyPrivateDataSlotEXT = (PFN_vkDestroyPrivateDataSlotEXT)load(context, "vkDestroyPrivateDataSlotEXT"); + table->vkGetPrivateDataEXT = (PFN_vkGetPrivateDataEXT)load(context, "vkGetPrivateDataEXT"); + table->vkSetPrivateDataEXT = (PFN_vkSetPrivateDataEXT)load(context, "vkSetPrivateDataEXT"); +#endif /* defined(VK_EXT_private_data) */ +#if defined(VK_EXT_sample_locations) + table->vkCmdSetSampleLocationsEXT = (PFN_vkCmdSetSampleLocationsEXT)load(context, "vkCmdSetSampleLocationsEXT"); +#endif /* defined(VK_EXT_sample_locations) */ +#if defined(VK_EXT_shader_module_identifier) + table->vkGetShaderModuleCreateInfoIdentifierEXT = (PFN_vkGetShaderModuleCreateInfoIdentifierEXT)load(context, "vkGetShaderModuleCreateInfoIdentifierEXT"); + table->vkGetShaderModuleIdentifierEXT = (PFN_vkGetShaderModuleIdentifierEXT)load(context, "vkGetShaderModuleIdentifierEXT"); +#endif /* defined(VK_EXT_shader_module_identifier) */ +#if defined(VK_EXT_swapchain_maintenance1) + table->vkReleaseSwapchainImagesEXT = (PFN_vkReleaseSwapchainImagesEXT)load(context, "vkReleaseSwapchainImagesEXT"); +#endif /* defined(VK_EXT_swapchain_maintenance1) */ +#if defined(VK_EXT_transform_feedback) + table->vkCmdBeginQueryIndexedEXT = (PFN_vkCmdBeginQueryIndexedEXT)load(context, "vkCmdBeginQueryIndexedEXT"); + table->vkCmdBeginTransformFeedbackEXT = (PFN_vkCmdBeginTransformFeedbackEXT)load(context, "vkCmdBeginTransformFeedbackEXT"); + table->vkCmdBindTransformFeedbackBuffersEXT = (PFN_vkCmdBindTransformFeedbackBuffersEXT)load(context, "vkCmdBindTransformFeedbackBuffersEXT"); + table->vkCmdDrawIndirectByteCountEXT = (PFN_vkCmdDrawIndirectByteCountEXT)load(context, "vkCmdDrawIndirectByteCountEXT"); + table->vkCmdEndQueryIndexedEXT = (PFN_vkCmdEndQueryIndexedEXT)load(context, "vkCmdEndQueryIndexedEXT"); + table->vkCmdEndTransformFeedbackEXT = (PFN_vkCmdEndTransformFeedbackEXT)load(context, "vkCmdEndTransformFeedbackEXT"); +#endif /* defined(VK_EXT_transform_feedback) */ +#if defined(VK_EXT_validation_cache) + table->vkCreateValidationCacheEXT = (PFN_vkCreateValidationCacheEXT)load(context, "vkCreateValidationCacheEXT"); + table->vkDestroyValidationCacheEXT = (PFN_vkDestroyValidationCacheEXT)load(context, "vkDestroyValidationCacheEXT"); + table->vkGetValidationCacheDataEXT = (PFN_vkGetValidationCacheDataEXT)load(context, "vkGetValidationCacheDataEXT"); + table->vkMergeValidationCachesEXT = (PFN_vkMergeValidationCachesEXT)load(context, "vkMergeValidationCachesEXT"); +#endif /* defined(VK_EXT_validation_cache) */ +#if defined(VK_EXT_vertex_input_dynamic_state) + table->vkCmdSetVertexInputEXT = (PFN_vkCmdSetVertexInputEXT)load(context, "vkCmdSetVertexInputEXT"); +#endif /* defined(VK_EXT_vertex_input_dynamic_state) */ +#if defined(VK_FUCHSIA_buffer_collection) + table->vkCreateBufferCollectionFUCHSIA = (PFN_vkCreateBufferCollectionFUCHSIA)load(context, "vkCreateBufferCollectionFUCHSIA"); + table->vkDestroyBufferCollectionFUCHSIA = (PFN_vkDestroyBufferCollectionFUCHSIA)load(context, "vkDestroyBufferCollectionFUCHSIA"); + table->vkGetBufferCollectionPropertiesFUCHSIA = (PFN_vkGetBufferCollectionPropertiesFUCHSIA)load(context, "vkGetBufferCollectionPropertiesFUCHSIA"); + table->vkSetBufferCollectionBufferConstraintsFUCHSIA = (PFN_vkSetBufferCollectionBufferConstraintsFUCHSIA)load(context, "vkSetBufferCollectionBufferConstraintsFUCHSIA"); + table->vkSetBufferCollectionImageConstraintsFUCHSIA = (PFN_vkSetBufferCollectionImageConstraintsFUCHSIA)load(context, "vkSetBufferCollectionImageConstraintsFUCHSIA"); +#endif /* defined(VK_FUCHSIA_buffer_collection) */ +#if defined(VK_FUCHSIA_external_memory) + table->vkGetMemoryZirconHandleFUCHSIA = (PFN_vkGetMemoryZirconHandleFUCHSIA)load(context, "vkGetMemoryZirconHandleFUCHSIA"); + table->vkGetMemoryZirconHandlePropertiesFUCHSIA = (PFN_vkGetMemoryZirconHandlePropertiesFUCHSIA)load(context, "vkGetMemoryZirconHandlePropertiesFUCHSIA"); +#endif /* defined(VK_FUCHSIA_external_memory) */ +#if defined(VK_FUCHSIA_external_semaphore) + table->vkGetSemaphoreZirconHandleFUCHSIA = (PFN_vkGetSemaphoreZirconHandleFUCHSIA)load(context, "vkGetSemaphoreZirconHandleFUCHSIA"); + table->vkImportSemaphoreZirconHandleFUCHSIA = (PFN_vkImportSemaphoreZirconHandleFUCHSIA)load(context, "vkImportSemaphoreZirconHandleFUCHSIA"); +#endif /* defined(VK_FUCHSIA_external_semaphore) */ +#if defined(VK_GOOGLE_display_timing) + table->vkGetPastPresentationTimingGOOGLE = (PFN_vkGetPastPresentationTimingGOOGLE)load(context, "vkGetPastPresentationTimingGOOGLE"); + table->vkGetRefreshCycleDurationGOOGLE = (PFN_vkGetRefreshCycleDurationGOOGLE)load(context, "vkGetRefreshCycleDurationGOOGLE"); +#endif /* defined(VK_GOOGLE_display_timing) */ +#if defined(VK_HUAWEI_invocation_mask) + table->vkCmdBindInvocationMaskHUAWEI = (PFN_vkCmdBindInvocationMaskHUAWEI)load(context, "vkCmdBindInvocationMaskHUAWEI"); +#endif /* defined(VK_HUAWEI_invocation_mask) */ +#if defined(VK_HUAWEI_subpass_shading) + table->vkCmdSubpassShadingHUAWEI = (PFN_vkCmdSubpassShadingHUAWEI)load(context, "vkCmdSubpassShadingHUAWEI"); + table->vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI = (PFN_vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI)load(context, "vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI"); +#endif /* defined(VK_HUAWEI_subpass_shading) */ +#if defined(VK_INTEL_performance_query) + table->vkAcquirePerformanceConfigurationINTEL = (PFN_vkAcquirePerformanceConfigurationINTEL)load(context, "vkAcquirePerformanceConfigurationINTEL"); + table->vkCmdSetPerformanceMarkerINTEL = (PFN_vkCmdSetPerformanceMarkerINTEL)load(context, "vkCmdSetPerformanceMarkerINTEL"); + table->vkCmdSetPerformanceOverrideINTEL = (PFN_vkCmdSetPerformanceOverrideINTEL)load(context, "vkCmdSetPerformanceOverrideINTEL"); + table->vkCmdSetPerformanceStreamMarkerINTEL = (PFN_vkCmdSetPerformanceStreamMarkerINTEL)load(context, "vkCmdSetPerformanceStreamMarkerINTEL"); + table->vkGetPerformanceParameterINTEL = (PFN_vkGetPerformanceParameterINTEL)load(context, "vkGetPerformanceParameterINTEL"); + table->vkInitializePerformanceApiINTEL = (PFN_vkInitializePerformanceApiINTEL)load(context, "vkInitializePerformanceApiINTEL"); + table->vkQueueSetPerformanceConfigurationINTEL = (PFN_vkQueueSetPerformanceConfigurationINTEL)load(context, "vkQueueSetPerformanceConfigurationINTEL"); + table->vkReleasePerformanceConfigurationINTEL = (PFN_vkReleasePerformanceConfigurationINTEL)load(context, "vkReleasePerformanceConfigurationINTEL"); + table->vkUninitializePerformanceApiINTEL = (PFN_vkUninitializePerformanceApiINTEL)load(context, "vkUninitializePerformanceApiINTEL"); +#endif /* defined(VK_INTEL_performance_query) */ +#if defined(VK_KHR_acceleration_structure) + table->vkBuildAccelerationStructuresKHR = (PFN_vkBuildAccelerationStructuresKHR)load(context, "vkBuildAccelerationStructuresKHR"); + table->vkCmdBuildAccelerationStructuresIndirectKHR = (PFN_vkCmdBuildAccelerationStructuresIndirectKHR)load(context, "vkCmdBuildAccelerationStructuresIndirectKHR"); + table->vkCmdBuildAccelerationStructuresKHR = (PFN_vkCmdBuildAccelerationStructuresKHR)load(context, "vkCmdBuildAccelerationStructuresKHR"); + table->vkCmdCopyAccelerationStructureKHR = (PFN_vkCmdCopyAccelerationStructureKHR)load(context, "vkCmdCopyAccelerationStructureKHR"); + table->vkCmdCopyAccelerationStructureToMemoryKHR = (PFN_vkCmdCopyAccelerationStructureToMemoryKHR)load(context, "vkCmdCopyAccelerationStructureToMemoryKHR"); + table->vkCmdCopyMemoryToAccelerationStructureKHR = (PFN_vkCmdCopyMemoryToAccelerationStructureKHR)load(context, "vkCmdCopyMemoryToAccelerationStructureKHR"); + table->vkCmdWriteAccelerationStructuresPropertiesKHR = (PFN_vkCmdWriteAccelerationStructuresPropertiesKHR)load(context, "vkCmdWriteAccelerationStructuresPropertiesKHR"); + table->vkCopyAccelerationStructureKHR = (PFN_vkCopyAccelerationStructureKHR)load(context, "vkCopyAccelerationStructureKHR"); + table->vkCopyAccelerationStructureToMemoryKHR = (PFN_vkCopyAccelerationStructureToMemoryKHR)load(context, "vkCopyAccelerationStructureToMemoryKHR"); + table->vkCopyMemoryToAccelerationStructureKHR = (PFN_vkCopyMemoryToAccelerationStructureKHR)load(context, "vkCopyMemoryToAccelerationStructureKHR"); + table->vkCreateAccelerationStructureKHR = (PFN_vkCreateAccelerationStructureKHR)load(context, "vkCreateAccelerationStructureKHR"); + table->vkDestroyAccelerationStructureKHR = (PFN_vkDestroyAccelerationStructureKHR)load(context, "vkDestroyAccelerationStructureKHR"); + table->vkGetAccelerationStructureBuildSizesKHR = (PFN_vkGetAccelerationStructureBuildSizesKHR)load(context, "vkGetAccelerationStructureBuildSizesKHR"); + table->vkGetAccelerationStructureDeviceAddressKHR = (PFN_vkGetAccelerationStructureDeviceAddressKHR)load(context, "vkGetAccelerationStructureDeviceAddressKHR"); + table->vkGetDeviceAccelerationStructureCompatibilityKHR = (PFN_vkGetDeviceAccelerationStructureCompatibilityKHR)load(context, "vkGetDeviceAccelerationStructureCompatibilityKHR"); + table->vkWriteAccelerationStructuresPropertiesKHR = (PFN_vkWriteAccelerationStructuresPropertiesKHR)load(context, "vkWriteAccelerationStructuresPropertiesKHR"); +#endif /* defined(VK_KHR_acceleration_structure) */ +#if defined(VK_KHR_bind_memory2) + table->vkBindBufferMemory2KHR = (PFN_vkBindBufferMemory2KHR)load(context, "vkBindBufferMemory2KHR"); + table->vkBindImageMemory2KHR = (PFN_vkBindImageMemory2KHR)load(context, "vkBindImageMemory2KHR"); +#endif /* defined(VK_KHR_bind_memory2) */ +#if defined(VK_KHR_buffer_device_address) + table->vkGetBufferDeviceAddressKHR = (PFN_vkGetBufferDeviceAddressKHR)load(context, "vkGetBufferDeviceAddressKHR"); + table->vkGetBufferOpaqueCaptureAddressKHR = (PFN_vkGetBufferOpaqueCaptureAddressKHR)load(context, "vkGetBufferOpaqueCaptureAddressKHR"); + table->vkGetDeviceMemoryOpaqueCaptureAddressKHR = (PFN_vkGetDeviceMemoryOpaqueCaptureAddressKHR)load(context, "vkGetDeviceMemoryOpaqueCaptureAddressKHR"); +#endif /* defined(VK_KHR_buffer_device_address) */ +#if defined(VK_KHR_copy_commands2) + table->vkCmdBlitImage2KHR = (PFN_vkCmdBlitImage2KHR)load(context, "vkCmdBlitImage2KHR"); + table->vkCmdCopyBuffer2KHR = (PFN_vkCmdCopyBuffer2KHR)load(context, "vkCmdCopyBuffer2KHR"); + table->vkCmdCopyBufferToImage2KHR = (PFN_vkCmdCopyBufferToImage2KHR)load(context, "vkCmdCopyBufferToImage2KHR"); + table->vkCmdCopyImage2KHR = (PFN_vkCmdCopyImage2KHR)load(context, "vkCmdCopyImage2KHR"); + table->vkCmdCopyImageToBuffer2KHR = (PFN_vkCmdCopyImageToBuffer2KHR)load(context, "vkCmdCopyImageToBuffer2KHR"); + table->vkCmdResolveImage2KHR = (PFN_vkCmdResolveImage2KHR)load(context, "vkCmdResolveImage2KHR"); +#endif /* defined(VK_KHR_copy_commands2) */ +#if defined(VK_KHR_create_renderpass2) + table->vkCmdBeginRenderPass2KHR = (PFN_vkCmdBeginRenderPass2KHR)load(context, "vkCmdBeginRenderPass2KHR"); + table->vkCmdEndRenderPass2KHR = (PFN_vkCmdEndRenderPass2KHR)load(context, "vkCmdEndRenderPass2KHR"); + table->vkCmdNextSubpass2KHR = (PFN_vkCmdNextSubpass2KHR)load(context, "vkCmdNextSubpass2KHR"); + table->vkCreateRenderPass2KHR = (PFN_vkCreateRenderPass2KHR)load(context, "vkCreateRenderPass2KHR"); +#endif /* defined(VK_KHR_create_renderpass2) */ +#if defined(VK_KHR_deferred_host_operations) + table->vkCreateDeferredOperationKHR = (PFN_vkCreateDeferredOperationKHR)load(context, "vkCreateDeferredOperationKHR"); + table->vkDeferredOperationJoinKHR = (PFN_vkDeferredOperationJoinKHR)load(context, "vkDeferredOperationJoinKHR"); + table->vkDestroyDeferredOperationKHR = (PFN_vkDestroyDeferredOperationKHR)load(context, "vkDestroyDeferredOperationKHR"); + table->vkGetDeferredOperationMaxConcurrencyKHR = (PFN_vkGetDeferredOperationMaxConcurrencyKHR)load(context, "vkGetDeferredOperationMaxConcurrencyKHR"); + table->vkGetDeferredOperationResultKHR = (PFN_vkGetDeferredOperationResultKHR)load(context, "vkGetDeferredOperationResultKHR"); +#endif /* defined(VK_KHR_deferred_host_operations) */ +#if defined(VK_KHR_descriptor_update_template) + table->vkCreateDescriptorUpdateTemplateKHR = (PFN_vkCreateDescriptorUpdateTemplateKHR)load(context, "vkCreateDescriptorUpdateTemplateKHR"); + table->vkDestroyDescriptorUpdateTemplateKHR = (PFN_vkDestroyDescriptorUpdateTemplateKHR)load(context, "vkDestroyDescriptorUpdateTemplateKHR"); + table->vkUpdateDescriptorSetWithTemplateKHR = (PFN_vkUpdateDescriptorSetWithTemplateKHR)load(context, "vkUpdateDescriptorSetWithTemplateKHR"); +#endif /* defined(VK_KHR_descriptor_update_template) */ +#if defined(VK_KHR_device_group) + table->vkCmdDispatchBaseKHR = (PFN_vkCmdDispatchBaseKHR)load(context, "vkCmdDispatchBaseKHR"); + table->vkCmdSetDeviceMaskKHR = (PFN_vkCmdSetDeviceMaskKHR)load(context, "vkCmdSetDeviceMaskKHR"); + table->vkGetDeviceGroupPeerMemoryFeaturesKHR = (PFN_vkGetDeviceGroupPeerMemoryFeaturesKHR)load(context, "vkGetDeviceGroupPeerMemoryFeaturesKHR"); +#endif /* defined(VK_KHR_device_group) */ +#if defined(VK_KHR_display_swapchain) + table->vkCreateSharedSwapchainsKHR = (PFN_vkCreateSharedSwapchainsKHR)load(context, "vkCreateSharedSwapchainsKHR"); +#endif /* defined(VK_KHR_display_swapchain) */ +#if defined(VK_KHR_draw_indirect_count) + table->vkCmdDrawIndexedIndirectCountKHR = (PFN_vkCmdDrawIndexedIndirectCountKHR)load(context, "vkCmdDrawIndexedIndirectCountKHR"); + table->vkCmdDrawIndirectCountKHR = (PFN_vkCmdDrawIndirectCountKHR)load(context, "vkCmdDrawIndirectCountKHR"); +#endif /* defined(VK_KHR_draw_indirect_count) */ +#if defined(VK_KHR_dynamic_rendering) + table->vkCmdBeginRenderingKHR = (PFN_vkCmdBeginRenderingKHR)load(context, "vkCmdBeginRenderingKHR"); + table->vkCmdEndRenderingKHR = (PFN_vkCmdEndRenderingKHR)load(context, "vkCmdEndRenderingKHR"); +#endif /* defined(VK_KHR_dynamic_rendering) */ +#if defined(VK_KHR_external_fence_fd) + table->vkGetFenceFdKHR = (PFN_vkGetFenceFdKHR)load(context, "vkGetFenceFdKHR"); + table->vkImportFenceFdKHR = (PFN_vkImportFenceFdKHR)load(context, "vkImportFenceFdKHR"); +#endif /* defined(VK_KHR_external_fence_fd) */ +#if defined(VK_KHR_external_fence_win32) + table->vkGetFenceWin32HandleKHR = (PFN_vkGetFenceWin32HandleKHR)load(context, "vkGetFenceWin32HandleKHR"); + table->vkImportFenceWin32HandleKHR = (PFN_vkImportFenceWin32HandleKHR)load(context, "vkImportFenceWin32HandleKHR"); +#endif /* defined(VK_KHR_external_fence_win32) */ +#if defined(VK_KHR_external_memory_fd) + table->vkGetMemoryFdKHR = (PFN_vkGetMemoryFdKHR)load(context, "vkGetMemoryFdKHR"); + table->vkGetMemoryFdPropertiesKHR = (PFN_vkGetMemoryFdPropertiesKHR)load(context, "vkGetMemoryFdPropertiesKHR"); +#endif /* defined(VK_KHR_external_memory_fd) */ +#if defined(VK_KHR_external_memory_win32) + table->vkGetMemoryWin32HandleKHR = (PFN_vkGetMemoryWin32HandleKHR)load(context, "vkGetMemoryWin32HandleKHR"); + table->vkGetMemoryWin32HandlePropertiesKHR = (PFN_vkGetMemoryWin32HandlePropertiesKHR)load(context, "vkGetMemoryWin32HandlePropertiesKHR"); +#endif /* defined(VK_KHR_external_memory_win32) */ +#if defined(VK_KHR_external_semaphore_fd) + table->vkGetSemaphoreFdKHR = (PFN_vkGetSemaphoreFdKHR)load(context, "vkGetSemaphoreFdKHR"); + table->vkImportSemaphoreFdKHR = (PFN_vkImportSemaphoreFdKHR)load(context, "vkImportSemaphoreFdKHR"); +#endif /* defined(VK_KHR_external_semaphore_fd) */ +#if defined(VK_KHR_external_semaphore_win32) + table->vkGetSemaphoreWin32HandleKHR = (PFN_vkGetSemaphoreWin32HandleKHR)load(context, "vkGetSemaphoreWin32HandleKHR"); + table->vkImportSemaphoreWin32HandleKHR = (PFN_vkImportSemaphoreWin32HandleKHR)load(context, "vkImportSemaphoreWin32HandleKHR"); +#endif /* defined(VK_KHR_external_semaphore_win32) */ +#if defined(VK_KHR_fragment_shading_rate) + table->vkCmdSetFragmentShadingRateKHR = (PFN_vkCmdSetFragmentShadingRateKHR)load(context, "vkCmdSetFragmentShadingRateKHR"); +#endif /* defined(VK_KHR_fragment_shading_rate) */ +#if defined(VK_KHR_get_memory_requirements2) + table->vkGetBufferMemoryRequirements2KHR = (PFN_vkGetBufferMemoryRequirements2KHR)load(context, "vkGetBufferMemoryRequirements2KHR"); + table->vkGetImageMemoryRequirements2KHR = (PFN_vkGetImageMemoryRequirements2KHR)load(context, "vkGetImageMemoryRequirements2KHR"); + table->vkGetImageSparseMemoryRequirements2KHR = (PFN_vkGetImageSparseMemoryRequirements2KHR)load(context, "vkGetImageSparseMemoryRequirements2KHR"); +#endif /* defined(VK_KHR_get_memory_requirements2) */ +#if defined(VK_KHR_maintenance1) + table->vkTrimCommandPoolKHR = (PFN_vkTrimCommandPoolKHR)load(context, "vkTrimCommandPoolKHR"); +#endif /* defined(VK_KHR_maintenance1) */ +#if defined(VK_KHR_maintenance3) + table->vkGetDescriptorSetLayoutSupportKHR = (PFN_vkGetDescriptorSetLayoutSupportKHR)load(context, "vkGetDescriptorSetLayoutSupportKHR"); +#endif /* defined(VK_KHR_maintenance3) */ +#if defined(VK_KHR_maintenance4) + table->vkGetDeviceBufferMemoryRequirementsKHR = (PFN_vkGetDeviceBufferMemoryRequirementsKHR)load(context, "vkGetDeviceBufferMemoryRequirementsKHR"); + table->vkGetDeviceImageMemoryRequirementsKHR = (PFN_vkGetDeviceImageMemoryRequirementsKHR)load(context, "vkGetDeviceImageMemoryRequirementsKHR"); + table->vkGetDeviceImageSparseMemoryRequirementsKHR = (PFN_vkGetDeviceImageSparseMemoryRequirementsKHR)load(context, "vkGetDeviceImageSparseMemoryRequirementsKHR"); +#endif /* defined(VK_KHR_maintenance4) */ +#if defined(VK_KHR_performance_query) + table->vkAcquireProfilingLockKHR = (PFN_vkAcquireProfilingLockKHR)load(context, "vkAcquireProfilingLockKHR"); + table->vkReleaseProfilingLockKHR = (PFN_vkReleaseProfilingLockKHR)load(context, "vkReleaseProfilingLockKHR"); +#endif /* defined(VK_KHR_performance_query) */ +#if defined(VK_KHR_pipeline_executable_properties) + table->vkGetPipelineExecutableInternalRepresentationsKHR = (PFN_vkGetPipelineExecutableInternalRepresentationsKHR)load(context, "vkGetPipelineExecutableInternalRepresentationsKHR"); + table->vkGetPipelineExecutablePropertiesKHR = (PFN_vkGetPipelineExecutablePropertiesKHR)load(context, "vkGetPipelineExecutablePropertiesKHR"); + table->vkGetPipelineExecutableStatisticsKHR = (PFN_vkGetPipelineExecutableStatisticsKHR)load(context, "vkGetPipelineExecutableStatisticsKHR"); +#endif /* defined(VK_KHR_pipeline_executable_properties) */ +#if defined(VK_KHR_present_wait) + table->vkWaitForPresentKHR = (PFN_vkWaitForPresentKHR)load(context, "vkWaitForPresentKHR"); +#endif /* defined(VK_KHR_present_wait) */ +#if defined(VK_KHR_push_descriptor) + table->vkCmdPushDescriptorSetKHR = (PFN_vkCmdPushDescriptorSetKHR)load(context, "vkCmdPushDescriptorSetKHR"); +#endif /* defined(VK_KHR_push_descriptor) */ +#if defined(VK_KHR_ray_tracing_maintenance1) && defined(VK_KHR_ray_tracing_pipeline) + table->vkCmdTraceRaysIndirect2KHR = (PFN_vkCmdTraceRaysIndirect2KHR)load(context, "vkCmdTraceRaysIndirect2KHR"); +#endif /* defined(VK_KHR_ray_tracing_maintenance1) && defined(VK_KHR_ray_tracing_pipeline) */ +#if defined(VK_KHR_ray_tracing_pipeline) + table->vkCmdSetRayTracingPipelineStackSizeKHR = (PFN_vkCmdSetRayTracingPipelineStackSizeKHR)load(context, "vkCmdSetRayTracingPipelineStackSizeKHR"); + table->vkCmdTraceRaysIndirectKHR = (PFN_vkCmdTraceRaysIndirectKHR)load(context, "vkCmdTraceRaysIndirectKHR"); + table->vkCmdTraceRaysKHR = (PFN_vkCmdTraceRaysKHR)load(context, "vkCmdTraceRaysKHR"); + table->vkCreateRayTracingPipelinesKHR = (PFN_vkCreateRayTracingPipelinesKHR)load(context, "vkCreateRayTracingPipelinesKHR"); + table->vkGetRayTracingCaptureReplayShaderGroupHandlesKHR = (PFN_vkGetRayTracingCaptureReplayShaderGroupHandlesKHR)load(context, "vkGetRayTracingCaptureReplayShaderGroupHandlesKHR"); + table->vkGetRayTracingShaderGroupHandlesKHR = (PFN_vkGetRayTracingShaderGroupHandlesKHR)load(context, "vkGetRayTracingShaderGroupHandlesKHR"); + table->vkGetRayTracingShaderGroupStackSizeKHR = (PFN_vkGetRayTracingShaderGroupStackSizeKHR)load(context, "vkGetRayTracingShaderGroupStackSizeKHR"); +#endif /* defined(VK_KHR_ray_tracing_pipeline) */ +#if defined(VK_KHR_sampler_ycbcr_conversion) + table->vkCreateSamplerYcbcrConversionKHR = (PFN_vkCreateSamplerYcbcrConversionKHR)load(context, "vkCreateSamplerYcbcrConversionKHR"); + table->vkDestroySamplerYcbcrConversionKHR = (PFN_vkDestroySamplerYcbcrConversionKHR)load(context, "vkDestroySamplerYcbcrConversionKHR"); +#endif /* defined(VK_KHR_sampler_ycbcr_conversion) */ +#if defined(VK_KHR_shared_presentable_image) + table->vkGetSwapchainStatusKHR = (PFN_vkGetSwapchainStatusKHR)load(context, "vkGetSwapchainStatusKHR"); +#endif /* defined(VK_KHR_shared_presentable_image) */ +#if defined(VK_KHR_swapchain) + table->vkAcquireNextImageKHR = (PFN_vkAcquireNextImageKHR)load(context, "vkAcquireNextImageKHR"); + table->vkCreateSwapchainKHR = (PFN_vkCreateSwapchainKHR)load(context, "vkCreateSwapchainKHR"); + table->vkDestroySwapchainKHR = (PFN_vkDestroySwapchainKHR)load(context, "vkDestroySwapchainKHR"); + table->vkGetSwapchainImagesKHR = (PFN_vkGetSwapchainImagesKHR)load(context, "vkGetSwapchainImagesKHR"); + table->vkQueuePresentKHR = (PFN_vkQueuePresentKHR)load(context, "vkQueuePresentKHR"); +#endif /* defined(VK_KHR_swapchain) */ +#if defined(VK_KHR_synchronization2) + table->vkCmdPipelineBarrier2KHR = (PFN_vkCmdPipelineBarrier2KHR)load(context, "vkCmdPipelineBarrier2KHR"); + table->vkCmdResetEvent2KHR = (PFN_vkCmdResetEvent2KHR)load(context, "vkCmdResetEvent2KHR"); + table->vkCmdSetEvent2KHR = (PFN_vkCmdSetEvent2KHR)load(context, "vkCmdSetEvent2KHR"); + table->vkCmdWaitEvents2KHR = (PFN_vkCmdWaitEvents2KHR)load(context, "vkCmdWaitEvents2KHR"); + table->vkCmdWriteTimestamp2KHR = (PFN_vkCmdWriteTimestamp2KHR)load(context, "vkCmdWriteTimestamp2KHR"); + table->vkQueueSubmit2KHR = (PFN_vkQueueSubmit2KHR)load(context, "vkQueueSubmit2KHR"); +#endif /* defined(VK_KHR_synchronization2) */ +#if defined(VK_KHR_synchronization2) && defined(VK_AMD_buffer_marker) + table->vkCmdWriteBufferMarker2AMD = (PFN_vkCmdWriteBufferMarker2AMD)load(context, "vkCmdWriteBufferMarker2AMD"); +#endif /* defined(VK_KHR_synchronization2) && defined(VK_AMD_buffer_marker) */ +#if defined(VK_KHR_synchronization2) && defined(VK_NV_device_diagnostic_checkpoints) + table->vkGetQueueCheckpointData2NV = (PFN_vkGetQueueCheckpointData2NV)load(context, "vkGetQueueCheckpointData2NV"); +#endif /* defined(VK_KHR_synchronization2) && defined(VK_NV_device_diagnostic_checkpoints) */ +#if defined(VK_KHR_timeline_semaphore) + table->vkGetSemaphoreCounterValueKHR = (PFN_vkGetSemaphoreCounterValueKHR)load(context, "vkGetSemaphoreCounterValueKHR"); + table->vkSignalSemaphoreKHR = (PFN_vkSignalSemaphoreKHR)load(context, "vkSignalSemaphoreKHR"); + table->vkWaitSemaphoresKHR = (PFN_vkWaitSemaphoresKHR)load(context, "vkWaitSemaphoresKHR"); +#endif /* defined(VK_KHR_timeline_semaphore) */ +#if defined(VK_KHR_video_decode_queue) + table->vkCmdDecodeVideoKHR = (PFN_vkCmdDecodeVideoKHR)load(context, "vkCmdDecodeVideoKHR"); +#endif /* defined(VK_KHR_video_decode_queue) */ +#if defined(VK_KHR_video_encode_queue) + table->vkCmdEncodeVideoKHR = (PFN_vkCmdEncodeVideoKHR)load(context, "vkCmdEncodeVideoKHR"); +#endif /* defined(VK_KHR_video_encode_queue) */ +#if defined(VK_KHR_video_queue) + table->vkBindVideoSessionMemoryKHR = (PFN_vkBindVideoSessionMemoryKHR)load(context, "vkBindVideoSessionMemoryKHR"); + table->vkCmdBeginVideoCodingKHR = (PFN_vkCmdBeginVideoCodingKHR)load(context, "vkCmdBeginVideoCodingKHR"); + table->vkCmdControlVideoCodingKHR = (PFN_vkCmdControlVideoCodingKHR)load(context, "vkCmdControlVideoCodingKHR"); + table->vkCmdEndVideoCodingKHR = (PFN_vkCmdEndVideoCodingKHR)load(context, "vkCmdEndVideoCodingKHR"); + table->vkCreateVideoSessionKHR = (PFN_vkCreateVideoSessionKHR)load(context, "vkCreateVideoSessionKHR"); + table->vkCreateVideoSessionParametersKHR = (PFN_vkCreateVideoSessionParametersKHR)load(context, "vkCreateVideoSessionParametersKHR"); + table->vkDestroyVideoSessionKHR = (PFN_vkDestroyVideoSessionKHR)load(context, "vkDestroyVideoSessionKHR"); + table->vkDestroyVideoSessionParametersKHR = (PFN_vkDestroyVideoSessionParametersKHR)load(context, "vkDestroyVideoSessionParametersKHR"); + table->vkGetVideoSessionMemoryRequirementsKHR = (PFN_vkGetVideoSessionMemoryRequirementsKHR)load(context, "vkGetVideoSessionMemoryRequirementsKHR"); + table->vkUpdateVideoSessionParametersKHR = (PFN_vkUpdateVideoSessionParametersKHR)load(context, "vkUpdateVideoSessionParametersKHR"); +#endif /* defined(VK_KHR_video_queue) */ +#if defined(VK_NVX_binary_import) + table->vkCmdCuLaunchKernelNVX = (PFN_vkCmdCuLaunchKernelNVX)load(context, "vkCmdCuLaunchKernelNVX"); + table->vkCreateCuFunctionNVX = (PFN_vkCreateCuFunctionNVX)load(context, "vkCreateCuFunctionNVX"); + table->vkCreateCuModuleNVX = (PFN_vkCreateCuModuleNVX)load(context, "vkCreateCuModuleNVX"); + table->vkDestroyCuFunctionNVX = (PFN_vkDestroyCuFunctionNVX)load(context, "vkDestroyCuFunctionNVX"); + table->vkDestroyCuModuleNVX = (PFN_vkDestroyCuModuleNVX)load(context, "vkDestroyCuModuleNVX"); +#endif /* defined(VK_NVX_binary_import) */ +#if defined(VK_NVX_image_view_handle) + table->vkGetImageViewAddressNVX = (PFN_vkGetImageViewAddressNVX)load(context, "vkGetImageViewAddressNVX"); + table->vkGetImageViewHandleNVX = (PFN_vkGetImageViewHandleNVX)load(context, "vkGetImageViewHandleNVX"); +#endif /* defined(VK_NVX_image_view_handle) */ +#if defined(VK_NV_clip_space_w_scaling) + table->vkCmdSetViewportWScalingNV = (PFN_vkCmdSetViewportWScalingNV)load(context, "vkCmdSetViewportWScalingNV"); +#endif /* defined(VK_NV_clip_space_w_scaling) */ +#if defined(VK_NV_copy_memory_indirect) + table->vkCmdCopyMemoryIndirectNV = (PFN_vkCmdCopyMemoryIndirectNV)load(context, "vkCmdCopyMemoryIndirectNV"); + table->vkCmdCopyMemoryToImageIndirectNV = (PFN_vkCmdCopyMemoryToImageIndirectNV)load(context, "vkCmdCopyMemoryToImageIndirectNV"); +#endif /* defined(VK_NV_copy_memory_indirect) */ +#if defined(VK_NV_device_diagnostic_checkpoints) + table->vkCmdSetCheckpointNV = (PFN_vkCmdSetCheckpointNV)load(context, "vkCmdSetCheckpointNV"); + table->vkGetQueueCheckpointDataNV = (PFN_vkGetQueueCheckpointDataNV)load(context, "vkGetQueueCheckpointDataNV"); +#endif /* defined(VK_NV_device_diagnostic_checkpoints) */ +#if defined(VK_NV_device_generated_commands) + table->vkCmdBindPipelineShaderGroupNV = (PFN_vkCmdBindPipelineShaderGroupNV)load(context, "vkCmdBindPipelineShaderGroupNV"); + table->vkCmdExecuteGeneratedCommandsNV = (PFN_vkCmdExecuteGeneratedCommandsNV)load(context, "vkCmdExecuteGeneratedCommandsNV"); + table->vkCmdPreprocessGeneratedCommandsNV = (PFN_vkCmdPreprocessGeneratedCommandsNV)load(context, "vkCmdPreprocessGeneratedCommandsNV"); + table->vkCreateIndirectCommandsLayoutNV = (PFN_vkCreateIndirectCommandsLayoutNV)load(context, "vkCreateIndirectCommandsLayoutNV"); + table->vkDestroyIndirectCommandsLayoutNV = (PFN_vkDestroyIndirectCommandsLayoutNV)load(context, "vkDestroyIndirectCommandsLayoutNV"); + table->vkGetGeneratedCommandsMemoryRequirementsNV = (PFN_vkGetGeneratedCommandsMemoryRequirementsNV)load(context, "vkGetGeneratedCommandsMemoryRequirementsNV"); +#endif /* defined(VK_NV_device_generated_commands) */ +#if defined(VK_NV_external_memory_rdma) + table->vkGetMemoryRemoteAddressNV = (PFN_vkGetMemoryRemoteAddressNV)load(context, "vkGetMemoryRemoteAddressNV"); +#endif /* defined(VK_NV_external_memory_rdma) */ +#if defined(VK_NV_external_memory_win32) + table->vkGetMemoryWin32HandleNV = (PFN_vkGetMemoryWin32HandleNV)load(context, "vkGetMemoryWin32HandleNV"); +#endif /* defined(VK_NV_external_memory_win32) */ +#if defined(VK_NV_fragment_shading_rate_enums) + table->vkCmdSetFragmentShadingRateEnumNV = (PFN_vkCmdSetFragmentShadingRateEnumNV)load(context, "vkCmdSetFragmentShadingRateEnumNV"); +#endif /* defined(VK_NV_fragment_shading_rate_enums) */ +#if defined(VK_NV_memory_decompression) + table->vkCmdDecompressMemoryIndirectCountNV = (PFN_vkCmdDecompressMemoryIndirectCountNV)load(context, "vkCmdDecompressMemoryIndirectCountNV"); + table->vkCmdDecompressMemoryNV = (PFN_vkCmdDecompressMemoryNV)load(context, "vkCmdDecompressMemoryNV"); +#endif /* defined(VK_NV_memory_decompression) */ +#if defined(VK_NV_mesh_shader) + table->vkCmdDrawMeshTasksIndirectCountNV = (PFN_vkCmdDrawMeshTasksIndirectCountNV)load(context, "vkCmdDrawMeshTasksIndirectCountNV"); + table->vkCmdDrawMeshTasksIndirectNV = (PFN_vkCmdDrawMeshTasksIndirectNV)load(context, "vkCmdDrawMeshTasksIndirectNV"); + table->vkCmdDrawMeshTasksNV = (PFN_vkCmdDrawMeshTasksNV)load(context, "vkCmdDrawMeshTasksNV"); +#endif /* defined(VK_NV_mesh_shader) */ +#if defined(VK_NV_optical_flow) + table->vkBindOpticalFlowSessionImageNV = (PFN_vkBindOpticalFlowSessionImageNV)load(context, "vkBindOpticalFlowSessionImageNV"); + table->vkCmdOpticalFlowExecuteNV = (PFN_vkCmdOpticalFlowExecuteNV)load(context, "vkCmdOpticalFlowExecuteNV"); + table->vkCreateOpticalFlowSessionNV = (PFN_vkCreateOpticalFlowSessionNV)load(context, "vkCreateOpticalFlowSessionNV"); + table->vkDestroyOpticalFlowSessionNV = (PFN_vkDestroyOpticalFlowSessionNV)load(context, "vkDestroyOpticalFlowSessionNV"); +#endif /* defined(VK_NV_optical_flow) */ +#if defined(VK_NV_ray_tracing) + table->vkBindAccelerationStructureMemoryNV = (PFN_vkBindAccelerationStructureMemoryNV)load(context, "vkBindAccelerationStructureMemoryNV"); + table->vkCmdBuildAccelerationStructureNV = (PFN_vkCmdBuildAccelerationStructureNV)load(context, "vkCmdBuildAccelerationStructureNV"); + table->vkCmdCopyAccelerationStructureNV = (PFN_vkCmdCopyAccelerationStructureNV)load(context, "vkCmdCopyAccelerationStructureNV"); + table->vkCmdTraceRaysNV = (PFN_vkCmdTraceRaysNV)load(context, "vkCmdTraceRaysNV"); + table->vkCmdWriteAccelerationStructuresPropertiesNV = (PFN_vkCmdWriteAccelerationStructuresPropertiesNV)load(context, "vkCmdWriteAccelerationStructuresPropertiesNV"); + table->vkCompileDeferredNV = (PFN_vkCompileDeferredNV)load(context, "vkCompileDeferredNV"); + table->vkCreateAccelerationStructureNV = (PFN_vkCreateAccelerationStructureNV)load(context, "vkCreateAccelerationStructureNV"); + table->vkCreateRayTracingPipelinesNV = (PFN_vkCreateRayTracingPipelinesNV)load(context, "vkCreateRayTracingPipelinesNV"); + table->vkDestroyAccelerationStructureNV = (PFN_vkDestroyAccelerationStructureNV)load(context, "vkDestroyAccelerationStructureNV"); + table->vkGetAccelerationStructureHandleNV = (PFN_vkGetAccelerationStructureHandleNV)load(context, "vkGetAccelerationStructureHandleNV"); + table->vkGetAccelerationStructureMemoryRequirementsNV = (PFN_vkGetAccelerationStructureMemoryRequirementsNV)load(context, "vkGetAccelerationStructureMemoryRequirementsNV"); + table->vkGetRayTracingShaderGroupHandlesNV = (PFN_vkGetRayTracingShaderGroupHandlesNV)load(context, "vkGetRayTracingShaderGroupHandlesNV"); +#endif /* defined(VK_NV_ray_tracing) */ +#if defined(VK_NV_scissor_exclusive) + table->vkCmdSetExclusiveScissorNV = (PFN_vkCmdSetExclusiveScissorNV)load(context, "vkCmdSetExclusiveScissorNV"); +#endif /* defined(VK_NV_scissor_exclusive) */ +#if defined(VK_NV_shading_rate_image) + table->vkCmdBindShadingRateImageNV = (PFN_vkCmdBindShadingRateImageNV)load(context, "vkCmdBindShadingRateImageNV"); + table->vkCmdSetCoarseSampleOrderNV = (PFN_vkCmdSetCoarseSampleOrderNV)load(context, "vkCmdSetCoarseSampleOrderNV"); + table->vkCmdSetViewportShadingRatePaletteNV = (PFN_vkCmdSetViewportShadingRatePaletteNV)load(context, "vkCmdSetViewportShadingRatePaletteNV"); +#endif /* defined(VK_NV_shading_rate_image) */ +#if defined(VK_QCOM_tile_properties) + table->vkGetDynamicRenderingTilePropertiesQCOM = (PFN_vkGetDynamicRenderingTilePropertiesQCOM)load(context, "vkGetDynamicRenderingTilePropertiesQCOM"); + table->vkGetFramebufferTilePropertiesQCOM = (PFN_vkGetFramebufferTilePropertiesQCOM)load(context, "vkGetFramebufferTilePropertiesQCOM"); +#endif /* defined(VK_QCOM_tile_properties) */ +#if defined(VK_VALVE_descriptor_set_host_mapping) + table->vkGetDescriptorSetHostMappingVALVE = (PFN_vkGetDescriptorSetHostMappingVALVE)load(context, "vkGetDescriptorSetHostMappingVALVE"); + table->vkGetDescriptorSetLayoutHostMappingInfoVALVE = (PFN_vkGetDescriptorSetLayoutHostMappingInfoVALVE)load(context, "vkGetDescriptorSetLayoutHostMappingInfoVALVE"); +#endif /* defined(VK_VALVE_descriptor_set_host_mapping) */ +#if (defined(VK_EXT_full_screen_exclusive) && defined(VK_KHR_device_group)) || (defined(VK_EXT_full_screen_exclusive) && defined(VK_VERSION_1_1)) + table->vkGetDeviceGroupSurfacePresentModes2EXT = (PFN_vkGetDeviceGroupSurfacePresentModes2EXT)load(context, "vkGetDeviceGroupSurfacePresentModes2EXT"); +#endif /* (defined(VK_EXT_full_screen_exclusive) && defined(VK_KHR_device_group)) || (defined(VK_EXT_full_screen_exclusive) && defined(VK_VERSION_1_1)) */ +#if (defined(VK_KHR_descriptor_update_template) && defined(VK_KHR_push_descriptor)) || (defined(VK_KHR_push_descriptor) && defined(VK_VERSION_1_1)) || (defined(VK_KHR_push_descriptor) && defined(VK_KHR_descriptor_update_template)) + table->vkCmdPushDescriptorSetWithTemplateKHR = (PFN_vkCmdPushDescriptorSetWithTemplateKHR)load(context, "vkCmdPushDescriptorSetWithTemplateKHR"); +#endif /* (defined(VK_KHR_descriptor_update_template) && defined(VK_KHR_push_descriptor)) || (defined(VK_KHR_push_descriptor) && defined(VK_VERSION_1_1)) || (defined(VK_KHR_push_descriptor) && defined(VK_KHR_descriptor_update_template)) */ +#if (defined(VK_KHR_device_group) && defined(VK_KHR_surface)) || (defined(VK_KHR_swapchain) && defined(VK_VERSION_1_1)) + table->vkGetDeviceGroupPresentCapabilitiesKHR = (PFN_vkGetDeviceGroupPresentCapabilitiesKHR)load(context, "vkGetDeviceGroupPresentCapabilitiesKHR"); + table->vkGetDeviceGroupSurfacePresentModesKHR = (PFN_vkGetDeviceGroupSurfacePresentModesKHR)load(context, "vkGetDeviceGroupSurfacePresentModesKHR"); +#endif /* (defined(VK_KHR_device_group) && defined(VK_KHR_surface)) || (defined(VK_KHR_swapchain) && defined(VK_VERSION_1_1)) */ +#if (defined(VK_KHR_device_group) && defined(VK_KHR_swapchain)) || (defined(VK_KHR_swapchain) && defined(VK_VERSION_1_1)) + table->vkAcquireNextImage2KHR = (PFN_vkAcquireNextImage2KHR)load(context, "vkAcquireNextImage2KHR"); +#endif /* (defined(VK_KHR_device_group) && defined(VK_KHR_swapchain)) || (defined(VK_KHR_swapchain) && defined(VK_VERSION_1_1)) */ + /* VOLK_GENERATE_LOAD_DEVICE_TABLE */ +} + +#ifdef __GNUC__ +#ifdef VOLK_DEFAULT_VISIBILITY +# pragma GCC visibility push(default) +#else +# pragma GCC visibility push(hidden) +#endif +#endif + +/* VOLK_GENERATE_PROTOTYPES_C */ +#if defined(VK_VERSION_1_0) +PFN_vkAllocateCommandBuffers vkAllocateCommandBuffers; +PFN_vkAllocateDescriptorSets vkAllocateDescriptorSets; +PFN_vkAllocateMemory vkAllocateMemory; +PFN_vkBeginCommandBuffer vkBeginCommandBuffer; +PFN_vkBindBufferMemory vkBindBufferMemory; +PFN_vkBindImageMemory vkBindImageMemory; +PFN_vkCmdBeginQuery vkCmdBeginQuery; +PFN_vkCmdBeginRenderPass vkCmdBeginRenderPass; +PFN_vkCmdBindDescriptorSets vkCmdBindDescriptorSets; +PFN_vkCmdBindIndexBuffer vkCmdBindIndexBuffer; +PFN_vkCmdBindPipeline vkCmdBindPipeline; +PFN_vkCmdBindVertexBuffers vkCmdBindVertexBuffers; +PFN_vkCmdBlitImage vkCmdBlitImage; +PFN_vkCmdClearAttachments vkCmdClearAttachments; +PFN_vkCmdClearColorImage vkCmdClearColorImage; +PFN_vkCmdClearDepthStencilImage vkCmdClearDepthStencilImage; +PFN_vkCmdCopyBuffer vkCmdCopyBuffer; +PFN_vkCmdCopyBufferToImage vkCmdCopyBufferToImage; +PFN_vkCmdCopyImage vkCmdCopyImage; +PFN_vkCmdCopyImageToBuffer vkCmdCopyImageToBuffer; +PFN_vkCmdCopyQueryPoolResults vkCmdCopyQueryPoolResults; +PFN_vkCmdDispatch vkCmdDispatch; +PFN_vkCmdDispatchIndirect vkCmdDispatchIndirect; +PFN_vkCmdDraw vkCmdDraw; +PFN_vkCmdDrawIndexed vkCmdDrawIndexed; +PFN_vkCmdDrawIndexedIndirect vkCmdDrawIndexedIndirect; +PFN_vkCmdDrawIndirect vkCmdDrawIndirect; +PFN_vkCmdEndQuery vkCmdEndQuery; +PFN_vkCmdEndRenderPass vkCmdEndRenderPass; +PFN_vkCmdExecuteCommands vkCmdExecuteCommands; +PFN_vkCmdFillBuffer vkCmdFillBuffer; +PFN_vkCmdNextSubpass vkCmdNextSubpass; +PFN_vkCmdPipelineBarrier vkCmdPipelineBarrier; +PFN_vkCmdPushConstants vkCmdPushConstants; +PFN_vkCmdResetEvent vkCmdResetEvent; +PFN_vkCmdResetQueryPool vkCmdResetQueryPool; +PFN_vkCmdResolveImage vkCmdResolveImage; +PFN_vkCmdSetBlendConstants vkCmdSetBlendConstants; +PFN_vkCmdSetDepthBias vkCmdSetDepthBias; +PFN_vkCmdSetDepthBounds vkCmdSetDepthBounds; +PFN_vkCmdSetEvent vkCmdSetEvent; +PFN_vkCmdSetLineWidth vkCmdSetLineWidth; +PFN_vkCmdSetScissor vkCmdSetScissor; +PFN_vkCmdSetStencilCompareMask vkCmdSetStencilCompareMask; +PFN_vkCmdSetStencilReference vkCmdSetStencilReference; +PFN_vkCmdSetStencilWriteMask vkCmdSetStencilWriteMask; +PFN_vkCmdSetViewport vkCmdSetViewport; +PFN_vkCmdUpdateBuffer vkCmdUpdateBuffer; +PFN_vkCmdWaitEvents vkCmdWaitEvents; +PFN_vkCmdWriteTimestamp vkCmdWriteTimestamp; +PFN_vkCreateBuffer vkCreateBuffer; +PFN_vkCreateBufferView vkCreateBufferView; +PFN_vkCreateCommandPool vkCreateCommandPool; +PFN_vkCreateComputePipelines vkCreateComputePipelines; +PFN_vkCreateDescriptorPool vkCreateDescriptorPool; +PFN_vkCreateDescriptorSetLayout vkCreateDescriptorSetLayout; +PFN_vkCreateDevice vkCreateDevice; +PFN_vkCreateEvent vkCreateEvent; +PFN_vkCreateFence vkCreateFence; +PFN_vkCreateFramebuffer vkCreateFramebuffer; +PFN_vkCreateGraphicsPipelines vkCreateGraphicsPipelines; +PFN_vkCreateImage vkCreateImage; +PFN_vkCreateImageView vkCreateImageView; +PFN_vkCreateInstance vkCreateInstance; +PFN_vkCreatePipelineCache vkCreatePipelineCache; +PFN_vkCreatePipelineLayout vkCreatePipelineLayout; +PFN_vkCreateQueryPool vkCreateQueryPool; +PFN_vkCreateRenderPass vkCreateRenderPass; +PFN_vkCreateSampler vkCreateSampler; +PFN_vkCreateSemaphore vkCreateSemaphore; +PFN_vkCreateShaderModule vkCreateShaderModule; +PFN_vkDestroyBuffer vkDestroyBuffer; +PFN_vkDestroyBufferView vkDestroyBufferView; +PFN_vkDestroyCommandPool vkDestroyCommandPool; +PFN_vkDestroyDescriptorPool vkDestroyDescriptorPool; +PFN_vkDestroyDescriptorSetLayout vkDestroyDescriptorSetLayout; +PFN_vkDestroyDevice vkDestroyDevice; +PFN_vkDestroyEvent vkDestroyEvent; +PFN_vkDestroyFence vkDestroyFence; +PFN_vkDestroyFramebuffer vkDestroyFramebuffer; +PFN_vkDestroyImage vkDestroyImage; +PFN_vkDestroyImageView vkDestroyImageView; +PFN_vkDestroyInstance vkDestroyInstance; +PFN_vkDestroyPipeline vkDestroyPipeline; +PFN_vkDestroyPipelineCache vkDestroyPipelineCache; +PFN_vkDestroyPipelineLayout vkDestroyPipelineLayout; +PFN_vkDestroyQueryPool vkDestroyQueryPool; +PFN_vkDestroyRenderPass vkDestroyRenderPass; +PFN_vkDestroySampler vkDestroySampler; +PFN_vkDestroySemaphore vkDestroySemaphore; +PFN_vkDestroyShaderModule vkDestroyShaderModule; +PFN_vkDeviceWaitIdle vkDeviceWaitIdle; +PFN_vkEndCommandBuffer vkEndCommandBuffer; +PFN_vkEnumerateDeviceExtensionProperties vkEnumerateDeviceExtensionProperties; +PFN_vkEnumerateDeviceLayerProperties vkEnumerateDeviceLayerProperties; +PFN_vkEnumerateInstanceExtensionProperties vkEnumerateInstanceExtensionProperties; +PFN_vkEnumerateInstanceLayerProperties vkEnumerateInstanceLayerProperties; +PFN_vkEnumeratePhysicalDevices vkEnumeratePhysicalDevices; +PFN_vkFlushMappedMemoryRanges vkFlushMappedMemoryRanges; +PFN_vkFreeCommandBuffers vkFreeCommandBuffers; +PFN_vkFreeDescriptorSets vkFreeDescriptorSets; +PFN_vkFreeMemory vkFreeMemory; +PFN_vkGetBufferMemoryRequirements vkGetBufferMemoryRequirements; +PFN_vkGetDeviceMemoryCommitment vkGetDeviceMemoryCommitment; +PFN_vkGetDeviceProcAddr vkGetDeviceProcAddr; +PFN_vkGetDeviceQueue vkGetDeviceQueue; +PFN_vkGetEventStatus vkGetEventStatus; +PFN_vkGetFenceStatus vkGetFenceStatus; +PFN_vkGetImageMemoryRequirements vkGetImageMemoryRequirements; +PFN_vkGetImageSparseMemoryRequirements vkGetImageSparseMemoryRequirements; +PFN_vkGetImageSubresourceLayout vkGetImageSubresourceLayout; +PFN_vkGetInstanceProcAddr vkGetInstanceProcAddr; +PFN_vkGetPhysicalDeviceFeatures vkGetPhysicalDeviceFeatures; +PFN_vkGetPhysicalDeviceFormatProperties vkGetPhysicalDeviceFormatProperties; +PFN_vkGetPhysicalDeviceImageFormatProperties vkGetPhysicalDeviceImageFormatProperties; +PFN_vkGetPhysicalDeviceMemoryProperties vkGetPhysicalDeviceMemoryProperties; +PFN_vkGetPhysicalDeviceProperties vkGetPhysicalDeviceProperties; +PFN_vkGetPhysicalDeviceQueueFamilyProperties vkGetPhysicalDeviceQueueFamilyProperties; +PFN_vkGetPhysicalDeviceSparseImageFormatProperties vkGetPhysicalDeviceSparseImageFormatProperties; +PFN_vkGetPipelineCacheData vkGetPipelineCacheData; +PFN_vkGetQueryPoolResults vkGetQueryPoolResults; +PFN_vkGetRenderAreaGranularity vkGetRenderAreaGranularity; +PFN_vkInvalidateMappedMemoryRanges vkInvalidateMappedMemoryRanges; +PFN_vkMapMemory vkMapMemory; +PFN_vkMergePipelineCaches vkMergePipelineCaches; +PFN_vkQueueBindSparse vkQueueBindSparse; +PFN_vkQueueSubmit vkQueueSubmit; +PFN_vkQueueWaitIdle vkQueueWaitIdle; +PFN_vkResetCommandBuffer vkResetCommandBuffer; +PFN_vkResetCommandPool vkResetCommandPool; +PFN_vkResetDescriptorPool vkResetDescriptorPool; +PFN_vkResetEvent vkResetEvent; +PFN_vkResetFences vkResetFences; +PFN_vkSetEvent vkSetEvent; +PFN_vkUnmapMemory vkUnmapMemory; +PFN_vkUpdateDescriptorSets vkUpdateDescriptorSets; +PFN_vkWaitForFences vkWaitForFences; +#endif /* defined(VK_VERSION_1_0) */ +#if defined(VK_VERSION_1_1) +PFN_vkBindBufferMemory2 vkBindBufferMemory2; +PFN_vkBindImageMemory2 vkBindImageMemory2; +PFN_vkCmdDispatchBase vkCmdDispatchBase; +PFN_vkCmdSetDeviceMask vkCmdSetDeviceMask; +PFN_vkCreateDescriptorUpdateTemplate vkCreateDescriptorUpdateTemplate; +PFN_vkCreateSamplerYcbcrConversion vkCreateSamplerYcbcrConversion; +PFN_vkDestroyDescriptorUpdateTemplate vkDestroyDescriptorUpdateTemplate; +PFN_vkDestroySamplerYcbcrConversion vkDestroySamplerYcbcrConversion; +PFN_vkEnumerateInstanceVersion vkEnumerateInstanceVersion; +PFN_vkEnumeratePhysicalDeviceGroups vkEnumeratePhysicalDeviceGroups; +PFN_vkGetBufferMemoryRequirements2 vkGetBufferMemoryRequirements2; +PFN_vkGetDescriptorSetLayoutSupport vkGetDescriptorSetLayoutSupport; +PFN_vkGetDeviceGroupPeerMemoryFeatures vkGetDeviceGroupPeerMemoryFeatures; +PFN_vkGetDeviceQueue2 vkGetDeviceQueue2; +PFN_vkGetImageMemoryRequirements2 vkGetImageMemoryRequirements2; +PFN_vkGetImageSparseMemoryRequirements2 vkGetImageSparseMemoryRequirements2; +PFN_vkGetPhysicalDeviceExternalBufferProperties vkGetPhysicalDeviceExternalBufferProperties; +PFN_vkGetPhysicalDeviceExternalFenceProperties vkGetPhysicalDeviceExternalFenceProperties; +PFN_vkGetPhysicalDeviceExternalSemaphoreProperties vkGetPhysicalDeviceExternalSemaphoreProperties; +PFN_vkGetPhysicalDeviceFeatures2 vkGetPhysicalDeviceFeatures2; +PFN_vkGetPhysicalDeviceFormatProperties2 vkGetPhysicalDeviceFormatProperties2; +PFN_vkGetPhysicalDeviceImageFormatProperties2 vkGetPhysicalDeviceImageFormatProperties2; +PFN_vkGetPhysicalDeviceMemoryProperties2 vkGetPhysicalDeviceMemoryProperties2; +PFN_vkGetPhysicalDeviceProperties2 vkGetPhysicalDeviceProperties2; +PFN_vkGetPhysicalDeviceQueueFamilyProperties2 vkGetPhysicalDeviceQueueFamilyProperties2; +PFN_vkGetPhysicalDeviceSparseImageFormatProperties2 vkGetPhysicalDeviceSparseImageFormatProperties2; +PFN_vkTrimCommandPool vkTrimCommandPool; +PFN_vkUpdateDescriptorSetWithTemplate vkUpdateDescriptorSetWithTemplate; +#endif /* defined(VK_VERSION_1_1) */ +#if defined(VK_VERSION_1_2) +PFN_vkCmdBeginRenderPass2 vkCmdBeginRenderPass2; +PFN_vkCmdDrawIndexedIndirectCount vkCmdDrawIndexedIndirectCount; +PFN_vkCmdDrawIndirectCount vkCmdDrawIndirectCount; +PFN_vkCmdEndRenderPass2 vkCmdEndRenderPass2; +PFN_vkCmdNextSubpass2 vkCmdNextSubpass2; +PFN_vkCreateRenderPass2 vkCreateRenderPass2; +PFN_vkGetBufferDeviceAddress vkGetBufferDeviceAddress; +PFN_vkGetBufferOpaqueCaptureAddress vkGetBufferOpaqueCaptureAddress; +PFN_vkGetDeviceMemoryOpaqueCaptureAddress vkGetDeviceMemoryOpaqueCaptureAddress; +PFN_vkGetSemaphoreCounterValue vkGetSemaphoreCounterValue; +PFN_vkResetQueryPool vkResetQueryPool; +PFN_vkSignalSemaphore vkSignalSemaphore; +PFN_vkWaitSemaphores vkWaitSemaphores; +#endif /* defined(VK_VERSION_1_2) */ +#if defined(VK_VERSION_1_3) +PFN_vkCmdBeginRendering vkCmdBeginRendering; +PFN_vkCmdBindVertexBuffers2 vkCmdBindVertexBuffers2; +PFN_vkCmdBlitImage2 vkCmdBlitImage2; +PFN_vkCmdCopyBuffer2 vkCmdCopyBuffer2; +PFN_vkCmdCopyBufferToImage2 vkCmdCopyBufferToImage2; +PFN_vkCmdCopyImage2 vkCmdCopyImage2; +PFN_vkCmdCopyImageToBuffer2 vkCmdCopyImageToBuffer2; +PFN_vkCmdEndRendering vkCmdEndRendering; +PFN_vkCmdPipelineBarrier2 vkCmdPipelineBarrier2; +PFN_vkCmdResetEvent2 vkCmdResetEvent2; +PFN_vkCmdResolveImage2 vkCmdResolveImage2; +PFN_vkCmdSetCullMode vkCmdSetCullMode; +PFN_vkCmdSetDepthBiasEnable vkCmdSetDepthBiasEnable; +PFN_vkCmdSetDepthBoundsTestEnable vkCmdSetDepthBoundsTestEnable; +PFN_vkCmdSetDepthCompareOp vkCmdSetDepthCompareOp; +PFN_vkCmdSetDepthTestEnable vkCmdSetDepthTestEnable; +PFN_vkCmdSetDepthWriteEnable vkCmdSetDepthWriteEnable; +PFN_vkCmdSetEvent2 vkCmdSetEvent2; +PFN_vkCmdSetFrontFace vkCmdSetFrontFace; +PFN_vkCmdSetPrimitiveRestartEnable vkCmdSetPrimitiveRestartEnable; +PFN_vkCmdSetPrimitiveTopology vkCmdSetPrimitiveTopology; +PFN_vkCmdSetRasterizerDiscardEnable vkCmdSetRasterizerDiscardEnable; +PFN_vkCmdSetScissorWithCount vkCmdSetScissorWithCount; +PFN_vkCmdSetStencilOp vkCmdSetStencilOp; +PFN_vkCmdSetStencilTestEnable vkCmdSetStencilTestEnable; +PFN_vkCmdSetViewportWithCount vkCmdSetViewportWithCount; +PFN_vkCmdWaitEvents2 vkCmdWaitEvents2; +PFN_vkCmdWriteTimestamp2 vkCmdWriteTimestamp2; +PFN_vkCreatePrivateDataSlot vkCreatePrivateDataSlot; +PFN_vkDestroyPrivateDataSlot vkDestroyPrivateDataSlot; +PFN_vkGetDeviceBufferMemoryRequirements vkGetDeviceBufferMemoryRequirements; +PFN_vkGetDeviceImageMemoryRequirements vkGetDeviceImageMemoryRequirements; +PFN_vkGetDeviceImageSparseMemoryRequirements vkGetDeviceImageSparseMemoryRequirements; +PFN_vkGetPhysicalDeviceToolProperties vkGetPhysicalDeviceToolProperties; +PFN_vkGetPrivateData vkGetPrivateData; +PFN_vkQueueSubmit2 vkQueueSubmit2; +PFN_vkSetPrivateData vkSetPrivateData; +#endif /* defined(VK_VERSION_1_3) */ +#if defined(VK_AMD_buffer_marker) +PFN_vkCmdWriteBufferMarkerAMD vkCmdWriteBufferMarkerAMD; +#endif /* defined(VK_AMD_buffer_marker) */ +#if defined(VK_AMD_display_native_hdr) +PFN_vkSetLocalDimmingAMD vkSetLocalDimmingAMD; +#endif /* defined(VK_AMD_display_native_hdr) */ +#if defined(VK_AMD_draw_indirect_count) +PFN_vkCmdDrawIndexedIndirectCountAMD vkCmdDrawIndexedIndirectCountAMD; +PFN_vkCmdDrawIndirectCountAMD vkCmdDrawIndirectCountAMD; +#endif /* defined(VK_AMD_draw_indirect_count) */ +#if defined(VK_AMD_shader_info) +PFN_vkGetShaderInfoAMD vkGetShaderInfoAMD; +#endif /* defined(VK_AMD_shader_info) */ +#if defined(VK_ANDROID_external_memory_android_hardware_buffer) +PFN_vkGetAndroidHardwareBufferPropertiesANDROID vkGetAndroidHardwareBufferPropertiesANDROID; +PFN_vkGetMemoryAndroidHardwareBufferANDROID vkGetMemoryAndroidHardwareBufferANDROID; +#endif /* defined(VK_ANDROID_external_memory_android_hardware_buffer) */ +#if defined(VK_EXT_acquire_drm_display) +PFN_vkAcquireDrmDisplayEXT vkAcquireDrmDisplayEXT; +PFN_vkGetDrmDisplayEXT vkGetDrmDisplayEXT; +#endif /* defined(VK_EXT_acquire_drm_display) */ +#if defined(VK_EXT_acquire_xlib_display) +PFN_vkAcquireXlibDisplayEXT vkAcquireXlibDisplayEXT; +PFN_vkGetRandROutputDisplayEXT vkGetRandROutputDisplayEXT; +#endif /* defined(VK_EXT_acquire_xlib_display) */ +#if defined(VK_EXT_buffer_device_address) +PFN_vkGetBufferDeviceAddressEXT vkGetBufferDeviceAddressEXT; +#endif /* defined(VK_EXT_buffer_device_address) */ +#if defined(VK_EXT_calibrated_timestamps) +PFN_vkGetCalibratedTimestampsEXT vkGetCalibratedTimestampsEXT; +PFN_vkGetPhysicalDeviceCalibrateableTimeDomainsEXT vkGetPhysicalDeviceCalibrateableTimeDomainsEXT; +#endif /* defined(VK_EXT_calibrated_timestamps) */ +#if defined(VK_EXT_color_write_enable) +PFN_vkCmdSetColorWriteEnableEXT vkCmdSetColorWriteEnableEXT; +#endif /* defined(VK_EXT_color_write_enable) */ +#if defined(VK_EXT_conditional_rendering) +PFN_vkCmdBeginConditionalRenderingEXT vkCmdBeginConditionalRenderingEXT; +PFN_vkCmdEndConditionalRenderingEXT vkCmdEndConditionalRenderingEXT; +#endif /* defined(VK_EXT_conditional_rendering) */ +#if defined(VK_EXT_debug_marker) +PFN_vkCmdDebugMarkerBeginEXT vkCmdDebugMarkerBeginEXT; +PFN_vkCmdDebugMarkerEndEXT vkCmdDebugMarkerEndEXT; +PFN_vkCmdDebugMarkerInsertEXT vkCmdDebugMarkerInsertEXT; +PFN_vkDebugMarkerSetObjectNameEXT vkDebugMarkerSetObjectNameEXT; +PFN_vkDebugMarkerSetObjectTagEXT vkDebugMarkerSetObjectTagEXT; +#endif /* defined(VK_EXT_debug_marker) */ +#if defined(VK_EXT_debug_report) +PFN_vkCreateDebugReportCallbackEXT vkCreateDebugReportCallbackEXT; +PFN_vkDebugReportMessageEXT vkDebugReportMessageEXT; +PFN_vkDestroyDebugReportCallbackEXT vkDestroyDebugReportCallbackEXT; +#endif /* defined(VK_EXT_debug_report) */ +#if defined(VK_EXT_debug_utils) +PFN_vkCmdBeginDebugUtilsLabelEXT vkCmdBeginDebugUtilsLabelEXT; +PFN_vkCmdEndDebugUtilsLabelEXT vkCmdEndDebugUtilsLabelEXT; +PFN_vkCmdInsertDebugUtilsLabelEXT vkCmdInsertDebugUtilsLabelEXT; +PFN_vkCreateDebugUtilsMessengerEXT vkCreateDebugUtilsMessengerEXT; +PFN_vkDestroyDebugUtilsMessengerEXT vkDestroyDebugUtilsMessengerEXT; +PFN_vkQueueBeginDebugUtilsLabelEXT vkQueueBeginDebugUtilsLabelEXT; +PFN_vkQueueEndDebugUtilsLabelEXT vkQueueEndDebugUtilsLabelEXT; +PFN_vkQueueInsertDebugUtilsLabelEXT vkQueueInsertDebugUtilsLabelEXT; +PFN_vkSetDebugUtilsObjectNameEXT vkSetDebugUtilsObjectNameEXT; +PFN_vkSetDebugUtilsObjectTagEXT vkSetDebugUtilsObjectTagEXT; +PFN_vkSubmitDebugUtilsMessageEXT vkSubmitDebugUtilsMessageEXT; +#endif /* defined(VK_EXT_debug_utils) */ +#if defined(VK_EXT_descriptor_buffer) +PFN_vkCmdBindDescriptorBufferEmbeddedSamplersEXT vkCmdBindDescriptorBufferEmbeddedSamplersEXT; +PFN_vkCmdBindDescriptorBuffersEXT vkCmdBindDescriptorBuffersEXT; +PFN_vkCmdSetDescriptorBufferOffsetsEXT vkCmdSetDescriptorBufferOffsetsEXT; +PFN_vkGetBufferOpaqueCaptureDescriptorDataEXT vkGetBufferOpaqueCaptureDescriptorDataEXT; +PFN_vkGetDescriptorEXT vkGetDescriptorEXT; +PFN_vkGetDescriptorSetLayoutBindingOffsetEXT vkGetDescriptorSetLayoutBindingOffsetEXT; +PFN_vkGetDescriptorSetLayoutSizeEXT vkGetDescriptorSetLayoutSizeEXT; +PFN_vkGetImageOpaqueCaptureDescriptorDataEXT vkGetImageOpaqueCaptureDescriptorDataEXT; +PFN_vkGetImageViewOpaqueCaptureDescriptorDataEXT vkGetImageViewOpaqueCaptureDescriptorDataEXT; +PFN_vkGetSamplerOpaqueCaptureDescriptorDataEXT vkGetSamplerOpaqueCaptureDescriptorDataEXT; +#endif /* defined(VK_EXT_descriptor_buffer) */ +#if defined(VK_EXT_descriptor_buffer) && defined(VK_KHR_acceleration_structure) && defined(VK_NV_ray_tracing) +PFN_vkGetAccelerationStructureOpaqueCaptureDescriptorDataEXT vkGetAccelerationStructureOpaqueCaptureDescriptorDataEXT; +#endif /* defined(VK_EXT_descriptor_buffer) && defined(VK_KHR_acceleration_structure) && defined(VK_NV_ray_tracing) */ +#if defined(VK_EXT_device_fault) +PFN_vkGetDeviceFaultInfoEXT vkGetDeviceFaultInfoEXT; +#endif /* defined(VK_EXT_device_fault) */ +#if defined(VK_EXT_direct_mode_display) +PFN_vkReleaseDisplayEXT vkReleaseDisplayEXT; +#endif /* defined(VK_EXT_direct_mode_display) */ +#if defined(VK_EXT_directfb_surface) +PFN_vkCreateDirectFBSurfaceEXT vkCreateDirectFBSurfaceEXT; +PFN_vkGetPhysicalDeviceDirectFBPresentationSupportEXT vkGetPhysicalDeviceDirectFBPresentationSupportEXT; +#endif /* defined(VK_EXT_directfb_surface) */ +#if defined(VK_EXT_discard_rectangles) +PFN_vkCmdSetDiscardRectangleEXT vkCmdSetDiscardRectangleEXT; +#endif /* defined(VK_EXT_discard_rectangles) */ +#if defined(VK_EXT_display_control) +PFN_vkDisplayPowerControlEXT vkDisplayPowerControlEXT; +PFN_vkGetSwapchainCounterEXT vkGetSwapchainCounterEXT; +PFN_vkRegisterDeviceEventEXT vkRegisterDeviceEventEXT; +PFN_vkRegisterDisplayEventEXT vkRegisterDisplayEventEXT; +#endif /* defined(VK_EXT_display_control) */ +#if defined(VK_EXT_display_surface_counter) +PFN_vkGetPhysicalDeviceSurfaceCapabilities2EXT vkGetPhysicalDeviceSurfaceCapabilities2EXT; +#endif /* defined(VK_EXT_display_surface_counter) */ +#if defined(VK_EXT_extended_dynamic_state) +PFN_vkCmdBindVertexBuffers2EXT vkCmdBindVertexBuffers2EXT; +PFN_vkCmdSetCullModeEXT vkCmdSetCullModeEXT; +PFN_vkCmdSetDepthBoundsTestEnableEXT vkCmdSetDepthBoundsTestEnableEXT; +PFN_vkCmdSetDepthCompareOpEXT vkCmdSetDepthCompareOpEXT; +PFN_vkCmdSetDepthTestEnableEXT vkCmdSetDepthTestEnableEXT; +PFN_vkCmdSetDepthWriteEnableEXT vkCmdSetDepthWriteEnableEXT; +PFN_vkCmdSetFrontFaceEXT vkCmdSetFrontFaceEXT; +PFN_vkCmdSetPrimitiveTopologyEXT vkCmdSetPrimitiveTopologyEXT; +PFN_vkCmdSetScissorWithCountEXT vkCmdSetScissorWithCountEXT; +PFN_vkCmdSetStencilOpEXT vkCmdSetStencilOpEXT; +PFN_vkCmdSetStencilTestEnableEXT vkCmdSetStencilTestEnableEXT; +PFN_vkCmdSetViewportWithCountEXT vkCmdSetViewportWithCountEXT; +#endif /* defined(VK_EXT_extended_dynamic_state) */ +#if defined(VK_EXT_extended_dynamic_state2) +PFN_vkCmdSetDepthBiasEnableEXT vkCmdSetDepthBiasEnableEXT; +PFN_vkCmdSetLogicOpEXT vkCmdSetLogicOpEXT; +PFN_vkCmdSetPatchControlPointsEXT vkCmdSetPatchControlPointsEXT; +PFN_vkCmdSetPrimitiveRestartEnableEXT vkCmdSetPrimitiveRestartEnableEXT; +PFN_vkCmdSetRasterizerDiscardEnableEXT vkCmdSetRasterizerDiscardEnableEXT; +#endif /* defined(VK_EXT_extended_dynamic_state2) */ +#if defined(VK_EXT_extended_dynamic_state3) +PFN_vkCmdSetAlphaToCoverageEnableEXT vkCmdSetAlphaToCoverageEnableEXT; +PFN_vkCmdSetAlphaToOneEnableEXT vkCmdSetAlphaToOneEnableEXT; +PFN_vkCmdSetColorBlendAdvancedEXT vkCmdSetColorBlendAdvancedEXT; +PFN_vkCmdSetColorBlendEnableEXT vkCmdSetColorBlendEnableEXT; +PFN_vkCmdSetColorBlendEquationEXT vkCmdSetColorBlendEquationEXT; +PFN_vkCmdSetColorWriteMaskEXT vkCmdSetColorWriteMaskEXT; +PFN_vkCmdSetConservativeRasterizationModeEXT vkCmdSetConservativeRasterizationModeEXT; +PFN_vkCmdSetCoverageModulationModeNV vkCmdSetCoverageModulationModeNV; +PFN_vkCmdSetCoverageModulationTableEnableNV vkCmdSetCoverageModulationTableEnableNV; +PFN_vkCmdSetCoverageModulationTableNV vkCmdSetCoverageModulationTableNV; +PFN_vkCmdSetCoverageReductionModeNV vkCmdSetCoverageReductionModeNV; +PFN_vkCmdSetCoverageToColorEnableNV vkCmdSetCoverageToColorEnableNV; +PFN_vkCmdSetCoverageToColorLocationNV vkCmdSetCoverageToColorLocationNV; +PFN_vkCmdSetDepthClampEnableEXT vkCmdSetDepthClampEnableEXT; +PFN_vkCmdSetDepthClipEnableEXT vkCmdSetDepthClipEnableEXT; +PFN_vkCmdSetDepthClipNegativeOneToOneEXT vkCmdSetDepthClipNegativeOneToOneEXT; +PFN_vkCmdSetExtraPrimitiveOverestimationSizeEXT vkCmdSetExtraPrimitiveOverestimationSizeEXT; +PFN_vkCmdSetLineRasterizationModeEXT vkCmdSetLineRasterizationModeEXT; +PFN_vkCmdSetLineStippleEnableEXT vkCmdSetLineStippleEnableEXT; +PFN_vkCmdSetLogicOpEnableEXT vkCmdSetLogicOpEnableEXT; +PFN_vkCmdSetPolygonModeEXT vkCmdSetPolygonModeEXT; +PFN_vkCmdSetProvokingVertexModeEXT vkCmdSetProvokingVertexModeEXT; +PFN_vkCmdSetRasterizationSamplesEXT vkCmdSetRasterizationSamplesEXT; +PFN_vkCmdSetRasterizationStreamEXT vkCmdSetRasterizationStreamEXT; +PFN_vkCmdSetRepresentativeFragmentTestEnableNV vkCmdSetRepresentativeFragmentTestEnableNV; +PFN_vkCmdSetSampleLocationsEnableEXT vkCmdSetSampleLocationsEnableEXT; +PFN_vkCmdSetSampleMaskEXT vkCmdSetSampleMaskEXT; +PFN_vkCmdSetShadingRateImageEnableNV vkCmdSetShadingRateImageEnableNV; +PFN_vkCmdSetTessellationDomainOriginEXT vkCmdSetTessellationDomainOriginEXT; +PFN_vkCmdSetViewportSwizzleNV vkCmdSetViewportSwizzleNV; +PFN_vkCmdSetViewportWScalingEnableNV vkCmdSetViewportWScalingEnableNV; +#endif /* defined(VK_EXT_extended_dynamic_state3) */ +#if defined(VK_EXT_external_memory_host) +PFN_vkGetMemoryHostPointerPropertiesEXT vkGetMemoryHostPointerPropertiesEXT; +#endif /* defined(VK_EXT_external_memory_host) */ +#if defined(VK_EXT_full_screen_exclusive) +PFN_vkAcquireFullScreenExclusiveModeEXT vkAcquireFullScreenExclusiveModeEXT; +PFN_vkGetPhysicalDeviceSurfacePresentModes2EXT vkGetPhysicalDeviceSurfacePresentModes2EXT; +PFN_vkReleaseFullScreenExclusiveModeEXT vkReleaseFullScreenExclusiveModeEXT; +#endif /* defined(VK_EXT_full_screen_exclusive) */ +#if defined(VK_EXT_hdr_metadata) +PFN_vkSetHdrMetadataEXT vkSetHdrMetadataEXT; +#endif /* defined(VK_EXT_hdr_metadata) */ +#if defined(VK_EXT_headless_surface) +PFN_vkCreateHeadlessSurfaceEXT vkCreateHeadlessSurfaceEXT; +#endif /* defined(VK_EXT_headless_surface) */ +#if defined(VK_EXT_host_query_reset) +PFN_vkResetQueryPoolEXT vkResetQueryPoolEXT; +#endif /* defined(VK_EXT_host_query_reset) */ +#if defined(VK_EXT_image_compression_control) +PFN_vkGetImageSubresourceLayout2EXT vkGetImageSubresourceLayout2EXT; +#endif /* defined(VK_EXT_image_compression_control) */ +#if defined(VK_EXT_image_drm_format_modifier) +PFN_vkGetImageDrmFormatModifierPropertiesEXT vkGetImageDrmFormatModifierPropertiesEXT; +#endif /* defined(VK_EXT_image_drm_format_modifier) */ +#if defined(VK_EXT_line_rasterization) +PFN_vkCmdSetLineStippleEXT vkCmdSetLineStippleEXT; +#endif /* defined(VK_EXT_line_rasterization) */ +#if defined(VK_EXT_mesh_shader) +PFN_vkCmdDrawMeshTasksEXT vkCmdDrawMeshTasksEXT; +PFN_vkCmdDrawMeshTasksIndirectCountEXT vkCmdDrawMeshTasksIndirectCountEXT; +PFN_vkCmdDrawMeshTasksIndirectEXT vkCmdDrawMeshTasksIndirectEXT; +#endif /* defined(VK_EXT_mesh_shader) */ +#if defined(VK_EXT_metal_objects) +PFN_vkExportMetalObjectsEXT vkExportMetalObjectsEXT; +#endif /* defined(VK_EXT_metal_objects) */ +#if defined(VK_EXT_metal_surface) +PFN_vkCreateMetalSurfaceEXT vkCreateMetalSurfaceEXT; +#endif /* defined(VK_EXT_metal_surface) */ +#if defined(VK_EXT_multi_draw) +PFN_vkCmdDrawMultiEXT vkCmdDrawMultiEXT; +PFN_vkCmdDrawMultiIndexedEXT vkCmdDrawMultiIndexedEXT; +#endif /* defined(VK_EXT_multi_draw) */ +#if defined(VK_EXT_opacity_micromap) +PFN_vkBuildMicromapsEXT vkBuildMicromapsEXT; +PFN_vkCmdBuildMicromapsEXT vkCmdBuildMicromapsEXT; +PFN_vkCmdCopyMemoryToMicromapEXT vkCmdCopyMemoryToMicromapEXT; +PFN_vkCmdCopyMicromapEXT vkCmdCopyMicromapEXT; +PFN_vkCmdCopyMicromapToMemoryEXT vkCmdCopyMicromapToMemoryEXT; +PFN_vkCmdWriteMicromapsPropertiesEXT vkCmdWriteMicromapsPropertiesEXT; +PFN_vkCopyMemoryToMicromapEXT vkCopyMemoryToMicromapEXT; +PFN_vkCopyMicromapEXT vkCopyMicromapEXT; +PFN_vkCopyMicromapToMemoryEXT vkCopyMicromapToMemoryEXT; +PFN_vkCreateMicromapEXT vkCreateMicromapEXT; +PFN_vkDestroyMicromapEXT vkDestroyMicromapEXT; +PFN_vkGetDeviceMicromapCompatibilityEXT vkGetDeviceMicromapCompatibilityEXT; +PFN_vkGetMicromapBuildSizesEXT vkGetMicromapBuildSizesEXT; +PFN_vkWriteMicromapsPropertiesEXT vkWriteMicromapsPropertiesEXT; +#endif /* defined(VK_EXT_opacity_micromap) */ +#if defined(VK_EXT_pageable_device_local_memory) +PFN_vkSetDeviceMemoryPriorityEXT vkSetDeviceMemoryPriorityEXT; +#endif /* defined(VK_EXT_pageable_device_local_memory) */ +#if defined(VK_EXT_pipeline_properties) +PFN_vkGetPipelinePropertiesEXT vkGetPipelinePropertiesEXT; +#endif /* defined(VK_EXT_pipeline_properties) */ +#if defined(VK_EXT_private_data) +PFN_vkCreatePrivateDataSlotEXT vkCreatePrivateDataSlotEXT; +PFN_vkDestroyPrivateDataSlotEXT vkDestroyPrivateDataSlotEXT; +PFN_vkGetPrivateDataEXT vkGetPrivateDataEXT; +PFN_vkSetPrivateDataEXT vkSetPrivateDataEXT; +#endif /* defined(VK_EXT_private_data) */ +#if defined(VK_EXT_sample_locations) +PFN_vkCmdSetSampleLocationsEXT vkCmdSetSampleLocationsEXT; +PFN_vkGetPhysicalDeviceMultisamplePropertiesEXT vkGetPhysicalDeviceMultisamplePropertiesEXT; +#endif /* defined(VK_EXT_sample_locations) */ +#if defined(VK_EXT_shader_module_identifier) +PFN_vkGetShaderModuleCreateInfoIdentifierEXT vkGetShaderModuleCreateInfoIdentifierEXT; +PFN_vkGetShaderModuleIdentifierEXT vkGetShaderModuleIdentifierEXT; +#endif /* defined(VK_EXT_shader_module_identifier) */ +#if defined(VK_EXT_swapchain_maintenance1) +PFN_vkReleaseSwapchainImagesEXT vkReleaseSwapchainImagesEXT; +#endif /* defined(VK_EXT_swapchain_maintenance1) */ +#if defined(VK_EXT_tooling_info) +PFN_vkGetPhysicalDeviceToolPropertiesEXT vkGetPhysicalDeviceToolPropertiesEXT; +#endif /* defined(VK_EXT_tooling_info) */ +#if defined(VK_EXT_transform_feedback) +PFN_vkCmdBeginQueryIndexedEXT vkCmdBeginQueryIndexedEXT; +PFN_vkCmdBeginTransformFeedbackEXT vkCmdBeginTransformFeedbackEXT; +PFN_vkCmdBindTransformFeedbackBuffersEXT vkCmdBindTransformFeedbackBuffersEXT; +PFN_vkCmdDrawIndirectByteCountEXT vkCmdDrawIndirectByteCountEXT; +PFN_vkCmdEndQueryIndexedEXT vkCmdEndQueryIndexedEXT; +PFN_vkCmdEndTransformFeedbackEXT vkCmdEndTransformFeedbackEXT; +#endif /* defined(VK_EXT_transform_feedback) */ +#if defined(VK_EXT_validation_cache) +PFN_vkCreateValidationCacheEXT vkCreateValidationCacheEXT; +PFN_vkDestroyValidationCacheEXT vkDestroyValidationCacheEXT; +PFN_vkGetValidationCacheDataEXT vkGetValidationCacheDataEXT; +PFN_vkMergeValidationCachesEXT vkMergeValidationCachesEXT; +#endif /* defined(VK_EXT_validation_cache) */ +#if defined(VK_EXT_vertex_input_dynamic_state) +PFN_vkCmdSetVertexInputEXT vkCmdSetVertexInputEXT; +#endif /* defined(VK_EXT_vertex_input_dynamic_state) */ +#if defined(VK_FUCHSIA_buffer_collection) +PFN_vkCreateBufferCollectionFUCHSIA vkCreateBufferCollectionFUCHSIA; +PFN_vkDestroyBufferCollectionFUCHSIA vkDestroyBufferCollectionFUCHSIA; +PFN_vkGetBufferCollectionPropertiesFUCHSIA vkGetBufferCollectionPropertiesFUCHSIA; +PFN_vkSetBufferCollectionBufferConstraintsFUCHSIA vkSetBufferCollectionBufferConstraintsFUCHSIA; +PFN_vkSetBufferCollectionImageConstraintsFUCHSIA vkSetBufferCollectionImageConstraintsFUCHSIA; +#endif /* defined(VK_FUCHSIA_buffer_collection) */ +#if defined(VK_FUCHSIA_external_memory) +PFN_vkGetMemoryZirconHandleFUCHSIA vkGetMemoryZirconHandleFUCHSIA; +PFN_vkGetMemoryZirconHandlePropertiesFUCHSIA vkGetMemoryZirconHandlePropertiesFUCHSIA; +#endif /* defined(VK_FUCHSIA_external_memory) */ +#if defined(VK_FUCHSIA_external_semaphore) +PFN_vkGetSemaphoreZirconHandleFUCHSIA vkGetSemaphoreZirconHandleFUCHSIA; +PFN_vkImportSemaphoreZirconHandleFUCHSIA vkImportSemaphoreZirconHandleFUCHSIA; +#endif /* defined(VK_FUCHSIA_external_semaphore) */ +#if defined(VK_FUCHSIA_imagepipe_surface) +PFN_vkCreateImagePipeSurfaceFUCHSIA vkCreateImagePipeSurfaceFUCHSIA; +#endif /* defined(VK_FUCHSIA_imagepipe_surface) */ +#if defined(VK_GGP_stream_descriptor_surface) +PFN_vkCreateStreamDescriptorSurfaceGGP vkCreateStreamDescriptorSurfaceGGP; +#endif /* defined(VK_GGP_stream_descriptor_surface) */ +#if defined(VK_GOOGLE_display_timing) +PFN_vkGetPastPresentationTimingGOOGLE vkGetPastPresentationTimingGOOGLE; +PFN_vkGetRefreshCycleDurationGOOGLE vkGetRefreshCycleDurationGOOGLE; +#endif /* defined(VK_GOOGLE_display_timing) */ +#if defined(VK_HUAWEI_invocation_mask) +PFN_vkCmdBindInvocationMaskHUAWEI vkCmdBindInvocationMaskHUAWEI; +#endif /* defined(VK_HUAWEI_invocation_mask) */ +#if defined(VK_HUAWEI_subpass_shading) +PFN_vkCmdSubpassShadingHUAWEI vkCmdSubpassShadingHUAWEI; +PFN_vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI; +#endif /* defined(VK_HUAWEI_subpass_shading) */ +#if defined(VK_INTEL_performance_query) +PFN_vkAcquirePerformanceConfigurationINTEL vkAcquirePerformanceConfigurationINTEL; +PFN_vkCmdSetPerformanceMarkerINTEL vkCmdSetPerformanceMarkerINTEL; +PFN_vkCmdSetPerformanceOverrideINTEL vkCmdSetPerformanceOverrideINTEL; +PFN_vkCmdSetPerformanceStreamMarkerINTEL vkCmdSetPerformanceStreamMarkerINTEL; +PFN_vkGetPerformanceParameterINTEL vkGetPerformanceParameterINTEL; +PFN_vkInitializePerformanceApiINTEL vkInitializePerformanceApiINTEL; +PFN_vkQueueSetPerformanceConfigurationINTEL vkQueueSetPerformanceConfigurationINTEL; +PFN_vkReleasePerformanceConfigurationINTEL vkReleasePerformanceConfigurationINTEL; +PFN_vkUninitializePerformanceApiINTEL vkUninitializePerformanceApiINTEL; +#endif /* defined(VK_INTEL_performance_query) */ +#if defined(VK_KHR_acceleration_structure) +PFN_vkBuildAccelerationStructuresKHR vkBuildAccelerationStructuresKHR; +PFN_vkCmdBuildAccelerationStructuresIndirectKHR vkCmdBuildAccelerationStructuresIndirectKHR; +PFN_vkCmdBuildAccelerationStructuresKHR vkCmdBuildAccelerationStructuresKHR; +PFN_vkCmdCopyAccelerationStructureKHR vkCmdCopyAccelerationStructureKHR; +PFN_vkCmdCopyAccelerationStructureToMemoryKHR vkCmdCopyAccelerationStructureToMemoryKHR; +PFN_vkCmdCopyMemoryToAccelerationStructureKHR vkCmdCopyMemoryToAccelerationStructureKHR; +PFN_vkCmdWriteAccelerationStructuresPropertiesKHR vkCmdWriteAccelerationStructuresPropertiesKHR; +PFN_vkCopyAccelerationStructureKHR vkCopyAccelerationStructureKHR; +PFN_vkCopyAccelerationStructureToMemoryKHR vkCopyAccelerationStructureToMemoryKHR; +PFN_vkCopyMemoryToAccelerationStructureKHR vkCopyMemoryToAccelerationStructureKHR; +PFN_vkCreateAccelerationStructureKHR vkCreateAccelerationStructureKHR; +PFN_vkDestroyAccelerationStructureKHR vkDestroyAccelerationStructureKHR; +PFN_vkGetAccelerationStructureBuildSizesKHR vkGetAccelerationStructureBuildSizesKHR; +PFN_vkGetAccelerationStructureDeviceAddressKHR vkGetAccelerationStructureDeviceAddressKHR; +PFN_vkGetDeviceAccelerationStructureCompatibilityKHR vkGetDeviceAccelerationStructureCompatibilityKHR; +PFN_vkWriteAccelerationStructuresPropertiesKHR vkWriteAccelerationStructuresPropertiesKHR; +#endif /* defined(VK_KHR_acceleration_structure) */ +#if defined(VK_KHR_android_surface) +PFN_vkCreateAndroidSurfaceKHR vkCreateAndroidSurfaceKHR; +#endif /* defined(VK_KHR_android_surface) */ +#if defined(VK_KHR_bind_memory2) +PFN_vkBindBufferMemory2KHR vkBindBufferMemory2KHR; +PFN_vkBindImageMemory2KHR vkBindImageMemory2KHR; +#endif /* defined(VK_KHR_bind_memory2) */ +#if defined(VK_KHR_buffer_device_address) +PFN_vkGetBufferDeviceAddressKHR vkGetBufferDeviceAddressKHR; +PFN_vkGetBufferOpaqueCaptureAddressKHR vkGetBufferOpaqueCaptureAddressKHR; +PFN_vkGetDeviceMemoryOpaqueCaptureAddressKHR vkGetDeviceMemoryOpaqueCaptureAddressKHR; +#endif /* defined(VK_KHR_buffer_device_address) */ +#if defined(VK_KHR_copy_commands2) +PFN_vkCmdBlitImage2KHR vkCmdBlitImage2KHR; +PFN_vkCmdCopyBuffer2KHR vkCmdCopyBuffer2KHR; +PFN_vkCmdCopyBufferToImage2KHR vkCmdCopyBufferToImage2KHR; +PFN_vkCmdCopyImage2KHR vkCmdCopyImage2KHR; +PFN_vkCmdCopyImageToBuffer2KHR vkCmdCopyImageToBuffer2KHR; +PFN_vkCmdResolveImage2KHR vkCmdResolveImage2KHR; +#endif /* defined(VK_KHR_copy_commands2) */ +#if defined(VK_KHR_create_renderpass2) +PFN_vkCmdBeginRenderPass2KHR vkCmdBeginRenderPass2KHR; +PFN_vkCmdEndRenderPass2KHR vkCmdEndRenderPass2KHR; +PFN_vkCmdNextSubpass2KHR vkCmdNextSubpass2KHR; +PFN_vkCreateRenderPass2KHR vkCreateRenderPass2KHR; +#endif /* defined(VK_KHR_create_renderpass2) */ +#if defined(VK_KHR_deferred_host_operations) +PFN_vkCreateDeferredOperationKHR vkCreateDeferredOperationKHR; +PFN_vkDeferredOperationJoinKHR vkDeferredOperationJoinKHR; +PFN_vkDestroyDeferredOperationKHR vkDestroyDeferredOperationKHR; +PFN_vkGetDeferredOperationMaxConcurrencyKHR vkGetDeferredOperationMaxConcurrencyKHR; +PFN_vkGetDeferredOperationResultKHR vkGetDeferredOperationResultKHR; +#endif /* defined(VK_KHR_deferred_host_operations) */ +#if defined(VK_KHR_descriptor_update_template) +PFN_vkCreateDescriptorUpdateTemplateKHR vkCreateDescriptorUpdateTemplateKHR; +PFN_vkDestroyDescriptorUpdateTemplateKHR vkDestroyDescriptorUpdateTemplateKHR; +PFN_vkUpdateDescriptorSetWithTemplateKHR vkUpdateDescriptorSetWithTemplateKHR; +#endif /* defined(VK_KHR_descriptor_update_template) */ +#if defined(VK_KHR_device_group) +PFN_vkCmdDispatchBaseKHR vkCmdDispatchBaseKHR; +PFN_vkCmdSetDeviceMaskKHR vkCmdSetDeviceMaskKHR; +PFN_vkGetDeviceGroupPeerMemoryFeaturesKHR vkGetDeviceGroupPeerMemoryFeaturesKHR; +#endif /* defined(VK_KHR_device_group) */ +#if defined(VK_KHR_device_group_creation) +PFN_vkEnumeratePhysicalDeviceGroupsKHR vkEnumeratePhysicalDeviceGroupsKHR; +#endif /* defined(VK_KHR_device_group_creation) */ +#if defined(VK_KHR_display) +PFN_vkCreateDisplayModeKHR vkCreateDisplayModeKHR; +PFN_vkCreateDisplayPlaneSurfaceKHR vkCreateDisplayPlaneSurfaceKHR; +PFN_vkGetDisplayModePropertiesKHR vkGetDisplayModePropertiesKHR; +PFN_vkGetDisplayPlaneCapabilitiesKHR vkGetDisplayPlaneCapabilitiesKHR; +PFN_vkGetDisplayPlaneSupportedDisplaysKHR vkGetDisplayPlaneSupportedDisplaysKHR; +PFN_vkGetPhysicalDeviceDisplayPlanePropertiesKHR vkGetPhysicalDeviceDisplayPlanePropertiesKHR; +PFN_vkGetPhysicalDeviceDisplayPropertiesKHR vkGetPhysicalDeviceDisplayPropertiesKHR; +#endif /* defined(VK_KHR_display) */ +#if defined(VK_KHR_display_swapchain) +PFN_vkCreateSharedSwapchainsKHR vkCreateSharedSwapchainsKHR; +#endif /* defined(VK_KHR_display_swapchain) */ +#if defined(VK_KHR_draw_indirect_count) +PFN_vkCmdDrawIndexedIndirectCountKHR vkCmdDrawIndexedIndirectCountKHR; +PFN_vkCmdDrawIndirectCountKHR vkCmdDrawIndirectCountKHR; +#endif /* defined(VK_KHR_draw_indirect_count) */ +#if defined(VK_KHR_dynamic_rendering) +PFN_vkCmdBeginRenderingKHR vkCmdBeginRenderingKHR; +PFN_vkCmdEndRenderingKHR vkCmdEndRenderingKHR; +#endif /* defined(VK_KHR_dynamic_rendering) */ +#if defined(VK_KHR_external_fence_capabilities) +PFN_vkGetPhysicalDeviceExternalFencePropertiesKHR vkGetPhysicalDeviceExternalFencePropertiesKHR; +#endif /* defined(VK_KHR_external_fence_capabilities) */ +#if defined(VK_KHR_external_fence_fd) +PFN_vkGetFenceFdKHR vkGetFenceFdKHR; +PFN_vkImportFenceFdKHR vkImportFenceFdKHR; +#endif /* defined(VK_KHR_external_fence_fd) */ +#if defined(VK_KHR_external_fence_win32) +PFN_vkGetFenceWin32HandleKHR vkGetFenceWin32HandleKHR; +PFN_vkImportFenceWin32HandleKHR vkImportFenceWin32HandleKHR; +#endif /* defined(VK_KHR_external_fence_win32) */ +#if defined(VK_KHR_external_memory_capabilities) +PFN_vkGetPhysicalDeviceExternalBufferPropertiesKHR vkGetPhysicalDeviceExternalBufferPropertiesKHR; +#endif /* defined(VK_KHR_external_memory_capabilities) */ +#if defined(VK_KHR_external_memory_fd) +PFN_vkGetMemoryFdKHR vkGetMemoryFdKHR; +PFN_vkGetMemoryFdPropertiesKHR vkGetMemoryFdPropertiesKHR; +#endif /* defined(VK_KHR_external_memory_fd) */ +#if defined(VK_KHR_external_memory_win32) +PFN_vkGetMemoryWin32HandleKHR vkGetMemoryWin32HandleKHR; +PFN_vkGetMemoryWin32HandlePropertiesKHR vkGetMemoryWin32HandlePropertiesKHR; +#endif /* defined(VK_KHR_external_memory_win32) */ +#if defined(VK_KHR_external_semaphore_capabilities) +PFN_vkGetPhysicalDeviceExternalSemaphorePropertiesKHR vkGetPhysicalDeviceExternalSemaphorePropertiesKHR; +#endif /* defined(VK_KHR_external_semaphore_capabilities) */ +#if defined(VK_KHR_external_semaphore_fd) +PFN_vkGetSemaphoreFdKHR vkGetSemaphoreFdKHR; +PFN_vkImportSemaphoreFdKHR vkImportSemaphoreFdKHR; +#endif /* defined(VK_KHR_external_semaphore_fd) */ +#if defined(VK_KHR_external_semaphore_win32) +PFN_vkGetSemaphoreWin32HandleKHR vkGetSemaphoreWin32HandleKHR; +PFN_vkImportSemaphoreWin32HandleKHR vkImportSemaphoreWin32HandleKHR; +#endif /* defined(VK_KHR_external_semaphore_win32) */ +#if defined(VK_KHR_fragment_shading_rate) +PFN_vkCmdSetFragmentShadingRateKHR vkCmdSetFragmentShadingRateKHR; +PFN_vkGetPhysicalDeviceFragmentShadingRatesKHR vkGetPhysicalDeviceFragmentShadingRatesKHR; +#endif /* defined(VK_KHR_fragment_shading_rate) */ +#if defined(VK_KHR_get_display_properties2) +PFN_vkGetDisplayModeProperties2KHR vkGetDisplayModeProperties2KHR; +PFN_vkGetDisplayPlaneCapabilities2KHR vkGetDisplayPlaneCapabilities2KHR; +PFN_vkGetPhysicalDeviceDisplayPlaneProperties2KHR vkGetPhysicalDeviceDisplayPlaneProperties2KHR; +PFN_vkGetPhysicalDeviceDisplayProperties2KHR vkGetPhysicalDeviceDisplayProperties2KHR; +#endif /* defined(VK_KHR_get_display_properties2) */ +#if defined(VK_KHR_get_memory_requirements2) +PFN_vkGetBufferMemoryRequirements2KHR vkGetBufferMemoryRequirements2KHR; +PFN_vkGetImageMemoryRequirements2KHR vkGetImageMemoryRequirements2KHR; +PFN_vkGetImageSparseMemoryRequirements2KHR vkGetImageSparseMemoryRequirements2KHR; +#endif /* defined(VK_KHR_get_memory_requirements2) */ +#if defined(VK_KHR_get_physical_device_properties2) +PFN_vkGetPhysicalDeviceFeatures2KHR vkGetPhysicalDeviceFeatures2KHR; +PFN_vkGetPhysicalDeviceFormatProperties2KHR vkGetPhysicalDeviceFormatProperties2KHR; +PFN_vkGetPhysicalDeviceImageFormatProperties2KHR vkGetPhysicalDeviceImageFormatProperties2KHR; +PFN_vkGetPhysicalDeviceMemoryProperties2KHR vkGetPhysicalDeviceMemoryProperties2KHR; +PFN_vkGetPhysicalDeviceProperties2KHR vkGetPhysicalDeviceProperties2KHR; +PFN_vkGetPhysicalDeviceQueueFamilyProperties2KHR vkGetPhysicalDeviceQueueFamilyProperties2KHR; +PFN_vkGetPhysicalDeviceSparseImageFormatProperties2KHR vkGetPhysicalDeviceSparseImageFormatProperties2KHR; +#endif /* defined(VK_KHR_get_physical_device_properties2) */ +#if defined(VK_KHR_get_surface_capabilities2) +PFN_vkGetPhysicalDeviceSurfaceCapabilities2KHR vkGetPhysicalDeviceSurfaceCapabilities2KHR; +PFN_vkGetPhysicalDeviceSurfaceFormats2KHR vkGetPhysicalDeviceSurfaceFormats2KHR; +#endif /* defined(VK_KHR_get_surface_capabilities2) */ +#if defined(VK_KHR_maintenance1) +PFN_vkTrimCommandPoolKHR vkTrimCommandPoolKHR; +#endif /* defined(VK_KHR_maintenance1) */ +#if defined(VK_KHR_maintenance3) +PFN_vkGetDescriptorSetLayoutSupportKHR vkGetDescriptorSetLayoutSupportKHR; +#endif /* defined(VK_KHR_maintenance3) */ +#if defined(VK_KHR_maintenance4) +PFN_vkGetDeviceBufferMemoryRequirementsKHR vkGetDeviceBufferMemoryRequirementsKHR; +PFN_vkGetDeviceImageMemoryRequirementsKHR vkGetDeviceImageMemoryRequirementsKHR; +PFN_vkGetDeviceImageSparseMemoryRequirementsKHR vkGetDeviceImageSparseMemoryRequirementsKHR; +#endif /* defined(VK_KHR_maintenance4) */ +#if defined(VK_KHR_performance_query) +PFN_vkAcquireProfilingLockKHR vkAcquireProfilingLockKHR; +PFN_vkEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR vkEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR; +PFN_vkGetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR vkGetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR; +PFN_vkReleaseProfilingLockKHR vkReleaseProfilingLockKHR; +#endif /* defined(VK_KHR_performance_query) */ +#if defined(VK_KHR_pipeline_executable_properties) +PFN_vkGetPipelineExecutableInternalRepresentationsKHR vkGetPipelineExecutableInternalRepresentationsKHR; +PFN_vkGetPipelineExecutablePropertiesKHR vkGetPipelineExecutablePropertiesKHR; +PFN_vkGetPipelineExecutableStatisticsKHR vkGetPipelineExecutableStatisticsKHR; +#endif /* defined(VK_KHR_pipeline_executable_properties) */ +#if defined(VK_KHR_present_wait) +PFN_vkWaitForPresentKHR vkWaitForPresentKHR; +#endif /* defined(VK_KHR_present_wait) */ +#if defined(VK_KHR_push_descriptor) +PFN_vkCmdPushDescriptorSetKHR vkCmdPushDescriptorSetKHR; +#endif /* defined(VK_KHR_push_descriptor) */ +#if defined(VK_KHR_ray_tracing_maintenance1) && defined(VK_KHR_ray_tracing_pipeline) +PFN_vkCmdTraceRaysIndirect2KHR vkCmdTraceRaysIndirect2KHR; +#endif /* defined(VK_KHR_ray_tracing_maintenance1) && defined(VK_KHR_ray_tracing_pipeline) */ +#if defined(VK_KHR_ray_tracing_pipeline) +PFN_vkCmdSetRayTracingPipelineStackSizeKHR vkCmdSetRayTracingPipelineStackSizeKHR; +PFN_vkCmdTraceRaysIndirectKHR vkCmdTraceRaysIndirectKHR; +PFN_vkCmdTraceRaysKHR vkCmdTraceRaysKHR; +PFN_vkCreateRayTracingPipelinesKHR vkCreateRayTracingPipelinesKHR; +PFN_vkGetRayTracingCaptureReplayShaderGroupHandlesKHR vkGetRayTracingCaptureReplayShaderGroupHandlesKHR; +PFN_vkGetRayTracingShaderGroupHandlesKHR vkGetRayTracingShaderGroupHandlesKHR; +PFN_vkGetRayTracingShaderGroupStackSizeKHR vkGetRayTracingShaderGroupStackSizeKHR; +#endif /* defined(VK_KHR_ray_tracing_pipeline) */ +#if defined(VK_KHR_sampler_ycbcr_conversion) +PFN_vkCreateSamplerYcbcrConversionKHR vkCreateSamplerYcbcrConversionKHR; +PFN_vkDestroySamplerYcbcrConversionKHR vkDestroySamplerYcbcrConversionKHR; +#endif /* defined(VK_KHR_sampler_ycbcr_conversion) */ +#if defined(VK_KHR_shared_presentable_image) +PFN_vkGetSwapchainStatusKHR vkGetSwapchainStatusKHR; +#endif /* defined(VK_KHR_shared_presentable_image) */ +#if defined(VK_KHR_surface) +PFN_vkDestroySurfaceKHR vkDestroySurfaceKHR; +PFN_vkGetPhysicalDeviceSurfaceCapabilitiesKHR vkGetPhysicalDeviceSurfaceCapabilitiesKHR; +PFN_vkGetPhysicalDeviceSurfaceFormatsKHR vkGetPhysicalDeviceSurfaceFormatsKHR; +PFN_vkGetPhysicalDeviceSurfacePresentModesKHR vkGetPhysicalDeviceSurfacePresentModesKHR; +PFN_vkGetPhysicalDeviceSurfaceSupportKHR vkGetPhysicalDeviceSurfaceSupportKHR; +#endif /* defined(VK_KHR_surface) */ +#if defined(VK_KHR_swapchain) +PFN_vkAcquireNextImageKHR vkAcquireNextImageKHR; +PFN_vkCreateSwapchainKHR vkCreateSwapchainKHR; +PFN_vkDestroySwapchainKHR vkDestroySwapchainKHR; +PFN_vkGetSwapchainImagesKHR vkGetSwapchainImagesKHR; +PFN_vkQueuePresentKHR vkQueuePresentKHR; +#endif /* defined(VK_KHR_swapchain) */ +#if defined(VK_KHR_synchronization2) +PFN_vkCmdPipelineBarrier2KHR vkCmdPipelineBarrier2KHR; +PFN_vkCmdResetEvent2KHR vkCmdResetEvent2KHR; +PFN_vkCmdSetEvent2KHR vkCmdSetEvent2KHR; +PFN_vkCmdWaitEvents2KHR vkCmdWaitEvents2KHR; +PFN_vkCmdWriteTimestamp2KHR vkCmdWriteTimestamp2KHR; +PFN_vkQueueSubmit2KHR vkQueueSubmit2KHR; +#endif /* defined(VK_KHR_synchronization2) */ +#if defined(VK_KHR_synchronization2) && defined(VK_AMD_buffer_marker) +PFN_vkCmdWriteBufferMarker2AMD vkCmdWriteBufferMarker2AMD; +#endif /* defined(VK_KHR_synchronization2) && defined(VK_AMD_buffer_marker) */ +#if defined(VK_KHR_synchronization2) && defined(VK_NV_device_diagnostic_checkpoints) +PFN_vkGetQueueCheckpointData2NV vkGetQueueCheckpointData2NV; +#endif /* defined(VK_KHR_synchronization2) && defined(VK_NV_device_diagnostic_checkpoints) */ +#if defined(VK_KHR_timeline_semaphore) +PFN_vkGetSemaphoreCounterValueKHR vkGetSemaphoreCounterValueKHR; +PFN_vkSignalSemaphoreKHR vkSignalSemaphoreKHR; +PFN_vkWaitSemaphoresKHR vkWaitSemaphoresKHR; +#endif /* defined(VK_KHR_timeline_semaphore) */ +#if defined(VK_KHR_video_decode_queue) +PFN_vkCmdDecodeVideoKHR vkCmdDecodeVideoKHR; +#endif /* defined(VK_KHR_video_decode_queue) */ +#if defined(VK_KHR_video_encode_queue) +PFN_vkCmdEncodeVideoKHR vkCmdEncodeVideoKHR; +#endif /* defined(VK_KHR_video_encode_queue) */ +#if defined(VK_KHR_video_queue) +PFN_vkBindVideoSessionMemoryKHR vkBindVideoSessionMemoryKHR; +PFN_vkCmdBeginVideoCodingKHR vkCmdBeginVideoCodingKHR; +PFN_vkCmdControlVideoCodingKHR vkCmdControlVideoCodingKHR; +PFN_vkCmdEndVideoCodingKHR vkCmdEndVideoCodingKHR; +PFN_vkCreateVideoSessionKHR vkCreateVideoSessionKHR; +PFN_vkCreateVideoSessionParametersKHR vkCreateVideoSessionParametersKHR; +PFN_vkDestroyVideoSessionKHR vkDestroyVideoSessionKHR; +PFN_vkDestroyVideoSessionParametersKHR vkDestroyVideoSessionParametersKHR; +PFN_vkGetPhysicalDeviceVideoCapabilitiesKHR vkGetPhysicalDeviceVideoCapabilitiesKHR; +PFN_vkGetPhysicalDeviceVideoFormatPropertiesKHR vkGetPhysicalDeviceVideoFormatPropertiesKHR; +PFN_vkGetVideoSessionMemoryRequirementsKHR vkGetVideoSessionMemoryRequirementsKHR; +PFN_vkUpdateVideoSessionParametersKHR vkUpdateVideoSessionParametersKHR; +#endif /* defined(VK_KHR_video_queue) */ +#if defined(VK_KHR_wayland_surface) +PFN_vkCreateWaylandSurfaceKHR vkCreateWaylandSurfaceKHR; +PFN_vkGetPhysicalDeviceWaylandPresentationSupportKHR vkGetPhysicalDeviceWaylandPresentationSupportKHR; +#endif /* defined(VK_KHR_wayland_surface) */ +#if defined(VK_KHR_win32_surface) +PFN_vkCreateWin32SurfaceKHR vkCreateWin32SurfaceKHR; +PFN_vkGetPhysicalDeviceWin32PresentationSupportKHR vkGetPhysicalDeviceWin32PresentationSupportKHR; +#endif /* defined(VK_KHR_win32_surface) */ +#if defined(VK_KHR_xcb_surface) +PFN_vkCreateXcbSurfaceKHR vkCreateXcbSurfaceKHR; +PFN_vkGetPhysicalDeviceXcbPresentationSupportKHR vkGetPhysicalDeviceXcbPresentationSupportKHR; +#endif /* defined(VK_KHR_xcb_surface) */ +#if defined(VK_KHR_xlib_surface) +PFN_vkCreateXlibSurfaceKHR vkCreateXlibSurfaceKHR; +PFN_vkGetPhysicalDeviceXlibPresentationSupportKHR vkGetPhysicalDeviceXlibPresentationSupportKHR; +#endif /* defined(VK_KHR_xlib_surface) */ +#if defined(VK_MVK_ios_surface) +PFN_vkCreateIOSSurfaceMVK vkCreateIOSSurfaceMVK; +#endif /* defined(VK_MVK_ios_surface) */ +#if defined(VK_MVK_macos_surface) +PFN_vkCreateMacOSSurfaceMVK vkCreateMacOSSurfaceMVK; +#endif /* defined(VK_MVK_macos_surface) */ +#if defined(VK_NN_vi_surface) +PFN_vkCreateViSurfaceNN vkCreateViSurfaceNN; +#endif /* defined(VK_NN_vi_surface) */ +#if defined(VK_NVX_binary_import) +PFN_vkCmdCuLaunchKernelNVX vkCmdCuLaunchKernelNVX; +PFN_vkCreateCuFunctionNVX vkCreateCuFunctionNVX; +PFN_vkCreateCuModuleNVX vkCreateCuModuleNVX; +PFN_vkDestroyCuFunctionNVX vkDestroyCuFunctionNVX; +PFN_vkDestroyCuModuleNVX vkDestroyCuModuleNVX; +#endif /* defined(VK_NVX_binary_import) */ +#if defined(VK_NVX_image_view_handle) +PFN_vkGetImageViewAddressNVX vkGetImageViewAddressNVX; +PFN_vkGetImageViewHandleNVX vkGetImageViewHandleNVX; +#endif /* defined(VK_NVX_image_view_handle) */ +#if defined(VK_NV_acquire_winrt_display) +PFN_vkAcquireWinrtDisplayNV vkAcquireWinrtDisplayNV; +PFN_vkGetWinrtDisplayNV vkGetWinrtDisplayNV; +#endif /* defined(VK_NV_acquire_winrt_display) */ +#if defined(VK_NV_clip_space_w_scaling) +PFN_vkCmdSetViewportWScalingNV vkCmdSetViewportWScalingNV; +#endif /* defined(VK_NV_clip_space_w_scaling) */ +#if defined(VK_NV_cooperative_matrix) +PFN_vkGetPhysicalDeviceCooperativeMatrixPropertiesNV vkGetPhysicalDeviceCooperativeMatrixPropertiesNV; +#endif /* defined(VK_NV_cooperative_matrix) */ +#if defined(VK_NV_copy_memory_indirect) +PFN_vkCmdCopyMemoryIndirectNV vkCmdCopyMemoryIndirectNV; +PFN_vkCmdCopyMemoryToImageIndirectNV vkCmdCopyMemoryToImageIndirectNV; +#endif /* defined(VK_NV_copy_memory_indirect) */ +#if defined(VK_NV_coverage_reduction_mode) +PFN_vkGetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV vkGetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV; +#endif /* defined(VK_NV_coverage_reduction_mode) */ +#if defined(VK_NV_device_diagnostic_checkpoints) +PFN_vkCmdSetCheckpointNV vkCmdSetCheckpointNV; +PFN_vkGetQueueCheckpointDataNV vkGetQueueCheckpointDataNV; +#endif /* defined(VK_NV_device_diagnostic_checkpoints) */ +#if defined(VK_NV_device_generated_commands) +PFN_vkCmdBindPipelineShaderGroupNV vkCmdBindPipelineShaderGroupNV; +PFN_vkCmdExecuteGeneratedCommandsNV vkCmdExecuteGeneratedCommandsNV; +PFN_vkCmdPreprocessGeneratedCommandsNV vkCmdPreprocessGeneratedCommandsNV; +PFN_vkCreateIndirectCommandsLayoutNV vkCreateIndirectCommandsLayoutNV; +PFN_vkDestroyIndirectCommandsLayoutNV vkDestroyIndirectCommandsLayoutNV; +PFN_vkGetGeneratedCommandsMemoryRequirementsNV vkGetGeneratedCommandsMemoryRequirementsNV; +#endif /* defined(VK_NV_device_generated_commands) */ +#if defined(VK_NV_external_memory_capabilities) +PFN_vkGetPhysicalDeviceExternalImageFormatPropertiesNV vkGetPhysicalDeviceExternalImageFormatPropertiesNV; +#endif /* defined(VK_NV_external_memory_capabilities) */ +#if defined(VK_NV_external_memory_rdma) +PFN_vkGetMemoryRemoteAddressNV vkGetMemoryRemoteAddressNV; +#endif /* defined(VK_NV_external_memory_rdma) */ +#if defined(VK_NV_external_memory_win32) +PFN_vkGetMemoryWin32HandleNV vkGetMemoryWin32HandleNV; +#endif /* defined(VK_NV_external_memory_win32) */ +#if defined(VK_NV_fragment_shading_rate_enums) +PFN_vkCmdSetFragmentShadingRateEnumNV vkCmdSetFragmentShadingRateEnumNV; +#endif /* defined(VK_NV_fragment_shading_rate_enums) */ +#if defined(VK_NV_memory_decompression) +PFN_vkCmdDecompressMemoryIndirectCountNV vkCmdDecompressMemoryIndirectCountNV; +PFN_vkCmdDecompressMemoryNV vkCmdDecompressMemoryNV; +#endif /* defined(VK_NV_memory_decompression) */ +#if defined(VK_NV_mesh_shader) +PFN_vkCmdDrawMeshTasksIndirectCountNV vkCmdDrawMeshTasksIndirectCountNV; +PFN_vkCmdDrawMeshTasksIndirectNV vkCmdDrawMeshTasksIndirectNV; +PFN_vkCmdDrawMeshTasksNV vkCmdDrawMeshTasksNV; +#endif /* defined(VK_NV_mesh_shader) */ +#if defined(VK_NV_optical_flow) +PFN_vkBindOpticalFlowSessionImageNV vkBindOpticalFlowSessionImageNV; +PFN_vkCmdOpticalFlowExecuteNV vkCmdOpticalFlowExecuteNV; +PFN_vkCreateOpticalFlowSessionNV vkCreateOpticalFlowSessionNV; +PFN_vkDestroyOpticalFlowSessionNV vkDestroyOpticalFlowSessionNV; +PFN_vkGetPhysicalDeviceOpticalFlowImageFormatsNV vkGetPhysicalDeviceOpticalFlowImageFormatsNV; +#endif /* defined(VK_NV_optical_flow) */ +#if defined(VK_NV_ray_tracing) +PFN_vkBindAccelerationStructureMemoryNV vkBindAccelerationStructureMemoryNV; +PFN_vkCmdBuildAccelerationStructureNV vkCmdBuildAccelerationStructureNV; +PFN_vkCmdCopyAccelerationStructureNV vkCmdCopyAccelerationStructureNV; +PFN_vkCmdTraceRaysNV vkCmdTraceRaysNV; +PFN_vkCmdWriteAccelerationStructuresPropertiesNV vkCmdWriteAccelerationStructuresPropertiesNV; +PFN_vkCompileDeferredNV vkCompileDeferredNV; +PFN_vkCreateAccelerationStructureNV vkCreateAccelerationStructureNV; +PFN_vkCreateRayTracingPipelinesNV vkCreateRayTracingPipelinesNV; +PFN_vkDestroyAccelerationStructureNV vkDestroyAccelerationStructureNV; +PFN_vkGetAccelerationStructureHandleNV vkGetAccelerationStructureHandleNV; +PFN_vkGetAccelerationStructureMemoryRequirementsNV vkGetAccelerationStructureMemoryRequirementsNV; +PFN_vkGetRayTracingShaderGroupHandlesNV vkGetRayTracingShaderGroupHandlesNV; +#endif /* defined(VK_NV_ray_tracing) */ +#if defined(VK_NV_scissor_exclusive) +PFN_vkCmdSetExclusiveScissorNV vkCmdSetExclusiveScissorNV; +#endif /* defined(VK_NV_scissor_exclusive) */ +#if defined(VK_NV_shading_rate_image) +PFN_vkCmdBindShadingRateImageNV vkCmdBindShadingRateImageNV; +PFN_vkCmdSetCoarseSampleOrderNV vkCmdSetCoarseSampleOrderNV; +PFN_vkCmdSetViewportShadingRatePaletteNV vkCmdSetViewportShadingRatePaletteNV; +#endif /* defined(VK_NV_shading_rate_image) */ +#if defined(VK_QCOM_tile_properties) +PFN_vkGetDynamicRenderingTilePropertiesQCOM vkGetDynamicRenderingTilePropertiesQCOM; +PFN_vkGetFramebufferTilePropertiesQCOM vkGetFramebufferTilePropertiesQCOM; +#endif /* defined(VK_QCOM_tile_properties) */ +#if defined(VK_QNX_screen_surface) +PFN_vkCreateScreenSurfaceQNX vkCreateScreenSurfaceQNX; +PFN_vkGetPhysicalDeviceScreenPresentationSupportQNX vkGetPhysicalDeviceScreenPresentationSupportQNX; +#endif /* defined(VK_QNX_screen_surface) */ +#if defined(VK_VALVE_descriptor_set_host_mapping) +PFN_vkGetDescriptorSetHostMappingVALVE vkGetDescriptorSetHostMappingVALVE; +PFN_vkGetDescriptorSetLayoutHostMappingInfoVALVE vkGetDescriptorSetLayoutHostMappingInfoVALVE; +#endif /* defined(VK_VALVE_descriptor_set_host_mapping) */ +#if (defined(VK_EXT_full_screen_exclusive) && defined(VK_KHR_device_group)) || (defined(VK_EXT_full_screen_exclusive) && defined(VK_VERSION_1_1)) +PFN_vkGetDeviceGroupSurfacePresentModes2EXT vkGetDeviceGroupSurfacePresentModes2EXT; +#endif /* (defined(VK_EXT_full_screen_exclusive) && defined(VK_KHR_device_group)) || (defined(VK_EXT_full_screen_exclusive) && defined(VK_VERSION_1_1)) */ +#if (defined(VK_KHR_descriptor_update_template) && defined(VK_KHR_push_descriptor)) || (defined(VK_KHR_push_descriptor) && defined(VK_VERSION_1_1)) || (defined(VK_KHR_push_descriptor) && defined(VK_KHR_descriptor_update_template)) +PFN_vkCmdPushDescriptorSetWithTemplateKHR vkCmdPushDescriptorSetWithTemplateKHR; +#endif /* (defined(VK_KHR_descriptor_update_template) && defined(VK_KHR_push_descriptor)) || (defined(VK_KHR_push_descriptor) && defined(VK_VERSION_1_1)) || (defined(VK_KHR_push_descriptor) && defined(VK_KHR_descriptor_update_template)) */ +#if (defined(VK_KHR_device_group) && defined(VK_KHR_surface)) || (defined(VK_KHR_swapchain) && defined(VK_VERSION_1_1)) +PFN_vkGetDeviceGroupPresentCapabilitiesKHR vkGetDeviceGroupPresentCapabilitiesKHR; +PFN_vkGetDeviceGroupSurfacePresentModesKHR vkGetDeviceGroupSurfacePresentModesKHR; +PFN_vkGetPhysicalDevicePresentRectanglesKHR vkGetPhysicalDevicePresentRectanglesKHR; +#endif /* (defined(VK_KHR_device_group) && defined(VK_KHR_surface)) || (defined(VK_KHR_swapchain) && defined(VK_VERSION_1_1)) */ +#if (defined(VK_KHR_device_group) && defined(VK_KHR_swapchain)) || (defined(VK_KHR_swapchain) && defined(VK_VERSION_1_1)) +PFN_vkAcquireNextImage2KHR vkAcquireNextImage2KHR; +#endif /* (defined(VK_KHR_device_group) && defined(VK_KHR_swapchain)) || (defined(VK_KHR_swapchain) && defined(VK_VERSION_1_1)) */ +/* VOLK_GENERATE_PROTOTYPES_C */ + +#ifdef __GNUC__ +# pragma GCC visibility pop +#endif + +#ifdef __cplusplus +} +#endif +/* clang-format on */ diff --git a/MacroLibX/third_party/volk.h b/MacroLibX/third_party/volk.h new file mode 100644 index 0000000..c1feea5 --- /dev/null +++ b/MacroLibX/third_party/volk.h @@ -0,0 +1,1805 @@ +/** + * volk + * + * Copyright (C) 2018-2022, by Arseny Kapoulkine (arseny.kapoulkine@gmail.com) + * Report bugs and download new versions at https://github.com/zeux/volk + * + * This library is distributed under the MIT License. See notice at the end of this file. + */ +/* clang-format off */ +#ifndef VOLK_H_ +#define VOLK_H_ + +#if defined(VULKAN_H_) && !defined(VK_NO_PROTOTYPES) +# error To use volk, you need to define VK_NO_PROTOTYPES before including vulkan.h +#endif + +/* VOLK_GENERATE_VERSION_DEFINE */ +#define VOLK_HEADER_VERSION 237 +/* VOLK_GENERATE_VERSION_DEFINE */ + +#ifndef VK_NO_PROTOTYPES +# define VK_NO_PROTOTYPES +#endif + +#ifndef VULKAN_H_ +# ifdef VOLK_VULKAN_H_PATH +# include VOLK_VULKAN_H_PATH +# elif defined(VK_USE_PLATFORM_WIN32_KHR) +# include +# include + + /* When VK_USE_PLATFORM_WIN32_KHR is defined, instead of including vulkan.h directly, we include individual parts of the SDK + * This is necessary to avoid including which is very heavy - it takes 200ms to parse without WIN32_LEAN_AND_MEAN + * and 100ms to parse with it. vulkan_win32.h only needs a few symbols that are easy to redefine ourselves. + */ + typedef unsigned long DWORD; + typedef const wchar_t* LPCWSTR; + typedef void* HANDLE; + typedef struct HINSTANCE__* HINSTANCE; + typedef struct HWND__* HWND; + typedef struct HMONITOR__* HMONITOR; + typedef struct _SECURITY_ATTRIBUTES SECURITY_ATTRIBUTES; + +# include + +# ifdef VK_ENABLE_BETA_EXTENSIONS +# include +# endif +# else +# include +# endif +#endif + +/* Disable several extensions on earlier SDKs because later SDKs introduce a backwards incompatible change to function signatures */ +#if VK_HEADER_VERSION < 140 +# undef VK_NVX_image_view_handle +#endif +#if VK_HEADER_VERSION < 184 +# undef VK_HUAWEI_subpass_shading +#endif + +#ifdef __cplusplus +extern "C" { +#endif + +struct VolkDeviceTable; + +/** + * Initialize library by loading Vulkan loader; call this function before creating the Vulkan instance. + * + * Returns VK_SUCCESS on success and VK_ERROR_INITIALIZATION_FAILED otherwise. + */ +VkResult volkInitialize(void); + +/** + * Initialize library by providing a custom handler to load global symbols. + * + * This function can be used instead of volkInitialize. + * The handler function pointer will be asked to load global Vulkan symbols which require no instance + * (such as vkCreateInstance, vkEnumerateInstance* and vkEnumerateInstanceVersion if available). + */ +void volkInitializeCustom(PFN_vkGetInstanceProcAddr handler); + +/** + * Get Vulkan instance version supported by the Vulkan loader, or 0 if Vulkan isn't supported + * + * Returns 0 if volkInitialize wasn't called or failed. + */ +uint32_t volkGetInstanceVersion(void); + +/** + * Load global function pointers using application-created VkInstance; call this function after creating the Vulkan instance. + */ +void volkLoadInstance(VkInstance instance); + +/** + * Load global function pointers using application-created VkInstance; call this function after creating the Vulkan instance. + * Skips loading device-based function pointers, requires usage of volkLoadDevice afterwards. + */ +void volkLoadInstanceOnly(VkInstance instance); + +/** + * Load global function pointers using application-created VkDevice; call this function after creating the Vulkan device. + * + * Note: this is not suitable for applications that want to use multiple VkDevice objects concurrently. + */ +void volkLoadDevice(VkDevice device); + +/** + * Return last VkInstance for which global function pointers have been loaded via volkLoadInstance(), + * or VK_NULL_HANDLE if volkLoadInstance() has not been called. + */ +VkInstance volkGetLoadedInstance(void); + +/** + * Return last VkDevice for which global function pointers have been loaded via volkLoadDevice(), + * or VK_NULL_HANDLE if volkLoadDevice() has not been called. + */ +VkDevice volkGetLoadedDevice(void); + +/** + * Load function pointers using application-created VkDevice into a table. + * Application should use function pointers from that table instead of using global function pointers. + */ +void volkLoadDeviceTable(struct VolkDeviceTable* table, VkDevice device); + +/** + * Device-specific function pointer table + */ +struct VolkDeviceTable +{ + /* VOLK_GENERATE_DEVICE_TABLE */ +#if defined(VK_VERSION_1_0) + PFN_vkAllocateCommandBuffers vkAllocateCommandBuffers; + PFN_vkAllocateDescriptorSets vkAllocateDescriptorSets; + PFN_vkAllocateMemory vkAllocateMemory; + PFN_vkBeginCommandBuffer vkBeginCommandBuffer; + PFN_vkBindBufferMemory vkBindBufferMemory; + PFN_vkBindImageMemory vkBindImageMemory; + PFN_vkCmdBeginQuery vkCmdBeginQuery; + PFN_vkCmdBeginRenderPass vkCmdBeginRenderPass; + PFN_vkCmdBindDescriptorSets vkCmdBindDescriptorSets; + PFN_vkCmdBindIndexBuffer vkCmdBindIndexBuffer; + PFN_vkCmdBindPipeline vkCmdBindPipeline; + PFN_vkCmdBindVertexBuffers vkCmdBindVertexBuffers; + PFN_vkCmdBlitImage vkCmdBlitImage; + PFN_vkCmdClearAttachments vkCmdClearAttachments; + PFN_vkCmdClearColorImage vkCmdClearColorImage; + PFN_vkCmdClearDepthStencilImage vkCmdClearDepthStencilImage; + PFN_vkCmdCopyBuffer vkCmdCopyBuffer; + PFN_vkCmdCopyBufferToImage vkCmdCopyBufferToImage; + PFN_vkCmdCopyImage vkCmdCopyImage; + PFN_vkCmdCopyImageToBuffer vkCmdCopyImageToBuffer; + PFN_vkCmdCopyQueryPoolResults vkCmdCopyQueryPoolResults; + PFN_vkCmdDispatch vkCmdDispatch; + PFN_vkCmdDispatchIndirect vkCmdDispatchIndirect; + PFN_vkCmdDraw vkCmdDraw; + PFN_vkCmdDrawIndexed vkCmdDrawIndexed; + PFN_vkCmdDrawIndexedIndirect vkCmdDrawIndexedIndirect; + PFN_vkCmdDrawIndirect vkCmdDrawIndirect; + PFN_vkCmdEndQuery vkCmdEndQuery; + PFN_vkCmdEndRenderPass vkCmdEndRenderPass; + PFN_vkCmdExecuteCommands vkCmdExecuteCommands; + PFN_vkCmdFillBuffer vkCmdFillBuffer; + PFN_vkCmdNextSubpass vkCmdNextSubpass; + PFN_vkCmdPipelineBarrier vkCmdPipelineBarrier; + PFN_vkCmdPushConstants vkCmdPushConstants; + PFN_vkCmdResetEvent vkCmdResetEvent; + PFN_vkCmdResetQueryPool vkCmdResetQueryPool; + PFN_vkCmdResolveImage vkCmdResolveImage; + PFN_vkCmdSetBlendConstants vkCmdSetBlendConstants; + PFN_vkCmdSetDepthBias vkCmdSetDepthBias; + PFN_vkCmdSetDepthBounds vkCmdSetDepthBounds; + PFN_vkCmdSetEvent vkCmdSetEvent; + PFN_vkCmdSetLineWidth vkCmdSetLineWidth; + PFN_vkCmdSetScissor vkCmdSetScissor; + PFN_vkCmdSetStencilCompareMask vkCmdSetStencilCompareMask; + PFN_vkCmdSetStencilReference vkCmdSetStencilReference; + PFN_vkCmdSetStencilWriteMask vkCmdSetStencilWriteMask; + PFN_vkCmdSetViewport vkCmdSetViewport; + PFN_vkCmdUpdateBuffer vkCmdUpdateBuffer; + PFN_vkCmdWaitEvents vkCmdWaitEvents; + PFN_vkCmdWriteTimestamp vkCmdWriteTimestamp; + PFN_vkCreateBuffer vkCreateBuffer; + PFN_vkCreateBufferView vkCreateBufferView; + PFN_vkCreateCommandPool vkCreateCommandPool; + PFN_vkCreateComputePipelines vkCreateComputePipelines; + PFN_vkCreateDescriptorPool vkCreateDescriptorPool; + PFN_vkCreateDescriptorSetLayout vkCreateDescriptorSetLayout; + PFN_vkCreateEvent vkCreateEvent; + PFN_vkCreateFence vkCreateFence; + PFN_vkCreateFramebuffer vkCreateFramebuffer; + PFN_vkCreateGraphicsPipelines vkCreateGraphicsPipelines; + PFN_vkCreateImage vkCreateImage; + PFN_vkCreateImageView vkCreateImageView; + PFN_vkCreatePipelineCache vkCreatePipelineCache; + PFN_vkCreatePipelineLayout vkCreatePipelineLayout; + PFN_vkCreateQueryPool vkCreateQueryPool; + PFN_vkCreateRenderPass vkCreateRenderPass; + PFN_vkCreateSampler vkCreateSampler; + PFN_vkCreateSemaphore vkCreateSemaphore; + PFN_vkCreateShaderModule vkCreateShaderModule; + PFN_vkDestroyBuffer vkDestroyBuffer; + PFN_vkDestroyBufferView vkDestroyBufferView; + PFN_vkDestroyCommandPool vkDestroyCommandPool; + PFN_vkDestroyDescriptorPool vkDestroyDescriptorPool; + PFN_vkDestroyDescriptorSetLayout vkDestroyDescriptorSetLayout; + PFN_vkDestroyDevice vkDestroyDevice; + PFN_vkDestroyEvent vkDestroyEvent; + PFN_vkDestroyFence vkDestroyFence; + PFN_vkDestroyFramebuffer vkDestroyFramebuffer; + PFN_vkDestroyImage vkDestroyImage; + PFN_vkDestroyImageView vkDestroyImageView; + PFN_vkDestroyPipeline vkDestroyPipeline; + PFN_vkDestroyPipelineCache vkDestroyPipelineCache; + PFN_vkDestroyPipelineLayout vkDestroyPipelineLayout; + PFN_vkDestroyQueryPool vkDestroyQueryPool; + PFN_vkDestroyRenderPass vkDestroyRenderPass; + PFN_vkDestroySampler vkDestroySampler; + PFN_vkDestroySemaphore vkDestroySemaphore; + PFN_vkDestroyShaderModule vkDestroyShaderModule; + PFN_vkDeviceWaitIdle vkDeviceWaitIdle; + PFN_vkEndCommandBuffer vkEndCommandBuffer; + PFN_vkFlushMappedMemoryRanges vkFlushMappedMemoryRanges; + PFN_vkFreeCommandBuffers vkFreeCommandBuffers; + PFN_vkFreeDescriptorSets vkFreeDescriptorSets; + PFN_vkFreeMemory vkFreeMemory; + PFN_vkGetBufferMemoryRequirements vkGetBufferMemoryRequirements; + PFN_vkGetDeviceMemoryCommitment vkGetDeviceMemoryCommitment; + PFN_vkGetDeviceQueue vkGetDeviceQueue; + PFN_vkGetEventStatus vkGetEventStatus; + PFN_vkGetFenceStatus vkGetFenceStatus; + PFN_vkGetImageMemoryRequirements vkGetImageMemoryRequirements; + PFN_vkGetImageSparseMemoryRequirements vkGetImageSparseMemoryRequirements; + PFN_vkGetImageSubresourceLayout vkGetImageSubresourceLayout; + PFN_vkGetPipelineCacheData vkGetPipelineCacheData; + PFN_vkGetQueryPoolResults vkGetQueryPoolResults; + PFN_vkGetRenderAreaGranularity vkGetRenderAreaGranularity; + PFN_vkInvalidateMappedMemoryRanges vkInvalidateMappedMemoryRanges; + PFN_vkMapMemory vkMapMemory; + PFN_vkMergePipelineCaches vkMergePipelineCaches; + PFN_vkQueueBindSparse vkQueueBindSparse; + PFN_vkQueueSubmit vkQueueSubmit; + PFN_vkQueueWaitIdle vkQueueWaitIdle; + PFN_vkResetCommandBuffer vkResetCommandBuffer; + PFN_vkResetCommandPool vkResetCommandPool; + PFN_vkResetDescriptorPool vkResetDescriptorPool; + PFN_vkResetEvent vkResetEvent; + PFN_vkResetFences vkResetFences; + PFN_vkSetEvent vkSetEvent; + PFN_vkUnmapMemory vkUnmapMemory; + PFN_vkUpdateDescriptorSets vkUpdateDescriptorSets; + PFN_vkWaitForFences vkWaitForFences; +#endif /* defined(VK_VERSION_1_0) */ +#if defined(VK_VERSION_1_1) + PFN_vkBindBufferMemory2 vkBindBufferMemory2; + PFN_vkBindImageMemory2 vkBindImageMemory2; + PFN_vkCmdDispatchBase vkCmdDispatchBase; + PFN_vkCmdSetDeviceMask vkCmdSetDeviceMask; + PFN_vkCreateDescriptorUpdateTemplate vkCreateDescriptorUpdateTemplate; + PFN_vkCreateSamplerYcbcrConversion vkCreateSamplerYcbcrConversion; + PFN_vkDestroyDescriptorUpdateTemplate vkDestroyDescriptorUpdateTemplate; + PFN_vkDestroySamplerYcbcrConversion vkDestroySamplerYcbcrConversion; + PFN_vkGetBufferMemoryRequirements2 vkGetBufferMemoryRequirements2; + PFN_vkGetDescriptorSetLayoutSupport vkGetDescriptorSetLayoutSupport; + PFN_vkGetDeviceGroupPeerMemoryFeatures vkGetDeviceGroupPeerMemoryFeatures; + PFN_vkGetDeviceQueue2 vkGetDeviceQueue2; + PFN_vkGetImageMemoryRequirements2 vkGetImageMemoryRequirements2; + PFN_vkGetImageSparseMemoryRequirements2 vkGetImageSparseMemoryRequirements2; + PFN_vkTrimCommandPool vkTrimCommandPool; + PFN_vkUpdateDescriptorSetWithTemplate vkUpdateDescriptorSetWithTemplate; +#endif /* defined(VK_VERSION_1_1) */ +#if defined(VK_VERSION_1_2) + PFN_vkCmdBeginRenderPass2 vkCmdBeginRenderPass2; + PFN_vkCmdDrawIndexedIndirectCount vkCmdDrawIndexedIndirectCount; + PFN_vkCmdDrawIndirectCount vkCmdDrawIndirectCount; + PFN_vkCmdEndRenderPass2 vkCmdEndRenderPass2; + PFN_vkCmdNextSubpass2 vkCmdNextSubpass2; + PFN_vkCreateRenderPass2 vkCreateRenderPass2; + PFN_vkGetBufferDeviceAddress vkGetBufferDeviceAddress; + PFN_vkGetBufferOpaqueCaptureAddress vkGetBufferOpaqueCaptureAddress; + PFN_vkGetDeviceMemoryOpaqueCaptureAddress vkGetDeviceMemoryOpaqueCaptureAddress; + PFN_vkGetSemaphoreCounterValue vkGetSemaphoreCounterValue; + PFN_vkResetQueryPool vkResetQueryPool; + PFN_vkSignalSemaphore vkSignalSemaphore; + PFN_vkWaitSemaphores vkWaitSemaphores; +#endif /* defined(VK_VERSION_1_2) */ +#if defined(VK_VERSION_1_3) + PFN_vkCmdBeginRendering vkCmdBeginRendering; + PFN_vkCmdBindVertexBuffers2 vkCmdBindVertexBuffers2; + PFN_vkCmdBlitImage2 vkCmdBlitImage2; + PFN_vkCmdCopyBuffer2 vkCmdCopyBuffer2; + PFN_vkCmdCopyBufferToImage2 vkCmdCopyBufferToImage2; + PFN_vkCmdCopyImage2 vkCmdCopyImage2; + PFN_vkCmdCopyImageToBuffer2 vkCmdCopyImageToBuffer2; + PFN_vkCmdEndRendering vkCmdEndRendering; + PFN_vkCmdPipelineBarrier2 vkCmdPipelineBarrier2; + PFN_vkCmdResetEvent2 vkCmdResetEvent2; + PFN_vkCmdResolveImage2 vkCmdResolveImage2; + PFN_vkCmdSetCullMode vkCmdSetCullMode; + PFN_vkCmdSetDepthBiasEnable vkCmdSetDepthBiasEnable; + PFN_vkCmdSetDepthBoundsTestEnable vkCmdSetDepthBoundsTestEnable; + PFN_vkCmdSetDepthCompareOp vkCmdSetDepthCompareOp; + PFN_vkCmdSetDepthTestEnable vkCmdSetDepthTestEnable; + PFN_vkCmdSetDepthWriteEnable vkCmdSetDepthWriteEnable; + PFN_vkCmdSetEvent2 vkCmdSetEvent2; + PFN_vkCmdSetFrontFace vkCmdSetFrontFace; + PFN_vkCmdSetPrimitiveRestartEnable vkCmdSetPrimitiveRestartEnable; + PFN_vkCmdSetPrimitiveTopology vkCmdSetPrimitiveTopology; + PFN_vkCmdSetRasterizerDiscardEnable vkCmdSetRasterizerDiscardEnable; + PFN_vkCmdSetScissorWithCount vkCmdSetScissorWithCount; + PFN_vkCmdSetStencilOp vkCmdSetStencilOp; + PFN_vkCmdSetStencilTestEnable vkCmdSetStencilTestEnable; + PFN_vkCmdSetViewportWithCount vkCmdSetViewportWithCount; + PFN_vkCmdWaitEvents2 vkCmdWaitEvents2; + PFN_vkCmdWriteTimestamp2 vkCmdWriteTimestamp2; + PFN_vkCreatePrivateDataSlot vkCreatePrivateDataSlot; + PFN_vkDestroyPrivateDataSlot vkDestroyPrivateDataSlot; + PFN_vkGetDeviceBufferMemoryRequirements vkGetDeviceBufferMemoryRequirements; + PFN_vkGetDeviceImageMemoryRequirements vkGetDeviceImageMemoryRequirements; + PFN_vkGetDeviceImageSparseMemoryRequirements vkGetDeviceImageSparseMemoryRequirements; + PFN_vkGetPrivateData vkGetPrivateData; + PFN_vkQueueSubmit2 vkQueueSubmit2; + PFN_vkSetPrivateData vkSetPrivateData; +#endif /* defined(VK_VERSION_1_3) */ +#if defined(VK_AMD_buffer_marker) + PFN_vkCmdWriteBufferMarkerAMD vkCmdWriteBufferMarkerAMD; +#endif /* defined(VK_AMD_buffer_marker) */ +#if defined(VK_AMD_display_native_hdr) + PFN_vkSetLocalDimmingAMD vkSetLocalDimmingAMD; +#endif /* defined(VK_AMD_display_native_hdr) */ +#if defined(VK_AMD_draw_indirect_count) + PFN_vkCmdDrawIndexedIndirectCountAMD vkCmdDrawIndexedIndirectCountAMD; + PFN_vkCmdDrawIndirectCountAMD vkCmdDrawIndirectCountAMD; +#endif /* defined(VK_AMD_draw_indirect_count) */ +#if defined(VK_AMD_shader_info) + PFN_vkGetShaderInfoAMD vkGetShaderInfoAMD; +#endif /* defined(VK_AMD_shader_info) */ +#if defined(VK_ANDROID_external_memory_android_hardware_buffer) + PFN_vkGetAndroidHardwareBufferPropertiesANDROID vkGetAndroidHardwareBufferPropertiesANDROID; + PFN_vkGetMemoryAndroidHardwareBufferANDROID vkGetMemoryAndroidHardwareBufferANDROID; +#endif /* defined(VK_ANDROID_external_memory_android_hardware_buffer) */ +#if defined(VK_EXT_buffer_device_address) + PFN_vkGetBufferDeviceAddressEXT vkGetBufferDeviceAddressEXT; +#endif /* defined(VK_EXT_buffer_device_address) */ +#if defined(VK_EXT_calibrated_timestamps) + PFN_vkGetCalibratedTimestampsEXT vkGetCalibratedTimestampsEXT; +#endif /* defined(VK_EXT_calibrated_timestamps) */ +#if defined(VK_EXT_color_write_enable) + PFN_vkCmdSetColorWriteEnableEXT vkCmdSetColorWriteEnableEXT; +#endif /* defined(VK_EXT_color_write_enable) */ +#if defined(VK_EXT_conditional_rendering) + PFN_vkCmdBeginConditionalRenderingEXT vkCmdBeginConditionalRenderingEXT; + PFN_vkCmdEndConditionalRenderingEXT vkCmdEndConditionalRenderingEXT; +#endif /* defined(VK_EXT_conditional_rendering) */ +#if defined(VK_EXT_debug_marker) + PFN_vkCmdDebugMarkerBeginEXT vkCmdDebugMarkerBeginEXT; + PFN_vkCmdDebugMarkerEndEXT vkCmdDebugMarkerEndEXT; + PFN_vkCmdDebugMarkerInsertEXT vkCmdDebugMarkerInsertEXT; + PFN_vkDebugMarkerSetObjectNameEXT vkDebugMarkerSetObjectNameEXT; + PFN_vkDebugMarkerSetObjectTagEXT vkDebugMarkerSetObjectTagEXT; +#endif /* defined(VK_EXT_debug_marker) */ +#if defined(VK_EXT_descriptor_buffer) + PFN_vkCmdBindDescriptorBufferEmbeddedSamplersEXT vkCmdBindDescriptorBufferEmbeddedSamplersEXT; + PFN_vkCmdBindDescriptorBuffersEXT vkCmdBindDescriptorBuffersEXT; + PFN_vkCmdSetDescriptorBufferOffsetsEXT vkCmdSetDescriptorBufferOffsetsEXT; + PFN_vkGetBufferOpaqueCaptureDescriptorDataEXT vkGetBufferOpaqueCaptureDescriptorDataEXT; + PFN_vkGetDescriptorEXT vkGetDescriptorEXT; + PFN_vkGetDescriptorSetLayoutBindingOffsetEXT vkGetDescriptorSetLayoutBindingOffsetEXT; + PFN_vkGetDescriptorSetLayoutSizeEXT vkGetDescriptorSetLayoutSizeEXT; + PFN_vkGetImageOpaqueCaptureDescriptorDataEXT vkGetImageOpaqueCaptureDescriptorDataEXT; + PFN_vkGetImageViewOpaqueCaptureDescriptorDataEXT vkGetImageViewOpaqueCaptureDescriptorDataEXT; + PFN_vkGetSamplerOpaqueCaptureDescriptorDataEXT vkGetSamplerOpaqueCaptureDescriptorDataEXT; +#endif /* defined(VK_EXT_descriptor_buffer) */ +#if defined(VK_EXT_descriptor_buffer) && defined(VK_KHR_acceleration_structure) && defined(VK_NV_ray_tracing) + PFN_vkGetAccelerationStructureOpaqueCaptureDescriptorDataEXT vkGetAccelerationStructureOpaqueCaptureDescriptorDataEXT; +#endif /* defined(VK_EXT_descriptor_buffer) && defined(VK_KHR_acceleration_structure) && defined(VK_NV_ray_tracing) */ +#if defined(VK_EXT_device_fault) + PFN_vkGetDeviceFaultInfoEXT vkGetDeviceFaultInfoEXT; +#endif /* defined(VK_EXT_device_fault) */ +#if defined(VK_EXT_discard_rectangles) + PFN_vkCmdSetDiscardRectangleEXT vkCmdSetDiscardRectangleEXT; +#endif /* defined(VK_EXT_discard_rectangles) */ +#if defined(VK_EXT_display_control) + PFN_vkDisplayPowerControlEXT vkDisplayPowerControlEXT; + PFN_vkGetSwapchainCounterEXT vkGetSwapchainCounterEXT; + PFN_vkRegisterDeviceEventEXT vkRegisterDeviceEventEXT; + PFN_vkRegisterDisplayEventEXT vkRegisterDisplayEventEXT; +#endif /* defined(VK_EXT_display_control) */ +#if defined(VK_EXT_extended_dynamic_state) + PFN_vkCmdBindVertexBuffers2EXT vkCmdBindVertexBuffers2EXT; + PFN_vkCmdSetCullModeEXT vkCmdSetCullModeEXT; + PFN_vkCmdSetDepthBoundsTestEnableEXT vkCmdSetDepthBoundsTestEnableEXT; + PFN_vkCmdSetDepthCompareOpEXT vkCmdSetDepthCompareOpEXT; + PFN_vkCmdSetDepthTestEnableEXT vkCmdSetDepthTestEnableEXT; + PFN_vkCmdSetDepthWriteEnableEXT vkCmdSetDepthWriteEnableEXT; + PFN_vkCmdSetFrontFaceEXT vkCmdSetFrontFaceEXT; + PFN_vkCmdSetPrimitiveTopologyEXT vkCmdSetPrimitiveTopologyEXT; + PFN_vkCmdSetScissorWithCountEXT vkCmdSetScissorWithCountEXT; + PFN_vkCmdSetStencilOpEXT vkCmdSetStencilOpEXT; + PFN_vkCmdSetStencilTestEnableEXT vkCmdSetStencilTestEnableEXT; + PFN_vkCmdSetViewportWithCountEXT vkCmdSetViewportWithCountEXT; +#endif /* defined(VK_EXT_extended_dynamic_state) */ +#if defined(VK_EXT_extended_dynamic_state2) + PFN_vkCmdSetDepthBiasEnableEXT vkCmdSetDepthBiasEnableEXT; + PFN_vkCmdSetLogicOpEXT vkCmdSetLogicOpEXT; + PFN_vkCmdSetPatchControlPointsEXT vkCmdSetPatchControlPointsEXT; + PFN_vkCmdSetPrimitiveRestartEnableEXT vkCmdSetPrimitiveRestartEnableEXT; + PFN_vkCmdSetRasterizerDiscardEnableEXT vkCmdSetRasterizerDiscardEnableEXT; +#endif /* defined(VK_EXT_extended_dynamic_state2) */ +#if defined(VK_EXT_extended_dynamic_state3) + PFN_vkCmdSetAlphaToCoverageEnableEXT vkCmdSetAlphaToCoverageEnableEXT; + PFN_vkCmdSetAlphaToOneEnableEXT vkCmdSetAlphaToOneEnableEXT; + PFN_vkCmdSetColorBlendAdvancedEXT vkCmdSetColorBlendAdvancedEXT; + PFN_vkCmdSetColorBlendEnableEXT vkCmdSetColorBlendEnableEXT; + PFN_vkCmdSetColorBlendEquationEXT vkCmdSetColorBlendEquationEXT; + PFN_vkCmdSetColorWriteMaskEXT vkCmdSetColorWriteMaskEXT; + PFN_vkCmdSetConservativeRasterizationModeEXT vkCmdSetConservativeRasterizationModeEXT; + PFN_vkCmdSetCoverageModulationModeNV vkCmdSetCoverageModulationModeNV; + PFN_vkCmdSetCoverageModulationTableEnableNV vkCmdSetCoverageModulationTableEnableNV; + PFN_vkCmdSetCoverageModulationTableNV vkCmdSetCoverageModulationTableNV; + PFN_vkCmdSetCoverageReductionModeNV vkCmdSetCoverageReductionModeNV; + PFN_vkCmdSetCoverageToColorEnableNV vkCmdSetCoverageToColorEnableNV; + PFN_vkCmdSetCoverageToColorLocationNV vkCmdSetCoverageToColorLocationNV; + PFN_vkCmdSetDepthClampEnableEXT vkCmdSetDepthClampEnableEXT; + PFN_vkCmdSetDepthClipEnableEXT vkCmdSetDepthClipEnableEXT; + PFN_vkCmdSetDepthClipNegativeOneToOneEXT vkCmdSetDepthClipNegativeOneToOneEXT; + PFN_vkCmdSetExtraPrimitiveOverestimationSizeEXT vkCmdSetExtraPrimitiveOverestimationSizeEXT; + PFN_vkCmdSetLineRasterizationModeEXT vkCmdSetLineRasterizationModeEXT; + PFN_vkCmdSetLineStippleEnableEXT vkCmdSetLineStippleEnableEXT; + PFN_vkCmdSetLogicOpEnableEXT vkCmdSetLogicOpEnableEXT; + PFN_vkCmdSetPolygonModeEXT vkCmdSetPolygonModeEXT; + PFN_vkCmdSetProvokingVertexModeEXT vkCmdSetProvokingVertexModeEXT; + PFN_vkCmdSetRasterizationSamplesEXT vkCmdSetRasterizationSamplesEXT; + PFN_vkCmdSetRasterizationStreamEXT vkCmdSetRasterizationStreamEXT; + PFN_vkCmdSetRepresentativeFragmentTestEnableNV vkCmdSetRepresentativeFragmentTestEnableNV; + PFN_vkCmdSetSampleLocationsEnableEXT vkCmdSetSampleLocationsEnableEXT; + PFN_vkCmdSetSampleMaskEXT vkCmdSetSampleMaskEXT; + PFN_vkCmdSetShadingRateImageEnableNV vkCmdSetShadingRateImageEnableNV; + PFN_vkCmdSetTessellationDomainOriginEXT vkCmdSetTessellationDomainOriginEXT; + PFN_vkCmdSetViewportSwizzleNV vkCmdSetViewportSwizzleNV; + PFN_vkCmdSetViewportWScalingEnableNV vkCmdSetViewportWScalingEnableNV; +#endif /* defined(VK_EXT_extended_dynamic_state3) */ +#if defined(VK_EXT_external_memory_host) + PFN_vkGetMemoryHostPointerPropertiesEXT vkGetMemoryHostPointerPropertiesEXT; +#endif /* defined(VK_EXT_external_memory_host) */ +#if defined(VK_EXT_full_screen_exclusive) + PFN_vkAcquireFullScreenExclusiveModeEXT vkAcquireFullScreenExclusiveModeEXT; + PFN_vkReleaseFullScreenExclusiveModeEXT vkReleaseFullScreenExclusiveModeEXT; +#endif /* defined(VK_EXT_full_screen_exclusive) */ +#if defined(VK_EXT_hdr_metadata) + PFN_vkSetHdrMetadataEXT vkSetHdrMetadataEXT; +#endif /* defined(VK_EXT_hdr_metadata) */ +#if defined(VK_EXT_host_query_reset) + PFN_vkResetQueryPoolEXT vkResetQueryPoolEXT; +#endif /* defined(VK_EXT_host_query_reset) */ +#if defined(VK_EXT_image_compression_control) + PFN_vkGetImageSubresourceLayout2EXT vkGetImageSubresourceLayout2EXT; +#endif /* defined(VK_EXT_image_compression_control) */ +#if defined(VK_EXT_image_drm_format_modifier) + PFN_vkGetImageDrmFormatModifierPropertiesEXT vkGetImageDrmFormatModifierPropertiesEXT; +#endif /* defined(VK_EXT_image_drm_format_modifier) */ +#if defined(VK_EXT_line_rasterization) + PFN_vkCmdSetLineStippleEXT vkCmdSetLineStippleEXT; +#endif /* defined(VK_EXT_line_rasterization) */ +#if defined(VK_EXT_mesh_shader) + PFN_vkCmdDrawMeshTasksEXT vkCmdDrawMeshTasksEXT; + PFN_vkCmdDrawMeshTasksIndirectCountEXT vkCmdDrawMeshTasksIndirectCountEXT; + PFN_vkCmdDrawMeshTasksIndirectEXT vkCmdDrawMeshTasksIndirectEXT; +#endif /* defined(VK_EXT_mesh_shader) */ +#if defined(VK_EXT_metal_objects) + PFN_vkExportMetalObjectsEXT vkExportMetalObjectsEXT; +#endif /* defined(VK_EXT_metal_objects) */ +#if defined(VK_EXT_multi_draw) + PFN_vkCmdDrawMultiEXT vkCmdDrawMultiEXT; + PFN_vkCmdDrawMultiIndexedEXT vkCmdDrawMultiIndexedEXT; +#endif /* defined(VK_EXT_multi_draw) */ +#if defined(VK_EXT_opacity_micromap) + PFN_vkBuildMicromapsEXT vkBuildMicromapsEXT; + PFN_vkCmdBuildMicromapsEXT vkCmdBuildMicromapsEXT; + PFN_vkCmdCopyMemoryToMicromapEXT vkCmdCopyMemoryToMicromapEXT; + PFN_vkCmdCopyMicromapEXT vkCmdCopyMicromapEXT; + PFN_vkCmdCopyMicromapToMemoryEXT vkCmdCopyMicromapToMemoryEXT; + PFN_vkCmdWriteMicromapsPropertiesEXT vkCmdWriteMicromapsPropertiesEXT; + PFN_vkCopyMemoryToMicromapEXT vkCopyMemoryToMicromapEXT; + PFN_vkCopyMicromapEXT vkCopyMicromapEXT; + PFN_vkCopyMicromapToMemoryEXT vkCopyMicromapToMemoryEXT; + PFN_vkCreateMicromapEXT vkCreateMicromapEXT; + PFN_vkDestroyMicromapEXT vkDestroyMicromapEXT; + PFN_vkGetDeviceMicromapCompatibilityEXT vkGetDeviceMicromapCompatibilityEXT; + PFN_vkGetMicromapBuildSizesEXT vkGetMicromapBuildSizesEXT; + PFN_vkWriteMicromapsPropertiesEXT vkWriteMicromapsPropertiesEXT; +#endif /* defined(VK_EXT_opacity_micromap) */ +#if defined(VK_EXT_pageable_device_local_memory) + PFN_vkSetDeviceMemoryPriorityEXT vkSetDeviceMemoryPriorityEXT; +#endif /* defined(VK_EXT_pageable_device_local_memory) */ +#if defined(VK_EXT_pipeline_properties) + PFN_vkGetPipelinePropertiesEXT vkGetPipelinePropertiesEXT; +#endif /* defined(VK_EXT_pipeline_properties) */ +#if defined(VK_EXT_private_data) + PFN_vkCreatePrivateDataSlotEXT vkCreatePrivateDataSlotEXT; + PFN_vkDestroyPrivateDataSlotEXT vkDestroyPrivateDataSlotEXT; + PFN_vkGetPrivateDataEXT vkGetPrivateDataEXT; + PFN_vkSetPrivateDataEXT vkSetPrivateDataEXT; +#endif /* defined(VK_EXT_private_data) */ +#if defined(VK_EXT_sample_locations) + PFN_vkCmdSetSampleLocationsEXT vkCmdSetSampleLocationsEXT; +#endif /* defined(VK_EXT_sample_locations) */ +#if defined(VK_EXT_shader_module_identifier) + PFN_vkGetShaderModuleCreateInfoIdentifierEXT vkGetShaderModuleCreateInfoIdentifierEXT; + PFN_vkGetShaderModuleIdentifierEXT vkGetShaderModuleIdentifierEXT; +#endif /* defined(VK_EXT_shader_module_identifier) */ +#if defined(VK_EXT_swapchain_maintenance1) + PFN_vkReleaseSwapchainImagesEXT vkReleaseSwapchainImagesEXT; +#endif /* defined(VK_EXT_swapchain_maintenance1) */ +#if defined(VK_EXT_transform_feedback) + PFN_vkCmdBeginQueryIndexedEXT vkCmdBeginQueryIndexedEXT; + PFN_vkCmdBeginTransformFeedbackEXT vkCmdBeginTransformFeedbackEXT; + PFN_vkCmdBindTransformFeedbackBuffersEXT vkCmdBindTransformFeedbackBuffersEXT; + PFN_vkCmdDrawIndirectByteCountEXT vkCmdDrawIndirectByteCountEXT; + PFN_vkCmdEndQueryIndexedEXT vkCmdEndQueryIndexedEXT; + PFN_vkCmdEndTransformFeedbackEXT vkCmdEndTransformFeedbackEXT; +#endif /* defined(VK_EXT_transform_feedback) */ +#if defined(VK_EXT_validation_cache) + PFN_vkCreateValidationCacheEXT vkCreateValidationCacheEXT; + PFN_vkDestroyValidationCacheEXT vkDestroyValidationCacheEXT; + PFN_vkGetValidationCacheDataEXT vkGetValidationCacheDataEXT; + PFN_vkMergeValidationCachesEXT vkMergeValidationCachesEXT; +#endif /* defined(VK_EXT_validation_cache) */ +#if defined(VK_EXT_vertex_input_dynamic_state) + PFN_vkCmdSetVertexInputEXT vkCmdSetVertexInputEXT; +#endif /* defined(VK_EXT_vertex_input_dynamic_state) */ +#if defined(VK_FUCHSIA_buffer_collection) + PFN_vkCreateBufferCollectionFUCHSIA vkCreateBufferCollectionFUCHSIA; + PFN_vkDestroyBufferCollectionFUCHSIA vkDestroyBufferCollectionFUCHSIA; + PFN_vkGetBufferCollectionPropertiesFUCHSIA vkGetBufferCollectionPropertiesFUCHSIA; + PFN_vkSetBufferCollectionBufferConstraintsFUCHSIA vkSetBufferCollectionBufferConstraintsFUCHSIA; + PFN_vkSetBufferCollectionImageConstraintsFUCHSIA vkSetBufferCollectionImageConstraintsFUCHSIA; +#endif /* defined(VK_FUCHSIA_buffer_collection) */ +#if defined(VK_FUCHSIA_external_memory) + PFN_vkGetMemoryZirconHandleFUCHSIA vkGetMemoryZirconHandleFUCHSIA; + PFN_vkGetMemoryZirconHandlePropertiesFUCHSIA vkGetMemoryZirconHandlePropertiesFUCHSIA; +#endif /* defined(VK_FUCHSIA_external_memory) */ +#if defined(VK_FUCHSIA_external_semaphore) + PFN_vkGetSemaphoreZirconHandleFUCHSIA vkGetSemaphoreZirconHandleFUCHSIA; + PFN_vkImportSemaphoreZirconHandleFUCHSIA vkImportSemaphoreZirconHandleFUCHSIA; +#endif /* defined(VK_FUCHSIA_external_semaphore) */ +#if defined(VK_GOOGLE_display_timing) + PFN_vkGetPastPresentationTimingGOOGLE vkGetPastPresentationTimingGOOGLE; + PFN_vkGetRefreshCycleDurationGOOGLE vkGetRefreshCycleDurationGOOGLE; +#endif /* defined(VK_GOOGLE_display_timing) */ +#if defined(VK_HUAWEI_invocation_mask) + PFN_vkCmdBindInvocationMaskHUAWEI vkCmdBindInvocationMaskHUAWEI; +#endif /* defined(VK_HUAWEI_invocation_mask) */ +#if defined(VK_HUAWEI_subpass_shading) + PFN_vkCmdSubpassShadingHUAWEI vkCmdSubpassShadingHUAWEI; + PFN_vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI; +#endif /* defined(VK_HUAWEI_subpass_shading) */ +#if defined(VK_INTEL_performance_query) + PFN_vkAcquirePerformanceConfigurationINTEL vkAcquirePerformanceConfigurationINTEL; + PFN_vkCmdSetPerformanceMarkerINTEL vkCmdSetPerformanceMarkerINTEL; + PFN_vkCmdSetPerformanceOverrideINTEL vkCmdSetPerformanceOverrideINTEL; + PFN_vkCmdSetPerformanceStreamMarkerINTEL vkCmdSetPerformanceStreamMarkerINTEL; + PFN_vkGetPerformanceParameterINTEL vkGetPerformanceParameterINTEL; + PFN_vkInitializePerformanceApiINTEL vkInitializePerformanceApiINTEL; + PFN_vkQueueSetPerformanceConfigurationINTEL vkQueueSetPerformanceConfigurationINTEL; + PFN_vkReleasePerformanceConfigurationINTEL vkReleasePerformanceConfigurationINTEL; + PFN_vkUninitializePerformanceApiINTEL vkUninitializePerformanceApiINTEL; +#endif /* defined(VK_INTEL_performance_query) */ +#if defined(VK_KHR_acceleration_structure) + PFN_vkBuildAccelerationStructuresKHR vkBuildAccelerationStructuresKHR; + PFN_vkCmdBuildAccelerationStructuresIndirectKHR vkCmdBuildAccelerationStructuresIndirectKHR; + PFN_vkCmdBuildAccelerationStructuresKHR vkCmdBuildAccelerationStructuresKHR; + PFN_vkCmdCopyAccelerationStructureKHR vkCmdCopyAccelerationStructureKHR; + PFN_vkCmdCopyAccelerationStructureToMemoryKHR vkCmdCopyAccelerationStructureToMemoryKHR; + PFN_vkCmdCopyMemoryToAccelerationStructureKHR vkCmdCopyMemoryToAccelerationStructureKHR; + PFN_vkCmdWriteAccelerationStructuresPropertiesKHR vkCmdWriteAccelerationStructuresPropertiesKHR; + PFN_vkCopyAccelerationStructureKHR vkCopyAccelerationStructureKHR; + PFN_vkCopyAccelerationStructureToMemoryKHR vkCopyAccelerationStructureToMemoryKHR; + PFN_vkCopyMemoryToAccelerationStructureKHR vkCopyMemoryToAccelerationStructureKHR; + PFN_vkCreateAccelerationStructureKHR vkCreateAccelerationStructureKHR; + PFN_vkDestroyAccelerationStructureKHR vkDestroyAccelerationStructureKHR; + PFN_vkGetAccelerationStructureBuildSizesKHR vkGetAccelerationStructureBuildSizesKHR; + PFN_vkGetAccelerationStructureDeviceAddressKHR vkGetAccelerationStructureDeviceAddressKHR; + PFN_vkGetDeviceAccelerationStructureCompatibilityKHR vkGetDeviceAccelerationStructureCompatibilityKHR; + PFN_vkWriteAccelerationStructuresPropertiesKHR vkWriteAccelerationStructuresPropertiesKHR; +#endif /* defined(VK_KHR_acceleration_structure) */ +#if defined(VK_KHR_bind_memory2) + PFN_vkBindBufferMemory2KHR vkBindBufferMemory2KHR; + PFN_vkBindImageMemory2KHR vkBindImageMemory2KHR; +#endif /* defined(VK_KHR_bind_memory2) */ +#if defined(VK_KHR_buffer_device_address) + PFN_vkGetBufferDeviceAddressKHR vkGetBufferDeviceAddressKHR; + PFN_vkGetBufferOpaqueCaptureAddressKHR vkGetBufferOpaqueCaptureAddressKHR; + PFN_vkGetDeviceMemoryOpaqueCaptureAddressKHR vkGetDeviceMemoryOpaqueCaptureAddressKHR; +#endif /* defined(VK_KHR_buffer_device_address) */ +#if defined(VK_KHR_copy_commands2) + PFN_vkCmdBlitImage2KHR vkCmdBlitImage2KHR; + PFN_vkCmdCopyBuffer2KHR vkCmdCopyBuffer2KHR; + PFN_vkCmdCopyBufferToImage2KHR vkCmdCopyBufferToImage2KHR; + PFN_vkCmdCopyImage2KHR vkCmdCopyImage2KHR; + PFN_vkCmdCopyImageToBuffer2KHR vkCmdCopyImageToBuffer2KHR; + PFN_vkCmdResolveImage2KHR vkCmdResolveImage2KHR; +#endif /* defined(VK_KHR_copy_commands2) */ +#if defined(VK_KHR_create_renderpass2) + PFN_vkCmdBeginRenderPass2KHR vkCmdBeginRenderPass2KHR; + PFN_vkCmdEndRenderPass2KHR vkCmdEndRenderPass2KHR; + PFN_vkCmdNextSubpass2KHR vkCmdNextSubpass2KHR; + PFN_vkCreateRenderPass2KHR vkCreateRenderPass2KHR; +#endif /* defined(VK_KHR_create_renderpass2) */ +#if defined(VK_KHR_deferred_host_operations) + PFN_vkCreateDeferredOperationKHR vkCreateDeferredOperationKHR; + PFN_vkDeferredOperationJoinKHR vkDeferredOperationJoinKHR; + PFN_vkDestroyDeferredOperationKHR vkDestroyDeferredOperationKHR; + PFN_vkGetDeferredOperationMaxConcurrencyKHR vkGetDeferredOperationMaxConcurrencyKHR; + PFN_vkGetDeferredOperationResultKHR vkGetDeferredOperationResultKHR; +#endif /* defined(VK_KHR_deferred_host_operations) */ +#if defined(VK_KHR_descriptor_update_template) + PFN_vkCreateDescriptorUpdateTemplateKHR vkCreateDescriptorUpdateTemplateKHR; + PFN_vkDestroyDescriptorUpdateTemplateKHR vkDestroyDescriptorUpdateTemplateKHR; + PFN_vkUpdateDescriptorSetWithTemplateKHR vkUpdateDescriptorSetWithTemplateKHR; +#endif /* defined(VK_KHR_descriptor_update_template) */ +#if defined(VK_KHR_device_group) + PFN_vkCmdDispatchBaseKHR vkCmdDispatchBaseKHR; + PFN_vkCmdSetDeviceMaskKHR vkCmdSetDeviceMaskKHR; + PFN_vkGetDeviceGroupPeerMemoryFeaturesKHR vkGetDeviceGroupPeerMemoryFeaturesKHR; +#endif /* defined(VK_KHR_device_group) */ +#if defined(VK_KHR_display_swapchain) + PFN_vkCreateSharedSwapchainsKHR vkCreateSharedSwapchainsKHR; +#endif /* defined(VK_KHR_display_swapchain) */ +#if defined(VK_KHR_draw_indirect_count) + PFN_vkCmdDrawIndexedIndirectCountKHR vkCmdDrawIndexedIndirectCountKHR; + PFN_vkCmdDrawIndirectCountKHR vkCmdDrawIndirectCountKHR; +#endif /* defined(VK_KHR_draw_indirect_count) */ +#if defined(VK_KHR_dynamic_rendering) + PFN_vkCmdBeginRenderingKHR vkCmdBeginRenderingKHR; + PFN_vkCmdEndRenderingKHR vkCmdEndRenderingKHR; +#endif /* defined(VK_KHR_dynamic_rendering) */ +#if defined(VK_KHR_external_fence_fd) + PFN_vkGetFenceFdKHR vkGetFenceFdKHR; + PFN_vkImportFenceFdKHR vkImportFenceFdKHR; +#endif /* defined(VK_KHR_external_fence_fd) */ +#if defined(VK_KHR_external_fence_win32) + PFN_vkGetFenceWin32HandleKHR vkGetFenceWin32HandleKHR; + PFN_vkImportFenceWin32HandleKHR vkImportFenceWin32HandleKHR; +#endif /* defined(VK_KHR_external_fence_win32) */ +#if defined(VK_KHR_external_memory_fd) + PFN_vkGetMemoryFdKHR vkGetMemoryFdKHR; + PFN_vkGetMemoryFdPropertiesKHR vkGetMemoryFdPropertiesKHR; +#endif /* defined(VK_KHR_external_memory_fd) */ +#if defined(VK_KHR_external_memory_win32) + PFN_vkGetMemoryWin32HandleKHR vkGetMemoryWin32HandleKHR; + PFN_vkGetMemoryWin32HandlePropertiesKHR vkGetMemoryWin32HandlePropertiesKHR; +#endif /* defined(VK_KHR_external_memory_win32) */ +#if defined(VK_KHR_external_semaphore_fd) + PFN_vkGetSemaphoreFdKHR vkGetSemaphoreFdKHR; + PFN_vkImportSemaphoreFdKHR vkImportSemaphoreFdKHR; +#endif /* defined(VK_KHR_external_semaphore_fd) */ +#if defined(VK_KHR_external_semaphore_win32) + PFN_vkGetSemaphoreWin32HandleKHR vkGetSemaphoreWin32HandleKHR; + PFN_vkImportSemaphoreWin32HandleKHR vkImportSemaphoreWin32HandleKHR; +#endif /* defined(VK_KHR_external_semaphore_win32) */ +#if defined(VK_KHR_fragment_shading_rate) + PFN_vkCmdSetFragmentShadingRateKHR vkCmdSetFragmentShadingRateKHR; +#endif /* defined(VK_KHR_fragment_shading_rate) */ +#if defined(VK_KHR_get_memory_requirements2) + PFN_vkGetBufferMemoryRequirements2KHR vkGetBufferMemoryRequirements2KHR; + PFN_vkGetImageMemoryRequirements2KHR vkGetImageMemoryRequirements2KHR; + PFN_vkGetImageSparseMemoryRequirements2KHR vkGetImageSparseMemoryRequirements2KHR; +#endif /* defined(VK_KHR_get_memory_requirements2) */ +#if defined(VK_KHR_maintenance1) + PFN_vkTrimCommandPoolKHR vkTrimCommandPoolKHR; +#endif /* defined(VK_KHR_maintenance1) */ +#if defined(VK_KHR_maintenance3) + PFN_vkGetDescriptorSetLayoutSupportKHR vkGetDescriptorSetLayoutSupportKHR; +#endif /* defined(VK_KHR_maintenance3) */ +#if defined(VK_KHR_maintenance4) + PFN_vkGetDeviceBufferMemoryRequirementsKHR vkGetDeviceBufferMemoryRequirementsKHR; + PFN_vkGetDeviceImageMemoryRequirementsKHR vkGetDeviceImageMemoryRequirementsKHR; + PFN_vkGetDeviceImageSparseMemoryRequirementsKHR vkGetDeviceImageSparseMemoryRequirementsKHR; +#endif /* defined(VK_KHR_maintenance4) */ +#if defined(VK_KHR_performance_query) + PFN_vkAcquireProfilingLockKHR vkAcquireProfilingLockKHR; + PFN_vkReleaseProfilingLockKHR vkReleaseProfilingLockKHR; +#endif /* defined(VK_KHR_performance_query) */ +#if defined(VK_KHR_pipeline_executable_properties) + PFN_vkGetPipelineExecutableInternalRepresentationsKHR vkGetPipelineExecutableInternalRepresentationsKHR; + PFN_vkGetPipelineExecutablePropertiesKHR vkGetPipelineExecutablePropertiesKHR; + PFN_vkGetPipelineExecutableStatisticsKHR vkGetPipelineExecutableStatisticsKHR; +#endif /* defined(VK_KHR_pipeline_executable_properties) */ +#if defined(VK_KHR_present_wait) + PFN_vkWaitForPresentKHR vkWaitForPresentKHR; +#endif /* defined(VK_KHR_present_wait) */ +#if defined(VK_KHR_push_descriptor) + PFN_vkCmdPushDescriptorSetKHR vkCmdPushDescriptorSetKHR; +#endif /* defined(VK_KHR_push_descriptor) */ +#if defined(VK_KHR_ray_tracing_maintenance1) && defined(VK_KHR_ray_tracing_pipeline) + PFN_vkCmdTraceRaysIndirect2KHR vkCmdTraceRaysIndirect2KHR; +#endif /* defined(VK_KHR_ray_tracing_maintenance1) && defined(VK_KHR_ray_tracing_pipeline) */ +#if defined(VK_KHR_ray_tracing_pipeline) + PFN_vkCmdSetRayTracingPipelineStackSizeKHR vkCmdSetRayTracingPipelineStackSizeKHR; + PFN_vkCmdTraceRaysIndirectKHR vkCmdTraceRaysIndirectKHR; + PFN_vkCmdTraceRaysKHR vkCmdTraceRaysKHR; + PFN_vkCreateRayTracingPipelinesKHR vkCreateRayTracingPipelinesKHR; + PFN_vkGetRayTracingCaptureReplayShaderGroupHandlesKHR vkGetRayTracingCaptureReplayShaderGroupHandlesKHR; + PFN_vkGetRayTracingShaderGroupHandlesKHR vkGetRayTracingShaderGroupHandlesKHR; + PFN_vkGetRayTracingShaderGroupStackSizeKHR vkGetRayTracingShaderGroupStackSizeKHR; +#endif /* defined(VK_KHR_ray_tracing_pipeline) */ +#if defined(VK_KHR_sampler_ycbcr_conversion) + PFN_vkCreateSamplerYcbcrConversionKHR vkCreateSamplerYcbcrConversionKHR; + PFN_vkDestroySamplerYcbcrConversionKHR vkDestroySamplerYcbcrConversionKHR; +#endif /* defined(VK_KHR_sampler_ycbcr_conversion) */ +#if defined(VK_KHR_shared_presentable_image) + PFN_vkGetSwapchainStatusKHR vkGetSwapchainStatusKHR; +#endif /* defined(VK_KHR_shared_presentable_image) */ +#if defined(VK_KHR_swapchain) + PFN_vkAcquireNextImageKHR vkAcquireNextImageKHR; + PFN_vkCreateSwapchainKHR vkCreateSwapchainKHR; + PFN_vkDestroySwapchainKHR vkDestroySwapchainKHR; + PFN_vkGetSwapchainImagesKHR vkGetSwapchainImagesKHR; + PFN_vkQueuePresentKHR vkQueuePresentKHR; +#endif /* defined(VK_KHR_swapchain) */ +#if defined(VK_KHR_synchronization2) + PFN_vkCmdPipelineBarrier2KHR vkCmdPipelineBarrier2KHR; + PFN_vkCmdResetEvent2KHR vkCmdResetEvent2KHR; + PFN_vkCmdSetEvent2KHR vkCmdSetEvent2KHR; + PFN_vkCmdWaitEvents2KHR vkCmdWaitEvents2KHR; + PFN_vkCmdWriteTimestamp2KHR vkCmdWriteTimestamp2KHR; + PFN_vkQueueSubmit2KHR vkQueueSubmit2KHR; +#endif /* defined(VK_KHR_synchronization2) */ +#if defined(VK_KHR_synchronization2) && defined(VK_AMD_buffer_marker) + PFN_vkCmdWriteBufferMarker2AMD vkCmdWriteBufferMarker2AMD; +#endif /* defined(VK_KHR_synchronization2) && defined(VK_AMD_buffer_marker) */ +#if defined(VK_KHR_synchronization2) && defined(VK_NV_device_diagnostic_checkpoints) + PFN_vkGetQueueCheckpointData2NV vkGetQueueCheckpointData2NV; +#endif /* defined(VK_KHR_synchronization2) && defined(VK_NV_device_diagnostic_checkpoints) */ +#if defined(VK_KHR_timeline_semaphore) + PFN_vkGetSemaphoreCounterValueKHR vkGetSemaphoreCounterValueKHR; + PFN_vkSignalSemaphoreKHR vkSignalSemaphoreKHR; + PFN_vkWaitSemaphoresKHR vkWaitSemaphoresKHR; +#endif /* defined(VK_KHR_timeline_semaphore) */ +#if defined(VK_KHR_video_decode_queue) + PFN_vkCmdDecodeVideoKHR vkCmdDecodeVideoKHR; +#endif /* defined(VK_KHR_video_decode_queue) */ +#if defined(VK_KHR_video_encode_queue) + PFN_vkCmdEncodeVideoKHR vkCmdEncodeVideoKHR; +#endif /* defined(VK_KHR_video_encode_queue) */ +#if defined(VK_KHR_video_queue) + PFN_vkBindVideoSessionMemoryKHR vkBindVideoSessionMemoryKHR; + PFN_vkCmdBeginVideoCodingKHR vkCmdBeginVideoCodingKHR; + PFN_vkCmdControlVideoCodingKHR vkCmdControlVideoCodingKHR; + PFN_vkCmdEndVideoCodingKHR vkCmdEndVideoCodingKHR; + PFN_vkCreateVideoSessionKHR vkCreateVideoSessionKHR; + PFN_vkCreateVideoSessionParametersKHR vkCreateVideoSessionParametersKHR; + PFN_vkDestroyVideoSessionKHR vkDestroyVideoSessionKHR; + PFN_vkDestroyVideoSessionParametersKHR vkDestroyVideoSessionParametersKHR; + PFN_vkGetVideoSessionMemoryRequirementsKHR vkGetVideoSessionMemoryRequirementsKHR; + PFN_vkUpdateVideoSessionParametersKHR vkUpdateVideoSessionParametersKHR; +#endif /* defined(VK_KHR_video_queue) */ +#if defined(VK_NVX_binary_import) + PFN_vkCmdCuLaunchKernelNVX vkCmdCuLaunchKernelNVX; + PFN_vkCreateCuFunctionNVX vkCreateCuFunctionNVX; + PFN_vkCreateCuModuleNVX vkCreateCuModuleNVX; + PFN_vkDestroyCuFunctionNVX vkDestroyCuFunctionNVX; + PFN_vkDestroyCuModuleNVX vkDestroyCuModuleNVX; +#endif /* defined(VK_NVX_binary_import) */ +#if defined(VK_NVX_image_view_handle) + PFN_vkGetImageViewAddressNVX vkGetImageViewAddressNVX; + PFN_vkGetImageViewHandleNVX vkGetImageViewHandleNVX; +#endif /* defined(VK_NVX_image_view_handle) */ +#if defined(VK_NV_clip_space_w_scaling) + PFN_vkCmdSetViewportWScalingNV vkCmdSetViewportWScalingNV; +#endif /* defined(VK_NV_clip_space_w_scaling) */ +#if defined(VK_NV_copy_memory_indirect) + PFN_vkCmdCopyMemoryIndirectNV vkCmdCopyMemoryIndirectNV; + PFN_vkCmdCopyMemoryToImageIndirectNV vkCmdCopyMemoryToImageIndirectNV; +#endif /* defined(VK_NV_copy_memory_indirect) */ +#if defined(VK_NV_device_diagnostic_checkpoints) + PFN_vkCmdSetCheckpointNV vkCmdSetCheckpointNV; + PFN_vkGetQueueCheckpointDataNV vkGetQueueCheckpointDataNV; +#endif /* defined(VK_NV_device_diagnostic_checkpoints) */ +#if defined(VK_NV_device_generated_commands) + PFN_vkCmdBindPipelineShaderGroupNV vkCmdBindPipelineShaderGroupNV; + PFN_vkCmdExecuteGeneratedCommandsNV vkCmdExecuteGeneratedCommandsNV; + PFN_vkCmdPreprocessGeneratedCommandsNV vkCmdPreprocessGeneratedCommandsNV; + PFN_vkCreateIndirectCommandsLayoutNV vkCreateIndirectCommandsLayoutNV; + PFN_vkDestroyIndirectCommandsLayoutNV vkDestroyIndirectCommandsLayoutNV; + PFN_vkGetGeneratedCommandsMemoryRequirementsNV vkGetGeneratedCommandsMemoryRequirementsNV; +#endif /* defined(VK_NV_device_generated_commands) */ +#if defined(VK_NV_external_memory_rdma) + PFN_vkGetMemoryRemoteAddressNV vkGetMemoryRemoteAddressNV; +#endif /* defined(VK_NV_external_memory_rdma) */ +#if defined(VK_NV_external_memory_win32) + PFN_vkGetMemoryWin32HandleNV vkGetMemoryWin32HandleNV; +#endif /* defined(VK_NV_external_memory_win32) */ +#if defined(VK_NV_fragment_shading_rate_enums) + PFN_vkCmdSetFragmentShadingRateEnumNV vkCmdSetFragmentShadingRateEnumNV; +#endif /* defined(VK_NV_fragment_shading_rate_enums) */ +#if defined(VK_NV_memory_decompression) + PFN_vkCmdDecompressMemoryIndirectCountNV vkCmdDecompressMemoryIndirectCountNV; + PFN_vkCmdDecompressMemoryNV vkCmdDecompressMemoryNV; +#endif /* defined(VK_NV_memory_decompression) */ +#if defined(VK_NV_mesh_shader) + PFN_vkCmdDrawMeshTasksIndirectCountNV vkCmdDrawMeshTasksIndirectCountNV; + PFN_vkCmdDrawMeshTasksIndirectNV vkCmdDrawMeshTasksIndirectNV; + PFN_vkCmdDrawMeshTasksNV vkCmdDrawMeshTasksNV; +#endif /* defined(VK_NV_mesh_shader) */ +#if defined(VK_NV_optical_flow) + PFN_vkBindOpticalFlowSessionImageNV vkBindOpticalFlowSessionImageNV; + PFN_vkCmdOpticalFlowExecuteNV vkCmdOpticalFlowExecuteNV; + PFN_vkCreateOpticalFlowSessionNV vkCreateOpticalFlowSessionNV; + PFN_vkDestroyOpticalFlowSessionNV vkDestroyOpticalFlowSessionNV; +#endif /* defined(VK_NV_optical_flow) */ +#if defined(VK_NV_ray_tracing) + PFN_vkBindAccelerationStructureMemoryNV vkBindAccelerationStructureMemoryNV; + PFN_vkCmdBuildAccelerationStructureNV vkCmdBuildAccelerationStructureNV; + PFN_vkCmdCopyAccelerationStructureNV vkCmdCopyAccelerationStructureNV; + PFN_vkCmdTraceRaysNV vkCmdTraceRaysNV; + PFN_vkCmdWriteAccelerationStructuresPropertiesNV vkCmdWriteAccelerationStructuresPropertiesNV; + PFN_vkCompileDeferredNV vkCompileDeferredNV; + PFN_vkCreateAccelerationStructureNV vkCreateAccelerationStructureNV; + PFN_vkCreateRayTracingPipelinesNV vkCreateRayTracingPipelinesNV; + PFN_vkDestroyAccelerationStructureNV vkDestroyAccelerationStructureNV; + PFN_vkGetAccelerationStructureHandleNV vkGetAccelerationStructureHandleNV; + PFN_vkGetAccelerationStructureMemoryRequirementsNV vkGetAccelerationStructureMemoryRequirementsNV; + PFN_vkGetRayTracingShaderGroupHandlesNV vkGetRayTracingShaderGroupHandlesNV; +#endif /* defined(VK_NV_ray_tracing) */ +#if defined(VK_NV_scissor_exclusive) + PFN_vkCmdSetExclusiveScissorNV vkCmdSetExclusiveScissorNV; +#endif /* defined(VK_NV_scissor_exclusive) */ +#if defined(VK_NV_shading_rate_image) + PFN_vkCmdBindShadingRateImageNV vkCmdBindShadingRateImageNV; + PFN_vkCmdSetCoarseSampleOrderNV vkCmdSetCoarseSampleOrderNV; + PFN_vkCmdSetViewportShadingRatePaletteNV vkCmdSetViewportShadingRatePaletteNV; +#endif /* defined(VK_NV_shading_rate_image) */ +#if defined(VK_QCOM_tile_properties) + PFN_vkGetDynamicRenderingTilePropertiesQCOM vkGetDynamicRenderingTilePropertiesQCOM; + PFN_vkGetFramebufferTilePropertiesQCOM vkGetFramebufferTilePropertiesQCOM; +#endif /* defined(VK_QCOM_tile_properties) */ +#if defined(VK_VALVE_descriptor_set_host_mapping) + PFN_vkGetDescriptorSetHostMappingVALVE vkGetDescriptorSetHostMappingVALVE; + PFN_vkGetDescriptorSetLayoutHostMappingInfoVALVE vkGetDescriptorSetLayoutHostMappingInfoVALVE; +#endif /* defined(VK_VALVE_descriptor_set_host_mapping) */ +#if (defined(VK_EXT_full_screen_exclusive) && defined(VK_KHR_device_group)) || (defined(VK_EXT_full_screen_exclusive) && defined(VK_VERSION_1_1)) + PFN_vkGetDeviceGroupSurfacePresentModes2EXT vkGetDeviceGroupSurfacePresentModes2EXT; +#endif /* (defined(VK_EXT_full_screen_exclusive) && defined(VK_KHR_device_group)) || (defined(VK_EXT_full_screen_exclusive) && defined(VK_VERSION_1_1)) */ +#if (defined(VK_KHR_descriptor_update_template) && defined(VK_KHR_push_descriptor)) || (defined(VK_KHR_push_descriptor) && defined(VK_VERSION_1_1)) || (defined(VK_KHR_push_descriptor) && defined(VK_KHR_descriptor_update_template)) + PFN_vkCmdPushDescriptorSetWithTemplateKHR vkCmdPushDescriptorSetWithTemplateKHR; +#endif /* (defined(VK_KHR_descriptor_update_template) && defined(VK_KHR_push_descriptor)) || (defined(VK_KHR_push_descriptor) && defined(VK_VERSION_1_1)) || (defined(VK_KHR_push_descriptor) && defined(VK_KHR_descriptor_update_template)) */ +#if (defined(VK_KHR_device_group) && defined(VK_KHR_surface)) || (defined(VK_KHR_swapchain) && defined(VK_VERSION_1_1)) + PFN_vkGetDeviceGroupPresentCapabilitiesKHR vkGetDeviceGroupPresentCapabilitiesKHR; + PFN_vkGetDeviceGroupSurfacePresentModesKHR vkGetDeviceGroupSurfacePresentModesKHR; +#endif /* (defined(VK_KHR_device_group) && defined(VK_KHR_surface)) || (defined(VK_KHR_swapchain) && defined(VK_VERSION_1_1)) */ +#if (defined(VK_KHR_device_group) && defined(VK_KHR_swapchain)) || (defined(VK_KHR_swapchain) && defined(VK_VERSION_1_1)) + PFN_vkAcquireNextImage2KHR vkAcquireNextImage2KHR; +#endif /* (defined(VK_KHR_device_group) && defined(VK_KHR_swapchain)) || (defined(VK_KHR_swapchain) && defined(VK_VERSION_1_1)) */ + /* VOLK_GENERATE_DEVICE_TABLE */ +}; + +/* VOLK_GENERATE_PROTOTYPES_H */ +#if defined(VK_VERSION_1_0) +extern PFN_vkAllocateCommandBuffers vkAllocateCommandBuffers; +extern PFN_vkAllocateDescriptorSets vkAllocateDescriptorSets; +extern PFN_vkAllocateMemory vkAllocateMemory; +extern PFN_vkBeginCommandBuffer vkBeginCommandBuffer; +extern PFN_vkBindBufferMemory vkBindBufferMemory; +extern PFN_vkBindImageMemory vkBindImageMemory; +extern PFN_vkCmdBeginQuery vkCmdBeginQuery; +extern PFN_vkCmdBeginRenderPass vkCmdBeginRenderPass; +extern PFN_vkCmdBindDescriptorSets vkCmdBindDescriptorSets; +extern PFN_vkCmdBindIndexBuffer vkCmdBindIndexBuffer; +extern PFN_vkCmdBindPipeline vkCmdBindPipeline; +extern PFN_vkCmdBindVertexBuffers vkCmdBindVertexBuffers; +extern PFN_vkCmdBlitImage vkCmdBlitImage; +extern PFN_vkCmdClearAttachments vkCmdClearAttachments; +extern PFN_vkCmdClearColorImage vkCmdClearColorImage; +extern PFN_vkCmdClearDepthStencilImage vkCmdClearDepthStencilImage; +extern PFN_vkCmdCopyBuffer vkCmdCopyBuffer; +extern PFN_vkCmdCopyBufferToImage vkCmdCopyBufferToImage; +extern PFN_vkCmdCopyImage vkCmdCopyImage; +extern PFN_vkCmdCopyImageToBuffer vkCmdCopyImageToBuffer; +extern PFN_vkCmdCopyQueryPoolResults vkCmdCopyQueryPoolResults; +extern PFN_vkCmdDispatch vkCmdDispatch; +extern PFN_vkCmdDispatchIndirect vkCmdDispatchIndirect; +extern PFN_vkCmdDraw vkCmdDraw; +extern PFN_vkCmdDrawIndexed vkCmdDrawIndexed; +extern PFN_vkCmdDrawIndexedIndirect vkCmdDrawIndexedIndirect; +extern PFN_vkCmdDrawIndirect vkCmdDrawIndirect; +extern PFN_vkCmdEndQuery vkCmdEndQuery; +extern PFN_vkCmdEndRenderPass vkCmdEndRenderPass; +extern PFN_vkCmdExecuteCommands vkCmdExecuteCommands; +extern PFN_vkCmdFillBuffer vkCmdFillBuffer; +extern PFN_vkCmdNextSubpass vkCmdNextSubpass; +extern PFN_vkCmdPipelineBarrier vkCmdPipelineBarrier; +extern PFN_vkCmdPushConstants vkCmdPushConstants; +extern PFN_vkCmdResetEvent vkCmdResetEvent; +extern PFN_vkCmdResetQueryPool vkCmdResetQueryPool; +extern PFN_vkCmdResolveImage vkCmdResolveImage; +extern PFN_vkCmdSetBlendConstants vkCmdSetBlendConstants; +extern PFN_vkCmdSetDepthBias vkCmdSetDepthBias; +extern PFN_vkCmdSetDepthBounds vkCmdSetDepthBounds; +extern PFN_vkCmdSetEvent vkCmdSetEvent; +extern PFN_vkCmdSetLineWidth vkCmdSetLineWidth; +extern PFN_vkCmdSetScissor vkCmdSetScissor; +extern PFN_vkCmdSetStencilCompareMask vkCmdSetStencilCompareMask; +extern PFN_vkCmdSetStencilReference vkCmdSetStencilReference; +extern PFN_vkCmdSetStencilWriteMask vkCmdSetStencilWriteMask; +extern PFN_vkCmdSetViewport vkCmdSetViewport; +extern PFN_vkCmdUpdateBuffer vkCmdUpdateBuffer; +extern PFN_vkCmdWaitEvents vkCmdWaitEvents; +extern PFN_vkCmdWriteTimestamp vkCmdWriteTimestamp; +extern PFN_vkCreateBuffer vkCreateBuffer; +extern PFN_vkCreateBufferView vkCreateBufferView; +extern PFN_vkCreateCommandPool vkCreateCommandPool; +extern PFN_vkCreateComputePipelines vkCreateComputePipelines; +extern PFN_vkCreateDescriptorPool vkCreateDescriptorPool; +extern PFN_vkCreateDescriptorSetLayout vkCreateDescriptorSetLayout; +extern PFN_vkCreateDevice vkCreateDevice; +extern PFN_vkCreateEvent vkCreateEvent; +extern PFN_vkCreateFence vkCreateFence; +extern PFN_vkCreateFramebuffer vkCreateFramebuffer; +extern PFN_vkCreateGraphicsPipelines vkCreateGraphicsPipelines; +extern PFN_vkCreateImage vkCreateImage; +extern PFN_vkCreateImageView vkCreateImageView; +extern PFN_vkCreateInstance vkCreateInstance; +extern PFN_vkCreatePipelineCache vkCreatePipelineCache; +extern PFN_vkCreatePipelineLayout vkCreatePipelineLayout; +extern PFN_vkCreateQueryPool vkCreateQueryPool; +extern PFN_vkCreateRenderPass vkCreateRenderPass; +extern PFN_vkCreateSampler vkCreateSampler; +extern PFN_vkCreateSemaphore vkCreateSemaphore; +extern PFN_vkCreateShaderModule vkCreateShaderModule; +extern PFN_vkDestroyBuffer vkDestroyBuffer; +extern PFN_vkDestroyBufferView vkDestroyBufferView; +extern PFN_vkDestroyCommandPool vkDestroyCommandPool; +extern PFN_vkDestroyDescriptorPool vkDestroyDescriptorPool; +extern PFN_vkDestroyDescriptorSetLayout vkDestroyDescriptorSetLayout; +extern PFN_vkDestroyDevice vkDestroyDevice; +extern PFN_vkDestroyEvent vkDestroyEvent; +extern PFN_vkDestroyFence vkDestroyFence; +extern PFN_vkDestroyFramebuffer vkDestroyFramebuffer; +extern PFN_vkDestroyImage vkDestroyImage; +extern PFN_vkDestroyImageView vkDestroyImageView; +extern PFN_vkDestroyInstance vkDestroyInstance; +extern PFN_vkDestroyPipeline vkDestroyPipeline; +extern PFN_vkDestroyPipelineCache vkDestroyPipelineCache; +extern PFN_vkDestroyPipelineLayout vkDestroyPipelineLayout; +extern PFN_vkDestroyQueryPool vkDestroyQueryPool; +extern PFN_vkDestroyRenderPass vkDestroyRenderPass; +extern PFN_vkDestroySampler vkDestroySampler; +extern PFN_vkDestroySemaphore vkDestroySemaphore; +extern PFN_vkDestroyShaderModule vkDestroyShaderModule; +extern PFN_vkDeviceWaitIdle vkDeviceWaitIdle; +extern PFN_vkEndCommandBuffer vkEndCommandBuffer; +extern PFN_vkEnumerateDeviceExtensionProperties vkEnumerateDeviceExtensionProperties; +extern PFN_vkEnumerateDeviceLayerProperties vkEnumerateDeviceLayerProperties; +extern PFN_vkEnumerateInstanceExtensionProperties vkEnumerateInstanceExtensionProperties; +extern PFN_vkEnumerateInstanceLayerProperties vkEnumerateInstanceLayerProperties; +extern PFN_vkEnumeratePhysicalDevices vkEnumeratePhysicalDevices; +extern PFN_vkFlushMappedMemoryRanges vkFlushMappedMemoryRanges; +extern PFN_vkFreeCommandBuffers vkFreeCommandBuffers; +extern PFN_vkFreeDescriptorSets vkFreeDescriptorSets; +extern PFN_vkFreeMemory vkFreeMemory; +extern PFN_vkGetBufferMemoryRequirements vkGetBufferMemoryRequirements; +extern PFN_vkGetDeviceMemoryCommitment vkGetDeviceMemoryCommitment; +extern PFN_vkGetDeviceProcAddr vkGetDeviceProcAddr; +extern PFN_vkGetDeviceQueue vkGetDeviceQueue; +extern PFN_vkGetEventStatus vkGetEventStatus; +extern PFN_vkGetFenceStatus vkGetFenceStatus; +extern PFN_vkGetImageMemoryRequirements vkGetImageMemoryRequirements; +extern PFN_vkGetImageSparseMemoryRequirements vkGetImageSparseMemoryRequirements; +extern PFN_vkGetImageSubresourceLayout vkGetImageSubresourceLayout; +extern PFN_vkGetInstanceProcAddr vkGetInstanceProcAddr; +extern PFN_vkGetPhysicalDeviceFeatures vkGetPhysicalDeviceFeatures; +extern PFN_vkGetPhysicalDeviceFormatProperties vkGetPhysicalDeviceFormatProperties; +extern PFN_vkGetPhysicalDeviceImageFormatProperties vkGetPhysicalDeviceImageFormatProperties; +extern PFN_vkGetPhysicalDeviceMemoryProperties vkGetPhysicalDeviceMemoryProperties; +extern PFN_vkGetPhysicalDeviceProperties vkGetPhysicalDeviceProperties; +extern PFN_vkGetPhysicalDeviceQueueFamilyProperties vkGetPhysicalDeviceQueueFamilyProperties; +extern PFN_vkGetPhysicalDeviceSparseImageFormatProperties vkGetPhysicalDeviceSparseImageFormatProperties; +extern PFN_vkGetPipelineCacheData vkGetPipelineCacheData; +extern PFN_vkGetQueryPoolResults vkGetQueryPoolResults; +extern PFN_vkGetRenderAreaGranularity vkGetRenderAreaGranularity; +extern PFN_vkInvalidateMappedMemoryRanges vkInvalidateMappedMemoryRanges; +extern PFN_vkMapMemory vkMapMemory; +extern PFN_vkMergePipelineCaches vkMergePipelineCaches; +extern PFN_vkQueueBindSparse vkQueueBindSparse; +extern PFN_vkQueueSubmit vkQueueSubmit; +extern PFN_vkQueueWaitIdle vkQueueWaitIdle; +extern PFN_vkResetCommandBuffer vkResetCommandBuffer; +extern PFN_vkResetCommandPool vkResetCommandPool; +extern PFN_vkResetDescriptorPool vkResetDescriptorPool; +extern PFN_vkResetEvent vkResetEvent; +extern PFN_vkResetFences vkResetFences; +extern PFN_vkSetEvent vkSetEvent; +extern PFN_vkUnmapMemory vkUnmapMemory; +extern PFN_vkUpdateDescriptorSets vkUpdateDescriptorSets; +extern PFN_vkWaitForFences vkWaitForFences; +#endif /* defined(VK_VERSION_1_0) */ +#if defined(VK_VERSION_1_1) +extern PFN_vkBindBufferMemory2 vkBindBufferMemory2; +extern PFN_vkBindImageMemory2 vkBindImageMemory2; +extern PFN_vkCmdDispatchBase vkCmdDispatchBase; +extern PFN_vkCmdSetDeviceMask vkCmdSetDeviceMask; +extern PFN_vkCreateDescriptorUpdateTemplate vkCreateDescriptorUpdateTemplate; +extern PFN_vkCreateSamplerYcbcrConversion vkCreateSamplerYcbcrConversion; +extern PFN_vkDestroyDescriptorUpdateTemplate vkDestroyDescriptorUpdateTemplate; +extern PFN_vkDestroySamplerYcbcrConversion vkDestroySamplerYcbcrConversion; +extern PFN_vkEnumerateInstanceVersion vkEnumerateInstanceVersion; +extern PFN_vkEnumeratePhysicalDeviceGroups vkEnumeratePhysicalDeviceGroups; +extern PFN_vkGetBufferMemoryRequirements2 vkGetBufferMemoryRequirements2; +extern PFN_vkGetDescriptorSetLayoutSupport vkGetDescriptorSetLayoutSupport; +extern PFN_vkGetDeviceGroupPeerMemoryFeatures vkGetDeviceGroupPeerMemoryFeatures; +extern PFN_vkGetDeviceQueue2 vkGetDeviceQueue2; +extern PFN_vkGetImageMemoryRequirements2 vkGetImageMemoryRequirements2; +extern PFN_vkGetImageSparseMemoryRequirements2 vkGetImageSparseMemoryRequirements2; +extern PFN_vkGetPhysicalDeviceExternalBufferProperties vkGetPhysicalDeviceExternalBufferProperties; +extern PFN_vkGetPhysicalDeviceExternalFenceProperties vkGetPhysicalDeviceExternalFenceProperties; +extern PFN_vkGetPhysicalDeviceExternalSemaphoreProperties vkGetPhysicalDeviceExternalSemaphoreProperties; +extern PFN_vkGetPhysicalDeviceFeatures2 vkGetPhysicalDeviceFeatures2; +extern PFN_vkGetPhysicalDeviceFormatProperties2 vkGetPhysicalDeviceFormatProperties2; +extern PFN_vkGetPhysicalDeviceImageFormatProperties2 vkGetPhysicalDeviceImageFormatProperties2; +extern PFN_vkGetPhysicalDeviceMemoryProperties2 vkGetPhysicalDeviceMemoryProperties2; +extern PFN_vkGetPhysicalDeviceProperties2 vkGetPhysicalDeviceProperties2; +extern PFN_vkGetPhysicalDeviceQueueFamilyProperties2 vkGetPhysicalDeviceQueueFamilyProperties2; +extern PFN_vkGetPhysicalDeviceSparseImageFormatProperties2 vkGetPhysicalDeviceSparseImageFormatProperties2; +extern PFN_vkTrimCommandPool vkTrimCommandPool; +extern PFN_vkUpdateDescriptorSetWithTemplate vkUpdateDescriptorSetWithTemplate; +#endif /* defined(VK_VERSION_1_1) */ +#if defined(VK_VERSION_1_2) +extern PFN_vkCmdBeginRenderPass2 vkCmdBeginRenderPass2; +extern PFN_vkCmdDrawIndexedIndirectCount vkCmdDrawIndexedIndirectCount; +extern PFN_vkCmdDrawIndirectCount vkCmdDrawIndirectCount; +extern PFN_vkCmdEndRenderPass2 vkCmdEndRenderPass2; +extern PFN_vkCmdNextSubpass2 vkCmdNextSubpass2; +extern PFN_vkCreateRenderPass2 vkCreateRenderPass2; +extern PFN_vkGetBufferDeviceAddress vkGetBufferDeviceAddress; +extern PFN_vkGetBufferOpaqueCaptureAddress vkGetBufferOpaqueCaptureAddress; +extern PFN_vkGetDeviceMemoryOpaqueCaptureAddress vkGetDeviceMemoryOpaqueCaptureAddress; +extern PFN_vkGetSemaphoreCounterValue vkGetSemaphoreCounterValue; +extern PFN_vkResetQueryPool vkResetQueryPool; +extern PFN_vkSignalSemaphore vkSignalSemaphore; +extern PFN_vkWaitSemaphores vkWaitSemaphores; +#endif /* defined(VK_VERSION_1_2) */ +#if defined(VK_VERSION_1_3) +extern PFN_vkCmdBeginRendering vkCmdBeginRendering; +extern PFN_vkCmdBindVertexBuffers2 vkCmdBindVertexBuffers2; +extern PFN_vkCmdBlitImage2 vkCmdBlitImage2; +extern PFN_vkCmdCopyBuffer2 vkCmdCopyBuffer2; +extern PFN_vkCmdCopyBufferToImage2 vkCmdCopyBufferToImage2; +extern PFN_vkCmdCopyImage2 vkCmdCopyImage2; +extern PFN_vkCmdCopyImageToBuffer2 vkCmdCopyImageToBuffer2; +extern PFN_vkCmdEndRendering vkCmdEndRendering; +extern PFN_vkCmdPipelineBarrier2 vkCmdPipelineBarrier2; +extern PFN_vkCmdResetEvent2 vkCmdResetEvent2; +extern PFN_vkCmdResolveImage2 vkCmdResolveImage2; +extern PFN_vkCmdSetCullMode vkCmdSetCullMode; +extern PFN_vkCmdSetDepthBiasEnable vkCmdSetDepthBiasEnable; +extern PFN_vkCmdSetDepthBoundsTestEnable vkCmdSetDepthBoundsTestEnable; +extern PFN_vkCmdSetDepthCompareOp vkCmdSetDepthCompareOp; +extern PFN_vkCmdSetDepthTestEnable vkCmdSetDepthTestEnable; +extern PFN_vkCmdSetDepthWriteEnable vkCmdSetDepthWriteEnable; +extern PFN_vkCmdSetEvent2 vkCmdSetEvent2; +extern PFN_vkCmdSetFrontFace vkCmdSetFrontFace; +extern PFN_vkCmdSetPrimitiveRestartEnable vkCmdSetPrimitiveRestartEnable; +extern PFN_vkCmdSetPrimitiveTopology vkCmdSetPrimitiveTopology; +extern PFN_vkCmdSetRasterizerDiscardEnable vkCmdSetRasterizerDiscardEnable; +extern PFN_vkCmdSetScissorWithCount vkCmdSetScissorWithCount; +extern PFN_vkCmdSetStencilOp vkCmdSetStencilOp; +extern PFN_vkCmdSetStencilTestEnable vkCmdSetStencilTestEnable; +extern PFN_vkCmdSetViewportWithCount vkCmdSetViewportWithCount; +extern PFN_vkCmdWaitEvents2 vkCmdWaitEvents2; +extern PFN_vkCmdWriteTimestamp2 vkCmdWriteTimestamp2; +extern PFN_vkCreatePrivateDataSlot vkCreatePrivateDataSlot; +extern PFN_vkDestroyPrivateDataSlot vkDestroyPrivateDataSlot; +extern PFN_vkGetDeviceBufferMemoryRequirements vkGetDeviceBufferMemoryRequirements; +extern PFN_vkGetDeviceImageMemoryRequirements vkGetDeviceImageMemoryRequirements; +extern PFN_vkGetDeviceImageSparseMemoryRequirements vkGetDeviceImageSparseMemoryRequirements; +extern PFN_vkGetPhysicalDeviceToolProperties vkGetPhysicalDeviceToolProperties; +extern PFN_vkGetPrivateData vkGetPrivateData; +extern PFN_vkQueueSubmit2 vkQueueSubmit2; +extern PFN_vkSetPrivateData vkSetPrivateData; +#endif /* defined(VK_VERSION_1_3) */ +#if defined(VK_AMD_buffer_marker) +extern PFN_vkCmdWriteBufferMarkerAMD vkCmdWriteBufferMarkerAMD; +#endif /* defined(VK_AMD_buffer_marker) */ +#if defined(VK_AMD_display_native_hdr) +extern PFN_vkSetLocalDimmingAMD vkSetLocalDimmingAMD; +#endif /* defined(VK_AMD_display_native_hdr) */ +#if defined(VK_AMD_draw_indirect_count) +extern PFN_vkCmdDrawIndexedIndirectCountAMD vkCmdDrawIndexedIndirectCountAMD; +extern PFN_vkCmdDrawIndirectCountAMD vkCmdDrawIndirectCountAMD; +#endif /* defined(VK_AMD_draw_indirect_count) */ +#if defined(VK_AMD_shader_info) +extern PFN_vkGetShaderInfoAMD vkGetShaderInfoAMD; +#endif /* defined(VK_AMD_shader_info) */ +#if defined(VK_ANDROID_external_memory_android_hardware_buffer) +extern PFN_vkGetAndroidHardwareBufferPropertiesANDROID vkGetAndroidHardwareBufferPropertiesANDROID; +extern PFN_vkGetMemoryAndroidHardwareBufferANDROID vkGetMemoryAndroidHardwareBufferANDROID; +#endif /* defined(VK_ANDROID_external_memory_android_hardware_buffer) */ +#if defined(VK_EXT_acquire_drm_display) +extern PFN_vkAcquireDrmDisplayEXT vkAcquireDrmDisplayEXT; +extern PFN_vkGetDrmDisplayEXT vkGetDrmDisplayEXT; +#endif /* defined(VK_EXT_acquire_drm_display) */ +#if defined(VK_EXT_acquire_xlib_display) +extern PFN_vkAcquireXlibDisplayEXT vkAcquireXlibDisplayEXT; +extern PFN_vkGetRandROutputDisplayEXT vkGetRandROutputDisplayEXT; +#endif /* defined(VK_EXT_acquire_xlib_display) */ +#if defined(VK_EXT_buffer_device_address) +extern PFN_vkGetBufferDeviceAddressEXT vkGetBufferDeviceAddressEXT; +#endif /* defined(VK_EXT_buffer_device_address) */ +#if defined(VK_EXT_calibrated_timestamps) +extern PFN_vkGetCalibratedTimestampsEXT vkGetCalibratedTimestampsEXT; +extern PFN_vkGetPhysicalDeviceCalibrateableTimeDomainsEXT vkGetPhysicalDeviceCalibrateableTimeDomainsEXT; +#endif /* defined(VK_EXT_calibrated_timestamps) */ +#if defined(VK_EXT_color_write_enable) +extern PFN_vkCmdSetColorWriteEnableEXT vkCmdSetColorWriteEnableEXT; +#endif /* defined(VK_EXT_color_write_enable) */ +#if defined(VK_EXT_conditional_rendering) +extern PFN_vkCmdBeginConditionalRenderingEXT vkCmdBeginConditionalRenderingEXT; +extern PFN_vkCmdEndConditionalRenderingEXT vkCmdEndConditionalRenderingEXT; +#endif /* defined(VK_EXT_conditional_rendering) */ +#if defined(VK_EXT_debug_marker) +extern PFN_vkCmdDebugMarkerBeginEXT vkCmdDebugMarkerBeginEXT; +extern PFN_vkCmdDebugMarkerEndEXT vkCmdDebugMarkerEndEXT; +extern PFN_vkCmdDebugMarkerInsertEXT vkCmdDebugMarkerInsertEXT; +extern PFN_vkDebugMarkerSetObjectNameEXT vkDebugMarkerSetObjectNameEXT; +extern PFN_vkDebugMarkerSetObjectTagEXT vkDebugMarkerSetObjectTagEXT; +#endif /* defined(VK_EXT_debug_marker) */ +#if defined(VK_EXT_debug_report) +extern PFN_vkCreateDebugReportCallbackEXT vkCreateDebugReportCallbackEXT; +extern PFN_vkDebugReportMessageEXT vkDebugReportMessageEXT; +extern PFN_vkDestroyDebugReportCallbackEXT vkDestroyDebugReportCallbackEXT; +#endif /* defined(VK_EXT_debug_report) */ +#if defined(VK_EXT_debug_utils) +extern PFN_vkCmdBeginDebugUtilsLabelEXT vkCmdBeginDebugUtilsLabelEXT; +extern PFN_vkCmdEndDebugUtilsLabelEXT vkCmdEndDebugUtilsLabelEXT; +extern PFN_vkCmdInsertDebugUtilsLabelEXT vkCmdInsertDebugUtilsLabelEXT; +extern PFN_vkCreateDebugUtilsMessengerEXT vkCreateDebugUtilsMessengerEXT; +extern PFN_vkDestroyDebugUtilsMessengerEXT vkDestroyDebugUtilsMessengerEXT; +extern PFN_vkQueueBeginDebugUtilsLabelEXT vkQueueBeginDebugUtilsLabelEXT; +extern PFN_vkQueueEndDebugUtilsLabelEXT vkQueueEndDebugUtilsLabelEXT; +extern PFN_vkQueueInsertDebugUtilsLabelEXT vkQueueInsertDebugUtilsLabelEXT; +extern PFN_vkSetDebugUtilsObjectNameEXT vkSetDebugUtilsObjectNameEXT; +extern PFN_vkSetDebugUtilsObjectTagEXT vkSetDebugUtilsObjectTagEXT; +extern PFN_vkSubmitDebugUtilsMessageEXT vkSubmitDebugUtilsMessageEXT; +#endif /* defined(VK_EXT_debug_utils) */ +#if defined(VK_EXT_descriptor_buffer) +extern PFN_vkCmdBindDescriptorBufferEmbeddedSamplersEXT vkCmdBindDescriptorBufferEmbeddedSamplersEXT; +extern PFN_vkCmdBindDescriptorBuffersEXT vkCmdBindDescriptorBuffersEXT; +extern PFN_vkCmdSetDescriptorBufferOffsetsEXT vkCmdSetDescriptorBufferOffsetsEXT; +extern PFN_vkGetBufferOpaqueCaptureDescriptorDataEXT vkGetBufferOpaqueCaptureDescriptorDataEXT; +extern PFN_vkGetDescriptorEXT vkGetDescriptorEXT; +extern PFN_vkGetDescriptorSetLayoutBindingOffsetEXT vkGetDescriptorSetLayoutBindingOffsetEXT; +extern PFN_vkGetDescriptorSetLayoutSizeEXT vkGetDescriptorSetLayoutSizeEXT; +extern PFN_vkGetImageOpaqueCaptureDescriptorDataEXT vkGetImageOpaqueCaptureDescriptorDataEXT; +extern PFN_vkGetImageViewOpaqueCaptureDescriptorDataEXT vkGetImageViewOpaqueCaptureDescriptorDataEXT; +extern PFN_vkGetSamplerOpaqueCaptureDescriptorDataEXT vkGetSamplerOpaqueCaptureDescriptorDataEXT; +#endif /* defined(VK_EXT_descriptor_buffer) */ +#if defined(VK_EXT_descriptor_buffer) && defined(VK_KHR_acceleration_structure) && defined(VK_NV_ray_tracing) +extern PFN_vkGetAccelerationStructureOpaqueCaptureDescriptorDataEXT vkGetAccelerationStructureOpaqueCaptureDescriptorDataEXT; +#endif /* defined(VK_EXT_descriptor_buffer) && defined(VK_KHR_acceleration_structure) && defined(VK_NV_ray_tracing) */ +#if defined(VK_EXT_device_fault) +extern PFN_vkGetDeviceFaultInfoEXT vkGetDeviceFaultInfoEXT; +#endif /* defined(VK_EXT_device_fault) */ +#if defined(VK_EXT_direct_mode_display) +extern PFN_vkReleaseDisplayEXT vkReleaseDisplayEXT; +#endif /* defined(VK_EXT_direct_mode_display) */ +#if defined(VK_EXT_directfb_surface) +extern PFN_vkCreateDirectFBSurfaceEXT vkCreateDirectFBSurfaceEXT; +extern PFN_vkGetPhysicalDeviceDirectFBPresentationSupportEXT vkGetPhysicalDeviceDirectFBPresentationSupportEXT; +#endif /* defined(VK_EXT_directfb_surface) */ +#if defined(VK_EXT_discard_rectangles) +extern PFN_vkCmdSetDiscardRectangleEXT vkCmdSetDiscardRectangleEXT; +#endif /* defined(VK_EXT_discard_rectangles) */ +#if defined(VK_EXT_display_control) +extern PFN_vkDisplayPowerControlEXT vkDisplayPowerControlEXT; +extern PFN_vkGetSwapchainCounterEXT vkGetSwapchainCounterEXT; +extern PFN_vkRegisterDeviceEventEXT vkRegisterDeviceEventEXT; +extern PFN_vkRegisterDisplayEventEXT vkRegisterDisplayEventEXT; +#endif /* defined(VK_EXT_display_control) */ +#if defined(VK_EXT_display_surface_counter) +extern PFN_vkGetPhysicalDeviceSurfaceCapabilities2EXT vkGetPhysicalDeviceSurfaceCapabilities2EXT; +#endif /* defined(VK_EXT_display_surface_counter) */ +#if defined(VK_EXT_extended_dynamic_state) +extern PFN_vkCmdBindVertexBuffers2EXT vkCmdBindVertexBuffers2EXT; +extern PFN_vkCmdSetCullModeEXT vkCmdSetCullModeEXT; +extern PFN_vkCmdSetDepthBoundsTestEnableEXT vkCmdSetDepthBoundsTestEnableEXT; +extern PFN_vkCmdSetDepthCompareOpEXT vkCmdSetDepthCompareOpEXT; +extern PFN_vkCmdSetDepthTestEnableEXT vkCmdSetDepthTestEnableEXT; +extern PFN_vkCmdSetDepthWriteEnableEXT vkCmdSetDepthWriteEnableEXT; +extern PFN_vkCmdSetFrontFaceEXT vkCmdSetFrontFaceEXT; +extern PFN_vkCmdSetPrimitiveTopologyEXT vkCmdSetPrimitiveTopologyEXT; +extern PFN_vkCmdSetScissorWithCountEXT vkCmdSetScissorWithCountEXT; +extern PFN_vkCmdSetStencilOpEXT vkCmdSetStencilOpEXT; +extern PFN_vkCmdSetStencilTestEnableEXT vkCmdSetStencilTestEnableEXT; +extern PFN_vkCmdSetViewportWithCountEXT vkCmdSetViewportWithCountEXT; +#endif /* defined(VK_EXT_extended_dynamic_state) */ +#if defined(VK_EXT_extended_dynamic_state2) +extern PFN_vkCmdSetDepthBiasEnableEXT vkCmdSetDepthBiasEnableEXT; +extern PFN_vkCmdSetLogicOpEXT vkCmdSetLogicOpEXT; +extern PFN_vkCmdSetPatchControlPointsEXT vkCmdSetPatchControlPointsEXT; +extern PFN_vkCmdSetPrimitiveRestartEnableEXT vkCmdSetPrimitiveRestartEnableEXT; +extern PFN_vkCmdSetRasterizerDiscardEnableEXT vkCmdSetRasterizerDiscardEnableEXT; +#endif /* defined(VK_EXT_extended_dynamic_state2) */ +#if defined(VK_EXT_extended_dynamic_state3) +extern PFN_vkCmdSetAlphaToCoverageEnableEXT vkCmdSetAlphaToCoverageEnableEXT; +extern PFN_vkCmdSetAlphaToOneEnableEXT vkCmdSetAlphaToOneEnableEXT; +extern PFN_vkCmdSetColorBlendAdvancedEXT vkCmdSetColorBlendAdvancedEXT; +extern PFN_vkCmdSetColorBlendEnableEXT vkCmdSetColorBlendEnableEXT; +extern PFN_vkCmdSetColorBlendEquationEXT vkCmdSetColorBlendEquationEXT; +extern PFN_vkCmdSetColorWriteMaskEXT vkCmdSetColorWriteMaskEXT; +extern PFN_vkCmdSetConservativeRasterizationModeEXT vkCmdSetConservativeRasterizationModeEXT; +extern PFN_vkCmdSetCoverageModulationModeNV vkCmdSetCoverageModulationModeNV; +extern PFN_vkCmdSetCoverageModulationTableEnableNV vkCmdSetCoverageModulationTableEnableNV; +extern PFN_vkCmdSetCoverageModulationTableNV vkCmdSetCoverageModulationTableNV; +extern PFN_vkCmdSetCoverageReductionModeNV vkCmdSetCoverageReductionModeNV; +extern PFN_vkCmdSetCoverageToColorEnableNV vkCmdSetCoverageToColorEnableNV; +extern PFN_vkCmdSetCoverageToColorLocationNV vkCmdSetCoverageToColorLocationNV; +extern PFN_vkCmdSetDepthClampEnableEXT vkCmdSetDepthClampEnableEXT; +extern PFN_vkCmdSetDepthClipEnableEXT vkCmdSetDepthClipEnableEXT; +extern PFN_vkCmdSetDepthClipNegativeOneToOneEXT vkCmdSetDepthClipNegativeOneToOneEXT; +extern PFN_vkCmdSetExtraPrimitiveOverestimationSizeEXT vkCmdSetExtraPrimitiveOverestimationSizeEXT; +extern PFN_vkCmdSetLineRasterizationModeEXT vkCmdSetLineRasterizationModeEXT; +extern PFN_vkCmdSetLineStippleEnableEXT vkCmdSetLineStippleEnableEXT; +extern PFN_vkCmdSetLogicOpEnableEXT vkCmdSetLogicOpEnableEXT; +extern PFN_vkCmdSetPolygonModeEXT vkCmdSetPolygonModeEXT; +extern PFN_vkCmdSetProvokingVertexModeEXT vkCmdSetProvokingVertexModeEXT; +extern PFN_vkCmdSetRasterizationSamplesEXT vkCmdSetRasterizationSamplesEXT; +extern PFN_vkCmdSetRasterizationStreamEXT vkCmdSetRasterizationStreamEXT; +extern PFN_vkCmdSetRepresentativeFragmentTestEnableNV vkCmdSetRepresentativeFragmentTestEnableNV; +extern PFN_vkCmdSetSampleLocationsEnableEXT vkCmdSetSampleLocationsEnableEXT; +extern PFN_vkCmdSetSampleMaskEXT vkCmdSetSampleMaskEXT; +extern PFN_vkCmdSetShadingRateImageEnableNV vkCmdSetShadingRateImageEnableNV; +extern PFN_vkCmdSetTessellationDomainOriginEXT vkCmdSetTessellationDomainOriginEXT; +extern PFN_vkCmdSetViewportSwizzleNV vkCmdSetViewportSwizzleNV; +extern PFN_vkCmdSetViewportWScalingEnableNV vkCmdSetViewportWScalingEnableNV; +#endif /* defined(VK_EXT_extended_dynamic_state3) */ +#if defined(VK_EXT_external_memory_host) +extern PFN_vkGetMemoryHostPointerPropertiesEXT vkGetMemoryHostPointerPropertiesEXT; +#endif /* defined(VK_EXT_external_memory_host) */ +#if defined(VK_EXT_full_screen_exclusive) +extern PFN_vkAcquireFullScreenExclusiveModeEXT vkAcquireFullScreenExclusiveModeEXT; +extern PFN_vkGetPhysicalDeviceSurfacePresentModes2EXT vkGetPhysicalDeviceSurfacePresentModes2EXT; +extern PFN_vkReleaseFullScreenExclusiveModeEXT vkReleaseFullScreenExclusiveModeEXT; +#endif /* defined(VK_EXT_full_screen_exclusive) */ +#if defined(VK_EXT_hdr_metadata) +extern PFN_vkSetHdrMetadataEXT vkSetHdrMetadataEXT; +#endif /* defined(VK_EXT_hdr_metadata) */ +#if defined(VK_EXT_headless_surface) +extern PFN_vkCreateHeadlessSurfaceEXT vkCreateHeadlessSurfaceEXT; +#endif /* defined(VK_EXT_headless_surface) */ +#if defined(VK_EXT_host_query_reset) +extern PFN_vkResetQueryPoolEXT vkResetQueryPoolEXT; +#endif /* defined(VK_EXT_host_query_reset) */ +#if defined(VK_EXT_image_compression_control) +extern PFN_vkGetImageSubresourceLayout2EXT vkGetImageSubresourceLayout2EXT; +#endif /* defined(VK_EXT_image_compression_control) */ +#if defined(VK_EXT_image_drm_format_modifier) +extern PFN_vkGetImageDrmFormatModifierPropertiesEXT vkGetImageDrmFormatModifierPropertiesEXT; +#endif /* defined(VK_EXT_image_drm_format_modifier) */ +#if defined(VK_EXT_line_rasterization) +extern PFN_vkCmdSetLineStippleEXT vkCmdSetLineStippleEXT; +#endif /* defined(VK_EXT_line_rasterization) */ +#if defined(VK_EXT_mesh_shader) +extern PFN_vkCmdDrawMeshTasksEXT vkCmdDrawMeshTasksEXT; +extern PFN_vkCmdDrawMeshTasksIndirectCountEXT vkCmdDrawMeshTasksIndirectCountEXT; +extern PFN_vkCmdDrawMeshTasksIndirectEXT vkCmdDrawMeshTasksIndirectEXT; +#endif /* defined(VK_EXT_mesh_shader) */ +#if defined(VK_EXT_metal_objects) +extern PFN_vkExportMetalObjectsEXT vkExportMetalObjectsEXT; +#endif /* defined(VK_EXT_metal_objects) */ +#if defined(VK_EXT_metal_surface) +extern PFN_vkCreateMetalSurfaceEXT vkCreateMetalSurfaceEXT; +#endif /* defined(VK_EXT_metal_surface) */ +#if defined(VK_EXT_multi_draw) +extern PFN_vkCmdDrawMultiEXT vkCmdDrawMultiEXT; +extern PFN_vkCmdDrawMultiIndexedEXT vkCmdDrawMultiIndexedEXT; +#endif /* defined(VK_EXT_multi_draw) */ +#if defined(VK_EXT_opacity_micromap) +extern PFN_vkBuildMicromapsEXT vkBuildMicromapsEXT; +extern PFN_vkCmdBuildMicromapsEXT vkCmdBuildMicromapsEXT; +extern PFN_vkCmdCopyMemoryToMicromapEXT vkCmdCopyMemoryToMicromapEXT; +extern PFN_vkCmdCopyMicromapEXT vkCmdCopyMicromapEXT; +extern PFN_vkCmdCopyMicromapToMemoryEXT vkCmdCopyMicromapToMemoryEXT; +extern PFN_vkCmdWriteMicromapsPropertiesEXT vkCmdWriteMicromapsPropertiesEXT; +extern PFN_vkCopyMemoryToMicromapEXT vkCopyMemoryToMicromapEXT; +extern PFN_vkCopyMicromapEXT vkCopyMicromapEXT; +extern PFN_vkCopyMicromapToMemoryEXT vkCopyMicromapToMemoryEXT; +extern PFN_vkCreateMicromapEXT vkCreateMicromapEXT; +extern PFN_vkDestroyMicromapEXT vkDestroyMicromapEXT; +extern PFN_vkGetDeviceMicromapCompatibilityEXT vkGetDeviceMicromapCompatibilityEXT; +extern PFN_vkGetMicromapBuildSizesEXT vkGetMicromapBuildSizesEXT; +extern PFN_vkWriteMicromapsPropertiesEXT vkWriteMicromapsPropertiesEXT; +#endif /* defined(VK_EXT_opacity_micromap) */ +#if defined(VK_EXT_pageable_device_local_memory) +extern PFN_vkSetDeviceMemoryPriorityEXT vkSetDeviceMemoryPriorityEXT; +#endif /* defined(VK_EXT_pageable_device_local_memory) */ +#if defined(VK_EXT_pipeline_properties) +extern PFN_vkGetPipelinePropertiesEXT vkGetPipelinePropertiesEXT; +#endif /* defined(VK_EXT_pipeline_properties) */ +#if defined(VK_EXT_private_data) +extern PFN_vkCreatePrivateDataSlotEXT vkCreatePrivateDataSlotEXT; +extern PFN_vkDestroyPrivateDataSlotEXT vkDestroyPrivateDataSlotEXT; +extern PFN_vkGetPrivateDataEXT vkGetPrivateDataEXT; +extern PFN_vkSetPrivateDataEXT vkSetPrivateDataEXT; +#endif /* defined(VK_EXT_private_data) */ +#if defined(VK_EXT_sample_locations) +extern PFN_vkCmdSetSampleLocationsEXT vkCmdSetSampleLocationsEXT; +extern PFN_vkGetPhysicalDeviceMultisamplePropertiesEXT vkGetPhysicalDeviceMultisamplePropertiesEXT; +#endif /* defined(VK_EXT_sample_locations) */ +#if defined(VK_EXT_shader_module_identifier) +extern PFN_vkGetShaderModuleCreateInfoIdentifierEXT vkGetShaderModuleCreateInfoIdentifierEXT; +extern PFN_vkGetShaderModuleIdentifierEXT vkGetShaderModuleIdentifierEXT; +#endif /* defined(VK_EXT_shader_module_identifier) */ +#if defined(VK_EXT_swapchain_maintenance1) +extern PFN_vkReleaseSwapchainImagesEXT vkReleaseSwapchainImagesEXT; +#endif /* defined(VK_EXT_swapchain_maintenance1) */ +#if defined(VK_EXT_tooling_info) +extern PFN_vkGetPhysicalDeviceToolPropertiesEXT vkGetPhysicalDeviceToolPropertiesEXT; +#endif /* defined(VK_EXT_tooling_info) */ +#if defined(VK_EXT_transform_feedback) +extern PFN_vkCmdBeginQueryIndexedEXT vkCmdBeginQueryIndexedEXT; +extern PFN_vkCmdBeginTransformFeedbackEXT vkCmdBeginTransformFeedbackEXT; +extern PFN_vkCmdBindTransformFeedbackBuffersEXT vkCmdBindTransformFeedbackBuffersEXT; +extern PFN_vkCmdDrawIndirectByteCountEXT vkCmdDrawIndirectByteCountEXT; +extern PFN_vkCmdEndQueryIndexedEXT vkCmdEndQueryIndexedEXT; +extern PFN_vkCmdEndTransformFeedbackEXT vkCmdEndTransformFeedbackEXT; +#endif /* defined(VK_EXT_transform_feedback) */ +#if defined(VK_EXT_validation_cache) +extern PFN_vkCreateValidationCacheEXT vkCreateValidationCacheEXT; +extern PFN_vkDestroyValidationCacheEXT vkDestroyValidationCacheEXT; +extern PFN_vkGetValidationCacheDataEXT vkGetValidationCacheDataEXT; +extern PFN_vkMergeValidationCachesEXT vkMergeValidationCachesEXT; +#endif /* defined(VK_EXT_validation_cache) */ +#if defined(VK_EXT_vertex_input_dynamic_state) +extern PFN_vkCmdSetVertexInputEXT vkCmdSetVertexInputEXT; +#endif /* defined(VK_EXT_vertex_input_dynamic_state) */ +#if defined(VK_FUCHSIA_buffer_collection) +extern PFN_vkCreateBufferCollectionFUCHSIA vkCreateBufferCollectionFUCHSIA; +extern PFN_vkDestroyBufferCollectionFUCHSIA vkDestroyBufferCollectionFUCHSIA; +extern PFN_vkGetBufferCollectionPropertiesFUCHSIA vkGetBufferCollectionPropertiesFUCHSIA; +extern PFN_vkSetBufferCollectionBufferConstraintsFUCHSIA vkSetBufferCollectionBufferConstraintsFUCHSIA; +extern PFN_vkSetBufferCollectionImageConstraintsFUCHSIA vkSetBufferCollectionImageConstraintsFUCHSIA; +#endif /* defined(VK_FUCHSIA_buffer_collection) */ +#if defined(VK_FUCHSIA_external_memory) +extern PFN_vkGetMemoryZirconHandleFUCHSIA vkGetMemoryZirconHandleFUCHSIA; +extern PFN_vkGetMemoryZirconHandlePropertiesFUCHSIA vkGetMemoryZirconHandlePropertiesFUCHSIA; +#endif /* defined(VK_FUCHSIA_external_memory) */ +#if defined(VK_FUCHSIA_external_semaphore) +extern PFN_vkGetSemaphoreZirconHandleFUCHSIA vkGetSemaphoreZirconHandleFUCHSIA; +extern PFN_vkImportSemaphoreZirconHandleFUCHSIA vkImportSemaphoreZirconHandleFUCHSIA; +#endif /* defined(VK_FUCHSIA_external_semaphore) */ +#if defined(VK_FUCHSIA_imagepipe_surface) +extern PFN_vkCreateImagePipeSurfaceFUCHSIA vkCreateImagePipeSurfaceFUCHSIA; +#endif /* defined(VK_FUCHSIA_imagepipe_surface) */ +#if defined(VK_GGP_stream_descriptor_surface) +extern PFN_vkCreateStreamDescriptorSurfaceGGP vkCreateStreamDescriptorSurfaceGGP; +#endif /* defined(VK_GGP_stream_descriptor_surface) */ +#if defined(VK_GOOGLE_display_timing) +extern PFN_vkGetPastPresentationTimingGOOGLE vkGetPastPresentationTimingGOOGLE; +extern PFN_vkGetRefreshCycleDurationGOOGLE vkGetRefreshCycleDurationGOOGLE; +#endif /* defined(VK_GOOGLE_display_timing) */ +#if defined(VK_HUAWEI_invocation_mask) +extern PFN_vkCmdBindInvocationMaskHUAWEI vkCmdBindInvocationMaskHUAWEI; +#endif /* defined(VK_HUAWEI_invocation_mask) */ +#if defined(VK_HUAWEI_subpass_shading) +extern PFN_vkCmdSubpassShadingHUAWEI vkCmdSubpassShadingHUAWEI; +extern PFN_vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI; +#endif /* defined(VK_HUAWEI_subpass_shading) */ +#if defined(VK_INTEL_performance_query) +extern PFN_vkAcquirePerformanceConfigurationINTEL vkAcquirePerformanceConfigurationINTEL; +extern PFN_vkCmdSetPerformanceMarkerINTEL vkCmdSetPerformanceMarkerINTEL; +extern PFN_vkCmdSetPerformanceOverrideINTEL vkCmdSetPerformanceOverrideINTEL; +extern PFN_vkCmdSetPerformanceStreamMarkerINTEL vkCmdSetPerformanceStreamMarkerINTEL; +extern PFN_vkGetPerformanceParameterINTEL vkGetPerformanceParameterINTEL; +extern PFN_vkInitializePerformanceApiINTEL vkInitializePerformanceApiINTEL; +extern PFN_vkQueueSetPerformanceConfigurationINTEL vkQueueSetPerformanceConfigurationINTEL; +extern PFN_vkReleasePerformanceConfigurationINTEL vkReleasePerformanceConfigurationINTEL; +extern PFN_vkUninitializePerformanceApiINTEL vkUninitializePerformanceApiINTEL; +#endif /* defined(VK_INTEL_performance_query) */ +#if defined(VK_KHR_acceleration_structure) +extern PFN_vkBuildAccelerationStructuresKHR vkBuildAccelerationStructuresKHR; +extern PFN_vkCmdBuildAccelerationStructuresIndirectKHR vkCmdBuildAccelerationStructuresIndirectKHR; +extern PFN_vkCmdBuildAccelerationStructuresKHR vkCmdBuildAccelerationStructuresKHR; +extern PFN_vkCmdCopyAccelerationStructureKHR vkCmdCopyAccelerationStructureKHR; +extern PFN_vkCmdCopyAccelerationStructureToMemoryKHR vkCmdCopyAccelerationStructureToMemoryKHR; +extern PFN_vkCmdCopyMemoryToAccelerationStructureKHR vkCmdCopyMemoryToAccelerationStructureKHR; +extern PFN_vkCmdWriteAccelerationStructuresPropertiesKHR vkCmdWriteAccelerationStructuresPropertiesKHR; +extern PFN_vkCopyAccelerationStructureKHR vkCopyAccelerationStructureKHR; +extern PFN_vkCopyAccelerationStructureToMemoryKHR vkCopyAccelerationStructureToMemoryKHR; +extern PFN_vkCopyMemoryToAccelerationStructureKHR vkCopyMemoryToAccelerationStructureKHR; +extern PFN_vkCreateAccelerationStructureKHR vkCreateAccelerationStructureKHR; +extern PFN_vkDestroyAccelerationStructureKHR vkDestroyAccelerationStructureKHR; +extern PFN_vkGetAccelerationStructureBuildSizesKHR vkGetAccelerationStructureBuildSizesKHR; +extern PFN_vkGetAccelerationStructureDeviceAddressKHR vkGetAccelerationStructureDeviceAddressKHR; +extern PFN_vkGetDeviceAccelerationStructureCompatibilityKHR vkGetDeviceAccelerationStructureCompatibilityKHR; +extern PFN_vkWriteAccelerationStructuresPropertiesKHR vkWriteAccelerationStructuresPropertiesKHR; +#endif /* defined(VK_KHR_acceleration_structure) */ +#if defined(VK_KHR_android_surface) +extern PFN_vkCreateAndroidSurfaceKHR vkCreateAndroidSurfaceKHR; +#endif /* defined(VK_KHR_android_surface) */ +#if defined(VK_KHR_bind_memory2) +extern PFN_vkBindBufferMemory2KHR vkBindBufferMemory2KHR; +extern PFN_vkBindImageMemory2KHR vkBindImageMemory2KHR; +#endif /* defined(VK_KHR_bind_memory2) */ +#if defined(VK_KHR_buffer_device_address) +extern PFN_vkGetBufferDeviceAddressKHR vkGetBufferDeviceAddressKHR; +extern PFN_vkGetBufferOpaqueCaptureAddressKHR vkGetBufferOpaqueCaptureAddressKHR; +extern PFN_vkGetDeviceMemoryOpaqueCaptureAddressKHR vkGetDeviceMemoryOpaqueCaptureAddressKHR; +#endif /* defined(VK_KHR_buffer_device_address) */ +#if defined(VK_KHR_copy_commands2) +extern PFN_vkCmdBlitImage2KHR vkCmdBlitImage2KHR; +extern PFN_vkCmdCopyBuffer2KHR vkCmdCopyBuffer2KHR; +extern PFN_vkCmdCopyBufferToImage2KHR vkCmdCopyBufferToImage2KHR; +extern PFN_vkCmdCopyImage2KHR vkCmdCopyImage2KHR; +extern PFN_vkCmdCopyImageToBuffer2KHR vkCmdCopyImageToBuffer2KHR; +extern PFN_vkCmdResolveImage2KHR vkCmdResolveImage2KHR; +#endif /* defined(VK_KHR_copy_commands2) */ +#if defined(VK_KHR_create_renderpass2) +extern PFN_vkCmdBeginRenderPass2KHR vkCmdBeginRenderPass2KHR; +extern PFN_vkCmdEndRenderPass2KHR vkCmdEndRenderPass2KHR; +extern PFN_vkCmdNextSubpass2KHR vkCmdNextSubpass2KHR; +extern PFN_vkCreateRenderPass2KHR vkCreateRenderPass2KHR; +#endif /* defined(VK_KHR_create_renderpass2) */ +#if defined(VK_KHR_deferred_host_operations) +extern PFN_vkCreateDeferredOperationKHR vkCreateDeferredOperationKHR; +extern PFN_vkDeferredOperationJoinKHR vkDeferredOperationJoinKHR; +extern PFN_vkDestroyDeferredOperationKHR vkDestroyDeferredOperationKHR; +extern PFN_vkGetDeferredOperationMaxConcurrencyKHR vkGetDeferredOperationMaxConcurrencyKHR; +extern PFN_vkGetDeferredOperationResultKHR vkGetDeferredOperationResultKHR; +#endif /* defined(VK_KHR_deferred_host_operations) */ +#if defined(VK_KHR_descriptor_update_template) +extern PFN_vkCreateDescriptorUpdateTemplateKHR vkCreateDescriptorUpdateTemplateKHR; +extern PFN_vkDestroyDescriptorUpdateTemplateKHR vkDestroyDescriptorUpdateTemplateKHR; +extern PFN_vkUpdateDescriptorSetWithTemplateKHR vkUpdateDescriptorSetWithTemplateKHR; +#endif /* defined(VK_KHR_descriptor_update_template) */ +#if defined(VK_KHR_device_group) +extern PFN_vkCmdDispatchBaseKHR vkCmdDispatchBaseKHR; +extern PFN_vkCmdSetDeviceMaskKHR vkCmdSetDeviceMaskKHR; +extern PFN_vkGetDeviceGroupPeerMemoryFeaturesKHR vkGetDeviceGroupPeerMemoryFeaturesKHR; +#endif /* defined(VK_KHR_device_group) */ +#if defined(VK_KHR_device_group_creation) +extern PFN_vkEnumeratePhysicalDeviceGroupsKHR vkEnumeratePhysicalDeviceGroupsKHR; +#endif /* defined(VK_KHR_device_group_creation) */ +#if defined(VK_KHR_display) +extern PFN_vkCreateDisplayModeKHR vkCreateDisplayModeKHR; +extern PFN_vkCreateDisplayPlaneSurfaceKHR vkCreateDisplayPlaneSurfaceKHR; +extern PFN_vkGetDisplayModePropertiesKHR vkGetDisplayModePropertiesKHR; +extern PFN_vkGetDisplayPlaneCapabilitiesKHR vkGetDisplayPlaneCapabilitiesKHR; +extern PFN_vkGetDisplayPlaneSupportedDisplaysKHR vkGetDisplayPlaneSupportedDisplaysKHR; +extern PFN_vkGetPhysicalDeviceDisplayPlanePropertiesKHR vkGetPhysicalDeviceDisplayPlanePropertiesKHR; +extern PFN_vkGetPhysicalDeviceDisplayPropertiesKHR vkGetPhysicalDeviceDisplayPropertiesKHR; +#endif /* defined(VK_KHR_display) */ +#if defined(VK_KHR_display_swapchain) +extern PFN_vkCreateSharedSwapchainsKHR vkCreateSharedSwapchainsKHR; +#endif /* defined(VK_KHR_display_swapchain) */ +#if defined(VK_KHR_draw_indirect_count) +extern PFN_vkCmdDrawIndexedIndirectCountKHR vkCmdDrawIndexedIndirectCountKHR; +extern PFN_vkCmdDrawIndirectCountKHR vkCmdDrawIndirectCountKHR; +#endif /* defined(VK_KHR_draw_indirect_count) */ +#if defined(VK_KHR_dynamic_rendering) +extern PFN_vkCmdBeginRenderingKHR vkCmdBeginRenderingKHR; +extern PFN_vkCmdEndRenderingKHR vkCmdEndRenderingKHR; +#endif /* defined(VK_KHR_dynamic_rendering) */ +#if defined(VK_KHR_external_fence_capabilities) +extern PFN_vkGetPhysicalDeviceExternalFencePropertiesKHR vkGetPhysicalDeviceExternalFencePropertiesKHR; +#endif /* defined(VK_KHR_external_fence_capabilities) */ +#if defined(VK_KHR_external_fence_fd) +extern PFN_vkGetFenceFdKHR vkGetFenceFdKHR; +extern PFN_vkImportFenceFdKHR vkImportFenceFdKHR; +#endif /* defined(VK_KHR_external_fence_fd) */ +#if defined(VK_KHR_external_fence_win32) +extern PFN_vkGetFenceWin32HandleKHR vkGetFenceWin32HandleKHR; +extern PFN_vkImportFenceWin32HandleKHR vkImportFenceWin32HandleKHR; +#endif /* defined(VK_KHR_external_fence_win32) */ +#if defined(VK_KHR_external_memory_capabilities) +extern PFN_vkGetPhysicalDeviceExternalBufferPropertiesKHR vkGetPhysicalDeviceExternalBufferPropertiesKHR; +#endif /* defined(VK_KHR_external_memory_capabilities) */ +#if defined(VK_KHR_external_memory_fd) +extern PFN_vkGetMemoryFdKHR vkGetMemoryFdKHR; +extern PFN_vkGetMemoryFdPropertiesKHR vkGetMemoryFdPropertiesKHR; +#endif /* defined(VK_KHR_external_memory_fd) */ +#if defined(VK_KHR_external_memory_win32) +extern PFN_vkGetMemoryWin32HandleKHR vkGetMemoryWin32HandleKHR; +extern PFN_vkGetMemoryWin32HandlePropertiesKHR vkGetMemoryWin32HandlePropertiesKHR; +#endif /* defined(VK_KHR_external_memory_win32) */ +#if defined(VK_KHR_external_semaphore_capabilities) +extern PFN_vkGetPhysicalDeviceExternalSemaphorePropertiesKHR vkGetPhysicalDeviceExternalSemaphorePropertiesKHR; +#endif /* defined(VK_KHR_external_semaphore_capabilities) */ +#if defined(VK_KHR_external_semaphore_fd) +extern PFN_vkGetSemaphoreFdKHR vkGetSemaphoreFdKHR; +extern PFN_vkImportSemaphoreFdKHR vkImportSemaphoreFdKHR; +#endif /* defined(VK_KHR_external_semaphore_fd) */ +#if defined(VK_KHR_external_semaphore_win32) +extern PFN_vkGetSemaphoreWin32HandleKHR vkGetSemaphoreWin32HandleKHR; +extern PFN_vkImportSemaphoreWin32HandleKHR vkImportSemaphoreWin32HandleKHR; +#endif /* defined(VK_KHR_external_semaphore_win32) */ +#if defined(VK_KHR_fragment_shading_rate) +extern PFN_vkCmdSetFragmentShadingRateKHR vkCmdSetFragmentShadingRateKHR; +extern PFN_vkGetPhysicalDeviceFragmentShadingRatesKHR vkGetPhysicalDeviceFragmentShadingRatesKHR; +#endif /* defined(VK_KHR_fragment_shading_rate) */ +#if defined(VK_KHR_get_display_properties2) +extern PFN_vkGetDisplayModeProperties2KHR vkGetDisplayModeProperties2KHR; +extern PFN_vkGetDisplayPlaneCapabilities2KHR vkGetDisplayPlaneCapabilities2KHR; +extern PFN_vkGetPhysicalDeviceDisplayPlaneProperties2KHR vkGetPhysicalDeviceDisplayPlaneProperties2KHR; +extern PFN_vkGetPhysicalDeviceDisplayProperties2KHR vkGetPhysicalDeviceDisplayProperties2KHR; +#endif /* defined(VK_KHR_get_display_properties2) */ +#if defined(VK_KHR_get_memory_requirements2) +extern PFN_vkGetBufferMemoryRequirements2KHR vkGetBufferMemoryRequirements2KHR; +extern PFN_vkGetImageMemoryRequirements2KHR vkGetImageMemoryRequirements2KHR; +extern PFN_vkGetImageSparseMemoryRequirements2KHR vkGetImageSparseMemoryRequirements2KHR; +#endif /* defined(VK_KHR_get_memory_requirements2) */ +#if defined(VK_KHR_get_physical_device_properties2) +extern PFN_vkGetPhysicalDeviceFeatures2KHR vkGetPhysicalDeviceFeatures2KHR; +extern PFN_vkGetPhysicalDeviceFormatProperties2KHR vkGetPhysicalDeviceFormatProperties2KHR; +extern PFN_vkGetPhysicalDeviceImageFormatProperties2KHR vkGetPhysicalDeviceImageFormatProperties2KHR; +extern PFN_vkGetPhysicalDeviceMemoryProperties2KHR vkGetPhysicalDeviceMemoryProperties2KHR; +extern PFN_vkGetPhysicalDeviceProperties2KHR vkGetPhysicalDeviceProperties2KHR; +extern PFN_vkGetPhysicalDeviceQueueFamilyProperties2KHR vkGetPhysicalDeviceQueueFamilyProperties2KHR; +extern PFN_vkGetPhysicalDeviceSparseImageFormatProperties2KHR vkGetPhysicalDeviceSparseImageFormatProperties2KHR; +#endif /* defined(VK_KHR_get_physical_device_properties2) */ +#if defined(VK_KHR_get_surface_capabilities2) +extern PFN_vkGetPhysicalDeviceSurfaceCapabilities2KHR vkGetPhysicalDeviceSurfaceCapabilities2KHR; +extern PFN_vkGetPhysicalDeviceSurfaceFormats2KHR vkGetPhysicalDeviceSurfaceFormats2KHR; +#endif /* defined(VK_KHR_get_surface_capabilities2) */ +#if defined(VK_KHR_maintenance1) +extern PFN_vkTrimCommandPoolKHR vkTrimCommandPoolKHR; +#endif /* defined(VK_KHR_maintenance1) */ +#if defined(VK_KHR_maintenance3) +extern PFN_vkGetDescriptorSetLayoutSupportKHR vkGetDescriptorSetLayoutSupportKHR; +#endif /* defined(VK_KHR_maintenance3) */ +#if defined(VK_KHR_maintenance4) +extern PFN_vkGetDeviceBufferMemoryRequirementsKHR vkGetDeviceBufferMemoryRequirementsKHR; +extern PFN_vkGetDeviceImageMemoryRequirementsKHR vkGetDeviceImageMemoryRequirementsKHR; +extern PFN_vkGetDeviceImageSparseMemoryRequirementsKHR vkGetDeviceImageSparseMemoryRequirementsKHR; +#endif /* defined(VK_KHR_maintenance4) */ +#if defined(VK_KHR_performance_query) +extern PFN_vkAcquireProfilingLockKHR vkAcquireProfilingLockKHR; +extern PFN_vkEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR vkEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR; +extern PFN_vkGetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR vkGetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR; +extern PFN_vkReleaseProfilingLockKHR vkReleaseProfilingLockKHR; +#endif /* defined(VK_KHR_performance_query) */ +#if defined(VK_KHR_pipeline_executable_properties) +extern PFN_vkGetPipelineExecutableInternalRepresentationsKHR vkGetPipelineExecutableInternalRepresentationsKHR; +extern PFN_vkGetPipelineExecutablePropertiesKHR vkGetPipelineExecutablePropertiesKHR; +extern PFN_vkGetPipelineExecutableStatisticsKHR vkGetPipelineExecutableStatisticsKHR; +#endif /* defined(VK_KHR_pipeline_executable_properties) */ +#if defined(VK_KHR_present_wait) +extern PFN_vkWaitForPresentKHR vkWaitForPresentKHR; +#endif /* defined(VK_KHR_present_wait) */ +#if defined(VK_KHR_push_descriptor) +extern PFN_vkCmdPushDescriptorSetKHR vkCmdPushDescriptorSetKHR; +#endif /* defined(VK_KHR_push_descriptor) */ +#if defined(VK_KHR_ray_tracing_maintenance1) && defined(VK_KHR_ray_tracing_pipeline) +extern PFN_vkCmdTraceRaysIndirect2KHR vkCmdTraceRaysIndirect2KHR; +#endif /* defined(VK_KHR_ray_tracing_maintenance1) && defined(VK_KHR_ray_tracing_pipeline) */ +#if defined(VK_KHR_ray_tracing_pipeline) +extern PFN_vkCmdSetRayTracingPipelineStackSizeKHR vkCmdSetRayTracingPipelineStackSizeKHR; +extern PFN_vkCmdTraceRaysIndirectKHR vkCmdTraceRaysIndirectKHR; +extern PFN_vkCmdTraceRaysKHR vkCmdTraceRaysKHR; +extern PFN_vkCreateRayTracingPipelinesKHR vkCreateRayTracingPipelinesKHR; +extern PFN_vkGetRayTracingCaptureReplayShaderGroupHandlesKHR vkGetRayTracingCaptureReplayShaderGroupHandlesKHR; +extern PFN_vkGetRayTracingShaderGroupHandlesKHR vkGetRayTracingShaderGroupHandlesKHR; +extern PFN_vkGetRayTracingShaderGroupStackSizeKHR vkGetRayTracingShaderGroupStackSizeKHR; +#endif /* defined(VK_KHR_ray_tracing_pipeline) */ +#if defined(VK_KHR_sampler_ycbcr_conversion) +extern PFN_vkCreateSamplerYcbcrConversionKHR vkCreateSamplerYcbcrConversionKHR; +extern PFN_vkDestroySamplerYcbcrConversionKHR vkDestroySamplerYcbcrConversionKHR; +#endif /* defined(VK_KHR_sampler_ycbcr_conversion) */ +#if defined(VK_KHR_shared_presentable_image) +extern PFN_vkGetSwapchainStatusKHR vkGetSwapchainStatusKHR; +#endif /* defined(VK_KHR_shared_presentable_image) */ +#if defined(VK_KHR_surface) +extern PFN_vkDestroySurfaceKHR vkDestroySurfaceKHR; +extern PFN_vkGetPhysicalDeviceSurfaceCapabilitiesKHR vkGetPhysicalDeviceSurfaceCapabilitiesKHR; +extern PFN_vkGetPhysicalDeviceSurfaceFormatsKHR vkGetPhysicalDeviceSurfaceFormatsKHR; +extern PFN_vkGetPhysicalDeviceSurfacePresentModesKHR vkGetPhysicalDeviceSurfacePresentModesKHR; +extern PFN_vkGetPhysicalDeviceSurfaceSupportKHR vkGetPhysicalDeviceSurfaceSupportKHR; +#endif /* defined(VK_KHR_surface) */ +#if defined(VK_KHR_swapchain) +extern PFN_vkAcquireNextImageKHR vkAcquireNextImageKHR; +extern PFN_vkCreateSwapchainKHR vkCreateSwapchainKHR; +extern PFN_vkDestroySwapchainKHR vkDestroySwapchainKHR; +extern PFN_vkGetSwapchainImagesKHR vkGetSwapchainImagesKHR; +extern PFN_vkQueuePresentKHR vkQueuePresentKHR; +#endif /* defined(VK_KHR_swapchain) */ +#if defined(VK_KHR_synchronization2) +extern PFN_vkCmdPipelineBarrier2KHR vkCmdPipelineBarrier2KHR; +extern PFN_vkCmdResetEvent2KHR vkCmdResetEvent2KHR; +extern PFN_vkCmdSetEvent2KHR vkCmdSetEvent2KHR; +extern PFN_vkCmdWaitEvents2KHR vkCmdWaitEvents2KHR; +extern PFN_vkCmdWriteTimestamp2KHR vkCmdWriteTimestamp2KHR; +extern PFN_vkQueueSubmit2KHR vkQueueSubmit2KHR; +#endif /* defined(VK_KHR_synchronization2) */ +#if defined(VK_KHR_synchronization2) && defined(VK_AMD_buffer_marker) +extern PFN_vkCmdWriteBufferMarker2AMD vkCmdWriteBufferMarker2AMD; +#endif /* defined(VK_KHR_synchronization2) && defined(VK_AMD_buffer_marker) */ +#if defined(VK_KHR_synchronization2) && defined(VK_NV_device_diagnostic_checkpoints) +extern PFN_vkGetQueueCheckpointData2NV vkGetQueueCheckpointData2NV; +#endif /* defined(VK_KHR_synchronization2) && defined(VK_NV_device_diagnostic_checkpoints) */ +#if defined(VK_KHR_timeline_semaphore) +extern PFN_vkGetSemaphoreCounterValueKHR vkGetSemaphoreCounterValueKHR; +extern PFN_vkSignalSemaphoreKHR vkSignalSemaphoreKHR; +extern PFN_vkWaitSemaphoresKHR vkWaitSemaphoresKHR; +#endif /* defined(VK_KHR_timeline_semaphore) */ +#if defined(VK_KHR_video_decode_queue) +extern PFN_vkCmdDecodeVideoKHR vkCmdDecodeVideoKHR; +#endif /* defined(VK_KHR_video_decode_queue) */ +#if defined(VK_KHR_video_encode_queue) +extern PFN_vkCmdEncodeVideoKHR vkCmdEncodeVideoKHR; +#endif /* defined(VK_KHR_video_encode_queue) */ +#if defined(VK_KHR_video_queue) +extern PFN_vkBindVideoSessionMemoryKHR vkBindVideoSessionMemoryKHR; +extern PFN_vkCmdBeginVideoCodingKHR vkCmdBeginVideoCodingKHR; +extern PFN_vkCmdControlVideoCodingKHR vkCmdControlVideoCodingKHR; +extern PFN_vkCmdEndVideoCodingKHR vkCmdEndVideoCodingKHR; +extern PFN_vkCreateVideoSessionKHR vkCreateVideoSessionKHR; +extern PFN_vkCreateVideoSessionParametersKHR vkCreateVideoSessionParametersKHR; +extern PFN_vkDestroyVideoSessionKHR vkDestroyVideoSessionKHR; +extern PFN_vkDestroyVideoSessionParametersKHR vkDestroyVideoSessionParametersKHR; +extern PFN_vkGetPhysicalDeviceVideoCapabilitiesKHR vkGetPhysicalDeviceVideoCapabilitiesKHR; +extern PFN_vkGetPhysicalDeviceVideoFormatPropertiesKHR vkGetPhysicalDeviceVideoFormatPropertiesKHR; +extern PFN_vkGetVideoSessionMemoryRequirementsKHR vkGetVideoSessionMemoryRequirementsKHR; +extern PFN_vkUpdateVideoSessionParametersKHR vkUpdateVideoSessionParametersKHR; +#endif /* defined(VK_KHR_video_queue) */ +#if defined(VK_KHR_wayland_surface) +extern PFN_vkCreateWaylandSurfaceKHR vkCreateWaylandSurfaceKHR; +extern PFN_vkGetPhysicalDeviceWaylandPresentationSupportKHR vkGetPhysicalDeviceWaylandPresentationSupportKHR; +#endif /* defined(VK_KHR_wayland_surface) */ +#if defined(VK_KHR_win32_surface) +extern PFN_vkCreateWin32SurfaceKHR vkCreateWin32SurfaceKHR; +extern PFN_vkGetPhysicalDeviceWin32PresentationSupportKHR vkGetPhysicalDeviceWin32PresentationSupportKHR; +#endif /* defined(VK_KHR_win32_surface) */ +#if defined(VK_KHR_xcb_surface) +extern PFN_vkCreateXcbSurfaceKHR vkCreateXcbSurfaceKHR; +extern PFN_vkGetPhysicalDeviceXcbPresentationSupportKHR vkGetPhysicalDeviceXcbPresentationSupportKHR; +#endif /* defined(VK_KHR_xcb_surface) */ +#if defined(VK_KHR_xlib_surface) +extern PFN_vkCreateXlibSurfaceKHR vkCreateXlibSurfaceKHR; +extern PFN_vkGetPhysicalDeviceXlibPresentationSupportKHR vkGetPhysicalDeviceXlibPresentationSupportKHR; +#endif /* defined(VK_KHR_xlib_surface) */ +#if defined(VK_MVK_ios_surface) +extern PFN_vkCreateIOSSurfaceMVK vkCreateIOSSurfaceMVK; +#endif /* defined(VK_MVK_ios_surface) */ +#if defined(VK_MVK_macos_surface) +extern PFN_vkCreateMacOSSurfaceMVK vkCreateMacOSSurfaceMVK; +#endif /* defined(VK_MVK_macos_surface) */ +#if defined(VK_NN_vi_surface) +extern PFN_vkCreateViSurfaceNN vkCreateViSurfaceNN; +#endif /* defined(VK_NN_vi_surface) */ +#if defined(VK_NVX_binary_import) +extern PFN_vkCmdCuLaunchKernelNVX vkCmdCuLaunchKernelNVX; +extern PFN_vkCreateCuFunctionNVX vkCreateCuFunctionNVX; +extern PFN_vkCreateCuModuleNVX vkCreateCuModuleNVX; +extern PFN_vkDestroyCuFunctionNVX vkDestroyCuFunctionNVX; +extern PFN_vkDestroyCuModuleNVX vkDestroyCuModuleNVX; +#endif /* defined(VK_NVX_binary_import) */ +#if defined(VK_NVX_image_view_handle) +extern PFN_vkGetImageViewAddressNVX vkGetImageViewAddressNVX; +extern PFN_vkGetImageViewHandleNVX vkGetImageViewHandleNVX; +#endif /* defined(VK_NVX_image_view_handle) */ +#if defined(VK_NV_acquire_winrt_display) +extern PFN_vkAcquireWinrtDisplayNV vkAcquireWinrtDisplayNV; +extern PFN_vkGetWinrtDisplayNV vkGetWinrtDisplayNV; +#endif /* defined(VK_NV_acquire_winrt_display) */ +#if defined(VK_NV_clip_space_w_scaling) +extern PFN_vkCmdSetViewportWScalingNV vkCmdSetViewportWScalingNV; +#endif /* defined(VK_NV_clip_space_w_scaling) */ +#if defined(VK_NV_cooperative_matrix) +extern PFN_vkGetPhysicalDeviceCooperativeMatrixPropertiesNV vkGetPhysicalDeviceCooperativeMatrixPropertiesNV; +#endif /* defined(VK_NV_cooperative_matrix) */ +#if defined(VK_NV_copy_memory_indirect) +extern PFN_vkCmdCopyMemoryIndirectNV vkCmdCopyMemoryIndirectNV; +extern PFN_vkCmdCopyMemoryToImageIndirectNV vkCmdCopyMemoryToImageIndirectNV; +#endif /* defined(VK_NV_copy_memory_indirect) */ +#if defined(VK_NV_coverage_reduction_mode) +extern PFN_vkGetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV vkGetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV; +#endif /* defined(VK_NV_coverage_reduction_mode) */ +#if defined(VK_NV_device_diagnostic_checkpoints) +extern PFN_vkCmdSetCheckpointNV vkCmdSetCheckpointNV; +extern PFN_vkGetQueueCheckpointDataNV vkGetQueueCheckpointDataNV; +#endif /* defined(VK_NV_device_diagnostic_checkpoints) */ +#if defined(VK_NV_device_generated_commands) +extern PFN_vkCmdBindPipelineShaderGroupNV vkCmdBindPipelineShaderGroupNV; +extern PFN_vkCmdExecuteGeneratedCommandsNV vkCmdExecuteGeneratedCommandsNV; +extern PFN_vkCmdPreprocessGeneratedCommandsNV vkCmdPreprocessGeneratedCommandsNV; +extern PFN_vkCreateIndirectCommandsLayoutNV vkCreateIndirectCommandsLayoutNV; +extern PFN_vkDestroyIndirectCommandsLayoutNV vkDestroyIndirectCommandsLayoutNV; +extern PFN_vkGetGeneratedCommandsMemoryRequirementsNV vkGetGeneratedCommandsMemoryRequirementsNV; +#endif /* defined(VK_NV_device_generated_commands) */ +#if defined(VK_NV_external_memory_capabilities) +extern PFN_vkGetPhysicalDeviceExternalImageFormatPropertiesNV vkGetPhysicalDeviceExternalImageFormatPropertiesNV; +#endif /* defined(VK_NV_external_memory_capabilities) */ +#if defined(VK_NV_external_memory_rdma) +extern PFN_vkGetMemoryRemoteAddressNV vkGetMemoryRemoteAddressNV; +#endif /* defined(VK_NV_external_memory_rdma) */ +#if defined(VK_NV_external_memory_win32) +extern PFN_vkGetMemoryWin32HandleNV vkGetMemoryWin32HandleNV; +#endif /* defined(VK_NV_external_memory_win32) */ +#if defined(VK_NV_fragment_shading_rate_enums) +extern PFN_vkCmdSetFragmentShadingRateEnumNV vkCmdSetFragmentShadingRateEnumNV; +#endif /* defined(VK_NV_fragment_shading_rate_enums) */ +#if defined(VK_NV_memory_decompression) +extern PFN_vkCmdDecompressMemoryIndirectCountNV vkCmdDecompressMemoryIndirectCountNV; +extern PFN_vkCmdDecompressMemoryNV vkCmdDecompressMemoryNV; +#endif /* defined(VK_NV_memory_decompression) */ +#if defined(VK_NV_mesh_shader) +extern PFN_vkCmdDrawMeshTasksIndirectCountNV vkCmdDrawMeshTasksIndirectCountNV; +extern PFN_vkCmdDrawMeshTasksIndirectNV vkCmdDrawMeshTasksIndirectNV; +extern PFN_vkCmdDrawMeshTasksNV vkCmdDrawMeshTasksNV; +#endif /* defined(VK_NV_mesh_shader) */ +#if defined(VK_NV_optical_flow) +extern PFN_vkBindOpticalFlowSessionImageNV vkBindOpticalFlowSessionImageNV; +extern PFN_vkCmdOpticalFlowExecuteNV vkCmdOpticalFlowExecuteNV; +extern PFN_vkCreateOpticalFlowSessionNV vkCreateOpticalFlowSessionNV; +extern PFN_vkDestroyOpticalFlowSessionNV vkDestroyOpticalFlowSessionNV; +extern PFN_vkGetPhysicalDeviceOpticalFlowImageFormatsNV vkGetPhysicalDeviceOpticalFlowImageFormatsNV; +#endif /* defined(VK_NV_optical_flow) */ +#if defined(VK_NV_ray_tracing) +extern PFN_vkBindAccelerationStructureMemoryNV vkBindAccelerationStructureMemoryNV; +extern PFN_vkCmdBuildAccelerationStructureNV vkCmdBuildAccelerationStructureNV; +extern PFN_vkCmdCopyAccelerationStructureNV vkCmdCopyAccelerationStructureNV; +extern PFN_vkCmdTraceRaysNV vkCmdTraceRaysNV; +extern PFN_vkCmdWriteAccelerationStructuresPropertiesNV vkCmdWriteAccelerationStructuresPropertiesNV; +extern PFN_vkCompileDeferredNV vkCompileDeferredNV; +extern PFN_vkCreateAccelerationStructureNV vkCreateAccelerationStructureNV; +extern PFN_vkCreateRayTracingPipelinesNV vkCreateRayTracingPipelinesNV; +extern PFN_vkDestroyAccelerationStructureNV vkDestroyAccelerationStructureNV; +extern PFN_vkGetAccelerationStructureHandleNV vkGetAccelerationStructureHandleNV; +extern PFN_vkGetAccelerationStructureMemoryRequirementsNV vkGetAccelerationStructureMemoryRequirementsNV; +extern PFN_vkGetRayTracingShaderGroupHandlesNV vkGetRayTracingShaderGroupHandlesNV; +#endif /* defined(VK_NV_ray_tracing) */ +#if defined(VK_NV_scissor_exclusive) +extern PFN_vkCmdSetExclusiveScissorNV vkCmdSetExclusiveScissorNV; +#endif /* defined(VK_NV_scissor_exclusive) */ +#if defined(VK_NV_shading_rate_image) +extern PFN_vkCmdBindShadingRateImageNV vkCmdBindShadingRateImageNV; +extern PFN_vkCmdSetCoarseSampleOrderNV vkCmdSetCoarseSampleOrderNV; +extern PFN_vkCmdSetViewportShadingRatePaletteNV vkCmdSetViewportShadingRatePaletteNV; +#endif /* defined(VK_NV_shading_rate_image) */ +#if defined(VK_QCOM_tile_properties) +extern PFN_vkGetDynamicRenderingTilePropertiesQCOM vkGetDynamicRenderingTilePropertiesQCOM; +extern PFN_vkGetFramebufferTilePropertiesQCOM vkGetFramebufferTilePropertiesQCOM; +#endif /* defined(VK_QCOM_tile_properties) */ +#if defined(VK_QNX_screen_surface) +extern PFN_vkCreateScreenSurfaceQNX vkCreateScreenSurfaceQNX; +extern PFN_vkGetPhysicalDeviceScreenPresentationSupportQNX vkGetPhysicalDeviceScreenPresentationSupportQNX; +#endif /* defined(VK_QNX_screen_surface) */ +#if defined(VK_VALVE_descriptor_set_host_mapping) +extern PFN_vkGetDescriptorSetHostMappingVALVE vkGetDescriptorSetHostMappingVALVE; +extern PFN_vkGetDescriptorSetLayoutHostMappingInfoVALVE vkGetDescriptorSetLayoutHostMappingInfoVALVE; +#endif /* defined(VK_VALVE_descriptor_set_host_mapping) */ +#if (defined(VK_EXT_full_screen_exclusive) && defined(VK_KHR_device_group)) || (defined(VK_EXT_full_screen_exclusive) && defined(VK_VERSION_1_1)) +extern PFN_vkGetDeviceGroupSurfacePresentModes2EXT vkGetDeviceGroupSurfacePresentModes2EXT; +#endif /* (defined(VK_EXT_full_screen_exclusive) && defined(VK_KHR_device_group)) || (defined(VK_EXT_full_screen_exclusive) && defined(VK_VERSION_1_1)) */ +#if (defined(VK_KHR_descriptor_update_template) && defined(VK_KHR_push_descriptor)) || (defined(VK_KHR_push_descriptor) && defined(VK_VERSION_1_1)) || (defined(VK_KHR_push_descriptor) && defined(VK_KHR_descriptor_update_template)) +extern PFN_vkCmdPushDescriptorSetWithTemplateKHR vkCmdPushDescriptorSetWithTemplateKHR; +#endif /* (defined(VK_KHR_descriptor_update_template) && defined(VK_KHR_push_descriptor)) || (defined(VK_KHR_push_descriptor) && defined(VK_VERSION_1_1)) || (defined(VK_KHR_push_descriptor) && defined(VK_KHR_descriptor_update_template)) */ +#if (defined(VK_KHR_device_group) && defined(VK_KHR_surface)) || (defined(VK_KHR_swapchain) && defined(VK_VERSION_1_1)) +extern PFN_vkGetDeviceGroupPresentCapabilitiesKHR vkGetDeviceGroupPresentCapabilitiesKHR; +extern PFN_vkGetDeviceGroupSurfacePresentModesKHR vkGetDeviceGroupSurfacePresentModesKHR; +extern PFN_vkGetPhysicalDevicePresentRectanglesKHR vkGetPhysicalDevicePresentRectanglesKHR; +#endif /* (defined(VK_KHR_device_group) && defined(VK_KHR_surface)) || (defined(VK_KHR_swapchain) && defined(VK_VERSION_1_1)) */ +#if (defined(VK_KHR_device_group) && defined(VK_KHR_swapchain)) || (defined(VK_KHR_swapchain) && defined(VK_VERSION_1_1)) +extern PFN_vkAcquireNextImage2KHR vkAcquireNextImage2KHR; +#endif /* (defined(VK_KHR_device_group) && defined(VK_KHR_swapchain)) || (defined(VK_KHR_swapchain) && defined(VK_VERSION_1_1)) */ +/* VOLK_GENERATE_PROTOTYPES_H */ + +#ifdef __cplusplus +} +#endif + +#endif + +#ifdef VOLK_IMPLEMENTATION +#undef VOLK_IMPLEMENTATION +// Prevent tools like dependency checkers that don't evaluate +// macros from detecting a cyclic dependency. +#define VOLK_SOURCE "volk.c" +#include VOLK_SOURCE +#endif + +/** + * Copyright (c) 2018-2022 Arseny Kapoulkine + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. +*/ +/* clang-format on */ diff --git a/MacroLibX/valgrind.supp b/MacroLibX/valgrind.supp new file mode 100644 index 0000000..ed92da5 --- /dev/null +++ b/MacroLibX/valgrind.supp @@ -0,0 +1,3246 @@ +{ + name + Memcheck:Leak + fun:*alloc + ... + obj:*libmlx* + ... +} +{ + name + Memcheck:Leak + fun:*alloc + ... + obj:*SDL* + ... +} +{ + name + Memcheck:Leak + fun:*alloc + ... + obj:*X11* + ... +} +{ + name + Memcheck:Leak + fun:*alloc + ... + obj:*libGLX_nvidia.so* + ... +} +{ + name + Memcheck:ReallocZero + fun:realloc + ... + obj:*libGLX_nvidia.so* + ... +} +{ + name + Memcheck:BadSize + fun:posix_memalign + ... + obj:*libGLX_nvidia.so* + ... +} +{ + name + Memcheck:Leak + match-leak-kinds: indirect + fun:malloc + obj:* + obj:* + fun:X11_InitKeyboard + fun:X11_VideoInit.lto_priv.0 + fun:SDL_VideoInit_REAL + fun:SDL_InitSubSystem_REAL.part.0 + fun:_ZN3mlx4core11ApplicationC1Ev + fun:mlx_init + fun:main +} +{ + name + Memcheck:Leak + match-leak-kinds: indirect + fun:malloc + fun:strdup + obj:* + obj:* + obj:* + obj:* + fun:X11_InitKeyboard + fun:X11_VideoInit.lto_priv.0 + fun:SDL_VideoInit_REAL + fun:SDL_InitSubSystem_REAL.part.0 + fun:_ZN3mlx4core11ApplicationC1Ev + fun:mlx_init +} +{ + name + Memcheck:Leak + match-leak-kinds: indirect + fun:malloc + fun:strdup + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* + fun:X11_InitKeyboard + fun:X11_VideoInit.lto_priv.0 + fun:SDL_VideoInit_REAL +} +{ + name + Memcheck:Leak + match-leak-kinds: indirect + fun:malloc + fun:strdup + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* + fun:X11_InitKeyboard + fun:X11_VideoInit.lto_priv.0 + fun:SDL_VideoInit_REAL + fun:SDL_InitSubSystem_REAL.part.0 +} +{ + name + Memcheck:Leak + match-leak-kinds: indirect + fun:malloc + fun:strdup + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* + fun:X11_InitKeyboard + fun:X11_VideoInit.lto_priv.0 + fun:SDL_VideoInit_REAL + fun:SDL_InitSubSystem_REAL.part.0 +} +{ + name + Memcheck:Leak + match-leak-kinds: indirect + fun:malloc + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* +} +{ + name + Memcheck:Leak + match-leak-kinds: indirect + fun:malloc + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* +} +{ + name + Memcheck:Leak + match-leak-kinds: indirect + fun:malloc + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* +} +{ + name + Memcheck:Leak + match-leak-kinds: indirect + fun:malloc + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* +} +{ + name + Memcheck:Leak + match-leak-kinds: indirect + fun:malloc + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* +} +{ + name + Memcheck:Leak + match-leak-kinds: definite + fun:realloc + obj:* + obj:* + obj:* + obj:* + fun:SDL_DBus_Init_Spinlocked.lto_priv.0 + fun:UnknownInlinedFun + fun:SDL_InitSubSystem_REAL.part.0 + fun:_ZN3mlx4core11ApplicationC1Ev + fun:mlx_init + fun:main +} +{ + name + Memcheck:Leak + match-leak-kinds: definite + fun:malloc + obj:* + fun:X11_InitKeyboard + fun:X11_VideoInit.lto_priv.0 + fun:SDL_VideoInit_REAL + fun:SDL_InitSubSystem_REAL.part.0 + fun:_ZN3mlx4core11ApplicationC1Ev + fun:mlx_init + fun:main +} +{ + name + Memcheck:Leak + match-leak-kinds: indirect + fun:malloc + fun:strdup + obj:* + obj:* + obj:* + obj:* + fun:X11_InitKeyboard + fun:X11_VideoInit.lto_priv.0 + fun:SDL_VideoInit_REAL + fun:SDL_InitSubSystem_REAL.part.0 + fun:_ZN3mlx4core11ApplicationC1Ev + fun:mlx_init +} +{ + name + Memcheck:Leak + match-leak-kinds: indirect + fun:malloc + obj:* + obj:* + obj:* + obj:* + fun:X11_InitKeyboard + fun:X11_VideoInit.lto_priv.0 + fun:SDL_VideoInit_REAL + fun:SDL_InitSubSystem_REAL.part.0 + fun:_ZN3mlx4core11ApplicationC1Ev + fun:mlx_init + fun:main +} +{ + name + Memcheck:Leak + match-leak-kinds: indirect + fun:malloc + obj:* + obj:* + obj:* + obj:* + fun:X11_InitKeyboard + fun:X11_VideoInit.lto_priv.0 + fun:SDL_VideoInit_REAL + fun:SDL_InitSubSystem_REAL.part.0 + fun:_ZN3mlx4core11ApplicationC1Ev + fun:mlx_init + fun:main +} +{ + name + Memcheck:Leak + match-leak-kinds: indirect + fun:realloc + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* + fun:X11_InitKeyboard + fun:X11_VideoInit.lto_priv.0 + fun:SDL_VideoInit_REAL + fun:SDL_InitSubSystem_REAL.part.0 +} +{ + name + Memcheck:Leak + match-leak-kinds: indirect + fun:malloc + obj:* + obj:* + fun:X11_InitKeyboard + fun:X11_VideoInit.lto_priv.0 + fun:SDL_VideoInit_REAL + fun:SDL_InitSubSystem_REAL.part.0 + fun:_ZN3mlx4core11ApplicationC1Ev + fun:mlx_init + fun:main +} +{ + name + Memcheck:Leak + match-leak-kinds: indirect + fun:realloc + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* +} +{ + name + Memcheck:Leak + match-leak-kinds: indirect + fun:malloc + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* + fun:X11_InitKeyboard + fun:X11_VideoInit.lto_priv.0 + fun:SDL_VideoInit_REAL + fun:SDL_InitSubSystem_REAL.part.0 + fun:_ZN3mlx4core11ApplicationC1Ev +} +{ + name + Memcheck:Leak + match-leak-kinds: indirect + fun:malloc + obj:* + fun:SDL_DBus_Init_Spinlocked.lto_priv.0 + fun:UnknownInlinedFun + fun:SDL_InitSubSystem_REAL.part.0 + fun:_ZN3mlx4core11ApplicationC1Ev + fun:mlx_init + fun:main +} +{ + name + Memcheck:Leak + match-leak-kinds: indirect + fun:malloc + obj:* + obj:* + fun:SDL_DBus_Init_Spinlocked.lto_priv.0 + fun:UnknownInlinedFun + fun:SDL_InitSubSystem_REAL.part.0 + fun:_ZN3mlx4core11ApplicationC1Ev + fun:mlx_init + fun:main +} +{ + name + Memcheck:Leak + match-leak-kinds: indirect + fun:malloc + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* + fun:SDL_DBus_Init_Spinlocked.lto_priv.0 + fun:UnknownInlinedFun + fun:SDL_InitSubSystem_REAL.part.0 + fun:_ZN3mlx4core11ApplicationC1Ev + fun:mlx_init + fun:main +} +{ + name + Memcheck:Leak + match-leak-kinds: indirect + fun:calloc + obj:* + obj:* + obj:* + obj:* + obj:* + fun:X11_InitKeyboard + fun:X11_VideoInit.lto_priv.0 + fun:SDL_VideoInit_REAL + fun:SDL_InitSubSystem_REAL.part.0 + fun:_ZN3mlx4core11ApplicationC1Ev + fun:mlx_init +} +{ + name + Memcheck:Leak + match-leak-kinds: indirect + fun:calloc + obj:* + obj:* + obj:* + obj:* + obj:* + fun:X11_InitKeyboard + fun:X11_VideoInit.lto_priv.0 + fun:SDL_VideoInit_REAL + fun:SDL_InitSubSystem_REAL.part.0 + fun:_ZN3mlx4core11ApplicationC1Ev + fun:mlx_init +} +{ + name + Memcheck:Leak + match-leak-kinds: indirect + fun:realloc + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* + fun:X11_InitKeyboard + fun:X11_VideoInit.lto_priv.0 + fun:SDL_VideoInit_REAL + fun:SDL_InitSubSystem_REAL.part.0 +} +{ + name + Memcheck:Leak + match-leak-kinds: indirect + fun:calloc + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* +} +{ + name + Memcheck:Leak + match-leak-kinds: indirect + fun:calloc + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* +} +{ + name + Memcheck:Leak + match-leak-kinds: definite + fun:malloc + obj:* + obj:* + fun:SDL_DBus_Init_Spinlocked.lto_priv.0 + fun:UnknownInlinedFun + fun:SDL_InitSubSystem_REAL.part.0 + fun:_ZN3mlx4core11ApplicationC1Ev + fun:mlx_init + fun:main +} +{ + name + Memcheck:Leak + match-leak-kinds: definite + fun:malloc + obj:* + obj:* + fun:SDL_DBus_Init_Spinlocked.lto_priv.0 + fun:UnknownInlinedFun + fun:SDL_InitSubSystem_REAL.part.0 + fun:_ZN3mlx4core11ApplicationC1Ev + fun:mlx_init + fun:main +} +{ + name + Memcheck:Leak + match-leak-kinds: indirect + fun:realloc + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* +} +{ + name + Memcheck:Leak + match-leak-kinds: indirect + fun:realloc + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* +} +{ + name + Memcheck:Leak + match-leak-kinds: definite + fun:malloc + obj:* + obj:* + fun:X11_InitKeyboard + fun:X11_VideoInit.lto_priv.0 + fun:SDL_VideoInit_REAL + fun:SDL_InitSubSystem_REAL.part.0 + fun:_ZN3mlx4core11ApplicationC1Ev + fun:mlx_init + fun:main +} +{ + name + Memcheck:Leak + match-leak-kinds: indirect + fun:malloc + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* +} +{ + name + Memcheck:Leak + match-leak-kinds: definite + fun:malloc + obj:* + obj:* + fun:SDL_DBus_Init_Spinlocked.lto_priv.0 + fun:UnknownInlinedFun + fun:SDL_InitSubSystem_REAL.part.0 + fun:_ZN3mlx4core11ApplicationC1Ev + fun:mlx_init + fun:main +} +{ + name + Memcheck:Leak + match-leak-kinds: reachable + fun:realloc + fun:SDL_GetErrBuf + fun:SDL_SetError_REAL + fun:destroy + fun:_ZN3mlx10MLX_WindowD1Ev + fun:_M_release + fun:~__shared_count + fun:~__shared_ptr + fun:~pair + fun:destroy > > + fun:destroy > > + fun:_M_deallocate_node + fun:_M_deallocate_nodes + fun:clear + fun:_ZNSt10_HashtableIjSt4pairIKjSt10shared_ptrIN3mlx10MLX_WindowEEESaIS6_ENSt8__detail10_Select1stESt8equal_toIjESt4hashIjENS8_18_Mod_range_hashingENS8_20_Default_ranged_hashENS8_20_Prime_rehash_policyENS8_17_Hashtable_traitsILb0ELb0ELb1EEEED2Ev + fun:~unordered_map + fun:~Input + fun:operator() + fun:~unique_ptr + fun:_ZN3mlx4core11ApplicationD1Ev + fun:mlx_destroy_display + fun:main +} +{ + name + Memcheck:Leak + match-leak-kinds: indirect + fun:malloc + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* + fun:X11_InitKeyboard + fun:X11_VideoInit.lto_priv.0 + fun:SDL_VideoInit_REAL + fun:SDL_InitSubSystem_REAL.part.0 +} +{ + name + Memcheck:Leak + match-leak-kinds: indirect + fun:calloc + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* +} +{ + name + Memcheck:Leak + match-leak-kinds: indirect + fun:malloc + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* +} +{ + name + Memcheck:Leak + match-leak-kinds: indirect + fun:calloc + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* +} +{ + name + Memcheck:Leak + match-leak-kinds: indirect + fun:malloc + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* +} +{ + name + Memcheck:Leak + match-leak-kinds: indirect + fun:malloc + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* +} +{ + name + Memcheck:Leak + match-leak-kinds: indirect + fun:malloc + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* +} +{ + name + Memcheck:Leak + match-leak-kinds: indirect + fun:malloc + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* +} +{ + name + Memcheck:Leak + match-leak-kinds: indirect + fun:malloc + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* +} +{ + name + Memcheck:Leak + match-leak-kinds: reachable + fun:realloc + fun:SDL_SetError_REAL + fun:destroy + fun:_ZN3mlx10MLX_WindowD1Ev + fun:_M_release + fun:~__shared_count + fun:~__shared_ptr + fun:~pair + fun:destroy > > + fun:destroy > > + fun:_M_deallocate_node + fun:_M_deallocate_nodes + fun:clear + fun:_ZNSt10_HashtableIjSt4pairIKjSt10shared_ptrIN3mlx10MLX_WindowEEESaIS6_ENSt8__detail10_Select1stESt8equal_toIjESt4hashIjENS8_18_Mod_range_hashingENS8_20_Default_ranged_hashENS8_20_Prime_rehash_policyENS8_17_Hashtable_traitsILb0ELb0ELb1EEEED2Ev + fun:~unordered_map + fun:~Input + fun:operator() + fun:~unique_ptr + fun:_ZN3mlx4core11ApplicationD1Ev + fun:mlx_destroy_display + fun:main +} +{ + name + Memcheck:Leak + match-leak-kinds: indirect + fun:malloc + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* + fun:X11_InitKeyboard + fun:X11_VideoInit.lto_priv.0 + fun:SDL_VideoInit_REAL +} +{ + name + Memcheck:Leak + match-leak-kinds: indirect + fun:calloc + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* +} +{ + name + Memcheck:Leak + match-leak-kinds: indirect + fun:calloc + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* +} +{ + name + Memcheck:Leak + match-leak-kinds: indirect + fun:malloc + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* +} +{ + name + Memcheck:Leak + match-leak-kinds: indirect + fun:malloc + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* +} +{ + name + Memcheck:Leak + match-leak-kinds: indirect + fun:malloc + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* + fun:X11_InitKeyboard + fun:X11_VideoInit.lto_priv.0 + fun:SDL_VideoInit_REAL + fun:SDL_InitSubSystem_REAL.part.0 +} +{ + name + Memcheck:Leak + match-leak-kinds: definite + fun:malloc + obj:* + obj:* + obj:* + fun:X11_InitKeyboard + fun:X11_VideoInit.lto_priv.0 + fun:SDL_VideoInit_REAL + fun:SDL_InitSubSystem_REAL.part.0 + fun:_ZN3mlx4core11ApplicationC1Ev + fun:mlx_init + fun:main +} +{ + name + Memcheck:Leak + match-leak-kinds: indirect + fun:malloc + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* + fun:X11_InitKeyboard + fun:X11_VideoInit.lto_priv.0 + fun:SDL_VideoInit_REAL + fun:SDL_InitSubSystem_REAL.part.0 +} +{ + name + Memcheck:Leak + match-leak-kinds: indirect + fun:realloc + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* +} +{ + name + Memcheck:Leak + match-leak-kinds: indirect + fun:malloc + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* + fun:X11_InitKeyboard + fun:X11_VideoInit.lto_priv.0 + fun:SDL_VideoInit_REAL +} +{ + name + Memcheck:Leak + match-leak-kinds: indirect + fun:malloc + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* + fun:X11_InitKeyboard + fun:X11_VideoInit.lto_priv.0 + fun:SDL_VideoInit_REAL +} +{ + name + Memcheck:Leak + match-leak-kinds: indirect + fun:malloc + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* + fun:X11_InitKeyboard + fun:X11_VideoInit.lto_priv.0 + fun:SDL_VideoInit_REAL +} +{ + name + Memcheck:Leak + match-leak-kinds: indirect + fun:malloc + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* + fun:X11_InitKeyboard + fun:X11_VideoInit.lto_priv.0 + fun:SDL_VideoInit_REAL +} +{ + name + Memcheck:Leak + match-leak-kinds: indirect + fun:malloc + obj:* + obj:* + obj:* + obj:* + fun:X11_InitKeyboard + fun:X11_VideoInit.lto_priv.0 + fun:SDL_VideoInit_REAL + fun:SDL_InitSubSystem_REAL.part.0 + fun:_ZN3mlx4core11ApplicationC1Ev + fun:mlx_init + fun:main +} +{ + name + Memcheck:Leak + match-leak-kinds: indirect + fun:malloc + obj:* + obj:* + obj:* + obj:* + fun:X11_InitKeyboard + fun:X11_VideoInit.lto_priv.0 + fun:SDL_VideoInit_REAL + fun:SDL_InitSubSystem_REAL.part.0 + fun:_ZN3mlx4core11ApplicationC1Ev + fun:mlx_init + fun:main +} +{ + name + Memcheck:Leak + match-leak-kinds: indirect + fun:malloc + obj:* + obj:* + obj:* + obj:* + fun:X11_InitKeyboard + fun:X11_VideoInit.lto_priv.0 + fun:SDL_VideoInit_REAL + fun:SDL_InitSubSystem_REAL.part.0 + fun:_ZN3mlx4core11ApplicationC1Ev + fun:mlx_init + fun:main +} +{ + name + Memcheck:Leak + match-leak-kinds: indirect + fun:malloc + obj:* + obj:* + obj:* + obj:* + fun:X11_InitKeyboard + fun:X11_VideoInit.lto_priv.0 + fun:SDL_VideoInit_REAL + fun:SDL_InitSubSystem_REAL.part.0 + fun:_ZN3mlx4core11ApplicationC1Ev + fun:mlx_init + fun:main +} +{ + name + Memcheck:Leak + match-leak-kinds: indirect + fun:malloc + obj:* + obj:* + obj:* + obj:* + fun:X11_InitKeyboard + fun:X11_VideoInit.lto_priv.0 + fun:SDL_VideoInit_REAL + fun:SDL_InitSubSystem_REAL.part.0 + fun:_ZN3mlx4core11ApplicationC1Ev + fun:mlx_init + fun:main +} +{ + name + Memcheck:Leak + match-leak-kinds: indirect + fun:malloc + obj:* + obj:* + obj:* + obj:* + fun:X11_InitKeyboard + fun:X11_VideoInit.lto_priv.0 + fun:SDL_VideoInit_REAL + fun:SDL_InitSubSystem_REAL.part.0 + fun:_ZN3mlx4core11ApplicationC1Ev + fun:mlx_init + fun:main +} +{ + name + Memcheck:Leak + match-leak-kinds: indirect + fun:malloc + obj:* + obj:* + obj:* + obj:* + fun:X11_InitKeyboard + fun:X11_VideoInit.lto_priv.0 + fun:SDL_VideoInit_REAL + fun:SDL_InitSubSystem_REAL.part.0 + fun:_ZN3mlx4core11ApplicationC1Ev + fun:mlx_init + fun:main +} +{ + name + Memcheck:Leak + match-leak-kinds: indirect + fun:malloc + obj:* + obj:* + obj:* + obj:* + fun:X11_InitKeyboard + fun:X11_VideoInit.lto_priv.0 + fun:SDL_VideoInit_REAL + fun:SDL_InitSubSystem_REAL.part.0 + fun:_ZN3mlx4core11ApplicationC1Ev + fun:mlx_init + fun:main +} +{ + name + Memcheck:Leak + match-leak-kinds: indirect + fun:malloc + obj:* + obj:* + obj:* + obj:* + fun:X11_InitKeyboard + fun:X11_VideoInit.lto_priv.0 + fun:SDL_VideoInit_REAL + fun:SDL_InitSubSystem_REAL.part.0 + fun:_ZN3mlx4core11ApplicationC1Ev + fun:mlx_init + fun:main +} +{ + name + Memcheck:Leak + match-leak-kinds: indirect + fun:malloc + obj:* + obj:* + obj:* + obj:* + fun:X11_InitKeyboard + fun:X11_VideoInit.lto_priv.0 + fun:SDL_VideoInit_REAL + fun:SDL_InitSubSystem_REAL.part.0 + fun:_ZN3mlx4core11ApplicationC1Ev + fun:mlx_init + fun:main +} +{ + name + Memcheck:Leak + match-leak-kinds: indirect + fun:malloc + obj:* + obj:* + obj:* + obj:* + fun:X11_InitKeyboard + fun:X11_VideoInit.lto_priv.0 + fun:SDL_VideoInit_REAL + fun:SDL_InitSubSystem_REAL.part.0 + fun:_ZN3mlx4core11ApplicationC1Ev + fun:mlx_init + fun:main +} +{ + name + Memcheck:Leak + match-leak-kinds: indirect + fun:malloc + obj:* + obj:* + obj:* + obj:* + obj:* + fun:X11_InitKeyboard + fun:X11_VideoInit.lto_priv.0 + fun:SDL_VideoInit_REAL + fun:SDL_InitSubSystem_REAL.part.0 + fun:_ZN3mlx4core11ApplicationC1Ev + fun:mlx_init +} +{ + name + Memcheck:Leak + match-leak-kinds: indirect + fun:malloc + obj:* + obj:* + obj:* + obj:* + obj:* + fun:X11_InitKeyboard + fun:X11_VideoInit.lto_priv.0 + fun:SDL_VideoInit_REAL + fun:SDL_InitSubSystem_REAL.part.0 + fun:_ZN3mlx4core11ApplicationC1Ev + fun:mlx_init +} +{ + name + Memcheck:Leak + match-leak-kinds: indirect + fun:malloc + obj:* + obj:* + obj:* + obj:* + obj:* + fun:X11_InitKeyboard + fun:X11_VideoInit.lto_priv.0 + fun:SDL_VideoInit_REAL + fun:SDL_InitSubSystem_REAL.part.0 + fun:_ZN3mlx4core11ApplicationC1Ev + fun:mlx_init +} +{ + name + Memcheck:Leak + match-leak-kinds: indirect + fun:malloc + obj:* + obj:* + obj:* + obj:* + obj:* + fun:X11_InitKeyboard + fun:X11_VideoInit.lto_priv.0 + fun:SDL_VideoInit_REAL + fun:SDL_InitSubSystem_REAL.part.0 + fun:_ZN3mlx4core11ApplicationC1Ev + fun:mlx_init +} +{ + name + Memcheck:Leak + match-leak-kinds: indirect + fun:malloc + obj:* + obj:* + obj:* + obj:* + obj:* + fun:X11_InitKeyboard + fun:X11_VideoInit.lto_priv.0 + fun:SDL_VideoInit_REAL + fun:SDL_InitSubSystem_REAL.part.0 + fun:_ZN3mlx4core11ApplicationC1Ev + fun:mlx_init +} +{ + name + Memcheck:Leak + match-leak-kinds: indirect + fun:malloc + obj:* + obj:* + obj:* + obj:* + fun:X11_InitKeyboard + fun:X11_VideoInit.lto_priv.0 + fun:SDL_VideoInit_REAL + fun:SDL_InitSubSystem_REAL.part.0 + fun:_ZN3mlx4core11ApplicationC1Ev + fun:mlx_init + fun:main +} +{ + name + Memcheck:Leak + match-leak-kinds: indirect + fun:malloc + obj:* + obj:* + obj:* + obj:* + obj:* + fun:X11_InitKeyboard + fun:X11_VideoInit.lto_priv.0 + fun:SDL_VideoInit_REAL + fun:SDL_InitSubSystem_REAL.part.0 + fun:_ZN3mlx4core11ApplicationC1Ev + fun:mlx_init +} +{ + name + Memcheck:Leak + match-leak-kinds: indirect + fun:malloc + obj:* + obj:* + obj:* + obj:* + obj:* + fun:X11_InitKeyboard + fun:X11_VideoInit.lto_priv.0 + fun:SDL_VideoInit_REAL + fun:SDL_InitSubSystem_REAL.part.0 + fun:_ZN3mlx4core11ApplicationC1Ev + fun:mlx_init +} +{ + name + Memcheck:Leak + match-leak-kinds: indirect + fun:malloc + obj:* + obj:* + obj:* + obj:* + obj:* + fun:X11_InitKeyboard + fun:X11_VideoInit.lto_priv.0 + fun:SDL_VideoInit_REAL + fun:SDL_InitSubSystem_REAL.part.0 + fun:_ZN3mlx4core11ApplicationC1Ev + fun:mlx_init +} +{ + name + Memcheck:Leak + match-leak-kinds: indirect + fun:malloc + obj:* + obj:* + obj:* + obj:* + obj:* + fun:X11_InitKeyboard + fun:X11_VideoInit.lto_priv.0 + fun:SDL_VideoInit_REAL + fun:SDL_InitSubSystem_REAL.part.0 + fun:_ZN3mlx4core11ApplicationC1Ev + fun:mlx_init +} +{ + name + Memcheck:Leak + match-leak-kinds: indirect + fun:malloc + obj:* + obj:* + obj:* + obj:* + obj:* + fun:X11_InitKeyboard + fun:X11_VideoInit.lto_priv.0 + fun:SDL_VideoInit_REAL + fun:SDL_InitSubSystem_REAL.part.0 + fun:_ZN3mlx4core11ApplicationC1Ev + fun:mlx_init +} +{ + name + Memcheck:Leak + match-leak-kinds: indirect + fun:malloc + obj:* + obj:* + obj:* + obj:* + obj:* + fun:X11_InitKeyboard + fun:X11_VideoInit.lto_priv.0 + fun:SDL_VideoInit_REAL + fun:SDL_InitSubSystem_REAL.part.0 + fun:_ZN3mlx4core11ApplicationC1Ev + fun:mlx_init +} +{ + name + Memcheck:Leak + match-leak-kinds: indirect + fun:malloc + obj:* + obj:* + obj:* + obj:* + obj:* + fun:X11_InitKeyboard + fun:X11_VideoInit.lto_priv.0 + fun:SDL_VideoInit_REAL + fun:SDL_InitSubSystem_REAL.part.0 + fun:_ZN3mlx4core11ApplicationC1Ev + fun:mlx_init +} +{ + name + Memcheck:Leak + match-leak-kinds: indirect + fun:malloc + obj:* + obj:* + obj:* + obj:* + obj:* + fun:X11_InitKeyboard + fun:X11_VideoInit.lto_priv.0 + fun:SDL_VideoInit_REAL + fun:SDL_InitSubSystem_REAL.part.0 + fun:_ZN3mlx4core11ApplicationC1Ev + fun:mlx_init +} +{ + name + Memcheck:Leak + match-leak-kinds: indirect + fun:malloc + obj:* + obj:* + obj:* + obj:* + obj:* + fun:X11_InitKeyboard + fun:X11_VideoInit.lto_priv.0 + fun:SDL_VideoInit_REAL + fun:SDL_InitSubSystem_REAL.part.0 + fun:_ZN3mlx4core11ApplicationC1Ev + fun:mlx_init +} +{ + name + Memcheck:Leak + match-leak-kinds: indirect + fun:malloc + obj:* + obj:* + obj:* + obj:* + obj:* + fun:X11_InitKeyboard + fun:X11_VideoInit.lto_priv.0 + fun:SDL_VideoInit_REAL + fun:SDL_InitSubSystem_REAL.part.0 + fun:_ZN3mlx4core11ApplicationC1Ev + fun:mlx_init +} +{ + name + Memcheck:Leak + match-leak-kinds: indirect + fun:malloc + obj:* + obj:* + obj:* + obj:* + obj:* + fun:X11_InitKeyboard + fun:X11_VideoInit.lto_priv.0 + fun:SDL_VideoInit_REAL + fun:SDL_InitSubSystem_REAL.part.0 + fun:_ZN3mlx4core11ApplicationC1Ev + fun:mlx_init +} +{ + name + Memcheck:Leak + match-leak-kinds: indirect + fun:malloc + obj:* + obj:* + obj:* + obj:* + obj:* + fun:X11_InitKeyboard + fun:X11_VideoInit.lto_priv.0 + fun:SDL_VideoInit_REAL + fun:SDL_InitSubSystem_REAL.part.0 + fun:_ZN3mlx4core11ApplicationC1Ev + fun:mlx_init +} +{ + name + Memcheck:Leak + match-leak-kinds: indirect + fun:malloc + obj:* + obj:* + obj:* + obj:* + obj:* + fun:X11_InitKeyboard + fun:X11_VideoInit.lto_priv.0 + fun:SDL_VideoInit_REAL + fun:SDL_InitSubSystem_REAL.part.0 + fun:_ZN3mlx4core11ApplicationC1Ev + fun:mlx_init +} +{ + name + Memcheck:Leak + match-leak-kinds: indirect + fun:malloc + obj:* + obj:* + obj:* + obj:* + obj:* + fun:X11_InitKeyboard + fun:X11_VideoInit.lto_priv.0 + fun:SDL_VideoInit_REAL + fun:SDL_InitSubSystem_REAL.part.0 + fun:_ZN3mlx4core11ApplicationC1Ev + fun:mlx_init +} +{ + name + Memcheck:Leak + match-leak-kinds: indirect + fun:malloc + obj:* + obj:* + obj:* + obj:* + obj:* + fun:X11_InitKeyboard + fun:X11_VideoInit.lto_priv.0 + fun:SDL_VideoInit_REAL + fun:SDL_InitSubSystem_REAL.part.0 + fun:_ZN3mlx4core11ApplicationC1Ev + fun:mlx_init +} +{ + name + Memcheck:Leak + match-leak-kinds: indirect + fun:malloc + obj:* + obj:* + obj:* + obj:* + obj:* + fun:X11_InitKeyboard + fun:X11_VideoInit.lto_priv.0 + fun:SDL_VideoInit_REAL + fun:SDL_InitSubSystem_REAL.part.0 + fun:_ZN3mlx4core11ApplicationC1Ev + fun:mlx_init +} +{ + name + Memcheck:Leak + match-leak-kinds: indirect + fun:malloc + obj:* + obj:* + obj:* + obj:* + fun:X11_InitKeyboard + fun:X11_VideoInit.lto_priv.0 + fun:SDL_VideoInit_REAL + fun:SDL_InitSubSystem_REAL.part.0 + fun:_ZN3mlx4core11ApplicationC1Ev + fun:mlx_init + fun:main +} +{ + name + Memcheck:Leak + match-leak-kinds: indirect + fun:malloc + obj:* + obj:* + obj:* + obj:* + obj:* + fun:X11_InitKeyboard + fun:X11_VideoInit.lto_priv.0 + fun:SDL_VideoInit_REAL + fun:SDL_InitSubSystem_REAL.part.0 + fun:_ZN3mlx4core11ApplicationC1Ev + fun:mlx_init +} +{ + name + Memcheck:Leak + match-leak-kinds: indirect + fun:malloc + obj:* + obj:* + obj:* + obj:* + obj:* + fun:X11_InitKeyboard + fun:X11_VideoInit.lto_priv.0 + fun:SDL_VideoInit_REAL + fun:SDL_InitSubSystem_REAL.part.0 + fun:_ZN3mlx4core11ApplicationC1Ev + fun:mlx_init +} +{ + name + Memcheck:Leak + match-leak-kinds: indirect + fun:malloc + obj:* + obj:* + obj:* + obj:* + obj:* + fun:X11_InitKeyboard + fun:X11_VideoInit.lto_priv.0 + fun:SDL_VideoInit_REAL + fun:SDL_InitSubSystem_REAL.part.0 + fun:_ZN3mlx4core11ApplicationC1Ev + fun:mlx_init +} +{ + name + Memcheck:Leak + match-leak-kinds: indirect + fun:malloc + obj:* + obj:* + obj:* + obj:* + obj:* + fun:X11_InitKeyboard + fun:X11_VideoInit.lto_priv.0 + fun:SDL_VideoInit_REAL + fun:SDL_InitSubSystem_REAL.part.0 + fun:_ZN3mlx4core11ApplicationC1Ev + fun:mlx_init +} +{ + name + Memcheck:Leak + match-leak-kinds: indirect + fun:malloc + obj:* + obj:* + obj:* + obj:* + obj:* + fun:X11_InitKeyboard + fun:X11_VideoInit.lto_priv.0 + fun:SDL_VideoInit_REAL + fun:SDL_InitSubSystem_REAL.part.0 + fun:_ZN3mlx4core11ApplicationC1Ev + fun:mlx_init +} +{ + name + Memcheck:Leak + match-leak-kinds: indirect + fun:malloc + obj:* + obj:* + obj:* + obj:* + obj:* + fun:X11_InitKeyboard + fun:X11_VideoInit.lto_priv.0 + fun:SDL_VideoInit_REAL + fun:SDL_InitSubSystem_REAL.part.0 + fun:_ZN3mlx4core11ApplicationC1Ev + fun:mlx_init +} +{ + name + Memcheck:Leak + match-leak-kinds: indirect + fun:malloc + obj:* + obj:* + obj:* + obj:* + fun:X11_InitKeyboard + fun:X11_VideoInit.lto_priv.0 + fun:SDL_VideoInit_REAL + fun:SDL_InitSubSystem_REAL.part.0 + fun:_ZN3mlx4core11ApplicationC1Ev + fun:mlx_init + fun:main +} +{ + name + Memcheck:Leak + match-leak-kinds: indirect + fun:calloc + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* +} +{ + name + Memcheck:Leak + match-leak-kinds: indirect + fun:calloc + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* +} +{ + name + Memcheck:Leak + match-leak-kinds: indirect + fun:calloc + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* +} +{ + name + Memcheck:Leak + match-leak-kinds: indirect + fun:realloc + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* +} +{ + name + Memcheck:Leak + match-leak-kinds: reachable + fun:malloc + fun:UnknownInlinedFun + fun:SDL_strdup_REAL + fun:SDL_IBus_Init + fun:SDL_IME_Init.isra.0 + fun:X11_InitKeyboard + fun:X11_VideoInit.lto_priv.0 + fun:SDL_VideoInit_REAL + fun:SDL_InitSubSystem_REAL.part.0 + fun:_ZN3mlx4core11ApplicationC1Ev + fun:mlx_init + fun:main +} +{ + name + Memcheck:Leak + match-leak-kinds: indirect + fun:malloc + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* +} +{ + name + Memcheck:Leak + match-leak-kinds: indirect + fun:malloc + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* +} +{ + name + Memcheck:Leak + match-leak-kinds: indirect + fun:malloc + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* +} +{ + name + Memcheck:Leak + match-leak-kinds: indirect + fun:malloc + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* +} +{ + name + Memcheck:Leak + match-leak-kinds: indirect + fun:malloc + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* + fun:X11_InitKeyboard + fun:X11_VideoInit.lto_priv.0 + fun:SDL_VideoInit_REAL + fun:SDL_InitSubSystem_REAL.part.0 +} +{ + name + Memcheck:Leak + match-leak-kinds: indirect + fun:realloc + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* + fun:X11_InitKeyboard + fun:X11_VideoInit.lto_priv.0 + fun:SDL_VideoInit_REAL + fun:SDL_InitSubSystem_REAL.part.0 + fun:_ZN3mlx4core11ApplicationC1Ev +} +{ + name + Memcheck:Leak + match-leak-kinds: definite + fun:malloc + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* + fun:X11_InitKeyboard + fun:X11_VideoInit.lto_priv.0 + fun:SDL_VideoInit_REAL + fun:SDL_InitSubSystem_REAL.part.0 +} +{ + name + Memcheck:Leak + match-leak-kinds: reachable + fun:malloc + fun:malloc + fun:strdup + fun:_dl_load_cache_lookup + fun:_dl_map_object + fun:openaux + fun:_dl_catch_exception + fun:_dl_map_object_deps + fun:dl_open_worker_begin + fun:_dl_catch_exception + fun:dl_open_worker + fun:_dl_catch_exception + fun:_dl_open +} +{ + name + Memcheck:Leak + match-leak-kinds: reachable + fun:malloc + fun:malloc + fun:_dl_new_object + fun:_dl_map_object_from_fd + fun:_dl_map_object + fun:openaux + fun:_dl_catch_exception + fun:_dl_map_object_deps + fun:dl_open_worker_begin + fun:_dl_catch_exception + fun:dl_open_worker + fun:_dl_catch_exception + fun:_dl_open +} +{ + name + Memcheck:Leak + match-leak-kinds: reachable + fun:realloc + fun:SDL_realloc_REAL + fun:UnknownInlinedFun + fun:SDL_TLSSet_REAL + fun:SDL_GetErrBuf + fun:SDL_SetError_REAL + fun:destroy + fun:_ZN3mlx10MLX_WindowD1Ev + fun:_M_release + fun:~__shared_count + fun:~__shared_ptr + fun:~pair + fun:destroy > > + fun:destroy > > + fun:_M_deallocate_node + fun:_M_deallocate_nodes + fun:clear + fun:_ZNSt10_HashtableIjSt4pairIKjSt10shared_ptrIN3mlx10MLX_WindowEEESaIS6_ENSt8__detail10_Select1stESt8equal_toIjESt4hashIjENS8_18_Mod_range_hashingENS8_20_Default_ranged_hashENS8_20_Prime_rehash_policyENS8_17_Hashtable_traitsILb0ELb0ELb1EEEED2Ev + fun:~unordered_map + fun:~Input + fun:operator() + fun:~unique_ptr + fun:_ZN3mlx4core11ApplicationD1Ev + fun:mlx_destroy_display + fun:main +} +{ + name + Memcheck:Leak + match-leak-kinds: indirect + fun:calloc + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* +} +{ + name + Memcheck:Leak + match-leak-kinds: indirect + fun:calloc + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* +} +{ + name + Memcheck:Leak + match-leak-kinds: indirect + fun:calloc + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* +} +{ + name + Memcheck:Leak + match-leak-kinds: definite + fun:malloc + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* +} +{ + name + Memcheck:Leak + match-leak-kinds: indirect + fun:realloc + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* + fun:X11_InitKeyboard +} +{ + name + Memcheck:Leak + match-leak-kinds: indirect + fun:malloc + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* + fun:X11_InitKeyboard + fun:X11_VideoInit.lto_priv.0 + fun:SDL_VideoInit_REAL + fun:SDL_InitSubSystem_REAL.part.0 + fun:_ZN3mlx4core11ApplicationC1Ev +} +{ + name + Memcheck:Leak + match-leak-kinds: indirect + fun:calloc + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* +} +{ + name + Memcheck:Leak + match-leak-kinds: indirect + fun:malloc + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* +} +{ + name + Memcheck:Leak + match-leak-kinds: reachable + fun:malloc + fun:malloc + fun:strdup + fun:_dl_load_cache_lookup + fun:_dl_map_object + fun:dl_open_worker_begin + fun:_dl_catch_exception + fun:dl_open_worker + fun:_dl_catch_exception + fun:_dl_open + fun:dlopen_doit + fun:_dl_catch_exception + fun:_dl_catch_error +} +{ + name + Memcheck:Leak + match-leak-kinds: reachable + fun:malloc + fun:malloc + fun:_dl_new_object + fun:_dl_map_object_from_fd + fun:_dl_map_object + fun:dl_open_worker_begin + fun:_dl_catch_exception + fun:dl_open_worker + fun:_dl_catch_exception + fun:_dl_open + fun:dlopen_doit + fun:_dl_catch_exception + fun:_dl_catch_error +} +{ + name + Memcheck:Leak + match-leak-kinds: indirect + fun:realloc + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* + fun:X11_InitKeyboard + fun:X11_VideoInit.lto_priv.0 + fun:SDL_VideoInit_REAL + fun:SDL_InitSubSystem_REAL.part.0 +} +{ + name + Memcheck:Leak + match-leak-kinds: indirect + fun:malloc + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* + fun:X11_InitKeyboard +} +{ + name + Memcheck:Leak + match-leak-kinds: definite + fun:calloc + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* +} +{ + name + Memcheck:Leak + match-leak-kinds: indirect + fun:realloc + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* +} +{ + name + Memcheck:Leak + match-leak-kinds: indirect + fun:calloc + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* + fun:X11_InitKeyboard + fun:X11_VideoInit.lto_priv.0 + fun:SDL_VideoInit_REAL + fun:SDL_InitSubSystem_REAL.part.0 +} +{ + name + Memcheck:Leak + match-leak-kinds: indirect + fun:malloc + obj:* + obj:* + obj:* + obj:* + obj:* + fun:X11_InitKeyboard + fun:X11_VideoInit.lto_priv.0 + fun:SDL_VideoInit_REAL + fun:SDL_InitSubSystem_REAL.part.0 + fun:_ZN3mlx4core11ApplicationC1Ev + fun:mlx_init +} +{ + name + Memcheck:Leak + match-leak-kinds: indirect + fun:malloc + obj:* + obj:* + obj:* + obj:* + obj:* + fun:X11_InitKeyboard + fun:X11_VideoInit.lto_priv.0 + fun:SDL_VideoInit_REAL + fun:SDL_InitSubSystem_REAL.part.0 + fun:_ZN3mlx4core11ApplicationC1Ev + fun:mlx_init +} +{ + name + Memcheck:Leak + match-leak-kinds: indirect + fun:calloc + obj:* + obj:* + obj:* + obj:* + obj:* + fun:X11_InitKeyboard + fun:X11_VideoInit.lto_priv.0 + fun:SDL_VideoInit_REAL + fun:SDL_InitSubSystem_REAL.part.0 + fun:_ZN3mlx4core11ApplicationC1Ev + fun:mlx_init +} +{ + name + Memcheck:Leak + match-leak-kinds: indirect + fun:calloc + obj:* + obj:* + obj:* + obj:* + obj:* + fun:X11_InitKeyboard + fun:X11_VideoInit.lto_priv.0 + fun:SDL_VideoInit_REAL + fun:SDL_InitSubSystem_REAL.part.0 + fun:_ZN3mlx4core11ApplicationC1Ev + fun:mlx_init +} +{ + name + Memcheck:Leak + match-leak-kinds: indirect + fun:realloc + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* + fun:X11_InitKeyboard +} +{ + name + Memcheck:Leak + match-leak-kinds: indirect + fun:calloc + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* + fun:SDL_DBus_Init_Spinlocked.lto_priv.0 + fun:UnknownInlinedFun + fun:SDL_InitSubSystem_REAL.part.0 + fun:_ZN3mlx4core11ApplicationC1Ev + fun:mlx_init + fun:main +} +{ + name + Memcheck:Leak + match-leak-kinds: indirect + fun:malloc + fun:strdup + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* + fun:X11_InitKeyboard +} +{ + name + Memcheck:Leak + match-leak-kinds: indirect + fun:realloc + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* + fun:SDL_DBus_Init_Spinlocked.lto_priv.0 +} +{ + name + Memcheck:Leak + match-leak-kinds: indirect + fun:realloc + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* + fun:SDL_DBus_Init_Spinlocked.lto_priv.0 +} +{ + name + Memcheck:Leak + match-leak-kinds: indirect + fun:realloc + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* + fun:SDL_DBus_CallMethodInternal + fun:SDL_DBus_CallMethodOnConnection + fun:IBus_SetupConnection +} +{ + name + Memcheck:Leak + match-leak-kinds: indirect + fun:realloc + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* + fun:SDL_DBus_CallMethodInternal + fun:SDL_DBus_CallMethod + fun:SDL_DBus_ScreensaverInhibit +} +{ + name + Memcheck:Leak + match-leak-kinds: indirect + fun:calloc + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* +} +{ + name + Memcheck:Leak + match-leak-kinds: indirect + fun:calloc + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* +} +{ + name + Memcheck:Leak + match-leak-kinds: indirect + fun:calloc + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* +} +{ + name + Memcheck:Leak + match-leak-kinds: indirect + fun:malloc + fun:strdup + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* + fun:X11_InitKeyboard +} +{ + name + Memcheck:Leak + match-leak-kinds: indirect + fun:calloc + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* + fun:X11_InitKeyboard + fun:X11_VideoInit.lto_priv.0 + fun:SDL_VideoInit_REAL + fun:SDL_InitSubSystem_REAL.part.0 +} +{ + name + Memcheck:Leak + match-leak-kinds: indirect + fun:malloc + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* + fun:X11_InitKeyboard +} +{ + name + Memcheck:Leak + match-leak-kinds: indirect + fun:realloc + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* + fun:SDL_DBus_CallMethodInternal + fun:SDL_DBus_CallMethod + fun:SDL_DBus_ScreensaverInhibit + fun:X11_SuspendScreenSaver + fun:UnknownInlinedFun + fun:SDL_VideoInit_REAL +} +{ + name + Memcheck:Leak + match-leak-kinds: indirect + fun:realloc + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* + fun:SDL_DBus_CallMethodInternal + fun:SDL_DBus_CallMethodOnConnection + fun:IBus_SetupConnection +} +{ + name + Memcheck:Leak + match-leak-kinds: indirect + fun:realloc + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* + fun:SDL_DBus_CallVoidMethodInternal + fun:SDL_DBus_CallVoidMethod + fun:X11_SuspendScreenSaver + fun:UnknownInlinedFun + fun:SDL_VideoInit_REAL +} +{ + name + Memcheck:Leak + match-leak-kinds: reachable + fun:malloc + fun:malloc + fun:_dl_close_worker + fun:_dl_close + fun:_dl_catch_exception + fun:_dl_catch_error + fun:_dlerror_run + fun:dlclose@@GLIBC_2.34 + fun:UnknownInlinedFun + fun:loader_scanned_icd_clear.constprop.0 + fun:UnknownInlinedFun + fun:UnknownInlinedFun + fun:vkDestroyInstance + fun:_ZN3mlx8Instance7destroyEv + fun:_ZN3mlx11Render_Core7destroyEv + fun:mlx_destroy_display +} +{ + name + Memcheck:Leak + match-leak-kinds: indirect + fun:calloc + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* + fun:SDL_DBus_Init_Spinlocked.lto_priv.0 + fun:UnknownInlinedFun + fun:SDL_InitSubSystem_REAL.part.0 + fun:_ZN3mlx4core11ApplicationC1Ev + fun:mlx_init +} +{ + name + Memcheck:Leak + match-leak-kinds: indirect + fun:calloc + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* +} +{ + name + Memcheck:Leak + match-leak-kinds: indirect + fun:calloc + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* + fun:X11_InitKeyboard + fun:X11_VideoInit.lto_priv.0 + fun:SDL_VideoInit_REAL + fun:SDL_InitSubSystem_REAL.part.0 +} +{ + name + Memcheck:Leak + match-leak-kinds: definite + fun:malloc + obj:* + obj:* + fun:SDL_DBus_Init_Spinlocked.lto_priv.0 + fun:UnknownInlinedFun + fun:SDL_InitSubSystem_REAL.part.0 + fun:_ZN3mlx4core11ApplicationC1Ev + fun:mlx_init + fun:main +} +{ + name + Memcheck:Leak + match-leak-kinds: indirect + fun:realloc + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* +} +{ + name + Memcheck:Leak + match-leak-kinds: indirect + fun:malloc + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* + fun:X11_InitKeyboard + fun:X11_VideoInit.lto_priv.0 +} +{ + name + Memcheck:Leak + match-leak-kinds: indirect + fun:calloc + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* + fun:X11_InitKeyboard + fun:X11_VideoInit.lto_priv.0 +} +{ + name + Memcheck:Leak + match-leak-kinds: definite + fun:calloc + obj:* + obj:* + obj:* + obj:* + fun:SDL_DBus_Init_Spinlocked.lto_priv.0 + fun:UnknownInlinedFun + fun:SDL_InitSubSystem_REAL.part.0 + fun:_ZN3mlx4core11ApplicationC1Ev + fun:mlx_init + fun:main +} +{ + name + Memcheck:Leak + match-leak-kinds: indirect + fun:malloc + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* + fun:X11_InitKeyboard +} +{ + name + Memcheck:Leak + match-leak-kinds: indirect + fun:calloc + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* +} +{ + name + Memcheck:Leak + match-leak-kinds: indirect + fun:malloc + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* + fun:X11_InitKeyboard + fun:X11_VideoInit.lto_priv.0 +} +{ + name + Memcheck:Leak + match-leak-kinds: indirect + fun:calloc + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* +} +{ + name + Memcheck:Leak + match-leak-kinds: indirect + fun:malloc + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* + fun:X11_InitKeyboard + fun:X11_VideoInit.lto_priv.0 +} +{ + name + Memcheck:Leak + match-leak-kinds: indirect + fun:malloc + fun:strdup + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* + fun:X11_InitKeyboard +} +{ + name + Memcheck:Leak + match-leak-kinds: definite + fun:malloc + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* + fun:X11_InitKeyboard + fun:X11_VideoInit.lto_priv.0 + fun:SDL_VideoInit_REAL + fun:SDL_InitSubSystem_REAL.part.0 +} +{ + name + Memcheck:Leak + match-leak-kinds: indirect + fun:realloc + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* +} +{ + name + Memcheck:Leak + match-leak-kinds: indirect + fun:calloc + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* + fun:X11_InitKeyboard + fun:X11_VideoInit.lto_priv.0 + fun:SDL_VideoInit_REAL + fun:SDL_InitSubSystem_REAL.part.0 +} +{ + name + Memcheck:Leak + match-leak-kinds: indirect + fun:malloc + fun:strdup + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* + fun:X11_InitKeyboard +} +{ + name + Memcheck:Leak + match-leak-kinds: reachable + fun:calloc + fun:calloc + fun:_dl_check_map_versions + fun:dl_open_worker_begin + fun:_dl_catch_exception + fun:dl_open_worker + fun:_dl_catch_exception + fun:_dl_open + fun:dlopen_doit + fun:_dl_catch_exception + fun:_dl_catch_error + fun:_dlerror_run + fun:dlopen_implementation + fun:dlopen@@GLIBC_2.34 +} +{ + name + Memcheck:Leak + match-leak-kinds: indirect + fun:malloc + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* + fun:X11_InitKeyboard +} +{ + name + Memcheck:Leak + match-leak-kinds: definite + fun:calloc + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* +} +{ + name + Memcheck:Leak + match-leak-kinds: definite + fun:malloc + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* + fun:X11_InitKeyboard + fun:X11_VideoInit.lto_priv.0 + fun:SDL_VideoInit_REAL + fun:SDL_InitSubSystem_REAL.part.0 +} +{ + name + Memcheck:Leak + match-leak-kinds: indirect + fun:realloc + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* +} +{ + name + Memcheck:Leak + match-leak-kinds: indirect + fun:realloc + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* +} +{ + name + Memcheck:Leak + match-leak-kinds: indirect + fun:calloc + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* + fun:X11_InitKeyboard + fun:X11_VideoInit.lto_priv.0 + fun:SDL_VideoInit_REAL + fun:SDL_InitSubSystem_REAL.part.0 +} +{ + name + Memcheck:Leak + match-leak-kinds: indirect + fun:malloc + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* + fun:X11_InitKeyboard + fun:X11_VideoInit.lto_priv.0 + fun:SDL_VideoInit_REAL +} +{ + name + Memcheck:Leak + match-leak-kinds: indirect + fun:calloc + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* + fun:X11_InitKeyboard + fun:X11_VideoInit.lto_priv.0 +} +{ + name + Memcheck:Leak + match-leak-kinds: indirect + fun:calloc + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* + fun:X11_InitKeyboard + fun:X11_VideoInit.lto_priv.0 +} +{ + name + Memcheck:Leak + match-leak-kinds: definite + fun:calloc + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* + fun:X11_InitKeyboard +} +{ + name + Memcheck:Leak + match-leak-kinds: reachable + fun:calloc + fun:calloc + fun:_dl_new_object + fun:_dl_map_object_from_fd + fun:_dl_map_object + fun:openaux + fun:_dl_catch_exception + fun:_dl_map_object_deps + fun:dl_open_worker_begin + fun:_dl_catch_exception + fun:dl_open_worker + fun:_dl_catch_exception + fun:_dl_open +} +{ + name + Memcheck:Leak + match-leak-kinds: reachable + fun:calloc + fun:calloc + fun:_dl_new_object + fun:_dl_map_object_from_fd + fun:_dl_map_object + fun:dl_open_worker_begin + fun:_dl_catch_exception + fun:dl_open_worker + fun:_dl_catch_exception + fun:_dl_open + fun:dlopen_doit + fun:_dl_catch_exception + fun:_dl_catch_error +} +{ + name + Memcheck:Leak + match-leak-kinds: definite + fun:malloc + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* + fun:X11_InitKeyboard + fun:X11_VideoInit.lto_priv.0 + fun:SDL_VideoInit_REAL +} +{ + name + Memcheck:Leak + match-leak-kinds: indirect + fun:malloc + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* +} +{ + name + Memcheck:Leak + match-leak-kinds: indirect + fun:malloc + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* + fun:X11_InitKeyboard + fun:X11_VideoInit.lto_priv.0 + fun:SDL_VideoInit_REAL +} +{ + name + Memcheck:Leak + match-leak-kinds: definite + fun:calloc + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* + fun:SDL_DBus_Init_Spinlocked.lto_priv.0 + fun:UnknownInlinedFun + fun:SDL_InitSubSystem_REAL.part.0 + fun:_ZN3mlx4core11ApplicationC1Ev + fun:mlx_init +} +{ + name + Memcheck:Leak + match-leak-kinds: definite + fun:malloc + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* + obj:* + fun:X11_InitKeyboard +} +{ + name + Memcheck:Leak + match-leak-kinds: definite + fun:malloc + obj:* + obj:* + obj:* + obj:* + obj:* + fun:X11_InitKeyboard + fun:X11_VideoInit.lto_priv.0 + fun:SDL_VideoInit_REAL + fun:SDL_InitSubSystem_REAL.part.0 + fun:_ZN3mlx4core11ApplicationC1Ev + fun:mlx_init +} diff --git a/MacroLibX/xmake.lua b/MacroLibX/xmake.lua new file mode 100644 index 0000000..7048f27 --- /dev/null +++ b/MacroLibX/xmake.lua @@ -0,0 +1,76 @@ +-------------------------------------------------------------------------------- +-- -- +-- ::: :::::::: -- +-- xmake.lua :+: :+: :+: -- +-- +:+ +:+ +:+ -- +-- By: maldavid +#+ +:+ +#+ -- +-- +#+#+#+#+#+ +#+ -- +-- Created: 2023/12/07 15:21:38 by kbz_8 #+# #+# -- +-- Updated: 2023/12/07 15:21:38 by kbz_8 ### ########.fr -- +-- -- +-------------------------------------------------------------------------------- + +-- Global settings + +add_requires("libsdl", "vulkan-headers") + +add_rules("mode.debug", "mode.release") +set_languages("cxx17", "c99") + +set_objectdir("objs/xmake/$(os)_$(arch)") +set_targetdir("./") + +set_optimize("fastest") + +-- Options + +option("images_optimized") + set_default(true) + add_defines("IMAGE_OPTIMIZED") +option_end() + +option("force_integrated_gpu") + set_default(false) + add_defines("FORCE_INTEGRATED_GPU") +option_end() + +option("graphics_memory_dump") + set_default(false) + add_defines("GRAPHICS_MEMORY_DUMP") +option_end() + +-- Targets + +target("mlx") + set_default(true) + set_license("MIT") + set_kind("shared") + add_options("images_optimized") + add_options("force_integrated_gpu") + add_options("graphics_memory_dump") + add_includedirs("includes", "src", "third_party") + + add_defines("MLX_BUILD") + + add_files("src/**.cpp") + + add_packages("libsdl", "vulkan-headers") + + if is_mode("debug") then + add_defines("DEBUG") + end +target_end() -- optional but I think the code is cleaner with this -- optional but I think the code is cleaner with this + +target("Test") + set_default(false) + set_kind("binary") + set_targetdir("test") + + add_linkdirs("./") + + add_deps("mlx") + + add_files("test/main.c") + + add_packages("libsdl") +target_end() diff --git a/a.out b/a.out new file mode 100755 index 0000000..f8a8afe Binary files /dev/null and b/a.out differ diff --git a/fdf.c b/fdf.c new file mode 100644 index 0000000..f6d9f5a --- /dev/null +++ b/fdf.c @@ -0,0 +1,40 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* fdf.c :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: adjoly +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* Created: 2023/12/11 05:11:15 by adjoly #+# #+# */ +/* Updated: 2023/12/12 05:25:39 by adjoly ### ########.fr */ +/* */ +/* ************************************************************************** */ + +#include "fdf.h" + +int update(void *param) +{ + t_mlx *mlx; + + mlx = (t_mlx *)param; + mlx_string_put(mlx->mlx, mlx->win, 40, 40, 0xFFFFFFFF, "Mais ou sont mes ;"); + return (0); +} + + + +int main(int ac, char **av) +{ + t_mlx mlx; + char **map; + + + + mlx.mlx = mlx_init(); + mlx.win = mlx_new_window(mlx.mlx, 1280, 720, "My window"); + mlx_loop_hook(mlx.mlx, update, &mlx); + mlx_loop(mlx.mlx); + mlx_destroy_window(mlx.mlx, mlx.win); + mlx_destroy_display(mlx.mlx); + return (0); +} diff --git a/fdf.h b/fdf.h new file mode 100644 index 0000000..68af36c --- /dev/null +++ b/fdf.h @@ -0,0 +1,30 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* fdf.h :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: adjoly +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* Created: 2023/12/11 05:10:42 by adjoly #+# #+# */ +/* Updated: 2023/12/12 06:45:12 by adjoly ### ########.fr */ +/* */ +/* ************************************************************************** */ + +#ifndef FDF_H +# define FDF_H + +# include +# include +# include +# include +# include +# include +# include "MacroLibX/includes/mlx.h" +# include "get_next_line/get_next_line.h" + +typedef struct s_mlx +{ + void *mlx; + void *win; +} t_mlx; +#endif \ No newline at end of file diff --git a/font.ttf b/font.ttf new file mode 100644 index 0000000..85c1472 Binary files /dev/null and b/font.ttf differ diff --git a/get_next_line/a.out b/get_next_line/a.out new file mode 100755 index 0000000..b3544e4 Binary files /dev/null and b/get_next_line/a.out differ diff --git a/get_next_line/get_next_line.c b/get_next_line/get_next_line.c new file mode 100644 index 0000000..4b5fa94 --- /dev/null +++ b/get_next_line/get_next_line.c @@ -0,0 +1,85 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* get_next_line.c :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: adjoly +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* Created: 2023/12/01 17:11:59 by adjoly #+# #+# */ +/* Updated: 2023/12/08 18:17:17 by adjoly ### ########.fr */ +/* */ +/* ************************************************************************** */ + +#include "get_next_line.h" + +char check_line(char *res, char *buf) +{ + int i; + int j; + + i = 0; + j = 0; + while (res[i] && res[i] != '\n') + i++; + if (res[i] == '\n') + { + i++; + while (res[i]) + { + buf[j] = res[i]; + i++; + j++; + } + buf[j] = 0; + res[i - j] = 0; + return (1); + } + return (0); +} + +char *get_next_line(int fd) +{ + static char *buf; + char *res; + ssize_t bytes_read; + + res = ft_calloc(1, 1); + if (!buf) + buf = ft_calloc(sizeof(char), BUFFER_SIZE + 1); + while (buf && res) + { + res = ft_strjoin(res, buf); + if (check_line(res, buf)) + return (res); + bytes_read = read(fd, buf, BUFFER_SIZE); + if (bytes_read < 1) + { + free(buf); + buf = NULL; + if (res[0] != 0) + return (res); + free(res); + return (NULL); + } + buf[bytes_read] = 0; + } + return (NULL); +} + +/*#include +void ft_putstr(char *str){if (str == NULL){return ;}int i = 0;while(str[i]){write(1, &str[i], 1);i++;}} +#include +#include +int main(void) +{ + char *ln; + int fd; + fd = open("test.txt", O_RDONLY); + while (ln) + { + ln = get_next_line(fd); + ft_putstr(ln); + free(ln); + } + close(fd); +}*/ diff --git a/get_next_line/get_next_line.h b/get_next_line/get_next_line.h new file mode 100644 index 0000000..d72585d --- /dev/null +++ b/get_next_line/get_next_line.h @@ -0,0 +1,29 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* get_next_line.h :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: adjoly +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* Created: 2023/12/01 17:12:00 by adjoly #+# #+# */ +/* Updated: 2023/12/08 18:01:49 by adjoly ### ########.fr */ +/* */ +/* ************************************************************************** */ + +#ifndef GET_NEXT_LINE_H +# define GET_NEXT_LINE_H + +# include +# include + +# ifndef BUFFER_SIZE +# define BUFFER_SIZE 5 +# endif + +char *get_next_line(int fd); +char *ft_strjoin(char *s1, char *s2); +size_t ft_strlen(char *s); +void *ft_calloc(size_t nmemb, size_t size); +size_t ft_strlen_nl(char *s); + +#endif \ No newline at end of file diff --git a/get_next_line/get_next_line_bonus.c b/get_next_line/get_next_line_bonus.c new file mode 100644 index 0000000..dc6235d --- /dev/null +++ b/get_next_line/get_next_line_bonus.c @@ -0,0 +1,85 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* get_next_line_bonus.c :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: adjoly +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* Created: 2023/12/01 17:11:59 by adjoly #+# #+# */ +/* Updated: 2023/12/08 18:02:13 by adjoly ### ########.fr */ +/* */ +/* ************************************************************************** */ + +#include "get_next_line_bonus.h" + +char check_line(char *res, char *buf) +{ + int i; + int j; + + i = 0; + j = 0; + while (res[i] && res[i] != '\n') + i++; + if (res[i] == '\n') + { + i++; + while (res[i]) + { + buf[j] = res[i]; + i++; + j++; + } + buf[j] = 0; + res[i - j] = 0; + return (1); + } + return (0); +} + +char *get_next_line(int fd) +{ + static char *buf[1024]; + char *res; + size_t bytes_read; + + res = ft_calloc(1, 1); + if (!buf[fd]) + buf[fd] = ft_calloc(sizeof(char), BUFFER_SIZE + 1); + while (buf[fd] && res) + { + res = ft_strjoin(res, buf); + if (check_line(res, buf[fd])) + return (res); + bytes_read = read(fd, buf[fd], BUFFER_SIZE); + if (bytes_read < 1) + { + free(&buf[fd]); + buf[fd] = NULL; + if (res[0] != 0) + return (res); + free(res); + return (NULL); + } + buf[fd][bytes_read] = 0; + } + return (NULL); +} + +/*#include +void ft_putstr(char *str){if (str == NULL){return ;}int i = 0;while(str[i]){write(1, &str[i], 1);i++;}} +#include +#include +int main(void) +{ + char *ln; + int fd; + fd = open("test.txt", O_RDONLY); + while (ln) + { + ln = get_next_line(fd); + ft_putstr(ln); + free(ln); + } + close(fd); +}*/ diff --git a/get_next_line/get_next_line_bonus.h b/get_next_line/get_next_line_bonus.h new file mode 100644 index 0000000..9fa539a --- /dev/null +++ b/get_next_line/get_next_line_bonus.h @@ -0,0 +1,29 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* get_next_line_bonus.h :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: adjoly +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* Created: 2023/12/01 17:12:00 by adjoly #+# #+# */ +/* Updated: 2023/12/08 18:01:40 by adjoly ### ########.fr */ +/* */ +/* ************************************************************************** */ + +#ifndef GET_NEXT_LINE_BONUS_H +# define GET_NEXT_LINE_BONUS_H + +# include +# include + +# ifndef BUFFER_SIZE +# define BUFFER_SIZE 5 +# endif + +char *get_next_line(int fd); +char *ft_strjoin(char *s1, char *s2); +size_t ft_strlen(char *s); +void *ft_calloc(size_t nmemb, size_t size); +size_t ft_strlen_nl(char *s); + +#endif \ No newline at end of file diff --git a/get_next_line/get_next_line_utils.c b/get_next_line/get_next_line_utils.c new file mode 100644 index 0000000..37fcc75 --- /dev/null +++ b/get_next_line/get_next_line_utils.c @@ -0,0 +1,91 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* get_next_line_utils.c :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: adjoly +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* Created: 2023/12/01 17:12:02 by adjoly #+# #+# */ +/* Updated: 2023/12/08 17:52:41 by adjoly ### ########.fr */ +/* */ +/* ************************************************************************** */ + +#include "get_next_line.h" + +size_t ft_strlen(char *s) +{ + size_t i; + + i = 0; + while (s[i]) + i++; + return (i); +} + +char *ft_strjoin(char *s1, char *s2) +{ + char *result; + size_t i; + size_t j; + + i = 0; + j = 0; + if (!s2) + return (NULL); + result = ft_calloc((ft_strlen(s1) + ft_strlen(s2) + 1), sizeof(char)); + if (result == NULL) + return (NULL); + while (s1[i]) + { + result[i] = s1[i]; + i++; + } + while (s2[j]) + { + result[i] = s2[j]; + i++; + j++; + } + free(s1); + result[i] = '\0'; + return (result); +} + +size_t ft_strlcpy(char *dst, char *src, size_t size) +{ + size_t i; + + i = 0; + if (size == 0) + return (ft_strlen(src)); + while (i < size && src[i]) + { + dst[i] = src[i]; + i++; + } + dst[size] = '\0'; + return (ft_strlen(src)); +} + +void *ft_calloc(size_t nmemb, size_t size) +{ + char *str; + size_t i; + + i = 0; + if (nmemb == 0 || size == 0) + return (malloc(1)); + if ((int)size < 0 && (int)nmemb < 0) + return (NULL); + if ((unsigned long long)(size * nmemb) > 4294967295) + return (NULL); + str = malloc(nmemb * size); + if (!str) + return (NULL); + while (i < (nmemb * size)) + { + *(unsigned char *)(str + i) = '\0'; + i++; + } + return (str); +} diff --git a/get_next_line/get_next_line_utils_bonus.c b/get_next_line/get_next_line_utils_bonus.c new file mode 100644 index 0000000..2d6e67e --- /dev/null +++ b/get_next_line/get_next_line_utils_bonus.c @@ -0,0 +1,91 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* get_next_line_utils_bonus.c :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: adjoly +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* Created: 2023/12/01 17:12:02 by adjoly #+# #+# */ +/* Updated: 2023/12/08 17:54:32 by adjoly ### ########.fr */ +/* */ +/* ************************************************************************** */ + +#include "get_next_line_bonus.h" + +size_t ft_strlen(char *s) +{ + size_t i; + + i = 0; + while (s[i]) + i++; + return (i); +} + +char *ft_strjoin(char *s1, char *s2) +{ + char *result; + size_t i; + size_t j; + + i = 0; + j = 0; + if (!s2) + return (NULL); + result = ft_calloc((ft_strlen(s1) + ft_strlen(s2) + 1), sizeof(char)); + if (result == NULL) + return (NULL); + while (s1[i]) + { + result[i] = s1[i]; + i++; + } + while (s2[j]) + { + result[i] = s2[j]; + i++; + j++; + } + free(s1); + result[i] = '\0'; + return (result); +} + +size_t ft_strlcpy(char *dst, char *src, size_t size) +{ + size_t i; + + i = 0; + if (size == 0) + return (ft_strlen(src)); + while (i < size && src[i]) + { + dst[i] = src[i]; + i++; + } + dst[size] = '\0'; + return (ft_strlen(src)); +} + +void *ft_calloc(size_t nmemb, size_t size) +{ + char *str; + size_t i; + + i = 0; + if (nmemb == 0 || size == 0) + return (malloc(1)); + if ((int)size < 0 && (int)nmemb < 0) + return (NULL); + if ((unsigned long long)(size * nmemb) > 4294967295) + return (NULL); + str = malloc(nmemb * size); + if (!str) + return (NULL); + while (i < (nmemb * size)) + { + *(unsigned char *)(str + i) = '\0'; + i++; + } + return (str); +} diff --git a/get_next_line/test.txt b/get_next_line/test.txt new file mode 100644 index 0000000..5be26ed --- /dev/null +++ b/get_next_line/test.txt @@ -0,0 +1,8 @@ +Si tu lis cette ligne GGWP +asdfasdf +sad +f + +sadf + +asdfasdff diff --git a/maps.zip b/maps.zip new file mode 100644 index 0000000..d04ac6c Binary files /dev/null and b/maps.zip differ diff --git a/maps/test_maps/10-2.fdf b/maps/test_maps/10-2.fdf new file mode 100644 index 0000000..3965040 --- /dev/null +++ b/maps/test_maps/10-2.fdf @@ -0,0 +1,10 @@ +1 0 0 -1 -1 0 1 1 0 0 +-1 0 0 0 1 0 0 0 0 0 +-1 1 0 0 -1 1 0 0 0 1 +1 -1 0 1 1 -1 0 0 -1 0 +1 -1 -1 0 -1 0 0 0 -1 -1 +-1 1 0 1 1 0 1 0 0 0 +0 -1 -1 0 0 1 0 0 0 1 +0 0 0 0 1 0 -1 0 0 0 +-1 -1 0 1 -1 0 1 0 0 1 +0 0 1 -1 0 -1 0 0 0 0 diff --git a/maps/test_maps/10-70.fdf b/maps/test_maps/10-70.fdf new file mode 100644 index 0000000..d1208ca --- /dev/null +++ b/maps/test_maps/10-70.fdf @@ -0,0 +1,10 @@ +-6 -67 -61 -38 9 -16 -16 32 56 16 +27 -63 23 -56 63 10 33 -9 -55 69 +-44 -23 -58 12 -55 0 21 -25 27 48 +1 41 -38 57 38 -17 -50 -2 -63 7 +32 -46 -11 30 10 13 -48 -37 66 -53 +-54 34 51 -40 -33 52 -62 -37 -54 -9 +-58 40 -30 -9 59 7 -66 -12 -18 41 +-50 67 36 13 12 -2 -28 10 -60 -58 +3 -27 -52 56 26 -52 59 -31 -48 -6 +-59 -30 50 36 5 -11 0 60 -24 -34 diff --git a/maps/test_maps/100-6.fdf b/maps/test_maps/100-6.fdf new file mode 100644 index 0000000..a481bdb --- /dev/null +++ b/maps/test_maps/100-6.fdf @@ -0,0 +1,100 @@ +-4 -3 5 5 0 -4 0 -5 5 -2 5 1 -5 1 5 0 -2 4 -2 0 0 -2 2 -3 1 -1 -4 -3 5 -1 0 2 3 0 -2 0 0 0 -1 3 -2 0 -5 4 -2 3 -5 3 -3 5 0 1 0 3 2 0 -2 3 0 1 -3 0 2 0 -5 -2 2 -3 4 0 5 0 2 -3 0 0 5 2 4 0 1 2 -4 0 5 -3 1 -4 -4 -4 0 3 -1 3 0 -4 1 0 4 -5 +-2 0 -3 -1 -4 1 -1 -4 -5 -5 1 -4 -1 4 1 2 -4 -2 -5 -5 -5 1 -2 1 1 0 -2 -3 1 3 -3 -4 0 1 4 -5 4 5 0 2 -5 0 0 2 3 0 -2 -5 1 -2 -2 1 0 0 0 5 5 -2 3 4 0 2 -4 2 5 -4 5 -1 -5 -5 -4 -4 1 0 -4 0 4 -3 -2 -3 4 -1 -1 0 -4 -5 5 -3 2 -1 2 -4 -5 -1 -4 0 -1 0 4 4 +4 2 1 5 5 0 0 -2 4 3 4 0 -4 -3 5 5 2 -4 1 3 -1 4 0 4 0 -2 5 4 -4 -2 3 4 5 0 -4 -5 -3 -2 -1 4 -3 -5 2 -3 4 0 -5 1 3 0 -4 -4 2 -5 -3 4 0 3 -1 5 0 -4 0 2 -2 5 -5 4 2 5 -2 -2 -2 0 -5 4 0 3 1 5 0 5 4 3 -5 -4 2 5 5 2 -4 2 -2 -1 4 5 -1 1 -4 -5 +1 4 4 -2 1 -1 -3 1 0 -2 3 -3 1 0 2 5 1 -4 -2 -3 2 -3 2 -5 0 0 0 1 4 -3 -2 1 -4 4 -3 1 -5 2 -4 0 -3 1 -2 -2 1 0 -1 -2 2 2 0 4 0 -2 -2 0 5 -2 3 4 5 -3 -1 5 -2 0 1 2 3 -4 1 -1 3 -4 -5 0 -1 -4 -3 -4 -4 -4 -1 -2 0 -2 4 -1 0 -1 4 -1 2 0 -1 -2 2 5 1 -4 +-1 2 -5 5 4 1 -1 1 5 0 4 3 -4 0 -4 -2 3 -4 -3 0 -3 1 -3 1 5 2 0 -3 -1 -2 0 1 -3 2 -4 -3 3 0 4 -4 -5 -1 -3 5 5 1 -4 -5 3 0 -2 1 5 5 2 -1 0 2 0 -4 -4 0 -4 -1 1 -1 -5 2 -5 -5 2 5 -2 -5 5 -2 3 -2 -2 0 -3 -4 -3 -3 -3 1 -2 0 2 -5 4 0 -4 -4 0 -3 -4 4 1 0 +4 0 -1 3 -4 -4 3 -5 0 -5 5 -5 5 -4 -5 -4 2 4 5 -3 0 -1 0 -1 2 -3 4 5 -4 -2 -2 -1 1 3 -2 0 -4 -5 3 1 4 -4 2 -4 5 3 -1 -2 5 3 -2 -2 0 2 0 4 5 -5 1 1 -5 -2 -2 -4 2 -2 0 -1 -4 -5 1 -5 -1 5 -2 1 -2 3 5 1 0 4 4 -2 2 -4 0 0 -2 5 3 4 -2 -3 1 3 3 1 2 -4 +1 4 5 -1 4 3 0 0 3 2 4 0 5 -5 1 4 0 1 0 -3 0 -3 -3 -1 -3 4 -2 3 0 -2 2 3 -3 -3 0 4 -2 -4 -1 -2 4 -4 -2 4 2 0 -5 -3 3 -5 -5 -3 5 -4 -2 1 -1 0 -1 3 -4 -2 3 3 -5 -2 2 -2 -1 0 0 1 3 5 -1 0 5 1 -4 0 0 5 2 0 4 -3 1 4 0 -5 -4 5 1 -2 0 -1 3 -1 -5 5 +5 2 -1 0 -5 4 0 1 -5 4 1 5 0 0 5 1 5 5 2 -5 4 1 5 -1 5 -5 4 3 -5 1 4 0 4 -3 -1 4 1 -3 2 3 -3 -5 -4 -2 -4 -1 0 -1 1 2 -5 -2 -1 -5 -3 -2 -1 -1 -4 0 4 2 1 4 -3 -2 0 4 0 1 -5 -1 -2 3 4 -4 4 -2 -4 -4 -4 -1 0 -1 0 1 -1 4 1 1 -1 -5 5 -1 4 1 1 0 5 0 +-4 -1 3 2 -5 4 3 -3 -3 0 -3 -2 3 0 -3 4 1 0 -2 3 5 0 -4 0 -2 3 0 3 0 -5 -1 -2 1 4 -4 0 0 5 -1 3 4 -4 0 3 0 1 -4 2 4 2 -3 -4 -5 -5 1 2 4 -2 2 1 -1 2 1 2 -2 5 -5 3 -2 5 2 -4 3 -1 5 2 -3 0 4 5 1 0 0 -2 -4 -4 -5 0 0 5 -4 0 0 -3 -2 -2 5 -3 -2 1 +0 0 -5 -3 0 -2 -5 5 3 -5 -3 -2 -4 -1 -2 3 0 1 2 3 1 4 3 0 -4 -3 -4 -2 -5 4 0 3 -2 0 4 3 2 0 -4 2 -3 4 -4 2 -1 0 4 -1 0 0 4 5 -5 0 4 0 -3 -2 -2 0 -2 2 -2 -2 2 0 -5 0 -3 0 1 -4 -4 5 -5 -2 0 -4 3 -2 -2 4 4 -2 5 -2 -2 -3 -3 1 0 -4 2 1 0 3 -4 -2 0 -5 +4 -2 4 0 0 -2 -3 0 0 0 3 2 2 -1 0 0 -4 2 -3 -2 -2 -2 0 -2 -1 -1 2 1 0 0 0 0 5 2 0 4 4 4 4 -4 1 3 -2 0 4 4 2 2 0 -1 -5 0 -1 0 1 3 4 0 1 -5 0 3 2 5 1 -4 2 -5 2 -5 1 -5 2 2 1 0 -5 5 -1 -5 4 -2 -1 -2 2 0 5 5 -3 -4 -1 1 4 -1 4 -5 4 -4 -2 -2 +-5 -2 5 0 -5 0 -3 0 0 -3 -4 -3 5 4 5 -1 5 0 -5 0 1 3 4 -2 2 3 5 1 -3 -3 -1 -3 -4 0 -3 -4 5 -4 -2 -2 -5 1 0 -4 -3 2 0 5 -2 3 -5 -4 4 0 -5 2 0 5 -4 3 -1 3 -2 -4 1 -1 0 4 0 -3 -5 4 -2 -5 4 4 0 4 -4 -1 -1 5 3 1 -3 1 4 4 2 -2 5 -2 -2 -1 -1 3 0 -4 4 -4 +-5 -5 -3 -5 -3 0 4 -5 -4 -2 -5 0 -4 -5 -4 -3 -2 4 0 -4 0 -1 -3 -1 2 3 5 -3 5 0 -3 -5 -3 4 -3 -4 0 1 4 -3 5 5 2 0 0 2 0 -5 0 4 3 -3 0 2 1 3 -2 5 -5 5 2 -2 -1 2 -4 -5 -5 0 -4 -4 -1 2 -2 0 -4 -5 3 3 1 5 -5 5 4 -5 -5 -5 5 0 -4 -1 2 -2 4 -4 0 3 1 -5 5 -5 +2 2 0 0 -2 -4 -5 2 -5 2 1 -4 2 -3 0 -5 4 -3 1 0 4 -4 0 -2 0 -3 -2 5 -3 4 -4 -1 -1 -3 3 -1 2 -3 -3 -2 -3 -5 -1 1 2 3 2 3 0 2 -5 -4 -3 -1 -5 4 0 2 1 -3 3 -2 -2 0 -3 2 -1 0 1 0 0 5 -1 2 2 1 -4 1 2 3 2 -4 3 3 -5 -5 3 2 0 0 -4 0 -5 0 4 4 -3 0 0 -3 +4 0 0 -3 5 3 0 -5 2 0 3 0 4 3 -1 -2 -5 -5 -1 5 -2 4 -1 3 0 -4 0 -5 4 2 2 2 0 3 -3 3 3 -1 0 2 -4 -1 2 -3 0 2 -4 2 -4 -3 5 0 -2 0 5 0 -4 -5 -4 0 3 0 -5 4 -5 -1 2 5 0 1 2 -5 -2 -2 -2 5 -3 -4 4 0 -5 -4 -2 2 -4 -3 0 4 -4 5 5 -3 0 3 -3 -4 -2 0 3 0 +-2 -4 -4 -3 -1 -2 -2 -3 5 3 2 0 -4 3 0 0 1 1 0 5 -5 4 -4 -2 0 -2 -5 -4 -4 -3 -2 -3 0 -1 -3 -2 -1 -5 0 2 -3 -4 0 2 1 -2 0 3 2 0 -1 -3 3 5 0 3 1 3 0 -5 5 -4 3 1 4 -2 0 -2 3 4 3 5 -4 -1 4 3 -3 2 4 -2 1 2 0 1 0 -2 4 3 1 -2 -1 0 1 -3 3 2 -2 -1 0 4 +-1 -3 0 5 1 -3 5 -3 1 1 1 -1 -5 -5 -5 1 5 2 4 4 1 3 4 3 4 -4 5 -1 3 5 5 4 1 1 5 1 -5 1 0 3 5 0 -3 -1 -4 -1 4 1 -3 -3 0 -1 -4 -5 2 5 -3 1 0 3 -5 -1 5 -2 -3 -5 4 4 -4 -5 -1 5 5 1 -4 -3 2 3 2 0 -5 0 -3 5 -1 -3 -4 -3 0 0 1 0 2 -5 4 -1 4 4 3 4 +-1 -1 -2 0 1 -1 -5 0 -3 -1 2 0 0 -5 -4 1 5 2 5 -1 2 -4 4 3 5 5 -1 0 -2 1 -4 -1 0 -1 -3 2 -1 0 3 3 -1 0 0 0 3 0 0 -2 -2 -1 1 0 3 -3 -1 5 -1 -4 0 -4 -1 -5 -3 5 4 2 0 4 2 0 1 5 0 0 -3 3 3 -5 4 3 1 -2 5 -3 -5 0 -4 -1 1 0 3 -2 -1 1 -3 0 -3 5 2 3 +-1 -3 -2 -5 -4 0 4 -4 4 0 0 -3 1 -3 -5 5 3 5 2 3 3 1 4 -3 2 -5 3 0 5 -1 -5 -4 0 -3 0 0 0 1 5 5 5 1 0 -3 -2 -4 0 0 -4 0 -5 2 -5 2 -2 -5 -3 -4 5 -2 5 1 -5 0 -3 1 5 -4 -5 -5 4 -1 2 -1 0 -4 -1 -5 0 -1 -1 1 2 -1 0 -4 -4 -4 1 0 -1 -3 1 0 -3 -1 2 -3 -3 -2 +-5 -4 3 -5 -2 1 -4 -4 -5 2 5 0 -3 -4 -1 2 1 -1 4 -4 0 -4 0 -2 -1 -3 -3 2 -3 -1 3 5 -2 -5 4 -5 2 -1 -1 1 -5 -2 4 -4 1 0 -3 0 -5 1 0 -4 3 -5 5 4 4 0 1 1 0 1 2 1 0 -1 5 3 1 1 0 -5 0 5 2 5 -4 -4 1 0 -4 0 1 3 -3 -2 2 3 0 0 3 1 -2 1 5 1 0 4 -5 0 +0 4 0 2 4 0 0 4 -1 1 -2 -2 1 1 5 2 3 2 0 4 -2 -2 -2 2 -1 -5 5 0 -2 -2 -3 -5 0 4 2 0 -3 -3 -5 4 -3 1 -4 1 -4 -1 0 3 3 -3 4 1 3 -5 4 -3 -2 -2 -2 1 0 -1 5 -2 -4 4 4 -5 -1 -5 -1 -1 2 -2 3 -3 0 -5 1 -2 2 -1 3 -3 3 -3 -2 2 -1 -3 0 -2 5 2 1 0 5 -2 -5 -4 +0 5 -1 4 -2 0 5 3 -3 0 -2 -1 5 -5 -2 -3 -3 2 4 -5 2 4 -1 -5 -1 -1 0 4 -4 1 -1 0 1 -2 -2 3 0 -3 -2 -2 -4 -1 1 -2 1 0 -3 2 1 3 4 0 1 -5 0 5 1 -4 -4 -5 2 3 -5 5 3 5 -3 -2 1 -2 5 -5 4 0 4 0 0 4 4 -1 0 5 1 5 5 0 2 -4 1 -4 -5 1 -2 0 0 0 1 -2 1 0 +-5 -5 -5 -2 1 3 5 -4 1 4 -2 2 -3 4 -5 4 -5 4 -4 1 -3 -2 5 1 0 1 -4 5 -3 4 -3 5 -3 -1 0 3 0 -4 1 4 1 -3 -5 5 -5 -5 0 2 -2 2 -2 -1 -5 0 -2 4 2 3 -2 2 -5 -2 -5 2 1 1 -2 -1 4 -2 -5 -2 1 2 -1 -3 0 -5 1 -3 0 3 5 -1 2 2 -3 1 -4 -1 -1 -1 2 3 0 -5 0 1 -1 -4 +3 0 3 0 5 3 3 -5 3 5 0 2 5 0 -5 -3 4 5 4 0 3 5 -4 -2 -3 5 -2 0 0 0 -3 -3 -4 4 5 0 -1 3 -3 3 1 2 2 5 0 0 3 -4 2 3 4 -4 -3 3 2 0 -3 -3 0 -5 5 3 3 2 -4 -2 -5 -4 -4 0 -2 3 -2 -3 2 0 -4 -5 -4 -1 -5 5 -5 4 -5 0 -1 1 -3 -4 0 -2 0 0 4 -3 2 -3 0 1 +-3 2 0 3 3 2 -3 3 3 2 -3 1 -1 0 5 -4 -2 2 5 1 -4 1 0 -4 -2 -1 -5 -5 0 0 0 1 0 0 -5 -1 -5 -4 -5 -3 0 2 4 0 3 2 -4 0 4 1 1 5 4 2 -3 -3 4 -3 -1 -5 2 2 -4 1 5 2 -5 -1 -2 2 -3 -3 2 -2 -3 5 0 4 -4 -1 1 2 -5 -5 2 2 0 1 4 0 5 -4 0 0 -4 2 -2 5 -2 5 +4 5 3 3 2 -2 3 -4 0 -5 0 -3 -1 -5 -2 5 5 0 -5 0 0 5 2 1 3 5 0 0 0 -4 -2 1 0 1 -2 -3 -2 1 0 -2 -5 2 3 4 1 2 3 -4 -5 5 -5 0 5 3 2 1 4 4 0 1 -1 4 -4 3 0 0 1 1 -4 0 0 5 -5 1 0 -5 4 0 -5 5 -3 1 -1 0 -1 1 -3 0 5 2 4 5 -4 -4 0 -3 5 -5 3 -2 +-1 -4 -2 2 1 2 -3 -2 -2 2 1 1 -5 0 5 -1 2 0 1 1 -3 -3 -4 -2 0 5 -3 -1 -3 -1 -3 -4 1 3 0 -2 4 -5 1 3 -1 3 0 1 -2 -2 4 3 -4 -1 -3 4 -1 3 -1 3 1 0 -3 3 -4 4 5 5 -4 2 5 3 2 -3 0 5 0 -5 -5 3 -2 -2 1 5 -1 5 -1 2 2 5 -1 1 2 -3 -2 -5 1 0 -4 5 4 2 0 0 +5 3 -2 1 -1 2 -2 1 -1 -3 -5 3 3 5 -3 5 5 2 0 3 1 0 -4 3 4 -3 -4 4 -2 5 -3 0 0 1 0 -5 1 4 -3 0 -2 4 -4 0 -4 5 5 0 0 5 -5 1 -4 -3 4 -5 2 1 3 -3 0 -4 2 4 5 2 -2 0 3 -5 -1 0 0 0 -1 0 -3 4 -3 4 -4 -2 2 -5 -5 4 1 2 5 0 4 0 -4 -1 -2 -2 -3 1 0 -4 +5 1 0 -2 -4 -2 -3 -1 -5 0 0 1 4 0 1 -3 0 2 0 0 -3 -2 -1 0 0 -2 0 4 0 2 0 -5 -5 5 -4 -5 0 -3 0 2 0 -2 0 3 -4 -5 4 -2 -1 -4 -5 -1 2 1 0 -3 4 -3 -4 -1 -4 -3 4 -3 1 4 -4 3 4 0 -1 -1 -1 -2 4 4 5 -4 1 1 -4 -5 2 5 3 -3 -3 -4 -2 0 2 0 -5 3 2 0 0 -4 -1 -4 +-4 -1 -5 0 -2 1 4 -1 -3 -1 -1 -1 -4 0 -3 -3 1 -1 -5 -2 -3 -5 -1 5 3 1 -5 0 5 -3 2 -2 1 -4 -1 3 0 -4 -2 -3 -5 -1 -1 2 2 0 -2 -4 -2 -2 -4 5 -1 0 -1 1 1 0 2 -3 2 -5 3 5 5 3 -1 1 -4 5 -5 -5 1 5 -3 -5 -1 1 -3 -1 2 0 4 5 2 0 3 -1 -4 4 1 -1 1 2 1 -2 -1 0 -3 4 +-4 0 -3 0 -1 -1 -3 0 3 -3 0 0 4 0 -1 3 5 0 -1 -5 -4 1 -2 -4 -2 5 2 4 0 -5 5 -3 -2 4 0 3 4 3 -3 0 5 5 4 4 3 0 -3 3 -4 4 -1 2 0 0 0 3 -5 2 -1 -1 2 -1 -4 0 -5 0 3 -3 1 0 -5 1 4 4 -1 -4 1 5 5 -4 0 -2 3 -2 0 1 -1 -4 0 -2 -1 2 1 2 0 1 5 -3 1 -5 +-4 -4 1 -1 0 5 5 -5 2 -4 -3 4 1 -5 2 -2 1 -4 0 4 -1 0 1 0 3 2 1 -3 0 5 -4 4 2 0 1 -2 2 4 4 4 -1 1 5 5 0 1 -3 2 0 5 -2 2 1 5 1 -1 2 -2 -3 -5 -2 3 -1 0 -2 -2 3 0 0 -2 -5 0 4 5 1 4 5 0 2 -1 -4 -2 0 -5 0 -4 3 0 4 -1 3 1 -4 2 -2 3 -1 -3 2 0 +0 3 0 -1 -2 4 3 4 0 -2 -4 0 3 -3 5 1 -3 0 5 -5 1 3 4 3 -4 0 3 0 -3 3 0 -4 -3 -5 4 -5 0 -1 -1 1 -4 -1 0 1 0 0 5 -5 1 2 -4 -3 -1 -1 2 5 -2 0 2 3 -3 2 -1 0 3 0 -5 0 0 -2 -1 3 -1 0 1 4 4 -2 -2 -3 -1 5 2 0 -3 1 -1 5 -4 3 -2 2 0 5 3 2 -3 -4 2 -4 +1 -2 -2 1 4 2 5 -4 -2 2 1 0 3 3 -4 1 -2 -4 -1 2 -3 0 4 -5 -2 3 -4 3 1 -1 2 4 -3 2 -2 -3 3 4 -5 2 0 4 -4 2 2 2 -5 -5 2 1 -2 0 -2 1 3 -5 3 3 2 -1 -5 -5 -4 5 -5 -4 2 0 -1 1 -1 1 2 1 5 -4 4 -3 -1 -1 4 4 -3 4 -3 5 -5 5 -2 0 -5 -2 2 4 1 3 5 0 -5 0 +3 -2 -4 -1 5 -5 -3 -2 -5 -4 -5 -2 4 -2 5 2 2 0 0 4 -3 4 -3 0 0 -3 0 3 1 -5 -1 2 0 5 -5 1 3 -4 3 3 2 -1 -3 3 0 0 2 3 0 -2 0 0 0 -4 0 -5 -4 1 2 -2 -4 5 2 3 5 2 -2 5 -3 -4 4 3 5 1 -2 0 -5 4 -2 4 0 0 3 0 -5 3 1 5 0 0 0 -3 4 -4 -3 3 1 5 0 4 +1 2 3 2 0 2 3 -1 -3 0 -1 -4 0 -2 -4 4 0 -1 1 2 1 3 -4 0 -4 5 -5 4 -2 0 5 4 5 -2 1 -1 3 -5 -1 -3 0 3 -1 -5 -3 3 3 3 -4 -4 -2 3 -2 0 4 -1 2 3 -2 4 0 1 5 0 -4 -1 -3 3 -5 -2 0 -2 5 -5 1 2 -5 2 -5 -4 0 1 -3 0 -2 3 0 0 3 3 -3 2 -2 2 1 2 0 -3 -2 -4 +-2 3 -3 1 4 -2 0 0 -1 -5 1 -4 -3 5 2 2 0 1 0 -4 -2 2 1 -1 -3 -5 3 1 1 2 0 3 1 4 1 2 -1 3 -2 0 -1 -4 4 -3 1 5 0 -3 0 0 -4 -3 2 2 1 3 -2 -5 5 1 2 1 0 3 0 -3 4 -1 5 1 -5 0 1 1 -2 -5 -2 -4 -4 -5 -1 -2 4 1 2 0 -2 1 -3 -5 -3 2 2 3 0 5 3 -1 -5 -1 +-1 5 -3 -3 1 3 0 -2 4 -4 3 -3 2 -5 3 5 1 0 0 2 -5 0 4 -5 5 4 4 5 -1 3 4 -3 -5 0 4 -5 4 -2 1 0 -4 0 -3 -4 0 -2 -3 5 2 -4 -2 -1 0 1 0 -1 0 5 5 2 1 1 -3 4 -1 -1 4 3 5 0 -1 3 0 0 -2 2 4 -1 1 0 2 2 -5 5 -4 -1 -1 -5 -4 0 3 0 3 4 -4 -3 -2 3 -1 0 +-5 3 0 5 -5 -1 0 4 1 -2 -1 4 2 3 4 -2 0 1 2 3 4 0 -2 -3 0 -2 4 2 2 -1 -3 0 -1 0 4 -2 0 2 -1 5 5 0 2 -3 -3 -4 -2 4 -3 1 2 2 1 -2 -1 2 -4 -2 -5 -5 3 2 1 2 2 -1 0 1 5 0 -2 3 2 0 0 5 3 -2 -1 -2 -3 -1 -5 0 -4 -1 5 1 -5 -3 -4 -1 -5 -1 -3 -3 0 3 -2 -4 +-3 -5 -5 4 -1 0 -5 -5 5 -5 2 2 -1 0 1 -1 5 0 5 0 -3 -4 -2 4 -1 1 0 1 1 2 0 0 1 0 -3 -2 -5 -3 -3 -3 -2 3 0 -2 0 0 3 0 1 -2 -2 2 -1 -4 0 -2 -5 -3 0 0 -5 2 -2 3 3 0 0 -3 -4 5 -3 -4 -5 -5 4 3 -1 4 -3 -3 -4 1 0 -4 0 5 2 5 -1 4 4 -5 1 -3 -2 -1 -4 0 5 3 +-3 -5 -2 -4 5 2 5 3 -3 2 0 2 4 2 -2 5 -5 -3 1 -1 -4 -2 0 -5 -1 -2 0 -2 5 -3 0 3 -3 1 -3 -4 -1 -3 4 1 2 4 0 0 -5 2 0 5 0 0 0 3 5 0 2 2 -5 3 5 -4 -5 4 1 -3 -4 1 1 -4 -4 3 0 -2 0 4 0 -1 5 -3 1 3 2 -4 3 3 4 1 -1 4 -2 -2 3 0 0 5 3 4 0 -2 0 -4 +3 5 -5 0 4 -4 3 -1 5 0 0 1 3 3 0 4 -3 0 -1 1 -3 -2 0 0 2 1 -2 -1 -4 -5 2 -2 0 0 1 2 -4 0 -5 2 3 1 1 4 4 2 -5 4 -1 1 -5 -2 -4 3 0 -4 2 -5 4 3 2 -5 -4 0 -4 4 -4 -1 -5 -4 -4 -1 5 4 -3 3 5 2 4 5 2 0 2 5 -4 4 -1 -1 -1 4 -1 3 0 -1 3 4 -1 -4 -1 4 +-3 -4 0 1 0 0 3 0 -3 2 -5 4 3 4 -5 -1 -2 -4 4 0 1 -4 -1 2 1 -2 4 -2 0 0 -2 0 -3 0 2 1 5 -2 4 5 -1 -2 0 -1 3 0 3 -4 -5 3 4 0 0 -3 5 0 3 0 5 -4 5 0 5 0 0 3 -3 -5 -4 3 3 5 -1 5 4 0 -4 0 -1 0 5 1 0 2 5 3 0 -2 5 2 3 0 1 0 -4 4 -1 3 -1 1 +1 1 -3 3 5 3 4 2 4 -3 -5 -5 1 0 -4 -2 1 2 -1 4 5 5 1 4 0 -2 4 -2 -5 -2 5 -4 -3 5 1 0 -2 5 5 -3 2 1 0 0 0 1 -3 2 0 -4 -3 3 -5 1 1 -2 -4 5 1 0 -2 -2 2 0 -3 2 0 -1 0 -1 -3 0 2 3 -1 5 -2 3 -5 -2 3 -5 0 2 -4 -2 5 -4 2 0 -3 0 4 -5 5 0 -3 0 -1 4 +1 0 -4 2 4 -2 -2 4 3 3 0 -5 5 -1 -2 1 -1 1 2 -3 2 1 -4 -2 -5 0 2 2 2 5 0 -3 3 4 0 1 4 0 1 2 -2 3 5 1 0 2 3 -1 -5 4 5 0 -5 3 -5 4 3 -4 2 -5 -3 -5 0 4 3 -5 2 4 -3 0 -4 3 1 -3 0 1 2 5 -1 -4 2 -4 5 -5 -2 1 0 -2 -3 -4 2 0 -1 2 2 0 -1 3 1 -2 +-3 -2 -3 -4 -2 4 4 0 4 2 -2 -4 -4 -2 -3 0 2 -3 4 2 4 4 -3 -5 2 -1 1 3 0 -3 -2 3 -2 -4 -5 5 1 3 -2 -2 -4 -2 0 -4 5 5 2 0 0 0 -3 0 -5 5 2 -4 -1 1 -3 0 -4 5 0 -5 -4 5 4 3 4 0 -3 -4 1 -4 -4 0 5 0 4 -3 -2 0 -3 4 0 3 5 1 -4 -2 5 0 0 -4 3 0 -2 -2 0 2 +1 3 0 2 -1 2 -5 1 -3 1 -3 1 -4 -3 1 2 4 5 -1 1 1 2 0 -4 4 -3 -1 4 -3 -4 -3 1 -3 -5 5 -5 0 4 2 0 2 4 -1 2 4 0 5 -3 -3 1 2 -1 2 5 0 2 0 -2 -1 -3 -1 1 1 3 -2 -1 4 -1 3 1 0 -3 -5 0 2 1 0 -1 -1 3 -3 0 -3 0 2 4 4 0 -4 -3 -2 -1 5 2 -4 1 1 -5 -1 2 +3 5 -5 3 -3 2 -5 4 -5 2 -5 -2 -2 1 -2 0 1 5 -1 -3 -4 0 3 -3 0 -4 5 1 0 -3 -2 -5 -3 2 2 -5 4 5 4 5 3 4 4 -1 3 -5 4 2 -2 0 -2 1 -3 1 3 -5 2 -5 -5 -1 -5 5 -2 5 -3 -2 5 3 -4 -3 0 3 -3 -3 0 3 3 -4 -3 1 4 -5 -4 0 -5 5 -2 2 -3 -3 -2 1 -1 5 4 -4 -5 0 1 3 +3 -1 0 1 3 0 -5 -2 -5 2 3 5 5 0 -1 -2 -2 -1 3 0 0 -2 3 -5 4 -3 -5 0 -5 0 5 3 2 0 0 -1 0 -1 4 0 -1 -5 -5 4 -2 0 -3 -2 -2 3 1 0 4 -5 2 4 -3 5 4 -3 2 -5 -3 -3 -3 0 1 -2 -5 -3 0 0 -4 -1 4 0 0 -4 2 3 -3 5 0 -1 0 -2 -1 4 1 -2 -4 2 -3 -4 3 -2 -1 -5 3 0 +-5 3 -3 -4 2 5 2 0 3 0 4 3 1 0 -2 -2 4 3 0 0 4 -3 0 0 1 5 -5 -5 2 0 1 3 3 0 -3 -4 5 2 1 -4 0 0 4 5 -5 4 -2 -1 4 1 0 0 -4 -4 1 -5 4 -2 -4 4 -5 -2 5 0 4 -5 -4 4 0 -2 3 5 -1 5 -3 -5 0 5 0 -4 4 -1 -1 -5 5 -4 -3 3 5 0 1 1 -4 4 0 -5 -4 0 2 2 +4 0 -3 4 -3 -2 3 -4 3 0 -2 5 0 -1 5 4 4 -2 1 1 0 0 3 -2 -2 -4 -1 -4 2 -2 2 0 5 0 5 -3 -4 -1 0 -5 0 0 0 -2 0 -4 -3 0 -3 2 -4 3 -5 -3 -4 4 -1 -2 -5 5 3 0 0 -3 1 -5 3 -2 -2 -2 -5 0 -1 0 -5 -1 3 -3 2 -1 -1 -2 5 -2 -4 -4 5 1 4 -5 -5 2 2 -3 1 -2 2 0 3 4 +0 -2 4 2 -5 0 -1 3 0 -5 -4 3 4 0 0 0 -1 1 -2 0 -3 -5 4 -1 -3 1 4 5 -5 4 0 0 4 5 2 4 2 1 -4 5 -5 1 4 -1 0 -5 -3 3 -3 -5 -5 -2 -4 3 -4 -4 -4 1 -3 5 5 -4 -5 4 -2 3 -4 -5 -5 -5 3 0 5 -1 1 2 2 1 -4 -2 4 5 0 -2 -2 0 -4 5 -4 3 -2 3 -4 -3 -2 -4 1 -2 3 1 +-1 -1 -5 1 -1 -5 -4 2 0 5 0 0 -4 -3 4 3 -4 2 0 0 -3 0 0 0 -2 3 4 4 3 -2 1 -1 3 1 0 -5 0 4 -4 0 -2 -2 -2 -3 -2 4 0 -3 -2 2 2 4 1 -1 2 3 -4 0 -2 -2 5 1 0 -2 5 -1 -4 0 2 -4 4 0 3 3 0 0 2 0 -5 2 5 0 -3 4 2 -1 -2 -1 2 4 -5 5 1 0 3 3 4 2 3 3 +2 -2 -3 -1 2 1 -5 -3 -5 -3 0 -3 -2 -3 3 3 4 2 -4 1 -5 5 -3 -3 -3 -2 -4 -1 -4 2 -2 -2 -5 -1 -3 -5 0 3 2 -4 1 3 -3 -2 3 -3 5 4 -2 2 1 -4 5 4 3 1 5 -5 3 -5 1 0 5 4 5 0 -2 2 2 -3 0 3 -4 -2 -2 -5 1 0 -4 -5 -3 -1 -2 -2 1 -2 0 0 2 4 5 -1 -4 -2 -1 1 -4 0 -1 -3 +-4 0 1 3 1 -4 -5 5 -5 -2 3 -1 3 -1 0 2 -4 1 -5 -5 0 4 5 -2 -3 -1 -1 -1 -1 -5 -4 -1 2 2 -4 2 -2 -4 5 5 -2 1 4 -5 -5 -2 -2 -2 -3 -3 -2 0 -5 -3 -2 1 -4 2 1 5 -5 5 -4 -3 0 1 4 -2 4 -4 -1 1 2 -4 4 0 1 2 0 -1 0 -4 3 -5 5 -2 0 5 -2 0 -2 -4 3 -3 -3 5 -3 0 0 -3 +-4 -5 -2 0 1 -2 3 -1 0 4 -3 5 -3 0 1 3 1 2 -4 -5 3 -3 -5 5 -5 -5 4 -4 -5 -3 -4 3 -5 -2 -4 4 -5 4 4 -2 -4 -5 -4 -1 0 0 -4 5 2 1 0 5 0 -2 3 -4 0 -2 -1 -2 -2 -5 3 0 -5 0 -4 -2 -1 -5 3 -4 1 4 -2 -2 -4 0 0 -3 -4 -3 1 4 -4 3 3 -1 -4 0 -1 0 0 -4 -1 -1 5 -5 5 -3 +-4 4 -1 0 5 2 -4 5 0 2 0 1 -2 4 5 4 -2 -2 -1 5 -2 -2 -2 0 5 4 -1 -2 2 1 -2 -4 0 0 3 4 0 5 -1 -3 -2 2 1 4 -3 0 -2 2 0 -1 -3 -1 5 5 0 -2 0 -5 0 3 -1 5 4 0 2 0 -5 -3 -4 5 -5 0 0 -5 -4 5 0 -2 2 -5 0 -3 0 3 -3 -3 -2 4 5 4 3 0 5 -3 -1 -4 -5 2 0 1 +1 2 -5 2 4 2 2 3 -5 0 -3 0 -4 5 4 1 1 -2 2 0 5 1 4 4 0 -5 0 4 0 4 0 1 -1 4 0 -1 -2 5 0 -2 -4 -1 0 5 1 2 5 0 1 2 -4 -1 4 0 0 0 -1 5 3 -5 -2 -2 0 3 -3 1 -1 -2 0 0 -4 -4 5 -1 5 -3 4 5 -4 2 0 -3 0 -5 1 -4 -4 5 1 -5 0 5 0 4 1 0 -4 -4 4 3 +0 2 0 0 3 -3 -2 5 0 2 0 0 -4 3 -3 3 1 -5 -4 0 -2 1 -3 -3 -5 5 -3 3 1 -1 5 5 -5 -3 -2 -5 1 -5 -1 -4 1 1 0 1 1 3 5 -1 3 1 0 4 4 -2 -1 0 0 2 5 1 1 -4 5 2 -3 2 -4 0 0 -2 -4 0 4 3 -2 4 3 -2 -4 0 -3 0 -2 -2 -5 1 2 -5 3 3 -3 4 -1 2 -1 0 0 -3 0 0 +0 4 -2 2 -2 -2 1 2 -3 -4 2 1 -1 -3 -3 -4 5 5 3 0 1 -4 5 0 1 -2 3 0 0 0 -2 -4 1 -2 -4 4 -2 -1 4 -3 0 2 -2 5 2 -2 3 -4 0 0 -3 -5 3 -3 4 -1 -4 0 4 0 -2 4 -3 0 0 -5 -2 4 0 0 5 2 2 5 -2 3 -4 -2 -4 -4 2 -2 3 -4 3 2 3 -3 2 -2 0 1 2 -4 -3 -4 -2 -2 -5 -4 +5 4 -4 1 0 -2 0 -1 -3 -5 0 5 -3 3 0 5 -5 -5 0 4 -1 -5 2 2 0 -4 5 1 -3 2 -2 -1 0 3 4 1 -4 0 2 -2 -4 3 -1 -1 -5 -2 -3 1 2 0 0 5 1 1 -1 2 -4 1 0 3 4 0 0 -1 -4 -5 4 0 3 -5 0 3 -2 1 3 0 -5 -5 1 3 3 -2 -1 4 3 3 5 -2 -5 5 0 0 1 -3 -5 4 3 3 -1 0 +3 -1 4 -3 -4 -4 -2 1 1 0 2 4 -1 -5 0 4 -1 -2 -5 -3 4 0 -1 -5 4 -4 -4 4 -2 0 0 -3 0 -5 -1 3 -2 3 1 -4 -5 -1 -1 2 -2 -4 -3 -1 -3 4 -3 -2 2 3 -1 -1 -4 -3 -3 4 4 -3 -3 0 0 1 -4 0 0 -4 2 -3 0 0 0 -1 -3 -5 -1 -1 5 4 4 -4 2 0 0 0 -5 -1 -5 0 5 -2 3 1 -2 0 -5 3 +-4 3 0 5 4 0 5 0 3 -5 3 0 -1 4 3 3 -2 -3 0 4 3 5 -1 -2 -3 -2 3 -4 0 1 3 0 2 2 1 -3 -3 0 2 2 -4 0 1 -1 -4 5 0 -1 -1 0 -1 5 5 1 -5 -3 -3 3 4 1 3 0 0 -5 4 -3 2 1 2 4 2 0 5 2 -5 0 -1 2 0 2 5 5 -2 1 -2 1 -3 -4 -2 -2 4 4 0 0 -3 -5 5 -4 -3 2 +-2 1 -5 3 -1 -1 4 -3 -5 -1 4 -4 5 -3 -1 0 2 -4 4 -1 5 3 -3 1 -4 4 1 -5 5 -2 0 3 4 -1 3 -3 0 -1 1 2 5 -3 -4 -5 4 0 -2 -5 2 -2 -4 0 -1 0 4 3 -2 -1 -1 -5 3 -4 -3 -5 -1 1 3 2 3 -5 -3 -1 -2 -5 -4 1 2 -2 -4 -3 4 0 2 1 -1 1 5 -1 3 1 2 -2 0 -3 -2 1 4 -3 1 5 +-2 2 -5 1 5 0 2 -3 -3 0 1 -2 0 -4 -2 -1 3 0 2 0 -4 -5 2 0 0 4 0 -3 3 -5 -1 -5 -3 -4 1 -2 0 5 0 -3 5 -4 4 -5 -1 5 -1 3 5 -1 3 -3 0 -3 4 5 0 2 2 -1 3 5 -3 -3 1 4 -2 5 -1 -5 5 0 -2 0 2 0 -5 -3 1 0 -3 -5 -2 -4 0 3 -3 0 -2 1 -2 1 -5 -4 1 -3 0 -2 5 -1 +1 -1 2 5 -2 3 3 0 0 5 5 2 2 4 5 1 0 2 2 0 -3 0 3 1 -3 -5 0 -4 -1 -1 5 0 4 -3 4 5 4 0 0 4 0 5 2 5 -2 -4 1 4 1 5 2 -1 5 0 0 -4 -5 0 -2 -3 1 0 1 -1 0 2 0 -5 3 3 -5 -4 -1 -2 -1 0 -4 -5 -1 -5 0 4 4 3 0 0 -3 1 3 4 -1 5 1 -4 1 4 3 2 -1 -5 +-5 2 1 0 2 -3 -4 -2 2 -3 0 4 -1 -5 3 5 -5 0 -5 -3 -5 -4 5 -5 5 -3 -5 3 0 -5 -4 2 -3 5 0 0 1 5 -1 0 -2 -1 3 3 -1 -5 1 -1 0 5 -5 0 4 -3 -5 -4 0 -2 1 5 2 0 -4 1 -2 3 -4 0 1 0 -3 -2 -2 2 3 0 1 -3 -4 1 -2 4 0 -3 -5 1 -4 5 1 2 3 -2 -1 4 1 0 -4 -3 5 -3 +-4 -2 4 3 -3 -3 -5 5 -1 -3 -2 3 -3 -5 0 1 5 -1 -5 2 -1 -4 -1 0 -5 -4 -3 5 5 -3 -1 1 -4 -3 0 -3 2 4 2 -5 -5 4 -3 0 0 -2 2 -4 4 1 -4 5 -5 -2 3 3 3 -5 1 -2 2 -3 3 0 2 -2 5 4 -2 1 -3 0 5 -3 -2 -5 2 2 0 5 4 5 -3 1 -5 3 1 -1 1 -4 2 -3 4 5 5 -3 1 2 5 -5 +4 -5 0 0 0 -4 0 1 5 0 1 1 -1 5 -3 -1 5 0 5 -1 5 1 -5 -2 5 -1 3 -4 3 3 -3 2 -3 2 5 0 -1 1 1 1 0 1 -5 4 -3 -1 5 0 -3 2 -5 -2 4 -4 0 5 -2 3 3 -5 -4 -2 4 -2 -5 3 0 -5 4 1 1 -4 -5 1 0 -4 -1 5 3 2 3 -3 4 0 3 2 0 -3 -4 -5 3 -4 2 -2 4 4 -1 -2 0 -4 +0 -5 3 -5 -4 2 1 4 -4 3 4 -4 -5 -1 -5 -1 -2 -5 0 2 1 -4 1 -4 -2 4 -4 -2 2 -4 0 0 5 -2 5 0 1 -4 0 -1 1 -3 -4 5 1 0 -2 -5 2 4 0 0 0 0 3 -1 -2 -4 -5 1 5 -2 5 -2 -4 5 3 1 4 4 -1 -5 -4 -1 -5 0 -1 0 0 5 -2 -3 1 1 -4 2 -2 -4 0 3 0 -1 0 -5 2 -4 -4 2 1 0 +3 -3 1 -5 4 -1 -2 -3 0 -3 -5 1 2 -5 -3 -4 -2 -3 -4 -3 -1 5 0 4 -1 -1 -2 -5 -5 2 1 2 4 1 3 4 0 -5 -1 -5 5 1 -1 -3 2 -4 0 2 -1 3 -4 0 2 -1 2 -5 -4 0 0 4 -3 4 4 -2 0 -4 1 3 0 -3 1 -3 -3 -5 -5 4 -3 0 4 4 2 2 -3 2 -1 0 0 2 2 2 -2 -3 2 -3 0 1 4 4 -3 -1 +-5 1 -3 -5 -2 3 4 3 -1 -4 0 0 -5 3 2 0 1 5 -3 0 0 -2 0 1 3 0 3 0 -1 1 -2 5 2 2 -4 1 -5 4 -4 2 -3 5 5 2 -1 -5 -5 0 -4 5 1 5 -5 -3 -5 -5 1 4 5 1 0 -5 2 -3 1 -4 -2 3 3 2 5 -3 -1 -4 -2 1 5 3 -3 -5 1 0 3 0 -4 2 0 5 -3 -5 3 -4 -2 5 -4 -4 3 1 -5 -4 +-1 -1 -3 0 -2 -4 0 1 5 -2 5 -2 3 -3 0 5 0 2 3 -2 3 -4 4 0 4 5 -4 1 0 3 -1 5 3 -2 -4 1 -2 0 -2 0 0 5 4 -3 1 2 -3 5 -2 1 -1 2 -3 2 3 3 4 0 -3 5 0 2 5 -2 3 5 -5 2 5 0 -5 -1 -2 5 1 -5 3 -1 0 0 0 4 3 4 5 0 0 0 -3 -3 -3 -2 5 2 -5 4 4 -3 2 -4 +1 -3 1 1 0 2 1 1 5 5 -5 -1 2 2 4 5 3 -5 0 4 -2 -5 2 0 -5 4 4 0 3 -3 -4 -3 3 1 -3 2 -5 5 -3 2 0 1 4 0 1 0 -3 -2 0 0 1 3 1 1 3 -4 -5 0 4 5 2 -2 -4 -1 0 0 -4 -5 0 0 5 1 5 1 2 2 4 -3 -5 0 4 3 -5 -2 -2 -4 3 -2 -5 5 2 -3 -3 -2 3 2 -5 2 -2 0 +0 -5 4 -3 4 2 -3 -3 -3 -5 1 -1 5 0 0 4 5 0 0 0 0 -5 0 2 2 3 -1 -2 1 -4 5 -1 0 3 -1 3 -2 0 4 4 -4 -1 2 1 1 1 5 1 -2 0 3 0 -5 3 -2 -3 0 5 -2 4 -5 5 5 0 5 5 0 -4 1 3 -2 0 4 -1 5 -5 -1 4 5 -5 -2 -4 -3 2 3 -4 5 4 -2 -1 -1 3 -2 2 5 -4 -3 -3 -4 3 +-3 4 -5 1 -3 -3 5 -5 1 -2 1 0 -2 -4 -2 3 5 -4 0 -4 -3 2 2 5 1 0 -1 2 5 4 -4 4 -3 0 1 -1 3 3 0 3 0 5 5 -1 -1 4 -2 -2 4 -3 -5 0 0 2 -4 -4 5 -4 0 1 2 4 4 4 2 2 -4 -3 -4 4 0 4 -4 0 2 -4 4 -3 -1 -5 4 -3 3 -4 -2 2 -1 0 -3 -5 -4 3 -2 1 4 -1 4 -3 2 0 +5 -3 -2 -3 4 -3 -1 -5 3 -1 1 -2 4 -1 2 -2 4 -5 -2 5 2 1 5 -4 -1 5 -5 -3 2 -1 0 2 4 0 5 -5 0 1 -4 5 -4 -5 4 2 -5 0 -4 0 3 0 -3 0 -4 0 5 4 -1 0 -4 -5 -4 -5 -1 2 0 0 3 1 -3 0 3 3 -3 -2 0 -2 -1 1 -4 1 3 4 0 -2 -1 4 5 4 0 3 5 -3 -1 -5 -4 -3 1 -1 0 -4 +-2 -3 3 -5 2 0 -2 -3 4 0 4 -3 1 -4 4 0 0 0 3 0 -2 -2 3 -4 -3 -3 0 2 0 2 3 1 -5 5 -2 -1 -1 -5 -3 -3 4 -1 -1 0 -2 1 -4 -5 0 -1 -3 2 4 4 4 -2 -1 2 3 2 2 3 0 0 5 -3 -3 0 3 1 0 -4 4 0 2 4 -5 0 -2 3 -5 0 -4 -4 4 0 2 4 3 1 -3 -2 0 2 1 0 5 -4 5 4 +5 2 0 -4 2 3 5 -1 -5 1 0 -4 0 -2 3 4 -1 2 -5 -3 -5 2 5 2 0 0 4 5 -4 -1 -1 -5 1 -2 0 1 -4 0 5 -2 0 -4 1 -2 -3 2 2 5 -1 0 5 -5 2 -1 5 -4 -2 4 -5 -3 2 0 -5 -3 1 -2 -3 3 0 -5 2 0 -4 0 -4 4 -2 -4 1 -2 2 1 3 5 -1 -4 1 4 2 0 0 -4 -3 0 -2 0 1 1 -5 -2 +-4 3 -1 2 -5 0 0 1 -3 4 -3 5 -2 3 -1 -4 -4 -1 3 0 5 5 0 -3 1 2 -1 0 4 -3 -3 0 -4 2 3 1 -3 -2 4 0 5 3 3 -2 0 4 -2 1 5 -1 2 2 0 1 0 -4 -2 -4 -5 0 0 -3 4 -3 -3 -2 -1 5 5 -2 -3 4 -1 0 -3 0 -3 -2 1 1 -1 -3 -4 -5 5 -3 2 3 -3 -3 0 5 -5 -5 -4 -2 -2 4 -3 5 +-4 -4 -5 0 1 2 -1 4 3 1 -5 -2 -4 -3 1 2 3 -3 -4 1 1 -2 0 3 -5 1 4 -1 2 -1 -3 0 -1 3 4 3 5 -2 -5 5 5 4 3 -4 0 0 -1 0 4 -1 -5 -4 2 0 2 5 -3 5 5 -1 -1 2 1 0 -2 -4 2 0 2 -2 1 0 -2 2 -4 0 -4 3 4 -3 0 0 -1 -3 -3 -5 -5 0 2 -5 -1 -4 2 0 -4 -2 -3 -1 3 0 +-4 -1 0 -5 0 -4 -2 -5 1 2 -5 3 -1 -2 -5 5 -1 4 -3 -2 1 5 0 -4 3 5 -2 -2 4 5 -1 3 2 5 3 4 3 -5 -5 -2 2 2 1 3 5 2 -4 0 -4 0 3 -2 4 -1 0 -3 -2 3 -4 -2 0 4 0 2 0 -1 -3 -5 3 -2 -1 1 -2 0 -2 2 -3 4 1 0 0 0 2 -4 -1 3 5 0 2 1 -3 5 3 2 5 2 3 -1 -2 4 +-5 0 1 2 -1 0 -3 -1 4 -5 3 0 -2 -4 1 1 3 0 0 -5 0 0 3 2 0 -1 0 1 1 3 -4 1 2 -1 5 -3 3 2 2 1 -4 -4 5 -4 -1 -4 -2 -5 -1 4 1 -1 5 1 -2 -2 -2 0 5 -3 4 -2 1 1 2 -1 4 -5 4 -5 0 3 0 -1 -5 0 0 0 0 -2 0 1 4 0 5 -4 -3 1 3 -4 3 -2 0 -3 5 4 4 -4 3 0 +1 1 0 4 5 0 -2 -3 -1 -2 2 5 0 3 -3 0 2 -5 -5 -5 -1 -4 -2 1 0 5 1 5 -3 3 0 -2 1 -1 -3 -5 -4 -4 0 4 1 4 4 -5 0 -4 2 -5 2 -5 4 4 2 0 0 3 5 -3 -2 2 4 3 5 -4 0 5 -2 -2 -3 -4 -3 -5 4 0 2 -5 2 1 4 -3 -3 4 -1 -3 -3 0 0 -5 -4 1 -4 -3 1 -5 -1 3 5 0 -5 3 +0 2 -5 0 2 -1 2 0 0 -3 2 0 2 3 4 -5 -5 0 5 4 -1 -1 -1 4 -2 -5 0 3 -1 -1 1 1 0 -2 1 2 2 -1 -2 2 -1 -4 -1 5 -4 -1 5 -4 2 -5 1 -2 -2 5 -1 -5 -3 0 2 -4 5 -5 5 -2 3 5 -3 0 0 2 0 0 -1 0 3 -5 -3 3 -1 -1 -5 3 -3 -5 4 0 5 -1 4 0 1 -2 4 5 -4 3 2 2 0 -5 +-2 3 3 2 2 0 5 -4 -5 -1 -5 -3 -5 -2 5 0 2 4 4 0 -4 0 -2 -1 -4 -2 -4 -2 -2 4 2 5 1 5 -1 4 5 4 3 4 -2 0 -5 0 2 -5 3 -1 0 0 0 2 -3 5 0 3 0 5 3 -2 5 0 3 1 4 -4 2 -4 -3 -2 -3 3 4 5 -1 5 0 3 1 3 -2 -3 0 -5 -4 -3 0 0 1 0 -2 -5 0 -5 1 -1 3 1 -2 -4 +-2 -1 4 2 5 4 -1 -1 2 -5 -3 4 3 5 -2 0 0 5 -3 -3 3 0 -2 -2 4 -5 5 -3 -2 -4 -3 -1 1 1 -5 -5 0 -5 0 -2 -3 -2 -2 -5 1 4 1 0 -5 -3 -1 -5 -3 4 0 -2 5 -2 5 -5 1 2 -3 2 0 -3 -5 1 -1 3 -1 -1 -2 1 -5 0 1 -3 -5 -5 3 1 -3 -4 4 0 -4 4 2 0 -4 -3 5 -5 -2 5 5 1 -2 -4 +0 0 4 2 4 -4 2 -1 -2 3 -4 3 0 -3 1 3 0 4 -5 -3 -2 4 1 0 -1 -1 0 2 5 0 2 -3 -3 5 -3 -2 -2 3 4 -4 0 -5 4 4 -4 0 5 -3 0 -2 5 1 3 2 -2 3 -3 3 -4 -3 -5 3 4 0 -4 3 4 -5 0 0 4 5 -2 4 -2 -3 -2 -5 2 -4 3 -4 -3 2 0 -2 -2 -3 1 -3 -4 3 -4 0 -2 3 -5 3 1 2 +-2 4 1 5 1 -1 2 -5 -1 -4 1 -4 0 -2 -2 -3 -4 -4 5 1 3 3 2 4 4 -3 -5 5 0 -1 0 5 5 -2 3 -1 -5 1 -3 -4 1 -1 3 -3 -4 0 -4 1 -2 5 -1 -5 0 4 -2 1 -2 -5 5 -2 0 -3 0 0 1 -3 -5 1 -5 -1 -5 -2 -4 4 2 2 5 2 2 0 1 -4 -4 -4 -3 1 -2 -2 0 0 -4 -4 5 -2 3 1 5 0 3 0 +-5 -2 1 3 3 5 -2 -4 -3 -1 0 1 -3 1 5 -4 4 0 2 0 1 3 -3 -2 0 5 -5 1 5 0 5 -4 -3 1 5 -3 4 4 2 -2 -5 0 -2 4 0 -5 -4 -5 3 0 3 1 1 1 2 0 -2 4 0 -3 0 3 0 -1 -2 -1 0 -1 0 0 -5 4 1 -2 3 4 -2 -4 -2 5 0 -5 -2 0 0 0 -4 4 1 4 -1 -3 1 -3 5 -4 2 -3 0 -4 +1 2 -1 5 -5 -4 -1 2 -4 5 0 5 3 4 0 0 2 2 -4 0 -4 2 5 4 -3 5 3 4 1 -4 0 2 1 -3 0 -2 -2 -2 1 0 0 -2 2 -4 3 1 2 2 5 2 -3 4 4 -4 -4 3 1 2 -5 5 3 -5 3 2 0 -4 5 0 5 -4 0 -4 0 -5 -1 2 3 5 4 -4 -1 0 4 -4 -3 1 -4 0 0 -2 -3 3 3 2 -2 3 5 4 4 5 +1 3 3 -3 4 1 -3 -5 0 1 1 5 4 -3 -1 -4 3 -1 -2 1 -1 2 1 2 -1 -5 3 -5 1 0 3 0 3 -5 3 -1 -5 -4 -2 -1 0 0 -1 -4 0 -3 -5 -5 -5 -4 3 0 2 5 0 1 0 -2 -2 -1 -2 5 -3 -1 -3 -2 -3 -4 4 2 -1 0 -5 0 4 -3 1 3 5 -1 -5 -1 -3 3 -3 -1 3 4 0 0 -3 -3 -2 4 -1 4 -3 4 0 0 +-3 2 1 -2 -2 0 1 -2 4 -1 -5 2 3 5 1 -2 -1 -1 0 4 -5 -3 3 0 1 0 5 5 0 -5 -4 0 5 0 -3 -5 0 5 5 -2 3 -1 -5 -4 0 -3 -3 0 2 -2 1 4 5 0 -5 -5 3 -5 -2 -2 0 0 2 5 -2 -4 -2 3 -2 -2 0 0 -5 -2 0 4 -4 -2 5 -4 -5 -4 4 0 -2 -3 3 1 -3 1 -3 0 -3 -5 -1 -3 -2 3 -5 2 +-1 -3 3 -5 2 5 3 2 2 1 4 -1 -2 2 0 -1 -2 -4 4 2 -1 -1 -5 0 3 0 -3 3 3 -2 0 -2 -3 3 4 4 0 -4 -1 4 4 -4 -1 2 -1 -5 -5 0 -1 -3 5 2 2 4 -2 -3 0 -2 -2 0 -5 4 1 2 -2 -2 1 0 -2 -2 -2 4 5 2 0 2 4 0 -5 -5 0 1 1 3 -3 4 0 0 0 4 -3 -3 5 5 -4 -2 -5 3 1 2 +5 -4 1 -4 2 -4 0 3 -3 5 0 -5 -2 2 -2 -5 4 3 -1 -5 -2 -5 -5 1 0 -3 5 -1 -5 -5 4 4 5 4 2 -2 -4 -5 -3 -3 3 4 0 -3 5 0 0 2 -5 5 4 -4 1 -5 -1 5 5 -2 0 5 0 -1 3 0 -5 -1 1 -2 0 -3 0 -5 4 0 -5 1 5 -2 3 -3 -3 5 0 0 -3 -5 0 -5 -1 1 -2 1 4 1 -5 -2 1 3 0 4 +4 -5 -1 -5 5 0 0 -1 1 -5 0 -4 0 -2 4 4 5 5 -3 5 0 -4 -3 2 4 2 5 3 -4 2 5 -2 5 3 2 -3 3 1 -4 0 -5 5 4 -4 0 2 5 2 -3 -3 0 3 -2 4 -4 4 0 -2 -4 1 0 2 2 -5 -5 -4 -1 -1 0 3 -3 -4 -4 0 1 3 1 -4 -1 -2 0 0 1 -5 -3 -2 -1 -2 -1 3 -3 -5 4 -1 -4 -3 -2 3 0 -5 +0 5 -5 -2 3 0 -2 -4 -4 3 -5 -4 0 4 2 5 0 0 5 0 0 5 0 -2 1 -3 -3 3 -2 5 0 4 -4 -4 2 3 2 -4 -4 -3 -4 -3 0 -1 -3 -4 -4 0 4 5 4 -1 -2 5 -3 0 2 1 -2 2 -2 3 5 0 4 2 -1 1 2 1 -1 5 -2 2 2 0 4 -2 5 4 3 -4 2 0 3 5 0 -3 -2 -5 4 -4 -3 0 -3 0 5 4 -3 5 +0 -4 0 1 0 -2 -4 0 -2 5 4 0 -2 -4 -1 -4 0 -2 5 0 5 0 5 -1 -2 4 0 -1 -4 -4 -3 -3 -3 0 2 0 1 5 -1 -1 -5 0 1 4 -3 -5 -2 3 -1 -4 0 3 -2 -1 -4 1 -1 0 -4 -2 1 2 0 -2 -4 4 0 2 5 3 -4 -3 1 1 -1 -4 4 -3 0 1 5 5 4 0 1 -5 0 -4 2 -2 3 1 -1 -2 1 -1 0 5 -1 -1 +4 1 -4 -5 -3 -2 -1 -2 -5 -5 -5 0 5 0 -3 -3 -1 -5 0 2 2 5 0 4 -5 1 -3 -4 -3 -1 -3 3 -1 -2 -1 0 -2 4 -5 3 5 -2 1 3 -5 -3 -3 1 4 0 1 -2 1 2 4 -2 4 0 -2 -1 -1 2 0 -2 4 0 -5 2 2 1 5 2 4 4 -4 1 3 -4 2 -3 -4 -5 -4 -5 -1 -1 -4 0 0 -4 -1 2 -1 -2 -1 -2 2 0 -4 -2 +0 -1 3 0 -5 -2 -5 -3 -5 1 4 1 5 -2 -3 4 0 -4 -1 -4 2 -4 -2 -1 -3 2 5 -2 -2 -2 0 4 0 5 -4 1 3 1 5 -2 -1 0 1 -1 -1 5 -4 2 -1 -4 -3 -4 -3 0 -3 2 2 -3 3 -4 -4 0 5 3 1 -3 0 -1 3 3 3 -4 3 4 -4 -2 4 0 2 -3 4 2 2 -5 0 2 -3 4 -4 -2 -3 -3 0 5 -1 -4 -2 5 -2 -1 diff --git a/maps/test_maps/20-60.fdf b/maps/test_maps/20-60.fdf new file mode 100644 index 0000000..989c8f2 --- /dev/null +++ b/maps/test_maps/20-60.fdf @@ -0,0 +1,20 @@ +36 -40 -59 37 -47 -29 -4 12 49 45 37 49 -31 16 20 19 -26 -30 -21 18 +43 16 43 -3 37 -5 -11 -46 4 38 27 -38 35 30 37 59 -29 26 -55 52 +-25 -48 30 33 -42 -55 54 26 54 -23 47 13 28 31 -53 54 -10 -50 -24 12 +-17 16 -1 13 3 -34 -56 -7 34 -44 15 -58 25 -38 -12 -34 42 12 -29 -59 +34 4 39 -5 21 -32 -54 -58 -51 -45 -51 28 -59 45 44 8 52 -52 15 24 +21 -35 2 16 57 -2 -28 -54 41 -18 34 -28 46 -2 28 13 -38 37 -32 -34 +-18 41 -23 -54 -5 36 -44 -2 38 1 4 -24 39 -41 42 48 -57 -3 -26 26 +-29 25 -39 -14 7 -50 4 41 -21 21 -18 27 -29 19 -3 -57 -27 21 -4 -27 +43 -31 -38 37 -24 16 -52 -49 11 -49 20 59 9 -24 0 -7 -39 -22 -37 -2 +58 -43 -24 -53 -50 16 -3 27 36 -28 -29 -21 -41 -26 57 12 -23 31 -19 55 +-38 -43 36 -51 -57 48 42 -58 -17 -47 -32 23 -26 -46 46 -52 48 21 50 -17 +47 21 -44 2 42 10 59 -12 29 11 12 24 -11 53 -1 23 -27 59 -57 45 +25 19 -54 30 19 12 -24 -40 -38 -6 -26 1 -15 41 53 7 -27 -37 -4 50 +-51 -30 -34 -55 -24 44 18 -56 56 33 -38 -38 1 -34 0 -27 19 -30 2 -35 +15 -34 12 6 -46 -56 1 57 -9 -28 -37 7 37 -13 -1 -24 -40 -56 52 5 +-4 -7 1 -32 38 -58 -8 -12 -56 6 -57 57 -38 -21 -35 3 -20 -17 8 10 +-50 50 5 44 -39 -6 -48 12 -38 36 -47 -57 46 8 -54 44 55 31 -41 -40 +-27 55 5 27 13 54 21 5 -20 -35 22 -30 56 3 -9 -9 43 26 -53 -24 +43 -37 -4 0 -22 -10 50 -55 18 -40 -29 -57 10 -8 23 33 -38 59 53 50 +-41 41 20 51 -6 48 -11 57 -44 59 33 35 3 21 -11 51 -4 -19 39 -19 diff --git a/maps/test_maps/42.fdf b/maps/test_maps/42.fdf new file mode 100644 index 0000000..c15deb0 --- /dev/null +++ b/maps/test_maps/42.fdf @@ -0,0 +1,11 @@ +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 10 10 0 0 10 10 0 0 0 10 10 10 10 10 0 0 0 +0 0 10 10 0 0 10 10 0 0 0 0 0 0 0 10 10 0 0 +0 0 10 10 0 0 10 10 0 0 0 0 0 0 0 10 10 0 0 +0 0 10 10 10 10 10 10 0 0 0 0 10 10 10 10 0 0 0 +0 0 0 10 10 10 10 10 0 0 0 10 10 0 0 0 0 0 0 +0 0 0 0 0 0 10 10 0 0 0 10 10 0 0 0 0 0 0 +0 0 0 0 0 0 10 10 0 0 0 10 10 10 10 10 10 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 diff --git a/maps/test_maps/50-4.fdf b/maps/test_maps/50-4.fdf new file mode 100644 index 0000000..ec14f59 --- /dev/null +++ b/maps/test_maps/50-4.fdf @@ -0,0 +1,50 @@ +3 2 2 -1 0 0 1 -2 -3 -1 3 0 1 -1 0 3 0 0 0 -3 -1 -3 3 -1 1 2 2 -3 -3 3 -3 2 -1 2 0 3 -1 0 3 -1 2 1 0 -1 1 0 -1 3 -3 -3 +-3 2 -1 3 -1 -3 0 0 -3 0 0 0 0 -1 3 0 -1 0 1 3 1 1 0 2 1 0 -2 1 -3 3 -3 0 2 2 -3 -1 2 0 0 -3 1 1 0 0 2 3 -1 -1 1 -2 +0 -3 -1 1 2 0 -1 3 -2 -1 1 2 -2 -3 -1 1 -3 2 0 0 2 0 1 3 -3 -1 1 0 2 -3 3 -1 3 -2 -2 0 1 2 -3 2 -3 -2 2 0 1 -3 -2 0 -2 1 +-1 0 0 -2 1 -2 0 0 -1 -1 1 0 -3 3 3 2 0 0 0 0 -2 3 0 3 2 1 1 2 0 -3 -3 0 -3 -2 -2 0 1 -2 0 0 -3 -3 0 2 -3 -3 1 0 2 2 +1 -3 -2 -2 0 3 0 0 -2 2 -2 3 -2 -2 0 -2 2 3 0 0 -1 -1 1 -1 1 0 1 0 -2 0 3 -1 3 -3 0 2 -3 0 0 1 0 0 -3 0 1 -2 1 -1 -2 -2 +-2 -1 3 -2 0 1 -3 3 1 2 2 3 0 -3 -1 1 -1 2 0 1 1 -1 -2 -2 -3 3 0 0 -1 0 2 -3 -1 3 0 1 -3 0 0 -3 2 0 1 0 1 -3 -3 0 1 1 +-3 0 3 0 0 -2 1 -2 0 -1 0 1 -3 2 -2 -2 2 0 -1 -1 0 -3 -1 0 -1 0 0 -2 2 2 3 -3 1 -2 -1 -1 0 1 -1 0 0 2 -1 1 0 -3 -1 -2 0 2 +-1 -3 0 -1 -2 3 -3 -3 2 2 1 0 -1 2 -2 2 0 1 2 -3 3 0 2 3 -3 -3 3 0 0 -2 2 -2 -2 0 3 -1 2 0 0 1 2 0 -2 -2 -2 -2 3 -3 -3 0 +2 2 3 0 3 -3 0 -3 0 -1 1 -3 0 1 -2 1 2 -3 -1 0 1 0 -1 0 1 3 -1 3 3 -2 1 3 -2 2 0 0 1 1 2 0 3 2 1 -2 2 -1 -3 0 0 2 +-2 -1 2 -2 2 -3 0 3 -2 3 0 -2 -1 -2 2 -2 -3 -1 -1 -2 -1 1 1 -1 0 -3 3 -1 2 -2 2 -3 0 0 -3 -2 -1 2 2 2 2 1 1 2 0 0 2 3 0 1 +-2 0 -2 0 2 -2 3 -2 2 0 0 3 -1 0 1 -1 -2 -3 2 0 -3 0 -3 1 -3 1 -1 -2 1 1 0 3 3 -2 -1 0 3 0 -2 0 2 2 3 0 -2 -1 0 2 -2 0 +-3 0 0 -1 -2 0 -2 2 -3 -2 0 -1 2 3 0 0 -3 0 1 1 0 -3 0 0 -1 1 3 -1 0 0 -3 1 -3 -2 1 -1 -2 -1 3 2 -2 -1 1 2 -2 -3 1 3 2 0 +-3 3 -3 -1 -2 0 3 2 0 -1 0 3 2 1 -2 3 -3 2 -2 0 -2 3 1 -1 2 3 -2 2 1 3 1 3 1 -3 3 -2 2 -2 1 2 -1 -3 0 -2 1 3 -1 1 3 0 +1 3 0 0 0 0 0 -2 1 0 3 -2 -2 2 2 2 -3 0 0 1 0 -1 2 1 -2 0 0 3 -2 0 0 1 1 -2 -2 -2 1 1 3 -3 0 1 0 0 0 3 -2 3 0 3 +-1 2 -1 1 0 -1 2 0 -3 2 -1 2 2 3 2 2 -2 1 0 0 2 0 -2 -3 1 0 -3 2 0 2 -1 -2 -3 0 3 -3 3 -3 -2 1 -3 1 0 0 0 1 -3 -2 0 -1 +1 3 0 3 1 0 -2 0 -2 -2 -2 -1 -2 -1 -2 1 -3 2 0 0 0 -1 0 2 -3 0 3 -3 -2 -2 3 3 -1 2 -3 -2 0 -3 -1 -3 3 0 2 -2 -2 -2 3 0 -2 2 +1 0 1 -1 3 -2 0 0 2 0 0 0 -3 -2 0 1 1 0 -3 -2 -3 2 -3 1 2 0 3 1 1 0 -1 -3 1 -2 -1 -3 2 3 -1 3 0 -3 2 1 -3 0 -1 -3 -3 2 +-3 2 0 3 0 0 1 2 -2 -1 0 -3 -1 0 0 -2 3 0 3 3 0 -2 3 -2 -1 -2 -2 -1 -3 0 -1 0 2 0 -1 0 1 -1 -1 3 0 0 0 -2 -3 2 0 -3 0 3 +-1 2 3 0 -1 -1 -2 0 3 0 0 2 3 -2 0 -2 0 3 2 1 0 -1 3 -3 -3 3 2 0 0 2 0 3 0 1 -1 -1 2 -3 -1 -2 0 0 2 -1 1 0 -2 2 -3 2 +-2 2 -3 0 0 0 -2 3 1 0 -3 -3 0 0 3 2 0 -2 3 2 0 1 0 1 0 3 0 0 2 1 1 -1 2 0 3 -1 2 2 0 1 0 0 1 3 -1 2 3 3 3 0 +0 2 0 -1 0 -2 -1 -1 -1 -2 -1 -2 -1 3 -3 -1 0 3 0 3 0 2 2 -3 0 -3 1 3 -2 0 0 -2 3 0 0 2 0 -3 2 -3 0 -2 -3 -3 2 2 0 -1 1 1 +3 -3 2 -1 -1 -1 0 0 2 1 2 -2 -1 -3 3 -1 3 0 -3 3 2 2 0 3 2 -2 3 -1 -2 3 -1 3 -2 -2 0 3 -1 1 1 -2 -1 -1 -3 3 1 0 2 0 1 -2 +0 3 -1 2 -1 3 2 1 0 3 -1 2 1 -2 -2 -3 0 3 -3 2 -3 0 -2 0 1 3 -2 0 -3 0 -2 -1 0 -1 0 1 0 -2 -3 0 0 2 1 0 2 0 3 1 -3 1 +1 -1 2 -3 2 -3 0 0 3 -3 0 -3 -2 0 -2 0 -1 0 -2 0 0 0 3 0 0 3 1 2 1 0 0 1 1 2 -3 1 0 3 0 3 3 0 3 0 2 -2 2 3 3 2 +0 -1 0 0 3 1 2 0 0 2 -3 -2 1 0 -2 2 0 2 -3 -2 -3 0 3 0 2 0 -2 1 0 -3 3 3 -3 -3 2 -2 -3 -1 0 -3 0 1 0 0 2 2 1 0 1 -2 +3 3 3 1 -2 3 -2 2 2 -2 2 -3 -2 3 1 2 0 0 -2 3 -1 0 1 2 0 -1 2 0 -1 0 0 0 2 -2 3 0 2 3 0 3 -3 0 0 0 1 3 0 -1 3 -1 +-2 -3 2 -1 -1 -2 0 0 0 0 1 3 -3 1 0 -1 0 -3 2 -2 0 1 -1 0 0 1 0 3 0 0 3 -1 -3 1 3 3 0 -1 0 3 -1 -1 -3 -3 3 -3 0 0 0 1 +0 -1 0 0 2 -1 -3 -2 0 2 3 2 0 -1 0 -3 3 -1 0 2 -1 -1 -2 2 0 0 0 -1 1 0 -3 0 1 3 1 3 0 0 -3 0 2 3 0 1 3 3 -2 -3 -1 -1 +3 -1 0 1 -3 -1 0 0 -2 -2 -2 2 1 -3 0 -3 3 2 2 2 1 0 0 -3 3 1 3 3 -3 -2 0 0 3 1 -1 0 0 3 -3 -2 -2 2 0 1 0 0 0 -2 3 0 +3 3 2 -2 3 1 -2 0 0 -3 0 -1 -1 -2 2 3 -1 2 0 1 1 2 2 -2 1 0 0 -1 -2 0 3 3 3 0 0 3 2 1 -3 3 0 0 0 0 3 -1 -2 3 -1 0 +2 -2 -3 -1 0 2 -2 0 1 -1 0 -2 3 3 2 -3 2 -2 2 1 3 3 -1 -3 0 -2 -2 -3 -3 2 0 1 -2 -3 2 -3 0 0 0 0 2 0 -1 -2 3 0 1 1 3 2 +0 3 0 -1 -2 0 -3 0 0 0 2 3 0 3 0 2 0 -1 -1 -2 0 2 0 -1 2 1 -1 3 0 -3 -1 2 3 0 1 -3 -1 0 0 -2 1 -3 0 1 -2 1 1 0 -3 1 +0 0 3 -1 0 -1 3 1 2 0 -1 0 -3 0 -2 0 1 0 -1 2 2 0 3 0 1 -2 0 -3 2 2 0 3 3 -1 -2 -3 -2 -3 0 2 2 -1 3 -2 0 0 -1 -1 0 0 +2 0 -2 -2 0 0 0 2 -1 2 3 1 -3 2 1 -1 0 -1 2 0 -2 -2 -2 0 -1 2 3 0 3 0 1 0 2 -3 0 1 -3 2 1 -3 2 -1 2 -3 0 1 -1 0 2 -1 +3 -3 -3 -3 2 0 3 0 2 2 0 -1 0 -3 0 3 -1 0 3 0 0 -2 0 3 -1 -2 -1 -2 -3 0 -3 0 0 0 0 0 -2 0 2 -2 3 0 1 0 3 2 0 0 -1 0 +-1 1 0 1 0 2 3 -3 0 -3 2 -3 -3 2 -1 -1 0 3 1 0 3 -2 -2 2 -3 3 0 3 2 -2 -1 -1 -1 2 1 0 1 0 3 -3 0 -1 1 3 3 -1 0 1 3 0 +3 -1 -3 0 2 1 3 0 -3 0 3 0 0 2 -3 0 -3 1 3 0 3 0 0 1 3 -3 1 3 2 3 -3 2 -1 -2 2 -2 0 1 -2 1 -1 0 0 1 0 -2 -3 0 -1 -3 +-2 1 3 2 3 1 -3 1 0 -3 3 1 0 -1 -3 -1 0 3 -3 0 3 0 1 2 -2 -3 -3 2 -1 3 1 1 -1 0 -2 -3 -1 -2 -3 1 0 0 3 0 -2 0 3 1 0 1 +2 -2 -3 -1 1 0 2 -2 -3 0 -2 0 2 -2 -2 0 -2 -3 -1 2 0 0 3 3 2 -2 1 1 2 0 -3 -1 0 1 3 1 -3 1 0 3 1 0 1 1 3 0 2 2 0 2 +0 0 0 2 3 -3 0 -2 -1 1 0 1 -1 2 -3 -3 0 0 0 2 3 -3 0 0 2 -3 1 0 1 -1 0 0 -2 2 1 3 1 -1 -3 3 0 0 0 -2 -1 0 -1 -3 1 -1 +2 1 1 3 3 0 1 -1 -2 3 2 -3 -3 -1 1 -1 0 -2 3 2 1 3 3 2 2 0 -1 1 0 0 0 -1 0 -2 0 1 0 3 -3 -1 1 -3 0 1 2 3 2 -2 1 -2 +-1 -3 1 -2 0 -3 2 -3 -2 -1 -1 0 0 1 -1 3 2 2 1 3 2 0 1 2 -2 -2 -2 1 -1 0 3 3 2 -3 -1 2 3 -1 2 -2 3 3 3 -2 0 2 -1 3 2 2 +-2 1 1 -1 -1 0 0 -1 1 1 0 1 3 0 0 1 1 1 0 -2 -3 -3 -2 -2 -3 -3 2 3 2 1 2 -1 1 -3 -2 2 0 2 -2 0 1 -1 1 -2 -3 0 -2 -3 1 1 +0 -1 2 1 2 0 -1 1 0 -2 -2 -1 3 -2 2 0 -1 1 0 1 1 0 -3 -3 -1 3 3 -1 1 0 2 0 -3 0 -1 0 1 3 3 -3 -1 0 1 3 1 -3 0 -2 -2 -3 +3 2 0 -1 2 2 0 1 -3 2 1 1 0 3 3 -3 0 2 2 -3 1 -3 3 0 -1 -1 0 0 -3 1 0 -1 3 0 2 -3 -2 0 -2 1 1 -1 0 -3 -1 1 2 0 2 1 +0 0 3 2 1 -2 3 0 3 -1 2 -3 0 2 0 1 1 2 2 0 -2 0 2 2 -3 -3 3 -3 0 0 0 2 -3 2 0 0 -1 -3 2 -2 2 -3 -2 -3 1 -3 3 -3 2 0 +0 2 -3 -1 3 0 -2 2 -3 3 3 0 1 1 -3 0 0 -3 1 -1 -1 -3 3 1 3 0 -1 0 3 -1 3 0 -3 0 3 3 -2 0 -3 2 0 -2 3 -2 3 3 -1 -2 3 -2 +-3 -3 1 0 -1 -3 1 3 3 0 -1 3 2 -2 1 -2 -3 3 0 -2 0 -3 0 0 1 2 2 0 -3 -3 0 0 2 -1 3 3 -1 3 -3 0 -2 2 2 3 -1 1 1 0 -3 -2 +-2 -3 0 0 1 0 -3 -2 -2 -3 -2 1 3 2 -2 3 0 0 -2 2 -1 2 1 0 -2 3 -2 -2 -1 -1 1 1 0 1 0 1 0 -3 -2 1 0 1 3 2 3 -3 2 0 0 1 +1 -2 -3 -1 2 -3 -1 0 1 3 -3 -3 0 -1 0 0 2 2 -1 3 0 2 3 1 1 1 -2 -1 1 -2 1 -1 -1 -1 2 -3 -2 1 -2 1 0 0 2 -3 0 -1 2 -2 -2 -1 diff --git a/maps/test_maps/basictest.fdf b/maps/test_maps/basictest.fdf new file mode 100644 index 0000000..6ce5326 --- /dev/null +++ b/maps/test_maps/basictest.fdf @@ -0,0 +1,9 @@ +0 0 1 2 3 4 5 6 7 8 9 +0 0 0 1 2 3 4 5 6 7 8 +0 0 0 0 1 2 3 4 5 6 7 +0 0 0 0 0 1 2 3 4 5 6 +0 0 0 0 0 0 1 2 3 4 5 +0 0 0 0 0 0 0 1 2 3 4 +0 0 0 0 0 0 0 0 1 2 3 +0 0 0 0 0 0 0 0 0 1 2 +0 0 0 0 0 0 0 0 0 0 1 diff --git a/maps/test_maps/elem-col.fdf b/maps/test_maps/elem-col.fdf new file mode 100644 index 0000000..52630d0 --- /dev/null +++ b/maps/test_maps/elem-col.fdf @@ -0,0 +1,10 @@ +0 0 0 0 0 0 0 0 0 0 +0 10 10 10 10 10 10 10 10 0 +0 10 20,0xFF0000 15,0xFF0000 12 15,0xFF0000 17,0xFF0000 20,0xFF0000 10 0 +0 10 15,0xFF0000 10 12 15,0xFF0000 15,0xFF0000 15,0xFF0000 10 0 +0 5 15,0xFF0000 10 12 15,0xFF0000 15,0xFF0000 13 10 0 +0 5 10 5 7 12 12 12 10 0 +0 5 7 1 2 7 5 5 7 0 +0 3 0 0 1 2 2 2 5 0 +0 1 0 0 0 0 0 0 3 0 +0 0 0 0 0 0 0 0 0 0 diff --git a/maps/test_maps/elem-fract.fdf b/maps/test_maps/elem-fract.fdf new file mode 100644 index 0000000..415fc99 --- /dev/null +++ b/maps/test_maps/elem-fract.fdf @@ -0,0 +1,500 @@ + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 7,0x881111 7,0x881111 8,0x8a1414 10,0x8c1919 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 7,0x881111 12,0x8f1e1e 10,0x8c1919 10,0x8c1919 10,0x8c1919 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 7,0x881111 8,0x8a1414 9,0x8b1616 10,0x8c1919 11,0x8e1c1c 9,0x8b1616 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 13,0x902121 8,0x8a1414 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 8,0x8a1414 9,0x8b1616 16,0x942828 12,0x8f1e1e 10,0x8c1919 9,0x8b1616 8,0x8a1414 8,0x8a1414 8,0x8a1414 10,0x8c1919 15,0x932626 11,0x8e1c1c 7,0x881111 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 8,0x8a1414 9,0x8b1616 14,0x912323 14,0x912323 13,0x902121 10,0x8c1919 10,0x8c1919 10,0x8c1919 22,0x9c3838 10,0x8c1919 8,0x8a1414 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 9,0x8b1616 10,0x8c1919 12,0x8f1e1e 20,0x993333 12,0x8f1e1e 14,0x912323 12,0x8f1e1e 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 9,0x8b1616 10,0x8c1919 12,0x8f1e1e 21,0x9a3535 12,0x8f1e1e 10,0x8c1919 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 11,0x8e1c1c 21,0x9a3535 11,0x8e1c1c 10,0x8c1919 9,0x8b1616 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 10,0x8c1919 17,0x952b2b 14,0x912323 9,0x8b1616 9,0x8b1616 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 9,0x8b1616 10,0x8c1919 14,0x912323 13,0x902121 10,0x8c1919 9,0x8b1616 9,0x8b1616 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 9,0x8b1616 11,0x8e1c1c 13,0x902121 13,0x902121 11,0x8e1c1c 9,0x8b1616 9,0x8b1616 9,0x8b1616 8,0x8a1414 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 10,0x8c1919 13,0x902121 16,0x942828 13,0x902121 11,0x8e1c1c 10,0x8c1919 10,0x8c1919 10,0x8c1919 9,0x8b1616 8,0x8a1414 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 8,0x8a1414 8,0x8a1414 11,0x8e1c1c 12,0x8f1e1e 13,0x902121 15,0x932626 13,0x902121 12,0x8f1e1e 12,0x8f1e1e 13,0x902121 11,0x8e1c1c 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 8,0x8a1414 8,0x8a1414 9,0x8b1616 10,0x8c1919 12,0x8f1e1e 22,0x9c3838 18,0x972d2d 17,0x952b2b 17,0x952b2b 15,0x932626 11,0x8e1c1c 9,0x8b1616 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 8,0x8a1414 9,0x8b1616 10,0x8c1919 12,0x8f1e1e 18,0x972d2d 100,0xFFFFFF 100,0xFFFFFF 32,0xa85151 14,0x912323 10,0x8c1919 9,0x8b1616 9,0x8b1616 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 9,0x8b1616 7,0x881111 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 8,0x8a1414 9,0x8b1616 11,0x8e1c1c 13,0x902121 15,0x932626 36,0xae5b5b 100,0xFFFFFF 47,0xbc7777 14,0x912323 11,0x8e1c1c 10,0x8c1919 9,0x8b1616 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 19,0x983030 9,0x8b1616 7,0x881111 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 8,0x8a1414 9,0x8b1616 37,0xaf5e5e 24,0x9e3d3d 19,0x983030 42,0xb56b6b 39,0xb16363 19,0x983030 20,0x993333 12,0x8f1e1e 11,0x8e1c1c 11,0x8e1c1c 10,0x8c1919 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 9,0x8b1616 15,0x932626 9,0x8b1616 7,0x881111 7,0x881111 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 10,0x8c1919 22,0x9c3838 13,0x902121 14,0x912323 14,0x912323 16,0x942828 14,0x912323 22,0x9c3838 15,0x932626 14,0x912323 31,0xa74f4f 10,0x8c1919 9,0x8b1616 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 9,0x8b1616 11,0x8e1c1c 16,0x942828 8,0x8a1414 8,0x8a1414 7,0x881111 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 9,0x8b1616 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 12,0x8f1e1e 13,0x902121 14,0x912323 17,0x952b2b 16,0x942828 12,0x8f1e1e 11,0x8e1c1c 10,0x8c1919 9,0x8b1616 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 10,0x8c1919 13,0x902121 11,0x8e1c1c 9,0x8b1616 8,0x8a1414 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 9,0x8b1616 10,0x8c1919 10,0x8c1919 10,0x8c1919 11,0x8e1c1c 12,0x8f1e1e 12,0x8f1e1e 18,0x972d2d 16,0x942828 12,0x8f1e1e 11,0x8e1c1c 10,0x8c1919 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 9,0x8b1616 10,0x8c1919 10,0x8c1919 14,0x912323 14,0x912323 12,0x8f1e1e 9,0x8b1616 8,0x8a1414 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 9,0x8b1616 10,0x8c1919 10,0x8c1919 11,0x8e1c1c 12,0x8f1e1e 16,0x942828 21,0x9a3535 13,0x902121 12,0x8f1e1e 10,0x8c1919 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 11,0x8e1c1c 11,0x8e1c1c 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 11,0x8e1c1c 12,0x8f1e1e 18,0x972d2d 12,0x8f1e1e 12,0x8f1e1e 15,0x932626 8,0x8a1414 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 10,0x8c1919 11,0x8e1c1c 12,0x8f1e1e 14,0x912323 23,0x9d3a3a 16,0x942828 24,0x9e3d3d 12,0x8f1e1e 10,0x8c1919 10,0x8c1919 9,0x8b1616 9,0x8b1616 9,0x8b1616 10,0x8c1919 10,0x8c1919 11,0x8e1c1c 20,0x993333 11,0x8e1c1c 12,0x8f1e1e 29,0xa54949 12,0x8f1e1e 13,0x902121 16,0x942828 12,0x8f1e1e 10,0x8c1919 9,0x8b1616 8,0x8a1414 8,0x8a1414 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 9,0x8b1616 10,0x8c1919 11,0x8e1c1c 12,0x8f1e1e 16,0x942828 20,0x993333 45,0xb97272 17,0x952b2b 13,0x902121 11,0x8e1c1c 11,0x8e1c1c 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 11,0x8e1c1c 12,0x8f1e1e 18,0x972d2d 14,0x912323 16,0x942828 26,0xa14242 20,0x993333 17,0x952b2b 14,0x912323 11,0x8e1c1c 9,0x8b1616 9,0x8b1616 8,0x8a1414 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 10,0x8c1919 12,0x8f1e1e 13,0x902121 20,0x993333 26,0xa14242 25,0xa03f3f 35,0xac5959 13,0x902121 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 12,0x8f1e1e 13,0x902121 16,0x942828 18,0x972d2d 18,0x972d2d 100,0xFFFFFF 21,0x9a3535 14,0x912323 15,0x932626 12,0x8f1e1e 9,0x8b1616 8,0x8a1414 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 9,0x8b1616 10,0x8c1919 11,0x8e1c1c 22,0x9c3838 26,0xa14242 16,0x942828 19,0x983030 16,0x942828 14,0x912323 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 15,0x932626 14,0x912323 17,0x952b2b 16,0x942828 24,0x9e3d3d 14,0x912323 14,0x912323 34,0xab5656 15,0x932626 12,0x8f1e1e 11,0x8e1c1c 10,0x8c1919 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 9,0x8b1616 10,0x8c1919 11,0x8e1c1c 13,0x902121 13,0x902121 14,0x912323 16,0x942828 23,0x9d3a3a 18,0x972d2d 14,0x912323 13,0x902121 13,0x902121 15,0x932626 21,0x9a3535 34,0xab5656 22,0x9c3838 15,0x932626 13,0x902121 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 10,0x8c1919 9,0x8b1616 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 9,0x8b1616 10,0x8c1919 10,0x8c1919 11,0x8e1c1c 12,0x8f1e1e 12,0x8f1e1e 15,0x932626 32,0xa85151 23,0x9d3a3a 15,0x932626 15,0x932626 18,0x972d2d 19,0x983030 19,0x983030 22,0x9c3838 16,0x942828 18,0x972d2d 12,0x8f1e1e 11,0x8e1c1c 10,0x8c1919 9,0x8b1616 9,0x8b1616 9,0x8b1616 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 9,0x8b1616 10,0x8c1919 10,0x8c1919 11,0x8e1c1c 12,0x8f1e1e 12,0x8f1e1e 13,0x902121 15,0x932626 19,0x983030 22,0x9c3838 21,0x9a3535 38,0xb06060 20,0x993333 15,0x932626 14,0x912323 13,0x902121 11,0x8e1c1c 11,0x8e1c1c 10,0x8c1919 10,0x8c1919 9,0x8b1616 9,0x8b1616 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 9,0x8b1616 10,0x8c1919 10,0x8c1919 11,0x8e1c1c 11,0x8e1c1c 12,0x8f1e1e 13,0x902121 14,0x912323 16,0x942828 19,0x983030 19,0x983030 16,0x942828 14,0x912323 13,0x902121 12,0x8f1e1e 12,0x8f1e1e 10,0x8c1919 10,0x8c1919 10,0x8c1919 9,0x8b1616 9,0x8b1616 9,0x8b1616 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 10,0x8c1919 10,0x8c1919 10,0x8c1919 11,0x8e1c1c 11,0x8e1c1c 12,0x8f1e1e 13,0x902121 14,0x912323 16,0x942828 21,0x9a3535 19,0x983030 15,0x932626 13,0x902121 13,0x902121 12,0x8f1e1e 11,0x8e1c1c 10,0x8c1919 10,0x8c1919 10,0x8c1919 9,0x8b1616 9,0x8b1616 9,0x8b1616 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 10,0x8c1919 10,0x8c1919 10,0x8c1919 11,0x8e1c1c 11,0x8e1c1c 12,0x8f1e1e 13,0x902121 14,0x912323 18,0x972d2d 26,0xa14242 27,0xa24444 14,0x912323 13,0x902121 12,0x8f1e1e 12,0x8f1e1e 11,0x8e1c1c 10,0x8c1919 10,0x8c1919 9,0x8b1616 9,0x8b1616 9,0x8b1616 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 10,0x8c1919 10,0x8c1919 10,0x8c1919 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 12,0x8f1e1e 14,0x912323 17,0x952b2b 18,0x972d2d 37,0xaf5e5e 18,0x972d2d 16,0x942828 14,0x912323 12,0x8f1e1e 11,0x8e1c1c 11,0x8e1c1c 10,0x8c1919 10,0x8c1919 9,0x8b1616 9,0x8b1616 9,0x8b1616 8,0x8a1414 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 10,0x8c1919 10,0x8c1919 10,0x8c1919 11,0x8e1c1c 11,0x8e1c1c 12,0x8f1e1e 14,0x912323 16,0x942828 24,0x9e3d3d 26,0xa14242 41,0xb46868 20,0x993333 24,0x9e3d3d 20,0x993333 12,0x8f1e1e 11,0x8e1c1c 11,0x8e1c1c 10,0x8c1919 10,0x8c1919 9,0x8b1616 9,0x8b1616 9,0x8b1616 8,0x8a1414 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 10,0x8c1919 10,0x8c1919 10,0x8c1919 11,0x8e1c1c 12,0x8f1e1e 12,0x8f1e1e 13,0x902121 15,0x932626 21,0x9a3535 22,0x9c3838 29,0xa54949 100,0xFFFFFF 32,0xa85151 20,0x993333 15,0x932626 12,0x8f1e1e 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 10,0x8c1919 10,0x8c1919 9,0x8b1616 9,0x8b1616 8,0x8a1414 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 9,0x8b1616 10,0x8c1919 11,0x8e1c1c 12,0x8f1e1e 13,0x902121 13,0x902121 13,0x902121 14,0x912323 15,0x932626 17,0x952b2b 19,0x983030 23,0x9d3a3a 26,0xa14242 20,0x993333 18,0x972d2d 15,0x932626 13,0x902121 12,0x8f1e1e 11,0x8e1c1c 11,0x8e1c1c 10,0x8c1919 10,0x8c1919 9,0x8b1616 9,0x8b1616 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 9,0x8b1616 10,0x8c1919 11,0x8e1c1c 12,0x8f1e1e 14,0x912323 18,0x972d2d 14,0x912323 14,0x912323 14,0x912323 15,0x932626 17,0x952b2b 24,0x9e3d3d 34,0xab5656 45,0xb97272 19,0x983030 16,0x942828 15,0x932626 13,0x902121 13,0x902121 12,0x8f1e1e 12,0x8f1e1e 11,0x8e1c1c 10,0x8c1919 9,0x8b1616 9,0x8b1616 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 10,0x8c1919 11,0x8e1c1c 12,0x8f1e1e 13,0x902121 15,0x932626 26,0xa14242 17,0x952b2b 15,0x932626 16,0x942828 18,0x972d2d 24,0x9e3d3d 21,0x9a3535 28,0xa34747 25,0xa03f3f 19,0x983030 18,0x972d2d 15,0x932626 14,0x912323 14,0x912323 14,0x912323 14,0x912323 38,0xb06060 11,0x8e1c1c 9,0x8b1616 9,0x8b1616 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 10,0x8c1919 10,0x8c1919 15,0x932626 24,0x9e3d3d 17,0x952b2b 18,0x972d2d 17,0x952b2b 36,0xae5b5b 19,0x983030 17,0x952b2b 18,0x972d2d 29,0xa54949 40,0xb36666 26,0xa14242 44,0xb87070 29,0xa54949 23,0x9d3a3a 24,0x9e3d3d 16,0x942828 15,0x932626 15,0x932626 17,0x952b2b 22,0x9c3838 17,0x952b2b 11,0x8e1c1c 10,0x8c1919 9,0x8b1616 9,0x8b1616 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 10,0x8c1919 10,0x8c1919 11,0x8e1c1c 12,0x8f1e1e 14,0x912323 29,0xa54949 34,0xab5656 33,0xaa5454 25,0xa03f3f 24,0x9e3d3d 27,0xa24444 20,0x993333 22,0x9c3838 29,0xa54949 76,0xe1c1c1 100,0xFFFFFF 40,0xb36666 55,0xc68c8c 23,0x9d3a3a 18,0x972d2d 17,0x952b2b 17,0x952b2b 37,0xaf5e5e 35,0xac5959 14,0x912323 11,0x8e1c1c 10,0x8c1919 9,0x8b1616 9,0x8b1616 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 11,0x8e1c1c 12,0x8f1e1e 11,0x8e1c1c 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 11,0x8e1c1c 12,0x8f1e1e 13,0x902121 15,0x932626 16,0x942828 17,0x952b2b 20,0x993333 53,0xc38787 43,0xb76d6d 26,0xa14242 51,0xc18282 34,0xab5656 100,0xFFFFFF 100,0xFFFFFF 80,0xe6cccc 33,0xaa5454 35,0xac5959 20,0x993333 20,0x993333 20,0x993333 24,0x9e3d3d 17,0x952b2b 14,0x912323 12,0x8f1e1e 10,0x8c1919 10,0x8c1919 9,0x8b1616 9,0x8b1616 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 10,0x8c1919 14,0x912323 30,0xa64c4c 12,0x8f1e1e 11,0x8e1c1c 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 11,0x8e1c1c 11,0x8e1c1c 12,0x8f1e1e 13,0x902121 14,0x912323 15,0x932626 16,0x942828 18,0x972d2d 23,0x9d3a3a 54,0xc58989 38,0xb06060 45,0xb97272 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 68,0xd7adad 43,0xb76d6d 30,0xa64c4c 35,0xac5959 77,0xe2c4c4 45,0xb97272 22,0x9c3838 55,0xc68c8c 19,0x983030 31,0xa74f4f 11,0x8e1c1c 10,0x8c1919 10,0x8c1919 9,0x8b1616 9,0x8b1616 9,0x8b1616 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 10,0x8c1919 15,0x932626 19,0x983030 13,0x902121 35,0xac5959 11,0x8e1c1c 11,0x8e1c1c 10,0x8c1919 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 12,0x8f1e1e 13,0x902121 14,0x912323 14,0x912323 16,0x942828 19,0x983030 24,0x9e3d3d 36,0xae5b5b 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 48,0xbd7a7a 45,0xb97272 28,0xa34747 38,0xb06060 18,0x972d2d 16,0x942828 18,0x972d2d 14,0x912323 11,0x8e1c1c 10,0x8c1919 10,0x8c1919 10,0x8c1919 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 8,0x8a1414 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 10,0x8c1919 11,0x8e1c1c 14,0x912323 29,0xa54949 18,0x972d2d 29,0xa54949 13,0x902121 12,0x8f1e1e 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 12,0x8f1e1e 13,0x902121 13,0x902121 14,0x912323 15,0x932626 18,0x972d2d 26,0xa14242 31,0xa74f4f 38,0xb06060 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 46,0xba7575 31,0xa74f4f 19,0x983030 17,0x952b2b 15,0x932626 13,0x902121 12,0x8f1e1e 11,0x8e1c1c 11,0x8e1c1c 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 10,0x8c1919 14,0x912323 9,0x8b1616 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 9,0x8b1616 10,0x8c1919 11,0x8e1c1c 12,0x8f1e1e 13,0x902121 19,0x983030 24,0x9e3d3d 17,0x952b2b 14,0x912323 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 13,0x902121 14,0x912323 15,0x932626 15,0x932626 16,0x942828 21,0x9a3535 23,0x9d3a3a 28,0xa34747 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 38,0xb06060 28,0xa34747 34,0xab5656 19,0x983030 14,0x912323 13,0x902121 13,0x902121 12,0x8f1e1e 11,0x8e1c1c 11,0x8e1c1c 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 11,0x8e1c1c 19,0x983030 13,0x902121 9,0x8b1616 8,0x8a1414 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 9,0x8b1616 14,0x912323 10,0x8c1919 10,0x8c1919 11,0x8e1c1c 13,0x902121 13,0x902121 13,0x902121 14,0x912323 16,0x942828 29,0xa54949 49,0xbe7c7c 15,0x932626 13,0x902121 13,0x902121 13,0x902121 13,0x902121 16,0x942828 15,0x932626 17,0x952b2b 20,0x993333 16,0x942828 17,0x952b2b 19,0x983030 21,0x9a3535 93,0xf7eded 82,0xe8d1d1 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 66,0xd4a8a8 46,0xba7575 44,0xb87070 17,0x952b2b 15,0x932626 14,0x912323 13,0x902121 12,0x8f1e1e 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 16,0x942828 13,0x902121 12,0x8f1e1e 12,0x8f1e1e 16,0x942828 20,0x993333 48,0xbd7a7a 8,0x8a1414 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 8,0x8a1414 9,0x8b1616 10,0x8c1919 14,0x912323 17,0x952b2b 12,0x8f1e1e 13,0x902121 32,0xa85151 17,0x952b2b 26,0xa14242 20,0x993333 19,0x983030 48,0xbd7a7a 20,0x993333 15,0x932626 14,0x912323 14,0x912323 14,0x912323 14,0x912323 19,0x983030 87,0xefdddd 23,0x9d3a3a 87,0xefdddd 19,0x983030 19,0x983030 22,0x9c3838 22,0x9c3838 26,0xa14242 41,0xb46868 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 81,0xe7cece 27,0xa24444 20,0x993333 17,0x952b2b 16,0x942828 15,0x932626 16,0x942828 13,0x902121 12,0x8f1e1e 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 12,0x8f1e1e 12,0x8f1e1e 17,0x952b2b 48,0xbd7a7a 15,0x932626 16,0x942828 26,0xa14242 12,0x8f1e1e 10,0x8c1919 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 9,0x8b1616 18,0x972d2d 26,0xa14242 20,0x993333 16,0x942828 15,0x932626 19,0x983030 69,0xd8afaf 24,0x9e3d3d 21,0x9a3535 22,0x9c3838 25,0xa03f3f 43,0xb76d6d 19,0x983030 16,0x942828 15,0x932626 14,0x912323 14,0x912323 15,0x932626 17,0x952b2b 20,0x993333 43,0xb76d6d 24,0x9e3d3d 22,0x9c3838 24,0x9e3d3d 31,0xa74f4f 28,0xa34747 29,0xa54949 33,0xaa5454 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 56,0xc78e8e 29,0xa54949 23,0x9d3a3a 20,0x993333 18,0x972d2d 17,0x952b2b 19,0x983030 34,0xab5656 15,0x932626 13,0x902121 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 13,0x902121 15,0x932626 28,0xa34747 25,0xa03f3f 37,0xaf5e5e 15,0x932626 12,0x8f1e1e 9,0x8b1616 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 9,0x8b1616 10,0x8c1919 12,0x8f1e1e 14,0x912323 22,0x9c3838 37,0xaf5e5e 35,0xac5959 17,0x952b2b 15,0x932626 16,0x942828 17,0x952b2b 31,0xa74f4f 22,0x9c3838 19,0x983030 17,0x952b2b 17,0x952b2b 17,0x952b2b 16,0x942828 16,0x942828 17,0x952b2b 27,0xa24444 53,0xc38787 100,0xFFFFFF 28,0xa34747 43,0xb76d6d 100,0xFFFFFF 48,0xbd7a7a 46,0xba7575 60,0xcc9999 58,0xca9393 77,0xe2c4c4 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 54,0xc58989 35,0xac5959 29,0xa54949 25,0xa03f3f 31,0xa74f4f 23,0x9d3a3a 19,0x983030 22,0x9c3838 22,0x9c3838 18,0x972d2d 14,0x912323 13,0x902121 13,0x902121 13,0x902121 14,0x912323 31,0xa74f4f 21,0x9a3535 28,0xa34747 16,0x942828 13,0x902121 12,0x8f1e1e 10,0x8c1919 9,0x8b1616 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 9,0x8b1616 9,0x8b1616 10,0x8c1919 11,0x8e1c1c 31,0xa74f4f 16,0x942828 14,0x912323 14,0x912323 14,0x912323 15,0x932626 17,0x952b2b 26,0xa14242 25,0xa03f3f 56,0xc78e8e 19,0x983030 19,0x983030 40,0xb36666 23,0x9d3a3a 20,0x993333 20,0x993333 25,0xa03f3f 45,0xb97272 100,0xFFFFFF 88,0xf0e0e0 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 61,0xce9b9b 40,0xb36666 51,0xc18282 26,0xa14242 54,0xc58989 26,0xa14242 28,0xa34747 20,0x993333 15,0x932626 14,0x912323 14,0x912323 14,0x912323 15,0x932626 17,0x952b2b 40,0xb36666 18,0x972d2d 15,0x932626 13,0x902121 12,0x8f1e1e 10,0x8c1919 9,0x8b1616 9,0x8b1616 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 10,0x8c1919 16,0x942828 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 13,0x902121 14,0x912323 18,0x972d2d 22,0x9c3838 46,0xba7575 35,0xac5959 23,0x9d3a3a 22,0x9c3838 32,0xa85151 29,0xa54949 23,0x9d3a3a 38,0xb06060 29,0xa54949 48,0xbd7a7a 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 33,0xaa5454 33,0xaa5454 50,0xc07f7f 25,0xa03f3f 18,0x972d2d 16,0x942828 15,0x932626 14,0x912323 15,0x932626 16,0x942828 20,0x993333 38,0xb06060 20,0x993333 18,0x972d2d 15,0x932626 14,0x912323 10,0x8c1919 10,0x8c1919 9,0x8b1616 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 9,0x8b1616 10,0x8c1919 11,0x8e1c1c 11,0x8e1c1c 12,0x8f1e1e 13,0x902121 13,0x902121 16,0x942828 20,0x993333 38,0xb06060 36,0xae5b5b 28,0xa34747 30,0xa64c4c 62,0xcf9e9e 32,0xa85151 30,0xa64c4c 30,0xa64c4c 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 69,0xd8afaf 100,0xFFFFFF 100,0xFFFFFF 48,0xbd7a7a 20,0x993333 18,0x972d2d 28,0xa34747 17,0x952b2b 16,0x942828 17,0x952b2b 18,0x972d2d 42,0xb56b6b 25,0xa03f3f 25,0xa03f3f 25,0xa03f3f 32,0xa85151 12,0x8f1e1e 11,0x8e1c1c 10,0x8c1919 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 10,0x8c1919 10,0x8c1919 11,0x8e1c1c 11,0x8e1c1c 12,0x8f1e1e 13,0x902121 47,0xbc7777 22,0x9c3838 46,0xba7575 100,0xFFFFFF 51,0xc18282 50,0xc07f7f 100,0xFFFFFF 100,0xFFFFFF 39,0xb16363 40,0xb36666 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 52,0xc28484 29,0xa54949 23,0x9d3a3a 22,0x9c3838 65,0xd3a5a5 44,0xb87070 19,0x983030 19,0x983030 20,0x993333 68,0xd7adad 27,0xa24444 17,0x952b2b 18,0x972d2d 26,0xa14242 14,0x912323 19,0x983030 18,0x972d2d 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 10,0x8c1919 10,0x8c1919 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 14,0x912323 32,0xa85151 25,0xa03f3f 30,0xa64c4c 36,0xae5b5b 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 27,0xa24444 26,0xa14242 71,0xdab5b5 27,0xa24444 22,0x9c3838 39,0xb16363 32,0xa85151 63,0xd0a0a0 22,0x9c3838 15,0x932626 15,0x932626 19,0x983030 26,0xa14242 18,0x972d2d 11,0x8e1c1c 9,0x8b1616 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 10,0x8c1919 10,0x8c1919 11,0x8e1c1c 11,0x8e1c1c 13,0x902121 15,0x932626 17,0x952b2b 22,0x9c3838 28,0xa34747 72,0xdcb7b7 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 35,0xac5959 82,0xe8d1d1 51,0xc18282 45,0xb97272 50,0xc07f7f 30,0xa64c4c 58,0xca9393 25,0xa03f3f 16,0x942828 14,0x912323 13,0x902121 13,0x902121 17,0x952b2b 11,0x8e1c1c 9,0x8b1616 9,0x8b1616 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 10,0x8c1919 10,0x8c1919 11,0x8e1c1c 12,0x8f1e1e 13,0x902121 14,0x912323 16,0x942828 53,0xc38787 56,0xc78e8e 96,0xfaf4f4 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 98,0xfdf9f9 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 52,0xc28484 31,0xa74f4f 20,0x993333 18,0x972d2d 13,0x902121 12,0x8f1e1e 11,0x8e1c1c 10,0x8c1919 10,0x8c1919 9,0x8b1616 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 10,0x8c1919 10,0x8c1919 11,0x8e1c1c 12,0x8f1e1e 13,0x902121 14,0x912323 15,0x932626 20,0x993333 21,0x9a3535 72,0xdcb7b7 39,0xb16363 80,0xe6cccc 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 85,0xecd8d8 45,0xb97272 31,0xa74f4f 42,0xb56b6b 18,0x972d2d 12,0x8f1e1e 11,0x8e1c1c 10,0x8c1919 10,0x8c1919 9,0x8b1616 9,0x8b1616 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 10,0x8c1919 10,0x8c1919 12,0x8f1e1e 13,0x902121 14,0x912323 15,0x932626 16,0x942828 17,0x952b2b 21,0x9a3535 25,0xa03f3f 54,0xc58989 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 51,0xc18282 28,0xa34747 21,0x9a3535 16,0x942828 14,0x912323 12,0x8f1e1e 11,0x8e1c1c 10,0x8c1919 10,0x8c1919 9,0x8b1616 9,0x8b1616 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 10,0x8c1919 11,0x8e1c1c 21,0x9a3535 18,0x972d2d 25,0xa03f3f 18,0x972d2d 17,0x952b2b 18,0x972d2d 100,0xFFFFFF 35,0xac5959 39,0xb16363 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 39,0xb16363 24,0x9e3d3d 18,0x972d2d 14,0x912323 13,0x902121 12,0x8f1e1e 11,0x8e1c1c 10,0x8c1919 10,0x8c1919 9,0x8b1616 9,0x8b1616 8,0x8a1414 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 10,0x8c1919 11,0x8e1c1c 13,0x902121 20,0x993333 25,0xa03f3f 50,0xc07f7f 19,0x983030 20,0x993333 23,0x9d3a3a 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 36,0xae5b5b 23,0x9d3a3a 19,0x983030 16,0x942828 14,0x912323 14,0x912323 12,0x8f1e1e 11,0x8e1c1c 11,0x8e1c1c 10,0x8c1919 9,0x8b1616 9,0x8b1616 8,0x8a1414 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 10,0x8c1919 11,0x8e1c1c 12,0x8f1e1e 14,0x912323 23,0x9d3a3a 35,0xac5959 39,0xb16363 22,0x9c3838 24,0x9e3d3d 62,0xcf9e9e 33,0xaa5454 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 98,0xfdf9f9 37,0xaf5e5e 19,0x983030 17,0x952b2b 16,0x942828 15,0x932626 15,0x932626 12,0x8f1e1e 11,0x8e1c1c 10,0x8c1919 9,0x8b1616 9,0x8b1616 8,0x8a1414 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 10,0x8c1919 11,0x8e1c1c 14,0x912323 45,0xb97272 24,0x9e3d3d 26,0xa14242 29,0xa54949 27,0xa24444 26,0xa14242 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 28,0xa34747 20,0x993333 19,0x983030 20,0x993333 53,0xc38787 28,0xa34747 31,0xa74f4f 13,0x902121 10,0x8c1919 9,0x8b1616 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 10,0x8c1919 12,0x8f1e1e 47,0xbc7777 24,0x9e3d3d 19,0x983030 20,0x993333 58,0xca9393 47,0xbc7777 66,0xd4a8a8 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 48,0xbd7a7a 34,0xab5656 22,0x9c3838 21,0x9a3535 68,0xd7adad 23,0x9d3a3a 19,0x983030 38,0xb06060 11,0x8e1c1c 10,0x8c1919 9,0x8b1616 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 9,0x8b1616 10,0x8c1919 14,0x912323 14,0x912323 25,0xa03f3f 16,0x942828 16,0x942828 29,0xa54949 44,0xb87070 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 45,0xb97272 60,0xcc9999 26,0xa14242 24,0x9e3d3d 30,0xa64c4c 28,0xa34747 18,0x972d2d 13,0x902121 11,0x8e1c1c 10,0x8c1919 9,0x8b1616 9,0x8b1616 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 9,0x8b1616 10,0x8c1919 10,0x8c1919 11,0x8e1c1c 12,0x8f1e1e 13,0x902121 14,0x912323 15,0x932626 28,0xa34747 39,0xb16363 33,0xaa5454 81,0xe7cece 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 35,0xac5959 57,0xc89191 72,0xdcb7b7 21,0x9a3535 22,0x9c3838 13,0x902121 11,0x8e1c1c 10,0x8c1919 9,0x8b1616 9,0x8b1616 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 10,0x8c1919 10,0x8c1919 11,0x8e1c1c 11,0x8e1c1c 12,0x8f1e1e 13,0x902121 14,0x912323 16,0x942828 19,0x983030 23,0x9d3a3a 28,0xa34747 41,0xb46868 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 69,0xd8afaf 31,0xa74f4f 19,0x983030 16,0x942828 19,0x983030 13,0x902121 10,0x8c1919 10,0x8c1919 9,0x8b1616 9,0x8b1616 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 10,0x8c1919 10,0x8c1919 11,0x8e1c1c 11,0x8e1c1c 12,0x8f1e1e 13,0x902121 14,0x912323 17,0x952b2b 25,0xa03f3f 23,0x9d3a3a 27,0xa24444 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 42,0xb56b6b 46,0xba7575 25,0xa03f3f 19,0x983030 15,0x932626 14,0x912323 13,0x902121 12,0x8f1e1e 10,0x8c1919 10,0x8c1919 9,0x8b1616 9,0x8b1616 9,0x8b1616 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 10,0x8c1919 10,0x8c1919 10,0x8c1919 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 12,0x8f1e1e 14,0x912323 29,0xa54949 39,0xb16363 43,0xb76d6d 30,0xa64c4c 44,0xb87070 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 71,0xdab5b5 24,0x9e3d3d 20,0x993333 17,0x952b2b 14,0x912323 13,0x902121 12,0x8f1e1e 11,0x8e1c1c 10,0x8c1919 10,0x8c1919 10,0x8c1919 9,0x8b1616 9,0x8b1616 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 12,0x8f1e1e 14,0x912323 22,0x9c3838 27,0xa24444 51,0xc18282 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 83,0xead3d3 26,0xa14242 46,0xba7575 40,0xb36666 16,0x942828 13,0x902121 12,0x8f1e1e 11,0x8e1c1c 10,0x8c1919 10,0x8c1919 10,0x8c1919 9,0x8b1616 9,0x8b1616 9,0x8b1616 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 12,0x8f1e1e 14,0x912323 33,0xaa5454 22,0x9c3838 23,0x9d3a3a 100,0xFFFFFF 59,0xcb9696 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 31,0xa74f4f 44,0xb87070 21,0x9a3535 15,0x932626 12,0x8f1e1e 11,0x8e1c1c 11,0x8e1c1c 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 9,0x8b1616 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 11,0x8e1c1c 11,0x8e1c1c 12,0x8f1e1e 12,0x8f1e1e 13,0x902121 15,0x932626 16,0x942828 17,0x952b2b 21,0x9a3535 28,0xa34747 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 96,0xfaf4f4 29,0xa54949 22,0x9c3838 23,0x9d3a3a 14,0x912323 12,0x8f1e1e 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 10,0x8c1919 10,0x8c1919 10,0x8c1919 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 15,0x932626 17,0x952b2b 10,0x8c1919 9,0x8b1616 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 12,0x8f1e1e 12,0x8f1e1e 13,0x902121 14,0x912323 15,0x932626 16,0x942828 74,0xdebcbc 62,0xcf9e9e 39,0xb16363 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 31,0xa74f4f 24,0x9e3d3d 19,0x983030 16,0x942828 15,0x932626 13,0x902121 12,0x8f1e1e 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 18,0x972d2d 12,0x8f1e1e 10,0x8c1919 8,0x8a1414 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 10,0x8c1919 13,0x902121 15,0x932626 22,0x9c3838 10,0x8c1919 10,0x8c1919 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 12,0x8f1e1e 12,0x8f1e1e 13,0x902121 13,0x902121 14,0x912323 14,0x912323 16,0x942828 70,0xd9b2b2 31,0xa74f4f 93,0xf7eded 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 35,0xac5959 39,0xb16363 21,0x9a3535 15,0x932626 14,0x912323 13,0x902121 12,0x8f1e1e 12,0x8f1e1e 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 8,0x8a1414 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 9,0x8b1616 12,0x8f1e1e 25,0xa03f3f 11,0x8e1c1c 8,0x8a1414 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 9,0x8b1616 10,0x8c1919 9,0x8b1616 9,0x8b1616 12,0x8f1e1e 15,0x932626 9,0x8b1616 9,0x8b1616 9,0x8b1616 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 9,0x8b1616 10,0x8c1919 22,0x9c3838 17,0x952b2b 24,0x9e3d3d 18,0x972d2d 15,0x932626 14,0x912323 10,0x8c1919 9,0x8b1616 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 9,0x8b1616 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 13,0x902121 13,0x902121 14,0x912323 14,0x912323 15,0x932626 19,0x983030 20,0x993333 23,0x9d3a3a 35,0xac5959 58,0xca9393 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 56,0xc78e8e 100,0xFFFFFF 26,0xa14242 28,0xa34747 16,0x942828 14,0x912323 14,0x912323 13,0x902121 13,0x902121 12,0x8f1e1e 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 10,0x8c1919 10,0x8c1919 10,0x8c1919 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 10,0x8c1919 11,0x8e1c1c 21,0x9a3535 11,0x8e1c1c 10,0x8c1919 9,0x8b1616 8,0x8a1414 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 9,0x8b1616 11,0x8e1c1c 15,0x932626 10,0x8c1919 9,0x8b1616 8,0x8a1414 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 8,0x8a1414 15,0x932626 14,0x912323 12,0x8f1e1e 19,0x983030 18,0x972d2d 13,0x902121 11,0x8e1c1c 10,0x8c1919 9,0x8b1616 9,0x8b1616 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 11,0x8e1c1c 13,0x902121 17,0x952b2b 21,0x9a3535 18,0x972d2d 16,0x942828 40,0xb36666 10,0x8c1919 9,0x8b1616 9,0x8b1616 9,0x8b1616 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 10,0x8c1919 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 13,0x902121 12,0x8f1e1e 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 10,0x8c1919 10,0x8c1919 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 13,0x902121 13,0x902121 13,0x902121 14,0x912323 14,0x912323 15,0x932626 17,0x952b2b 18,0x972d2d 21,0x9a3535 100,0xFFFFFF 84,0xebd6d6 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 41,0xb46868 43,0xb76d6d 19,0x983030 17,0x952b2b 16,0x942828 14,0x912323 14,0x912323 13,0x902121 13,0x902121 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 10,0x8c1919 10,0x8c1919 10,0x8c1919 11,0x8e1c1c 16,0x942828 24,0x9e3d3d 13,0x902121 10,0x8c1919 9,0x8b1616 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 10,0x8c1919 17,0x952b2b 13,0x902121 10,0x8c1919 10,0x8c1919 11,0x8e1c1c 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 8,0x8a1414 10,0x8c1919 11,0x8e1c1c 16,0x942828 29,0xa54949 17,0x952b2b 13,0x902121 11,0x8e1c1c 10,0x8c1919 10,0x8c1919 10,0x8c1919 12,0x8f1e1e 20,0x993333 42,0xb56b6b 11,0x8e1c1c 11,0x8e1c1c 12,0x8f1e1e 13,0x902121 16,0x942828 29,0xa54949 17,0x952b2b 13,0x902121 11,0x8e1c1c 10,0x8c1919 10,0x8c1919 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 10,0x8c1919 11,0x8e1c1c 14,0x912323 44,0xb87070 47,0xbc7777 14,0x912323 13,0x902121 13,0x902121 22,0x9c3838 70,0xd9b2b2 13,0x902121 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 13,0x902121 13,0x902121 13,0x902121 14,0x912323 14,0x912323 15,0x932626 16,0x942828 16,0x942828 17,0x952b2b 19,0x983030 22,0x9c3838 50,0xc07f7f 47,0xbc7777 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 93,0xf7eded 40,0xb36666 27,0xa24444 32,0xa85151 18,0x972d2d 17,0x952b2b 16,0x942828 15,0x932626 14,0x912323 14,0x912323 13,0x902121 13,0x902121 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 11,0x8e1c1c 11,0x8e1c1c 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 11,0x8e1c1c 13,0x902121 17,0x952b2b 30,0xa64c4c 22,0x9c3838 11,0x8e1c1c 10,0x8c1919 9,0x8b1616 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 10,0x8c1919 12,0x8f1e1e 16,0x942828 13,0x902121 28,0xa34747 10,0x8c1919 8,0x8a1414 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 8,0x8a1414 9,0x8b1616 11,0x8e1c1c 18,0x972d2d 17,0x952b2b 24,0x9e3d3d 28,0xa34747 14,0x912323 12,0x8f1e1e 11,0x8e1c1c 12,0x8f1e1e 13,0x902121 20,0x993333 16,0x942828 13,0x902121 13,0x902121 38,0xb06060 17,0x952b2b 29,0xa54949 29,0xa54949 25,0xa03f3f 13,0x902121 11,0x8e1c1c 10,0x8c1919 10,0x8c1919 10,0x8c1919 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 10,0x8c1919 10,0x8c1919 11,0x8e1c1c 24,0x9e3d3d 19,0x983030 43,0xb76d6d 19,0x983030 20,0x993333 19,0x983030 56,0xc78e8e 20,0x993333 14,0x912323 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 15,0x932626 14,0x912323 14,0x912323 15,0x932626 14,0x912323 13,0x902121 13,0x902121 13,0x902121 14,0x912323 15,0x932626 15,0x932626 15,0x932626 16,0x942828 16,0x942828 17,0x952b2b 19,0x983030 20,0x993333 23,0x9d3a3a 26,0xa14242 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 89,0xf1e2e2 97,0xfcf7f7 21,0x9a3535 19,0x983030 18,0x972d2d 17,0x952b2b 16,0x942828 15,0x932626 15,0x932626 14,0x912323 14,0x912323 13,0x902121 13,0x902121 13,0x902121 12,0x8f1e1e 12,0x8f1e1e 13,0x902121 14,0x912323 86,0xeedbdb 13,0x902121 12,0x8f1e1e 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 10,0x8c1919 11,0x8e1c1c 11,0x8e1c1c 12,0x8f1e1e 12,0x8f1e1e 13,0x902121 16,0x942828 42,0xb56b6b 14,0x912323 12,0x8f1e1e 11,0x8e1c1c 11,0x8e1c1c 9,0x8b1616 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 10,0x8c1919 10,0x8c1919 12,0x8f1e1e 14,0x912323 24,0x9e3d3d 13,0x902121 10,0x8c1919 8,0x8a1414 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 11,0x8e1c1c 14,0x912323 13,0x902121 43,0xb76d6d 29,0xa54949 36,0xae5b5b 15,0x932626 20,0x993333 13,0x902121 14,0x912323 22,0x9c3838 19,0x983030 15,0x932626 16,0x942828 26,0xa14242 41,0xb46868 72,0xdcb7b7 20,0x993333 15,0x932626 12,0x8f1e1e 11,0x8e1c1c 11,0x8e1c1c 10,0x8c1919 10,0x8c1919 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 10,0x8c1919 10,0x8c1919 10,0x8c1919 11,0x8e1c1c 13,0x902121 16,0x942828 28,0xa34747 65,0xd3a5a5 32,0xa85151 32,0xa85151 26,0xa14242 19,0x983030 17,0x952b2b 14,0x912323 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 13,0x902121 14,0x912323 35,0xac5959 25,0xa03f3f 19,0x983030 36,0xae5b5b 16,0x942828 15,0x932626 15,0x932626 15,0x932626 16,0x942828 16,0x942828 16,0x942828 16,0x942828 16,0x942828 17,0x952b2b 18,0x972d2d 19,0x983030 20,0x993333 22,0x9c3838 23,0x9d3a3a 27,0xa24444 100,0xFFFFFF 63,0xd0a0a0 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 70,0xd9b2b2 26,0xa14242 23,0x9d3a3a 21,0x9a3535 19,0x983030 18,0x972d2d 17,0x952b2b 17,0x952b2b 16,0x942828 15,0x932626 15,0x932626 16,0x942828 21,0x9a3535 15,0x932626 14,0x912323 14,0x912323 14,0x912323 15,0x932626 35,0xac5959 61,0xce9b9b 17,0x952b2b 16,0x942828 13,0x902121 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 12,0x8f1e1e 16,0x942828 43,0xb76d6d 18,0x972d2d 17,0x952b2b 30,0xa64c4c 19,0x983030 45,0xb97272 14,0x912323 20,0x993333 11,0x8e1c1c 9,0x8b1616 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 10,0x8c1919 11,0x8e1c1c 13,0x902121 22,0x9c3838 14,0x912323 15,0x932626 23,0x9d3a3a 8,0x8a1414 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 9,0x8b1616 10,0x8c1919 11,0x8e1c1c 13,0x902121 20,0x993333 23,0x9d3a3a 29,0xa54949 19,0x983030 15,0x932626 16,0x942828 22,0x9c3838 21,0x9a3535 17,0x952b2b 18,0x972d2d 26,0xa14242 21,0x9a3535 19,0x983030 20,0x993333 14,0x912323 13,0x902121 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 10,0x8c1919 10,0x8c1919 10,0x8c1919 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 10,0x8c1919 10,0x8c1919 10,0x8c1919 11,0x8e1c1c 12,0x8f1e1e 13,0x902121 29,0xa54949 46,0xba7575 42,0xb56b6b 90,0xf3e5e5 71,0xdab5b5 35,0xac5959 34,0xab5656 38,0xb06060 72,0xdcb7b7 14,0x912323 13,0x902121 13,0x902121 14,0x912323 15,0x932626 22,0x9c3838 48,0xbd7a7a 100,0xFFFFFF 86,0xeedbdb 33,0xaa5454 16,0x942828 16,0x942828 20,0x993333 47,0xbc7777 71,0xdab5b5 18,0x972d2d 18,0x972d2d 100,0xFFFFFF 24,0x9e3d3d 20,0x993333 20,0x993333 21,0x9a3535 22,0x9c3838 24,0x9e3d3d 25,0xa03f3f 28,0xa34747 32,0xa85151 41,0xb46868 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 31,0xa74f4f 27,0xa24444 25,0xa03f3f 23,0x9d3a3a 21,0x9a3535 21,0x9a3535 20,0x993333 19,0x983030 19,0x983030 22,0x9c3838 17,0x952b2b 17,0x952b2b 36,0xae5b5b 100,0xFFFFFF 33,0xaa5454 16,0x942828 15,0x932626 15,0x932626 17,0x952b2b 70,0xd9b2b2 92,0xf5eaea 51,0xc18282 29,0xa54949 14,0x912323 13,0x902121 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 14,0x912323 27,0xa24444 51,0xc18282 32,0xa85151 25,0xa03f3f 26,0xa14242 27,0xa24444 24,0x9e3d3d 58,0xca9393 19,0x983030 11,0x8e1c1c 10,0x8c1919 9,0x8b1616 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 11,0x8e1c1c 16,0x942828 20,0x993333 23,0x9d3a3a 12,0x8f1e1e 11,0x8e1c1c 9,0x8b1616 8,0x8a1414 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 9,0x8b1616 10,0x8c1919 10,0x8c1919 11,0x8e1c1c 14,0x912323 15,0x932626 20,0x993333 33,0xaa5454 24,0x9e3d3d 19,0x983030 26,0xa14242 26,0xa14242 21,0x9a3535 47,0xbc7777 43,0xb76d6d 42,0xb56b6b 16,0x942828 15,0x932626 13,0x902121 13,0x902121 12,0x8f1e1e 12,0x8f1e1e 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 11,0x8e1c1c 12,0x8f1e1e 15,0x932626 19,0x983030 19,0x983030 27,0xa24444 62,0xcf9e9e 100,0xFFFFFF 40,0xb36666 30,0xa64c4c 29,0xa54949 21,0x9a3535 17,0x952b2b 15,0x932626 14,0x912323 15,0x932626 36,0xae5b5b 44,0xb87070 59,0xcb9696 100,0xFFFFFF 56,0xc78e8e 66,0xd4a8a8 40,0xb36666 18,0x972d2d 36,0xae5b5b 30,0xa64c4c 100,0xFFFFFF 53,0xc38787 22,0x9c3838 44,0xb87070 98,0xfdf9f9 100,0xFFFFFF 24,0x9e3d3d 78,0xe3c6c6 28,0xa34747 50,0xc07f7f 27,0xa24444 31,0xa74f4f 30,0xa64c4c 32,0xa85151 35,0xac5959 40,0xb36666 46,0xba7575 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 45,0xb97272 39,0xb16363 35,0xac5959 31,0xa74f4f 31,0xa74f4f 31,0xa74f4f 26,0xa14242 57,0xc89191 24,0x9e3d3d 100,0xFFFFFF 23,0x9d3a3a 40,0xb36666 100,0xFFFFFF 85,0xecd8d8 20,0x993333 31,0xa74f4f 64,0xd1a3a3 93,0xf7eded 22,0x9c3838 17,0x952b2b 17,0x952b2b 29,0xa54949 49,0xbe7c7c 57,0xc89191 62,0xcf9e9e 39,0xb16363 18,0x972d2d 40,0xb36666 13,0x902121 12,0x8f1e1e 13,0x902121 13,0x902121 14,0x912323 16,0x942828 21,0x9a3535 44,0xb87070 55,0xc68c8c 40,0xb36666 93,0xf7eded 48,0xbd7a7a 22,0x9c3838 16,0x942828 11,0x8e1c1c 10,0x8c1919 9,0x8b1616 9,0x8b1616 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 10,0x8c1919 12,0x8f1e1e 15,0x932626 18,0x972d2d 14,0x912323 12,0x8f1e1e 10,0x8c1919 9,0x8b1616 8,0x8a1414 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 10,0x8c1919 11,0x8e1c1c 12,0x8f1e1e 13,0x902121 15,0x932626 20,0x993333 46,0xba7575 48,0xbd7a7a 25,0xa03f3f 28,0xa34747 42,0xb56b6b 44,0xb87070 74,0xdebcbc 18,0x972d2d 16,0x942828 15,0x932626 14,0x912323 13,0x902121 13,0x902121 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 13,0x902121 11,0x8e1c1c 11,0x8e1c1c 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 11,0x8e1c1c 11,0x8e1c1c 40,0xb36666 35,0xac5959 31,0xa74f4f 100,0xFFFFFF 100,0xFFFFFF 33,0xaa5454 68,0xd7adad 55,0xc68c8c 58,0xca9393 25,0xa03f3f 22,0x9c3838 18,0x972d2d 16,0x942828 15,0x932626 16,0x942828 37,0xaf5e5e 78,0xe3c6c6 60,0xcc9999 45,0xb97272 92,0xf5eaea 36,0xae5b5b 24,0x9e3d3d 21,0x9a3535 42,0xb56b6b 36,0xae5b5b 84,0xebd6d6 53,0xc38787 27,0xa24444 35,0xac5959 100,0xFFFFFF 56,0xc78e8e 39,0xb16363 100,0xFFFFFF 41,0xb46868 100,0xFFFFFF 49,0xbe7c7c 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 51,0xc18282 100,0xFFFFFF 41,0xb46868 100,0xFFFFFF 100,0xFFFFFF 32,0xa85151 100,0xFFFFFF 40,0xb36666 28,0xa34747 28,0xa34747 100,0xFFFFFF 100,0xFFFFFF 97,0xfcf7f7 27,0xa24444 19,0x983030 21,0x9a3535 29,0xa54949 47,0xbc7777 62,0xcf9e9e 78,0xe3c6c6 62,0xcf9e9e 59,0xcb9696 14,0x912323 14,0x912323 13,0x902121 14,0x912323 15,0x932626 16,0x942828 19,0x983030 22,0x9c3838 26,0xa14242 32,0xa85151 48,0xbd7a7a 100,0xFFFFFF 23,0x9d3a3a 16,0x942828 12,0x8f1e1e 11,0x8e1c1c 10,0x8c1919 9,0x8b1616 9,0x8b1616 9,0x8b1616 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 9,0x8b1616 10,0x8c1919 11,0x8e1c1c 22,0x9c3838 20,0x993333 91,0xf4e8e8 19,0x983030 24,0x9e3d3d 10,0x8c1919 9,0x8b1616 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 10,0x8c1919 11,0x8e1c1c 12,0x8f1e1e 13,0x902121 14,0x912323 17,0x952b2b 19,0x983030 23,0x9d3a3a 30,0xa64c4c 35,0xac5959 26,0xa14242 22,0x9c3838 20,0x993333 18,0x972d2d 16,0x942828 15,0x932626 14,0x912323 14,0x912323 14,0x912323 14,0x912323 14,0x912323 14,0x912323 27,0xa24444 18,0x972d2d 12,0x8f1e1e 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 12,0x8f1e1e 13,0x902121 47,0xbc7777 23,0x9d3a3a 37,0xaf5e5e 24,0x9e3d3d 29,0xa54949 42,0xb56b6b 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 57,0xc89191 20,0x993333 17,0x952b2b 17,0x952b2b 19,0x983030 23,0x9d3a3a 38,0xb06060 50,0xc07f7f 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 25,0xa03f3f 27,0xa24444 89,0xf1e2e2 100,0xFFFFFF 100,0xFFFFFF 40,0xb36666 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 56,0xc78e8e 100,0xFFFFFF 54,0xc58989 100,0xFFFFFF 52,0xc28484 100,0xFFFFFF 100,0xFFFFFF 43,0xb76d6d 23,0x9d3a3a 23,0x9d3a3a 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 29,0xa54949 22,0x9c3838 20,0x993333 15,0x932626 15,0x932626 15,0x932626 17,0x952b2b 34,0xab5656 42,0xb56b6b 22,0x9c3838 32,0xa85151 34,0xab5656 56,0xc78e8e 46,0xba7575 44,0xb87070 43,0xb76d6d 19,0x983030 20,0x993333 15,0x932626 10,0x8c1919 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 10,0x8c1919 10,0x8c1919 25,0xa03f3f 17,0x952b2b 31,0xa74f4f 100,0xFFFFFF 33,0xaa5454 13,0x902121 10,0x8c1919 9,0x8b1616 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 9,0x8b1616 9,0x8b1616 10,0x8c1919 11,0x8e1c1c 12,0x8f1e1e 13,0x902121 22,0x9c3838 18,0x972d2d 52,0xc28484 36,0xae5b5b 29,0xa54949 47,0xbc7777 32,0xa85151 58,0xca9393 20,0x993333 19,0x983030 18,0x972d2d 18,0x972d2d 16,0x942828 15,0x932626 15,0x932626 42,0xb56b6b 25,0xa03f3f 22,0x9c3838 28,0xa34747 15,0x932626 13,0x902121 12,0x8f1e1e 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 12,0x8f1e1e 12,0x8f1e1e 13,0x902121 16,0x942828 18,0x972d2d 19,0x983030 22,0x9c3838 28,0xa34747 52,0xc28484 100,0xFFFFFF 100,0xFFFFFF 54,0xc58989 42,0xb56b6b 100,0xFFFFFF 31,0xa74f4f 19,0x983030 19,0x983030 20,0x993333 23,0x9d3a3a 65,0xd3a5a5 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 40,0xb36666 100,0xFFFFFF 89,0xf1e2e2 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 35,0xac5959 100,0xFFFFFF 29,0xa54949 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 22,0x9c3838 18,0x972d2d 16,0x942828 16,0x942828 17,0x952b2b 24,0x9e3d3d 98,0xfdf9f9 51,0xc18282 27,0xa24444 40,0xb36666 100,0xFFFFFF 83,0xead3d3 33,0xaa5454 23,0x9d3a3a 63,0xd0a0a0 46,0xba7575 37,0xaf5e5e 31,0xa74f4f 11,0x8e1c1c 10,0x8c1919 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 10,0x8c1919 10,0x8c1919 11,0x8e1c1c 12,0x8f1e1e 13,0x902121 16,0x942828 19,0x983030 27,0xa24444 13,0x902121 10,0x8c1919 9,0x8b1616 8,0x8a1414 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 9,0x8b1616 9,0x8b1616 13,0x902121 13,0x902121 13,0x902121 32,0xa85151 34,0xab5656 26,0xa14242 93,0xf7eded 25,0xa03f3f 22,0x9c3838 26,0xa14242 45,0xb97272 45,0xb97272 29,0xa54949 22,0x9c3838 47,0xbc7777 55,0xc68c8c 18,0x972d2d 16,0x942828 17,0x952b2b 20,0x993333 37,0xaf5e5e 31,0xa74f4f 36,0xae5b5b 37,0xaf5e5e 15,0x932626 15,0x932626 13,0x902121 12,0x8f1e1e 11,0x8e1c1c 11,0x8e1c1c 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 13,0x902121 13,0x902121 15,0x932626 16,0x942828 20,0x993333 64,0xd1a3a3 32,0xa85151 52,0xc28484 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 26,0xa14242 22,0x9c3838 79,0xe5c9c9 100,0xFFFFFF 27,0xa24444 33,0xaa5454 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 57,0xc89191 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 38,0xb06060 23,0x9d3a3a 23,0x9d3a3a 20,0x993333 18,0x972d2d 19,0x983030 26,0xa14242 51,0xc18282 100,0xFFFFFF 100,0xFFFFFF 58,0xca9393 100,0xFFFFFF 100,0xFFFFFF 58,0xca9393 21,0x9a3535 19,0x983030 17,0x952b2b 27,0xa24444 12,0x8f1e1e 11,0x8e1c1c 10,0x8c1919 10,0x8c1919 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 11,0x8e1c1c 12,0x8f1e1e 13,0x902121 14,0x912323 16,0x942828 26,0xa14242 14,0x912323 10,0x8c1919 9,0x8b1616 9,0x8b1616 8,0x8a1414 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 9,0x8b1616 10,0x8c1919 15,0x932626 20,0x993333 16,0x942828 28,0xa34747 29,0xa54949 22,0x9c3838 22,0x9c3838 20,0x993333 20,0x993333 24,0x9e3d3d 44,0xb87070 59,0xcb9696 29,0xa54949 27,0xa24444 30,0xa64c4c 41,0xb46868 40,0xb36666 21,0x9a3535 19,0x983030 20,0x993333 50,0xc07f7f 46,0xba7575 59,0xcb9696 35,0xac5959 28,0xa34747 42,0xb56b6b 15,0x932626 13,0x902121 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 13,0x902121 14,0x912323 15,0x932626 16,0x942828 22,0x9c3838 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 39,0xb16363 26,0xa14242 93,0xf7eded 100,0xFFFFFF 41,0xb46868 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 77,0xe2c4c4 33,0xaa5454 28,0xa34747 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 21,0x9a3535 63,0xd0a0a0 48,0xbd7a7a 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 53,0xc38787 30,0xa64c4c 24,0x9e3d3d 18,0x972d2d 15,0x932626 14,0x912323 12,0x8f1e1e 11,0x8e1c1c 11,0x8e1c1c 10,0x8c1919 10,0x8c1919 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 10,0x8c1919 10,0x8c1919 10,0x8c1919 22,0x9c3838 15,0x932626 13,0x902121 11,0x8e1c1c 12,0x8f1e1e 15,0x932626 11,0x8e1c1c 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 11,0x8e1c1c 11,0x8e1c1c 12,0x8f1e1e 12,0x8f1e1e 14,0x912323 19,0x983030 18,0x972d2d 14,0x912323 11,0x8e1c1c 10,0x8c1919 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 10,0x8c1919 8,0x8a1414 7,0x881111 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 9,0x8b1616 11,0x8e1c1c 19,0x983030 26,0xa14242 37,0xaf5e5e 25,0xa03f3f 29,0xa54949 19,0x983030 17,0x952b2b 18,0x972d2d 19,0x983030 22,0x9c3838 28,0xa34747 36,0xae5b5b 51,0xc18282 42,0xb56b6b 68,0xd7adad 46,0xba7575 26,0xa14242 22,0x9c3838 23,0x9d3a3a 23,0x9d3a3a 25,0xa03f3f 29,0xa54949 46,0xba7575 27,0xa24444 22,0x9c3838 22,0x9c3838 15,0x932626 13,0x902121 13,0x902121 13,0x902121 13,0x902121 13,0x902121 13,0x902121 14,0x912323 15,0x932626 16,0x942828 17,0x952b2b 20,0x993333 48,0xbd7a7a 73,0xddbaba 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 34,0xab5656 100,0xFFFFFF 47,0xbc7777 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 47,0xbc7777 100,0xFFFFFF 69,0xd8afaf 27,0xa24444 24,0x9e3d3d 33,0xaa5454 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 38,0xb06060 100,0xFFFFFF 49,0xbe7c7c 15,0x932626 13,0x902121 12,0x8f1e1e 12,0x8f1e1e 11,0x8e1c1c 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 11,0x8e1c1c 14,0x912323 26,0xa14242 17,0x952b2b 16,0x942828 14,0x912323 28,0xa34747 13,0x902121 13,0x902121 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 12,0x8f1e1e 13,0x902121 16,0x942828 28,0xa34747 35,0xac5959 13,0x902121 12,0x8f1e1e 11,0x8e1c1c 10,0x8c1919 10,0x8c1919 9,0x8b1616 10,0x8c1919 12,0x8f1e1e 12,0x8f1e1e 7,0x881111 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 10,0x8c1919 25,0xa03f3f 17,0x952b2b 20,0x993333 18,0x972d2d 24,0x9e3d3d 18,0x972d2d 16,0x942828 16,0x942828 16,0x942828 19,0x983030 23,0x9d3a3a 25,0xa03f3f 56,0xc78e8e 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 72,0xdcb7b7 100,0xFFFFFF 29,0xa54949 50,0xc07f7f 29,0xa54949 49,0xbe7c7c 36,0xae5b5b 83,0xead3d3 83,0xead3d3 19,0x983030 17,0x952b2b 15,0x932626 14,0x912323 14,0x912323 14,0x912323 14,0x912323 15,0x932626 16,0x942828 17,0x952b2b 49,0xbe7c7c 17,0x952b2b 18,0x972d2d 20,0x993333 25,0xa03f3f 83,0xead3d3 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 33,0xaa5454 39,0xb16363 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 29,0xa54949 15,0x932626 13,0x902121 13,0x902121 12,0x8f1e1e 11,0x8e1c1c 11,0x8e1c1c 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 11,0x8e1c1c 12,0x8f1e1e 13,0x902121 36,0xae5b5b 60,0xcc9999 35,0xac5959 40,0xb36666 25,0xa03f3f 17,0x952b2b 29,0xa54949 16,0x942828 12,0x8f1e1e 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 12,0x8f1e1e 13,0x902121 14,0x912323 21,0x9a3535 23,0x9d3a3a 30,0xa64c4c 14,0x912323 12,0x8f1e1e 12,0x8f1e1e 35,0xac5959 12,0x8f1e1e 11,0x8e1c1c 12,0x8f1e1e 19,0x983030 10,0x8c1919 7,0x881111 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 9,0x8b1616 11,0x8e1c1c 13,0x902121 20,0x993333 14,0x912323 14,0x912323 14,0x912323 14,0x912323 15,0x932626 16,0x942828 18,0x972d2d 49,0xbe7c7c 30,0xa64c4c 69,0xd8afaf 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 41,0xb46868 64,0xd1a3a3 81,0xe7cece 46,0xba7575 81,0xe7cece 100,0xFFFFFF 100,0xFFFFFF 37,0xaf5e5e 22,0x9c3838 27,0xa24444 18,0x972d2d 15,0x932626 14,0x912323 14,0x912323 15,0x932626 17,0x952b2b 72,0xdcb7b7 55,0xc68c8c 57,0xc89191 96,0xfaf4f4 20,0x993333 21,0x9a3535 23,0x9d3a3a 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 39,0xb16363 27,0xa24444 21,0x9a3535 15,0x932626 14,0x912323 13,0x902121 13,0x902121 13,0x902121 12,0x8f1e1e 11,0x8e1c1c 11,0x8e1c1c 10,0x8c1919 10,0x8c1919 10,0x8c1919 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 12,0x8f1e1e 13,0x902121 16,0x942828 18,0x972d2d 20,0x993333 25,0xa03f3f 39,0xb16363 28,0xa34747 36,0xae5b5b 14,0x912323 13,0x902121 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 13,0x902121 13,0x902121 13,0x902121 14,0x912323 16,0x942828 19,0x983030 21,0x9a3535 15,0x932626 14,0x912323 15,0x932626 19,0x983030 19,0x983030 18,0x972d2d 22,0x9c3838 22,0x9c3838 13,0x902121 7,0x881111 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 9,0x8b1616 10,0x8c1919 10,0x8c1919 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 13,0x902121 13,0x902121 14,0x912323 15,0x932626 20,0x993333 66,0xd4a8a8 40,0xb36666 53,0xc38787 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 33,0xaa5454 65,0xd3a5a5 54,0xc58989 22,0x9c3838 16,0x942828 15,0x932626 15,0x932626 16,0x942828 46,0xba7575 46,0xba7575 88,0xf0e0e0 100,0xFFFFFF 32,0xa85151 24,0x9e3d3d 52,0xc28484 100,0xFFFFFF 100,0xFFFFFF 39,0xb16363 65,0xd3a5a5 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 57,0xc89191 21,0x9a3535 18,0x972d2d 16,0x942828 16,0x942828 15,0x932626 16,0x942828 100,0xFFFFFF 13,0x902121 12,0x8f1e1e 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 12,0x8f1e1e 13,0x902121 14,0x912323 15,0x932626 17,0x952b2b 21,0x9a3535 79,0xe5c9c9 26,0xa14242 24,0x9e3d3d 18,0x972d2d 15,0x932626 14,0x912323 15,0x932626 34,0xab5656 15,0x932626 15,0x932626 14,0x912323 14,0x912323 15,0x932626 16,0x942828 34,0xab5656 26,0xa14242 18,0x972d2d 21,0x9a3535 37,0xaf5e5e 18,0x972d2d 15,0x932626 15,0x932626 15,0x932626 11,0x8e1c1c 8,0x8a1414 7,0x881111 7,0x881111 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 10,0x8c1919 10,0x8c1919 11,0x8e1c1c 11,0x8e1c1c 12,0x8f1e1e 13,0x902121 14,0x912323 15,0x932626 17,0x952b2b 27,0xa24444 27,0xa24444 65,0xd3a5a5 65,0xd3a5a5 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 99,0xfefcfc 74,0xdebcbc 37,0xaf5e5e 18,0x972d2d 16,0x942828 17,0x952b2b 17,0x952b2b 22,0x9c3838 100,0xFFFFFF 95,0xf9f2f2 100,0xFFFFFF 100,0xFFFFFF 31,0xa74f4f 100,0xFFFFFF 100,0xFFFFFF 73,0xddbaba 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 32,0xa85151 25,0xa03f3f 22,0x9c3838 22,0x9c3838 18,0x972d2d 19,0x983030 63,0xd0a0a0 53,0xc38787 45,0xb97272 19,0x983030 14,0x912323 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 13,0x902121 13,0x902121 14,0x912323 16,0x942828 60,0xcc9999 70,0xd9b2b2 66,0xd4a8a8 25,0xa03f3f 21,0x9a3535 18,0x972d2d 16,0x942828 15,0x932626 16,0x942828 27,0xa24444 21,0x9a3535 20,0x993333 25,0xa03f3f 16,0x942828 16,0x942828 17,0x952b2b 19,0x983030 31,0xa74f4f 100,0xFFFFFF 20,0x993333 15,0x932626 13,0x902121 12,0x8f1e1e 11,0x8e1c1c 9,0x8b1616 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 9,0x8b1616 10,0x8c1919 11,0x8e1c1c 11,0x8e1c1c 12,0x8f1e1e 13,0x902121 14,0x912323 15,0x932626 17,0x952b2b 20,0x993333 23,0x9d3a3a 28,0xa34747 38,0xb06060 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 48,0xbd7a7a 22,0x9c3838 19,0x983030 18,0x972d2d 18,0x972d2d 19,0x983030 21,0x9a3535 27,0xa24444 56,0xc78e8e 100,0xFFFFFF 100,0xFFFFFF 45,0xb97272 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 22,0x9c3838 22,0x9c3838 30,0xa64c4c 100,0xFFFFFF 74,0xdebcbc 38,0xb06060 15,0x932626 13,0x902121 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 13,0x902121 15,0x932626 25,0xa03f3f 46,0xba7575 19,0x983030 22,0x9c3838 45,0xb97272 100,0xFFFFFF 40,0xb36666 63,0xd0a0a0 22,0x9c3838 35,0xac5959 19,0x983030 18,0x972d2d 21,0x9a3535 27,0xa24444 26,0xa14242 20,0x993333 19,0x983030 25,0xa03f3f 40,0xb36666 70,0xd9b2b2 27,0xa24444 30,0xa64c4c 18,0x972d2d 14,0x912323 13,0x902121 11,0x8e1c1c 10,0x8c1919 9,0x8b1616 8,0x8a1414 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 9,0x8b1616 10,0x8c1919 10,0x8c1919 11,0x8e1c1c 11,0x8e1c1c 13,0x902121 20,0x993333 17,0x952b2b 18,0x972d2d 19,0x983030 35,0xac5959 35,0xac5959 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 41,0xb46868 57,0xc89191 20,0x993333 19,0x983030 22,0x9c3838 70,0xd9b2b2 100,0xFFFFFF 28,0xa34747 49,0xbe7c7c 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 90,0xf3e5e5 26,0xa14242 100,0xFFFFFF 42,0xb56b6b 89,0xf1e2e2 72,0xdcb7b7 32,0xa85151 46,0xba7575 14,0x912323 13,0x902121 13,0x902121 13,0x902121 14,0x912323 34,0xab5656 27,0xa24444 34,0xab5656 100,0xFFFFFF 23,0x9d3a3a 27,0xa24444 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 31,0xa74f4f 36,0xae5b5b 94,0xf8efef 25,0xa03f3f 28,0xa34747 29,0xa54949 31,0xa74f4f 33,0xaa5454 74,0xdebcbc 24,0x9e3d3d 28,0xa34747 100,0xFFFFFF 23,0x9d3a3a 19,0x983030 20,0x993333 41,0xb46868 16,0x942828 15,0x932626 11,0x8e1c1c 10,0x8c1919 9,0x8b1616 8,0x8a1414 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 10,0x8c1919 11,0x8e1c1c 11,0x8e1c1c 16,0x942828 50,0xc07f7f 48,0xbd7a7a 23,0x9d3a3a 22,0x9c3838 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 33,0xaa5454 22,0x9c3838 22,0x9c3838 30,0xa64c4c 76,0xe1c1c1 61,0xce9b9b 68,0xd7adad 65,0xd3a5a5 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 77,0xe2c4c4 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 34,0xab5656 54,0xc58989 17,0x952b2b 15,0x932626 14,0x912323 14,0x912323 14,0x912323 15,0x932626 16,0x942828 20,0x993333 95,0xf9f2f2 32,0xa85151 30,0xa64c4c 42,0xb56b6b 54,0xc58989 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 75,0xe0bfbf 38,0xb06060 27,0xa24444 42,0xb56b6b 89,0xf1e2e2 63,0xd0a0a0 48,0xbd7a7a 47,0xbc7777 36,0xae5b5b 28,0xa34747 22,0x9c3838 17,0x952b2b 16,0x942828 28,0xa34747 39,0xb16363 21,0x9a3535 12,0x8f1e1e 10,0x8c1919 9,0x8b1616 8,0x8a1414 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 10,0x8c1919 11,0x8e1c1c 12,0x8f1e1e 13,0x902121 18,0x972d2d 26,0xa14242 35,0xac5959 25,0xa03f3f 32,0xa85151 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 48,0xbd7a7a 24,0x9e3d3d 35,0xac5959 89,0xf1e2e2 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 21,0x9a3535 18,0x972d2d 18,0x972d2d 15,0x932626 15,0x932626 15,0x932626 15,0x932626 17,0x952b2b 21,0x9a3535 100,0xFFFFFF 100,0xFFFFFF 85,0xecd8d8 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 84,0xebd6d6 39,0xb16363 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 66,0xd4a8a8 49,0xbe7c7c 19,0x983030 17,0x952b2b 15,0x932626 14,0x912323 15,0x932626 18,0x972d2d 28,0xa34747 13,0x902121 12,0x8f1e1e 12,0x8f1e1e 8,0x8a1414 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 10,0x8c1919 11,0x8e1c1c 12,0x8f1e1e 14,0x912323 23,0x9d3a3a 41,0xb46868 54,0xc58989 29,0xa54949 50,0xc07f7f 71,0xdab5b5 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 30,0xa64c4c 28,0xa34747 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 30,0xa64c4c 26,0xa14242 47,0xbc7777 100,0xFFFFFF 20,0x993333 16,0x942828 16,0x942828 17,0x952b2b 22,0x9c3838 47,0xbc7777 35,0xac5959 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 68,0xd7adad 24,0x9e3d3d 20,0x993333 16,0x942828 14,0x912323 13,0x902121 13,0x902121 15,0x932626 54,0xc58989 22,0x9c3838 21,0x9a3535 13,0x902121 8,0x8a1414 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 10,0x8c1919 11,0x8e1c1c 13,0x902121 21,0x9a3535 26,0xa14242 39,0xb16363 96,0xfaf4f4 71,0xdab5b5 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 76,0xe1c1c1 33,0xaa5454 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 70,0xd9b2b2 100,0xFFFFFF 17,0x952b2b 17,0x952b2b 19,0x983030 24,0x9e3d3d 67,0xd5aaaa 63,0xd0a0a0 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 61,0xce9b9b 28,0xa34747 30,0xa64c4c 29,0xa54949 13,0x902121 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 13,0x902121 14,0x912323 14,0x912323 10,0x8c1919 8,0x8a1414 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 10,0x8c1919 11,0x8e1c1c 15,0x932626 18,0x972d2d 19,0x983030 95,0xf9f2f2 25,0xa03f3f 37,0xaf5e5e 41,0xb46868 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 46,0xba7575 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 88,0xf0e0e0 100,0xFFFFFF 73,0xddbaba 23,0x9d3a3a 20,0x993333 19,0x983030 19,0x983030 30,0xa64c4c 43,0xb76d6d 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 66,0xd4a8a8 66,0xd4a8a8 50,0xc07f7f 27,0xa24444 26,0xa14242 26,0xa14242 14,0x912323 12,0x8f1e1e 11,0x8e1c1c 11,0x8e1c1c 10,0x8c1919 10,0x8c1919 10,0x8c1919 9,0x8b1616 8,0x8a1414 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 10,0x8c1919 10,0x8c1919 11,0x8e1c1c 12,0x8f1e1e 13,0x902121 21,0x9a3535 30,0xa64c4c 20,0x993333 21,0x9a3535 25,0xa03f3f 32,0xa85151 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 58,0xca9393 100,0xFFFFFF 21,0x9a3535 22,0x9c3838 30,0xa64c4c 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 34,0xab5656 25,0xa03f3f 20,0x993333 18,0x972d2d 15,0x932626 13,0x902121 11,0x8e1c1c 11,0x8e1c1c 10,0x8c1919 10,0x8c1919 9,0x8b1616 9,0x8b1616 8,0x8a1414 8,0x8a1414 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 10,0x8c1919 10,0x8c1919 11,0x8e1c1c 12,0x8f1e1e 12,0x8f1e1e 14,0x912323 18,0x972d2d 17,0x952b2b 19,0x983030 92,0xf5eaea 38,0xb06060 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 26,0xa14242 24,0x9e3d3d 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 64,0xd1a3a3 26,0xa14242 23,0x9d3a3a 16,0x942828 14,0x912323 13,0x902121 11,0x8e1c1c 11,0x8e1c1c 10,0x8c1919 9,0x8b1616 9,0x8b1616 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 10,0x8c1919 10,0x8c1919 10,0x8c1919 11,0x8e1c1c 11,0x8e1c1c 12,0x8f1e1e 13,0x902121 14,0x912323 15,0x932626 17,0x952b2b 55,0xc68c8c 98,0xfdf9f9 71,0xdab5b5 51,0xc18282 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 36,0xae5b5b 27,0xa24444 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 89,0xf1e2e2 28,0xa34747 16,0x942828 15,0x932626 13,0x902121 12,0x8f1e1e 11,0x8e1c1c 10,0x8c1919 9,0x8b1616 8,0x8a1414 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 10,0x8c1919 10,0x8c1919 10,0x8c1919 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 12,0x8f1e1e 13,0x902121 14,0x912323 14,0x912323 15,0x932626 22,0x9c3838 38,0xb06060 24,0x9e3d3d 60,0xcc9999 76,0xe1c1c1 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 55,0xc68c8c 35,0xac5959 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 25,0xa03f3f 19,0x983030 17,0x952b2b 16,0x942828 30,0xa64c4c 13,0x902121 13,0x902121 10,0x8c1919 9,0x8b1616 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 12,0x8f1e1e 13,0x902121 13,0x902121 14,0x912323 15,0x932626 17,0x952b2b 18,0x972d2d 20,0x993333 100,0xFFFFFF 27,0xa24444 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 57,0xc89191 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 40,0xb36666 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 43,0xb76d6d 46,0xba7575 21,0x9a3535 20,0x993333 39,0xb16363 41,0xb46868 18,0x972d2d 19,0x983030 10,0x8c1919 9,0x8b1616 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 9,0x8b1616 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 12,0x8f1e1e 12,0x8f1e1e 13,0x902121 13,0x902121 14,0x912323 15,0x932626 16,0x942828 18,0x972d2d 19,0x983030 21,0x9a3535 23,0x9d3a3a 26,0xa14242 30,0xa64c4c 36,0xae5b5b 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 57,0xc89191 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 71,0xdab5b5 25,0xa03f3f 60,0xcc9999 25,0xa03f3f 18,0x972d2d 17,0x952b2b 12,0x8f1e1e 9,0x8b1616 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 9,0x8b1616 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 12,0x8f1e1e 13,0x902121 13,0x902121 14,0x912323 15,0x932626 16,0x942828 16,0x942828 18,0x972d2d 20,0x993333 21,0x9a3535 28,0xa34747 29,0xa54949 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 59,0xcb9696 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 43,0xb76d6d 29,0xa54949 27,0xa24444 13,0x902121 10,0x8c1919 9,0x8b1616 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 9,0x8b1616 10,0x8c1919 12,0x8f1e1e 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 12,0x8f1e1e 13,0x902121 14,0x912323 15,0x932626 18,0x972d2d 17,0x952b2b 17,0x952b2b 19,0x983030 98,0xfdf9f9 71,0xdab5b5 26,0xa14242 100,0xFFFFFF 46,0xba7575 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 58,0xca9393 32,0xa85151 26,0xa14242 68,0xd7adad 21,0x9a3535 24,0x9e3d3d 33,0xaa5454 14,0x912323 10,0x8c1919 9,0x8b1616 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 10,0x8c1919 11,0x8e1c1c 19,0x983030 17,0x952b2b 15,0x932626 45,0xb97272 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 13,0x902121 15,0x932626 16,0x942828 19,0x983030 63,0xd0a0a0 20,0x993333 19,0x983030 23,0x9d3a3a 100,0xFFFFFF 62,0xcf9e9e 34,0xab5656 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 52,0xc28484 27,0xa24444 22,0x9c3838 17,0x952b2b 15,0x932626 25,0xa03f3f 60,0xcc9999 12,0x8f1e1e 10,0x8c1919 9,0x8b1616 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 9,0x8b1616 10,0x8c1919 10,0x8c1919 11,0x8e1c1c 13,0x902121 49,0xbe7c7c 53,0xc38787 39,0xb16363 19,0x983030 14,0x912323 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 13,0x902121 13,0x902121 14,0x912323 100,0xFFFFFF 63,0xd0a0a0 80,0xe6cccc 48,0xbd7a7a 67,0xd5aaaa 23,0x9d3a3a 26,0xa14242 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 73,0xddbaba 49,0xbe7c7c 85,0xecd8d8 38,0xb06060 30,0xa64c4c 19,0x983030 13,0x902121 12,0x8f1e1e 11,0x8e1c1c 10,0x8c1919 9,0x8b1616 9,0x8b1616 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 10,0x8c1919 10,0x8c1919 10,0x8c1919 11,0x8e1c1c 12,0x8f1e1e 13,0x902121 20,0x993333 26,0xa14242 26,0xa14242 16,0x942828 14,0x912323 13,0x902121 13,0x902121 13,0x902121 13,0x902121 14,0x912323 15,0x932626 100,0xFFFFFF 53,0xc38787 80,0xe6cccc 47,0xbc7777 36,0xae5b5b 100,0xFFFFFF 28,0xa34747 35,0xac5959 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 47,0xbc7777 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 39,0xb16363 53,0xc38787 99,0xfefcfc 20,0x993333 35,0xac5959 22,0x9c3838 14,0x912323 12,0x8f1e1e 11,0x8e1c1c 10,0x8c1919 10,0x8c1919 9,0x8b1616 9,0x8b1616 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 10,0x8c1919 10,0x8c1919 13,0x902121 13,0x902121 11,0x8e1c1c 12,0x8f1e1e 24,0x9e3d3d 20,0x993333 16,0x942828 19,0x983030 45,0xb97272 34,0xab5656 16,0x942828 15,0x932626 14,0x912323 14,0x912323 13,0x902121 14,0x912323 14,0x912323 16,0x942828 19,0x983030 38,0xb06060 44,0xb87070 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 37,0xaf5e5e 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 39,0xb16363 30,0xa64c4c 26,0xa14242 24,0x9e3d3d 23,0x9d3a3a 26,0xa14242 19,0x983030 16,0x942828 15,0x932626 13,0x902121 12,0x8f1e1e 11,0x8e1c1c 11,0x8e1c1c 10,0x8c1919 10,0x8c1919 9,0x8b1616 9,0x8b1616 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 9,0x8b1616 33,0xaa5454 18,0x972d2d 24,0x9e3d3d 15,0x932626 14,0x912323 17,0x952b2b 17,0x952b2b 28,0xa34747 20,0x993333 81,0xe7cece 29,0xa54949 78,0xe3c6c6 17,0x952b2b 16,0x942828 16,0x942828 17,0x952b2b 15,0x932626 15,0x932626 15,0x932626 16,0x942828 41,0xb46868 44,0xb87070 100,0xFFFFFF 78,0xe3c6c6 100,0xFFFFFF 100,0xFFFFFF 60,0xcc9999 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 36,0xae5b5b 25,0xa03f3f 22,0x9c3838 19,0x983030 18,0x972d2d 16,0x942828 15,0x932626 14,0x912323 13,0x902121 12,0x8f1e1e 11,0x8e1c1c 10,0x8c1919 10,0x8c1919 10,0x8c1919 9,0x8b1616 9,0x8b1616 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 8,0x8a1414 10,0x8c1919 12,0x8f1e1e 27,0xa24444 45,0xb97272 22,0x9c3838 17,0x952b2b 20,0x993333 28,0xa34747 43,0xb76d6d 100,0xFFFFFF 76,0xe1c1c1 23,0x9d3a3a 20,0x993333 19,0x983030 19,0x983030 63,0xd0a0a0 26,0xa14242 18,0x972d2d 18,0x972d2d 17,0x952b2b 17,0x952b2b 19,0x983030 22,0x9c3838 64,0xd1a3a3 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 34,0xab5656 88,0xf0e0e0 20,0x993333 17,0x952b2b 16,0x942828 15,0x932626 13,0x902121 13,0x902121 12,0x8f1e1e 11,0x8e1c1c 11,0x8e1c1c 10,0x8c1919 10,0x8c1919 9,0x8b1616 9,0x8b1616 8,0x8a1414 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 10,0x8c1919 12,0x8f1e1e 14,0x912323 20,0x993333 28,0xa34747 39,0xb16363 35,0xac5959 43,0xb76d6d 65,0xd3a5a5 30,0xa64c4c 24,0x9e3d3d 22,0x9c3838 21,0x9a3535 35,0xac5959 39,0xb16363 97,0xfcf7f7 89,0xf1e2e2 29,0xa54949 19,0x983030 18,0x972d2d 20,0x993333 51,0xc18282 28,0xa34747 36,0xae5b5b 56,0xc78e8e 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 45,0xb97272 20,0x993333 16,0x942828 16,0x942828 14,0x912323 13,0x902121 12,0x8f1e1e 11,0x8e1c1c 11,0x8e1c1c 10,0x8c1919 10,0x8c1919 9,0x8b1616 9,0x8b1616 8,0x8a1414 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 10,0x8c1919 11,0x8e1c1c 13,0x902121 16,0x942828 21,0x9a3535 41,0xb46868 72,0xdcb7b7 84,0xebd6d6 35,0xac5959 85,0xecd8d8 56,0xc78e8e 63,0xd0a0a0 66,0xd4a8a8 27,0xa24444 35,0xac5959 100,0xFFFFFF 100,0xFFFFFF 24,0x9e3d3d 20,0x993333 21,0x9a3535 74,0xdebcbc 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 90,0xf3e5e5 24,0x9e3d3d 20,0x993333 21,0x9a3535 16,0x942828 13,0x902121 12,0x8f1e1e 12,0x8f1e1e 11,0x8e1c1c 11,0x8e1c1c 10,0x8c1919 9,0x8b1616 9,0x8b1616 8,0x8a1414 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 10,0x8c1919 11,0x8e1c1c 25,0xa03f3f 19,0x983030 71,0xdab5b5 29,0xa54949 34,0xab5656 34,0xab5656 46,0xba7575 52,0xc28484 100,0xFFFFFF 99,0xfefcfc 100,0xFFFFFF 62,0xcf9e9e 49,0xbe7c7c 100,0xFFFFFF 58,0xca9393 66,0xd4a8a8 27,0xa24444 23,0x9d3a3a 100,0xFFFFFF 65,0xd3a5a5 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 44,0xb87070 26,0xa14242 83,0xead3d3 100,0xFFFFFF 52,0xc28484 14,0x912323 13,0x902121 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 10,0x8c1919 9,0x8b1616 9,0x8b1616 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 10,0x8c1919 12,0x8f1e1e 32,0xa85151 29,0xa54949 19,0x983030 24,0x9e3d3d 42,0xb56b6b 28,0xa34747 31,0xa74f4f 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 32,0xa85151 27,0xa24444 100,0xFFFFFF 65,0xd3a5a5 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 58,0xca9393 86,0xeedbdb 15,0x932626 14,0x912323 13,0x902121 13,0x902121 18,0x972d2d 12,0x8f1e1e 10,0x8c1919 9,0x8b1616 9,0x8b1616 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 8,0x8a1414 12,0x8f1e1e 9,0x8b1616 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 10,0x8c1919 11,0x8e1c1c 14,0x912323 14,0x912323 17,0x952b2b 22,0x9c3838 48,0xbd7a7a 24,0x9e3d3d 43,0xb76d6d 43,0xb76d6d 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 32,0xa85151 49,0xbe7c7c 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 34,0xab5656 76,0xe1c1c1 16,0x942828 16,0x942828 19,0x983030 16,0x942828 24,0x9e3d3d 26,0xa14242 11,0x8e1c1c 9,0x8b1616 9,0x8b1616 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 7,0x881111 8,0x8a1414 9,0x8b1616 13,0x902121 10,0x8c1919 8,0x8a1414 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 9,0x8b1616 10,0x8c1919 10,0x8c1919 11,0x8e1c1c 13,0x902121 19,0x983030 46,0xba7575 47,0xbc7777 20,0x993333 22,0x9c3838 42,0xb56b6b 60,0xcc9999 75,0xe0bfbf 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 43,0xb76d6d 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 48,0xbd7a7a 27,0xa24444 20,0x993333 19,0x983030 19,0x983030 37,0xaf5e5e 24,0x9e3d3d 74,0xdebcbc 15,0x932626 11,0x8e1c1c 10,0x8c1919 9,0x8b1616 9,0x8b1616 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 9,0x8b1616 12,0x8f1e1e 10,0x8c1919 9,0x8b1616 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 9,0x8b1616 10,0x8c1919 10,0x8c1919 11,0x8e1c1c 12,0x8f1e1e 14,0x912323 34,0xab5656 18,0x972d2d 18,0x972d2d 22,0x9c3838 26,0xa14242 82,0xe8d1d1 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 79,0xe5c9c9 25,0xa03f3f 52,0xc28484 100,0xFFFFFF 27,0xa24444 100,0xFFFFFF 39,0xb16363 44,0xb87070 16,0x942828 10,0x8c1919 10,0x8c1919 9,0x8b1616 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 9,0x8b1616 16,0x942828 12,0x8f1e1e 11,0x8e1c1c 10,0x8c1919 10,0x8c1919 9,0x8b1616 9,0x8b1616 9,0x8b1616 8,0x8a1414 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 9,0x8b1616 10,0x8c1919 10,0x8c1919 11,0x8e1c1c 11,0x8e1c1c 12,0x8f1e1e 14,0x912323 15,0x932626 16,0x942828 52,0xc28484 65,0xd3a5a5 36,0xae5b5b 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 43,0xb76d6d 100,0xFFFFFF 100,0xFFFFFF 75,0xe0bfbf 100,0xFFFFFF 57,0xc89191 26,0xa14242 13,0x902121 10,0x8c1919 10,0x8c1919 9,0x8b1616 9,0x8b1616 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 8,0x8a1414 10,0x8c1919 15,0x932626 14,0x912323 29,0xa54949 12,0x8f1e1e 10,0x8c1919 11,0x8e1c1c 14,0x912323 10,0x8c1919 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 9,0x8b1616 10,0x8c1919 10,0x8c1919 11,0x8e1c1c 11,0x8e1c1c 12,0x8f1e1e 13,0x902121 14,0x912323 15,0x932626 23,0x9d3a3a 72,0xdcb7b7 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 52,0xc28484 40,0xb36666 17,0x952b2b 13,0x902121 11,0x8e1c1c 10,0x8c1919 10,0x8c1919 9,0x8b1616 9,0x8b1616 9,0x8b1616 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 8,0x8a1414 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 8,0x8a1414 9,0x8b1616 10,0x8c1919 10,0x8c1919 12,0x8f1e1e 31,0xa74f4f 13,0x902121 13,0x902121 12,0x8f1e1e 9,0x8b1616 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 10,0x8c1919 10,0x8c1919 10,0x8c1919 11,0x8e1c1c 11,0x8e1c1c 12,0x8f1e1e 13,0x902121 13,0x902121 15,0x932626 38,0xb06060 100,0xFFFFFF 32,0xa85151 36,0xae5b5b 96,0xfaf4f4 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 55,0xc68c8c 40,0xb36666 36,0xae5b5b 19,0x983030 12,0x8f1e1e 11,0x8e1c1c 10,0x8c1919 10,0x8c1919 10,0x8c1919 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 10,0x8c1919 14,0x912323 12,0x8f1e1e 8,0x8a1414 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 9,0x8b1616 10,0x8c1919 10,0x8c1919 13,0x902121 21,0x9a3535 14,0x912323 10,0x8c1919 9,0x8b1616 8,0x8a1414 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 9,0x8b1616 10,0x8c1919 10,0x8c1919 10,0x8c1919 11,0x8e1c1c 12,0x8f1e1e 12,0x8f1e1e 13,0x902121 13,0x902121 15,0x932626 16,0x942828 19,0x983030 22,0x9c3838 27,0xa24444 44,0xb87070 100,0xFFFFFF 100,0xFFFFFF 54,0xc58989 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 49,0xbe7c7c 20,0x993333 16,0x942828 14,0x912323 12,0x8f1e1e 11,0x8e1c1c 11,0x8e1c1c 10,0x8c1919 10,0x8c1919 10,0x8c1919 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 10,0x8c1919 10,0x8c1919 12,0x8f1e1e 19,0x983030 9,0x8b1616 8,0x8a1414 7,0x881111 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 10,0x8c1919 12,0x8f1e1e 19,0x983030 13,0x902121 11,0x8e1c1c 9,0x8b1616 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 11,0x8e1c1c 12,0x8f1e1e 12,0x8f1e1e 13,0x902121 14,0x912323 15,0x932626 16,0x942828 17,0x952b2b 19,0x983030 21,0x9a3535 25,0xa03f3f 29,0xa54949 38,0xb06060 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 37,0xaf5e5e 22,0x9c3838 19,0x983030 16,0x942828 14,0x912323 13,0x902121 12,0x8f1e1e 12,0x8f1e1e 11,0x8e1c1c 11,0x8e1c1c 10,0x8c1919 10,0x8c1919 10,0x8c1919 9,0x8b1616 9,0x8b1616 10,0x8c1919 10,0x8c1919 10,0x8c1919 11,0x8e1c1c 13,0x902121 19,0x983030 11,0x8e1c1c 9,0x8b1616 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 11,0x8e1c1c 13,0x902121 15,0x932626 19,0x983030 11,0x8e1c1c 9,0x8b1616 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 10,0x8c1919 24,0x9e3d3d 9,0x8b1616 9,0x8b1616 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 9,0x8b1616 10,0x8c1919 10,0x8c1919 10,0x8c1919 11,0x8e1c1c 12,0x8f1e1e 13,0x902121 14,0x912323 14,0x912323 14,0x912323 15,0x932626 16,0x942828 17,0x952b2b 29,0xa54949 22,0x9c3838 30,0xa64c4c 40,0xb36666 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 27,0xa24444 100,0xFFFFFF 43,0xb76d6d 14,0x912323 13,0x902121 13,0x902121 13,0x902121 15,0x932626 14,0x912323 12,0x8f1e1e 11,0x8e1c1c 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 11,0x8e1c1c 12,0x8f1e1e 14,0x912323 18,0x972d2d 18,0x972d2d 11,0x8e1c1c 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 12,0x8f1e1e 19,0x983030 28,0xa34747 17,0x952b2b 14,0x912323 10,0x8c1919 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 18,0x972d2d 14,0x912323 11,0x8e1c1c 10,0x8c1919 9,0x8b1616 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 10,0x8c1919 10,0x8c1919 10,0x8c1919 11,0x8e1c1c 16,0x942828 15,0x932626 31,0xa74f4f 29,0xa54949 15,0x932626 15,0x932626 16,0x942828 17,0x952b2b 23,0x9d3a3a 42,0xb56b6b 62,0xcf9e9e 48,0xbd7a7a 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 78,0xe3c6c6 16,0x942828 14,0x912323 14,0x912323 14,0x912323 15,0x932626 31,0xa74f4f 15,0x932626 15,0x932626 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 13,0x902121 26,0xa14242 20,0x993333 20,0x993333 26,0xa14242 10,0x8c1919 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 11,0x8e1c1c 14,0x912323 33,0xaa5454 17,0x952b2b 13,0x902121 10,0x8c1919 9,0x8b1616 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 10,0x8c1919 12,0x8f1e1e 20,0x993333 18,0x972d2d 11,0x8e1c1c 10,0x8c1919 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 9,0x8b1616 10,0x8c1919 11,0x8e1c1c 11,0x8e1c1c 12,0x8f1e1e 23,0x9d3a3a 69,0xd8afaf 27,0xa24444 20,0x993333 17,0x952b2b 17,0x952b2b 17,0x952b2b 20,0x993333 100,0xFFFFFF 67,0xd5aaaa 99,0xfefcfc 42,0xb56b6b 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 79,0xe5c9c9 42,0xb56b6b 17,0x952b2b 15,0x932626 15,0x932626 16,0x942828 17,0x952b2b 24,0x9e3d3d 38,0xb06060 33,0xaa5454 16,0x942828 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 14,0x912323 42,0xb56b6b 31,0xa74f4f 17,0x952b2b 14,0x912323 15,0x932626 9,0x8b1616 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 8,0x8a1414 8,0x8a1414 9,0x8b1616 10,0x8c1919 11,0x8e1c1c 15,0x932626 16,0x942828 13,0x902121 11,0x8e1c1c 10,0x8c1919 9,0x8b1616 9,0x8b1616 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 10,0x8c1919 10,0x8c1919 12,0x8f1e1e 14,0x912323 29,0xa54949 17,0x952b2b 12,0x8f1e1e 9,0x8b1616 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 9,0x8b1616 10,0x8c1919 11,0x8e1c1c 11,0x8e1c1c 12,0x8f1e1e 13,0x902121 16,0x942828 25,0xa03f3f 58,0xca9393 20,0x993333 18,0x972d2d 18,0x972d2d 18,0x972d2d 20,0x993333 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 18,0x972d2d 18,0x972d2d 61,0xce9b9b 30,0xa64c4c 20,0x993333 31,0xa74f4f 57,0xc89191 60,0xcc9999 19,0x983030 13,0x902121 13,0x902121 13,0x902121 15,0x932626 18,0x972d2d 100,0xFFFFFF 20,0x993333 11,0x8e1c1c 10,0x8c1919 8,0x8a1414 8,0x8a1414 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 8,0x8a1414 9,0x8b1616 10,0x8c1919 10,0x8c1919 12,0x8f1e1e 14,0x912323 19,0x983030 13,0x902121 11,0x8e1c1c 10,0x8c1919 10,0x8c1919 9,0x8b1616 9,0x8b1616 9,0x8b1616 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 10,0x8c1919 11,0x8e1c1c 13,0x902121 13,0x902121 16,0x942828 22,0x9c3838 17,0x952b2b 11,0x8e1c1c 10,0x8c1919 9,0x8b1616 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 10,0x8c1919 11,0x8e1c1c 12,0x8f1e1e 14,0x912323 14,0x912323 19,0x983030 23,0x9d3a3a 49,0xbe7c7c 64,0xd1a3a3 22,0x9c3838 100,0xFFFFFF 23,0x9d3a3a 26,0xa14242 22,0x9c3838 27,0xa24444 81,0xe7cece 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 51,0xc18282 20,0x993333 21,0x9a3535 81,0xe7cece 38,0xb06060 30,0xa64c4c 100,0xFFFFFF 34,0xab5656 25,0xa03f3f 19,0x983030 15,0x932626 14,0x912323 14,0x912323 15,0x932626 17,0x952b2b 23,0x9d3a3a 23,0x9d3a3a 11,0x8e1c1c 10,0x8c1919 9,0x8b1616 8,0x8a1414 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 9,0x8b1616 9,0x8b1616 10,0x8c1919 19,0x983030 13,0x902121 15,0x932626 19,0x983030 12,0x8f1e1e 12,0x8f1e1e 10,0x8c1919 10,0x8c1919 10,0x8c1919 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 10,0x8c1919 22,0x9c3838 18,0x972d2d 18,0x972d2d 19,0x983030 37,0xaf5e5e 15,0x932626 13,0x902121 10,0x8c1919 10,0x8c1919 9,0x8b1616 9,0x8b1616 9,0x8b1616 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 10,0x8c1919 23,0x9d3a3a 33,0xaa5454 20,0x993333 28,0xa34747 43,0xb76d6d 63,0xd0a0a0 72,0xdcb7b7 28,0xa34747 26,0xa14242 80,0xe6cccc 100,0xFFFFFF 42,0xb56b6b 26,0xa14242 70,0xd9b2b2 65,0xd3a5a5 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 84,0xebd6d6 73,0xddbaba 24,0x9e3d3d 72,0xdcb7b7 79,0xe5c9c9 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 43,0xb76d6d 32,0xa85151 20,0x993333 40,0xb36666 16,0x942828 16,0x942828 17,0x952b2b 26,0xa14242 21,0x9a3535 14,0x912323 12,0x8f1e1e 10,0x8c1919 10,0x8c1919 8,0x8a1414 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 12,0x8f1e1e 14,0x912323 13,0x902121 20,0x993333 20,0x993333 18,0x972d2d 16,0x942828 13,0x902121 12,0x8f1e1e 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 10,0x8c1919 10,0x8c1919 13,0x902121 15,0x932626 37,0xaf5e5e 19,0x983030 15,0x932626 13,0x902121 12,0x8f1e1e 11,0x8e1c1c 10,0x8c1919 10,0x8c1919 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 10,0x8c1919 11,0x8e1c1c 12,0x8f1e1e 17,0x952b2b 23,0x9d3a3a 73,0xddbaba 54,0xc58989 67,0xd5aaaa 38,0xb06060 47,0xbc7777 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 53,0xc38787 63,0xd0a0a0 35,0xac5959 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 32,0xa85151 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 85,0xecd8d8 25,0xa03f3f 31,0xa74f4f 60,0xcc9999 18,0x972d2d 19,0x983030 25,0xa03f3f 20,0x993333 15,0x932626 14,0x912323 12,0x8f1e1e 13,0x902121 9,0x8b1616 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 8,0x8a1414 9,0x8b1616 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 14,0x912323 23,0x9d3a3a 17,0x952b2b 15,0x932626 11,0x8e1c1c 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 10,0x8c1919 10,0x8c1919 9,0x8b1616 9,0x8b1616 9,0x8b1616 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 10,0x8c1919 10,0x8c1919 12,0x8f1e1e 15,0x932626 37,0xaf5e5e 17,0x952b2b 14,0x912323 13,0x902121 12,0x8f1e1e 11,0x8e1c1c 10,0x8c1919 10,0x8c1919 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 10,0x8c1919 10,0x8c1919 11,0x8e1c1c 11,0x8e1c1c 14,0x912323 23,0x9d3a3a 36,0xae5b5b 87,0xefdddd 45,0xb97272 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 46,0xba7575 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 55,0xc68c8c 70,0xd9b2b2 30,0xa64c4c 32,0xa85151 22,0x9c3838 30,0xa64c4c 21,0x9a3535 25,0xa03f3f 25,0xa03f3f 30,0xa64c4c 20,0x993333 9,0x8b1616 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 8,0x8a1414 9,0x8b1616 9,0x8b1616 10,0x8c1919 10,0x8c1919 11,0x8e1c1c 16,0x942828 24,0x9e3d3d 24,0x9e3d3d 15,0x932626 12,0x8f1e1e 11,0x8e1c1c 11,0x8e1c1c 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 10,0x8c1919 10,0x8c1919 10,0x8c1919 12,0x8f1e1e 14,0x912323 10,0x8c1919 10,0x8c1919 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 10,0x8c1919 10,0x8c1919 10,0x8c1919 13,0x902121 23,0x9d3a3a 27,0xa24444 16,0x942828 14,0x912323 13,0x902121 12,0x8f1e1e 11,0x8e1c1c 11,0x8e1c1c 10,0x8c1919 10,0x8c1919 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 10,0x8c1919 10,0x8c1919 11,0x8e1c1c 11,0x8e1c1c 23,0x9d3a3a 20,0x993333 25,0xa03f3f 30,0xa64c4c 47,0xbc7777 53,0xc38787 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 86,0xeedbdb 42,0xb56b6b 69,0xd8afaf 38,0xb06060 26,0xa14242 18,0x972d2d 14,0x912323 12,0x8f1e1e 10,0x8c1919 8,0x8a1414 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 10,0x8c1919 10,0x8c1919 12,0x8f1e1e 15,0x932626 19,0x983030 15,0x932626 13,0x902121 12,0x8f1e1e 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 11,0x8e1c1c 13,0x902121 18,0x972d2d 19,0x983030 11,0x8e1c1c 10,0x8c1919 10,0x8c1919 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 10,0x8c1919 10,0x8c1919 10,0x8c1919 11,0x8e1c1c 14,0x912323 16,0x942828 27,0xa24444 16,0x942828 15,0x932626 14,0x912323 13,0x902121 12,0x8f1e1e 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 10,0x8c1919 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 10,0x8c1919 10,0x8c1919 10,0x8c1919 11,0x8e1c1c 11,0x8e1c1c 12,0x8f1e1e 14,0x912323 59,0xcb9696 40,0xb36666 82,0xe8d1d1 26,0xa14242 36,0xae5b5b 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 38,0xb06060 25,0xa03f3f 45,0xb97272 32,0xa85151 21,0x9a3535 23,0x9d3a3a 13,0x902121 11,0x8e1c1c 9,0x8b1616 8,0x8a1414 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 10,0x8c1919 12,0x8f1e1e 14,0x912323 19,0x983030 16,0x942828 15,0x932626 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 20,0x993333 12,0x8f1e1e 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 12,0x8f1e1e 13,0x902121 18,0x972d2d 14,0x912323 12,0x8f1e1e 11,0x8e1c1c 10,0x8c1919 10,0x8c1919 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 11,0x8e1c1c 12,0x8f1e1e 16,0x942828 28,0xa34747 19,0x983030 32,0xa85151 21,0x9a3535 17,0x952b2b 27,0xa24444 13,0x902121 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 10,0x8c1919 10,0x8c1919 10,0x8c1919 9,0x8b1616 9,0x8b1616 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 11,0x8e1c1c 10,0x8c1919 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 11,0x8e1c1c 11,0x8e1c1c 12,0x8f1e1e 13,0x902121 15,0x932626 16,0x942828 20,0x993333 28,0xa34747 80,0xe6cccc 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 41,0xb46868 63,0xd0a0a0 63,0xd0a0a0 22,0x9c3838 18,0x972d2d 33,0xaa5454 18,0x972d2d 15,0x932626 17,0x952b2b 19,0x983030 8,0x8a1414 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 10,0x8c1919 12,0x8f1e1e 25,0xa03f3f 16,0x942828 23,0x9d3a3a 19,0x983030 14,0x912323 14,0x912323 14,0x912323 16,0x942828 15,0x932626 15,0x932626 19,0x983030 13,0x902121 12,0x8f1e1e 11,0x8e1c1c 12,0x8f1e1e 13,0x902121 14,0x912323 20,0x993333 16,0x942828 12,0x8f1e1e 11,0x8e1c1c 11,0x8e1c1c 10,0x8c1919 10,0x8c1919 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 10,0x8c1919 10,0x8c1919 10,0x8c1919 11,0x8e1c1c 11,0x8e1c1c 12,0x8f1e1e 12,0x8f1e1e 14,0x912323 17,0x952b2b 42,0xb56b6b 19,0x983030 21,0x9a3535 35,0xac5959 71,0xdab5b5 22,0x9c3838 14,0x912323 16,0x942828 57,0xc89191 12,0x8f1e1e 11,0x8e1c1c 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 11,0x8e1c1c 12,0x8f1e1e 29,0xa54949 12,0x8f1e1e 10,0x8c1919 10,0x8c1919 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 11,0x8e1c1c 11,0x8e1c1c 12,0x8f1e1e 13,0x902121 14,0x912323 15,0x932626 17,0x952b2b 20,0x993333 100,0xFFFFFF 35,0xac5959 78,0xe3c6c6 100,0xFFFFFF 67,0xd5aaaa 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 45,0xb97272 20,0x993333 17,0x952b2b 15,0x932626 15,0x932626 31,0xa74f4f 14,0x912323 12,0x8f1e1e 11,0x8e1c1c 9,0x8b1616 8,0x8a1414 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 13,0x902121 13,0x902121 12,0x8f1e1e 15,0x932626 22,0x9c3838 25,0xa03f3f 16,0x942828 26,0xa14242 21,0x9a3535 23,0x9d3a3a 22,0x9c3838 51,0xc18282 16,0x942828 23,0x9d3a3a 14,0x912323 13,0x902121 13,0x902121 15,0x932626 20,0x993333 19,0x983030 31,0xa74f4f 12,0x8f1e1e 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 12,0x8f1e1e 12,0x8f1e1e 13,0x902121 14,0x912323 16,0x942828 17,0x952b2b 18,0x972d2d 22,0x9c3838 41,0xb46868 24,0x9e3d3d 16,0x942828 19,0x983030 18,0x972d2d 13,0x902121 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 12,0x8f1e1e 13,0x902121 14,0x912323 19,0x983030 15,0x932626 11,0x8e1c1c 10,0x8c1919 10,0x8c1919 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 11,0x8e1c1c 12,0x8f1e1e 12,0x8f1e1e 13,0x902121 14,0x912323 16,0x942828 17,0x952b2b 19,0x983030 21,0x9a3535 25,0xa03f3f 30,0xa64c4c 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 53,0xc38787 24,0x9e3d3d 20,0x993333 16,0x942828 13,0x902121 13,0x902121 29,0xa54949 27,0xa24444 10,0x8c1919 9,0x8b1616 8,0x8a1414 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 10,0x8c1919 11,0x8e1c1c 11,0x8e1c1c 13,0x902121 15,0x932626 16,0x942828 16,0x942828 15,0x932626 15,0x932626 22,0x9c3838 19,0x983030 73,0xddbaba 19,0x983030 26,0xa14242 16,0x942828 15,0x932626 16,0x942828 18,0x972d2d 20,0x993333 24,0x9e3d3d 15,0x932626 13,0x902121 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 17,0x952b2b 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 12,0x8f1e1e 12,0x8f1e1e 13,0x902121 14,0x912323 15,0x932626 16,0x942828 18,0x972d2d 22,0x9c3838 73,0xddbaba 26,0xa14242 20,0x993333 22,0x9c3838 62,0xcf9e9e 14,0x912323 12,0x8f1e1e 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 12,0x8f1e1e 12,0x8f1e1e 15,0x932626 23,0x9d3a3a 23,0x9d3a3a 22,0x9c3838 55,0xc68c8c 12,0x8f1e1e 10,0x8c1919 10,0x8c1919 10,0x8c1919 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 11,0x8e1c1c 11,0x8e1c1c 12,0x8f1e1e 12,0x8f1e1e 14,0x912323 17,0x952b2b 63,0xd0a0a0 18,0x972d2d 19,0x983030 22,0x9c3838 47,0xbc7777 36,0xae5b5b 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 46,0xba7575 80,0xe6cccc 100,0xFFFFFF 100,0xFFFFFF 55,0xc68c8c 40,0xb36666 79,0xe5c9c9 73,0xddbaba 37,0xaf5e5e 19,0x983030 13,0x902121 11,0x8e1c1c 10,0x8c1919 10,0x8c1919 9,0x8b1616 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 10,0x8c1919 10,0x8c1919 11,0x8e1c1c 12,0x8f1e1e 12,0x8f1e1e 13,0x902121 13,0x902121 13,0x902121 15,0x932626 17,0x952b2b 28,0xa34747 33,0xaa5454 32,0xa85151 21,0x9a3535 17,0x952b2b 18,0x972d2d 25,0xa03f3f 49,0xbe7c7c 22,0x9c3838 16,0x942828 14,0x912323 14,0x912323 14,0x912323 21,0x9a3535 28,0xa34747 12,0x8f1e1e 12,0x8f1e1e 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 12,0x8f1e1e 12,0x8f1e1e 13,0x902121 13,0x902121 14,0x912323 15,0x932626 15,0x932626 22,0x9c3838 24,0x9e3d3d 28,0xa34747 41,0xb46868 27,0xa24444 46,0xba7575 21,0x9a3535 32,0xa85151 16,0x942828 13,0x902121 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 13,0x902121 22,0x9c3838 29,0xa54949 19,0x983030 17,0x952b2b 14,0x912323 12,0x8f1e1e 11,0x8e1c1c 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 11,0x8e1c1c 12,0x8f1e1e 12,0x8f1e1e 13,0x902121 26,0xa14242 38,0xb06060 24,0x9e3d3d 21,0x9a3535 21,0x9a3535 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 29,0xa54949 25,0xa03f3f 59,0xcb9696 51,0xc18282 100,0xFFFFFF 21,0x9a3535 56,0xc78e8e 32,0xa85151 13,0x902121 11,0x8e1c1c 10,0x8c1919 9,0x8b1616 8,0x8a1414 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 10,0x8c1919 10,0x8c1919 10,0x8c1919 11,0x8e1c1c 11,0x8e1c1c 12,0x8f1e1e 12,0x8f1e1e 13,0x902121 14,0x912323 15,0x932626 18,0x972d2d 30,0xa64c4c 33,0xaa5454 55,0xc68c8c 41,0xb46868 22,0x9c3838 50,0xc07f7f 34,0xab5656 19,0x983030 17,0x952b2b 15,0x932626 15,0x932626 19,0x983030 19,0x983030 15,0x932626 13,0x902121 12,0x8f1e1e 12,0x8f1e1e 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 12,0x8f1e1e 12,0x8f1e1e 13,0x902121 13,0x902121 13,0x902121 14,0x912323 15,0x932626 16,0x942828 18,0x972d2d 22,0x9c3838 23,0x9d3a3a 34,0xab5656 64,0xd1a3a3 100,0xFFFFFF 52,0xc28484 45,0xb97272 15,0x932626 13,0x902121 13,0x902121 13,0x902121 13,0x902121 15,0x932626 36,0xae5b5b 20,0x993333 18,0x972d2d 16,0x942828 14,0x912323 12,0x8f1e1e 11,0x8e1c1c 11,0x8e1c1c 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 11,0x8e1c1c 11,0x8e1c1c 12,0x8f1e1e 13,0x902121 14,0x912323 22,0x9c3838 100,0xFFFFFF 26,0xa14242 25,0xa03f3f 24,0x9e3d3d 27,0xa24444 43,0xb76d6d 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 21,0x9a3535 18,0x972d2d 17,0x952b2b 15,0x932626 15,0x932626 14,0x912323 12,0x8f1e1e 11,0x8e1c1c 10,0x8c1919 9,0x8b1616 9,0x8b1616 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 10,0x8c1919 10,0x8c1919 10,0x8c1919 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 12,0x8f1e1e 14,0x912323 16,0x942828 18,0x972d2d 23,0x9d3a3a 23,0x9d3a3a 27,0xa24444 37,0xaf5e5e 49,0xbe7c7c 35,0xac5959 24,0x9e3d3d 21,0x9a3535 25,0xa03f3f 17,0x952b2b 17,0x952b2b 19,0x983030 39,0xb16363 15,0x932626 14,0x912323 13,0x902121 13,0x902121 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 13,0x902121 13,0x902121 13,0x902121 13,0x902121 14,0x912323 15,0x932626 16,0x942828 17,0x952b2b 19,0x983030 21,0x9a3535 24,0x9e3d3d 29,0xa54949 66,0xd4a8a8 41,0xb46868 27,0xa24444 20,0x993333 17,0x952b2b 15,0x932626 13,0x902121 14,0x912323 14,0x912323 16,0x942828 34,0xab5656 24,0x9e3d3d 33,0xaa5454 49,0xbe7c7c 15,0x932626 13,0x902121 12,0x8f1e1e 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 11,0x8e1c1c 12,0x8f1e1e 14,0x912323 21,0x9a3535 62,0xcf9e9e 43,0xb76d6d 92,0xf5eaea 31,0xa74f4f 64,0xd1a3a3 50,0xc07f7f 33,0xaa5454 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 67,0xd5aaaa 24,0x9e3d3d 19,0x983030 15,0x932626 14,0x912323 13,0x902121 12,0x8f1e1e 11,0x8e1c1c 10,0x8c1919 9,0x8b1616 9,0x8b1616 8,0x8a1414 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 9,0x8b1616 10,0x8c1919 10,0x8c1919 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 13,0x902121 20,0x993333 26,0xa14242 18,0x972d2d 18,0x972d2d 26,0xa14242 24,0x9e3d3d 27,0xa24444 56,0xc78e8e 29,0xa54949 26,0xa14242 25,0xa03f3f 19,0x983030 21,0x9a3535 22,0x9c3838 55,0xc68c8c 17,0x952b2b 15,0x932626 13,0x902121 13,0x902121 13,0x902121 14,0x912323 23,0x9d3a3a 15,0x932626 14,0x912323 14,0x912323 14,0x912323 15,0x932626 21,0x9a3535 19,0x983030 19,0x983030 73,0xddbaba 100,0xFFFFFF 31,0xa74f4f 49,0xbe7c7c 100,0xFFFFFF 51,0xc18282 29,0xa54949 23,0x9d3a3a 22,0x9c3838 16,0x942828 15,0x932626 15,0x932626 15,0x932626 16,0x942828 18,0x972d2d 43,0xb76d6d 23,0x9d3a3a 66,0xd4a8a8 51,0xc18282 15,0x932626 14,0x912323 12,0x8f1e1e 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 11,0x8e1c1c 11,0x8e1c1c 12,0x8f1e1e 34,0xab5656 36,0xae5b5b 44,0xb87070 69,0xd8afaf 46,0xba7575 99,0xfefcfc 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 67,0xd5aaaa 23,0x9d3a3a 15,0x932626 14,0x912323 12,0x8f1e1e 11,0x8e1c1c 10,0x8c1919 10,0x8c1919 9,0x8b1616 9,0x8b1616 8,0x8a1414 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 10,0x8c1919 10,0x8c1919 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 12,0x8f1e1e 14,0x912323 15,0x932626 16,0x942828 17,0x952b2b 19,0x983030 21,0x9a3535 30,0xa64c4c 40,0xb36666 40,0xb36666 35,0xac5959 58,0xca9393 22,0x9c3838 23,0x9d3a3a 34,0xab5656 27,0xa24444 21,0x9a3535 18,0x972d2d 15,0x932626 14,0x912323 14,0x912323 15,0x932626 35,0xac5959 19,0x983030 15,0x932626 15,0x932626 15,0x932626 16,0x942828 20,0x993333 24,0x9e3d3d 45,0xb97272 100,0xFFFFFF 50,0xc07f7f 53,0xc38787 68,0xd7adad 100,0xFFFFFF 100,0xFFFFFF 33,0xaa5454 67,0xd5aaaa 22,0x9c3838 17,0x952b2b 16,0x942828 15,0x932626 16,0x942828 16,0x942828 18,0x972d2d 19,0x983030 21,0x9a3535 27,0xa24444 28,0xa34747 19,0x983030 19,0x983030 13,0x902121 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 11,0x8e1c1c 11,0x8e1c1c 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 12,0x8f1e1e 13,0x902121 15,0x932626 33,0xaa5454 75,0xe0bfbf 93,0xf7eded 71,0xdab5b5 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 40,0xb36666 19,0x983030 17,0x952b2b 16,0x942828 13,0x902121 11,0x8e1c1c 10,0x8c1919 9,0x8b1616 9,0x8b1616 9,0x8b1616 8,0x8a1414 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 10,0x8c1919 10,0x8c1919 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 12,0x8f1e1e 13,0x902121 14,0x912323 15,0x932626 16,0x942828 19,0x983030 25,0xa03f3f 36,0xae5b5b 47,0xbc7777 100,0xFFFFFF 95,0xf9f2f2 62,0xcf9e9e 42,0xb56b6b 27,0xa24444 48,0xbd7a7a 75,0xe0bfbf 37,0xaf5e5e 18,0x972d2d 16,0x942828 15,0x932626 15,0x932626 16,0x942828 33,0xaa5454 19,0x983030 17,0x952b2b 20,0x993333 17,0x952b2b 17,0x952b2b 19,0x983030 22,0x9c3838 26,0xa14242 32,0xa85151 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 63,0xd0a0a0 100,0xFFFFFF 46,0xba7575 19,0x983030 18,0x972d2d 18,0x972d2d 17,0x952b2b 17,0x952b2b 18,0x972d2d 19,0x983030 30,0xa64c4c 79,0xe5c9c9 41,0xb46868 29,0xa54949 27,0xa24444 14,0x912323 13,0x902121 13,0x902121 12,0x8f1e1e 13,0x902121 14,0x912323 14,0x912323 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 12,0x8f1e1e 12,0x8f1e1e 13,0x902121 14,0x912323 16,0x942828 24,0x9e3d3d 30,0xa64c4c 32,0xa85151 45,0xb97272 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 31,0xa74f4f 24,0x9e3d3d 43,0xb76d6d 56,0xc78e8e 13,0x902121 11,0x8e1c1c 10,0x8c1919 10,0x8c1919 9,0x8b1616 9,0x8b1616 8,0x8a1414 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 10,0x8c1919 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 12,0x8f1e1e 13,0x902121 14,0x912323 15,0x932626 17,0x952b2b 28,0xa34747 53,0xc38787 44,0xb87070 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 48,0xbd7a7a 83,0xead3d3 40,0xb36666 60,0xcc9999 70,0xd9b2b2 25,0xa03f3f 23,0x9d3a3a 20,0x993333 17,0x952b2b 17,0x952b2b 18,0x972d2d 20,0x993333 29,0xa54949 47,0xbc7777 43,0xb76d6d 21,0x9a3535 19,0x983030 19,0x983030 21,0x9a3535 25,0xa03f3f 53,0xc38787 84,0xebd6d6 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 39,0xb16363 28,0xa34747 21,0x9a3535 100,0xFFFFFF 21,0x9a3535 19,0x983030 19,0x983030 21,0x9a3535 21,0x9a3535 24,0x9e3d3d 29,0xa54949 97,0xfcf7f7 90,0xf3e5e5 88,0xf0e0e0 16,0x942828 14,0x912323 14,0x912323 15,0x932626 38,0xb06060 19,0x983030 18,0x972d2d 12,0x8f1e1e 12,0x8f1e1e 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 12,0x8f1e1e 12,0x8f1e1e 13,0x902121 14,0x912323 15,0x932626 17,0x952b2b 19,0x983030 22,0x9c3838 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 56,0xc78e8e 100,0xFFFFFF 100,0xFFFFFF 13,0x902121 11,0x8e1c1c 10,0x8c1919 10,0x8c1919 9,0x8b1616 9,0x8b1616 8,0x8a1414 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 10,0x8c1919 11,0x8e1c1c 11,0x8e1c1c 12,0x8f1e1e 13,0x902121 13,0x902121 14,0x912323 16,0x942828 17,0x952b2b 20,0x993333 24,0x9e3d3d 48,0xbd7a7a 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 34,0xab5656 47,0xbc7777 19,0x983030 18,0x972d2d 17,0x952b2b 19,0x983030 20,0x993333 25,0xa03f3f 41,0xb46868 100,0xFFFFFF 94,0xf8efef 23,0x9d3a3a 29,0xa54949 23,0x9d3a3a 29,0xa54949 35,0xac5959 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 46,0xba7575 26,0xa14242 24,0x9e3d3d 27,0xa24444 62,0xcf9e9e 22,0x9c3838 22,0x9c3838 29,0xa54949 33,0xaa5454 56,0xc78e8e 54,0xc58989 47,0xbc7777 55,0xc68c8c 35,0xac5959 18,0x972d2d 16,0x942828 16,0x942828 26,0xa14242 24,0x9e3d3d 23,0x9d3a3a 31,0xa74f4f 13,0x902121 12,0x8f1e1e 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 13,0x902121 14,0x912323 15,0x932626 17,0x952b2b 20,0x993333 22,0x9c3838 25,0xa03f3f 34,0xab5656 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 13,0x902121 11,0x8e1c1c 10,0x8c1919 10,0x8c1919 10,0x8c1919 9,0x8b1616 9,0x8b1616 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 10,0x8c1919 11,0x8e1c1c 12,0x8f1e1e 12,0x8f1e1e 13,0x902121 13,0x902121 15,0x932626 25,0xa03f3f 49,0xbe7c7c 23,0x9d3a3a 32,0xa85151 82,0xe8d1d1 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 57,0xc89191 100,0xFFFFFF 21,0x9a3535 20,0x993333 53,0xc38787 21,0x9a3535 22,0x9c3838 30,0xa64c4c 42,0xb56b6b 100,0xFFFFFF 100,0xFFFFFF 28,0xa34747 40,0xb36666 39,0xb16363 34,0xab5656 36,0xae5b5b 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 35,0xac5959 34,0xab5656 30,0xa64c4c 39,0xb16363 100,0xFFFFFF 37,0xaf5e5e 25,0xa03f3f 28,0xa34747 37,0xaf5e5e 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 28,0xa34747 19,0x983030 17,0x952b2b 18,0x972d2d 32,0xa85151 41,0xb46868 19,0x983030 15,0x932626 13,0x902121 12,0x8f1e1e 12,0x8f1e1e 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 13,0x902121 14,0x912323 16,0x942828 31,0xa74f4f 28,0xa34747 24,0x9e3d3d 88,0xf0e0e0 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 40,0xb36666 27,0xa24444 43,0xb76d6d 15,0x932626 13,0x902121 12,0x8f1e1e 11,0x8e1c1c 10,0x8c1919 10,0x8c1919 10,0x8c1919 9,0x8b1616 9,0x8b1616 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 10,0x8c1919 11,0x8e1c1c 12,0x8f1e1e 13,0x902121 14,0x912323 14,0x912323 15,0x932626 19,0x983030 29,0xa54949 41,0xb46868 33,0xaa5454 47,0xbc7777 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 36,0xae5b5b 24,0x9e3d3d 23,0x9d3a3a 34,0xab5656 27,0xa24444 32,0xa85151 39,0xb16363 89,0xf1e2e2 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 81,0xe7cece 100,0xFFFFFF 100,0xFFFFFF 80,0xe6cccc 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 60,0xcc9999 100,0xFFFFFF 100,0xFFFFFF 94,0xf8efef 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 99,0xfefcfc 35,0xac5959 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 74,0xdebcbc 21,0x9a3535 19,0x983030 20,0x993333 25,0xa03f3f 27,0xa24444 41,0xb46868 16,0x942828 14,0x912323 13,0x902121 13,0x902121 12,0x8f1e1e 12,0x8f1e1e 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 13,0x902121 14,0x912323 15,0x932626 18,0x972d2d 67,0xd5aaaa 30,0xa64c4c 30,0xa64c4c 33,0xaa5454 55,0xc68c8c 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 31,0xa74f4f 17,0x952b2b 15,0x932626 13,0x902121 12,0x8f1e1e 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 10,0x8c1919 11,0x8e1c1c 12,0x8f1e1e 9,0x8b1616 8,0x8a1414 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 10,0x8c1919 12,0x8f1e1e 16,0x942828 18,0x972d2d 16,0x942828 16,0x942828 20,0x993333 25,0xa03f3f 47,0xbc7777 76,0xe1c1c1 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 36,0xae5b5b 26,0xa14242 26,0xa14242 35,0xac5959 100,0xFFFFFF 51,0xc18282 43,0xb76d6d 62,0xcf9e9e 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 62,0xcf9e9e 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 77,0xe2c4c4 28,0xa34747 28,0xa34747 21,0x9a3535 21,0x9a3535 23,0x9d3a3a 25,0xa03f3f 80,0xe6cccc 21,0x9a3535 23,0x9d3a3a 14,0x912323 13,0x902121 13,0x902121 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 13,0x902121 15,0x932626 35,0xac5959 65,0xd3a5a5 81,0xe7cece 40,0xb36666 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 59,0xcb9696 18,0x972d2d 16,0x942828 21,0x9a3535 14,0x912323 12,0x8f1e1e 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 12,0x8f1e1e 17,0x952b2b 11,0x8e1c1c 8,0x8a1414 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 10,0x8c1919 10,0x8c1919 12,0x8f1e1e 14,0x912323 23,0x9d3a3a 24,0x9e3d3d 19,0x983030 28,0xa34747 59,0xcb9696 27,0xa24444 37,0xaf5e5e 74,0xdebcbc 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 37,0xaf5e5e 31,0xa74f4f 69,0xd8afaf 100,0xFFFFFF 85,0xecd8d8 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 41,0xb46868 32,0xa85151 35,0xac5959 25,0xa03f3f 25,0xa03f3f 25,0xa03f3f 48,0xbd7a7a 95,0xf9f2f2 40,0xb36666 36,0xae5b5b 15,0x932626 14,0x912323 14,0x912323 14,0x912323 13,0x902121 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 13,0x902121 14,0x912323 16,0x942828 28,0xa34747 96,0xfaf4f4 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 23,0x9d3a3a 100,0xFFFFFF 20,0x993333 25,0xa03f3f 22,0x9c3838 14,0x912323 13,0x902121 12,0x8f1e1e 12,0x8f1e1e 14,0x912323 35,0xac5959 11,0x8e1c1c 8,0x8a1414 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 1,0x810202 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 10,0x8c1919 10,0x8c1919 11,0x8e1c1c 12,0x8f1e1e 12,0x8f1e1e 16,0x942828 20,0x993333 26,0xa14242 18,0x972d2d 23,0x9d3a3a 21,0x9a3535 25,0xa03f3f 34,0xab5656 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 40,0xb36666 48,0xbd7a7a 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 61,0xce9b9b 100,0xFFFFFF 33,0xaa5454 84,0xebd6d6 71,0xdab5b5 47,0xbc7777 100,0xFFFFFF 59,0xcb9696 17,0x952b2b 19,0x983030 57,0xc89191 54,0xc58989 14,0x912323 13,0x902121 13,0x902121 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 13,0x902121 13,0x902121 13,0x902121 14,0x912323 15,0x932626 19,0x983030 88,0xf0e0e0 46,0xba7575 56,0xc78e8e 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 29,0xa54949 40,0xb36666 40,0xb36666 100,0xFFFFFF 49,0xbe7c7c 30,0xa64c4c 14,0x912323 14,0x912323 16,0x942828 27,0xa24444 23,0x9d3a3a 16,0x942828 8,0x8a1414 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 1,0x810202 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 10,0x8c1919 10,0x8c1919 10,0x8c1919 11,0x8e1c1c 12,0x8f1e1e 12,0x8f1e1e 14,0x912323 14,0x912323 15,0x932626 16,0x942828 17,0x952b2b 19,0x983030 25,0xa03f3f 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 55,0xc68c8c 40,0xb36666 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 37,0xaf5e5e 22,0x9c3838 20,0x993333 33,0xaa5454 24,0x9e3d3d 70,0xd9b2b2 14,0x912323 14,0x912323 13,0x902121 13,0x902121 13,0x902121 13,0x902121 13,0x902121 13,0x902121 13,0x902121 13,0x902121 13,0x902121 14,0x912323 14,0x912323 15,0x932626 17,0x952b2b 19,0x983030 23,0x9d3a3a 33,0xaa5454 40,0xb36666 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 29,0xa54949 20,0x993333 16,0x942828 18,0x972d2d 38,0xb06060 21,0x9a3535 28,0xa34747 10,0x8c1919 8,0x8a1414 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 1,0x810202 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 10,0x8c1919 10,0x8c1919 10,0x8c1919 11,0x8e1c1c 11,0x8e1c1c 12,0x8f1e1e 12,0x8f1e1e 13,0x902121 14,0x912323 15,0x932626 15,0x932626 17,0x952b2b 20,0x993333 29,0xa54949 31,0xa74f4f 38,0xb06060 95,0xf9f2f2 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 24,0x9e3d3d 23,0x9d3a3a 38,0xb06060 36,0xae5b5b 17,0x952b2b 15,0x932626 14,0x912323 13,0x902121 13,0x902121 13,0x902121 13,0x902121 13,0x902121 13,0x902121 13,0x902121 13,0x902121 14,0x912323 14,0x912323 14,0x912323 15,0x932626 17,0x952b2b 32,0xa85151 30,0xa64c4c 33,0xaa5454 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 38,0xb06060 100,0xFFFFFF 19,0x983030 20,0x993333 27,0xa24444 15,0x932626 11,0x8e1c1c 9,0x8b1616 8,0x8a1414 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 9,0x8b1616 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 12,0x8f1e1e 12,0x8f1e1e 13,0x902121 13,0x902121 15,0x932626 15,0x932626 17,0x952b2b 29,0xa54949 22,0x9c3838 24,0x9e3d3d 100,0xFFFFFF 39,0xb16363 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 35,0xac5959 30,0xa64c4c 25,0xa03f3f 27,0xa24444 35,0xac5959 24,0x9e3d3d 16,0x942828 15,0x932626 14,0x912323 14,0x912323 13,0x902121 13,0x902121 13,0x902121 13,0x902121 13,0x902121 14,0x912323 14,0x912323 14,0x912323 15,0x932626 16,0x942828 18,0x972d2d 61,0xce9b9b 39,0xb16363 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 47,0xbc7777 23,0x9d3a3a 27,0xa24444 20,0x993333 15,0x932626 13,0x902121 9,0x8b1616 8,0x8a1414 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 12,0x8f1e1e 13,0x902121 13,0x902121 13,0x902121 15,0x932626 16,0x942828 17,0x952b2b 18,0x972d2d 20,0x993333 22,0x9c3838 26,0xa14242 69,0xd8afaf 39,0xb16363 48,0xbd7a7a 57,0xc89191 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 61,0xce9b9b 100,0xFFFFFF 52,0xc28484 45,0xb97272 43,0xb76d6d 82,0xe8d1d1 18,0x972d2d 17,0x952b2b 16,0x942828 15,0x932626 14,0x912323 14,0x912323 14,0x912323 14,0x912323 14,0x912323 14,0x912323 14,0x912323 14,0x912323 15,0x932626 31,0xa74f4f 100,0xFFFFFF 83,0xead3d3 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 87,0xefdddd 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 60,0xcc9999 46,0xba7575 54,0xc58989 27,0xa24444 22,0x9c3838 9,0x8b1616 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 12,0x8f1e1e 13,0x902121 13,0x902121 13,0x902121 14,0x912323 16,0x942828 17,0x952b2b 17,0x952b2b 19,0x983030 21,0x9a3535 23,0x9d3a3a 26,0xa14242 32,0xa85151 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 55,0xc68c8c 100,0xFFFFFF 100,0xFFFFFF 80,0xe6cccc 22,0x9c3838 61,0xce9b9b 29,0xa54949 16,0x942828 15,0x932626 14,0x912323 14,0x912323 14,0x912323 14,0x912323 14,0x912323 15,0x932626 15,0x932626 16,0x942828 18,0x972d2d 38,0xb06060 100,0xFFFFFF 62,0xcf9e9e 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 60,0xcc9999 26,0xa14242 49,0xbe7c7c 24,0x9e3d3d 29,0xa54949 35,0xac5959 14,0x912323 10,0x8c1919 8,0x8a1414 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 11,0x8e1c1c 15,0x932626 12,0x8f1e1e 17,0x952b2b 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 14,0x912323 14,0x912323 14,0x912323 15,0x932626 16,0x942828 30,0xa64c4c 19,0x983030 20,0x993333 22,0x9c3838 24,0x9e3d3d 73,0xddbaba 89,0xf1e2e2 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 30,0xa64c4c 27,0xa24444 52,0xc28484 21,0x9a3535 17,0x952b2b 16,0x942828 15,0x932626 15,0x932626 15,0x932626 15,0x932626 15,0x932626 15,0x932626 16,0x942828 16,0x942828 18,0x972d2d 20,0x993333 28,0xa34747 33,0xaa5454 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 54,0xc58989 25,0xa03f3f 66,0xd4a8a8 39,0xb16363 43,0xb76d6d 100,0xFFFFFF 16,0x942828 28,0xa34747 17,0x952b2b 15,0x932626 16,0x942828 9,0x8b1616 8,0x8a1414 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 11,0x8e1c1c 13,0x902121 20,0x993333 19,0x983030 14,0x912323 12,0x8f1e1e 12,0x8f1e1e 13,0x902121 13,0x902121 14,0x912323 30,0xa64c4c 16,0x942828 15,0x932626 15,0x932626 17,0x952b2b 21,0x9a3535 42,0xb56b6b 49,0xbe7c7c 40,0xb36666 29,0xa54949 62,0xcf9e9e 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 63,0xd0a0a0 75,0xe0bfbf 30,0xa64c4c 33,0xaa5454 100,0xFFFFFF 18,0x972d2d 17,0x952b2b 15,0x932626 15,0x932626 15,0x932626 15,0x932626 15,0x932626 16,0x942828 16,0x942828 16,0x942828 18,0x972d2d 100,0xFFFFFF 36,0xae5b5b 39,0xb16363 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 96,0xfaf4f4 18,0x972d2d 17,0x952b2b 28,0xa34747 15,0x932626 13,0x902121 13,0x902121 11,0x8e1c1c 10,0x8c1919 9,0x8b1616 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 10,0x8c1919 10,0x8c1919 12,0x8f1e1e 15,0x932626 41,0xb46868 20,0x993333 14,0x912323 14,0x912323 13,0x902121 14,0x912323 15,0x932626 17,0x952b2b 52,0xc28484 28,0xa34747 17,0x952b2b 18,0x972d2d 19,0x983030 23,0x9d3a3a 56,0xc78e8e 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 20,0x993333 18,0x972d2d 17,0x952b2b 16,0x942828 16,0x942828 16,0x942828 16,0x942828 16,0x942828 16,0x942828 17,0x952b2b 23,0x9d3a3a 73,0xddbaba 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 44,0xb87070 22,0x9c3838 18,0x972d2d 14,0x912323 13,0x902121 12,0x8f1e1e 11,0x8e1c1c 10,0x8c1919 9,0x8b1616 9,0x8b1616 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 9,0x8b1616 10,0x8c1919 10,0x8c1919 11,0x8e1c1c 30,0xa64c4c 27,0xa24444 25,0xa03f3f 18,0x972d2d 15,0x932626 16,0x942828 18,0x972d2d 18,0x972d2d 20,0x993333 33,0xaa5454 25,0xa03f3f 21,0x9a3535 21,0x9a3535 21,0x9a3535 27,0xa24444 36,0xae5b5b 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 71,0xdab5b5 39,0xb16363 32,0xa85151 19,0x983030 17,0x952b2b 16,0x942828 16,0x942828 16,0x942828 16,0x942828 17,0x952b2b 18,0x972d2d 27,0xa24444 86,0xeedbdb 56,0xc78e8e 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 39,0xb16363 51,0xc18282 13,0x902121 12,0x8f1e1e 11,0x8e1c1c 10,0x8c1919 9,0x8b1616 9,0x8b1616 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 10,0x8c1919 10,0x8c1919 11,0x8e1c1c 12,0x8f1e1e 14,0x912323 18,0x972d2d 58,0xca9393 48,0xbd7a7a 30,0xa64c4c 27,0xa24444 23,0x9d3a3a 35,0xac5959 45,0xb97272 27,0xa24444 27,0xa24444 27,0xa24444 25,0xa03f3f 28,0xa34747 100,0xFFFFFF 54,0xc58989 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 69,0xd8afaf 39,0xb16363 34,0xab5656 100,0xFFFFFF 19,0x983030 18,0x972d2d 17,0x952b2b 17,0x952b2b 17,0x952b2b 17,0x952b2b 18,0x972d2d 18,0x972d2d 20,0x993333 65,0xd3a5a5 36,0xae5b5b 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 49,0xbe7c7c 30,0xa64c4c 13,0x902121 12,0x8f1e1e 11,0x8e1c1c 10,0x8c1919 9,0x8b1616 9,0x8b1616 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 10,0x8c1919 10,0x8c1919 10,0x8c1919 11,0x8e1c1c 12,0x8f1e1e 12,0x8f1e1e 14,0x912323 15,0x932626 16,0x942828 23,0x9d3a3a 25,0xa03f3f 37,0xaf5e5e 100,0xFFFFFF 50,0xc07f7f 50,0xc07f7f 43,0xb76d6d 61,0xce9b9b 38,0xb06060 98,0xfdf9f9 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 69,0xd8afaf 100,0xFFFFFF 100,0xFFFFFF 21,0x9a3535 19,0x983030 18,0x972d2d 17,0x952b2b 17,0x952b2b 18,0x972d2d 18,0x972d2d 19,0x983030 22,0x9c3838 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 72,0xdcb7b7 19,0x983030 15,0x932626 13,0x902121 12,0x8f1e1e 11,0x8e1c1c 11,0x8e1c1c 9,0x8b1616 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 + 1,0x810202 1,0x810202 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 9,0x8b1616 10,0x8c1919 9,0x8b1616 9,0x8b1616 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 10,0x8c1919 10,0x8c1919 10,0x8c1919 11,0x8e1c1c 11,0x8e1c1c 12,0x8f1e1e 13,0x902121 14,0x912323 15,0x932626 17,0x952b2b 21,0x9a3535 63,0xd0a0a0 41,0xb46868 85,0xecd8d8 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 63,0xd0a0a0 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 57,0xc89191 48,0xbd7a7a 90,0xf3e5e5 19,0x983030 18,0x972d2d 18,0x972d2d 18,0x972d2d 19,0x983030 20,0x993333 41,0xb46868 99,0xfefcfc 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 26,0xa14242 20,0x993333 46,0xba7575 14,0x912323 13,0x902121 13,0x902121 20,0x993333 10,0x8c1919 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 + 1,0x810202 1,0x810202 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 8,0x8a1414 9,0x8b1616 15,0x932626 11,0x8e1c1c 10,0x8c1919 10,0x8c1919 9,0x8b1616 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 10,0x8c1919 10,0x8c1919 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 12,0x8f1e1e 13,0x902121 13,0x902121 14,0x912323 17,0x952b2b 83,0xead3d3 31,0xa74f4f 29,0xa54949 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 40,0xb36666 27,0xa24444 20,0x993333 19,0x983030 19,0x983030 19,0x983030 19,0x983030 20,0x993333 22,0x9c3838 43,0xb76d6d 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 35,0xac5959 17,0x952b2b 14,0x912323 14,0x912323 17,0x952b2b 12,0x8f1e1e 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 + 1,0x810202 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 9,0x8b1616 11,0x8e1c1c 16,0x942828 13,0x902121 11,0x8e1c1c 17,0x952b2b 10,0x8c1919 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 10,0x8c1919 10,0x8c1919 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 12,0x8f1e1e 13,0x902121 13,0x902121 14,0x912323 19,0x983030 19,0x983030 21,0x9a3535 33,0xaa5454 68,0xd7adad 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 55,0xc68c8c 28,0xa34747 20,0x993333 20,0x993333 20,0x993333 20,0x993333 21,0x9a3535 36,0xae5b5b 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 35,0xac5959 19,0x983030 28,0xa34747 26,0xa14242 23,0x9d3a3a 15,0x932626 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 + 1,0x810202 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 9,0x8b1616 10,0x8c1919 14,0x912323 22,0x9c3838 21,0x9a3535 12,0x8f1e1e 11,0x8e1c1c 10,0x8c1919 10,0x8c1919 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 10,0x8c1919 10,0x8c1919 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 12,0x8f1e1e 13,0x902121 13,0x902121 14,0x912323 16,0x942828 17,0x952b2b 20,0x993333 29,0xa54949 84,0xebd6d6 70,0xd9b2b2 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 41,0xb46868 30,0xa64c4c 22,0x9c3838 21,0x9a3535 21,0x9a3535 21,0x9a3535 22,0x9c3838 26,0xa14242 41,0xb46868 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 56,0xc78e8e 23,0x9d3a3a 24,0x9e3d3d 22,0x9c3838 15,0x932626 10,0x8c1919 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 + 1,0x810202 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 10,0x8c1919 12,0x8f1e1e 15,0x932626 17,0x952b2b 12,0x8f1e1e 11,0x8e1c1c 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 10,0x8c1919 10,0x8c1919 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 12,0x8f1e1e 13,0x902121 14,0x912323 15,0x932626 15,0x932626 17,0x952b2b 19,0x983030 22,0x9c3838 26,0xa14242 33,0xaa5454 45,0xb97272 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 25,0xa03f3f 22,0x9c3838 21,0x9a3535 22,0x9c3838 22,0x9c3838 29,0xa54949 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 66,0xd4a8a8 30,0xa64c4c 18,0x972d2d 19,0x983030 9,0x8b1616 8,0x8a1414 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 + 1,0x810202 2,0x820505 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 10,0x8c1919 12,0x8f1e1e 15,0x932626 16,0x942828 14,0x912323 13,0x902121 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 10,0x8c1919 10,0x8c1919 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 12,0x8f1e1e 13,0x902121 14,0x912323 15,0x932626 15,0x932626 17,0x952b2b 20,0x993333 22,0x9c3838 24,0x9e3d3d 29,0xa54949 92,0xf5eaea 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 45,0xb97272 27,0xa24444 23,0x9d3a3a 23,0x9d3a3a 23,0x9d3a3a 24,0x9e3d3d 29,0xa54949 52,0xc28484 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 90,0xf3e5e5 25,0xa03f3f 28,0xa34747 62,0xcf9e9e 21,0x9a3535 40,0xb36666 31,0xa74f4f 16,0x942828 11,0x8e1c1c 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 + 1,0x810202 2,0x820505 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 12,0x8f1e1e 15,0x932626 14,0x912323 24,0x9e3d3d 18,0x972d2d 15,0x932626 12,0x8f1e1e 11,0x8e1c1c 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 12,0x8f1e1e 12,0x8f1e1e 15,0x932626 43,0xb76d6d 17,0x952b2b 17,0x952b2b 18,0x972d2d 26,0xa14242 40,0xb36666 28,0xa34747 36,0xae5b5b 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 36,0xae5b5b 26,0xa14242 24,0x9e3d3d 24,0x9e3d3d 24,0x9e3d3d 78,0xe3c6c6 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 41,0xb46868 22,0x9c3838 17,0x952b2b 15,0x932626 14,0x912323 16,0x942828 26,0xa14242 11,0x8e1c1c 9,0x8b1616 8,0x8a1414 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 + 1,0x810202 2,0x820505 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 10,0x8c1919 11,0x8e1c1c 12,0x8f1e1e 14,0x912323 41,0xb46868 14,0x912323 12,0x8f1e1e 12,0x8f1e1e 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 12,0x8f1e1e 15,0x932626 13,0x902121 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 13,0x902121 14,0x912323 20,0x993333 66,0xd4a8a8 22,0x9c3838 34,0xab5656 100,0xFFFFFF 43,0xb76d6d 100,0xFFFFFF 41,0xb46868 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 60,0xcc9999 27,0xa24444 25,0xa03f3f 25,0xa03f3f 26,0xa14242 50,0xc07f7f 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 56,0xc78e8e 15,0x932626 13,0x902121 12,0x8f1e1e 11,0x8e1c1c 10,0x8c1919 9,0x8b1616 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 + 1,0x810202 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 10,0x8c1919 10,0x8c1919 11,0x8e1c1c 15,0x932626 22,0x9c3838 19,0x983030 14,0x912323 12,0x8f1e1e 12,0x8f1e1e 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 12,0x8f1e1e 12,0x8f1e1e 15,0x932626 18,0x972d2d 13,0x902121 12,0x8f1e1e 12,0x8f1e1e 13,0x902121 13,0x902121 13,0x902121 13,0x902121 14,0x912323 16,0x942828 18,0x972d2d 20,0x993333 31,0xa74f4f 80,0xe6cccc 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 83,0xead3d3 100,0xFFFFFF 27,0xa24444 26,0xa14242 27,0xa24444 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 23,0x9d3a3a 17,0x952b2b 14,0x912323 13,0x902121 11,0x8e1c1c 10,0x8c1919 9,0x8b1616 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 + 1,0x810202 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 10,0x8c1919 10,0x8c1919 10,0x8c1919 13,0x902121 14,0x912323 25,0xa03f3f 16,0x942828 13,0x902121 13,0x902121 12,0x8f1e1e 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 12,0x8f1e1e 12,0x8f1e1e 13,0x902121 18,0x972d2d 19,0x983030 14,0x912323 13,0x902121 13,0x902121 13,0x902121 13,0x902121 13,0x902121 14,0x912323 15,0x932626 15,0x932626 17,0x952b2b 19,0x983030 24,0x9e3d3d 85,0xecd8d8 69,0xd8afaf 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 51,0xc18282 29,0xa54949 28,0xa34747 28,0xa34747 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 57,0xc89191 16,0x942828 15,0x932626 22,0x9c3838 9,0x8b1616 9,0x8b1616 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 + 1,0x810202 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 10,0x8c1919 10,0x8c1919 10,0x8c1919 11,0x8e1c1c 12,0x8f1e1e 14,0x912323 18,0x972d2d 17,0x952b2b 15,0x932626 14,0x912323 16,0x942828 13,0x902121 13,0x902121 13,0x902121 13,0x902121 14,0x912323 19,0x983030 20,0x993333 15,0x932626 14,0x912323 14,0x912323 13,0x902121 13,0x902121 14,0x912323 14,0x912323 15,0x932626 15,0x932626 17,0x952b2b 19,0x983030 21,0x9a3535 25,0xa03f3f 35,0xac5959 54,0xc58989 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 29,0xa54949 30,0xa64c4c 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 33,0xaa5454 46,0xba7575 21,0x9a3535 13,0x902121 9,0x8b1616 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 + 1,0x810202 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 10,0x8c1919 10,0x8c1919 11,0x8e1c1c 12,0x8f1e1e 13,0x902121 15,0x932626 25,0xa03f3f 21,0x9a3535 19,0x983030 16,0x942828 14,0x912323 13,0x902121 13,0x902121 14,0x912323 15,0x932626 16,0x942828 21,0x9a3535 16,0x942828 15,0x932626 15,0x932626 15,0x932626 15,0x932626 15,0x932626 15,0x932626 15,0x932626 16,0x942828 18,0x972d2d 20,0x993333 24,0x9e3d3d 52,0xc28484 38,0xb06060 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 31,0xa74f4f 32,0xa85151 98,0xfdf9f9 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 44,0xb87070 100,0xFFFFFF 100,0xFFFFFF 34,0xab5656 41,0xb46868 16,0x942828 10,0x8c1919 9,0x8b1616 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 + 1,0x810202 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 10,0x8c1919 10,0x8c1919 11,0x8e1c1c 11,0x8e1c1c 13,0x902121 14,0x912323 17,0x952b2b 24,0x9e3d3d 22,0x9c3838 17,0x952b2b 15,0x932626 15,0x932626 15,0x932626 15,0x932626 15,0x932626 17,0x952b2b 69,0xd8afaf 21,0x9a3535 17,0x952b2b 16,0x942828 16,0x942828 38,0xb06060 16,0x942828 16,0x942828 16,0x942828 17,0x952b2b 22,0x9c3838 28,0xa34747 44,0xb87070 68,0xd7adad 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 34,0xab5656 34,0xab5656 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 28,0xa34747 25,0xa03f3f 23,0x9d3a3a 100,0xFFFFFF 26,0xa14242 20,0x993333 9,0x8b1616 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 + 1,0x810202 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 10,0x8c1919 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 13,0x902121 14,0x912323 17,0x952b2b 25,0xa03f3f 33,0xaa5454 19,0x983030 17,0x952b2b 18,0x972d2d 18,0x972d2d 17,0x952b2b 18,0x972d2d 30,0xa64c4c 55,0xc68c8c 24,0x9e3d3d 19,0x983030 17,0x952b2b 19,0x983030 23,0x9d3a3a 18,0x972d2d 17,0x952b2b 17,0x952b2b 18,0x972d2d 19,0x983030 21,0x9a3535 32,0xa85151 75,0xe0bfbf 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 37,0xaf5e5e 36,0xae5b5b 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 51,0xc18282 100,0xFFFFFF 16,0x942828 14,0x912323 13,0x902121 12,0x8f1e1e 10,0x8c1919 9,0x8b1616 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 + 1,0x810202 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 10,0x8c1919 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 13,0x902121 18,0x972d2d 21,0x9a3535 39,0xb16363 28,0xa34747 21,0x9a3535 35,0xac5959 27,0xa24444 26,0xa14242 20,0x993333 19,0x983030 28,0xa34747 37,0xaf5e5e 55,0xc68c8c 32,0xa85151 21,0x9a3535 23,0x9d3a3a 23,0x9d3a3a 19,0x983030 19,0x983030 19,0x983030 19,0x983030 19,0x983030 22,0x9c3838 30,0xa64c4c 41,0xb46868 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 41,0xb46868 39,0xb16363 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 52,0xc28484 33,0xaa5454 16,0x942828 14,0x912323 11,0x8e1c1c 10,0x8c1919 9,0x8b1616 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 + 1,0x810202 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 10,0x8c1919 10,0x8c1919 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 13,0x902121 15,0x932626 17,0x952b2b 20,0x993333 43,0xb76d6d 33,0xaa5454 51,0xc18282 33,0xaa5454 30,0xa64c4c 49,0xbe7c7c 23,0x9d3a3a 24,0x9e3d3d 29,0xa54949 100,0xFFFFFF 100,0xFFFFFF 25,0xa03f3f 100,0xFFFFFF 27,0xa24444 21,0x9a3535 28,0xa34747 21,0x9a3535 21,0x9a3535 22,0x9c3838 79,0xe5c9c9 99,0xfefcfc 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 96,0xfaf4f4 42,0xb56b6b 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 26,0xa14242 45,0xb97272 27,0xa24444 10,0x8c1919 9,0x8b1616 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 + 1,0x810202 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 10,0x8c1919 11,0x8e1c1c 11,0x8e1c1c 12,0x8f1e1e 12,0x8f1e1e 13,0x902121 14,0x912323 15,0x932626 18,0x972d2d 22,0x9c3838 24,0x9e3d3d 39,0xb16363 60,0xcc9999 50,0xc07f7f 52,0xc28484 29,0xa54949 31,0xa74f4f 65,0xd3a5a5 100,0xFFFFFF 100,0xFFFFFF 36,0xae5b5b 38,0xb06060 100,0xFFFFFF 28,0xa34747 73,0xddbaba 23,0x9d3a3a 22,0x9c3838 23,0x9d3a3a 25,0xa03f3f 31,0xa74f4f 57,0xc89191 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 46,0xba7575 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 25,0xa03f3f 30,0xa64c4c 54,0xc58989 18,0x972d2d 11,0x8e1c1c 9,0x8b1616 9,0x8b1616 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 + 1,0x810202 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 8,0x8a1414 10,0x8c1919 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 10,0x8c1919 11,0x8e1c1c 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 13,0x902121 13,0x902121 14,0x912323 15,0x932626 17,0x952b2b 20,0x993333 23,0x9d3a3a 30,0xa64c4c 51,0xc18282 100,0xFFFFFF 100,0xFFFFFF 40,0xb36666 77,0xe2c4c4 76,0xe1c1c1 100,0xFFFFFF 100,0xFFFFFF 86,0xeedbdb 65,0xd3a5a5 100,0xFFFFFF 42,0xb56b6b 100,0xFFFFFF 27,0xa24444 26,0xa14242 25,0xa03f3f 28,0xa34747 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 51,0xc18282 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 28,0xa34747 18,0x972d2d 15,0x932626 16,0x942828 11,0x8e1c1c 9,0x8b1616 9,0x8b1616 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 + 1,0x810202 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 10,0x8c1919 10,0x8c1919 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 10,0x8c1919 11,0x8e1c1c 14,0x912323 13,0x902121 13,0x902121 13,0x902121 13,0x902121 13,0x902121 16,0x942828 17,0x952b2b 18,0x972d2d 20,0x993333 29,0xa54949 51,0xc18282 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 63,0xd0a0a0 30,0xa64c4c 28,0xa34747 30,0xa64c4c 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 57,0xc89191 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 57,0xc89191 21,0x9a3535 15,0x932626 11,0x8e1c1c 10,0x8c1919 9,0x8b1616 8,0x8a1414 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 + 1,0x810202 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 10,0x8c1919 11,0x8e1c1c 9,0x8b1616 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 10,0x8c1919 17,0x952b2b 11,0x8e1c1c 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 11,0x8e1c1c 12,0x8f1e1e 14,0x912323 20,0x993333 14,0x912323 14,0x912323 14,0x912323 15,0x932626 17,0x952b2b 26,0xa14242 20,0x993333 21,0x9a3535 25,0xa03f3f 31,0xa74f4f 59,0xcb9696 96,0xfaf4f4 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 67,0xd5aaaa 34,0xab5656 31,0xa74f4f 82,0xe8d1d1 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 64,0xd1a3a3 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 23,0x9d3a3a 100,0xFFFFFF 21,0x9a3535 11,0x8e1c1c 10,0x8c1919 9,0x8b1616 8,0x8a1414 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 + 1,0x810202 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 9,0x8b1616 9,0x8b1616 19,0x983030 9,0x8b1616 9,0x8b1616 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 9,0x8b1616 10,0x8c1919 10,0x8c1919 12,0x8f1e1e 13,0x902121 11,0x8e1c1c 10,0x8c1919 10,0x8c1919 10,0x8c1919 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 12,0x8f1e1e 14,0x912323 18,0x972d2d 18,0x972d2d 16,0x942828 15,0x932626 16,0x942828 17,0x952b2b 19,0x983030 45,0xb97272 27,0xa24444 52,0xc28484 42,0xb56b6b 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 45,0xb97272 36,0xae5b5b 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 74,0xdebcbc 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 21,0x9a3535 13,0x902121 11,0x8e1c1c 10,0x8c1919 9,0x8b1616 9,0x8b1616 8,0x8a1414 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 + 1,0x810202 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 9,0x8b1616 10,0x8c1919 15,0x932626 11,0x8e1c1c 10,0x8c1919 9,0x8b1616 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 12,0x8f1e1e 9,0x8b1616 9,0x8b1616 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 10,0x8c1919 10,0x8c1919 21,0x9a3535 16,0x942828 12,0x8f1e1e 12,0x8f1e1e 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 12,0x8f1e1e 12,0x8f1e1e 13,0x902121 15,0x932626 18,0x972d2d 20,0x993333 31,0xa74f4f 17,0x952b2b 18,0x972d2d 20,0x993333 23,0x9d3a3a 31,0xa74f4f 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 43,0xb76d6d 57,0xc89191 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 24,0x9e3d3d 80,0xe6cccc 15,0x932626 11,0x8e1c1c 10,0x8c1919 9,0x8b1616 9,0x8b1616 8,0x8a1414 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 + 1,0x810202 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 10,0x8c1919 10,0x8c1919 13,0x902121 12,0x8f1e1e 10,0x8c1919 10,0x8c1919 9,0x8b1616 8,0x8a1414 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 10,0x8c1919 22,0x9c3838 10,0x8c1919 9,0x8b1616 9,0x8b1616 9,0x8b1616 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 10,0x8c1919 10,0x8c1919 11,0x8e1c1c 13,0x902121 20,0x993333 14,0x912323 12,0x8f1e1e 12,0x8f1e1e 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 12,0x8f1e1e 13,0x902121 13,0x902121 15,0x932626 17,0x952b2b 25,0xa03f3f 23,0x9d3a3a 20,0x993333 25,0xa03f3f 22,0x9c3838 75,0xe0bfbf 31,0xa74f4f 54,0xc58989 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 68,0xd7adad 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 29,0xa54949 13,0x902121 11,0x8e1c1c 10,0x8c1919 9,0x8b1616 9,0x8b1616 9,0x8b1616 8,0x8a1414 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 + 1,0x810202 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 10,0x8c1919 10,0x8c1919 10,0x8c1919 13,0x902121 14,0x912323 14,0x912323 12,0x8f1e1e 13,0x902121 10,0x8c1919 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 9,0x8b1616 12,0x8f1e1e 17,0x952b2b 16,0x942828 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 10,0x8c1919 10,0x8c1919 11,0x8e1c1c 12,0x8f1e1e 12,0x8f1e1e 17,0x952b2b 14,0x912323 13,0x902121 13,0x902121 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 13,0x902121 13,0x902121 13,0x902121 14,0x912323 15,0x932626 17,0x952b2b 21,0x9a3535 53,0xc38787 26,0xa14242 27,0xa24444 27,0xa24444 29,0xa54949 50,0xc07f7f 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 40,0xb36666 15,0x932626 12,0x8f1e1e 11,0x8e1c1c 10,0x8c1919 10,0x8c1919 9,0x8b1616 9,0x8b1616 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 + 1,0x810202 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 11,0x8e1c1c 13,0x902121 12,0x8f1e1e 18,0x972d2d 15,0x932626 25,0xa03f3f 20,0x993333 18,0x972d2d 12,0x8f1e1e 10,0x8c1919 10,0x8c1919 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 9,0x8b1616 10,0x8c1919 11,0x8e1c1c 12,0x8f1e1e 19,0x983030 12,0x8f1e1e 11,0x8e1c1c 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 9,0x8b1616 9,0x8b1616 10,0x8c1919 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 12,0x8f1e1e 13,0x902121 15,0x932626 17,0x952b2b 14,0x912323 13,0x902121 13,0x902121 14,0x912323 21,0x9a3535 14,0x912323 14,0x912323 14,0x912323 18,0x972d2d 17,0x952b2b 17,0x952b2b 21,0x9a3535 27,0xa24444 42,0xb56b6b 38,0xb06060 42,0xb56b6b 37,0xaf5e5e 43,0xb76d6d 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 41,0xb46868 100,0xFFFFFF 14,0x912323 12,0x8f1e1e 11,0x8e1c1c 10,0x8c1919 10,0x8c1919 9,0x8b1616 9,0x8b1616 9,0x8b1616 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 + 1,0x810202 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 6,0x870f0f 5,0x860c0c 5,0x860c0c 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 10,0x8c1919 10,0x8c1919 14,0x912323 15,0x932626 16,0x942828 37,0xaf5e5e 100,0xFFFFFF 68,0xd7adad 69,0xd8afaf 15,0x932626 10,0x8c1919 10,0x8c1919 10,0x8c1919 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 11,0x8e1c1c 11,0x8e1c1c 13,0x902121 19,0x983030 13,0x902121 11,0x8e1c1c 11,0x8e1c1c 10,0x8c1919 10,0x8c1919 10,0x8c1919 11,0x8e1c1c 11,0x8e1c1c 16,0x942828 11,0x8e1c1c 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 11,0x8e1c1c 11,0x8e1c1c 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 13,0x902121 14,0x912323 17,0x952b2b 22,0x9c3838 18,0x972d2d 16,0x942828 15,0x932626 16,0x942828 34,0xab5656 16,0x942828 15,0x932626 16,0x942828 19,0x983030 20,0x993333 21,0x9a3535 28,0xa34747 35,0xac5959 94,0xf8efef 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 58,0xca9393 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 16,0x942828 14,0x912323 12,0x8f1e1e 11,0x8e1c1c 11,0x8e1c1c 10,0x8c1919 10,0x8c1919 9,0x8b1616 9,0x8b1616 9,0x8b1616 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 + 1,0x810202 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 9,0x8b1616 10,0x8c1919 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 9,0x8b1616 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 12,0x8f1e1e 10,0x8c1919 9,0x8b1616 9,0x8b1616 9,0x8b1616 8,0x8a1414 10,0x8c1919 10,0x8c1919 9,0x8b1616 9,0x8b1616 11,0x8e1c1c 11,0x8e1c1c 13,0x902121 15,0x932626 34,0xab5656 30,0xa64c4c 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 14,0x912323 13,0x902121 12,0x8f1e1e 11,0x8e1c1c 11,0x8e1c1c 12,0x8f1e1e 11,0x8e1c1c 11,0x8e1c1c 10,0x8c1919 10,0x8c1919 11,0x8e1c1c 22,0x9c3838 12,0x8f1e1e 11,0x8e1c1c 11,0x8e1c1c 12,0x8f1e1e 12,0x8f1e1e 13,0x902121 31,0xa74f4f 20,0x993333 21,0x9a3535 13,0x902121 12,0x8f1e1e 12,0x8f1e1e 13,0x902121 12,0x8f1e1e 12,0x8f1e1e 13,0x902121 21,0x9a3535 13,0x902121 12,0x8f1e1e 14,0x912323 12,0x8f1e1e 12,0x8f1e1e 11,0x8e1c1c 13,0x902121 14,0x912323 16,0x942828 13,0x902121 14,0x912323 23,0x9d3a3a 15,0x932626 17,0x952b2b 21,0x9a3535 40,0xb36666 24,0x9e3d3d 17,0x952b2b 18,0x972d2d 18,0x972d2d 28,0xa34747 19,0x983030 24,0x9e3d3d 18,0x972d2d 21,0x9a3535 43,0xb76d6d 35,0xac5959 29,0xa54949 45,0xb97272 95,0xf9f2f2 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 64,0xd1a3a3 17,0x952b2b 15,0x932626 14,0x912323 13,0x902121 12,0x8f1e1e 11,0x8e1c1c 11,0x8e1c1c 10,0x8c1919 10,0x8c1919 9,0x8b1616 9,0x8b1616 9,0x8b1616 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 + 14,0x912323 49,0xbe7c7c 50,0xc07f7f 53,0xc38787 51,0xc18282 53,0xc38787 57,0xc89191 59,0xcb9696 52,0xc28484 54,0xc58989 63,0xd0a0a0 56,0xc78e8e 59,0xcb9696 53,0xc38787 66,0xd4a8a8 61,0xce9b9b 62,0xcf9e9e 64,0xd1a3a3 68,0xd7adad 62,0xcf9e9e 65,0xd3a5a5 71,0xdab5b5 100,0xFFFFFF 100,0xFFFFFF 71,0xdab5b5 63,0xd0a0a0 68,0xd7adad 61,0xce9b9b 78,0xe3c6c6 69,0xd8afaf 69,0xd8afaf 75,0xe0bfbf 83,0xead3d3 72,0xdcb7b7 85,0xecd8d8 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 98,0xfdf9f9 82,0xe8d1d1 86,0xeedbdb 79,0xe5c9c9 69,0xd8afaf 92,0xf5eaea 77,0xe2c4c4 79,0xe5c9c9 72,0xdcb7b7 71,0xdab5b5 76,0xe1c1c1 84,0xebd6d6 83,0xead3d3 83,0xead3d3 80,0xe6cccc 85,0xecd8d8 78,0xe3c6c6 89,0xf1e2e2 96,0xfaf4f4 100,0xFFFFFF 100,0xFFFFFF 87,0xefdddd 90,0xf3e5e5 88,0xf0e0e0 87,0xefdddd 97,0xfcf7f7 82,0xe8d1d1 82,0xe8d1d1 88,0xf0e0e0 98,0xfdf9f9 91,0xf4e8e8 100,0xFFFFFF 100,0xFFFFFF 89,0xf1e2e2 89,0xf1e2e2 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 39,0xb16363 27,0xa24444 22,0x9c3838 18,0x972d2d 16,0x942828 15,0x932626 14,0x912323 13,0x902121 12,0x8f1e1e 11,0x8e1c1c 11,0x8e1c1c 10,0x8c1919 10,0x8c1919 9,0x8b1616 9,0x8b1616 9,0x8b1616 8,0x8a1414 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 + 1,0x810202 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 9,0x8b1616 10,0x8c1919 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 9,0x8b1616 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 12,0x8f1e1e 10,0x8c1919 9,0x8b1616 9,0x8b1616 9,0x8b1616 8,0x8a1414 10,0x8c1919 10,0x8c1919 9,0x8b1616 9,0x8b1616 11,0x8e1c1c 11,0x8e1c1c 13,0x902121 15,0x932626 34,0xab5656 30,0xa64c4c 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 14,0x912323 13,0x902121 12,0x8f1e1e 11,0x8e1c1c 11,0x8e1c1c 12,0x8f1e1e 11,0x8e1c1c 11,0x8e1c1c 10,0x8c1919 10,0x8c1919 11,0x8e1c1c 22,0x9c3838 12,0x8f1e1e 11,0x8e1c1c 11,0x8e1c1c 12,0x8f1e1e 12,0x8f1e1e 13,0x902121 31,0xa74f4f 20,0x993333 21,0x9a3535 13,0x902121 12,0x8f1e1e 12,0x8f1e1e 13,0x902121 12,0x8f1e1e 12,0x8f1e1e 13,0x902121 21,0x9a3535 13,0x902121 12,0x8f1e1e 14,0x912323 12,0x8f1e1e 12,0x8f1e1e 11,0x8e1c1c 13,0x902121 14,0x912323 16,0x942828 13,0x902121 14,0x912323 23,0x9d3a3a 15,0x932626 17,0x952b2b 21,0x9a3535 40,0xb36666 24,0x9e3d3d 17,0x952b2b 18,0x972d2d 18,0x972d2d 28,0xa34747 19,0x983030 24,0x9e3d3d 18,0x972d2d 21,0x9a3535 43,0xb76d6d 35,0xac5959 29,0xa54949 45,0xb97272 95,0xf9f2f2 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 64,0xd1a3a3 17,0x952b2b 15,0x932626 14,0x912323 13,0x902121 12,0x8f1e1e 11,0x8e1c1c 11,0x8e1c1c 10,0x8c1919 10,0x8c1919 9,0x8b1616 9,0x8b1616 9,0x8b1616 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 + 1,0x810202 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 6,0x870f0f 5,0x860c0c 5,0x860c0c 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 10,0x8c1919 10,0x8c1919 14,0x912323 15,0x932626 16,0x942828 37,0xaf5e5e 100,0xFFFFFF 68,0xd7adad 69,0xd8afaf 15,0x932626 10,0x8c1919 10,0x8c1919 10,0x8c1919 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 11,0x8e1c1c 11,0x8e1c1c 13,0x902121 19,0x983030 13,0x902121 11,0x8e1c1c 11,0x8e1c1c 10,0x8c1919 10,0x8c1919 10,0x8c1919 11,0x8e1c1c 11,0x8e1c1c 16,0x942828 11,0x8e1c1c 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 11,0x8e1c1c 11,0x8e1c1c 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 13,0x902121 14,0x912323 17,0x952b2b 22,0x9c3838 18,0x972d2d 16,0x942828 15,0x932626 16,0x942828 34,0xab5656 16,0x942828 15,0x932626 16,0x942828 19,0x983030 20,0x993333 21,0x9a3535 28,0xa34747 35,0xac5959 94,0xf8efef 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 58,0xca9393 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 16,0x942828 14,0x912323 12,0x8f1e1e 11,0x8e1c1c 11,0x8e1c1c 10,0x8c1919 10,0x8c1919 9,0x8b1616 9,0x8b1616 9,0x8b1616 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 + 1,0x810202 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 11,0x8e1c1c 13,0x902121 12,0x8f1e1e 18,0x972d2d 15,0x932626 25,0xa03f3f 20,0x993333 18,0x972d2d 12,0x8f1e1e 10,0x8c1919 10,0x8c1919 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 9,0x8b1616 10,0x8c1919 11,0x8e1c1c 12,0x8f1e1e 19,0x983030 12,0x8f1e1e 11,0x8e1c1c 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 9,0x8b1616 9,0x8b1616 10,0x8c1919 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 12,0x8f1e1e 13,0x902121 15,0x932626 17,0x952b2b 14,0x912323 13,0x902121 13,0x902121 14,0x912323 21,0x9a3535 14,0x912323 14,0x912323 14,0x912323 18,0x972d2d 17,0x952b2b 17,0x952b2b 21,0x9a3535 27,0xa24444 42,0xb56b6b 38,0xb06060 42,0xb56b6b 37,0xaf5e5e 43,0xb76d6d 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 41,0xb46868 100,0xFFFFFF 14,0x912323 12,0x8f1e1e 11,0x8e1c1c 10,0x8c1919 10,0x8c1919 9,0x8b1616 9,0x8b1616 9,0x8b1616 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 + 1,0x810202 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 10,0x8c1919 10,0x8c1919 10,0x8c1919 13,0x902121 14,0x912323 14,0x912323 12,0x8f1e1e 13,0x902121 10,0x8c1919 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 9,0x8b1616 12,0x8f1e1e 17,0x952b2b 16,0x942828 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 10,0x8c1919 10,0x8c1919 11,0x8e1c1c 12,0x8f1e1e 12,0x8f1e1e 17,0x952b2b 14,0x912323 13,0x902121 13,0x902121 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 13,0x902121 13,0x902121 13,0x902121 14,0x912323 15,0x932626 17,0x952b2b 21,0x9a3535 53,0xc38787 26,0xa14242 27,0xa24444 27,0xa24444 29,0xa54949 50,0xc07f7f 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 40,0xb36666 15,0x932626 12,0x8f1e1e 11,0x8e1c1c 10,0x8c1919 10,0x8c1919 9,0x8b1616 9,0x8b1616 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 + 1,0x810202 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 10,0x8c1919 10,0x8c1919 13,0x902121 12,0x8f1e1e 10,0x8c1919 10,0x8c1919 9,0x8b1616 8,0x8a1414 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 10,0x8c1919 22,0x9c3838 10,0x8c1919 9,0x8b1616 9,0x8b1616 9,0x8b1616 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 10,0x8c1919 10,0x8c1919 11,0x8e1c1c 13,0x902121 20,0x993333 14,0x912323 12,0x8f1e1e 12,0x8f1e1e 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 12,0x8f1e1e 13,0x902121 13,0x902121 15,0x932626 17,0x952b2b 25,0xa03f3f 23,0x9d3a3a 20,0x993333 25,0xa03f3f 22,0x9c3838 75,0xe0bfbf 31,0xa74f4f 54,0xc58989 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 68,0xd7adad 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 29,0xa54949 13,0x902121 11,0x8e1c1c 10,0x8c1919 9,0x8b1616 9,0x8b1616 9,0x8b1616 8,0x8a1414 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 + 1,0x810202 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 9,0x8b1616 10,0x8c1919 15,0x932626 11,0x8e1c1c 10,0x8c1919 9,0x8b1616 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 12,0x8f1e1e 9,0x8b1616 9,0x8b1616 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 10,0x8c1919 10,0x8c1919 21,0x9a3535 16,0x942828 12,0x8f1e1e 12,0x8f1e1e 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 12,0x8f1e1e 12,0x8f1e1e 13,0x902121 15,0x932626 18,0x972d2d 20,0x993333 31,0xa74f4f 17,0x952b2b 18,0x972d2d 20,0x993333 23,0x9d3a3a 31,0xa74f4f 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 43,0xb76d6d 57,0xc89191 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 24,0x9e3d3d 80,0xe6cccc 15,0x932626 11,0x8e1c1c 10,0x8c1919 9,0x8b1616 9,0x8b1616 8,0x8a1414 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 + 1,0x810202 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 9,0x8b1616 9,0x8b1616 19,0x983030 9,0x8b1616 9,0x8b1616 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 9,0x8b1616 10,0x8c1919 10,0x8c1919 12,0x8f1e1e 13,0x902121 11,0x8e1c1c 10,0x8c1919 10,0x8c1919 10,0x8c1919 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 12,0x8f1e1e 14,0x912323 18,0x972d2d 18,0x972d2d 16,0x942828 15,0x932626 16,0x942828 17,0x952b2b 19,0x983030 45,0xb97272 27,0xa24444 52,0xc28484 42,0xb56b6b 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 45,0xb97272 36,0xae5b5b 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 74,0xdebcbc 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 21,0x9a3535 13,0x902121 11,0x8e1c1c 10,0x8c1919 9,0x8b1616 9,0x8b1616 8,0x8a1414 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 + 1,0x810202 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 10,0x8c1919 11,0x8e1c1c 9,0x8b1616 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 10,0x8c1919 17,0x952b2b 11,0x8e1c1c 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 11,0x8e1c1c 12,0x8f1e1e 14,0x912323 20,0x993333 14,0x912323 14,0x912323 14,0x912323 15,0x932626 17,0x952b2b 26,0xa14242 20,0x993333 21,0x9a3535 25,0xa03f3f 31,0xa74f4f 59,0xcb9696 96,0xfaf4f4 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 67,0xd5aaaa 34,0xab5656 31,0xa74f4f 82,0xe8d1d1 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 64,0xd1a3a3 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 23,0x9d3a3a 100,0xFFFFFF 21,0x9a3535 11,0x8e1c1c 10,0x8c1919 9,0x8b1616 8,0x8a1414 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 + 1,0x810202 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 10,0x8c1919 10,0x8c1919 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 10,0x8c1919 11,0x8e1c1c 14,0x912323 13,0x902121 13,0x902121 13,0x902121 13,0x902121 13,0x902121 16,0x942828 17,0x952b2b 18,0x972d2d 20,0x993333 29,0xa54949 51,0xc18282 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 63,0xd0a0a0 30,0xa64c4c 28,0xa34747 30,0xa64c4c 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 57,0xc89191 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 57,0xc89191 21,0x9a3535 15,0x932626 11,0x8e1c1c 10,0x8c1919 9,0x8b1616 8,0x8a1414 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 + 1,0x810202 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 8,0x8a1414 10,0x8c1919 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 10,0x8c1919 11,0x8e1c1c 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 13,0x902121 13,0x902121 14,0x912323 15,0x932626 17,0x952b2b 20,0x993333 23,0x9d3a3a 30,0xa64c4c 51,0xc18282 100,0xFFFFFF 100,0xFFFFFF 40,0xb36666 77,0xe2c4c4 76,0xe1c1c1 100,0xFFFFFF 100,0xFFFFFF 86,0xeedbdb 65,0xd3a5a5 100,0xFFFFFF 42,0xb56b6b 100,0xFFFFFF 27,0xa24444 26,0xa14242 25,0xa03f3f 28,0xa34747 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 51,0xc18282 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 28,0xa34747 18,0x972d2d 15,0x932626 16,0x942828 11,0x8e1c1c 9,0x8b1616 9,0x8b1616 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 + 1,0x810202 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 10,0x8c1919 11,0x8e1c1c 11,0x8e1c1c 12,0x8f1e1e 12,0x8f1e1e 13,0x902121 14,0x912323 15,0x932626 18,0x972d2d 22,0x9c3838 24,0x9e3d3d 39,0xb16363 60,0xcc9999 50,0xc07f7f 52,0xc28484 29,0xa54949 31,0xa74f4f 65,0xd3a5a5 100,0xFFFFFF 100,0xFFFFFF 36,0xae5b5b 38,0xb06060 100,0xFFFFFF 28,0xa34747 73,0xddbaba 23,0x9d3a3a 22,0x9c3838 23,0x9d3a3a 25,0xa03f3f 31,0xa74f4f 57,0xc89191 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 46,0xba7575 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 25,0xa03f3f 30,0xa64c4c 54,0xc58989 18,0x972d2d 11,0x8e1c1c 9,0x8b1616 9,0x8b1616 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 + 1,0x810202 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 10,0x8c1919 10,0x8c1919 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 13,0x902121 15,0x932626 17,0x952b2b 20,0x993333 43,0xb76d6d 33,0xaa5454 51,0xc18282 33,0xaa5454 30,0xa64c4c 49,0xbe7c7c 23,0x9d3a3a 24,0x9e3d3d 29,0xa54949 100,0xFFFFFF 100,0xFFFFFF 25,0xa03f3f 100,0xFFFFFF 27,0xa24444 21,0x9a3535 28,0xa34747 21,0x9a3535 21,0x9a3535 22,0x9c3838 79,0xe5c9c9 99,0xfefcfc 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 96,0xfaf4f4 42,0xb56b6b 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 26,0xa14242 45,0xb97272 27,0xa24444 10,0x8c1919 9,0x8b1616 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 + 1,0x810202 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 10,0x8c1919 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 13,0x902121 18,0x972d2d 21,0x9a3535 39,0xb16363 28,0xa34747 21,0x9a3535 35,0xac5959 27,0xa24444 26,0xa14242 20,0x993333 19,0x983030 28,0xa34747 37,0xaf5e5e 55,0xc68c8c 32,0xa85151 21,0x9a3535 23,0x9d3a3a 23,0x9d3a3a 19,0x983030 19,0x983030 19,0x983030 19,0x983030 19,0x983030 22,0x9c3838 30,0xa64c4c 41,0xb46868 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 41,0xb46868 39,0xb16363 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 52,0xc28484 33,0xaa5454 16,0x942828 14,0x912323 11,0x8e1c1c 10,0x8c1919 9,0x8b1616 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 + 1,0x810202 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 10,0x8c1919 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 13,0x902121 14,0x912323 17,0x952b2b 25,0xa03f3f 33,0xaa5454 19,0x983030 17,0x952b2b 18,0x972d2d 18,0x972d2d 17,0x952b2b 18,0x972d2d 30,0xa64c4c 55,0xc68c8c 24,0x9e3d3d 19,0x983030 17,0x952b2b 19,0x983030 23,0x9d3a3a 18,0x972d2d 17,0x952b2b 17,0x952b2b 18,0x972d2d 19,0x983030 21,0x9a3535 32,0xa85151 75,0xe0bfbf 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 37,0xaf5e5e 36,0xae5b5b 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 51,0xc18282 100,0xFFFFFF 16,0x942828 14,0x912323 13,0x902121 12,0x8f1e1e 10,0x8c1919 9,0x8b1616 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 + 1,0x810202 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 10,0x8c1919 10,0x8c1919 11,0x8e1c1c 11,0x8e1c1c 13,0x902121 14,0x912323 17,0x952b2b 24,0x9e3d3d 22,0x9c3838 17,0x952b2b 15,0x932626 15,0x932626 15,0x932626 15,0x932626 15,0x932626 17,0x952b2b 69,0xd8afaf 21,0x9a3535 17,0x952b2b 16,0x942828 16,0x942828 38,0xb06060 16,0x942828 16,0x942828 16,0x942828 17,0x952b2b 22,0x9c3838 28,0xa34747 44,0xb87070 68,0xd7adad 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 34,0xab5656 34,0xab5656 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 28,0xa34747 25,0xa03f3f 23,0x9d3a3a 100,0xFFFFFF 26,0xa14242 20,0x993333 9,0x8b1616 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 + 1,0x810202 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 10,0x8c1919 10,0x8c1919 11,0x8e1c1c 12,0x8f1e1e 13,0x902121 15,0x932626 25,0xa03f3f 21,0x9a3535 19,0x983030 16,0x942828 14,0x912323 13,0x902121 13,0x902121 14,0x912323 15,0x932626 16,0x942828 21,0x9a3535 16,0x942828 15,0x932626 15,0x932626 15,0x932626 15,0x932626 15,0x932626 15,0x932626 15,0x932626 16,0x942828 18,0x972d2d 20,0x993333 24,0x9e3d3d 52,0xc28484 38,0xb06060 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 31,0xa74f4f 32,0xa85151 98,0xfdf9f9 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 44,0xb87070 100,0xFFFFFF 100,0xFFFFFF 34,0xab5656 41,0xb46868 16,0x942828 10,0x8c1919 9,0x8b1616 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 + 1,0x810202 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 10,0x8c1919 10,0x8c1919 10,0x8c1919 11,0x8e1c1c 12,0x8f1e1e 14,0x912323 18,0x972d2d 17,0x952b2b 15,0x932626 14,0x912323 16,0x942828 13,0x902121 13,0x902121 13,0x902121 13,0x902121 14,0x912323 19,0x983030 20,0x993333 15,0x932626 14,0x912323 14,0x912323 13,0x902121 13,0x902121 14,0x912323 14,0x912323 15,0x932626 15,0x932626 17,0x952b2b 19,0x983030 21,0x9a3535 25,0xa03f3f 35,0xac5959 54,0xc58989 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 29,0xa54949 30,0xa64c4c 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 33,0xaa5454 46,0xba7575 21,0x9a3535 13,0x902121 9,0x8b1616 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 + 1,0x810202 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 10,0x8c1919 10,0x8c1919 10,0x8c1919 13,0x902121 14,0x912323 25,0xa03f3f 16,0x942828 13,0x902121 13,0x902121 12,0x8f1e1e 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 12,0x8f1e1e 12,0x8f1e1e 13,0x902121 18,0x972d2d 19,0x983030 14,0x912323 13,0x902121 13,0x902121 13,0x902121 13,0x902121 13,0x902121 14,0x912323 15,0x932626 15,0x932626 17,0x952b2b 19,0x983030 24,0x9e3d3d 85,0xecd8d8 69,0xd8afaf 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 51,0xc18282 29,0xa54949 28,0xa34747 28,0xa34747 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 57,0xc89191 16,0x942828 15,0x932626 22,0x9c3838 9,0x8b1616 9,0x8b1616 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 + 1,0x810202 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 10,0x8c1919 10,0x8c1919 11,0x8e1c1c 15,0x932626 22,0x9c3838 19,0x983030 14,0x912323 12,0x8f1e1e 12,0x8f1e1e 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 12,0x8f1e1e 12,0x8f1e1e 15,0x932626 18,0x972d2d 13,0x902121 12,0x8f1e1e 12,0x8f1e1e 13,0x902121 13,0x902121 13,0x902121 13,0x902121 14,0x912323 16,0x942828 18,0x972d2d 20,0x993333 31,0xa74f4f 80,0xe6cccc 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 83,0xead3d3 100,0xFFFFFF 27,0xa24444 26,0xa14242 27,0xa24444 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 23,0x9d3a3a 17,0x952b2b 14,0x912323 13,0x902121 11,0x8e1c1c 10,0x8c1919 9,0x8b1616 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 + 1,0x810202 2,0x820505 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 10,0x8c1919 11,0x8e1c1c 12,0x8f1e1e 14,0x912323 41,0xb46868 14,0x912323 12,0x8f1e1e 12,0x8f1e1e 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 12,0x8f1e1e 15,0x932626 13,0x902121 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 13,0x902121 14,0x912323 20,0x993333 66,0xd4a8a8 22,0x9c3838 34,0xab5656 100,0xFFFFFF 43,0xb76d6d 100,0xFFFFFF 41,0xb46868 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 60,0xcc9999 27,0xa24444 25,0xa03f3f 25,0xa03f3f 26,0xa14242 50,0xc07f7f 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 56,0xc78e8e 15,0x932626 13,0x902121 12,0x8f1e1e 11,0x8e1c1c 10,0x8c1919 9,0x8b1616 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 + 1,0x810202 2,0x820505 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 12,0x8f1e1e 15,0x932626 14,0x912323 24,0x9e3d3d 18,0x972d2d 15,0x932626 12,0x8f1e1e 11,0x8e1c1c 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 12,0x8f1e1e 12,0x8f1e1e 15,0x932626 43,0xb76d6d 17,0x952b2b 17,0x952b2b 18,0x972d2d 26,0xa14242 40,0xb36666 28,0xa34747 36,0xae5b5b 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 36,0xae5b5b 26,0xa14242 24,0x9e3d3d 24,0x9e3d3d 24,0x9e3d3d 78,0xe3c6c6 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 41,0xb46868 22,0x9c3838 17,0x952b2b 15,0x932626 14,0x912323 16,0x942828 26,0xa14242 11,0x8e1c1c 9,0x8b1616 8,0x8a1414 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 + 1,0x810202 2,0x820505 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 10,0x8c1919 12,0x8f1e1e 15,0x932626 16,0x942828 14,0x912323 13,0x902121 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 10,0x8c1919 10,0x8c1919 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 12,0x8f1e1e 13,0x902121 14,0x912323 15,0x932626 15,0x932626 17,0x952b2b 20,0x993333 22,0x9c3838 24,0x9e3d3d 29,0xa54949 92,0xf5eaea 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 45,0xb97272 27,0xa24444 23,0x9d3a3a 23,0x9d3a3a 23,0x9d3a3a 24,0x9e3d3d 29,0xa54949 52,0xc28484 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 90,0xf3e5e5 25,0xa03f3f 28,0xa34747 62,0xcf9e9e 21,0x9a3535 40,0xb36666 31,0xa74f4f 16,0x942828 11,0x8e1c1c 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 + 1,0x810202 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 10,0x8c1919 12,0x8f1e1e 15,0x932626 17,0x952b2b 12,0x8f1e1e 11,0x8e1c1c 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 10,0x8c1919 10,0x8c1919 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 12,0x8f1e1e 13,0x902121 14,0x912323 15,0x932626 15,0x932626 17,0x952b2b 19,0x983030 22,0x9c3838 26,0xa14242 33,0xaa5454 45,0xb97272 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 25,0xa03f3f 22,0x9c3838 21,0x9a3535 22,0x9c3838 22,0x9c3838 29,0xa54949 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 66,0xd4a8a8 30,0xa64c4c 18,0x972d2d 19,0x983030 9,0x8b1616 8,0x8a1414 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 + 1,0x810202 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 9,0x8b1616 10,0x8c1919 14,0x912323 22,0x9c3838 21,0x9a3535 12,0x8f1e1e 11,0x8e1c1c 10,0x8c1919 10,0x8c1919 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 10,0x8c1919 10,0x8c1919 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 12,0x8f1e1e 13,0x902121 13,0x902121 14,0x912323 16,0x942828 17,0x952b2b 20,0x993333 29,0xa54949 84,0xebd6d6 70,0xd9b2b2 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 41,0xb46868 30,0xa64c4c 22,0x9c3838 21,0x9a3535 21,0x9a3535 21,0x9a3535 22,0x9c3838 26,0xa14242 41,0xb46868 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 56,0xc78e8e 23,0x9d3a3a 24,0x9e3d3d 22,0x9c3838 15,0x932626 10,0x8c1919 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 + 1,0x810202 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 9,0x8b1616 11,0x8e1c1c 16,0x942828 13,0x902121 11,0x8e1c1c 17,0x952b2b 10,0x8c1919 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 10,0x8c1919 10,0x8c1919 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 12,0x8f1e1e 13,0x902121 13,0x902121 14,0x912323 19,0x983030 19,0x983030 21,0x9a3535 33,0xaa5454 68,0xd7adad 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 55,0xc68c8c 28,0xa34747 20,0x993333 20,0x993333 20,0x993333 20,0x993333 21,0x9a3535 36,0xae5b5b 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 35,0xac5959 19,0x983030 28,0xa34747 26,0xa14242 23,0x9d3a3a 15,0x932626 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 + 1,0x810202 1,0x810202 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 8,0x8a1414 9,0x8b1616 15,0x932626 11,0x8e1c1c 10,0x8c1919 10,0x8c1919 9,0x8b1616 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 10,0x8c1919 10,0x8c1919 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 12,0x8f1e1e 13,0x902121 13,0x902121 14,0x912323 17,0x952b2b 83,0xead3d3 31,0xa74f4f 29,0xa54949 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 40,0xb36666 27,0xa24444 20,0x993333 19,0x983030 19,0x983030 19,0x983030 19,0x983030 20,0x993333 22,0x9c3838 43,0xb76d6d 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 35,0xac5959 17,0x952b2b 14,0x912323 14,0x912323 17,0x952b2b 12,0x8f1e1e 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 + 1,0x810202 1,0x810202 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 9,0x8b1616 10,0x8c1919 9,0x8b1616 9,0x8b1616 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 10,0x8c1919 10,0x8c1919 10,0x8c1919 11,0x8e1c1c 11,0x8e1c1c 12,0x8f1e1e 13,0x902121 14,0x912323 15,0x932626 17,0x952b2b 21,0x9a3535 63,0xd0a0a0 41,0xb46868 85,0xecd8d8 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 63,0xd0a0a0 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 57,0xc89191 48,0xbd7a7a 90,0xf3e5e5 19,0x983030 18,0x972d2d 18,0x972d2d 18,0x972d2d 19,0x983030 20,0x993333 41,0xb46868 99,0xfefcfc 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 26,0xa14242 20,0x993333 46,0xba7575 14,0x912323 13,0x902121 13,0x902121 20,0x993333 10,0x8c1919 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 + 1,0x810202 1,0x810202 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 10,0x8c1919 10,0x8c1919 10,0x8c1919 11,0x8e1c1c 12,0x8f1e1e 12,0x8f1e1e 14,0x912323 15,0x932626 16,0x942828 23,0x9d3a3a 25,0xa03f3f 37,0xaf5e5e 100,0xFFFFFF 50,0xc07f7f 50,0xc07f7f 43,0xb76d6d 61,0xce9b9b 38,0xb06060 98,0xfdf9f9 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 69,0xd8afaf 100,0xFFFFFF 100,0xFFFFFF 21,0x9a3535 19,0x983030 18,0x972d2d 17,0x952b2b 17,0x952b2b 18,0x972d2d 18,0x972d2d 19,0x983030 22,0x9c3838 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 72,0xdcb7b7 19,0x983030 15,0x932626 13,0x902121 12,0x8f1e1e 11,0x8e1c1c 11,0x8e1c1c 9,0x8b1616 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 + 1,0x810202 1,0x810202 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 10,0x8c1919 10,0x8c1919 11,0x8e1c1c 12,0x8f1e1e 14,0x912323 18,0x972d2d 58,0xca9393 48,0xbd7a7a 30,0xa64c4c 27,0xa24444 23,0x9d3a3a 35,0xac5959 45,0xb97272 27,0xa24444 27,0xa24444 27,0xa24444 25,0xa03f3f 28,0xa34747 100,0xFFFFFF 54,0xc58989 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 69,0xd8afaf 39,0xb16363 34,0xab5656 100,0xFFFFFF 19,0x983030 18,0x972d2d 17,0x952b2b 17,0x952b2b 17,0x952b2b 17,0x952b2b 18,0x972d2d 18,0x972d2d 20,0x993333 65,0xd3a5a5 36,0xae5b5b 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 49,0xbe7c7c 30,0xa64c4c 13,0x902121 12,0x8f1e1e 11,0x8e1c1c 10,0x8c1919 9,0x8b1616 9,0x8b1616 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 9,0x8b1616 10,0x8c1919 10,0x8c1919 11,0x8e1c1c 30,0xa64c4c 27,0xa24444 25,0xa03f3f 18,0x972d2d 15,0x932626 16,0x942828 18,0x972d2d 18,0x972d2d 20,0x993333 33,0xaa5454 25,0xa03f3f 21,0x9a3535 21,0x9a3535 21,0x9a3535 27,0xa24444 36,0xae5b5b 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 71,0xdab5b5 39,0xb16363 32,0xa85151 19,0x983030 17,0x952b2b 16,0x942828 16,0x942828 16,0x942828 16,0x942828 17,0x952b2b 18,0x972d2d 27,0xa24444 86,0xeedbdb 56,0xc78e8e 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 39,0xb16363 51,0xc18282 13,0x902121 12,0x8f1e1e 11,0x8e1c1c 10,0x8c1919 9,0x8b1616 9,0x8b1616 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 10,0x8c1919 10,0x8c1919 12,0x8f1e1e 15,0x932626 41,0xb46868 20,0x993333 14,0x912323 14,0x912323 13,0x902121 14,0x912323 15,0x932626 17,0x952b2b 52,0xc28484 28,0xa34747 17,0x952b2b 18,0x972d2d 19,0x983030 23,0x9d3a3a 56,0xc78e8e 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 20,0x993333 18,0x972d2d 17,0x952b2b 16,0x942828 16,0x942828 16,0x942828 16,0x942828 16,0x942828 16,0x942828 17,0x952b2b 23,0x9d3a3a 73,0xddbaba 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 44,0xb87070 22,0x9c3838 18,0x972d2d 14,0x912323 13,0x902121 12,0x8f1e1e 11,0x8e1c1c 10,0x8c1919 9,0x8b1616 9,0x8b1616 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 11,0x8e1c1c 13,0x902121 20,0x993333 19,0x983030 14,0x912323 12,0x8f1e1e 12,0x8f1e1e 13,0x902121 13,0x902121 14,0x912323 30,0xa64c4c 16,0x942828 15,0x932626 15,0x932626 17,0x952b2b 21,0x9a3535 42,0xb56b6b 49,0xbe7c7c 40,0xb36666 29,0xa54949 62,0xcf9e9e 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 63,0xd0a0a0 75,0xe0bfbf 30,0xa64c4c 33,0xaa5454 100,0xFFFFFF 18,0x972d2d 17,0x952b2b 15,0x932626 15,0x932626 15,0x932626 15,0x932626 15,0x932626 16,0x942828 16,0x942828 16,0x942828 18,0x972d2d 100,0xFFFFFF 36,0xae5b5b 39,0xb16363 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 96,0xfaf4f4 18,0x972d2d 17,0x952b2b 28,0xa34747 15,0x932626 13,0x902121 13,0x902121 11,0x8e1c1c 10,0x8c1919 9,0x8b1616 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 11,0x8e1c1c 15,0x932626 12,0x8f1e1e 17,0x952b2b 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 14,0x912323 14,0x912323 14,0x912323 15,0x932626 16,0x942828 30,0xa64c4c 19,0x983030 20,0x993333 22,0x9c3838 24,0x9e3d3d 73,0xddbaba 89,0xf1e2e2 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 30,0xa64c4c 27,0xa24444 52,0xc28484 21,0x9a3535 17,0x952b2b 16,0x942828 15,0x932626 15,0x932626 15,0x932626 15,0x932626 15,0x932626 15,0x932626 16,0x942828 16,0x942828 18,0x972d2d 20,0x993333 28,0xa34747 33,0xaa5454 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 54,0xc58989 25,0xa03f3f 66,0xd4a8a8 39,0xb16363 43,0xb76d6d 100,0xFFFFFF 16,0x942828 28,0xa34747 17,0x952b2b 15,0x932626 16,0x942828 9,0x8b1616 8,0x8a1414 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 12,0x8f1e1e 13,0x902121 13,0x902121 13,0x902121 14,0x912323 16,0x942828 17,0x952b2b 17,0x952b2b 19,0x983030 21,0x9a3535 23,0x9d3a3a 26,0xa14242 32,0xa85151 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 55,0xc68c8c 100,0xFFFFFF 100,0xFFFFFF 80,0xe6cccc 22,0x9c3838 61,0xce9b9b 29,0xa54949 16,0x942828 15,0x932626 14,0x912323 14,0x912323 14,0x912323 14,0x912323 14,0x912323 15,0x932626 15,0x932626 16,0x942828 18,0x972d2d 38,0xb06060 100,0xFFFFFF 62,0xcf9e9e 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 60,0xcc9999 26,0xa14242 49,0xbe7c7c 24,0x9e3d3d 29,0xa54949 35,0xac5959 14,0x912323 10,0x8c1919 8,0x8a1414 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 12,0x8f1e1e 13,0x902121 13,0x902121 13,0x902121 15,0x932626 16,0x942828 17,0x952b2b 18,0x972d2d 20,0x993333 22,0x9c3838 26,0xa14242 69,0xd8afaf 39,0xb16363 48,0xbd7a7a 57,0xc89191 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 61,0xce9b9b 100,0xFFFFFF 52,0xc28484 45,0xb97272 43,0xb76d6d 82,0xe8d1d1 18,0x972d2d 17,0x952b2b 16,0x942828 15,0x932626 14,0x912323 14,0x912323 14,0x912323 14,0x912323 14,0x912323 14,0x912323 14,0x912323 14,0x912323 15,0x932626 31,0xa74f4f 100,0xFFFFFF 83,0xead3d3 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 87,0xefdddd 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 60,0xcc9999 46,0xba7575 54,0xc58989 27,0xa24444 22,0x9c3838 9,0x8b1616 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 9,0x8b1616 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 12,0x8f1e1e 12,0x8f1e1e 13,0x902121 13,0x902121 15,0x932626 15,0x932626 17,0x952b2b 29,0xa54949 22,0x9c3838 24,0x9e3d3d 100,0xFFFFFF 39,0xb16363 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 35,0xac5959 30,0xa64c4c 25,0xa03f3f 27,0xa24444 35,0xac5959 24,0x9e3d3d 16,0x942828 15,0x932626 14,0x912323 14,0x912323 13,0x902121 13,0x902121 13,0x902121 13,0x902121 13,0x902121 14,0x912323 14,0x912323 14,0x912323 15,0x932626 16,0x942828 18,0x972d2d 61,0xce9b9b 39,0xb16363 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 47,0xbc7777 23,0x9d3a3a 27,0xa24444 20,0x993333 15,0x932626 13,0x902121 9,0x8b1616 8,0x8a1414 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 1,0x810202 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 10,0x8c1919 10,0x8c1919 10,0x8c1919 11,0x8e1c1c 11,0x8e1c1c 12,0x8f1e1e 12,0x8f1e1e 13,0x902121 14,0x912323 15,0x932626 15,0x932626 17,0x952b2b 20,0x993333 29,0xa54949 31,0xa74f4f 38,0xb06060 95,0xf9f2f2 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 24,0x9e3d3d 23,0x9d3a3a 38,0xb06060 36,0xae5b5b 17,0x952b2b 15,0x932626 14,0x912323 13,0x902121 13,0x902121 13,0x902121 13,0x902121 13,0x902121 13,0x902121 13,0x902121 13,0x902121 14,0x912323 14,0x912323 14,0x912323 15,0x932626 17,0x952b2b 32,0xa85151 30,0xa64c4c 33,0xaa5454 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 38,0xb06060 100,0xFFFFFF 19,0x983030 20,0x993333 27,0xa24444 15,0x932626 11,0x8e1c1c 9,0x8b1616 8,0x8a1414 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 1,0x810202 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 10,0x8c1919 10,0x8c1919 10,0x8c1919 11,0x8e1c1c 12,0x8f1e1e 12,0x8f1e1e 14,0x912323 14,0x912323 15,0x932626 16,0x942828 17,0x952b2b 19,0x983030 25,0xa03f3f 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 55,0xc68c8c 40,0xb36666 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 37,0xaf5e5e 22,0x9c3838 20,0x993333 33,0xaa5454 24,0x9e3d3d 70,0xd9b2b2 14,0x912323 14,0x912323 13,0x902121 13,0x902121 13,0x902121 13,0x902121 13,0x902121 13,0x902121 13,0x902121 13,0x902121 13,0x902121 14,0x912323 14,0x912323 15,0x932626 17,0x952b2b 19,0x983030 23,0x9d3a3a 33,0xaa5454 40,0xb36666 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 29,0xa54949 20,0x993333 16,0x942828 18,0x972d2d 38,0xb06060 21,0x9a3535 28,0xa34747 10,0x8c1919 8,0x8a1414 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 1,0x810202 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 10,0x8c1919 10,0x8c1919 11,0x8e1c1c 12,0x8f1e1e 12,0x8f1e1e 16,0x942828 20,0x993333 26,0xa14242 18,0x972d2d 23,0x9d3a3a 21,0x9a3535 25,0xa03f3f 34,0xab5656 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 40,0xb36666 48,0xbd7a7a 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 61,0xce9b9b 100,0xFFFFFF 33,0xaa5454 84,0xebd6d6 71,0xdab5b5 47,0xbc7777 100,0xFFFFFF 59,0xcb9696 17,0x952b2b 19,0x983030 57,0xc89191 54,0xc58989 14,0x912323 13,0x902121 13,0x902121 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 13,0x902121 13,0x902121 13,0x902121 14,0x912323 15,0x932626 19,0x983030 88,0xf0e0e0 46,0xba7575 56,0xc78e8e 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 29,0xa54949 40,0xb36666 40,0xb36666 100,0xFFFFFF 49,0xbe7c7c 30,0xa64c4c 14,0x912323 14,0x912323 16,0x942828 27,0xa24444 23,0x9d3a3a 16,0x942828 8,0x8a1414 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 10,0x8c1919 10,0x8c1919 12,0x8f1e1e 14,0x912323 23,0x9d3a3a 24,0x9e3d3d 19,0x983030 28,0xa34747 59,0xcb9696 27,0xa24444 37,0xaf5e5e 74,0xdebcbc 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 37,0xaf5e5e 31,0xa74f4f 69,0xd8afaf 100,0xFFFFFF 85,0xecd8d8 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 41,0xb46868 32,0xa85151 35,0xac5959 25,0xa03f3f 25,0xa03f3f 25,0xa03f3f 48,0xbd7a7a 95,0xf9f2f2 40,0xb36666 36,0xae5b5b 15,0x932626 14,0x912323 14,0x912323 14,0x912323 13,0x902121 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 13,0x902121 14,0x912323 16,0x942828 28,0xa34747 96,0xfaf4f4 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 23,0x9d3a3a 100,0xFFFFFF 20,0x993333 25,0xa03f3f 22,0x9c3838 14,0x912323 13,0x902121 12,0x8f1e1e 12,0x8f1e1e 14,0x912323 35,0xac5959 11,0x8e1c1c 8,0x8a1414 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 10,0x8c1919 12,0x8f1e1e 16,0x942828 18,0x972d2d 16,0x942828 16,0x942828 20,0x993333 25,0xa03f3f 47,0xbc7777 76,0xe1c1c1 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 36,0xae5b5b 26,0xa14242 26,0xa14242 35,0xac5959 100,0xFFFFFF 51,0xc18282 43,0xb76d6d 62,0xcf9e9e 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 62,0xcf9e9e 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 77,0xe2c4c4 28,0xa34747 28,0xa34747 21,0x9a3535 21,0x9a3535 23,0x9d3a3a 25,0xa03f3f 80,0xe6cccc 21,0x9a3535 23,0x9d3a3a 14,0x912323 13,0x902121 13,0x902121 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 13,0x902121 15,0x932626 35,0xac5959 65,0xd3a5a5 81,0xe7cece 40,0xb36666 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 59,0xcb9696 18,0x972d2d 16,0x942828 21,0x9a3535 14,0x912323 12,0x8f1e1e 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 12,0x8f1e1e 17,0x952b2b 11,0x8e1c1c 8,0x8a1414 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 10,0x8c1919 11,0x8e1c1c 12,0x8f1e1e 13,0x902121 14,0x912323 14,0x912323 15,0x932626 19,0x983030 29,0xa54949 41,0xb46868 33,0xaa5454 47,0xbc7777 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 36,0xae5b5b 24,0x9e3d3d 23,0x9d3a3a 34,0xab5656 27,0xa24444 32,0xa85151 39,0xb16363 89,0xf1e2e2 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 81,0xe7cece 100,0xFFFFFF 100,0xFFFFFF 80,0xe6cccc 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 60,0xcc9999 100,0xFFFFFF 100,0xFFFFFF 94,0xf8efef 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 99,0xfefcfc 35,0xac5959 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 74,0xdebcbc 21,0x9a3535 19,0x983030 20,0x993333 25,0xa03f3f 27,0xa24444 41,0xb46868 16,0x942828 14,0x912323 13,0x902121 13,0x902121 12,0x8f1e1e 12,0x8f1e1e 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 13,0x902121 14,0x912323 15,0x932626 18,0x972d2d 67,0xd5aaaa 30,0xa64c4c 30,0xa64c4c 33,0xaa5454 55,0xc68c8c 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 31,0xa74f4f 17,0x952b2b 15,0x932626 13,0x902121 12,0x8f1e1e 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 10,0x8c1919 11,0x8e1c1c 12,0x8f1e1e 9,0x8b1616 8,0x8a1414 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 10,0x8c1919 11,0x8e1c1c 12,0x8f1e1e 12,0x8f1e1e 13,0x902121 13,0x902121 15,0x932626 25,0xa03f3f 49,0xbe7c7c 23,0x9d3a3a 32,0xa85151 82,0xe8d1d1 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 57,0xc89191 100,0xFFFFFF 21,0x9a3535 20,0x993333 53,0xc38787 21,0x9a3535 22,0x9c3838 30,0xa64c4c 42,0xb56b6b 100,0xFFFFFF 100,0xFFFFFF 28,0xa34747 40,0xb36666 39,0xb16363 34,0xab5656 36,0xae5b5b 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 35,0xac5959 34,0xab5656 30,0xa64c4c 39,0xb16363 100,0xFFFFFF 37,0xaf5e5e 25,0xa03f3f 28,0xa34747 37,0xaf5e5e 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 28,0xa34747 19,0x983030 17,0x952b2b 18,0x972d2d 32,0xa85151 41,0xb46868 19,0x983030 15,0x932626 13,0x902121 12,0x8f1e1e 12,0x8f1e1e 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 13,0x902121 14,0x912323 16,0x942828 31,0xa74f4f 28,0xa34747 24,0x9e3d3d 88,0xf0e0e0 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 40,0xb36666 27,0xa24444 43,0xb76d6d 15,0x932626 13,0x902121 12,0x8f1e1e 11,0x8e1c1c 10,0x8c1919 10,0x8c1919 10,0x8c1919 9,0x8b1616 9,0x8b1616 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 10,0x8c1919 11,0x8e1c1c 11,0x8e1c1c 12,0x8f1e1e 13,0x902121 13,0x902121 14,0x912323 16,0x942828 17,0x952b2b 20,0x993333 24,0x9e3d3d 48,0xbd7a7a 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 34,0xab5656 47,0xbc7777 19,0x983030 18,0x972d2d 17,0x952b2b 19,0x983030 20,0x993333 25,0xa03f3f 41,0xb46868 100,0xFFFFFF 94,0xf8efef 23,0x9d3a3a 29,0xa54949 23,0x9d3a3a 29,0xa54949 35,0xac5959 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 46,0xba7575 26,0xa14242 24,0x9e3d3d 27,0xa24444 62,0xcf9e9e 22,0x9c3838 22,0x9c3838 29,0xa54949 33,0xaa5454 56,0xc78e8e 54,0xc58989 47,0xbc7777 55,0xc68c8c 35,0xac5959 18,0x972d2d 16,0x942828 16,0x942828 26,0xa14242 24,0x9e3d3d 23,0x9d3a3a 31,0xa74f4f 13,0x902121 12,0x8f1e1e 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 13,0x902121 14,0x912323 15,0x932626 17,0x952b2b 20,0x993333 22,0x9c3838 25,0xa03f3f 34,0xab5656 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 13,0x902121 11,0x8e1c1c 10,0x8c1919 10,0x8c1919 10,0x8c1919 9,0x8b1616 9,0x8b1616 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 10,0x8c1919 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 12,0x8f1e1e 13,0x902121 14,0x912323 15,0x932626 17,0x952b2b 28,0xa34747 53,0xc38787 44,0xb87070 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 48,0xbd7a7a 83,0xead3d3 40,0xb36666 60,0xcc9999 70,0xd9b2b2 25,0xa03f3f 23,0x9d3a3a 20,0x993333 17,0x952b2b 17,0x952b2b 18,0x972d2d 20,0x993333 29,0xa54949 47,0xbc7777 43,0xb76d6d 21,0x9a3535 19,0x983030 19,0x983030 21,0x9a3535 25,0xa03f3f 53,0xc38787 84,0xebd6d6 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 39,0xb16363 28,0xa34747 21,0x9a3535 100,0xFFFFFF 21,0x9a3535 19,0x983030 19,0x983030 21,0x9a3535 21,0x9a3535 24,0x9e3d3d 29,0xa54949 97,0xfcf7f7 90,0xf3e5e5 88,0xf0e0e0 16,0x942828 14,0x912323 14,0x912323 15,0x932626 38,0xb06060 19,0x983030 18,0x972d2d 12,0x8f1e1e 12,0x8f1e1e 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 12,0x8f1e1e 12,0x8f1e1e 13,0x902121 14,0x912323 15,0x932626 17,0x952b2b 19,0x983030 22,0x9c3838 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 56,0xc78e8e 100,0xFFFFFF 100,0xFFFFFF 13,0x902121 11,0x8e1c1c 10,0x8c1919 10,0x8c1919 9,0x8b1616 9,0x8b1616 8,0x8a1414 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 10,0x8c1919 10,0x8c1919 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 12,0x8f1e1e 13,0x902121 14,0x912323 15,0x932626 16,0x942828 19,0x983030 25,0xa03f3f 36,0xae5b5b 47,0xbc7777 100,0xFFFFFF 95,0xf9f2f2 62,0xcf9e9e 42,0xb56b6b 27,0xa24444 48,0xbd7a7a 75,0xe0bfbf 37,0xaf5e5e 18,0x972d2d 16,0x942828 15,0x932626 15,0x932626 16,0x942828 33,0xaa5454 19,0x983030 17,0x952b2b 20,0x993333 17,0x952b2b 17,0x952b2b 19,0x983030 22,0x9c3838 26,0xa14242 32,0xa85151 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 63,0xd0a0a0 100,0xFFFFFF 46,0xba7575 19,0x983030 18,0x972d2d 18,0x972d2d 17,0x952b2b 17,0x952b2b 18,0x972d2d 19,0x983030 30,0xa64c4c 79,0xe5c9c9 41,0xb46868 29,0xa54949 27,0xa24444 14,0x912323 13,0x902121 13,0x902121 12,0x8f1e1e 13,0x902121 14,0x912323 14,0x912323 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 12,0x8f1e1e 12,0x8f1e1e 13,0x902121 14,0x912323 16,0x942828 24,0x9e3d3d 30,0xa64c4c 32,0xa85151 45,0xb97272 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 31,0xa74f4f 24,0x9e3d3d 43,0xb76d6d 56,0xc78e8e 13,0x902121 11,0x8e1c1c 10,0x8c1919 10,0x8c1919 9,0x8b1616 9,0x8b1616 8,0x8a1414 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 10,0x8c1919 10,0x8c1919 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 12,0x8f1e1e 14,0x912323 15,0x932626 16,0x942828 17,0x952b2b 19,0x983030 21,0x9a3535 30,0xa64c4c 40,0xb36666 40,0xb36666 35,0xac5959 58,0xca9393 22,0x9c3838 23,0x9d3a3a 34,0xab5656 27,0xa24444 21,0x9a3535 18,0x972d2d 15,0x932626 14,0x912323 14,0x912323 15,0x932626 35,0xac5959 19,0x983030 15,0x932626 15,0x932626 15,0x932626 16,0x942828 20,0x993333 24,0x9e3d3d 45,0xb97272 100,0xFFFFFF 50,0xc07f7f 53,0xc38787 68,0xd7adad 100,0xFFFFFF 100,0xFFFFFF 33,0xaa5454 67,0xd5aaaa 22,0x9c3838 17,0x952b2b 16,0x942828 15,0x932626 16,0x942828 16,0x942828 18,0x972d2d 19,0x983030 21,0x9a3535 27,0xa24444 28,0xa34747 19,0x983030 19,0x983030 13,0x902121 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 11,0x8e1c1c 11,0x8e1c1c 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 12,0x8f1e1e 13,0x902121 15,0x932626 33,0xaa5454 75,0xe0bfbf 93,0xf7eded 71,0xdab5b5 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 40,0xb36666 19,0x983030 17,0x952b2b 16,0x942828 13,0x902121 11,0x8e1c1c 10,0x8c1919 9,0x8b1616 9,0x8b1616 9,0x8b1616 8,0x8a1414 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 9,0x8b1616 10,0x8c1919 10,0x8c1919 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 13,0x902121 20,0x993333 26,0xa14242 18,0x972d2d 18,0x972d2d 26,0xa14242 24,0x9e3d3d 27,0xa24444 56,0xc78e8e 29,0xa54949 26,0xa14242 25,0xa03f3f 19,0x983030 21,0x9a3535 22,0x9c3838 55,0xc68c8c 17,0x952b2b 15,0x932626 13,0x902121 13,0x902121 13,0x902121 14,0x912323 23,0x9d3a3a 15,0x932626 14,0x912323 14,0x912323 14,0x912323 15,0x932626 21,0x9a3535 19,0x983030 19,0x983030 73,0xddbaba 100,0xFFFFFF 31,0xa74f4f 49,0xbe7c7c 100,0xFFFFFF 51,0xc18282 29,0xa54949 23,0x9d3a3a 22,0x9c3838 16,0x942828 15,0x932626 15,0x932626 15,0x932626 16,0x942828 18,0x972d2d 43,0xb76d6d 23,0x9d3a3a 66,0xd4a8a8 51,0xc18282 15,0x932626 14,0x912323 12,0x8f1e1e 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 11,0x8e1c1c 11,0x8e1c1c 12,0x8f1e1e 34,0xab5656 36,0xae5b5b 44,0xb87070 69,0xd8afaf 46,0xba7575 99,0xfefcfc 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 67,0xd5aaaa 23,0x9d3a3a 15,0x932626 14,0x912323 12,0x8f1e1e 11,0x8e1c1c 10,0x8c1919 10,0x8c1919 9,0x8b1616 9,0x8b1616 8,0x8a1414 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 10,0x8c1919 10,0x8c1919 10,0x8c1919 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 12,0x8f1e1e 14,0x912323 16,0x942828 18,0x972d2d 23,0x9d3a3a 23,0x9d3a3a 27,0xa24444 37,0xaf5e5e 49,0xbe7c7c 35,0xac5959 24,0x9e3d3d 21,0x9a3535 25,0xa03f3f 17,0x952b2b 17,0x952b2b 19,0x983030 39,0xb16363 15,0x932626 14,0x912323 13,0x902121 13,0x902121 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 13,0x902121 13,0x902121 13,0x902121 13,0x902121 14,0x912323 15,0x932626 16,0x942828 17,0x952b2b 19,0x983030 21,0x9a3535 24,0x9e3d3d 29,0xa54949 66,0xd4a8a8 41,0xb46868 27,0xa24444 20,0x993333 17,0x952b2b 15,0x932626 13,0x902121 14,0x912323 14,0x912323 16,0x942828 34,0xab5656 24,0x9e3d3d 33,0xaa5454 49,0xbe7c7c 15,0x932626 13,0x902121 12,0x8f1e1e 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 11,0x8e1c1c 12,0x8f1e1e 14,0x912323 21,0x9a3535 62,0xcf9e9e 43,0xb76d6d 92,0xf5eaea 31,0xa74f4f 64,0xd1a3a3 50,0xc07f7f 33,0xaa5454 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 67,0xd5aaaa 24,0x9e3d3d 19,0x983030 15,0x932626 14,0x912323 13,0x902121 12,0x8f1e1e 11,0x8e1c1c 10,0x8c1919 9,0x8b1616 9,0x8b1616 8,0x8a1414 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 10,0x8c1919 10,0x8c1919 10,0x8c1919 11,0x8e1c1c 11,0x8e1c1c 12,0x8f1e1e 12,0x8f1e1e 13,0x902121 14,0x912323 15,0x932626 18,0x972d2d 30,0xa64c4c 33,0xaa5454 55,0xc68c8c 41,0xb46868 22,0x9c3838 50,0xc07f7f 34,0xab5656 19,0x983030 17,0x952b2b 15,0x932626 15,0x932626 19,0x983030 19,0x983030 15,0x932626 13,0x902121 12,0x8f1e1e 12,0x8f1e1e 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 12,0x8f1e1e 12,0x8f1e1e 13,0x902121 13,0x902121 13,0x902121 14,0x912323 15,0x932626 16,0x942828 18,0x972d2d 22,0x9c3838 23,0x9d3a3a 34,0xab5656 64,0xd1a3a3 100,0xFFFFFF 52,0xc28484 45,0xb97272 15,0x932626 13,0x902121 13,0x902121 13,0x902121 13,0x902121 15,0x932626 36,0xae5b5b 20,0x993333 18,0x972d2d 16,0x942828 14,0x912323 12,0x8f1e1e 11,0x8e1c1c 11,0x8e1c1c 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 11,0x8e1c1c 11,0x8e1c1c 12,0x8f1e1e 13,0x902121 14,0x912323 22,0x9c3838 100,0xFFFFFF 26,0xa14242 25,0xa03f3f 24,0x9e3d3d 27,0xa24444 43,0xb76d6d 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 21,0x9a3535 18,0x972d2d 17,0x952b2b 15,0x932626 15,0x932626 14,0x912323 12,0x8f1e1e 11,0x8e1c1c 10,0x8c1919 9,0x8b1616 9,0x8b1616 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 10,0x8c1919 10,0x8c1919 11,0x8e1c1c 12,0x8f1e1e 12,0x8f1e1e 13,0x902121 13,0x902121 13,0x902121 15,0x932626 17,0x952b2b 28,0xa34747 33,0xaa5454 32,0xa85151 21,0x9a3535 17,0x952b2b 18,0x972d2d 25,0xa03f3f 49,0xbe7c7c 22,0x9c3838 16,0x942828 14,0x912323 14,0x912323 14,0x912323 21,0x9a3535 28,0xa34747 12,0x8f1e1e 12,0x8f1e1e 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 12,0x8f1e1e 12,0x8f1e1e 13,0x902121 13,0x902121 14,0x912323 15,0x932626 15,0x932626 22,0x9c3838 24,0x9e3d3d 28,0xa34747 41,0xb46868 27,0xa24444 46,0xba7575 21,0x9a3535 32,0xa85151 16,0x942828 13,0x902121 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 13,0x902121 22,0x9c3838 29,0xa54949 19,0x983030 17,0x952b2b 14,0x912323 12,0x8f1e1e 11,0x8e1c1c 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 11,0x8e1c1c 12,0x8f1e1e 12,0x8f1e1e 13,0x902121 26,0xa14242 38,0xb06060 24,0x9e3d3d 21,0x9a3535 21,0x9a3535 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 29,0xa54949 25,0xa03f3f 59,0xcb9696 51,0xc18282 100,0xFFFFFF 21,0x9a3535 56,0xc78e8e 32,0xa85151 13,0x902121 11,0x8e1c1c 10,0x8c1919 9,0x8b1616 8,0x8a1414 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 10,0x8c1919 11,0x8e1c1c 11,0x8e1c1c 13,0x902121 15,0x932626 16,0x942828 16,0x942828 15,0x932626 15,0x932626 22,0x9c3838 19,0x983030 73,0xddbaba 19,0x983030 26,0xa14242 16,0x942828 15,0x932626 16,0x942828 18,0x972d2d 20,0x993333 24,0x9e3d3d 15,0x932626 13,0x902121 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 17,0x952b2b 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 12,0x8f1e1e 12,0x8f1e1e 13,0x902121 14,0x912323 15,0x932626 16,0x942828 18,0x972d2d 22,0x9c3838 73,0xddbaba 26,0xa14242 20,0x993333 22,0x9c3838 62,0xcf9e9e 14,0x912323 12,0x8f1e1e 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 12,0x8f1e1e 12,0x8f1e1e 15,0x932626 23,0x9d3a3a 23,0x9d3a3a 22,0x9c3838 55,0xc68c8c 12,0x8f1e1e 10,0x8c1919 10,0x8c1919 10,0x8c1919 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 11,0x8e1c1c 11,0x8e1c1c 12,0x8f1e1e 12,0x8f1e1e 14,0x912323 17,0x952b2b 63,0xd0a0a0 18,0x972d2d 19,0x983030 22,0x9c3838 47,0xbc7777 36,0xae5b5b 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 46,0xba7575 80,0xe6cccc 100,0xFFFFFF 100,0xFFFFFF 55,0xc68c8c 40,0xb36666 79,0xe5c9c9 73,0xddbaba 37,0xaf5e5e 19,0x983030 13,0x902121 11,0x8e1c1c 10,0x8c1919 10,0x8c1919 9,0x8b1616 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 13,0x902121 13,0x902121 12,0x8f1e1e 15,0x932626 22,0x9c3838 25,0xa03f3f 16,0x942828 26,0xa14242 21,0x9a3535 23,0x9d3a3a 22,0x9c3838 51,0xc18282 16,0x942828 23,0x9d3a3a 14,0x912323 13,0x902121 13,0x902121 15,0x932626 20,0x993333 19,0x983030 31,0xa74f4f 12,0x8f1e1e 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 12,0x8f1e1e 12,0x8f1e1e 13,0x902121 14,0x912323 16,0x942828 17,0x952b2b 18,0x972d2d 22,0x9c3838 41,0xb46868 24,0x9e3d3d 16,0x942828 19,0x983030 18,0x972d2d 13,0x902121 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 12,0x8f1e1e 13,0x902121 14,0x912323 19,0x983030 15,0x932626 11,0x8e1c1c 10,0x8c1919 10,0x8c1919 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 11,0x8e1c1c 12,0x8f1e1e 12,0x8f1e1e 13,0x902121 14,0x912323 16,0x942828 17,0x952b2b 19,0x983030 21,0x9a3535 25,0xa03f3f 30,0xa64c4c 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 53,0xc38787 24,0x9e3d3d 20,0x993333 16,0x942828 13,0x902121 13,0x902121 29,0xa54949 27,0xa24444 10,0x8c1919 9,0x8b1616 8,0x8a1414 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 10,0x8c1919 12,0x8f1e1e 25,0xa03f3f 16,0x942828 23,0x9d3a3a 19,0x983030 14,0x912323 14,0x912323 14,0x912323 16,0x942828 15,0x932626 15,0x932626 19,0x983030 13,0x902121 12,0x8f1e1e 11,0x8e1c1c 12,0x8f1e1e 13,0x902121 14,0x912323 20,0x993333 16,0x942828 12,0x8f1e1e 11,0x8e1c1c 11,0x8e1c1c 10,0x8c1919 10,0x8c1919 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 10,0x8c1919 10,0x8c1919 10,0x8c1919 11,0x8e1c1c 11,0x8e1c1c 12,0x8f1e1e 12,0x8f1e1e 14,0x912323 17,0x952b2b 42,0xb56b6b 19,0x983030 21,0x9a3535 35,0xac5959 71,0xdab5b5 22,0x9c3838 14,0x912323 16,0x942828 57,0xc89191 12,0x8f1e1e 11,0x8e1c1c 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 11,0x8e1c1c 12,0x8f1e1e 29,0xa54949 12,0x8f1e1e 10,0x8c1919 10,0x8c1919 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 11,0x8e1c1c 11,0x8e1c1c 12,0x8f1e1e 13,0x902121 14,0x912323 15,0x932626 17,0x952b2b 20,0x993333 100,0xFFFFFF 35,0xac5959 78,0xe3c6c6 100,0xFFFFFF 67,0xd5aaaa 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 45,0xb97272 20,0x993333 17,0x952b2b 15,0x932626 15,0x932626 31,0xa74f4f 14,0x912323 12,0x8f1e1e 11,0x8e1c1c 9,0x8b1616 8,0x8a1414 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 10,0x8c1919 12,0x8f1e1e 14,0x912323 19,0x983030 16,0x942828 15,0x932626 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 20,0x993333 12,0x8f1e1e 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 12,0x8f1e1e 13,0x902121 18,0x972d2d 14,0x912323 12,0x8f1e1e 11,0x8e1c1c 10,0x8c1919 10,0x8c1919 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 11,0x8e1c1c 12,0x8f1e1e 16,0x942828 28,0xa34747 19,0x983030 32,0xa85151 21,0x9a3535 17,0x952b2b 27,0xa24444 13,0x902121 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 10,0x8c1919 10,0x8c1919 10,0x8c1919 9,0x8b1616 9,0x8b1616 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 11,0x8e1c1c 10,0x8c1919 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 11,0x8e1c1c 11,0x8e1c1c 12,0x8f1e1e 13,0x902121 15,0x932626 16,0x942828 20,0x993333 28,0xa34747 80,0xe6cccc 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 41,0xb46868 63,0xd0a0a0 63,0xd0a0a0 22,0x9c3838 18,0x972d2d 33,0xaa5454 18,0x972d2d 15,0x932626 17,0x952b2b 19,0x983030 8,0x8a1414 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 10,0x8c1919 10,0x8c1919 12,0x8f1e1e 15,0x932626 19,0x983030 15,0x932626 13,0x902121 12,0x8f1e1e 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 11,0x8e1c1c 13,0x902121 18,0x972d2d 19,0x983030 11,0x8e1c1c 10,0x8c1919 10,0x8c1919 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 10,0x8c1919 10,0x8c1919 10,0x8c1919 11,0x8e1c1c 14,0x912323 16,0x942828 27,0xa24444 16,0x942828 15,0x932626 14,0x912323 13,0x902121 12,0x8f1e1e 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 10,0x8c1919 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 10,0x8c1919 10,0x8c1919 10,0x8c1919 11,0x8e1c1c 11,0x8e1c1c 12,0x8f1e1e 14,0x912323 59,0xcb9696 40,0xb36666 82,0xe8d1d1 26,0xa14242 36,0xae5b5b 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 38,0xb06060 25,0xa03f3f 45,0xb97272 32,0xa85151 21,0x9a3535 23,0x9d3a3a 13,0x902121 11,0x8e1c1c 9,0x8b1616 8,0x8a1414 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 8,0x8a1414 9,0x8b1616 9,0x8b1616 10,0x8c1919 10,0x8c1919 11,0x8e1c1c 16,0x942828 24,0x9e3d3d 24,0x9e3d3d 15,0x932626 12,0x8f1e1e 11,0x8e1c1c 11,0x8e1c1c 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 10,0x8c1919 10,0x8c1919 10,0x8c1919 12,0x8f1e1e 14,0x912323 10,0x8c1919 10,0x8c1919 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 10,0x8c1919 10,0x8c1919 10,0x8c1919 13,0x902121 23,0x9d3a3a 27,0xa24444 16,0x942828 14,0x912323 13,0x902121 12,0x8f1e1e 11,0x8e1c1c 11,0x8e1c1c 10,0x8c1919 10,0x8c1919 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 10,0x8c1919 10,0x8c1919 11,0x8e1c1c 11,0x8e1c1c 23,0x9d3a3a 20,0x993333 25,0xa03f3f 30,0xa64c4c 47,0xbc7777 53,0xc38787 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 86,0xeedbdb 42,0xb56b6b 69,0xd8afaf 38,0xb06060 26,0xa14242 18,0x972d2d 14,0x912323 12,0x8f1e1e 10,0x8c1919 8,0x8a1414 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 8,0x8a1414 9,0x8b1616 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 14,0x912323 23,0x9d3a3a 17,0x952b2b 15,0x932626 11,0x8e1c1c 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 10,0x8c1919 10,0x8c1919 9,0x8b1616 9,0x8b1616 9,0x8b1616 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 10,0x8c1919 10,0x8c1919 12,0x8f1e1e 15,0x932626 37,0xaf5e5e 17,0x952b2b 14,0x912323 13,0x902121 12,0x8f1e1e 11,0x8e1c1c 10,0x8c1919 10,0x8c1919 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 10,0x8c1919 10,0x8c1919 11,0x8e1c1c 11,0x8e1c1c 14,0x912323 23,0x9d3a3a 36,0xae5b5b 87,0xefdddd 45,0xb97272 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 46,0xba7575 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 55,0xc68c8c 70,0xd9b2b2 30,0xa64c4c 32,0xa85151 22,0x9c3838 30,0xa64c4c 21,0x9a3535 25,0xa03f3f 25,0xa03f3f 30,0xa64c4c 20,0x993333 9,0x8b1616 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 12,0x8f1e1e 14,0x912323 13,0x902121 20,0x993333 20,0x993333 18,0x972d2d 16,0x942828 13,0x902121 12,0x8f1e1e 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 10,0x8c1919 10,0x8c1919 13,0x902121 15,0x932626 37,0xaf5e5e 19,0x983030 15,0x932626 13,0x902121 12,0x8f1e1e 11,0x8e1c1c 10,0x8c1919 10,0x8c1919 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 10,0x8c1919 11,0x8e1c1c 12,0x8f1e1e 17,0x952b2b 23,0x9d3a3a 73,0xddbaba 54,0xc58989 67,0xd5aaaa 38,0xb06060 47,0xbc7777 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 53,0xc38787 63,0xd0a0a0 35,0xac5959 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 32,0xa85151 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 85,0xecd8d8 25,0xa03f3f 31,0xa74f4f 60,0xcc9999 18,0x972d2d 19,0x983030 25,0xa03f3f 20,0x993333 15,0x932626 14,0x912323 12,0x8f1e1e 13,0x902121 9,0x8b1616 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 9,0x8b1616 9,0x8b1616 10,0x8c1919 19,0x983030 13,0x902121 15,0x932626 19,0x983030 12,0x8f1e1e 12,0x8f1e1e 10,0x8c1919 10,0x8c1919 10,0x8c1919 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 10,0x8c1919 22,0x9c3838 18,0x972d2d 18,0x972d2d 19,0x983030 37,0xaf5e5e 15,0x932626 13,0x902121 10,0x8c1919 10,0x8c1919 9,0x8b1616 9,0x8b1616 9,0x8b1616 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 10,0x8c1919 23,0x9d3a3a 33,0xaa5454 20,0x993333 28,0xa34747 43,0xb76d6d 63,0xd0a0a0 72,0xdcb7b7 28,0xa34747 26,0xa14242 80,0xe6cccc 100,0xFFFFFF 42,0xb56b6b 26,0xa14242 70,0xd9b2b2 65,0xd3a5a5 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 84,0xebd6d6 73,0xddbaba 24,0x9e3d3d 72,0xdcb7b7 79,0xe5c9c9 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 43,0xb76d6d 32,0xa85151 20,0x993333 40,0xb36666 16,0x942828 16,0x942828 17,0x952b2b 26,0xa14242 21,0x9a3535 14,0x912323 12,0x8f1e1e 10,0x8c1919 10,0x8c1919 8,0x8a1414 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 8,0x8a1414 9,0x8b1616 10,0x8c1919 10,0x8c1919 12,0x8f1e1e 14,0x912323 19,0x983030 13,0x902121 11,0x8e1c1c 10,0x8c1919 10,0x8c1919 9,0x8b1616 9,0x8b1616 9,0x8b1616 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 10,0x8c1919 11,0x8e1c1c 13,0x902121 13,0x902121 16,0x942828 22,0x9c3838 17,0x952b2b 11,0x8e1c1c 10,0x8c1919 9,0x8b1616 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 10,0x8c1919 11,0x8e1c1c 12,0x8f1e1e 14,0x912323 14,0x912323 19,0x983030 23,0x9d3a3a 49,0xbe7c7c 64,0xd1a3a3 22,0x9c3838 100,0xFFFFFF 23,0x9d3a3a 26,0xa14242 22,0x9c3838 27,0xa24444 81,0xe7cece 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 51,0xc18282 20,0x993333 21,0x9a3535 81,0xe7cece 38,0xb06060 30,0xa64c4c 100,0xFFFFFF 34,0xab5656 25,0xa03f3f 19,0x983030 15,0x932626 14,0x912323 14,0x912323 15,0x932626 17,0x952b2b 23,0x9d3a3a 23,0x9d3a3a 11,0x8e1c1c 10,0x8c1919 9,0x8b1616 8,0x8a1414 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 8,0x8a1414 8,0x8a1414 9,0x8b1616 10,0x8c1919 11,0x8e1c1c 15,0x932626 16,0x942828 13,0x902121 11,0x8e1c1c 10,0x8c1919 9,0x8b1616 9,0x8b1616 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 10,0x8c1919 10,0x8c1919 12,0x8f1e1e 14,0x912323 29,0xa54949 17,0x952b2b 12,0x8f1e1e 9,0x8b1616 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 9,0x8b1616 10,0x8c1919 11,0x8e1c1c 11,0x8e1c1c 12,0x8f1e1e 13,0x902121 16,0x942828 25,0xa03f3f 58,0xca9393 20,0x993333 18,0x972d2d 18,0x972d2d 18,0x972d2d 20,0x993333 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 18,0x972d2d 18,0x972d2d 61,0xce9b9b 30,0xa64c4c 20,0x993333 31,0xa74f4f 57,0xc89191 60,0xcc9999 19,0x983030 13,0x902121 13,0x902121 13,0x902121 15,0x932626 18,0x972d2d 100,0xFFFFFF 20,0x993333 11,0x8e1c1c 10,0x8c1919 8,0x8a1414 8,0x8a1414 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 11,0x8e1c1c 14,0x912323 33,0xaa5454 17,0x952b2b 13,0x902121 10,0x8c1919 9,0x8b1616 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 10,0x8c1919 12,0x8f1e1e 20,0x993333 18,0x972d2d 11,0x8e1c1c 10,0x8c1919 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 9,0x8b1616 10,0x8c1919 11,0x8e1c1c 11,0x8e1c1c 12,0x8f1e1e 23,0x9d3a3a 69,0xd8afaf 27,0xa24444 20,0x993333 17,0x952b2b 17,0x952b2b 17,0x952b2b 20,0x993333 100,0xFFFFFF 67,0xd5aaaa 99,0xfefcfc 42,0xb56b6b 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 79,0xe5c9c9 42,0xb56b6b 17,0x952b2b 15,0x932626 15,0x932626 16,0x942828 17,0x952b2b 24,0x9e3d3d 38,0xb06060 33,0xaa5454 16,0x942828 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 14,0x912323 42,0xb56b6b 31,0xa74f4f 17,0x952b2b 14,0x912323 15,0x932626 9,0x8b1616 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 12,0x8f1e1e 19,0x983030 28,0xa34747 17,0x952b2b 14,0x912323 10,0x8c1919 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 18,0x972d2d 14,0x912323 11,0x8e1c1c 10,0x8c1919 9,0x8b1616 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 10,0x8c1919 10,0x8c1919 10,0x8c1919 11,0x8e1c1c 16,0x942828 15,0x932626 31,0xa74f4f 29,0xa54949 15,0x932626 15,0x932626 16,0x942828 17,0x952b2b 23,0x9d3a3a 42,0xb56b6b 62,0xcf9e9e 48,0xbd7a7a 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 78,0xe3c6c6 16,0x942828 14,0x912323 14,0x912323 14,0x912323 15,0x932626 31,0xa74f4f 15,0x932626 15,0x932626 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 13,0x902121 26,0xa14242 20,0x993333 20,0x993333 26,0xa14242 10,0x8c1919 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 11,0x8e1c1c 13,0x902121 15,0x932626 19,0x983030 11,0x8e1c1c 9,0x8b1616 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 10,0x8c1919 24,0x9e3d3d 9,0x8b1616 9,0x8b1616 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 9,0x8b1616 10,0x8c1919 10,0x8c1919 10,0x8c1919 11,0x8e1c1c 12,0x8f1e1e 13,0x902121 14,0x912323 14,0x912323 14,0x912323 15,0x932626 16,0x942828 17,0x952b2b 29,0xa54949 22,0x9c3838 30,0xa64c4c 40,0xb36666 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 27,0xa24444 100,0xFFFFFF 43,0xb76d6d 14,0x912323 13,0x902121 13,0x902121 13,0x902121 15,0x932626 14,0x912323 12,0x8f1e1e 11,0x8e1c1c 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 11,0x8e1c1c 12,0x8f1e1e 14,0x912323 18,0x972d2d 18,0x972d2d 11,0x8e1c1c 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 10,0x8c1919 12,0x8f1e1e 19,0x983030 13,0x902121 11,0x8e1c1c 9,0x8b1616 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 11,0x8e1c1c 12,0x8f1e1e 12,0x8f1e1e 13,0x902121 14,0x912323 15,0x932626 16,0x942828 17,0x952b2b 19,0x983030 21,0x9a3535 25,0xa03f3f 29,0xa54949 38,0xb06060 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 37,0xaf5e5e 22,0x9c3838 19,0x983030 16,0x942828 14,0x912323 13,0x902121 12,0x8f1e1e 12,0x8f1e1e 11,0x8e1c1c 11,0x8e1c1c 10,0x8c1919 10,0x8c1919 10,0x8c1919 9,0x8b1616 9,0x8b1616 10,0x8c1919 10,0x8c1919 10,0x8c1919 11,0x8e1c1c 13,0x902121 19,0x983030 11,0x8e1c1c 9,0x8b1616 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 9,0x8b1616 10,0x8c1919 10,0x8c1919 13,0x902121 21,0x9a3535 14,0x912323 10,0x8c1919 9,0x8b1616 8,0x8a1414 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 9,0x8b1616 10,0x8c1919 10,0x8c1919 10,0x8c1919 11,0x8e1c1c 12,0x8f1e1e 12,0x8f1e1e 13,0x902121 13,0x902121 15,0x932626 16,0x942828 19,0x983030 22,0x9c3838 27,0xa24444 44,0xb87070 100,0xFFFFFF 100,0xFFFFFF 54,0xc58989 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 49,0xbe7c7c 20,0x993333 16,0x942828 14,0x912323 12,0x8f1e1e 11,0x8e1c1c 11,0x8e1c1c 10,0x8c1919 10,0x8c1919 10,0x8c1919 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 10,0x8c1919 10,0x8c1919 12,0x8f1e1e 19,0x983030 9,0x8b1616 8,0x8a1414 7,0x881111 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 8,0x8a1414 9,0x8b1616 10,0x8c1919 10,0x8c1919 12,0x8f1e1e 31,0xa74f4f 13,0x902121 13,0x902121 12,0x8f1e1e 9,0x8b1616 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 10,0x8c1919 10,0x8c1919 10,0x8c1919 11,0x8e1c1c 11,0x8e1c1c 12,0x8f1e1e 13,0x902121 13,0x902121 15,0x932626 38,0xb06060 100,0xFFFFFF 32,0xa85151 36,0xae5b5b 96,0xfaf4f4 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 55,0xc68c8c 40,0xb36666 36,0xae5b5b 19,0x983030 12,0x8f1e1e 11,0x8e1c1c 10,0x8c1919 10,0x8c1919 10,0x8c1919 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 10,0x8c1919 14,0x912323 12,0x8f1e1e 8,0x8a1414 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 8,0x8a1414 10,0x8c1919 15,0x932626 14,0x912323 29,0xa54949 12,0x8f1e1e 10,0x8c1919 11,0x8e1c1c 14,0x912323 10,0x8c1919 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 9,0x8b1616 10,0x8c1919 10,0x8c1919 11,0x8e1c1c 11,0x8e1c1c 12,0x8f1e1e 13,0x902121 14,0x912323 15,0x932626 23,0x9d3a3a 72,0xdcb7b7 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 52,0xc28484 40,0xb36666 17,0x952b2b 13,0x902121 11,0x8e1c1c 10,0x8c1919 10,0x8c1919 9,0x8b1616 9,0x8b1616 9,0x8b1616 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 8,0x8a1414 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 9,0x8b1616 16,0x942828 12,0x8f1e1e 11,0x8e1c1c 10,0x8c1919 10,0x8c1919 9,0x8b1616 9,0x8b1616 9,0x8b1616 8,0x8a1414 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 9,0x8b1616 10,0x8c1919 10,0x8c1919 11,0x8e1c1c 11,0x8e1c1c 12,0x8f1e1e 14,0x912323 15,0x932626 16,0x942828 52,0xc28484 65,0xd3a5a5 36,0xae5b5b 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 43,0xb76d6d 100,0xFFFFFF 100,0xFFFFFF 75,0xe0bfbf 100,0xFFFFFF 57,0xc89191 26,0xa14242 13,0x902121 10,0x8c1919 10,0x8c1919 9,0x8b1616 9,0x8b1616 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 9,0x8b1616 12,0x8f1e1e 10,0x8c1919 9,0x8b1616 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 9,0x8b1616 10,0x8c1919 10,0x8c1919 11,0x8e1c1c 12,0x8f1e1e 14,0x912323 34,0xab5656 18,0x972d2d 18,0x972d2d 22,0x9c3838 26,0xa14242 82,0xe8d1d1 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 79,0xe5c9c9 25,0xa03f3f 52,0xc28484 100,0xFFFFFF 27,0xa24444 100,0xFFFFFF 39,0xb16363 44,0xb87070 16,0x942828 10,0x8c1919 10,0x8c1919 9,0x8b1616 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 7,0x881111 8,0x8a1414 9,0x8b1616 13,0x902121 10,0x8c1919 8,0x8a1414 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 9,0x8b1616 10,0x8c1919 10,0x8c1919 11,0x8e1c1c 13,0x902121 19,0x983030 46,0xba7575 47,0xbc7777 20,0x993333 22,0x9c3838 42,0xb56b6b 60,0xcc9999 75,0xe0bfbf 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 43,0xb76d6d 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 48,0xbd7a7a 27,0xa24444 20,0x993333 19,0x983030 19,0x983030 37,0xaf5e5e 24,0x9e3d3d 74,0xdebcbc 15,0x932626 11,0x8e1c1c 10,0x8c1919 9,0x8b1616 9,0x8b1616 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 8,0x8a1414 12,0x8f1e1e 9,0x8b1616 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 10,0x8c1919 11,0x8e1c1c 14,0x912323 14,0x912323 17,0x952b2b 22,0x9c3838 48,0xbd7a7a 24,0x9e3d3d 43,0xb76d6d 43,0xb76d6d 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 32,0xa85151 49,0xbe7c7c 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 34,0xab5656 76,0xe1c1c1 16,0x942828 16,0x942828 19,0x983030 16,0x942828 24,0x9e3d3d 26,0xa14242 11,0x8e1c1c 9,0x8b1616 9,0x8b1616 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 10,0x8c1919 12,0x8f1e1e 32,0xa85151 29,0xa54949 19,0x983030 24,0x9e3d3d 42,0xb56b6b 28,0xa34747 31,0xa74f4f 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 32,0xa85151 27,0xa24444 100,0xFFFFFF 65,0xd3a5a5 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 58,0xca9393 86,0xeedbdb 15,0x932626 14,0x912323 13,0x902121 13,0x902121 18,0x972d2d 12,0x8f1e1e 10,0x8c1919 9,0x8b1616 9,0x8b1616 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 10,0x8c1919 11,0x8e1c1c 25,0xa03f3f 19,0x983030 71,0xdab5b5 29,0xa54949 34,0xab5656 34,0xab5656 46,0xba7575 52,0xc28484 100,0xFFFFFF 99,0xfefcfc 100,0xFFFFFF 62,0xcf9e9e 49,0xbe7c7c 100,0xFFFFFF 58,0xca9393 66,0xd4a8a8 27,0xa24444 23,0x9d3a3a 100,0xFFFFFF 65,0xd3a5a5 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 44,0xb87070 26,0xa14242 83,0xead3d3 100,0xFFFFFF 52,0xc28484 14,0x912323 13,0x902121 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 10,0x8c1919 9,0x8b1616 9,0x8b1616 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 10,0x8c1919 11,0x8e1c1c 13,0x902121 16,0x942828 21,0x9a3535 41,0xb46868 72,0xdcb7b7 84,0xebd6d6 35,0xac5959 85,0xecd8d8 56,0xc78e8e 63,0xd0a0a0 66,0xd4a8a8 27,0xa24444 35,0xac5959 100,0xFFFFFF 100,0xFFFFFF 24,0x9e3d3d 20,0x993333 21,0x9a3535 74,0xdebcbc 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 90,0xf3e5e5 24,0x9e3d3d 20,0x993333 21,0x9a3535 16,0x942828 13,0x902121 12,0x8f1e1e 12,0x8f1e1e 11,0x8e1c1c 11,0x8e1c1c 10,0x8c1919 9,0x8b1616 9,0x8b1616 8,0x8a1414 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 10,0x8c1919 12,0x8f1e1e 14,0x912323 20,0x993333 28,0xa34747 39,0xb16363 35,0xac5959 43,0xb76d6d 65,0xd3a5a5 30,0xa64c4c 24,0x9e3d3d 22,0x9c3838 21,0x9a3535 35,0xac5959 39,0xb16363 97,0xfcf7f7 89,0xf1e2e2 29,0xa54949 19,0x983030 18,0x972d2d 20,0x993333 51,0xc18282 28,0xa34747 36,0xae5b5b 56,0xc78e8e 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 45,0xb97272 20,0x993333 16,0x942828 16,0x942828 14,0x912323 13,0x902121 12,0x8f1e1e 11,0x8e1c1c 11,0x8e1c1c 10,0x8c1919 10,0x8c1919 9,0x8b1616 9,0x8b1616 8,0x8a1414 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 8,0x8a1414 10,0x8c1919 12,0x8f1e1e 27,0xa24444 45,0xb97272 22,0x9c3838 17,0x952b2b 20,0x993333 28,0xa34747 43,0xb76d6d 100,0xFFFFFF 76,0xe1c1c1 23,0x9d3a3a 20,0x993333 19,0x983030 19,0x983030 63,0xd0a0a0 26,0xa14242 18,0x972d2d 18,0x972d2d 17,0x952b2b 17,0x952b2b 19,0x983030 22,0x9c3838 64,0xd1a3a3 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 34,0xab5656 88,0xf0e0e0 20,0x993333 17,0x952b2b 16,0x942828 15,0x932626 13,0x902121 13,0x902121 12,0x8f1e1e 11,0x8e1c1c 11,0x8e1c1c 10,0x8c1919 10,0x8c1919 9,0x8b1616 9,0x8b1616 8,0x8a1414 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 9,0x8b1616 33,0xaa5454 18,0x972d2d 24,0x9e3d3d 15,0x932626 14,0x912323 17,0x952b2b 17,0x952b2b 28,0xa34747 20,0x993333 81,0xe7cece 29,0xa54949 78,0xe3c6c6 17,0x952b2b 16,0x942828 16,0x942828 17,0x952b2b 15,0x932626 15,0x932626 15,0x932626 16,0x942828 41,0xb46868 44,0xb87070 100,0xFFFFFF 78,0xe3c6c6 100,0xFFFFFF 100,0xFFFFFF 60,0xcc9999 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 36,0xae5b5b 25,0xa03f3f 22,0x9c3838 19,0x983030 18,0x972d2d 16,0x942828 15,0x932626 14,0x912323 13,0x902121 12,0x8f1e1e 11,0x8e1c1c 10,0x8c1919 10,0x8c1919 10,0x8c1919 9,0x8b1616 9,0x8b1616 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 10,0x8c1919 10,0x8c1919 13,0x902121 13,0x902121 11,0x8e1c1c 12,0x8f1e1e 24,0x9e3d3d 20,0x993333 16,0x942828 19,0x983030 45,0xb97272 34,0xab5656 16,0x942828 15,0x932626 14,0x912323 14,0x912323 13,0x902121 14,0x912323 14,0x912323 16,0x942828 19,0x983030 38,0xb06060 44,0xb87070 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 37,0xaf5e5e 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 39,0xb16363 30,0xa64c4c 26,0xa14242 24,0x9e3d3d 23,0x9d3a3a 26,0xa14242 19,0x983030 16,0x942828 15,0x932626 13,0x902121 12,0x8f1e1e 11,0x8e1c1c 11,0x8e1c1c 10,0x8c1919 10,0x8c1919 9,0x8b1616 9,0x8b1616 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 10,0x8c1919 10,0x8c1919 10,0x8c1919 11,0x8e1c1c 12,0x8f1e1e 13,0x902121 20,0x993333 26,0xa14242 26,0xa14242 16,0x942828 14,0x912323 13,0x902121 13,0x902121 13,0x902121 13,0x902121 14,0x912323 15,0x932626 100,0xFFFFFF 53,0xc38787 80,0xe6cccc 47,0xbc7777 36,0xae5b5b 100,0xFFFFFF 28,0xa34747 35,0xac5959 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 47,0xbc7777 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 39,0xb16363 53,0xc38787 99,0xfefcfc 20,0x993333 35,0xac5959 22,0x9c3838 14,0x912323 12,0x8f1e1e 11,0x8e1c1c 10,0x8c1919 10,0x8c1919 9,0x8b1616 9,0x8b1616 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 9,0x8b1616 10,0x8c1919 10,0x8c1919 11,0x8e1c1c 13,0x902121 49,0xbe7c7c 53,0xc38787 39,0xb16363 19,0x983030 14,0x912323 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 13,0x902121 13,0x902121 14,0x912323 100,0xFFFFFF 63,0xd0a0a0 80,0xe6cccc 48,0xbd7a7a 67,0xd5aaaa 23,0x9d3a3a 26,0xa14242 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 73,0xddbaba 49,0xbe7c7c 85,0xecd8d8 38,0xb06060 30,0xa64c4c 19,0x983030 13,0x902121 12,0x8f1e1e 11,0x8e1c1c 10,0x8c1919 9,0x8b1616 9,0x8b1616 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 10,0x8c1919 11,0x8e1c1c 19,0x983030 17,0x952b2b 15,0x932626 45,0xb97272 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 13,0x902121 15,0x932626 16,0x942828 19,0x983030 63,0xd0a0a0 20,0x993333 19,0x983030 23,0x9d3a3a 100,0xFFFFFF 62,0xcf9e9e 34,0xab5656 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 52,0xc28484 27,0xa24444 22,0x9c3838 17,0x952b2b 15,0x932626 25,0xa03f3f 60,0xcc9999 12,0x8f1e1e 10,0x8c1919 9,0x8b1616 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 9,0x8b1616 10,0x8c1919 12,0x8f1e1e 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 12,0x8f1e1e 13,0x902121 14,0x912323 15,0x932626 18,0x972d2d 17,0x952b2b 17,0x952b2b 19,0x983030 98,0xfdf9f9 71,0xdab5b5 26,0xa14242 100,0xFFFFFF 46,0xba7575 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 58,0xca9393 32,0xa85151 26,0xa14242 68,0xd7adad 21,0x9a3535 24,0x9e3d3d 33,0xaa5454 14,0x912323 10,0x8c1919 9,0x8b1616 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 9,0x8b1616 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 12,0x8f1e1e 13,0x902121 13,0x902121 14,0x912323 15,0x932626 16,0x942828 16,0x942828 18,0x972d2d 20,0x993333 21,0x9a3535 28,0xa34747 29,0xa54949 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 59,0xcb9696 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 43,0xb76d6d 29,0xa54949 27,0xa24444 13,0x902121 10,0x8c1919 9,0x8b1616 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 9,0x8b1616 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 12,0x8f1e1e 12,0x8f1e1e 13,0x902121 13,0x902121 14,0x912323 15,0x932626 16,0x942828 18,0x972d2d 19,0x983030 21,0x9a3535 23,0x9d3a3a 26,0xa14242 30,0xa64c4c 36,0xae5b5b 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 57,0xc89191 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 71,0xdab5b5 25,0xa03f3f 60,0xcc9999 25,0xa03f3f 18,0x972d2d 17,0x952b2b 12,0x8f1e1e 9,0x8b1616 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 12,0x8f1e1e 13,0x902121 13,0x902121 14,0x912323 15,0x932626 17,0x952b2b 18,0x972d2d 20,0x993333 100,0xFFFFFF 27,0xa24444 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 57,0xc89191 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 40,0xb36666 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 43,0xb76d6d 46,0xba7575 21,0x9a3535 20,0x993333 39,0xb16363 41,0xb46868 18,0x972d2d 19,0x983030 10,0x8c1919 9,0x8b1616 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 10,0x8c1919 10,0x8c1919 10,0x8c1919 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 12,0x8f1e1e 13,0x902121 14,0x912323 14,0x912323 15,0x932626 22,0x9c3838 38,0xb06060 24,0x9e3d3d 60,0xcc9999 76,0xe1c1c1 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 55,0xc68c8c 35,0xac5959 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 25,0xa03f3f 19,0x983030 17,0x952b2b 16,0x942828 30,0xa64c4c 13,0x902121 13,0x902121 10,0x8c1919 9,0x8b1616 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 10,0x8c1919 10,0x8c1919 10,0x8c1919 11,0x8e1c1c 11,0x8e1c1c 12,0x8f1e1e 13,0x902121 14,0x912323 15,0x932626 17,0x952b2b 55,0xc68c8c 98,0xfdf9f9 71,0xdab5b5 51,0xc18282 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 36,0xae5b5b 27,0xa24444 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 89,0xf1e2e2 28,0xa34747 16,0x942828 15,0x932626 13,0x902121 12,0x8f1e1e 11,0x8e1c1c 10,0x8c1919 9,0x8b1616 8,0x8a1414 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 10,0x8c1919 10,0x8c1919 11,0x8e1c1c 12,0x8f1e1e 12,0x8f1e1e 14,0x912323 18,0x972d2d 17,0x952b2b 19,0x983030 92,0xf5eaea 38,0xb06060 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 26,0xa14242 24,0x9e3d3d 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 64,0xd1a3a3 26,0xa14242 23,0x9d3a3a 16,0x942828 14,0x912323 13,0x902121 11,0x8e1c1c 11,0x8e1c1c 10,0x8c1919 9,0x8b1616 9,0x8b1616 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 10,0x8c1919 10,0x8c1919 11,0x8e1c1c 12,0x8f1e1e 13,0x902121 21,0x9a3535 30,0xa64c4c 20,0x993333 21,0x9a3535 25,0xa03f3f 32,0xa85151 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 58,0xca9393 100,0xFFFFFF 21,0x9a3535 22,0x9c3838 30,0xa64c4c 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 34,0xab5656 25,0xa03f3f 20,0x993333 18,0x972d2d 15,0x932626 13,0x902121 11,0x8e1c1c 11,0x8e1c1c 10,0x8c1919 10,0x8c1919 9,0x8b1616 9,0x8b1616 8,0x8a1414 8,0x8a1414 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 10,0x8c1919 11,0x8e1c1c 15,0x932626 18,0x972d2d 19,0x983030 95,0xf9f2f2 25,0xa03f3f 37,0xaf5e5e 41,0xb46868 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 46,0xba7575 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 88,0xf0e0e0 100,0xFFFFFF 73,0xddbaba 23,0x9d3a3a 20,0x993333 19,0x983030 19,0x983030 30,0xa64c4c 43,0xb76d6d 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 66,0xd4a8a8 66,0xd4a8a8 50,0xc07f7f 27,0xa24444 26,0xa14242 26,0xa14242 14,0x912323 12,0x8f1e1e 11,0x8e1c1c 11,0x8e1c1c 10,0x8c1919 10,0x8c1919 10,0x8c1919 9,0x8b1616 8,0x8a1414 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 10,0x8c1919 11,0x8e1c1c 13,0x902121 21,0x9a3535 26,0xa14242 39,0xb16363 96,0xfaf4f4 71,0xdab5b5 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 76,0xe1c1c1 33,0xaa5454 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 70,0xd9b2b2 100,0xFFFFFF 17,0x952b2b 17,0x952b2b 19,0x983030 24,0x9e3d3d 67,0xd5aaaa 63,0xd0a0a0 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 61,0xce9b9b 28,0xa34747 30,0xa64c4c 29,0xa54949 13,0x902121 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 13,0x902121 14,0x912323 14,0x912323 10,0x8c1919 8,0x8a1414 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 10,0x8c1919 11,0x8e1c1c 12,0x8f1e1e 14,0x912323 23,0x9d3a3a 41,0xb46868 54,0xc58989 29,0xa54949 50,0xc07f7f 71,0xdab5b5 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 30,0xa64c4c 28,0xa34747 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 30,0xa64c4c 26,0xa14242 47,0xbc7777 100,0xFFFFFF 20,0x993333 16,0x942828 16,0x942828 17,0x952b2b 22,0x9c3838 47,0xbc7777 35,0xac5959 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 68,0xd7adad 24,0x9e3d3d 20,0x993333 16,0x942828 14,0x912323 13,0x902121 13,0x902121 15,0x932626 54,0xc58989 22,0x9c3838 21,0x9a3535 13,0x902121 8,0x8a1414 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 10,0x8c1919 11,0x8e1c1c 12,0x8f1e1e 13,0x902121 18,0x972d2d 26,0xa14242 35,0xac5959 25,0xa03f3f 32,0xa85151 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 48,0xbd7a7a 24,0x9e3d3d 35,0xac5959 89,0xf1e2e2 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 21,0x9a3535 18,0x972d2d 18,0x972d2d 15,0x932626 15,0x932626 15,0x932626 15,0x932626 17,0x952b2b 21,0x9a3535 100,0xFFFFFF 100,0xFFFFFF 85,0xecd8d8 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 84,0xebd6d6 39,0xb16363 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 66,0xd4a8a8 49,0xbe7c7c 19,0x983030 17,0x952b2b 15,0x932626 14,0x912323 15,0x932626 18,0x972d2d 28,0xa34747 13,0x902121 12,0x8f1e1e 12,0x8f1e1e 8,0x8a1414 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 10,0x8c1919 11,0x8e1c1c 11,0x8e1c1c 16,0x942828 50,0xc07f7f 48,0xbd7a7a 23,0x9d3a3a 22,0x9c3838 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 33,0xaa5454 22,0x9c3838 22,0x9c3838 30,0xa64c4c 76,0xe1c1c1 61,0xce9b9b 68,0xd7adad 65,0xd3a5a5 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 77,0xe2c4c4 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 34,0xab5656 54,0xc58989 17,0x952b2b 15,0x932626 14,0x912323 14,0x912323 14,0x912323 15,0x932626 16,0x942828 20,0x993333 95,0xf9f2f2 32,0xa85151 30,0xa64c4c 42,0xb56b6b 54,0xc58989 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 75,0xe0bfbf 38,0xb06060 27,0xa24444 42,0xb56b6b 89,0xf1e2e2 63,0xd0a0a0 48,0xbd7a7a 47,0xbc7777 36,0xae5b5b 28,0xa34747 22,0x9c3838 17,0x952b2b 16,0x942828 28,0xa34747 39,0xb16363 21,0x9a3535 12,0x8f1e1e 10,0x8c1919 9,0x8b1616 8,0x8a1414 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 9,0x8b1616 10,0x8c1919 10,0x8c1919 11,0x8e1c1c 11,0x8e1c1c 13,0x902121 20,0x993333 17,0x952b2b 18,0x972d2d 19,0x983030 35,0xac5959 35,0xac5959 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 41,0xb46868 57,0xc89191 20,0x993333 19,0x983030 22,0x9c3838 70,0xd9b2b2 100,0xFFFFFF 28,0xa34747 49,0xbe7c7c 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 90,0xf3e5e5 26,0xa14242 100,0xFFFFFF 42,0xb56b6b 89,0xf1e2e2 72,0xdcb7b7 32,0xa85151 46,0xba7575 14,0x912323 13,0x902121 13,0x902121 13,0x902121 14,0x912323 34,0xab5656 27,0xa24444 34,0xab5656 100,0xFFFFFF 23,0x9d3a3a 27,0xa24444 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 31,0xa74f4f 36,0xae5b5b 94,0xf8efef 25,0xa03f3f 28,0xa34747 29,0xa54949 31,0xa74f4f 33,0xaa5454 74,0xdebcbc 24,0x9e3d3d 28,0xa34747 100,0xFFFFFF 23,0x9d3a3a 19,0x983030 20,0x993333 41,0xb46868 16,0x942828 15,0x932626 11,0x8e1c1c 10,0x8c1919 9,0x8b1616 8,0x8a1414 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 9,0x8b1616 10,0x8c1919 11,0x8e1c1c 11,0x8e1c1c 12,0x8f1e1e 13,0x902121 14,0x912323 15,0x932626 17,0x952b2b 20,0x993333 23,0x9d3a3a 28,0xa34747 38,0xb06060 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 48,0xbd7a7a 22,0x9c3838 19,0x983030 18,0x972d2d 18,0x972d2d 19,0x983030 21,0x9a3535 27,0xa24444 56,0xc78e8e 100,0xFFFFFF 100,0xFFFFFF 45,0xb97272 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 22,0x9c3838 22,0x9c3838 30,0xa64c4c 100,0xFFFFFF 74,0xdebcbc 38,0xb06060 15,0x932626 13,0x902121 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 13,0x902121 15,0x932626 25,0xa03f3f 46,0xba7575 19,0x983030 22,0x9c3838 45,0xb97272 100,0xFFFFFF 40,0xb36666 63,0xd0a0a0 22,0x9c3838 35,0xac5959 19,0x983030 18,0x972d2d 21,0x9a3535 27,0xa24444 26,0xa14242 20,0x993333 19,0x983030 25,0xa03f3f 40,0xb36666 70,0xd9b2b2 27,0xa24444 30,0xa64c4c 18,0x972d2d 14,0x912323 13,0x902121 11,0x8e1c1c 10,0x8c1919 9,0x8b1616 8,0x8a1414 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 10,0x8c1919 10,0x8c1919 11,0x8e1c1c 11,0x8e1c1c 12,0x8f1e1e 13,0x902121 14,0x912323 15,0x932626 17,0x952b2b 27,0xa24444 27,0xa24444 65,0xd3a5a5 65,0xd3a5a5 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 99,0xfefcfc 74,0xdebcbc 37,0xaf5e5e 18,0x972d2d 16,0x942828 17,0x952b2b 17,0x952b2b 22,0x9c3838 100,0xFFFFFF 95,0xf9f2f2 100,0xFFFFFF 100,0xFFFFFF 31,0xa74f4f 100,0xFFFFFF 100,0xFFFFFF 73,0xddbaba 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 32,0xa85151 25,0xa03f3f 22,0x9c3838 22,0x9c3838 18,0x972d2d 19,0x983030 63,0xd0a0a0 53,0xc38787 45,0xb97272 19,0x983030 14,0x912323 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 13,0x902121 13,0x902121 14,0x912323 16,0x942828 60,0xcc9999 70,0xd9b2b2 66,0xd4a8a8 25,0xa03f3f 21,0x9a3535 18,0x972d2d 16,0x942828 15,0x932626 16,0x942828 27,0xa24444 21,0x9a3535 20,0x993333 25,0xa03f3f 16,0x942828 16,0x942828 17,0x952b2b 19,0x983030 31,0xa74f4f 100,0xFFFFFF 20,0x993333 15,0x932626 13,0x902121 12,0x8f1e1e 11,0x8e1c1c 9,0x8b1616 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 9,0x8b1616 10,0x8c1919 10,0x8c1919 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 13,0x902121 13,0x902121 14,0x912323 15,0x932626 20,0x993333 66,0xd4a8a8 40,0xb36666 53,0xc38787 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 33,0xaa5454 65,0xd3a5a5 54,0xc58989 22,0x9c3838 16,0x942828 15,0x932626 15,0x932626 16,0x942828 46,0xba7575 46,0xba7575 88,0xf0e0e0 100,0xFFFFFF 32,0xa85151 24,0x9e3d3d 52,0xc28484 100,0xFFFFFF 100,0xFFFFFF 39,0xb16363 65,0xd3a5a5 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 57,0xc89191 21,0x9a3535 18,0x972d2d 16,0x942828 16,0x942828 15,0x932626 16,0x942828 100,0xFFFFFF 13,0x902121 12,0x8f1e1e 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 12,0x8f1e1e 13,0x902121 14,0x912323 15,0x932626 17,0x952b2b 21,0x9a3535 79,0xe5c9c9 26,0xa14242 24,0x9e3d3d 18,0x972d2d 15,0x932626 14,0x912323 15,0x932626 34,0xab5656 15,0x932626 15,0x932626 14,0x912323 14,0x912323 15,0x932626 16,0x942828 34,0xab5656 26,0xa14242 18,0x972d2d 21,0x9a3535 37,0xaf5e5e 18,0x972d2d 15,0x932626 15,0x932626 15,0x932626 11,0x8e1c1c 8,0x8a1414 7,0x881111 7,0x881111 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 9,0x8b1616 11,0x8e1c1c 13,0x902121 20,0x993333 14,0x912323 14,0x912323 14,0x912323 14,0x912323 15,0x932626 16,0x942828 18,0x972d2d 49,0xbe7c7c 30,0xa64c4c 69,0xd8afaf 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 41,0xb46868 64,0xd1a3a3 81,0xe7cece 46,0xba7575 81,0xe7cece 100,0xFFFFFF 100,0xFFFFFF 37,0xaf5e5e 22,0x9c3838 27,0xa24444 18,0x972d2d 15,0x932626 14,0x912323 14,0x912323 15,0x932626 17,0x952b2b 72,0xdcb7b7 55,0xc68c8c 57,0xc89191 96,0xfaf4f4 20,0x993333 21,0x9a3535 23,0x9d3a3a 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 39,0xb16363 27,0xa24444 21,0x9a3535 15,0x932626 14,0x912323 13,0x902121 13,0x902121 13,0x902121 12,0x8f1e1e 11,0x8e1c1c 11,0x8e1c1c 10,0x8c1919 10,0x8c1919 10,0x8c1919 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 12,0x8f1e1e 13,0x902121 16,0x942828 18,0x972d2d 20,0x993333 25,0xa03f3f 39,0xb16363 28,0xa34747 36,0xae5b5b 14,0x912323 13,0x902121 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 13,0x902121 13,0x902121 13,0x902121 14,0x912323 16,0x942828 19,0x983030 21,0x9a3535 15,0x932626 14,0x912323 15,0x932626 19,0x983030 19,0x983030 18,0x972d2d 22,0x9c3838 22,0x9c3838 13,0x902121 7,0x881111 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 10,0x8c1919 25,0xa03f3f 17,0x952b2b 20,0x993333 18,0x972d2d 24,0x9e3d3d 18,0x972d2d 16,0x942828 16,0x942828 16,0x942828 19,0x983030 23,0x9d3a3a 25,0xa03f3f 56,0xc78e8e 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 72,0xdcb7b7 100,0xFFFFFF 29,0xa54949 50,0xc07f7f 29,0xa54949 49,0xbe7c7c 36,0xae5b5b 83,0xead3d3 83,0xead3d3 19,0x983030 17,0x952b2b 15,0x932626 14,0x912323 14,0x912323 14,0x912323 14,0x912323 15,0x932626 16,0x942828 17,0x952b2b 49,0xbe7c7c 17,0x952b2b 18,0x972d2d 20,0x993333 25,0xa03f3f 83,0xead3d3 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 33,0xaa5454 39,0xb16363 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 29,0xa54949 15,0x932626 13,0x902121 13,0x902121 12,0x8f1e1e 11,0x8e1c1c 11,0x8e1c1c 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 11,0x8e1c1c 12,0x8f1e1e 13,0x902121 36,0xae5b5b 60,0xcc9999 35,0xac5959 40,0xb36666 25,0xa03f3f 17,0x952b2b 29,0xa54949 16,0x942828 12,0x8f1e1e 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 12,0x8f1e1e 13,0x902121 14,0x912323 21,0x9a3535 23,0x9d3a3a 30,0xa64c4c 14,0x912323 12,0x8f1e1e 12,0x8f1e1e 35,0xac5959 12,0x8f1e1e 11,0x8e1c1c 12,0x8f1e1e 19,0x983030 10,0x8c1919 7,0x881111 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 9,0x8b1616 11,0x8e1c1c 19,0x983030 26,0xa14242 37,0xaf5e5e 25,0xa03f3f 29,0xa54949 19,0x983030 17,0x952b2b 18,0x972d2d 19,0x983030 22,0x9c3838 28,0xa34747 36,0xae5b5b 51,0xc18282 42,0xb56b6b 68,0xd7adad 46,0xba7575 26,0xa14242 22,0x9c3838 23,0x9d3a3a 23,0x9d3a3a 25,0xa03f3f 29,0xa54949 46,0xba7575 27,0xa24444 22,0x9c3838 22,0x9c3838 15,0x932626 13,0x902121 13,0x902121 13,0x902121 13,0x902121 13,0x902121 13,0x902121 14,0x912323 15,0x932626 16,0x942828 17,0x952b2b 20,0x993333 48,0xbd7a7a 73,0xddbaba 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 34,0xab5656 100,0xFFFFFF 47,0xbc7777 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 47,0xbc7777 100,0xFFFFFF 69,0xd8afaf 27,0xa24444 24,0x9e3d3d 33,0xaa5454 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 38,0xb06060 100,0xFFFFFF 49,0xbe7c7c 15,0x932626 13,0x902121 12,0x8f1e1e 12,0x8f1e1e 11,0x8e1c1c 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 11,0x8e1c1c 14,0x912323 26,0xa14242 17,0x952b2b 16,0x942828 14,0x912323 28,0xa34747 13,0x902121 13,0x902121 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 12,0x8f1e1e 13,0x902121 16,0x942828 28,0xa34747 35,0xac5959 13,0x902121 12,0x8f1e1e 11,0x8e1c1c 10,0x8c1919 10,0x8c1919 9,0x8b1616 10,0x8c1919 12,0x8f1e1e 12,0x8f1e1e 7,0x881111 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 9,0x8b1616 10,0x8c1919 15,0x932626 20,0x993333 16,0x942828 28,0xa34747 29,0xa54949 22,0x9c3838 22,0x9c3838 20,0x993333 20,0x993333 24,0x9e3d3d 44,0xb87070 59,0xcb9696 29,0xa54949 27,0xa24444 30,0xa64c4c 41,0xb46868 40,0xb36666 21,0x9a3535 19,0x983030 20,0x993333 50,0xc07f7f 46,0xba7575 59,0xcb9696 35,0xac5959 28,0xa34747 42,0xb56b6b 15,0x932626 13,0x902121 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 13,0x902121 14,0x912323 15,0x932626 16,0x942828 22,0x9c3838 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 39,0xb16363 26,0xa14242 93,0xf7eded 100,0xFFFFFF 41,0xb46868 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 77,0xe2c4c4 33,0xaa5454 28,0xa34747 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 21,0x9a3535 63,0xd0a0a0 48,0xbd7a7a 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 53,0xc38787 30,0xa64c4c 24,0x9e3d3d 18,0x972d2d 15,0x932626 14,0x912323 12,0x8f1e1e 11,0x8e1c1c 11,0x8e1c1c 10,0x8c1919 10,0x8c1919 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 10,0x8c1919 10,0x8c1919 10,0x8c1919 22,0x9c3838 15,0x932626 13,0x902121 11,0x8e1c1c 12,0x8f1e1e 15,0x932626 11,0x8e1c1c 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 11,0x8e1c1c 11,0x8e1c1c 12,0x8f1e1e 12,0x8f1e1e 14,0x912323 19,0x983030 18,0x972d2d 14,0x912323 11,0x8e1c1c 10,0x8c1919 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 10,0x8c1919 8,0x8a1414 7,0x881111 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 9,0x8b1616 9,0x8b1616 13,0x902121 13,0x902121 13,0x902121 32,0xa85151 34,0xab5656 26,0xa14242 93,0xf7eded 25,0xa03f3f 22,0x9c3838 26,0xa14242 45,0xb97272 45,0xb97272 29,0xa54949 22,0x9c3838 47,0xbc7777 55,0xc68c8c 18,0x972d2d 16,0x942828 17,0x952b2b 20,0x993333 37,0xaf5e5e 31,0xa74f4f 36,0xae5b5b 37,0xaf5e5e 15,0x932626 15,0x932626 13,0x902121 12,0x8f1e1e 11,0x8e1c1c 11,0x8e1c1c 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 13,0x902121 13,0x902121 15,0x932626 16,0x942828 20,0x993333 64,0xd1a3a3 32,0xa85151 52,0xc28484 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 26,0xa14242 22,0x9c3838 79,0xe5c9c9 100,0xFFFFFF 27,0xa24444 33,0xaa5454 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 57,0xc89191 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 38,0xb06060 23,0x9d3a3a 23,0x9d3a3a 20,0x993333 18,0x972d2d 19,0x983030 26,0xa14242 51,0xc18282 100,0xFFFFFF 100,0xFFFFFF 58,0xca9393 100,0xFFFFFF 100,0xFFFFFF 58,0xca9393 21,0x9a3535 19,0x983030 17,0x952b2b 27,0xa24444 12,0x8f1e1e 11,0x8e1c1c 10,0x8c1919 10,0x8c1919 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 11,0x8e1c1c 12,0x8f1e1e 13,0x902121 14,0x912323 16,0x942828 26,0xa14242 14,0x912323 10,0x8c1919 9,0x8b1616 9,0x8b1616 8,0x8a1414 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 9,0x8b1616 9,0x8b1616 10,0x8c1919 11,0x8e1c1c 12,0x8f1e1e 13,0x902121 22,0x9c3838 18,0x972d2d 52,0xc28484 36,0xae5b5b 29,0xa54949 47,0xbc7777 32,0xa85151 58,0xca9393 20,0x993333 19,0x983030 18,0x972d2d 18,0x972d2d 16,0x942828 15,0x932626 15,0x932626 42,0xb56b6b 25,0xa03f3f 22,0x9c3838 28,0xa34747 15,0x932626 13,0x902121 12,0x8f1e1e 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 12,0x8f1e1e 12,0x8f1e1e 13,0x902121 16,0x942828 18,0x972d2d 19,0x983030 22,0x9c3838 28,0xa34747 52,0xc28484 100,0xFFFFFF 100,0xFFFFFF 54,0xc58989 42,0xb56b6b 100,0xFFFFFF 31,0xa74f4f 19,0x983030 19,0x983030 20,0x993333 23,0x9d3a3a 65,0xd3a5a5 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 40,0xb36666 100,0xFFFFFF 89,0xf1e2e2 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 35,0xac5959 100,0xFFFFFF 29,0xa54949 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 22,0x9c3838 18,0x972d2d 16,0x942828 16,0x942828 17,0x952b2b 24,0x9e3d3d 98,0xfdf9f9 51,0xc18282 27,0xa24444 40,0xb36666 100,0xFFFFFF 83,0xead3d3 33,0xaa5454 23,0x9d3a3a 63,0xd0a0a0 46,0xba7575 37,0xaf5e5e 31,0xa74f4f 11,0x8e1c1c 10,0x8c1919 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 10,0x8c1919 10,0x8c1919 11,0x8e1c1c 12,0x8f1e1e 13,0x902121 16,0x942828 19,0x983030 27,0xa24444 13,0x902121 10,0x8c1919 9,0x8b1616 8,0x8a1414 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 10,0x8c1919 11,0x8e1c1c 12,0x8f1e1e 13,0x902121 14,0x912323 17,0x952b2b 19,0x983030 23,0x9d3a3a 30,0xa64c4c 35,0xac5959 26,0xa14242 22,0x9c3838 20,0x993333 18,0x972d2d 16,0x942828 15,0x932626 14,0x912323 14,0x912323 14,0x912323 14,0x912323 14,0x912323 14,0x912323 27,0xa24444 18,0x972d2d 12,0x8f1e1e 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 12,0x8f1e1e 13,0x902121 47,0xbc7777 23,0x9d3a3a 37,0xaf5e5e 24,0x9e3d3d 29,0xa54949 42,0xb56b6b 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 57,0xc89191 20,0x993333 17,0x952b2b 17,0x952b2b 19,0x983030 23,0x9d3a3a 38,0xb06060 50,0xc07f7f 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 25,0xa03f3f 27,0xa24444 89,0xf1e2e2 100,0xFFFFFF 100,0xFFFFFF 40,0xb36666 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 56,0xc78e8e 100,0xFFFFFF 54,0xc58989 100,0xFFFFFF 52,0xc28484 100,0xFFFFFF 100,0xFFFFFF 43,0xb76d6d 23,0x9d3a3a 23,0x9d3a3a 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 29,0xa54949 22,0x9c3838 20,0x993333 15,0x932626 15,0x932626 15,0x932626 17,0x952b2b 34,0xab5656 42,0xb56b6b 22,0x9c3838 32,0xa85151 34,0xab5656 56,0xc78e8e 46,0xba7575 44,0xb87070 43,0xb76d6d 19,0x983030 20,0x993333 15,0x932626 10,0x8c1919 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 10,0x8c1919 10,0x8c1919 25,0xa03f3f 17,0x952b2b 31,0xa74f4f 100,0xFFFFFF 33,0xaa5454 13,0x902121 10,0x8c1919 9,0x8b1616 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 10,0x8c1919 11,0x8e1c1c 12,0x8f1e1e 13,0x902121 15,0x932626 20,0x993333 46,0xba7575 48,0xbd7a7a 25,0xa03f3f 28,0xa34747 42,0xb56b6b 44,0xb87070 74,0xdebcbc 18,0x972d2d 16,0x942828 15,0x932626 14,0x912323 13,0x902121 13,0x902121 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 13,0x902121 11,0x8e1c1c 11,0x8e1c1c 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 11,0x8e1c1c 11,0x8e1c1c 40,0xb36666 35,0xac5959 31,0xa74f4f 100,0xFFFFFF 100,0xFFFFFF 33,0xaa5454 68,0xd7adad 55,0xc68c8c 58,0xca9393 25,0xa03f3f 22,0x9c3838 18,0x972d2d 16,0x942828 15,0x932626 16,0x942828 37,0xaf5e5e 78,0xe3c6c6 60,0xcc9999 45,0xb97272 92,0xf5eaea 36,0xae5b5b 24,0x9e3d3d 21,0x9a3535 42,0xb56b6b 36,0xae5b5b 84,0xebd6d6 53,0xc38787 27,0xa24444 35,0xac5959 100,0xFFFFFF 56,0xc78e8e 39,0xb16363 100,0xFFFFFF 41,0xb46868 100,0xFFFFFF 49,0xbe7c7c 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 51,0xc18282 100,0xFFFFFF 41,0xb46868 100,0xFFFFFF 100,0xFFFFFF 32,0xa85151 100,0xFFFFFF 40,0xb36666 28,0xa34747 28,0xa34747 100,0xFFFFFF 100,0xFFFFFF 97,0xfcf7f7 27,0xa24444 19,0x983030 21,0x9a3535 29,0xa54949 47,0xbc7777 62,0xcf9e9e 78,0xe3c6c6 62,0xcf9e9e 59,0xcb9696 14,0x912323 14,0x912323 13,0x902121 14,0x912323 15,0x932626 16,0x942828 19,0x983030 22,0x9c3838 26,0xa14242 32,0xa85151 48,0xbd7a7a 100,0xFFFFFF 23,0x9d3a3a 16,0x942828 12,0x8f1e1e 11,0x8e1c1c 10,0x8c1919 9,0x8b1616 9,0x8b1616 9,0x8b1616 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 9,0x8b1616 10,0x8c1919 11,0x8e1c1c 22,0x9c3838 20,0x993333 91,0xf4e8e8 19,0x983030 24,0x9e3d3d 10,0x8c1919 9,0x8b1616 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 9,0x8b1616 10,0x8c1919 10,0x8c1919 11,0x8e1c1c 14,0x912323 15,0x932626 20,0x993333 33,0xaa5454 24,0x9e3d3d 19,0x983030 26,0xa14242 26,0xa14242 21,0x9a3535 47,0xbc7777 43,0xb76d6d 42,0xb56b6b 16,0x942828 15,0x932626 13,0x902121 13,0x902121 12,0x8f1e1e 12,0x8f1e1e 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 11,0x8e1c1c 12,0x8f1e1e 15,0x932626 19,0x983030 19,0x983030 27,0xa24444 62,0xcf9e9e 100,0xFFFFFF 40,0xb36666 30,0xa64c4c 29,0xa54949 21,0x9a3535 17,0x952b2b 15,0x932626 14,0x912323 15,0x932626 36,0xae5b5b 44,0xb87070 59,0xcb9696 100,0xFFFFFF 56,0xc78e8e 66,0xd4a8a8 40,0xb36666 18,0x972d2d 36,0xae5b5b 30,0xa64c4c 100,0xFFFFFF 53,0xc38787 22,0x9c3838 44,0xb87070 98,0xfdf9f9 100,0xFFFFFF 24,0x9e3d3d 78,0xe3c6c6 28,0xa34747 50,0xc07f7f 27,0xa24444 31,0xa74f4f 30,0xa64c4c 32,0xa85151 35,0xac5959 40,0xb36666 46,0xba7575 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 45,0xb97272 39,0xb16363 35,0xac5959 31,0xa74f4f 31,0xa74f4f 31,0xa74f4f 26,0xa14242 57,0xc89191 24,0x9e3d3d 100,0xFFFFFF 23,0x9d3a3a 40,0xb36666 100,0xFFFFFF 85,0xecd8d8 20,0x993333 31,0xa74f4f 64,0xd1a3a3 93,0xf7eded 22,0x9c3838 17,0x952b2b 17,0x952b2b 29,0xa54949 49,0xbe7c7c 57,0xc89191 62,0xcf9e9e 39,0xb16363 18,0x972d2d 40,0xb36666 13,0x902121 12,0x8f1e1e 13,0x902121 13,0x902121 14,0x912323 16,0x942828 21,0x9a3535 44,0xb87070 55,0xc68c8c 40,0xb36666 93,0xf7eded 48,0xbd7a7a 22,0x9c3838 16,0x942828 11,0x8e1c1c 10,0x8c1919 9,0x8b1616 9,0x8b1616 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 10,0x8c1919 12,0x8f1e1e 15,0x932626 18,0x972d2d 14,0x912323 12,0x8f1e1e 10,0x8c1919 9,0x8b1616 8,0x8a1414 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 9,0x8b1616 10,0x8c1919 11,0x8e1c1c 13,0x902121 20,0x993333 23,0x9d3a3a 29,0xa54949 19,0x983030 15,0x932626 16,0x942828 22,0x9c3838 21,0x9a3535 17,0x952b2b 18,0x972d2d 26,0xa14242 21,0x9a3535 19,0x983030 20,0x993333 14,0x912323 13,0x902121 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 10,0x8c1919 10,0x8c1919 10,0x8c1919 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 10,0x8c1919 10,0x8c1919 10,0x8c1919 11,0x8e1c1c 12,0x8f1e1e 13,0x902121 29,0xa54949 46,0xba7575 42,0xb56b6b 90,0xf3e5e5 71,0xdab5b5 35,0xac5959 34,0xab5656 38,0xb06060 72,0xdcb7b7 14,0x912323 13,0x902121 13,0x902121 14,0x912323 15,0x932626 22,0x9c3838 48,0xbd7a7a 100,0xFFFFFF 86,0xeedbdb 33,0xaa5454 16,0x942828 16,0x942828 20,0x993333 47,0xbc7777 71,0xdab5b5 18,0x972d2d 18,0x972d2d 100,0xFFFFFF 24,0x9e3d3d 20,0x993333 20,0x993333 21,0x9a3535 22,0x9c3838 24,0x9e3d3d 25,0xa03f3f 28,0xa34747 32,0xa85151 41,0xb46868 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 31,0xa74f4f 27,0xa24444 25,0xa03f3f 23,0x9d3a3a 21,0x9a3535 21,0x9a3535 20,0x993333 19,0x983030 19,0x983030 22,0x9c3838 17,0x952b2b 17,0x952b2b 36,0xae5b5b 100,0xFFFFFF 33,0xaa5454 16,0x942828 15,0x932626 15,0x932626 17,0x952b2b 70,0xd9b2b2 92,0xf5eaea 51,0xc18282 29,0xa54949 14,0x912323 13,0x902121 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 14,0x912323 27,0xa24444 51,0xc18282 32,0xa85151 25,0xa03f3f 26,0xa14242 27,0xa24444 24,0x9e3d3d 58,0xca9393 19,0x983030 11,0x8e1c1c 10,0x8c1919 9,0x8b1616 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 11,0x8e1c1c 16,0x942828 20,0x993333 23,0x9d3a3a 12,0x8f1e1e 11,0x8e1c1c 9,0x8b1616 8,0x8a1414 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 11,0x8e1c1c 14,0x912323 13,0x902121 43,0xb76d6d 29,0xa54949 36,0xae5b5b 15,0x932626 20,0x993333 13,0x902121 14,0x912323 22,0x9c3838 19,0x983030 15,0x932626 16,0x942828 26,0xa14242 41,0xb46868 72,0xdcb7b7 20,0x993333 15,0x932626 12,0x8f1e1e 11,0x8e1c1c 11,0x8e1c1c 10,0x8c1919 10,0x8c1919 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 10,0x8c1919 10,0x8c1919 10,0x8c1919 11,0x8e1c1c 13,0x902121 16,0x942828 28,0xa34747 65,0xd3a5a5 32,0xa85151 32,0xa85151 26,0xa14242 19,0x983030 17,0x952b2b 14,0x912323 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 13,0x902121 14,0x912323 35,0xac5959 25,0xa03f3f 19,0x983030 36,0xae5b5b 16,0x942828 15,0x932626 15,0x932626 15,0x932626 16,0x942828 16,0x942828 16,0x942828 16,0x942828 16,0x942828 17,0x952b2b 18,0x972d2d 19,0x983030 20,0x993333 22,0x9c3838 23,0x9d3a3a 27,0xa24444 100,0xFFFFFF 63,0xd0a0a0 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 70,0xd9b2b2 26,0xa14242 23,0x9d3a3a 21,0x9a3535 19,0x983030 18,0x972d2d 17,0x952b2b 17,0x952b2b 16,0x942828 15,0x932626 15,0x932626 16,0x942828 21,0x9a3535 15,0x932626 14,0x912323 14,0x912323 14,0x912323 15,0x932626 35,0xac5959 61,0xce9b9b 17,0x952b2b 16,0x942828 13,0x902121 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 12,0x8f1e1e 16,0x942828 43,0xb76d6d 18,0x972d2d 17,0x952b2b 30,0xa64c4c 19,0x983030 45,0xb97272 14,0x912323 20,0x993333 11,0x8e1c1c 9,0x8b1616 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 10,0x8c1919 11,0x8e1c1c 13,0x902121 22,0x9c3838 14,0x912323 15,0x932626 23,0x9d3a3a 8,0x8a1414 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 8,0x8a1414 9,0x8b1616 11,0x8e1c1c 18,0x972d2d 17,0x952b2b 24,0x9e3d3d 28,0xa34747 14,0x912323 12,0x8f1e1e 11,0x8e1c1c 12,0x8f1e1e 13,0x902121 20,0x993333 16,0x942828 13,0x902121 13,0x902121 38,0xb06060 17,0x952b2b 29,0xa54949 29,0xa54949 25,0xa03f3f 13,0x902121 11,0x8e1c1c 10,0x8c1919 10,0x8c1919 10,0x8c1919 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 10,0x8c1919 10,0x8c1919 11,0x8e1c1c 24,0x9e3d3d 19,0x983030 43,0xb76d6d 19,0x983030 20,0x993333 19,0x983030 56,0xc78e8e 20,0x993333 14,0x912323 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 15,0x932626 14,0x912323 14,0x912323 15,0x932626 14,0x912323 13,0x902121 13,0x902121 13,0x902121 14,0x912323 15,0x932626 15,0x932626 15,0x932626 16,0x942828 16,0x942828 17,0x952b2b 19,0x983030 20,0x993333 23,0x9d3a3a 26,0xa14242 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 89,0xf1e2e2 97,0xfcf7f7 21,0x9a3535 19,0x983030 18,0x972d2d 17,0x952b2b 16,0x942828 15,0x932626 15,0x932626 14,0x912323 14,0x912323 13,0x902121 13,0x902121 13,0x902121 12,0x8f1e1e 12,0x8f1e1e 13,0x902121 14,0x912323 86,0xeedbdb 13,0x902121 12,0x8f1e1e 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 10,0x8c1919 11,0x8e1c1c 11,0x8e1c1c 12,0x8f1e1e 12,0x8f1e1e 13,0x902121 16,0x942828 42,0xb56b6b 14,0x912323 12,0x8f1e1e 11,0x8e1c1c 11,0x8e1c1c 9,0x8b1616 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 10,0x8c1919 10,0x8c1919 12,0x8f1e1e 14,0x912323 24,0x9e3d3d 13,0x902121 10,0x8c1919 8,0x8a1414 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 8,0x8a1414 10,0x8c1919 11,0x8e1c1c 16,0x942828 29,0xa54949 17,0x952b2b 13,0x902121 11,0x8e1c1c 10,0x8c1919 10,0x8c1919 10,0x8c1919 12,0x8f1e1e 20,0x993333 42,0xb56b6b 11,0x8e1c1c 11,0x8e1c1c 12,0x8f1e1e 13,0x902121 16,0x942828 29,0xa54949 17,0x952b2b 13,0x902121 11,0x8e1c1c 10,0x8c1919 10,0x8c1919 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 10,0x8c1919 11,0x8e1c1c 14,0x912323 44,0xb87070 47,0xbc7777 14,0x912323 13,0x902121 13,0x902121 22,0x9c3838 70,0xd9b2b2 13,0x902121 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 13,0x902121 13,0x902121 13,0x902121 14,0x912323 14,0x912323 15,0x932626 16,0x942828 16,0x942828 17,0x952b2b 19,0x983030 22,0x9c3838 50,0xc07f7f 47,0xbc7777 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 93,0xf7eded 40,0xb36666 27,0xa24444 32,0xa85151 18,0x972d2d 17,0x952b2b 16,0x942828 15,0x932626 14,0x912323 14,0x912323 13,0x902121 13,0x902121 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 11,0x8e1c1c 11,0x8e1c1c 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 11,0x8e1c1c 13,0x902121 17,0x952b2b 30,0xa64c4c 22,0x9c3838 11,0x8e1c1c 10,0x8c1919 9,0x8b1616 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 10,0x8c1919 12,0x8f1e1e 16,0x942828 13,0x902121 28,0xa34747 10,0x8c1919 8,0x8a1414 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 8,0x8a1414 15,0x932626 14,0x912323 12,0x8f1e1e 19,0x983030 18,0x972d2d 13,0x902121 11,0x8e1c1c 10,0x8c1919 9,0x8b1616 9,0x8b1616 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 11,0x8e1c1c 13,0x902121 17,0x952b2b 21,0x9a3535 18,0x972d2d 16,0x942828 40,0xb36666 10,0x8c1919 9,0x8b1616 9,0x8b1616 9,0x8b1616 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 10,0x8c1919 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 13,0x902121 12,0x8f1e1e 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 10,0x8c1919 10,0x8c1919 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 13,0x902121 13,0x902121 13,0x902121 14,0x912323 14,0x912323 15,0x932626 17,0x952b2b 18,0x972d2d 21,0x9a3535 100,0xFFFFFF 84,0xebd6d6 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 41,0xb46868 43,0xb76d6d 19,0x983030 17,0x952b2b 16,0x942828 14,0x912323 14,0x912323 13,0x902121 13,0x902121 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 10,0x8c1919 10,0x8c1919 10,0x8c1919 11,0x8e1c1c 16,0x942828 24,0x9e3d3d 13,0x902121 10,0x8c1919 9,0x8b1616 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 10,0x8c1919 17,0x952b2b 13,0x902121 10,0x8c1919 10,0x8c1919 11,0x8e1c1c 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 9,0x8b1616 10,0x8c1919 9,0x8b1616 9,0x8b1616 12,0x8f1e1e 15,0x932626 9,0x8b1616 9,0x8b1616 9,0x8b1616 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 9,0x8b1616 10,0x8c1919 22,0x9c3838 17,0x952b2b 24,0x9e3d3d 18,0x972d2d 15,0x932626 14,0x912323 10,0x8c1919 9,0x8b1616 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 9,0x8b1616 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 13,0x902121 13,0x902121 14,0x912323 14,0x912323 15,0x932626 19,0x983030 20,0x993333 23,0x9d3a3a 35,0xac5959 58,0xca9393 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 56,0xc78e8e 100,0xFFFFFF 26,0xa14242 28,0xa34747 16,0x942828 14,0x912323 14,0x912323 13,0x902121 13,0x902121 12,0x8f1e1e 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 10,0x8c1919 10,0x8c1919 10,0x8c1919 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 10,0x8c1919 11,0x8e1c1c 21,0x9a3535 11,0x8e1c1c 10,0x8c1919 9,0x8b1616 8,0x8a1414 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 9,0x8b1616 11,0x8e1c1c 15,0x932626 10,0x8c1919 9,0x8b1616 8,0x8a1414 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 10,0x8c1919 13,0x902121 15,0x932626 22,0x9c3838 10,0x8c1919 10,0x8c1919 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 12,0x8f1e1e 12,0x8f1e1e 13,0x902121 13,0x902121 14,0x912323 14,0x912323 16,0x942828 70,0xd9b2b2 31,0xa74f4f 93,0xf7eded 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 35,0xac5959 39,0xb16363 21,0x9a3535 15,0x932626 14,0x912323 13,0x902121 12,0x8f1e1e 12,0x8f1e1e 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 8,0x8a1414 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 9,0x8b1616 12,0x8f1e1e 25,0xa03f3f 11,0x8e1c1c 8,0x8a1414 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 15,0x932626 17,0x952b2b 10,0x8c1919 9,0x8b1616 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 12,0x8f1e1e 12,0x8f1e1e 13,0x902121 14,0x912323 15,0x932626 16,0x942828 74,0xdebcbc 62,0xcf9e9e 39,0xb16363 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 31,0xa74f4f 24,0x9e3d3d 19,0x983030 16,0x942828 15,0x932626 13,0x902121 12,0x8f1e1e 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 18,0x972d2d 12,0x8f1e1e 10,0x8c1919 8,0x8a1414 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 9,0x8b1616 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 11,0x8e1c1c 11,0x8e1c1c 12,0x8f1e1e 12,0x8f1e1e 13,0x902121 15,0x932626 16,0x942828 17,0x952b2b 21,0x9a3535 28,0xa34747 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 96,0xfaf4f4 29,0xa54949 22,0x9c3838 23,0x9d3a3a 14,0x912323 12,0x8f1e1e 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 10,0x8c1919 10,0x8c1919 10,0x8c1919 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 12,0x8f1e1e 14,0x912323 33,0xaa5454 22,0x9c3838 23,0x9d3a3a 100,0xFFFFFF 59,0xcb9696 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 31,0xa74f4f 44,0xb87070 21,0x9a3535 15,0x932626 12,0x8f1e1e 11,0x8e1c1c 11,0x8e1c1c 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 12,0x8f1e1e 14,0x912323 22,0x9c3838 27,0xa24444 51,0xc18282 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 83,0xead3d3 26,0xa14242 46,0xba7575 40,0xb36666 16,0x942828 13,0x902121 12,0x8f1e1e 11,0x8e1c1c 10,0x8c1919 10,0x8c1919 10,0x8c1919 9,0x8b1616 9,0x8b1616 9,0x8b1616 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 10,0x8c1919 10,0x8c1919 10,0x8c1919 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 12,0x8f1e1e 14,0x912323 29,0xa54949 39,0xb16363 43,0xb76d6d 30,0xa64c4c 44,0xb87070 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 71,0xdab5b5 24,0x9e3d3d 20,0x993333 17,0x952b2b 14,0x912323 13,0x902121 12,0x8f1e1e 11,0x8e1c1c 10,0x8c1919 10,0x8c1919 10,0x8c1919 9,0x8b1616 9,0x8b1616 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 10,0x8c1919 10,0x8c1919 11,0x8e1c1c 11,0x8e1c1c 12,0x8f1e1e 13,0x902121 14,0x912323 17,0x952b2b 25,0xa03f3f 23,0x9d3a3a 27,0xa24444 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 42,0xb56b6b 46,0xba7575 25,0xa03f3f 19,0x983030 15,0x932626 14,0x912323 13,0x902121 12,0x8f1e1e 10,0x8c1919 10,0x8c1919 9,0x8b1616 9,0x8b1616 9,0x8b1616 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 10,0x8c1919 10,0x8c1919 11,0x8e1c1c 11,0x8e1c1c 12,0x8f1e1e 13,0x902121 14,0x912323 16,0x942828 19,0x983030 23,0x9d3a3a 28,0xa34747 41,0xb46868 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 69,0xd8afaf 31,0xa74f4f 19,0x983030 16,0x942828 19,0x983030 13,0x902121 10,0x8c1919 10,0x8c1919 9,0x8b1616 9,0x8b1616 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 9,0x8b1616 10,0x8c1919 10,0x8c1919 11,0x8e1c1c 12,0x8f1e1e 13,0x902121 14,0x912323 15,0x932626 28,0xa34747 39,0xb16363 33,0xaa5454 81,0xe7cece 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 35,0xac5959 57,0xc89191 72,0xdcb7b7 21,0x9a3535 22,0x9c3838 13,0x902121 11,0x8e1c1c 10,0x8c1919 9,0x8b1616 9,0x8b1616 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 9,0x8b1616 10,0x8c1919 14,0x912323 14,0x912323 25,0xa03f3f 16,0x942828 16,0x942828 29,0xa54949 44,0xb87070 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 45,0xb97272 60,0xcc9999 26,0xa14242 24,0x9e3d3d 30,0xa64c4c 28,0xa34747 18,0x972d2d 13,0x902121 11,0x8e1c1c 10,0x8c1919 9,0x8b1616 9,0x8b1616 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 10,0x8c1919 12,0x8f1e1e 47,0xbc7777 24,0x9e3d3d 19,0x983030 20,0x993333 58,0xca9393 47,0xbc7777 66,0xd4a8a8 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 48,0xbd7a7a 34,0xab5656 22,0x9c3838 21,0x9a3535 68,0xd7adad 23,0x9d3a3a 19,0x983030 38,0xb06060 11,0x8e1c1c 10,0x8c1919 9,0x8b1616 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 10,0x8c1919 11,0x8e1c1c 14,0x912323 45,0xb97272 24,0x9e3d3d 26,0xa14242 29,0xa54949 27,0xa24444 26,0xa14242 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 28,0xa34747 20,0x993333 19,0x983030 20,0x993333 53,0xc38787 28,0xa34747 31,0xa74f4f 13,0x902121 10,0x8c1919 9,0x8b1616 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 10,0x8c1919 11,0x8e1c1c 12,0x8f1e1e 14,0x912323 23,0x9d3a3a 35,0xac5959 39,0xb16363 22,0x9c3838 24,0x9e3d3d 62,0xcf9e9e 33,0xaa5454 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 98,0xfdf9f9 37,0xaf5e5e 19,0x983030 17,0x952b2b 16,0x942828 15,0x932626 15,0x932626 12,0x8f1e1e 11,0x8e1c1c 10,0x8c1919 9,0x8b1616 9,0x8b1616 8,0x8a1414 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 10,0x8c1919 11,0x8e1c1c 13,0x902121 20,0x993333 25,0xa03f3f 50,0xc07f7f 19,0x983030 20,0x993333 23,0x9d3a3a 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 36,0xae5b5b 23,0x9d3a3a 19,0x983030 16,0x942828 14,0x912323 14,0x912323 12,0x8f1e1e 11,0x8e1c1c 11,0x8e1c1c 10,0x8c1919 9,0x8b1616 9,0x8b1616 8,0x8a1414 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 10,0x8c1919 11,0x8e1c1c 21,0x9a3535 18,0x972d2d 25,0xa03f3f 18,0x972d2d 17,0x952b2b 18,0x972d2d 100,0xFFFFFF 35,0xac5959 39,0xb16363 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 39,0xb16363 24,0x9e3d3d 18,0x972d2d 14,0x912323 13,0x902121 12,0x8f1e1e 11,0x8e1c1c 10,0x8c1919 10,0x8c1919 9,0x8b1616 9,0x8b1616 8,0x8a1414 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 10,0x8c1919 10,0x8c1919 12,0x8f1e1e 13,0x902121 14,0x912323 15,0x932626 16,0x942828 17,0x952b2b 21,0x9a3535 25,0xa03f3f 54,0xc58989 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 51,0xc18282 28,0xa34747 21,0x9a3535 16,0x942828 14,0x912323 12,0x8f1e1e 11,0x8e1c1c 10,0x8c1919 10,0x8c1919 9,0x8b1616 9,0x8b1616 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 10,0x8c1919 10,0x8c1919 11,0x8e1c1c 12,0x8f1e1e 13,0x902121 14,0x912323 15,0x932626 20,0x993333 21,0x9a3535 72,0xdcb7b7 39,0xb16363 80,0xe6cccc 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 85,0xecd8d8 45,0xb97272 31,0xa74f4f 42,0xb56b6b 18,0x972d2d 12,0x8f1e1e 11,0x8e1c1c 10,0x8c1919 10,0x8c1919 9,0x8b1616 9,0x8b1616 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 10,0x8c1919 10,0x8c1919 11,0x8e1c1c 12,0x8f1e1e 13,0x902121 14,0x912323 16,0x942828 53,0xc38787 56,0xc78e8e 96,0xfaf4f4 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 98,0xfdf9f9 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 52,0xc28484 31,0xa74f4f 20,0x993333 18,0x972d2d 13,0x902121 12,0x8f1e1e 11,0x8e1c1c 10,0x8c1919 10,0x8c1919 9,0x8b1616 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 10,0x8c1919 10,0x8c1919 11,0x8e1c1c 11,0x8e1c1c 13,0x902121 15,0x932626 17,0x952b2b 22,0x9c3838 28,0xa34747 72,0xdcb7b7 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 35,0xac5959 82,0xe8d1d1 51,0xc18282 45,0xb97272 50,0xc07f7f 30,0xa64c4c 58,0xca9393 25,0xa03f3f 16,0x942828 14,0x912323 13,0x902121 13,0x902121 17,0x952b2b 11,0x8e1c1c 9,0x8b1616 9,0x8b1616 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 10,0x8c1919 10,0x8c1919 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 14,0x912323 32,0xa85151 25,0xa03f3f 30,0xa64c4c 36,0xae5b5b 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 27,0xa24444 26,0xa14242 71,0xdab5b5 27,0xa24444 22,0x9c3838 39,0xb16363 32,0xa85151 63,0xd0a0a0 22,0x9c3838 15,0x932626 15,0x932626 19,0x983030 26,0xa14242 18,0x972d2d 11,0x8e1c1c 9,0x8b1616 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 10,0x8c1919 10,0x8c1919 11,0x8e1c1c 11,0x8e1c1c 12,0x8f1e1e 13,0x902121 47,0xbc7777 22,0x9c3838 46,0xba7575 100,0xFFFFFF 51,0xc18282 50,0xc07f7f 100,0xFFFFFF 100,0xFFFFFF 39,0xb16363 40,0xb36666 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 52,0xc28484 29,0xa54949 23,0x9d3a3a 22,0x9c3838 65,0xd3a5a5 44,0xb87070 19,0x983030 19,0x983030 20,0x993333 68,0xd7adad 27,0xa24444 17,0x952b2b 18,0x972d2d 26,0xa14242 14,0x912323 19,0x983030 18,0x972d2d 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 9,0x8b1616 10,0x8c1919 11,0x8e1c1c 11,0x8e1c1c 12,0x8f1e1e 13,0x902121 13,0x902121 16,0x942828 20,0x993333 38,0xb06060 36,0xae5b5b 28,0xa34747 30,0xa64c4c 62,0xcf9e9e 32,0xa85151 30,0xa64c4c 30,0xa64c4c 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 69,0xd8afaf 100,0xFFFFFF 100,0xFFFFFF 48,0xbd7a7a 20,0x993333 18,0x972d2d 28,0xa34747 17,0x952b2b 16,0x942828 17,0x952b2b 18,0x972d2d 42,0xb56b6b 25,0xa03f3f 25,0xa03f3f 25,0xa03f3f 32,0xa85151 12,0x8f1e1e 11,0x8e1c1c 10,0x8c1919 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 10,0x8c1919 16,0x942828 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 13,0x902121 14,0x912323 18,0x972d2d 22,0x9c3838 46,0xba7575 35,0xac5959 23,0x9d3a3a 22,0x9c3838 32,0xa85151 29,0xa54949 23,0x9d3a3a 38,0xb06060 29,0xa54949 48,0xbd7a7a 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 33,0xaa5454 33,0xaa5454 50,0xc07f7f 25,0xa03f3f 18,0x972d2d 16,0x942828 15,0x932626 14,0x912323 15,0x932626 16,0x942828 20,0x993333 38,0xb06060 20,0x993333 18,0x972d2d 15,0x932626 14,0x912323 10,0x8c1919 10,0x8c1919 9,0x8b1616 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 9,0x8b1616 9,0x8b1616 10,0x8c1919 11,0x8e1c1c 31,0xa74f4f 16,0x942828 14,0x912323 14,0x912323 14,0x912323 15,0x932626 17,0x952b2b 26,0xa14242 25,0xa03f3f 56,0xc78e8e 19,0x983030 19,0x983030 40,0xb36666 23,0x9d3a3a 20,0x993333 20,0x993333 25,0xa03f3f 45,0xb97272 100,0xFFFFFF 88,0xf0e0e0 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 61,0xce9b9b 40,0xb36666 51,0xc18282 26,0xa14242 54,0xc58989 26,0xa14242 28,0xa34747 20,0x993333 15,0x932626 14,0x912323 14,0x912323 14,0x912323 15,0x932626 17,0x952b2b 40,0xb36666 18,0x972d2d 15,0x932626 13,0x902121 12,0x8f1e1e 10,0x8c1919 9,0x8b1616 9,0x8b1616 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 9,0x8b1616 10,0x8c1919 12,0x8f1e1e 14,0x912323 22,0x9c3838 37,0xaf5e5e 35,0xac5959 17,0x952b2b 15,0x932626 16,0x942828 17,0x952b2b 31,0xa74f4f 22,0x9c3838 19,0x983030 17,0x952b2b 17,0x952b2b 17,0x952b2b 16,0x942828 16,0x942828 17,0x952b2b 27,0xa24444 53,0xc38787 100,0xFFFFFF 28,0xa34747 43,0xb76d6d 100,0xFFFFFF 48,0xbd7a7a 46,0xba7575 60,0xcc9999 58,0xca9393 77,0xe2c4c4 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 54,0xc58989 35,0xac5959 29,0xa54949 25,0xa03f3f 31,0xa74f4f 23,0x9d3a3a 19,0x983030 22,0x9c3838 22,0x9c3838 18,0x972d2d 14,0x912323 13,0x902121 13,0x902121 13,0x902121 14,0x912323 31,0xa74f4f 21,0x9a3535 28,0xa34747 16,0x942828 13,0x902121 12,0x8f1e1e 10,0x8c1919 9,0x8b1616 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 9,0x8b1616 18,0x972d2d 26,0xa14242 20,0x993333 16,0x942828 15,0x932626 19,0x983030 69,0xd8afaf 24,0x9e3d3d 21,0x9a3535 22,0x9c3838 25,0xa03f3f 43,0xb76d6d 19,0x983030 16,0x942828 15,0x932626 14,0x912323 14,0x912323 15,0x932626 17,0x952b2b 20,0x993333 43,0xb76d6d 24,0x9e3d3d 22,0x9c3838 24,0x9e3d3d 31,0xa74f4f 28,0xa34747 29,0xa54949 33,0xaa5454 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 56,0xc78e8e 29,0xa54949 23,0x9d3a3a 20,0x993333 18,0x972d2d 17,0x952b2b 19,0x983030 34,0xab5656 15,0x932626 13,0x902121 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 13,0x902121 15,0x932626 28,0xa34747 25,0xa03f3f 37,0xaf5e5e 15,0x932626 12,0x8f1e1e 9,0x8b1616 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 8,0x8a1414 9,0x8b1616 10,0x8c1919 14,0x912323 17,0x952b2b 12,0x8f1e1e 13,0x902121 32,0xa85151 17,0x952b2b 26,0xa14242 20,0x993333 19,0x983030 48,0xbd7a7a 20,0x993333 15,0x932626 14,0x912323 14,0x912323 14,0x912323 14,0x912323 19,0x983030 87,0xefdddd 23,0x9d3a3a 87,0xefdddd 19,0x983030 19,0x983030 22,0x9c3838 22,0x9c3838 26,0xa14242 41,0xb46868 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 81,0xe7cece 27,0xa24444 20,0x993333 17,0x952b2b 16,0x942828 15,0x932626 16,0x942828 13,0x902121 12,0x8f1e1e 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 12,0x8f1e1e 12,0x8f1e1e 17,0x952b2b 48,0xbd7a7a 15,0x932626 16,0x942828 26,0xa14242 12,0x8f1e1e 10,0x8c1919 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 9,0x8b1616 14,0x912323 10,0x8c1919 10,0x8c1919 11,0x8e1c1c 13,0x902121 13,0x902121 13,0x902121 14,0x912323 16,0x942828 29,0xa54949 49,0xbe7c7c 15,0x932626 13,0x902121 13,0x902121 13,0x902121 13,0x902121 16,0x942828 15,0x932626 17,0x952b2b 20,0x993333 16,0x942828 17,0x952b2b 19,0x983030 21,0x9a3535 93,0xf7eded 82,0xe8d1d1 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 66,0xd4a8a8 46,0xba7575 44,0xb87070 17,0x952b2b 15,0x932626 14,0x912323 13,0x902121 12,0x8f1e1e 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 16,0x942828 13,0x902121 12,0x8f1e1e 12,0x8f1e1e 16,0x942828 20,0x993333 48,0xbd7a7a 8,0x8a1414 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 9,0x8b1616 10,0x8c1919 11,0x8e1c1c 12,0x8f1e1e 13,0x902121 19,0x983030 24,0x9e3d3d 17,0x952b2b 14,0x912323 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 13,0x902121 14,0x912323 15,0x932626 15,0x932626 16,0x942828 21,0x9a3535 23,0x9d3a3a 28,0xa34747 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 38,0xb06060 28,0xa34747 34,0xab5656 19,0x983030 14,0x912323 13,0x902121 13,0x902121 12,0x8f1e1e 11,0x8e1c1c 11,0x8e1c1c 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 11,0x8e1c1c 19,0x983030 13,0x902121 9,0x8b1616 8,0x8a1414 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 10,0x8c1919 11,0x8e1c1c 14,0x912323 29,0xa54949 18,0x972d2d 29,0xa54949 13,0x902121 12,0x8f1e1e 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 12,0x8f1e1e 13,0x902121 13,0x902121 14,0x912323 15,0x932626 18,0x972d2d 26,0xa14242 31,0xa74f4f 38,0xb06060 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 46,0xba7575 31,0xa74f4f 19,0x983030 17,0x952b2b 15,0x932626 13,0x902121 12,0x8f1e1e 11,0x8e1c1c 11,0x8e1c1c 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 10,0x8c1919 14,0x912323 9,0x8b1616 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 10,0x8c1919 15,0x932626 19,0x983030 13,0x902121 35,0xac5959 11,0x8e1c1c 11,0x8e1c1c 10,0x8c1919 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 12,0x8f1e1e 13,0x902121 14,0x912323 14,0x912323 16,0x942828 19,0x983030 24,0x9e3d3d 36,0xae5b5b 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 48,0xbd7a7a 45,0xb97272 28,0xa34747 38,0xb06060 18,0x972d2d 16,0x942828 18,0x972d2d 14,0x912323 11,0x8e1c1c 10,0x8c1919 10,0x8c1919 10,0x8c1919 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 8,0x8a1414 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 10,0x8c1919 14,0x912323 30,0xa64c4c 12,0x8f1e1e 11,0x8e1c1c 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 11,0x8e1c1c 11,0x8e1c1c 12,0x8f1e1e 13,0x902121 14,0x912323 15,0x932626 16,0x942828 18,0x972d2d 23,0x9d3a3a 54,0xc58989 38,0xb06060 45,0xb97272 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 68,0xd7adad 43,0xb76d6d 30,0xa64c4c 35,0xac5959 77,0xe2c4c4 45,0xb97272 22,0x9c3838 55,0xc68c8c 19,0x983030 31,0xa74f4f 11,0x8e1c1c 10,0x8c1919 10,0x8c1919 9,0x8b1616 9,0x8b1616 9,0x8b1616 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 11,0x8e1c1c 12,0x8f1e1e 11,0x8e1c1c 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 11,0x8e1c1c 12,0x8f1e1e 13,0x902121 15,0x932626 16,0x942828 17,0x952b2b 20,0x993333 53,0xc38787 43,0xb76d6d 26,0xa14242 51,0xc18282 34,0xab5656 100,0xFFFFFF 100,0xFFFFFF 80,0xe6cccc 33,0xaa5454 35,0xac5959 20,0x993333 20,0x993333 20,0x993333 24,0x9e3d3d 17,0x952b2b 14,0x912323 12,0x8f1e1e 10,0x8c1919 10,0x8c1919 9,0x8b1616 9,0x8b1616 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 10,0x8c1919 10,0x8c1919 11,0x8e1c1c 12,0x8f1e1e 14,0x912323 29,0xa54949 34,0xab5656 33,0xaa5454 25,0xa03f3f 24,0x9e3d3d 27,0xa24444 20,0x993333 22,0x9c3838 29,0xa54949 76,0xe1c1c1 100,0xFFFFFF 40,0xb36666 55,0xc68c8c 23,0x9d3a3a 18,0x972d2d 17,0x952b2b 17,0x952b2b 37,0xaf5e5e 35,0xac5959 14,0x912323 11,0x8e1c1c 10,0x8c1919 9,0x8b1616 9,0x8b1616 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 10,0x8c1919 10,0x8c1919 15,0x932626 24,0x9e3d3d 17,0x952b2b 18,0x972d2d 17,0x952b2b 36,0xae5b5b 19,0x983030 17,0x952b2b 18,0x972d2d 29,0xa54949 40,0xb36666 26,0xa14242 44,0xb87070 29,0xa54949 23,0x9d3a3a 24,0x9e3d3d 16,0x942828 15,0x932626 15,0x932626 17,0x952b2b 22,0x9c3838 17,0x952b2b 11,0x8e1c1c 10,0x8c1919 9,0x8b1616 9,0x8b1616 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 10,0x8c1919 11,0x8e1c1c 12,0x8f1e1e 13,0x902121 15,0x932626 26,0xa14242 17,0x952b2b 15,0x932626 16,0x942828 18,0x972d2d 24,0x9e3d3d 21,0x9a3535 28,0xa34747 25,0xa03f3f 19,0x983030 18,0x972d2d 15,0x932626 14,0x912323 14,0x912323 14,0x912323 14,0x912323 38,0xb06060 11,0x8e1c1c 9,0x8b1616 9,0x8b1616 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 9,0x8b1616 10,0x8c1919 11,0x8e1c1c 12,0x8f1e1e 14,0x912323 18,0x972d2d 14,0x912323 14,0x912323 14,0x912323 15,0x932626 17,0x952b2b 24,0x9e3d3d 34,0xab5656 45,0xb97272 19,0x983030 16,0x942828 15,0x932626 13,0x902121 13,0x902121 12,0x8f1e1e 12,0x8f1e1e 11,0x8e1c1c 10,0x8c1919 9,0x8b1616 9,0x8b1616 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 9,0x8b1616 10,0x8c1919 11,0x8e1c1c 12,0x8f1e1e 13,0x902121 13,0x902121 13,0x902121 14,0x912323 15,0x932626 17,0x952b2b 19,0x983030 23,0x9d3a3a 26,0xa14242 20,0x993333 18,0x972d2d 15,0x932626 13,0x902121 12,0x8f1e1e 11,0x8e1c1c 11,0x8e1c1c 10,0x8c1919 10,0x8c1919 9,0x8b1616 9,0x8b1616 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 10,0x8c1919 10,0x8c1919 10,0x8c1919 11,0x8e1c1c 12,0x8f1e1e 12,0x8f1e1e 13,0x902121 15,0x932626 21,0x9a3535 22,0x9c3838 29,0xa54949 100,0xFFFFFF 32,0xa85151 20,0x993333 15,0x932626 12,0x8f1e1e 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 10,0x8c1919 10,0x8c1919 9,0x8b1616 9,0x8b1616 8,0x8a1414 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 10,0x8c1919 10,0x8c1919 10,0x8c1919 11,0x8e1c1c 11,0x8e1c1c 12,0x8f1e1e 14,0x912323 16,0x942828 24,0x9e3d3d 26,0xa14242 41,0xb46868 20,0x993333 24,0x9e3d3d 20,0x993333 12,0x8f1e1e 11,0x8e1c1c 11,0x8e1c1c 10,0x8c1919 10,0x8c1919 9,0x8b1616 9,0x8b1616 9,0x8b1616 8,0x8a1414 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 10,0x8c1919 10,0x8c1919 10,0x8c1919 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 12,0x8f1e1e 14,0x912323 17,0x952b2b 18,0x972d2d 37,0xaf5e5e 18,0x972d2d 16,0x942828 14,0x912323 12,0x8f1e1e 11,0x8e1c1c 11,0x8e1c1c 10,0x8c1919 10,0x8c1919 9,0x8b1616 9,0x8b1616 9,0x8b1616 8,0x8a1414 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 10,0x8c1919 10,0x8c1919 10,0x8c1919 11,0x8e1c1c 11,0x8e1c1c 12,0x8f1e1e 13,0x902121 14,0x912323 18,0x972d2d 26,0xa14242 27,0xa24444 14,0x912323 13,0x902121 12,0x8f1e1e 12,0x8f1e1e 11,0x8e1c1c 10,0x8c1919 10,0x8c1919 9,0x8b1616 9,0x8b1616 9,0x8b1616 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 10,0x8c1919 10,0x8c1919 10,0x8c1919 11,0x8e1c1c 11,0x8e1c1c 12,0x8f1e1e 13,0x902121 14,0x912323 16,0x942828 21,0x9a3535 19,0x983030 15,0x932626 13,0x902121 13,0x902121 12,0x8f1e1e 11,0x8e1c1c 10,0x8c1919 10,0x8c1919 10,0x8c1919 9,0x8b1616 9,0x8b1616 9,0x8b1616 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 9,0x8b1616 10,0x8c1919 10,0x8c1919 11,0x8e1c1c 11,0x8e1c1c 12,0x8f1e1e 13,0x902121 14,0x912323 16,0x942828 19,0x983030 19,0x983030 16,0x942828 14,0x912323 13,0x902121 12,0x8f1e1e 12,0x8f1e1e 10,0x8c1919 10,0x8c1919 10,0x8c1919 9,0x8b1616 9,0x8b1616 9,0x8b1616 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 9,0x8b1616 10,0x8c1919 10,0x8c1919 11,0x8e1c1c 12,0x8f1e1e 12,0x8f1e1e 13,0x902121 15,0x932626 19,0x983030 22,0x9c3838 21,0x9a3535 38,0xb06060 20,0x993333 15,0x932626 14,0x912323 13,0x902121 11,0x8e1c1c 11,0x8e1c1c 10,0x8c1919 10,0x8c1919 9,0x8b1616 9,0x8b1616 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 9,0x8b1616 10,0x8c1919 10,0x8c1919 11,0x8e1c1c 12,0x8f1e1e 12,0x8f1e1e 15,0x932626 32,0xa85151 23,0x9d3a3a 15,0x932626 15,0x932626 18,0x972d2d 19,0x983030 19,0x983030 22,0x9c3838 16,0x942828 18,0x972d2d 12,0x8f1e1e 11,0x8e1c1c 10,0x8c1919 9,0x8b1616 9,0x8b1616 9,0x8b1616 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 9,0x8b1616 10,0x8c1919 11,0x8e1c1c 13,0x902121 13,0x902121 14,0x912323 16,0x942828 23,0x9d3a3a 18,0x972d2d 14,0x912323 13,0x902121 13,0x902121 15,0x932626 21,0x9a3535 34,0xab5656 22,0x9c3838 15,0x932626 13,0x902121 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 10,0x8c1919 9,0x8b1616 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 9,0x8b1616 10,0x8c1919 11,0x8e1c1c 22,0x9c3838 26,0xa14242 16,0x942828 19,0x983030 16,0x942828 14,0x912323 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 15,0x932626 14,0x912323 17,0x952b2b 16,0x942828 24,0x9e3d3d 14,0x912323 14,0x912323 34,0xab5656 15,0x932626 12,0x8f1e1e 11,0x8e1c1c 10,0x8c1919 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 10,0x8c1919 12,0x8f1e1e 13,0x902121 20,0x993333 26,0xa14242 25,0xa03f3f 35,0xac5959 13,0x902121 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 12,0x8f1e1e 13,0x902121 16,0x942828 18,0x972d2d 18,0x972d2d 100,0xFFFFFF 21,0x9a3535 14,0x912323 15,0x932626 12,0x8f1e1e 9,0x8b1616 8,0x8a1414 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 9,0x8b1616 10,0x8c1919 11,0x8e1c1c 12,0x8f1e1e 16,0x942828 20,0x993333 45,0xb97272 17,0x952b2b 13,0x902121 11,0x8e1c1c 11,0x8e1c1c 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 11,0x8e1c1c 12,0x8f1e1e 18,0x972d2d 14,0x912323 16,0x942828 26,0xa14242 20,0x993333 17,0x952b2b 14,0x912323 11,0x8e1c1c 9,0x8b1616 9,0x8b1616 8,0x8a1414 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 10,0x8c1919 11,0x8e1c1c 12,0x8f1e1e 14,0x912323 23,0x9d3a3a 16,0x942828 24,0x9e3d3d 12,0x8f1e1e 10,0x8c1919 10,0x8c1919 9,0x8b1616 9,0x8b1616 9,0x8b1616 10,0x8c1919 10,0x8c1919 11,0x8e1c1c 20,0x993333 11,0x8e1c1c 12,0x8f1e1e 29,0xa54949 12,0x8f1e1e 13,0x902121 16,0x942828 12,0x8f1e1e 10,0x8c1919 9,0x8b1616 8,0x8a1414 8,0x8a1414 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 9,0x8b1616 10,0x8c1919 10,0x8c1919 11,0x8e1c1c 12,0x8f1e1e 16,0x942828 21,0x9a3535 13,0x902121 12,0x8f1e1e 10,0x8c1919 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 11,0x8e1c1c 11,0x8e1c1c 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 11,0x8e1c1c 12,0x8f1e1e 18,0x972d2d 12,0x8f1e1e 12,0x8f1e1e 15,0x932626 8,0x8a1414 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 9,0x8b1616 10,0x8c1919 10,0x8c1919 10,0x8c1919 11,0x8e1c1c 12,0x8f1e1e 12,0x8f1e1e 18,0x972d2d 16,0x942828 12,0x8f1e1e 11,0x8e1c1c 10,0x8c1919 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 9,0x8b1616 10,0x8c1919 10,0x8c1919 14,0x912323 14,0x912323 12,0x8f1e1e 9,0x8b1616 8,0x8a1414 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 9,0x8b1616 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 12,0x8f1e1e 13,0x902121 14,0x912323 17,0x952b2b 16,0x942828 12,0x8f1e1e 11,0x8e1c1c 10,0x8c1919 9,0x8b1616 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 10,0x8c1919 13,0x902121 11,0x8e1c1c 9,0x8b1616 8,0x8a1414 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 10,0x8c1919 22,0x9c3838 13,0x902121 14,0x912323 14,0x912323 16,0x942828 14,0x912323 22,0x9c3838 15,0x932626 14,0x912323 31,0xa74f4f 10,0x8c1919 9,0x8b1616 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 9,0x8b1616 11,0x8e1c1c 16,0x942828 8,0x8a1414 8,0x8a1414 7,0x881111 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 8,0x8a1414 9,0x8b1616 37,0xaf5e5e 24,0x9e3d3d 19,0x983030 42,0xb56b6b 39,0xb16363 19,0x983030 20,0x993333 12,0x8f1e1e 11,0x8e1c1c 11,0x8e1c1c 10,0x8c1919 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 9,0x8b1616 15,0x932626 9,0x8b1616 7,0x881111 7,0x881111 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 8,0x8a1414 9,0x8b1616 11,0x8e1c1c 13,0x902121 15,0x932626 36,0xae5b5b 100,0xFFFFFF 47,0xbc7777 14,0x912323 11,0x8e1c1c 10,0x8c1919 9,0x8b1616 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 19,0x983030 9,0x8b1616 7,0x881111 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 8,0x8a1414 9,0x8b1616 10,0x8c1919 12,0x8f1e1e 18,0x972d2d 100,0xFFFFFF 100,0xFFFFFF 32,0xa85151 14,0x912323 10,0x8c1919 9,0x8b1616 9,0x8b1616 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 9,0x8b1616 7,0x881111 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 8,0x8a1414 8,0x8a1414 9,0x8b1616 10,0x8c1919 12,0x8f1e1e 22,0x9c3838 18,0x972d2d 17,0x952b2b 17,0x952b2b 15,0x932626 11,0x8e1c1c 9,0x8b1616 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 8,0x8a1414 8,0x8a1414 11,0x8e1c1c 12,0x8f1e1e 13,0x902121 15,0x932626 13,0x902121 12,0x8f1e1e 12,0x8f1e1e 13,0x902121 11,0x8e1c1c 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 10,0x8c1919 13,0x902121 16,0x942828 13,0x902121 11,0x8e1c1c 10,0x8c1919 10,0x8c1919 10,0x8c1919 9,0x8b1616 8,0x8a1414 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 9,0x8b1616 11,0x8e1c1c 13,0x902121 13,0x902121 11,0x8e1c1c 9,0x8b1616 9,0x8b1616 9,0x8b1616 8,0x8a1414 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 9,0x8b1616 10,0x8c1919 14,0x912323 13,0x902121 10,0x8c1919 9,0x8b1616 9,0x8b1616 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 10,0x8c1919 17,0x952b2b 14,0x912323 9,0x8b1616 9,0x8b1616 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 11,0x8e1c1c 21,0x9a3535 11,0x8e1c1c 10,0x8c1919 9,0x8b1616 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 9,0x8b1616 10,0x8c1919 12,0x8f1e1e 21,0x9a3535 12,0x8f1e1e 10,0x8c1919 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 9,0x8b1616 10,0x8c1919 12,0x8f1e1e 20,0x993333 12,0x8f1e1e 14,0x912323 12,0x8f1e1e 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 8,0x8a1414 9,0x8b1616 14,0x912323 14,0x912323 13,0x902121 10,0x8c1919 10,0x8c1919 10,0x8c1919 22,0x9c3838 10,0x8c1919 8,0x8a1414 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 8,0x8a1414 9,0x8b1616 16,0x942828 12,0x8f1e1e 10,0x8c1919 9,0x8b1616 8,0x8a1414 8,0x8a1414 8,0x8a1414 10,0x8c1919 15,0x932626 11,0x8e1c1c 7,0x881111 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 7,0x881111 8,0x8a1414 9,0x8b1616 10,0x8c1919 11,0x8e1c1c 9,0x8b1616 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 13,0x902121 8,0x8a1414 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 7,0x881111 12,0x8f1e1e 10,0x8c1919 10,0x8c1919 10,0x8c1919 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 7,0x881111 7,0x881111 8,0x8a1414 10,0x8c1919 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 diff --git a/maps/test_maps/elem.fdf b/maps/test_maps/elem.fdf new file mode 100644 index 0000000..4143430 --- /dev/null +++ b/maps/test_maps/elem.fdf @@ -0,0 +1,10 @@ +0 0 0 0 0 0 0 0 0 0 +0 10 10 10 10 10 10 10 10 0 +0 10 20 15 12 15 17 20 10 0 +0 10 15 10 12 15 15 15 10 0 +0 5 15 10 12 15 15 13 10 0 +0 5 10 5 7 12 12 12 10 0 +0 5 7 1 2 7 5 5 7 0 +0 3 0 0 1 2 2 2 5 0 +0 1 0 0 0 0 0 0 3 0 +0 0 0 0 0 0 0 0 0 0 diff --git a/maps/test_maps/elem2.fdf b/maps/test_maps/elem2.fdf new file mode 100644 index 0000000..d8f8f81 --- /dev/null +++ b/maps/test_maps/elem2.fdf @@ -0,0 +1,20 @@ +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 50 50 0 0 0 0 0 0 0 50 50 50 0 0 0 0 0 +0 0 0 50 50 0 0 0 0 0 0 0 50 50 50 50 0 0 0 0 +0 0 0 50 50 0 0 0 0 0 0 50 50 0 50 50 50 0 0 0 +0 0 0 50 50 0 0 0 0 0 0 50 50 0 0 50 50 0 0 0 +0 0 0 50 50 0 0 0 0 0 0 50 50 0 0 50 50 0 0 0 +0 0 0 50 50 0 0 0 0 0 0 0 0 0 0 50 50 0 0 0 +0 0 0 50 50 50 50 50 0 0 0 0 0 0 50 50 50 0 0 0 +0 0 0 50 50 50 50 50 0 0 0 0 0 50 50 50 0 0 0 0 +0 0 0 50 50 50 50 50 0 0 0 0 50 50 50 0 0 0 0 0 +0 0 0 0 0 50 50 0 0 0 0 50 50 50 0 0 0 0 0 0 +0 0 0 0 0 50 50 0 0 0 0 50 50 0 0 0 0 0 0 0 +0 0 0 0 0 50 50 0 0 0 0 50 50 50 50 50 50 0 0 0 +0 0 0 0 0 50 50 0 0 0 0 50 50 50 50 50 50 0 0 0 +0 0 0 0 0 50 50 0 0 0 0 50 50 50 50 50 50 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 diff --git a/maps/test_maps/julia.fdf b/maps/test_maps/julia.fdf new file mode 100644 index 0000000..499612a --- /dev/null +++ b/maps/test_maps/julia.fdf @@ -0,0 +1,500 @@ + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 11,0x8e1c1c 7,0x881111 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 14,0x912323 30,0xa64c4c 9,0x8b1616 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 7,0x881111 10,0x8c1919 25,0xa03f3f 96,0xfaf4f4 8,0x8a1414 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 7,0x881111 10,0x8c1919 17,0x952b2b 21,0x9a3535 50,0xc07f7f 8,0x8a1414 7,0x881111 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 9,0x8b1616 10,0x8c1919 64,0xd1a3a3 28,0xa34747 16,0x942828 11,0x8e1c1c 9,0x8b1616 7,0x881111 7,0x881111 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 7,0x881111 9,0x8b1616 21,0x9a3535 34,0xab5656 28,0xa34747 17,0x952b2b 14,0x912323 14,0x912323 10,0x8c1919 7,0x881111 7,0x881111 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 7,0x881111 9,0x8b1616 19,0x983030 93,0xf7eded 100,0xFFFFFF 34,0xab5656 52,0xc28484 69,0xd8afaf 20,0x993333 10,0x8c1919 8,0x8a1414 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 8,0x8a1414 13,0x902121 43,0xb76d6d 46,0xba7575 39,0xb16363 58,0xca9393 65,0xd3a5a5 37,0xaf5e5e 37,0xaf5e5e 16,0x942828 7,0x881111 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 8,0x8a1414 10,0x8c1919 13,0x902121 16,0x942828 28,0xa34747 43,0xb76d6d 36,0xae5b5b 32,0xa85151 12,0x8f1e1e 9,0x8b1616 7,0x881111 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 8,0x8a1414 9,0x8b1616 10,0x8c1919 11,0x8e1c1c 13,0x902121 15,0x932626 27,0xa24444 48,0xbd7a7a 100,0xFFFFFF 100,0xFFFFFF 9,0x8b1616 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 8,0x8a1414 8,0x8a1414 10,0x8c1919 11,0x8e1c1c 12,0x8f1e1e 14,0x912323 16,0x942828 22,0x9c3838 97,0xfcf7f7 36,0xae5b5b 100,0xFFFFFF 9,0x8b1616 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 8,0x8a1414 9,0x8b1616 10,0x8c1919 49,0xbe7c7c 47,0xbc7777 100,0xFFFFFF 52,0xc28484 20,0x993333 21,0x9a3535 56,0xc78e8e 100,0xFFFFFF 11,0x8e1c1c 9,0x8b1616 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 8,0x8a1414 75,0xe0bfbf 15,0x932626 21,0x9a3535 57,0xc89191 44,0xb87070 24,0x9e3d3d 23,0x9d3a3a 25,0xa03f3f 51,0xc18282 100,0xFFFFFF 23,0x9d3a3a 10,0x8c1919 9,0x8b1616 8,0x8a1414 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 8,0x8a1414 9,0x8b1616 100,0xFFFFFF 19,0x983030 29,0xa54949 80,0xe6cccc 34,0xab5656 18,0x972d2d 18,0x972d2d 28,0xa34747 100,0xFFFFFF 100,0xFFFFFF 11,0x8e1c1c 9,0x8b1616 9,0x8b1616 8,0x8a1414 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 11,0x8e1c1c 21,0x9a3535 62,0xcf9e9e 100,0xFFFFFF 33,0xaa5454 53,0xc38787 17,0x952b2b 16,0x942828 15,0x932626 13,0x902121 12,0x8f1e1e 11,0x8e1c1c 10,0x8c1919 9,0x8b1616 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 8,0x8a1414 9,0x8b1616 9,0x8b1616 11,0x8e1c1c 9,0x8b1616 10,0x8c1919 14,0x912323 44,0xb87070 100,0xFFFFFF 100,0xFFFFFF 38,0xb06060 22,0x9c3838 17,0x952b2b 15,0x932626 14,0x912323 13,0x902121 12,0x8f1e1e 11,0x8e1c1c 10,0x8c1919 9,0x8b1616 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 8,0x8a1414 22,0x9c3838 80,0xe6cccc 100,0xFFFFFF 90,0xf3e5e5 12,0x8f1e1e 13,0x902121 37,0xaf5e5e 92,0xf5eaea 100,0xFFFFFF 52,0xc28484 51,0xc18282 22,0x9c3838 15,0x932626 14,0x912323 13,0x902121 12,0x8f1e1e 11,0x8e1c1c 10,0x8c1919 10,0x8c1919 10,0x8c1919 9,0x8b1616 9,0x8b1616 9,0x8b1616 8,0x8a1414 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 7,0x881111 8,0x8a1414 20,0x993333 42,0xb56b6b 17,0x952b2b 73,0xddbaba 15,0x932626 15,0x932626 22,0x9c3838 100,0xFFFFFF 36,0xae5b5b 47,0xbc7777 27,0xa24444 37,0xaf5e5e 17,0x952b2b 15,0x932626 15,0x932626 13,0x902121 13,0x902121 16,0x942828 12,0x8f1e1e 13,0x902121 14,0x912323 10,0x8c1919 11,0x8e1c1c 44,0xb87070 9,0x8b1616 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 7,0x881111 7,0x881111 9,0x8b1616 11,0x8e1c1c 27,0xa24444 20,0x993333 17,0x952b2b 18,0x972d2d 42,0xb56b6b 44,0xb87070 36,0xae5b5b 34,0xab5656 29,0xa54949 30,0xa64c4c 34,0xab5656 20,0x993333 61,0xce9b9b 16,0x942828 17,0x952b2b 30,0xa64c4c 17,0x952b2b 53,0xc38787 17,0x952b2b 90,0xf3e5e5 42,0xb56b6b 25,0xa03f3f 11,0x8e1c1c 9,0x8b1616 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 8,0x8a1414 10,0x8c1919 39,0xb16363 34,0xab5656 39,0xb16363 25,0xa03f3f 82,0xe8d1d1 43,0xb76d6d 47,0xbc7777 100,0xFFFFFF 40,0xb36666 76,0xe1c1c1 67,0xd5aaaa 81,0xe7cece 26,0xa14242 20,0x993333 100,0xFFFFFF 47,0xbc7777 38,0xb06060 38,0xb06060 59,0xcb9696 40,0xb36666 22,0x9c3838 16,0x942828 12,0x8f1e1e 10,0x8c1919 9,0x8b1616 8,0x8a1414 9,0x8b1616 9,0x8b1616 8,0x8a1414 8,0x8a1414 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 8,0x8a1414 9,0x8b1616 37,0xaf5e5e 100,0xFFFFFF 41,0xb46868 41,0xb46868 59,0xcb9696 62,0xcf9e9e 62,0xcf9e9e 57,0xc89191 47,0xbc7777 45,0xb97272 68,0xd7adad 30,0xa64c4c 25,0xa03f3f 100,0xFFFFFF 39,0xb16363 100,0xFFFFFF 59,0xcb9696 73,0xddbaba 75,0xe0bfbf 71,0xdab5b5 100,0xFFFFFF 23,0x9d3a3a 69,0xd8afaf 36,0xae5b5b 13,0x902121 10,0x8c1919 11,0x8e1c1c 40,0xb36666 40,0xb36666 83,0xead3d3 8,0x8a1414 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 8,0x8a1414 9,0x8b1616 12,0x8f1e1e 27,0xa24444 31,0xa74f4f 44,0xb87070 63,0xd0a0a0 100,0xFFFFFF 89,0xf1e2e2 89,0xf1e2e2 100,0xFFFFFF 56,0xc78e8e 36,0xae5b5b 38,0xb06060 29,0xa54949 100,0xFFFFFF 62,0xcf9e9e 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 73,0xddbaba 42,0xb56b6b 37,0xaf5e5e 99,0xfefcfc 40,0xb36666 59,0xcb9696 20,0x993333 13,0x902121 100,0xFFFFFF 18,0x972d2d 10,0x8c1919 8,0x8a1414 7,0x881111 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 1,0x810202 1,0x810202 1,0x810202 1,0x810202 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 8,0x8a1414 9,0x8b1616 13,0x902121 16,0x942828 32,0xa85151 48,0xbd7a7a 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 86,0xeedbdb 100,0xFFFFFF 49,0xbe7c7c 36,0xae5b5b 33,0xaa5454 33,0xaa5454 74,0xdebcbc 52,0xc28484 64,0xd1a3a3 90,0xf3e5e5 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 33,0xaa5454 64,0xd1a3a3 23,0x9d3a3a 20,0x993333 26,0xa14242 17,0x952b2b 29,0xa54949 83,0xead3d3 9,0x8b1616 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 1,0x810202 1,0x810202 1,0x810202 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 8,0x8a1414 12,0x8f1e1e 24,0x9e3d3d 22,0x9c3838 60,0xcc9999 100,0xFFFFFF 73,0xddbaba 100,0xFFFFFF 100,0xFFFFFF 77,0xe2c4c4 57,0xc89191 100,0xFFFFFF 45,0xb97272 32,0xa85151 34,0xab5656 39,0xb16363 63,0xd0a0a0 68,0xd7adad 72,0xdcb7b7 83,0xead3d3 100,0xFFFFFF 78,0xe3c6c6 53,0xc38787 32,0xa85151 100,0xFFFFFF 18,0x972d2d 17,0x952b2b 70,0xd9b2b2 28,0xa34747 70,0xd9b2b2 15,0x932626 10,0x8c1919 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 1,0x810202 1,0x810202 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 8,0x8a1414 11,0x8e1c1c 12,0x8f1e1e 90,0xf3e5e5 100,0xFFFFFF 32,0xa85151 49,0xbe7c7c 99,0xfefcfc 100,0xFFFFFF 59,0xcb9696 46,0xba7575 100,0xFFFFFF 39,0xb16363 30,0xa64c4c 35,0xac5959 36,0xae5b5b 45,0xb97272 100,0xFFFFFF 81,0xe7cece 63,0xd0a0a0 72,0xdcb7b7 100,0xFFFFFF 47,0xbc7777 100,0xFFFFFF 20,0x993333 16,0x942828 15,0x932626 15,0x932626 26,0xa14242 24,0x9e3d3d 10,0x8c1919 8,0x8a1414 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 1,0x810202 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 9,0x8b1616 10,0x8c1919 11,0x8e1c1c 14,0x912323 18,0x972d2d 37,0xaf5e5e 40,0xb36666 97,0xfcf7f7 39,0xb16363 45,0xb97272 57,0xc89191 26,0xa14242 29,0xa54949 68,0xd7adad 82,0xe8d1d1 45,0xb97272 45,0xb97272 50,0xc07f7f 58,0xca9393 49,0xbe7c7c 41,0xb46868 41,0xb46868 34,0xab5656 83,0xead3d3 16,0x942828 14,0x912323 12,0x8f1e1e 11,0x8e1c1c 10,0x8c1919 9,0x8b1616 8,0x8a1414 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 8,0x8a1414 9,0x8b1616 10,0x8c1919 18,0x972d2d 22,0x9c3838 53,0xc38787 77,0xe2c4c4 22,0x9c3838 36,0xae5b5b 100,0xFFFFFF 46,0xba7575 22,0x9c3838 25,0xa03f3f 31,0xa74f4f 57,0xc89191 58,0xca9393 40,0xb36666 41,0xb46868 100,0xFFFFFF 54,0xc58989 36,0xae5b5b 35,0xac5959 28,0xa34747 23,0x9d3a3a 17,0x952b2b 14,0x912323 12,0x8f1e1e 10,0x8c1919 9,0x8b1616 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 9,0x8b1616 12,0x8f1e1e 13,0x902121 12,0x8f1e1e 14,0x912323 27,0xa24444 30,0xa64c4c 24,0x9e3d3d 18,0x972d2d 48,0xbd7a7a 31,0xa74f4f 60,0xcc9999 92,0xf5eaea 100,0xFFFFFF 87,0xefdddd 35,0xac5959 33,0xaa5454 33,0xaa5454 35,0xac5959 35,0xac5959 100,0xFFFFFF 37,0xaf5e5e 58,0xca9393 18,0x972d2d 13,0x902121 10,0x8c1919 9,0x8b1616 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 10,0x8c1919 11,0x8e1c1c 12,0x8f1e1e 54,0xc58989 14,0x912323 14,0x912323 15,0x932626 79,0xe5c9c9 20,0x993333 20,0x993333 59,0xcb9696 25,0xa03f3f 23,0x9d3a3a 25,0xa03f3f 28,0xa34747 55,0xc68c8c 36,0xae5b5b 39,0xb16363 69,0xd8afaf 100,0xFFFFFF 60,0xcc9999 43,0xb76d6d 43,0xb76d6d 12,0x8f1e1e 10,0x8c1919 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 10,0x8c1919 10,0x8c1919 11,0x8e1c1c 12,0x8f1e1e 12,0x8f1e1e 13,0x902121 14,0x912323 18,0x972d2d 16,0x942828 16,0x942828 17,0x952b2b 19,0x983030 23,0x9d3a3a 27,0xa24444 28,0xa34747 64,0xd1a3a3 40,0xb36666 100,0xFFFFFF 75,0xe0bfbf 100,0xFFFFFF 100,0xFFFFFF 72,0xdcb7b7 43,0xb76d6d 86,0xeedbdb 87,0xefdddd 9,0x8b1616 8,0x8a1414 8,0x8a1414 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 10,0x8c1919 10,0x8c1919 11,0x8e1c1c 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 13,0x902121 14,0x912323 15,0x932626 16,0x942828 18,0x972d2d 61,0xce9b9b 35,0xac5959 71,0xdab5b5 100,0xFFFFFF 49,0xbe7c7c 47,0xbc7777 61,0xce9b9b 100,0xFFFFFF 100,0xFFFFFF 76,0xe1c1c1 89,0xf1e2e2 17,0x952b2b 12,0x8f1e1e 9,0x8b1616 8,0x8a1414 8,0x8a1414 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 10,0x8c1919 10,0x8c1919 11,0x8e1c1c 11,0x8e1c1c 12,0x8f1e1e 12,0x8f1e1e 13,0x902121 14,0x912323 14,0x912323 15,0x932626 25,0xa03f3f 55,0xc68c8c 21,0x9a3535 37,0xaf5e5e 100,0xFFFFFF 80,0xe6cccc 51,0xc18282 55,0xc68c8c 64,0xd1a3a3 73,0xddbaba 61,0xce9b9b 39,0xb16363 100,0xFFFFFF 20,0x993333 10,0x8c1919 9,0x8b1616 8,0x8a1414 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 10,0x8c1919 10,0x8c1919 11,0x8e1c1c 11,0x8e1c1c 12,0x8f1e1e 12,0x8f1e1e 13,0x902121 14,0x912323 14,0x912323 14,0x912323 16,0x942828 17,0x952b2b 18,0x972d2d 21,0x9a3535 31,0xa74f4f 100,0xFFFFFF 42,0xb56b6b 94,0xf8efef 49,0xbe7c7c 48,0xbd7a7a 58,0xca9393 31,0xa74f4f 28,0xa34747 34,0xab5656 12,0x8f1e1e 14,0x912323 9,0x8b1616 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 9,0x8b1616 10,0x8c1919 10,0x8c1919 11,0x8e1c1c 11,0x8e1c1c 12,0x8f1e1e 12,0x8f1e1e 13,0x902121 14,0x912323 14,0x912323 14,0x912323 15,0x932626 16,0x942828 18,0x972d2d 19,0x983030 23,0x9d3a3a 26,0xa14242 30,0xa64c4c 36,0xae5b5b 38,0xb06060 42,0xb56b6b 98,0xfdf9f9 19,0x983030 19,0x983030 33,0xaa5454 38,0xb06060 19,0x983030 23,0x9d3a3a 8,0x8a1414 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 9,0x8b1616 10,0x8c1919 10,0x8c1919 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 12,0x8f1e1e 13,0x902121 13,0x902121 14,0x912323 14,0x912323 15,0x932626 16,0x942828 16,0x942828 17,0x952b2b 21,0x9a3535 32,0xa85151 30,0xa64c4c 34,0xab5656 38,0xb06060 38,0xb06060 33,0xaa5454 25,0xa03f3f 17,0x952b2b 15,0x932626 66,0xd4a8a8 73,0xddbaba 12,0x8f1e1e 9,0x8b1616 8,0x8a1414 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 10,0x8c1919 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 12,0x8f1e1e 13,0x902121 13,0x902121 13,0x902121 14,0x912323 15,0x932626 15,0x932626 16,0x942828 16,0x942828 17,0x952b2b 19,0x983030 23,0x9d3a3a 62,0xcf9e9e 85,0xecd8d8 46,0xba7575 54,0xc58989 59,0xcb9696 54,0xc58989 20,0x993333 13,0x902121 12,0x8f1e1e 11,0x8e1c1c 9,0x8b1616 9,0x8b1616 8,0x8a1414 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 10,0x8c1919 11,0x8e1c1c 11,0x8e1c1c 12,0x8f1e1e 13,0x902121 14,0x912323 14,0x912323 14,0x912323 15,0x932626 15,0x932626 15,0x932626 16,0x942828 16,0x942828 17,0x952b2b 17,0x952b2b 19,0x983030 20,0x993333 100,0xFFFFFF 75,0xe0bfbf 49,0xbe7c7c 66,0xd4a8a8 100,0xFFFFFF 82,0xe8d1d1 29,0xa54949 12,0x8f1e1e 11,0x8e1c1c 10,0x8c1919 9,0x8b1616 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 9,0x8b1616 9,0x8b1616 10,0x8c1919 10,0x8c1919 10,0x8c1919 12,0x8f1e1e 77,0xe2c4c4 13,0x902121 13,0x902121 16,0x942828 51,0xc18282 17,0x952b2b 24,0x9e3d3d 18,0x972d2d 18,0x972d2d 17,0x952b2b 17,0x952b2b 17,0x952b2b 17,0x952b2b 18,0x972d2d 19,0x983030 21,0x9a3535 24,0x9e3d3d 32,0xa85151 88,0xf0e0e0 65,0xd3a5a5 100,0xFFFFFF 100,0xFFFFFF 53,0xc38787 13,0x902121 10,0x8c1919 10,0x8c1919 9,0x8b1616 8,0x8a1414 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 9,0x8b1616 12,0x8f1e1e 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 13,0x902121 36,0xae5b5b 17,0x952b2b 53,0xc38787 45,0xb97272 28,0xa34747 100,0xFFFFFF 56,0xc78e8e 77,0xe2c4c4 39,0xb16363 21,0x9a3535 20,0x993333 18,0x972d2d 18,0x972d2d 18,0x972d2d 19,0x983030 62,0xcf9e9e 53,0xc38787 31,0xa74f4f 45,0xb97272 59,0xcb9696 53,0xc38787 52,0xc28484 81,0xe7cece 13,0x902121 10,0x8c1919 9,0x8b1616 9,0x8b1616 8,0x8a1414 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 10,0x8c1919 43,0xb76d6d 41,0xb46868 13,0x902121 12,0x8f1e1e 14,0x912323 22,0x9c3838 39,0xb16363 55,0xc68c8c 78,0xe3c6c6 95,0xf9f2f2 44,0xb87070 47,0xbc7777 85,0xecd8d8 67,0xd5aaaa 51,0xc18282 64,0xd1a3a3 26,0xa14242 19,0x983030 19,0x983030 19,0x983030 20,0x993333 23,0x9d3a3a 56,0xc78e8e 75,0xe0bfbf 39,0xb16363 38,0xb06060 85,0xecd8d8 30,0xa64c4c 60,0xcc9999 12,0x8f1e1e 10,0x8c1919 9,0x8b1616 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 9,0x8b1616 11,0x8e1c1c 14,0x912323 31,0xa74f4f 16,0x942828 15,0x932626 27,0xa24444 100,0xFFFFFF 57,0xc89191 43,0xb76d6d 45,0xb97272 52,0xc28484 44,0xb87070 37,0xaf5e5e 27,0xa24444 27,0xa24444 27,0xa24444 31,0xa74f4f 70,0xd9b2b2 22,0x9c3838 20,0x993333 20,0x993333 21,0x9a3535 24,0x9e3d3d 100,0xFFFFFF 51,0xc18282 59,0xcb9696 44,0xb87070 21,0x9a3535 19,0x983030 100,0xFFFFFF 81,0xe7cece 11,0x8e1c1c 9,0x8b1616 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 8,0x8a1414 9,0x8b1616 9,0x8b1616 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 10,0x8c1919 12,0x8f1e1e 100,0xFFFFFF 22,0x9c3838 18,0x972d2d 19,0x983030 39,0xb16363 100,0xFFFFFF 77,0xe2c4c4 74,0xdebcbc 39,0xb16363 74,0xdebcbc 44,0xb87070 26,0xa14242 23,0x9d3a3a 23,0x9d3a3a 25,0xa03f3f 31,0xa74f4f 47,0xbc7777 23,0x9d3a3a 22,0x9c3838 22,0x9c3838 25,0xa03f3f 57,0xc89191 35,0xac5959 100,0xFFFFFF 100,0xFFFFFF 75,0xe0bfbf 18,0x972d2d 15,0x932626 49,0xbe7c7c 16,0x942828 11,0x8e1c1c 9,0x8b1616 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 8,0x8a1414 18,0x972d2d 48,0xbd7a7a 11,0x8e1c1c 14,0x912323 11,0x8e1c1c 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 32,0xa85151 16,0x942828 64,0xd1a3a3 34,0xab5656 25,0xa03f3f 30,0xa64c4c 57,0xc89191 65,0xd3a5a5 55,0xc68c8c 44,0xb87070 30,0xa64c4c 100,0xFFFFFF 24,0x9e3d3d 21,0x9a3535 21,0x9a3535 22,0x9c3838 28,0xa34747 34,0xab5656 28,0xa34747 24,0x9e3d3d 24,0x9e3d3d 26,0xa14242 29,0xa54949 100,0xFFFFFF 40,0xb36666 74,0xdebcbc 100,0xFFFFFF 55,0xc68c8c 16,0x942828 13,0x902121 12,0x8f1e1e 11,0x8e1c1c 10,0x8c1919 9,0x8b1616 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 8,0x8a1414 11,0x8e1c1c 30,0xa64c4c 82,0xe8d1d1 32,0xa85151 16,0x942828 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 50,0xc07f7f 46,0xba7575 47,0xbc7777 100,0xFFFFFF 52,0xc28484 43,0xb76d6d 37,0xaf5e5e 41,0xb46868 100,0xFFFFFF 74,0xdebcbc 72,0xdcb7b7 24,0x9e3d3d 22,0x9c3838 20,0x993333 20,0x993333 20,0x993333 37,0xaf5e5e 77,0xe2c4c4 29,0xa54949 27,0xa24444 27,0xa24444 100,0xFFFFFF 35,0xac5959 54,0xc58989 56,0xc78e8e 32,0xa85151 30,0xa64c4c 100,0xFFFFFF 14,0x912323 12,0x8f1e1e 11,0x8e1c1c 10,0x8c1919 10,0x8c1919 9,0x8b1616 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 12,0x8f1e1e 100,0xFFFFFF 62,0xcf9e9e 28,0xa34747 80,0xe6cccc 14,0x912323 12,0x8f1e1e 12,0x8f1e1e 14,0x912323 22,0x9c3838 51,0xc18282 83,0xead3d3 86,0xeedbdb 95,0xf9f2f2 78,0xe3c6c6 38,0xb06060 39,0xb16363 54,0xc58989 49,0xbe7c7c 33,0xaa5454 21,0x9a3535 19,0x983030 19,0x983030 19,0x983030 19,0x983030 22,0x9c3838 68,0xd7adad 49,0xbe7c7c 100,0xFFFFFF 38,0xb06060 54,0xc58989 43,0xb76d6d 76,0xe1c1c1 100,0xFFFFFF 35,0xac5959 21,0x9a3535 19,0x983030 13,0x902121 11,0x8e1c1c 10,0x8c1919 10,0x8c1919 10,0x8c1919 9,0x8b1616 9,0x8b1616 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 9,0x8b1616 10,0x8c1919 12,0x8f1e1e 15,0x932626 21,0x9a3535 87,0xefdddd 16,0x942828 13,0x902121 13,0x902121 16,0x942828 61,0xce9b9b 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 78,0xe3c6c6 78,0xe3c6c6 99,0xfefcfc 31,0xa74f4f 30,0xa64c4c 35,0xac5959 23,0x9d3a3a 20,0x993333 19,0x983030 18,0x972d2d 18,0x972d2d 18,0x972d2d 18,0x972d2d 21,0x9a3535 37,0xaf5e5e 88,0xf0e0e0 51,0xc18282 100,0xFFFFFF 31,0xa74f4f 35,0xac5959 28,0xa34747 16,0x942828 16,0x942828 68,0xd7adad 13,0x902121 11,0x8e1c1c 10,0x8c1919 10,0x8c1919 10,0x8c1919 9,0x8b1616 9,0x8b1616 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 9,0x8b1616 10,0x8c1919 12,0x8f1e1e 100,0xFFFFFF 25,0xa03f3f 25,0xa03f3f 16,0x942828 15,0x932626 15,0x932626 20,0x993333 100,0xFFFFFF 69,0xd8afaf 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 57,0xc89191 53,0xc38787 52,0xc28484 27,0xa24444 48,0xbd7a7a 99,0xfefcfc 20,0x993333 18,0x972d2d 17,0x952b2b 17,0x952b2b 17,0x952b2b 17,0x952b2b 18,0x972d2d 19,0x983030 20,0x993333 31,0xa74f4f 67,0xd5aaaa 19,0x983030 36,0xae5b5b 16,0x942828 14,0x912323 13,0x902121 13,0x902121 11,0x8e1c1c 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 9,0x8b1616 9,0x8b1616 9,0x8b1616 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 100,0xFFFFFF 13,0x902121 10,0x8c1919 7,0x881111 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 9,0x8b1616 9,0x8b1616 11,0x8e1c1c 14,0x912323 61,0xce9b9b 23,0x9d3a3a 19,0x983030 17,0x952b2b 16,0x942828 18,0x972d2d 21,0x9a3535 89,0xf1e2e2 49,0xbe7c7c 59,0xcb9696 71,0xdab5b5 100,0xFFFFFF 48,0xbd7a7a 88,0xf0e0e0 95,0xf9f2f2 25,0xa03f3f 22,0x9c3838 20,0x993333 18,0x972d2d 17,0x952b2b 17,0x952b2b 17,0x952b2b 17,0x952b2b 16,0x942828 16,0x942828 16,0x942828 17,0x952b2b 18,0x972d2d 16,0x942828 16,0x942828 18,0x972d2d 14,0x912323 13,0x902121 12,0x8f1e1e 12,0x8f1e1e 11,0x8e1c1c 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 9,0x8b1616 9,0x8b1616 8,0x8a1414 9,0x8b1616 10,0x8c1919 98,0xfdf9f9 18,0x972d2d 9,0x8b1616 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 9,0x8b1616 10,0x8c1919 12,0x8f1e1e 23,0x9d3a3a 40,0xb36666 28,0xa34747 21,0x9a3535 19,0x983030 19,0x983030 25,0xa03f3f 26,0xa14242 100,0xFFFFFF 100,0xFFFFFF 57,0xc89191 85,0xecd8d8 46,0xba7575 48,0xbd7a7a 63,0xd0a0a0 100,0xFFFFFF 38,0xb06060 21,0x9a3535 19,0x983030 18,0x972d2d 17,0x952b2b 17,0x952b2b 16,0x942828 16,0x942828 16,0x942828 16,0x942828 15,0x932626 15,0x932626 14,0x912323 14,0x912323 14,0x912323 14,0x912323 13,0x902121 12,0x8f1e1e 12,0x8f1e1e 11,0x8e1c1c 11,0x8e1c1c 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 11,0x8e1c1c 84,0xebd6d6 9,0x8b1616 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 9,0x8b1616 100,0xFFFFFF 14,0x912323 50,0xc07f7f 16,0x942828 20,0x993333 16,0x942828 42,0xb56b6b 12,0x8f1e1e 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 9,0x8b1616 10,0x8c1919 11,0x8e1c1c 14,0x912323 63,0xd0a0a0 93,0xf7eded 54,0xc58989 35,0xac5959 25,0xa03f3f 29,0xa54949 55,0xc68c8c 30,0xa64c4c 30,0xa64c4c 100,0xFFFFFF 40,0xb36666 39,0xb16363 40,0xb36666 99,0xfefcfc 60,0xcc9999 68,0xd7adad 32,0xa85151 23,0x9d3a3a 19,0x983030 18,0x972d2d 17,0x952b2b 16,0x942828 16,0x942828 15,0x932626 15,0x932626 15,0x932626 15,0x932626 14,0x912323 14,0x912323 14,0x912323 13,0x902121 13,0x902121 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 11,0x8e1c1c 11,0x8e1c1c 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 16,0x942828 35,0xac5959 15,0x932626 10,0x8c1919 9,0x8b1616 8,0x8a1414 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 8,0x8a1414 10,0x8c1919 100,0xFFFFFF 18,0x972d2d 54,0xc58989 33,0xaa5454 20,0x993333 25,0xa03f3f 22,0x9c3838 9,0x8b1616 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 12,0x8f1e1e 15,0x932626 13,0x902121 14,0x912323 28,0xa34747 62,0xcf9e9e 39,0xb16363 32,0xa85151 30,0xa64c4c 65,0xd3a5a5 59,0xcb9696 47,0xbc7777 40,0xb36666 35,0xac5959 36,0xae5b5b 37,0xaf5e5e 40,0xb36666 84,0xebd6d6 44,0xb87070 45,0xb97272 98,0xfdf9f9 21,0x9a3535 19,0x983030 18,0x972d2d 17,0x952b2b 16,0x942828 15,0x932626 15,0x932626 15,0x932626 15,0x932626 14,0x912323 14,0x912323 14,0x912323 13,0x902121 13,0x902121 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 11,0x8e1c1c 11,0x8e1c1c 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 9,0x8b1616 10,0x8c1919 39,0xb16363 52,0xc28484 67,0xd5aaaa 18,0x972d2d 12,0x8f1e1e 9,0x8b1616 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 60,0xcc9999 37,0xaf5e5e 54,0xc58989 52,0xc28484 63,0xd0a0a0 16,0x942828 13,0x902121 11,0x8e1c1c 9,0x8b1616 8,0x8a1414 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 9,0x8b1616 14,0x912323 36,0xae5b5b 30,0xa64c4c 17,0x952b2b 32,0xa85151 33,0xaa5454 38,0xb06060 90,0xf3e5e5 47,0xbc7777 46,0xba7575 48,0xbd7a7a 41,0xb46868 38,0xb06060 37,0xaf5e5e 35,0xac5959 35,0xac5959 100,0xFFFFFF 46,0xba7575 30,0xa64c4c 31,0xa74f4f 47,0xbc7777 24,0x9e3d3d 29,0xa54949 18,0x972d2d 17,0x952b2b 16,0x942828 15,0x932626 15,0x932626 15,0x932626 14,0x912323 14,0x912323 14,0x912323 13,0x902121 13,0x902121 13,0x902121 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 10,0x8c1919 11,0x8e1c1c 15,0x932626 23,0x9d3a3a 44,0xb87070 30,0xa64c4c 12,0x8f1e1e 10,0x8c1919 9,0x8b1616 9,0x8b1616 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 10,0x8c1919 13,0x902121 49,0xbe7c7c 100,0xFFFFFF 57,0xc89191 61,0xce9b9b 19,0x983030 13,0x902121 10,0x8c1919 9,0x8b1616 8,0x8a1414 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 8,0x8a1414 10,0x8c1919 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 10,0x8c1919 11,0x8e1c1c 15,0x932626 43,0xb76d6d 21,0x9a3535 30,0xa64c4c 56,0xc78e8e 45,0xb97272 56,0xc78e8e 58,0xca9393 52,0xc28484 59,0xcb9696 100,0xFFFFFF 81,0xe7cece 42,0xb56b6b 38,0xb06060 33,0xaa5454 31,0xa74f4f 29,0xa54949 27,0xa24444 29,0xa54949 37,0xaf5e5e 30,0xa64c4c 39,0xb16363 31,0xa74f4f 16,0x942828 16,0x942828 15,0x932626 15,0x932626 15,0x932626 14,0x912323 14,0x912323 14,0x912323 13,0x902121 13,0x902121 13,0x902121 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 10,0x8c1919 10,0x8c1919 12,0x8f1e1e 10,0x8c1919 10,0x8c1919 9,0x8b1616 9,0x8b1616 9,0x8b1616 10,0x8c1919 10,0x8c1919 11,0x8e1c1c 12,0x8f1e1e 14,0x912323 17,0x952b2b 22,0x9c3838 55,0xc68c8c 17,0x952b2b 10,0x8c1919 10,0x8c1919 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 10,0x8c1919 11,0x8e1c1c 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 10,0x8c1919 10,0x8c1919 13,0x902121 32,0xa85151 64,0xd1a3a3 64,0xd1a3a3 33,0xaa5454 40,0xb36666 48,0xbd7a7a 13,0x902121 10,0x8c1919 8,0x8a1414 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 7,0x881111 8,0x8a1414 32,0xa85151 14,0x912323 88,0xf0e0e0 9,0x8b1616 9,0x8b1616 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 21,0x9a3535 11,0x8e1c1c 9,0x8b1616 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 10,0x8c1919 11,0x8e1c1c 44,0xb87070 56,0xc78e8e 100,0xFFFFFF 36,0xae5b5b 51,0xc18282 100,0xFFFFFF 65,0xd3a5a5 99,0xfefcfc 67,0xd5aaaa 100,0xFFFFFF 100,0xFFFFFF 49,0xbe7c7c 62,0xcf9e9e 100,0xFFFFFF 46,0xba7575 30,0xa64c4c 28,0xa34747 26,0xa14242 26,0xa14242 41,0xb46868 50,0xc07f7f 25,0xa03f3f 18,0x972d2d 16,0x942828 16,0x942828 15,0x932626 15,0x932626 15,0x932626 14,0x912323 14,0x912323 13,0x902121 13,0x902121 13,0x902121 13,0x902121 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 10,0x8c1919 10,0x8c1919 10,0x8c1919 12,0x8f1e1e 92,0xf5eaea 12,0x8f1e1e 10,0x8c1919 10,0x8c1919 10,0x8c1919 11,0x8e1c1c 12,0x8f1e1e 14,0x912323 13,0x902121 17,0x952b2b 67,0xd5aaaa 100,0xFFFFFF 22,0x9c3838 58,0xca9393 14,0x912323 11,0x8e1c1c 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 11,0x8e1c1c 13,0x902121 100,0xFFFFFF 11,0x8e1c1c 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 11,0x8e1c1c 12,0x8f1e1e 16,0x942828 22,0x9c3838 29,0xa54949 39,0xb16363 100,0xFFFFFF 100,0xFFFFFF 25,0xa03f3f 12,0x8f1e1e 9,0x8b1616 8,0x8a1414 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 7,0x881111 9,0x8b1616 45,0xb97272 37,0xaf5e5e 43,0xb76d6d 52,0xc28484 10,0x8c1919 10,0x8c1919 10,0x8c1919 11,0x8e1c1c 16,0x942828 18,0x972d2d 72,0xdcb7b7 10,0x8c1919 9,0x8b1616 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 10,0x8c1919 12,0x8f1e1e 14,0x912323 62,0xcf9e9e 42,0xb56b6b 100,0xFFFFFF 64,0xd1a3a3 81,0xe7cece 93,0xf7eded 86,0xeedbdb 77,0xe2c4c4 69,0xd8afaf 61,0xce9b9b 56,0xc78e8e 91,0xf4e8e8 100,0xFFFFFF 60,0xcc9999 36,0xae5b5b 33,0xaa5454 25,0xa03f3f 24,0x9e3d3d 22,0x9c3838 20,0x993333 19,0x983030 18,0x972d2d 17,0x952b2b 16,0x942828 15,0x932626 15,0x932626 15,0x932626 14,0x912323 14,0x912323 13,0x902121 13,0x902121 13,0x902121 13,0x902121 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 12,0x8f1e1e 43,0xb76d6d 38,0xb06060 100,0xFFFFFF 13,0x902121 12,0x8f1e1e 11,0x8e1c1c 12,0x8f1e1e 33,0xaa5454 20,0x993333 94,0xf8efef 80,0xe6cccc 26,0xa14242 25,0xa03f3f 67,0xd5aaaa 31,0xa74f4f 14,0x912323 12,0x8f1e1e 11,0x8e1c1c 11,0x8e1c1c 12,0x8f1e1e 18,0x972d2d 15,0x932626 67,0xd5aaaa 43,0xb76d6d 13,0x902121 11,0x8e1c1c 12,0x8f1e1e 14,0x912323 11,0x8e1c1c 11,0x8e1c1c 12,0x8f1e1e 13,0x902121 14,0x912323 23,0x9d3a3a 53,0xc38787 100,0xFFFFFF 58,0xca9393 65,0xd3a5a5 43,0xb76d6d 54,0xc58989 11,0x8e1c1c 9,0x8b1616 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 8,0x8a1414 11,0x8e1c1c 14,0x912323 20,0x993333 100,0xFFFFFF 12,0x8f1e1e 12,0x8f1e1e 16,0x942828 22,0x9c3838 50,0xc07f7f 18,0x972d2d 14,0x912323 12,0x8f1e1e 10,0x8c1919 10,0x8c1919 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 11,0x8e1c1c 15,0x932626 18,0x972d2d 20,0x993333 74,0xdebcbc 81,0xe7cece 77,0xe2c4c4 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 93,0xf7eded 100,0xFFFFFF 100,0xFFFFFF 58,0xca9393 59,0xcb9696 100,0xFFFFFF 44,0xb87070 40,0xb36666 31,0xa74f4f 27,0xa24444 24,0x9e3d3d 22,0x9c3838 20,0x993333 19,0x983030 17,0x952b2b 17,0x952b2b 16,0x942828 15,0x932626 15,0x932626 15,0x932626 14,0x912323 14,0x912323 13,0x902121 13,0x902121 13,0x902121 13,0x902121 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 11,0x8e1c1c 11,0x8e1c1c 12,0x8f1e1e 15,0x932626 19,0x983030 28,0xa34747 18,0x972d2d 13,0x902121 13,0x902121 18,0x972d2d 90,0xf3e5e5 89,0xf1e2e2 40,0xb36666 62,0xcf9e9e 22,0x9c3838 19,0x983030 18,0x972d2d 16,0x942828 14,0x912323 13,0x902121 13,0x902121 78,0xe3c6c6 27,0xa24444 22,0x9c3838 69,0xd8afaf 34,0xab5656 18,0x972d2d 16,0x942828 100,0xFFFFFF 55,0xc68c8c 17,0x952b2b 16,0x942828 25,0xa03f3f 13,0x902121 14,0x912323 14,0x912323 16,0x942828 20,0x993333 27,0xa24444 37,0xaf5e5e 46,0xba7575 19,0x983030 100,0xFFFFFF 64,0xd1a3a3 19,0x983030 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 8,0x8a1414 10,0x8c1919 16,0x942828 22,0x9c3838 16,0x942828 14,0x912323 100,0xFFFFFF 52,0xc28484 100,0xFFFFFF 62,0xcf9e9e 100,0xFFFFFF 100,0xFFFFFF 64,0xd1a3a3 18,0x972d2d 17,0x952b2b 12,0x8f1e1e 10,0x8c1919 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 10,0x8c1919 12,0x8f1e1e 63,0xd0a0a0 29,0xa54949 24,0x9e3d3d 33,0xaa5454 58,0xca9393 86,0xeedbdb 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 81,0xe7cece 100,0xFFFFFF 100,0xFFFFFF 52,0xc28484 51,0xc18282 48,0xbd7a7a 37,0xaf5e5e 47,0xbc7777 74,0xdebcbc 100,0xFFFFFF 26,0xa14242 22,0x9c3838 19,0x983030 17,0x952b2b 17,0x952b2b 16,0x942828 16,0x942828 15,0x932626 15,0x932626 14,0x912323 14,0x912323 13,0x902121 13,0x902121 13,0x902121 13,0x902121 13,0x902121 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 12,0x8f1e1e 13,0x902121 15,0x932626 40,0xb36666 27,0xa24444 23,0x9d3a3a 15,0x932626 15,0x932626 92,0xf5eaea 100,0xFFFFFF 100,0xFFFFFF 78,0xe3c6c6 29,0xa54949 22,0x9c3838 19,0x983030 17,0x952b2b 16,0x942828 15,0x932626 14,0x912323 16,0x942828 52,0xc28484 100,0xFFFFFF 62,0xcf9e9e 53,0xc38787 44,0xb87070 36,0xae5b5b 100,0xFFFFFF 100,0xFFFFFF 63,0xd0a0a0 64,0xd1a3a3 80,0xe6cccc 50,0xc07f7f 25,0xa03f3f 16,0x942828 16,0x942828 16,0x942828 20,0x993333 45,0xb97272 42,0xb56b6b 56,0xc78e8e 23,0x9d3a3a 13,0x902121 12,0x8f1e1e 9,0x8b1616 8,0x8a1414 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 8,0x8a1414 10,0x8c1919 69,0xd8afaf 33,0xaa5454 21,0x9a3535 21,0x9a3535 29,0xa54949 100,0xFFFFFF 85,0xecd8d8 55,0xc68c8c 36,0xae5b5b 62,0xcf9e9e 100,0xFFFFFF 30,0xa64c4c 18,0x972d2d 13,0x902121 11,0x8e1c1c 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 11,0x8e1c1c 12,0x8f1e1e 13,0x902121 28,0xa34747 55,0xc68c8c 41,0xb46868 55,0xc68c8c 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 78,0xe3c6c6 100,0xFFFFFF 94,0xf8efef 50,0xc07f7f 47,0xbc7777 44,0xb87070 56,0xc78e8e 100,0xFFFFFF 67,0xd5aaaa 100,0xFFFFFF 94,0xf8efef 37,0xaf5e5e 22,0x9c3838 18,0x972d2d 17,0x952b2b 17,0x952b2b 16,0x942828 16,0x942828 15,0x932626 14,0x912323 14,0x912323 13,0x902121 13,0x902121 13,0x902121 13,0x902121 13,0x902121 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 21,0x9a3535 16,0x942828 68,0xd7adad 27,0xa24444 22,0x9c3838 18,0x972d2d 17,0x952b2b 18,0x972d2d 100,0xFFFFFF 94,0xf8efef 73,0xddbaba 50,0xc07f7f 100,0xFFFFFF 23,0x9d3a3a 20,0x993333 17,0x952b2b 17,0x952b2b 16,0x942828 17,0x952b2b 47,0xbc7777 52,0xc28484 77,0xe2c4c4 100,0xFFFFFF 83,0xead3d3 80,0xe6cccc 39,0xb16363 86,0xeedbdb 86,0xeedbdb 73,0xddbaba 74,0xdebcbc 100,0xFFFFFF 78,0xe3c6c6 100,0xFFFFFF 100,0xFFFFFF 18,0x972d2d 18,0x972d2d 21,0x9a3535 28,0xa34747 100,0xFFFFFF 100,0xFFFFFF 48,0xbd7a7a 11,0x8e1c1c 9,0x8b1616 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 8,0x8a1414 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 8,0x8a1414 10,0x8c1919 65,0xd3a5a5 55,0xc68c8c 29,0xa54949 56,0xc78e8e 33,0xaa5454 70,0xd9b2b2 48,0xbd7a7a 60,0xcc9999 100,0xFFFFFF 48,0xbd7a7a 100,0xFFFFFF 37,0xaf5e5e 30,0xa64c4c 100,0xFFFFFF 12,0x8f1e1e 11,0x8e1c1c 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 11,0x8e1c1c 11,0x8e1c1c 12,0x8f1e1e 13,0x902121 58,0xca9393 45,0xb97272 39,0xb16363 51,0xc18282 68,0xd7adad 86,0xeedbdb 100,0xFFFFFF 100,0xFFFFFF 87,0xefdddd 71,0xdab5b5 74,0xdebcbc 58,0xca9393 50,0xc07f7f 47,0xbc7777 45,0xb97272 61,0xce9b9b 80,0xe6cccc 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 62,0xcf9e9e 91,0xf4e8e8 20,0x993333 18,0x972d2d 18,0x972d2d 17,0x952b2b 16,0x942828 16,0x942828 15,0x932626 14,0x912323 14,0x912323 13,0x902121 13,0x902121 13,0x902121 13,0x902121 13,0x902121 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 12,0x8f1e1e 12,0x8f1e1e 13,0x902121 22,0x9c3838 14,0x912323 13,0x902121 12,0x8f1e1e 13,0x902121 13,0x902121 26,0xa14242 27,0xa24444 45,0xb97272 29,0xa54949 21,0x9a3535 19,0x983030 19,0x983030 26,0xa14242 29,0xa54949 97,0xfcf7f7 100,0xFFFFFF 42,0xb56b6b 40,0xb36666 35,0xac5959 28,0xa34747 19,0x983030 19,0x983030 100,0xFFFFFF 20,0x993333 97,0xfcf7f7 47,0xbc7777 74,0xdebcbc 100,0xFFFFFF 90,0xf3e5e5 62,0xcf9e9e 100,0xFFFFFF 38,0xb06060 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 23,0x9d3a3a 22,0x9c3838 24,0x9e3d3d 32,0xa85151 21,0x9a3535 20,0x993333 22,0x9c3838 44,0xb87070 39,0xb16363 38,0xb06060 55,0xc68c8c 10,0x8c1919 9,0x8b1616 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 14,0x912323 15,0x932626 29,0xa54949 7,0x881111 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 9,0x8b1616 11,0x8e1c1c 15,0x932626 76,0xe1c1c1 59,0xcb9696 100,0xFFFFFF 59,0xcb9696 45,0xb97272 62,0xcf9e9e 25,0xa03f3f 32,0xa85151 100,0xFFFFFF 30,0xa64c4c 46,0xba7575 89,0xf1e2e2 35,0xac5959 30,0xa64c4c 12,0x8f1e1e 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 12,0x8f1e1e 14,0x912323 17,0x952b2b 21,0x9a3535 28,0xa34747 59,0xcb9696 100,0xFFFFFF 67,0xd5aaaa 77,0xe2c4c4 87,0xefdddd 100,0xFFFFFF 67,0xd5aaaa 72,0xdcb7b7 82,0xe8d1d1 59,0xcb9696 46,0xba7575 46,0xba7575 47,0xbc7777 77,0xe2c4c4 100,0xFFFFFF 100,0xFFFFFF 66,0xd4a8a8 42,0xb56b6b 100,0xFFFFFF 22,0x9c3838 19,0x983030 19,0x983030 23,0x9d3a3a 21,0x9a3535 19,0x983030 16,0x942828 14,0x912323 14,0x912323 14,0x912323 13,0x902121 13,0x902121 13,0x902121 13,0x902121 13,0x902121 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 11,0x8e1c1c 11,0x8e1c1c 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 13,0x902121 20,0x993333 49,0xbe7c7c 100,0xFFFFFF 18,0x972d2d 14,0x912323 14,0x912323 16,0x942828 37,0xaf5e5e 94,0xf8efef 100,0xFFFFFF 40,0xb36666 25,0xa03f3f 23,0x9d3a3a 22,0x9c3838 49,0xbe7c7c 31,0xa74f4f 35,0xac5959 38,0xb06060 37,0xaf5e5e 33,0xaa5454 28,0xa34747 25,0xa03f3f 27,0xa24444 56,0xc78e8e 33,0xaa5454 25,0xa03f3f 55,0xc68c8c 58,0xca9393 60,0xcc9999 69,0xd8afaf 100,0xFFFFFF 61,0xce9b9b 100,0xFFFFFF 30,0xa64c4c 33,0xaa5454 26,0xa14242 21,0x9a3535 19,0x983030 20,0x993333 58,0xca9393 29,0xa54949 23,0x9d3a3a 23,0x9d3a3a 32,0xa85151 54,0xc58989 64,0xd1a3a3 18,0x972d2d 19,0x983030 11,0x8e1c1c 9,0x8b1616 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 26,0xa14242 83,0xead3d3 11,0x8e1c1c 8,0x8a1414 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 12,0x8f1e1e 93,0xf7eded 22,0x9c3838 34,0xab5656 100,0xFFFFFF 100,0xFFFFFF 90,0xf3e5e5 24,0x9e3d3d 23,0x9d3a3a 18,0x972d2d 26,0xa14242 20,0x993333 27,0xa24444 38,0xb06060 37,0xaf5e5e 43,0xb76d6d 16,0x942828 13,0x902121 12,0x8f1e1e 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 12,0x8f1e1e 13,0x902121 24,0x9e3d3d 25,0xa03f3f 25,0xa03f3f 31,0xa74f4f 36,0xae5b5b 100,0xFFFFFF 57,0xc89191 100,0xFFFFFF 100,0xFFFFFF 60,0xcc9999 100,0xFFFFFF 78,0xe3c6c6 100,0xFFFFFF 68,0xd7adad 43,0xb76d6d 45,0xb97272 48,0xbd7a7a 54,0xc58989 57,0xc89191 100,0xFFFFFF 57,0xc89191 50,0xc07f7f 100,0xFFFFFF 31,0xa74f4f 22,0x9c3838 22,0x9c3838 88,0xf0e0e0 62,0xcf9e9e 64,0xd1a3a3 17,0x952b2b 15,0x932626 14,0x912323 14,0x912323 14,0x912323 13,0x902121 13,0x902121 13,0x902121 13,0x902121 13,0x902121 13,0x902121 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 13,0x902121 14,0x912323 16,0x942828 33,0xaa5454 25,0xa03f3f 46,0xba7575 17,0x952b2b 16,0x942828 18,0x972d2d 53,0xc38787 100,0xFFFFFF 84,0xebd6d6 62,0xcf9e9e 33,0xaa5454 28,0xa34747 64,0xd1a3a3 64,0xd1a3a3 53,0xc38787 39,0xb16363 39,0xb16363 39,0xb16363 35,0xac5959 50,0xc07f7f 81,0xe7cece 100,0xFFFFFF 75,0xe0bfbf 31,0xa74f4f 29,0xa54949 32,0xa85151 100,0xFFFFFF 50,0xc07f7f 100,0xFFFFFF 68,0xd7adad 47,0xbc7777 37,0xaf5e5e 27,0xa24444 48,0xbd7a7a 57,0xc89191 19,0x983030 18,0x972d2d 18,0x972d2d 42,0xb56b6b 46,0xba7575 33,0xaa5454 34,0xab5656 86,0xeedbdb 77,0xe2c4c4 31,0xa74f4f 13,0x902121 12,0x8f1e1e 10,0x8c1919 8,0x8a1414 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 9,0x8b1616 10,0x8c1919 12,0x8f1e1e 57,0xc89191 100,0xFFFFFF 9,0x8b1616 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 9,0x8b1616 10,0x8c1919 16,0x942828 21,0x9a3535 60,0xcc9999 44,0xb87070 27,0xa24444 16,0x942828 16,0x942828 16,0x942828 16,0x942828 18,0x972d2d 20,0x993333 25,0xa03f3f 100,0xFFFFFF 66,0xd4a8a8 66,0xd4a8a8 15,0x932626 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 14,0x912323 16,0x942828 19,0x983030 60,0xcc9999 80,0xe6cccc 46,0xba7575 44,0xb87070 46,0xba7575 51,0xc18282 55,0xc68c8c 56,0xc78e8e 73,0xddbaba 56,0xc78e8e 67,0xd5aaaa 44,0xb87070 41,0xb46868 100,0xFFFFFF 65,0xd3a5a5 97,0xfcf7f7 94,0xf8efef 81,0xe7cece 37,0xaf5e5e 55,0xc68c8c 37,0xaf5e5e 100,0xFFFFFF 100,0xFFFFFF 24,0x9e3d3d 30,0xa64c4c 95,0xf9f2f2 21,0x9a3535 16,0x942828 16,0x942828 15,0x932626 14,0x912323 14,0x912323 14,0x912323 14,0x912323 14,0x912323 14,0x912323 14,0x912323 14,0x912323 13,0x902121 13,0x902121 13,0x902121 13,0x902121 13,0x902121 13,0x902121 13,0x902121 13,0x902121 13,0x902121 14,0x912323 16,0x942828 19,0x983030 26,0xa14242 31,0xa74f4f 21,0x9a3535 18,0x972d2d 20,0x993333 61,0xce9b9b 73,0xddbaba 47,0xbc7777 41,0xb46868 34,0xab5656 100,0xFFFFFF 55,0xc68c8c 53,0xc38787 55,0xc68c8c 43,0xb76d6d 44,0xb87070 87,0xefdddd 82,0xe8d1d1 42,0xb56b6b 45,0xb97272 64,0xd1a3a3 67,0xd5aaaa 100,0xFFFFFF 100,0xFFFFFF 33,0xaa5454 42,0xb56b6b 40,0xb36666 41,0xb46868 48,0xbd7a7a 67,0xd5aaaa 97,0xfcf7f7 27,0xa24444 21,0x9a3535 19,0x983030 17,0x952b2b 17,0x952b2b 17,0x952b2b 18,0x972d2d 72,0xdcb7b7 57,0xc89191 32,0xa85151 62,0xcf9e9e 18,0x972d2d 15,0x932626 11,0x8e1c1c 10,0x8c1919 9,0x8b1616 8,0x8a1414 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 10,0x8c1919 40,0xb36666 10,0x8c1919 13,0x902121 18,0x972d2d 64,0xd1a3a3 27,0xa24444 22,0x9c3838 96,0xfaf4f4 9,0x8b1616 7,0x881111 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 8,0x8a1414 9,0x8b1616 10,0x8c1919 22,0x9c3838 15,0x932626 18,0x972d2d 14,0x912323 14,0x912323 14,0x912323 15,0x932626 16,0x942828 18,0x972d2d 20,0x993333 22,0x9c3838 29,0xa54949 53,0xc38787 21,0x9a3535 15,0x932626 13,0x902121 13,0x902121 12,0x8f1e1e 12,0x8f1e1e 13,0x902121 13,0x902121 14,0x912323 15,0x932626 18,0x972d2d 33,0xaa5454 100,0xFFFFFF 93,0xf7eded 41,0xb46868 53,0xc38787 78,0xe3c6c6 57,0xc89191 64,0xd1a3a3 48,0xbd7a7a 49,0xbe7c7c 47,0xbc7777 39,0xb16363 39,0xb16363 41,0xb46868 41,0xb46868 47,0xbc7777 74,0xdebcbc 49,0xbe7c7c 32,0xa85151 100,0xFFFFFF 29,0xa54949 31,0xa74f4f 37,0xaf5e5e 28,0xa34747 33,0xaa5454 70,0xd9b2b2 43,0xb76d6d 16,0x942828 16,0x942828 15,0x932626 15,0x932626 15,0x932626 14,0x912323 14,0x912323 14,0x912323 14,0x912323 14,0x912323 15,0x932626 18,0x972d2d 16,0x942828 14,0x912323 14,0x912323 13,0x902121 13,0x902121 13,0x902121 13,0x902121 14,0x912323 15,0x932626 27,0xa24444 100,0xFFFFFF 28,0xa34747 25,0xa03f3f 21,0x9a3535 19,0x983030 21,0x9a3535 27,0xa24444 33,0xaa5454 39,0xb16363 39,0xb16363 47,0xbc7777 100,0xFFFFFF 74,0xdebcbc 50,0xc07f7f 88,0xf0e0e0 82,0xe8d1d1 54,0xc58989 85,0xecd8d8 63,0xd0a0a0 53,0xc38787 47,0xbc7777 48,0xbd7a7a 78,0xe3c6c6 40,0xb36666 37,0xaf5e5e 35,0xac5959 36,0xae5b5b 37,0xaf5e5e 38,0xb06060 43,0xb76d6d 71,0xdab5b5 64,0xd1a3a3 35,0xac5959 19,0x983030 18,0x972d2d 17,0x952b2b 16,0x942828 16,0x942828 16,0x942828 16,0x942828 16,0x942828 17,0x952b2b 15,0x932626 13,0x902121 12,0x8f1e1e 10,0x8c1919 10,0x8c1919 9,0x8b1616 8,0x8a1414 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 8,0x8a1414 10,0x8c1919 87,0xefdddd 14,0x912323 69,0xd8afaf 62,0xcf9e9e 20,0x993333 87,0xefdddd 100,0xFFFFFF 11,0x8e1c1c 8,0x8a1414 7,0x881111 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 8,0x8a1414 8,0x8a1414 8,0x8a1414 10,0x8c1919 10,0x8c1919 11,0x8e1c1c 12,0x8f1e1e 12,0x8f1e1e 13,0x902121 14,0x912323 17,0x952b2b 30,0xa64c4c 100,0xFFFFFF 25,0xa03f3f 27,0xa24444 45,0xb97272 71,0xdab5b5 15,0x932626 14,0x912323 13,0x902121 13,0x902121 13,0x902121 13,0x902121 13,0x902121 14,0x912323 15,0x932626 17,0x952b2b 76,0xe1c1c1 55,0xc68c8c 100,0xFFFFFF 35,0xac5959 39,0xb16363 70,0xd9b2b2 100,0xFFFFFF 86,0xeedbdb 49,0xbe7c7c 42,0xb56b6b 76,0xe1c1c1 38,0xb06060 37,0xaf5e5e 37,0xaf5e5e 39,0xb16363 43,0xb76d6d 100,0xFFFFFF 33,0xaa5454 29,0xa54949 27,0xa24444 27,0xa24444 29,0xa54949 41,0xb46868 34,0xab5656 61,0xce9b9b 35,0xac5959 19,0x983030 17,0x952b2b 16,0x942828 16,0x942828 15,0x932626 15,0x932626 15,0x932626 15,0x932626 15,0x932626 15,0x932626 16,0x942828 21,0x9a3535 28,0xa34747 18,0x972d2d 15,0x932626 14,0x912323 14,0x912323 14,0x912323 14,0x912323 15,0x932626 29,0xa54949 20,0x993333 55,0xc68c8c 78,0xe3c6c6 27,0xa24444 23,0x9d3a3a 21,0x9a3535 21,0x9a3535 24,0x9e3d3d 36,0xae5b5b 37,0xaf5e5e 42,0xb56b6b 42,0xb56b6b 100,0xFFFFFF 100,0xFFFFFF 64,0xd1a3a3 58,0xca9393 68,0xd7adad 75,0xe0bfbf 64,0xd1a3a3 61,0xce9b9b 58,0xca9393 53,0xc38787 51,0xc18282 50,0xc07f7f 44,0xb87070 40,0xb36666 38,0xb06060 37,0xaf5e5e 35,0xac5959 35,0xac5959 100,0xFFFFFF 39,0xb16363 33,0xaa5454 92,0xf5eaea 100,0xFFFFFF 20,0x993333 18,0x972d2d 16,0x942828 16,0x942828 15,0x932626 15,0x932626 14,0x912323 14,0x912323 13,0x902121 12,0x8f1e1e 12,0x8f1e1e 11,0x8e1c1c 10,0x8c1919 10,0x8c1919 9,0x8b1616 9,0x8b1616 8,0x8a1414 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 8,0x8a1414 10,0x8c1919 76,0xe1c1c1 26,0xa14242 35,0xac5959 32,0xa85151 19,0x983030 14,0x912323 12,0x8f1e1e 10,0x8c1919 8,0x8a1414 7,0x881111 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 9,0x8b1616 10,0x8c1919 10,0x8c1919 11,0x8e1c1c 12,0x8f1e1e 13,0x902121 15,0x932626 55,0xc68c8c 61,0xce9b9b 28,0xa34747 32,0xa85151 72,0xdcb7b7 52,0xc28484 18,0x972d2d 15,0x932626 14,0x912323 14,0x912323 13,0x902121 13,0x902121 13,0x902121 14,0x912323 15,0x932626 16,0x942828 17,0x952b2b 19,0x983030 22,0x9c3838 25,0xa03f3f 59,0xcb9696 54,0xc58989 64,0xd1a3a3 100,0xFFFFFF 100,0xFFFFFF 90,0xf3e5e5 39,0xb16363 37,0xaf5e5e 36,0xae5b5b 36,0xae5b5b 36,0xae5b5b 39,0xb16363 45,0xb97272 36,0xae5b5b 30,0xa64c4c 28,0xa34747 27,0xa24444 26,0xa14242 26,0xa14242 34,0xab5656 36,0xae5b5b 100,0xFFFFFF 21,0x9a3535 18,0x972d2d 17,0x952b2b 17,0x952b2b 16,0x942828 16,0x942828 15,0x932626 15,0x932626 15,0x932626 16,0x942828 16,0x942828 20,0x993333 99,0xfefcfc 100,0xFFFFFF 100,0xFFFFFF 20,0x993333 16,0x942828 15,0x932626 15,0x932626 15,0x932626 16,0x942828 20,0x993333 27,0xa24444 35,0xac5959 45,0xb97272 41,0xb46868 25,0xa03f3f 25,0xa03f3f 24,0x9e3d3d 27,0xa24444 74,0xdebcbc 100,0xFFFFFF 46,0xba7575 47,0xbc7777 55,0xc68c8c 62,0xcf9e9e 100,0xFFFFFF 100,0xFFFFFF 76,0xe1c1c1 74,0xdebcbc 100,0xFFFFFF 71,0xdab5b5 100,0xFFFFFF 77,0xe2c4c4 60,0xcc9999 100,0xFFFFFF 85,0xecd8d8 85,0xecd8d8 42,0xb56b6b 41,0xb46868 37,0xaf5e5e 33,0xaa5454 32,0xa85151 46,0xba7575 29,0xa54949 31,0xa74f4f 29,0xa54949 100,0xFFFFFF 18,0x972d2d 16,0x942828 15,0x932626 15,0x932626 14,0x912323 14,0x912323 13,0x902121 12,0x8f1e1e 12,0x8f1e1e 11,0x8e1c1c 11,0x8e1c1c 10,0x8c1919 10,0x8c1919 9,0x8b1616 9,0x8b1616 8,0x8a1414 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 9,0x8b1616 35,0xac5959 37,0xaf5e5e 63,0xd0a0a0 59,0xcb9696 38,0xb06060 25,0xa03f3f 15,0x932626 12,0x8f1e1e 10,0x8c1919 9,0x8b1616 7,0x881111 7,0x881111 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 10,0x8c1919 10,0x8c1919 11,0x8e1c1c 13,0x902121 17,0x952b2b 100,0xFFFFFF 67,0xd5aaaa 23,0x9d3a3a 24,0x9e3d3d 25,0xa03f3f 19,0x983030 16,0x942828 15,0x932626 15,0x932626 14,0x912323 14,0x912323 14,0x912323 14,0x912323 14,0x912323 17,0x952b2b 19,0x983030 21,0x9a3535 20,0x993333 22,0x9c3838 23,0x9d3a3a 27,0xa24444 29,0xa54949 62,0xcf9e9e 62,0xcf9e9e 100,0xFFFFFF 48,0xbd7a7a 37,0xaf5e5e 35,0xac5959 35,0xac5959 35,0xac5959 35,0xac5959 43,0xb76d6d 43,0xb76d6d 40,0xb36666 81,0xe7cece 27,0xa24444 26,0xa14242 25,0xa03f3f 25,0xa03f3f 24,0x9e3d3d 23,0x9d3a3a 22,0x9c3838 20,0x993333 19,0x983030 18,0x972d2d 17,0x952b2b 17,0x952b2b 17,0x952b2b 16,0x942828 16,0x942828 16,0x942828 16,0x942828 17,0x952b2b 18,0x972d2d 48,0xbd7a7a 37,0xaf5e5e 100,0xFFFFFF 35,0xac5959 17,0x952b2b 16,0x942828 16,0x942828 16,0x942828 20,0x993333 25,0xa03f3f 58,0xca9393 87,0xefdddd 99,0xfefcfc 41,0xb46868 89,0xf1e2e2 100,0xFFFFFF 33,0xaa5454 32,0xa85151 71,0xdab5b5 54,0xc58989 51,0xc18282 100,0xFFFFFF 100,0xFFFFFF 67,0xd5aaaa 76,0xe1c1c1 83,0xead3d3 100,0xFFFFFF 85,0xecd8d8 97,0xfcf7f7 85,0xecd8d8 82,0xe8d1d1 75,0xe0bfbf 68,0xd7adad 93,0xf7eded 97,0xfcf7f7 51,0xc18282 48,0xbd7a7a 68,0xd7adad 90,0xf3e5e5 100,0xFFFFFF 30,0xa64c4c 27,0xa24444 26,0xa14242 29,0xa54949 89,0xf1e2e2 100,0xFFFFFF 18,0x972d2d 16,0x942828 15,0x932626 15,0x932626 14,0x912323 13,0x902121 13,0x902121 12,0x8f1e1e 12,0x8f1e1e 11,0x8e1c1c 11,0x8e1c1c 10,0x8c1919 10,0x8c1919 9,0x8b1616 9,0x8b1616 9,0x8b1616 8,0x8a1414 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 9,0x8b1616 13,0x902121 38,0xb06060 100,0xFFFFFF 100,0xFFFFFF 41,0xb46868 100,0xFFFFFF 48,0xbd7a7a 21,0x9a3535 69,0xd8afaf 11,0x8e1c1c 8,0x8a1414 7,0x881111 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 10,0x8c1919 11,0x8e1c1c 15,0x932626 23,0x9d3a3a 43,0xb76d6d 36,0xae5b5b 21,0x9a3535 20,0x993333 19,0x983030 18,0x972d2d 16,0x942828 16,0x942828 15,0x932626 15,0x932626 15,0x932626 15,0x932626 15,0x932626 16,0x942828 25,0xa03f3f 46,0xba7575 81,0xe7cece 53,0xc38787 24,0x9e3d3d 24,0x9e3d3d 25,0xa03f3f 27,0xa24444 29,0xa54949 32,0xa85151 34,0xab5656 35,0xac5959 35,0xac5959 35,0xac5959 34,0xab5656 34,0xab5656 34,0xab5656 35,0xac5959 51,0xc18282 39,0xb16363 30,0xa64c4c 27,0xa24444 25,0xa03f3f 25,0xa03f3f 24,0x9e3d3d 23,0x9d3a3a 22,0x9c3838 21,0x9a3535 20,0x993333 19,0x983030 19,0x983030 18,0x972d2d 18,0x972d2d 18,0x972d2d 54,0xc58989 19,0x983030 18,0x972d2d 17,0x952b2b 18,0x972d2d 19,0x983030 21,0x9a3535 24,0x9e3d3d 31,0xa74f4f 48,0xbd7a7a 22,0x9c3838 17,0x952b2b 17,0x952b2b 17,0x952b2b 19,0x983030 78,0xe3c6c6 95,0xf9f2f2 100,0xFFFFFF 82,0xe8d1d1 54,0xc58989 71,0xdab5b5 37,0xaf5e5e 33,0xaa5454 39,0xb16363 43,0xb76d6d 51,0xc18282 54,0xc58989 72,0xdcb7b7 74,0xdebcbc 83,0xead3d3 100,0xFFFFFF 89,0xf1e2e2 100,0xFFFFFF 99,0xfefcfc 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 77,0xe2c4c4 72,0xdcb7b7 68,0xd7adad 63,0xd0a0a0 100,0xFFFFFF 100,0xFFFFFF 79,0xe5c9c9 100,0xFFFFFF 70,0xd9b2b2 31,0xa74f4f 28,0xa34747 25,0xa03f3f 23,0x9d3a3a 22,0x9c3838 19,0x983030 17,0x952b2b 16,0x942828 15,0x932626 15,0x932626 14,0x912323 13,0x902121 13,0x902121 12,0x8f1e1e 12,0x8f1e1e 11,0x8e1c1c 11,0x8e1c1c 10,0x8c1919 10,0x8c1919 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 9,0x8b1616 12,0x8f1e1e 95,0xf9f2f2 89,0xf1e2e2 47,0xbc7777 39,0xb16363 36,0xae5b5b 56,0xc78e8e 100,0xFFFFFF 76,0xe1c1c1 17,0x952b2b 9,0x8b1616 8,0x8a1414 7,0x881111 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 10,0x8c1919 12,0x8f1e1e 15,0x932626 100,0xFFFFFF 58,0xca9393 29,0xa54949 22,0x9c3838 19,0x983030 18,0x972d2d 17,0x952b2b 17,0x952b2b 16,0x942828 15,0x932626 15,0x932626 15,0x932626 15,0x932626 15,0x932626 16,0x942828 18,0x972d2d 22,0x9c3838 37,0xaf5e5e 100,0xFFFFFF 26,0xa14242 25,0xa03f3f 26,0xa14242 28,0xa34747 29,0xa54949 31,0xa74f4f 33,0xaa5454 33,0xaa5454 34,0xab5656 34,0xab5656 34,0xab5656 33,0xaa5454 33,0xaa5454 32,0xa85151 31,0xa74f4f 30,0xa64c4c 28,0xa34747 27,0xa24444 25,0xa03f3f 25,0xa03f3f 24,0x9e3d3d 23,0x9d3a3a 22,0x9c3838 21,0x9a3535 21,0x9a3535 21,0x9a3535 20,0x993333 22,0x9c3838 25,0xa03f3f 25,0xa03f3f 100,0xFFFFFF 25,0xa03f3f 20,0x993333 21,0x9a3535 22,0x9c3838 59,0xcb9696 27,0xa24444 26,0xa14242 28,0xa34747 48,0xbd7a7a 27,0xa24444 18,0x972d2d 18,0x972d2d 18,0x972d2d 22,0x9c3838 63,0xd0a0a0 87,0xefdddd 97,0xfcf7f7 77,0xe2c4c4 54,0xc58989 45,0xb97272 100,0xFFFFFF 36,0xae5b5b 45,0xb97272 52,0xc28484 57,0xc89191 57,0xc89191 74,0xdebcbc 77,0xe2c4c4 100,0xFFFFFF 97,0xfcf7f7 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 92,0xf5eaea 100,0xFFFFFF 90,0xf3e5e5 62,0xcf9e9e 58,0xca9393 58,0xca9393 62,0xcf9e9e 70,0xd9b2b2 51,0xc18282 43,0xb76d6d 32,0xa85151 27,0xa24444 23,0x9d3a3a 21,0x9a3535 19,0x983030 17,0x952b2b 17,0x952b2b 16,0x942828 15,0x932626 14,0x912323 13,0x902121 13,0x902121 12,0x8f1e1e 12,0x8f1e1e 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 10,0x8c1919 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 10,0x8c1919 13,0x902121 66,0xd4a8a8 24,0x9e3d3d 27,0xa24444 47,0xbc7777 61,0xce9b9b 92,0xf5eaea 58,0xca9393 100,0xFFFFFF 16,0x942828 10,0x8c1919 8,0x8a1414 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 11,0x8e1c1c 100,0xFFFFFF 18,0x972d2d 40,0xb36666 43,0xb76d6d 36,0xae5b5b 69,0xd8afaf 20,0x993333 19,0x983030 17,0x952b2b 17,0x952b2b 16,0x942828 16,0x942828 15,0x932626 15,0x932626 16,0x942828 16,0x942828 17,0x952b2b 18,0x972d2d 21,0x9a3535 77,0xe2c4c4 30,0xa64c4c 27,0xa24444 27,0xa24444 30,0xa64c4c 99,0xfefcfc 38,0xb06060 32,0xa85151 33,0xaa5454 33,0xaa5454 34,0xab5656 34,0xab5656 33,0xaa5454 33,0xaa5454 33,0xaa5454 31,0xa74f4f 30,0xa64c4c 29,0xa54949 28,0xa34747 27,0xa24444 26,0xa14242 25,0xa03f3f 24,0x9e3d3d 23,0x9d3a3a 23,0x9d3a3a 23,0x9d3a3a 23,0x9d3a3a 23,0x9d3a3a 100,0xFFFFFF 90,0xf3e5e5 31,0xa74f4f 67,0xd5aaaa 30,0xa64c4c 25,0xa03f3f 62,0xcf9e9e 82,0xe8d1d1 92,0xf5eaea 100,0xFFFFFF 100,0xFFFFFF 37,0xaf5e5e 32,0xa85151 51,0xc18282 22,0x9c3838 19,0x983030 19,0x983030 19,0x983030 22,0x9c3838 30,0xa64c4c 77,0xe2c4c4 100,0xFFFFFF 62,0xcf9e9e 49,0xbe7c7c 43,0xb76d6d 41,0xb46868 41,0xb46868 100,0xFFFFFF 100,0xFFFFFF 66,0xd4a8a8 63,0xd0a0a0 100,0xFFFFFF 86,0xeedbdb 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 93,0xf7eded 95,0xf9f2f2 76,0xe1c1c1 66,0xd4a8a8 68,0xd7adad 57,0xc89191 91,0xf4e8e8 68,0xd7adad 43,0xb76d6d 37,0xaf5e5e 36,0xae5b5b 67,0xd5aaaa 85,0xecd8d8 69,0xd8afaf 21,0x9a3535 19,0x983030 17,0x952b2b 16,0x942828 16,0x942828 14,0x912323 13,0x902121 13,0x902121 13,0x902121 12,0x8f1e1e 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 10,0x8c1919 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 10,0x8c1919 11,0x8e1c1c 11,0x8e1c1c 13,0x902121 19,0x983030 64,0xd1a3a3 85,0xecd8d8 100,0xFFFFFF 50,0xc07f7f 67,0xd5aaaa 20,0x993333 53,0xc38787 52,0xc28484 12,0x8f1e1e 7,0x881111 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 11,0x8e1c1c 14,0x912323 48,0xbd7a7a 55,0xc68c8c 95,0xf9f2f2 32,0xa85151 25,0xa03f3f 21,0x9a3535 20,0x993333 18,0x972d2d 17,0x952b2b 17,0x952b2b 17,0x952b2b 17,0x952b2b 16,0x942828 17,0x952b2b 17,0x952b2b 17,0x952b2b 20,0x993333 24,0x9e3d3d 100,0xFFFFFF 100,0xFFFFFF 34,0xab5656 29,0xa54949 31,0xa74f4f 38,0xb06060 75,0xe0bfbf 34,0xab5656 34,0xab5656 34,0xab5656 34,0xab5656 34,0xab5656 34,0xab5656 33,0xaa5454 33,0xaa5454 32,0xa85151 31,0xa74f4f 29,0xa54949 29,0xa54949 27,0xa24444 27,0xa24444 27,0xa24444 27,0xa24444 25,0xa03f3f 25,0xa03f3f 26,0xa14242 45,0xb97272 86,0xeedbdb 45,0xb97272 89,0xf1e2e2 72,0xdcb7b7 100,0xFFFFFF 100,0xFFFFFF 38,0xb06060 67,0xd5aaaa 100,0xFFFFFF 43,0xb76d6d 44,0xb87070 29,0xa54949 56,0xc78e8e 49,0xbe7c7c 100,0xFFFFFF 22,0x9c3838 20,0x993333 20,0x993333 20,0x993333 23,0x9d3a3a 78,0xe3c6c6 67,0xd5aaaa 48,0xbd7a7a 100,0xFFFFFF 48,0xbd7a7a 42,0xb56b6b 42,0xb56b6b 100,0xFFFFFF 75,0xe0bfbf 100,0xFFFFFF 64,0xd1a3a3 66,0xd4a8a8 77,0xe2c4c4 86,0xeedbdb 97,0xfcf7f7 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 83,0xead3d3 79,0xe5c9c9 100,0xFFFFFF 100,0xFFFFFF 56,0xc78e8e 51,0xc18282 50,0xc07f7f 68,0xd7adad 41,0xb46868 72,0xdcb7b7 61,0xce9b9b 100,0xFFFFFF 81,0xe7cece 37,0xaf5e5e 22,0x9c3838 19,0x983030 21,0x9a3535 43,0xb76d6d 16,0x942828 14,0x912323 14,0x912323 14,0x912323 13,0x902121 12,0x8f1e1e 12,0x8f1e1e 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 9,0x8b1616 9,0x8b1616 8,0x8a1414 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 8,0x8a1414 9,0x8b1616 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 10,0x8c1919 10,0x8c1919 11,0x8e1c1c 12,0x8f1e1e 13,0x902121 15,0x932626 17,0x952b2b 22,0x9c3838 29,0xa54949 36,0xae5b5b 28,0xa34747 15,0x932626 13,0x902121 11,0x8e1c1c 8,0x8a1414 7,0x881111 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 9,0x8b1616 10,0x8c1919 11,0x8e1c1c 25,0xa03f3f 48,0xbd7a7a 100,0xFFFFFF 59,0xcb9696 94,0xf8efef 83,0xead3d3 44,0xb87070 100,0xFFFFFF 20,0x993333 19,0x983030 18,0x972d2d 18,0x972d2d 21,0x9a3535 19,0x983030 18,0x972d2d 18,0x972d2d 19,0x983030 24,0x9e3d3d 29,0xa54949 47,0xbc7777 41,0xb46868 36,0xae5b5b 66,0xd4a8a8 89,0xf1e2e2 43,0xb76d6d 43,0xb76d6d 36,0xae5b5b 35,0xac5959 35,0xac5959 35,0xac5959 35,0xac5959 35,0xac5959 35,0xac5959 35,0xac5959 75,0xe0bfbf 35,0xac5959 38,0xb06060 32,0xa85151 30,0xa64c4c 29,0xa54949 30,0xa64c4c 66,0xd4a8a8 28,0xa34747 27,0xa24444 36,0xae5b5b 70,0xd9b2b2 51,0xc18282 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 66,0xd4a8a8 47,0xbc7777 47,0xbc7777 78,0xe3c6c6 100,0xFFFFFF 30,0xa64c4c 27,0xa24444 26,0xa14242 25,0xa03f3f 23,0x9d3a3a 22,0x9c3838 21,0x9a3535 21,0x9a3535 21,0x9a3535 23,0x9d3a3a 26,0xa14242 100,0xFFFFFF 62,0xcf9e9e 38,0xb06060 39,0xb16363 41,0xb46868 43,0xb76d6d 45,0xb97272 50,0xc07f7f 56,0xc78e8e 100,0xFFFFFF 67,0xd5aaaa 100,0xFFFFFF 100,0xFFFFFF 97,0xfcf7f7 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 85,0xecd8d8 80,0xe6cccc 86,0xeedbdb 100,0xFFFFFF 58,0xca9393 50,0xc07f7f 47,0xbc7777 46,0xba7575 45,0xb97272 73,0xddbaba 99,0xfefcfc 83,0xead3d3 73,0xddbaba 46,0xba7575 100,0xFFFFFF 31,0xa74f4f 24,0x9e3d3d 69,0xd8afaf 17,0x952b2b 15,0x932626 15,0x932626 15,0x932626 17,0x952b2b 97,0xfcf7f7 13,0x902121 13,0x902121 13,0x902121 41,0xb46868 14,0x912323 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 12,0x8f1e1e 12,0x8f1e1e 9,0x8b1616 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 8,0x8a1414 11,0x8e1c1c 99,0xfefcfc 10,0x8c1919 9,0x8b1616 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 100,0xFFFFFF 11,0x8e1c1c 9,0x8b1616 9,0x8b1616 10,0x8c1919 68,0xd7adad 11,0x8e1c1c 11,0x8e1c1c 12,0x8f1e1e 12,0x8f1e1e 13,0x902121 14,0x912323 15,0x932626 16,0x942828 22,0x9c3838 51,0xc18282 62,0xcf9e9e 81,0xe7cece 100,0xFFFFFF 11,0x8e1c1c 9,0x8b1616 8,0x8a1414 7,0x881111 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 9,0x8b1616 10,0x8c1919 10,0x8c1919 12,0x8f1e1e 14,0x912323 49,0xbe7c7c 82,0xe8d1d1 84,0xebd6d6 100,0xFFFFFF 71,0xdab5b5 32,0xa85151 54,0xc58989 21,0x9a3535 20,0x993333 19,0x983030 20,0x993333 100,0xFFFFFF 62,0xcf9e9e 20,0x993333 19,0x983030 20,0x993333 29,0xa54949 100,0xFFFFFF 99,0xfefcfc 97,0xfcf7f7 100,0xFFFFFF 81,0xe7cece 50,0xc07f7f 39,0xb16363 38,0xb06060 36,0xae5b5b 35,0xac5959 35,0xac5959 35,0xac5959 36,0xae5b5b 38,0xb06060 58,0xca9393 41,0xb46868 100,0xFFFFFF 62,0xcf9e9e 61,0xce9b9b 45,0xb97272 35,0xac5959 44,0xb87070 38,0xb06060 39,0xb16363 32,0xa85151 30,0xa64c4c 100,0xFFFFFF 60,0xcc9999 90,0xf3e5e5 80,0xe6cccc 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 84,0xebd6d6 100,0xFFFFFF 43,0xb76d6d 41,0xb46868 74,0xdebcbc 29,0xa54949 26,0xa14242 25,0xa03f3f 24,0x9e3d3d 23,0x9d3a3a 22,0x9c3838 22,0x9c3838 21,0x9a3535 22,0x9c3838 24,0x9e3d3d 27,0xa24444 30,0xa64c4c 32,0xa85151 35,0xac5959 100,0xFFFFFF 43,0xb76d6d 43,0xb76d6d 45,0xb97272 55,0xc68c8c 59,0xcb9696 84,0xebd6d6 100,0xFFFFFF 78,0xe3c6c6 100,0xFFFFFF 98,0xfdf9f9 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 76,0xe1c1c1 80,0xe6cccc 88,0xf0e0e0 63,0xd0a0a0 99,0xfefcfc 47,0xbc7777 46,0xba7575 46,0xba7575 48,0xbd7a7a 54,0xc58989 75,0xe0bfbf 56,0xc78e8e 41,0xb46868 100,0xFFFFFF 31,0xa74f4f 100,0xFFFFFF 100,0xFFFFFF 18,0x972d2d 17,0x952b2b 17,0x952b2b 17,0x952b2b 19,0x983030 66,0xd4a8a8 15,0x932626 15,0x932626 16,0x942828 19,0x983030 79,0xe5c9c9 13,0x902121 12,0x8f1e1e 12,0x8f1e1e 14,0x912323 47,0xbc7777 12,0x8f1e1e 10,0x8c1919 9,0x8b1616 9,0x8b1616 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 11,0x8e1c1c 80,0xe6cccc 12,0x8f1e1e 11,0x8e1c1c 10,0x8c1919 14,0x912323 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 10,0x8c1919 22,0x9c3838 66,0xd4a8a8 11,0x8e1c1c 11,0x8e1c1c 13,0x902121 78,0xe3c6c6 14,0x912323 17,0x952b2b 19,0x983030 17,0x952b2b 16,0x942828 15,0x932626 16,0x942828 17,0x952b2b 19,0x983030 57,0xc89191 71,0xdab5b5 83,0xead3d3 80,0xe6cccc 11,0x8e1c1c 9,0x8b1616 7,0x881111 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 + 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 9,0x8b1616 11,0x8e1c1c 16,0x942828 14,0x912323 15,0x932626 21,0x9a3535 39,0xb16363 53,0xc38787 39,0xb16363 40,0xb36666 29,0xa54949 26,0xa14242 24,0x9e3d3d 25,0xa03f3f 24,0x9e3d3d 25,0xa03f3f 27,0xa24444 59,0xcb9696 23,0x9d3a3a 21,0x9a3535 23,0x9d3a3a 46,0xba7575 100,0xFFFFFF 100,0xFFFFFF 69,0xd8afaf 57,0xc89191 100,0xFFFFFF 54,0xc58989 40,0xb36666 38,0xb06060 37,0xaf5e5e 36,0xae5b5b 36,0xae5b5b 36,0xae5b5b 37,0xaf5e5e 40,0xb36666 55,0xc68c8c 48,0xbd7a7a 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 69,0xd8afaf 100,0xFFFFFF 67,0xd5aaaa 41,0xb46868 58,0xca9393 33,0xaa5454 33,0xaa5454 52,0xc28484 49,0xbe7c7c 56,0xc78e8e 100,0xFFFFFF 98,0xfdf9f9 100,0xFFFFFF 100,0xFFFFFF 66,0xd4a8a8 81,0xe7cece 41,0xb46868 36,0xae5b5b 100,0xFFFFFF 32,0xa85151 26,0xa14242 25,0xa03f3f 24,0x9e3d3d 23,0x9d3a3a 23,0x9d3a3a 23,0x9d3a3a 23,0x9d3a3a 24,0x9e3d3d 48,0xbd7a7a 36,0xae5b5b 94,0xf8efef 34,0xab5656 36,0xae5b5b 47,0xbc7777 47,0xbc7777 45,0xb97272 46,0xba7575 50,0xc07f7f 80,0xe6cccc 88,0xf0e0e0 77,0xe2c4c4 76,0xe1c1c1 81,0xe7cece 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 97,0xfcf7f7 97,0xfcf7f7 100,0xFFFFFF 73,0xddbaba 70,0xd9b2b2 100,0xFFFFFF 59,0xcb9696 80,0xe6cccc 51,0xc18282 46,0xba7575 45,0xb97272 47,0xbc7777 50,0xc07f7f 61,0xce9b9b 100,0xFFFFFF 33,0xaa5454 31,0xa74f4f 27,0xa24444 28,0xa34747 22,0x9c3838 20,0x993333 20,0x993333 92,0xf5eaea 58,0xca9393 32,0xa85151 49,0xbe7c7c 19,0x983030 71,0xdab5b5 43,0xb76d6d 24,0x9e3d3d 18,0x972d2d 19,0x983030 52,0xc28484 86,0xeedbdb 25,0xa03f3f 23,0x9d3a3a 15,0x932626 11,0x8e1c1c 10,0x8c1919 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 10,0x8c1919 52,0xc28484 69,0xd8afaf 19,0x983030 78,0xe3c6c6 83,0xead3d3 15,0x932626 10,0x8c1919 9,0x8b1616 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 10,0x8c1919 13,0x902121 46,0xba7575 39,0xb16363 14,0x912323 100,0xFFFFFF 100,0xFFFFFF 31,0xa74f4f 42,0xb56b6b 100,0xFFFFFF 40,0xb36666 66,0xd4a8a8 70,0xd9b2b2 100,0xFFFFFF 18,0x972d2d 18,0x972d2d 21,0x9a3535 35,0xac5959 37,0xaf5e5e 57,0xc89191 27,0xa24444 11,0x8e1c1c 9,0x8b1616 7,0x881111 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 + 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 10,0x8c1919 24,0x9e3d3d 86,0xeedbdb 28,0xa34747 18,0x972d2d 42,0xb56b6b 31,0xa74f4f 38,0xb06060 38,0xb06060 74,0xdebcbc 34,0xab5656 34,0xab5656 70,0xd9b2b2 100,0xFFFFFF 86,0xeedbdb 42,0xb56b6b 33,0xaa5454 57,0xc89191 24,0x9e3d3d 23,0x9d3a3a 25,0xa03f3f 43,0xb76d6d 100,0xFFFFFF 100,0xFFFFFF 91,0xf4e8e8 52,0xc28484 50,0xc07f7f 57,0xc89191 100,0xFFFFFF 39,0xb16363 38,0xb06060 38,0xb06060 40,0xb36666 40,0xb36666 39,0xb16363 58,0xca9393 100,0xFFFFFF 63,0xd0a0a0 88,0xf0e0e0 100,0xFFFFFF 100,0xFFFFFF 78,0xe3c6c6 55,0xc68c8c 53,0xc38787 39,0xb16363 36,0xae5b5b 35,0xac5959 35,0xac5959 44,0xb87070 52,0xc28484 72,0xdcb7b7 66,0xd4a8a8 70,0xd9b2b2 78,0xe3c6c6 68,0xd7adad 58,0xca9393 100,0xFFFFFF 43,0xb76d6d 36,0xae5b5b 31,0xa74f4f 28,0xa34747 26,0xa14242 25,0xa03f3f 24,0x9e3d3d 23,0x9d3a3a 23,0x9d3a3a 23,0x9d3a3a 23,0x9d3a3a 24,0x9e3d3d 27,0xa24444 31,0xa74f4f 41,0xb46868 38,0xb06060 39,0xb16363 100,0xFFFFFF 50,0xc07f7f 50,0xc07f7f 48,0xbd7a7a 52,0xc28484 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 75,0xe0bfbf 79,0xe5c9c9 84,0xebd6d6 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 92,0xf5eaea 88,0xf0e0e0 81,0xe7cece 71,0xdab5b5 68,0xd7adad 67,0xd5aaaa 100,0xFFFFFF 79,0xe5c9c9 63,0xd0a0a0 46,0xba7575 44,0xb87070 81,0xe7cece 100,0xFFFFFF 100,0xFFFFFF 62,0xcf9e9e 78,0xe3c6c6 28,0xa34747 26,0xa14242 24,0x9e3d3d 23,0x9d3a3a 22,0x9c3838 78,0xe3c6c6 100,0xFFFFFF 79,0xe5c9c9 29,0xa54949 23,0x9d3a3a 36,0xae5b5b 74,0xdebcbc 100,0xFFFFFF 55,0xc68c8c 67,0xd5aaaa 53,0xc38787 94,0xf8efef 34,0xab5656 22,0x9c3838 40,0xb36666 14,0x912323 11,0x8e1c1c 11,0x8e1c1c 10,0x8c1919 9,0x8b1616 9,0x8b1616 9,0x8b1616 10,0x8c1919 11,0x8e1c1c 11,0x8e1c1c 10,0x8c1919 17,0x952b2b 11,0x8e1c1c 8,0x8a1414 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 12,0x8f1e1e 35,0xac5959 100,0xFFFFFF 36,0xae5b5b 53,0xc38787 35,0xac5959 36,0xae5b5b 12,0x8f1e1e 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 10,0x8c1919 25,0xa03f3f 14,0x912323 100,0xFFFFFF 33,0xaa5454 18,0x972d2d 18,0x972d2d 39,0xb16363 100,0xFFFFFF 100,0xFFFFFF 38,0xb06060 52,0xc28484 31,0xa74f4f 25,0xa03f3f 25,0xa03f3f 34,0xab5656 21,0x9a3535 19,0x983030 24,0x9e3d3d 47,0xbc7777 71,0xdab5b5 49,0xbe7c7c 17,0x952b2b 17,0x952b2b 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 + 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 10,0x8c1919 12,0x8f1e1e 14,0x912323 39,0xb16363 22,0x9c3838 24,0x9e3d3d 100,0xFFFFFF 43,0xb76d6d 48,0xbd7a7a 96,0xfaf4f4 45,0xb97272 42,0xb56b6b 69,0xd8afaf 97,0xfcf7f7 69,0xd8afaf 55,0xc68c8c 29,0xa54949 27,0xa24444 25,0xa03f3f 25,0xa03f3f 27,0xa24444 100,0xFFFFFF 56,0xc78e8e 69,0xd8afaf 58,0xca9393 50,0xc07f7f 47,0xbc7777 48,0xbd7a7a 44,0xb87070 40,0xb36666 39,0xb16363 39,0xb16363 43,0xb76d6d 52,0xc28484 43,0xb76d6d 45,0xb97272 61,0xce9b9b 76,0xe1c1c1 100,0xFFFFFF 97,0xfcf7f7 100,0xFFFFFF 71,0xdab5b5 58,0xca9393 45,0xb97272 39,0xb16363 37,0xaf5e5e 36,0xae5b5b 37,0xaf5e5e 100,0xFFFFFF 100,0xFFFFFF 92,0xf5eaea 64,0xd1a3a3 66,0xd4a8a8 100,0xFFFFFF 68,0xd7adad 56,0xc78e8e 57,0xc89191 76,0xe1c1c1 81,0xe7cece 42,0xb56b6b 29,0xa54949 27,0xa24444 26,0xa14242 26,0xa14242 24,0x9e3d3d 24,0x9e3d3d 24,0x9e3d3d 24,0x9e3d3d 25,0xa03f3f 26,0xa14242 31,0xa74f4f 100,0xFFFFFF 51,0xc18282 48,0xbd7a7a 100,0xFFFFFF 80,0xe6cccc 79,0xe5c9c9 52,0xc28484 52,0xc28484 100,0xFFFFFF 93,0xf7eded 70,0xd9b2b2 100,0xFFFFFF 87,0xefdddd 89,0xf1e2e2 88,0xf0e0e0 91,0xf4e8e8 100,0xFFFFFF 99,0xfefcfc 94,0xf8efef 98,0xfdf9f9 88,0xf0e0e0 94,0xf8efef 100,0xFFFFFF 74,0xdebcbc 67,0xd5aaaa 69,0xd8afaf 82,0xe8d1d1 100,0xFFFFFF 100,0xFFFFFF 47,0xbc7777 41,0xb46868 44,0xb87070 41,0xb46868 41,0xb46868 100,0xFFFFFF 33,0xaa5454 30,0xa64c4c 26,0xa14242 25,0xa03f3f 24,0x9e3d3d 25,0xa03f3f 80,0xe6cccc 65,0xd3a5a5 50,0xc07f7f 39,0xb16363 31,0xa74f4f 100,0xFFFFFF 43,0xb76d6d 73,0xddbaba 39,0xb16363 72,0xdcb7b7 39,0xb16363 43,0xb76d6d 100,0xFFFFFF 19,0x983030 17,0x952b2b 15,0x932626 14,0x912323 14,0x912323 16,0x942828 11,0x8e1c1c 11,0x8e1c1c 10,0x8c1919 11,0x8e1c1c 21,0x9a3535 90,0xf3e5e5 34,0xab5656 29,0xa54949 10,0x8c1919 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 9,0x8b1616 10,0x8c1919 89,0xf1e2e2 39,0xb16363 35,0xac5959 22,0x9c3838 85,0xecd8d8 41,0xb46868 15,0x932626 11,0x8e1c1c 10,0x8c1919 10,0x8c1919 10,0x8c1919 11,0x8e1c1c 16,0x942828 21,0x9a3535 34,0xab5656 34,0xab5656 79,0xe5c9c9 30,0xa64c4c 83,0xead3d3 79,0xe5c9c9 52,0xc28484 31,0xa74f4f 39,0xb16363 22,0x9c3838 20,0x993333 23,0x9d3a3a 36,0xae5b5b 23,0x9d3a3a 22,0x9c3838 73,0xddbaba 39,0xb16363 54,0xc58989 32,0xa85151 11,0x8e1c1c 10,0x8c1919 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 + 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 9,0x8b1616 10,0x8c1919 12,0x8f1e1e 37,0xaf5e5e 52,0xc28484 34,0xab5656 53,0xc38787 100,0xFFFFFF 63,0xd0a0a0 59,0xcb9696 51,0xc18282 47,0xbc7777 49,0xbe7c7c 67,0xd5aaaa 100,0xFFFFFF 32,0xa85151 29,0xa54949 27,0xa24444 26,0xa14242 26,0xa14242 28,0xa34747 34,0xab5656 54,0xc58989 100,0xFFFFFF 55,0xc68c8c 47,0xbc7777 46,0xba7575 45,0xb97272 43,0xb76d6d 42,0xb56b6b 42,0xb56b6b 43,0xb76d6d 77,0xe2c4c4 56,0xc78e8e 47,0xbc7777 46,0xba7575 54,0xc58989 83,0xead3d3 99,0xfefcfc 77,0xe2c4c4 100,0xFFFFFF 67,0xd5aaaa 81,0xe7cece 100,0xFFFFFF 43,0xb76d6d 43,0xb76d6d 100,0xFFFFFF 39,0xb16363 41,0xb46868 92,0xf5eaea 73,0xddbaba 58,0xca9393 100,0xFFFFFF 56,0xc78e8e 52,0xc28484 55,0xc68c8c 59,0xcb9696 95,0xf9f2f2 100,0xFFFFFF 48,0xbd7a7a 33,0xaa5454 28,0xa34747 28,0xa34747 29,0xa54949 30,0xa64c4c 25,0xa03f3f 25,0xa03f3f 25,0xa03f3f 25,0xa03f3f 29,0xa54949 33,0xaa5454 46,0xba7575 65,0xd3a5a5 96,0xfaf4f4 66,0xd4a8a8 61,0xce9b9b 56,0xc78e8e 54,0xc58989 53,0xc38787 57,0xc89191 58,0xca9393 74,0xdebcbc 72,0xdcb7b7 100,0xFFFFFF 100,0xFFFFFF 87,0xefdddd 86,0xeedbdb 100,0xFFFFFF 100,0xFFFFFF 85,0xecd8d8 81,0xe7cece 84,0xebd6d6 100,0xFFFFFF 100,0xFFFFFF 70,0xd9b2b2 66,0xd4a8a8 71,0xdab5b5 77,0xe2c4c4 88,0xf0e0e0 82,0xe8d1d1 47,0xbc7777 39,0xb16363 38,0xb06060 37,0xaf5e5e 38,0xb06060 100,0xFFFFFF 40,0xb36666 56,0xc78e8e 27,0xa24444 26,0xa14242 28,0xa34747 40,0xb36666 34,0xab5656 43,0xb76d6d 44,0xb87070 41,0xb46868 49,0xbe7c7c 54,0xc58989 89,0xf1e2e2 62,0xcf9e9e 56,0xc78e8e 77,0xe2c4c4 47,0xbc7777 55,0xc68c8c 28,0xa34747 22,0x9c3838 20,0x993333 83,0xead3d3 66,0xd4a8a8 41,0xb46868 21,0x9a3535 14,0x912323 12,0x8f1e1e 12,0x8f1e1e 13,0x902121 50,0xc07f7f 51,0xc18282 17,0x952b2b 13,0x902121 10,0x8c1919 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 9,0x8b1616 9,0x8b1616 11,0x8e1c1c 13,0x902121 15,0x932626 17,0x952b2b 20,0x993333 92,0xf5eaea 25,0xa03f3f 12,0x8f1e1e 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 19,0x983030 75,0xe0bfbf 44,0xb87070 100,0xFFFFFF 60,0xcc9999 49,0xbe7c7c 39,0xb16363 37,0xaf5e5e 40,0xb36666 56,0xc78e8e 38,0xb06060 21,0x9a3535 19,0x983030 19,0x983030 20,0x993333 100,0xFFFFFF 30,0xa64c4c 100,0xFFFFFF 59,0xcb9696 94,0xf8efef 19,0x983030 14,0x912323 10,0x8c1919 9,0x8b1616 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 + 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 10,0x8c1919 12,0x8f1e1e 17,0x952b2b 61,0xce9b9b 46,0xba7575 68,0xd7adad 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 46,0xba7575 46,0xba7575 47,0xbc7777 36,0xae5b5b 70,0xd9b2b2 28,0xa34747 28,0xa34747 30,0xa64c4c 40,0xb36666 36,0xae5b5b 37,0xaf5e5e 41,0xb46868 45,0xb97272 45,0xb97272 46,0xba7575 45,0xb97272 46,0xba7575 100,0xFFFFFF 100,0xFFFFFF 62,0xcf9e9e 84,0xebd6d6 51,0xc18282 48,0xbd7a7a 48,0xbd7a7a 50,0xc07f7f 100,0xFFFFFF 90,0xf3e5e5 66,0xd4a8a8 61,0xce9b9b 100,0xFFFFFF 100,0xFFFFFF 62,0xcf9e9e 60,0xcc9999 100,0xFFFFFF 100,0xFFFFFF 41,0xb46868 41,0xb46868 45,0xb97272 55,0xc68c8c 48,0xbd7a7a 52,0xc28484 48,0xbd7a7a 49,0xbe7c7c 59,0xcb9696 66,0xd4a8a8 68,0xd7adad 100,0xFFFFFF 68,0xd7adad 75,0xe0bfbf 31,0xa74f4f 32,0xa85151 91,0xf4e8e8 31,0xa74f4f 26,0xa14242 26,0xa14242 26,0xa14242 27,0xa24444 29,0xa54949 100,0xFFFFFF 59,0xcb9696 91,0xf4e8e8 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 57,0xc89191 55,0xc68c8c 54,0xc58989 55,0xc68c8c 56,0xc78e8e 76,0xe1c1c1 63,0xd0a0a0 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 89,0xf1e2e2 90,0xf3e5e5 79,0xe5c9c9 78,0xe3c6c6 95,0xf9f2f2 73,0xddbaba 100,0xFFFFFF 61,0xce9b9b 62,0xcf9e9e 65,0xd3a5a5 100,0xFFFFFF 60,0xcc9999 100,0xFFFFFF 43,0xb76d6d 39,0xb16363 37,0xaf5e5e 37,0xaf5e5e 36,0xae5b5b 38,0xb06060 44,0xb87070 31,0xa74f4f 29,0xa54949 29,0xa54949 32,0xa85151 53,0xc38787 39,0xb16363 100,0xFFFFFF 45,0xb97272 100,0xFFFFFF 68,0xd7adad 68,0xd7adad 75,0xe0bfbf 98,0xfdf9f9 90,0xf3e5e5 73,0xddbaba 62,0xcf9e9e 58,0xca9393 100,0xFFFFFF 100,0xFFFFFF 29,0xa54949 52,0xc28484 100,0xFFFFFF 88,0xf0e0e0 34,0xab5656 100,0xFFFFFF 19,0x983030 15,0x932626 15,0x932626 19,0x983030 39,0xb16363 66,0xd4a8a8 13,0x902121 10,0x8c1919 8,0x8a1414 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 9,0x8b1616 10,0x8c1919 11,0x8e1c1c 12,0x8f1e1e 15,0x932626 20,0x993333 22,0x9c3838 38,0xb06060 58,0xca9393 13,0x902121 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 63,0xd0a0a0 37,0xaf5e5e 78,0xe3c6c6 100,0xFFFFFF 100,0xFFFFFF 74,0xdebcbc 48,0xbd7a7a 38,0xb06060 68,0xd7adad 66,0xd4a8a8 24,0x9e3d3d 19,0x983030 18,0x972d2d 17,0x952b2b 17,0x952b2b 21,0x9a3535 100,0xFFFFFF 67,0xd5aaaa 21,0x9a3535 17,0x952b2b 13,0x902121 12,0x8f1e1e 9,0x8b1616 9,0x8b1616 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 + 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 10,0x8c1919 13,0x902121 100,0xFFFFFF 23,0x9d3a3a 54,0xc58989 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 76,0xe1c1c1 80,0xe6cccc 100,0xFFFFFF 42,0xb56b6b 39,0xb16363 40,0xb36666 52,0xc28484 34,0xab5656 30,0xa64c4c 30,0xa64c4c 32,0xa85151 100,0xFFFFFF 39,0xb16363 40,0xb36666 89,0xf1e2e2 45,0xb97272 46,0xba7575 47,0xbc7777 49,0xbe7c7c 51,0xc18282 100,0xFFFFFF 100,0xFFFFFF 97,0xfcf7f7 66,0xd4a8a8 54,0xc58989 52,0xc28484 91,0xf4e8e8 52,0xc28484 55,0xc68c8c 100,0xFFFFFF 57,0xc89191 57,0xc89191 60,0xcc9999 100,0xFFFFFF 51,0xc18282 49,0xbe7c7c 56,0xc78e8e 100,0xFFFFFF 43,0xb76d6d 43,0xb76d6d 43,0xb76d6d 45,0xb97272 45,0xb97272 45,0xb97272 46,0xba7575 47,0xbc7777 50,0xc07f7f 70,0xd9b2b2 100,0xFFFFFF 47,0xbc7777 100,0xFFFFFF 54,0xc58989 88,0xf0e0e0 35,0xac5959 48,0xbd7a7a 43,0xb76d6d 29,0xa54949 27,0xa24444 27,0xa24444 27,0xa24444 30,0xa64c4c 37,0xaf5e5e 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 83,0xead3d3 71,0xdab5b5 100,0xFFFFFF 56,0xc78e8e 53,0xc38787 54,0xc58989 55,0xc68c8c 57,0xc89191 59,0xcb9696 64,0xd1a3a3 69,0xd8afaf 69,0xd8afaf 74,0xdebcbc 71,0xdab5b5 74,0xdebcbc 77,0xe2c4c4 79,0xe5c9c9 73,0xddbaba 67,0xd5aaaa 100,0xFFFFFF 60,0xcc9999 59,0xcb9696 61,0xce9b9b 100,0xFFFFFF 51,0xc18282 51,0xc18282 45,0xb97272 54,0xc58989 37,0xaf5e5e 35,0xac5959 35,0xac5959 34,0xab5656 33,0xaa5454 31,0xa74f4f 31,0xa74f4f 74,0xdebcbc 98,0xfdf9f9 100,0xFFFFFF 100,0xFFFFFF 50,0xc07f7f 49,0xbe7c7c 60,0xcc9999 68,0xd7adad 81,0xe7cece 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 95,0xf9f2f2 100,0xFFFFFF 73,0xddbaba 49,0xbe7c7c 41,0xb46868 36,0xae5b5b 73,0xddbaba 100,0xFFFFFF 85,0xecd8d8 77,0xe2c4c4 75,0xe0bfbf 100,0xFFFFFF 48,0xbd7a7a 17,0x952b2b 19,0x983030 33,0xaa5454 51,0xc18282 24,0x9e3d3d 10,0x8c1919 8,0x8a1414 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 10,0x8c1919 11,0x8e1c1c 14,0x912323 63,0xd0a0a0 28,0xa34747 36,0xae5b5b 100,0xFFFFFF 16,0x942828 14,0x912323 13,0x902121 13,0x902121 19,0x983030 21,0x9a3535 54,0xc58989 83,0xead3d3 100,0xFFFFFF 96,0xfaf4f4 100,0xFFFFFF 61,0xce9b9b 70,0xd9b2b2 28,0xa34747 34,0xab5656 33,0xaa5454 19,0x983030 17,0x952b2b 16,0x942828 16,0x942828 15,0x932626 16,0x942828 16,0x942828 14,0x912323 13,0x902121 11,0x8e1c1c 10,0x8c1919 9,0x8b1616 9,0x8b1616 8,0x8a1414 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 + 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 10,0x8c1919 13,0x902121 17,0x952b2b 56,0xc78e8e 45,0xb97272 80,0xe6cccc 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 70,0xd9b2b2 76,0xe1c1c1 44,0xb87070 38,0xb06060 37,0xaf5e5e 36,0xae5b5b 33,0xaa5454 32,0xa85151 34,0xab5656 42,0xb56b6b 61,0xce9b9b 45,0xb97272 55,0xc68c8c 88,0xf0e0e0 48,0xbd7a7a 47,0xbc7777 47,0xbc7777 50,0xc07f7f 68,0xd7adad 100,0xFFFFFF 100,0xFFFFFF 91,0xf4e8e8 88,0xf0e0e0 100,0xFFFFFF 80,0xe6cccc 68,0xd7adad 55,0xc68c8c 55,0xc68c8c 56,0xc78e8e 56,0xc78e8e 56,0xc78e8e 74,0xdebcbc 62,0xcf9e9e 50,0xc07f7f 47,0xbc7777 46,0xba7575 45,0xb97272 44,0xb87070 43,0xb76d6d 43,0xb76d6d 44,0xb87070 44,0xb87070 45,0xb97272 45,0xb97272 48,0xbd7a7a 51,0xc18282 99,0xfefcfc 45,0xb97272 41,0xb46868 40,0xb36666 39,0xb16363 43,0xb76d6d 42,0xb56b6b 44,0xb87070 65,0xd3a5a5 30,0xa64c4c 28,0xa34747 28,0xa34747 28,0xa34747 31,0xa74f4f 87,0xefdddd 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 77,0xe2c4c4 100,0xFFFFFF 55,0xc68c8c 51,0xc18282 55,0xc68c8c 57,0xc89191 58,0xca9393 100,0xFFFFFF 64,0xd1a3a3 65,0xd3a5a5 66,0xd4a8a8 67,0xd5aaaa 69,0xd8afaf 75,0xe0bfbf 81,0xe7cece 91,0xf4e8e8 100,0xFFFFFF 100,0xFFFFFF 59,0xcb9696 57,0xc89191 57,0xc89191 100,0xFFFFFF 100,0xFFFFFF 48,0xbd7a7a 47,0xbc7777 100,0xFFFFFF 39,0xb16363 36,0xae5b5b 35,0xac5959 35,0xac5959 34,0xab5656 33,0xaa5454 32,0xa85151 33,0xaa5454 43,0xb76d6d 100,0xFFFFFF 91,0xf4e8e8 61,0xce9b9b 56,0xc78e8e 56,0xc78e8e 100,0xFFFFFF 77,0xe2c4c4 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 72,0xdcb7b7 83,0xead3d3 91,0xf4e8e8 38,0xb06060 39,0xb16363 88,0xf0e0e0 93,0xf7eded 30,0xa64c4c 22,0x9c3838 22,0x9c3838 28,0xa34747 22,0x9c3838 25,0xa03f3f 51,0xc18282 30,0xa64c4c 23,0x9d3a3a 11,0x8e1c1c 8,0x8a1414 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 10,0x8c1919 10,0x8c1919 13,0x902121 22,0x9c3838 53,0xc38787 22,0x9c3838 20,0x993333 18,0x972d2d 16,0x942828 14,0x912323 14,0x912323 14,0x912323 16,0x942828 60,0xcc9999 72,0xdcb7b7 62,0xcf9e9e 100,0xFFFFFF 72,0xdcb7b7 62,0xcf9e9e 49,0xbe7c7c 39,0xb16363 31,0xa74f4f 23,0x9d3a3a 20,0x993333 17,0x952b2b 16,0x942828 16,0x942828 15,0x932626 14,0x912323 14,0x912323 13,0x902121 13,0x902121 11,0x8e1c1c 11,0x8e1c1c 10,0x8c1919 9,0x8b1616 9,0x8b1616 8,0x8a1414 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 + 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 9,0x8b1616 10,0x8c1919 11,0x8e1c1c 13,0x902121 18,0x972d2d 29,0xa54949 100,0xFFFFFF 85,0xecd8d8 72,0xdcb7b7 90,0xf3e5e5 57,0xc89191 50,0xc07f7f 41,0xb46868 37,0xaf5e5e 36,0xae5b5b 35,0xac5959 34,0xab5656 37,0xaf5e5e 64,0xd1a3a3 100,0xFFFFFF 81,0xe7cece 97,0xfcf7f7 94,0xf8efef 51,0xc18282 49,0xbe7c7c 49,0xbe7c7c 51,0xc18282 52,0xc28484 100,0xFFFFFF 100,0xFFFFFF 88,0xf0e0e0 100,0xFFFFFF 96,0xfaf4f4 100,0xFFFFFF 61,0xce9b9b 59,0xcb9696 57,0xc89191 56,0xc78e8e 56,0xc78e8e 55,0xc68c8c 55,0xc68c8c 54,0xc58989 52,0xc28484 49,0xbe7c7c 47,0xbc7777 46,0xba7575 45,0xb97272 45,0xb97272 44,0xb87070 44,0xb87070 44,0xb87070 43,0xb76d6d 44,0xb87070 44,0xb87070 100,0xFFFFFF 100,0xFFFFFF 43,0xb76d6d 39,0xb16363 38,0xb06060 37,0xaf5e5e 38,0xb06060 98,0xfdf9f9 53,0xc38787 93,0xf7eded 58,0xca9393 30,0xa64c4c 29,0xa54949 29,0xa54949 29,0xa54949 31,0xa74f4f 44,0xb87070 53,0xc38787 69,0xd8afaf 100,0xFFFFFF 67,0xd5aaaa 84,0xebd6d6 100,0xFFFFFF 49,0xbe7c7c 49,0xbe7c7c 61,0xce9b9b 62,0xcf9e9e 62,0xcf9e9e 77,0xe2c4c4 67,0xd5aaaa 66,0xd4a8a8 65,0xd3a5a5 65,0xd3a5a5 84,0xebd6d6 89,0xf1e2e2 92,0xf5eaea 100,0xFFFFFF 100,0xFFFFFF 67,0xd5aaaa 100,0xFFFFFF 56,0xc78e8e 55,0xc68c8c 54,0xc58989 51,0xc18282 48,0xbd7a7a 45,0xb97272 41,0xb46868 38,0xb06060 36,0xae5b5b 35,0xac5959 34,0xab5656 34,0xab5656 33,0xaa5454 33,0xaa5454 35,0xac5959 52,0xc28484 83,0xead3d3 76,0xe1c1c1 100,0xFFFFFF 56,0xc78e8e 58,0xca9393 68,0xd7adad 80,0xe6cccc 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 94,0xf8efef 71,0xdab5b5 60,0xcc9999 100,0xFFFFFF 58,0xca9393 33,0xaa5454 33,0xaa5454 100,0xFFFFFF 21,0x9a3535 19,0x983030 19,0x983030 50,0xc07f7f 40,0xb36666 42,0xb56b6b 32,0xa85151 18,0x972d2d 11,0x8e1c1c 10,0x8c1919 9,0x8b1616 8,0x8a1414 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 12,0x8f1e1e 13,0x902121 17,0x952b2b 100,0xFFFFFF 40,0xb36666 22,0x9c3838 19,0x983030 17,0x952b2b 16,0x942828 15,0x932626 15,0x932626 16,0x942828 18,0x972d2d 51,0xc18282 43,0xb76d6d 55,0xc68c8c 57,0xc89191 100,0xFFFFFF 89,0xf1e2e2 47,0xbc7777 100,0xFFFFFF 100,0xFFFFFF 86,0xeedbdb 19,0x983030 17,0x952b2b 16,0x942828 15,0x932626 14,0x912323 14,0x912323 13,0x902121 13,0x902121 12,0x8f1e1e 11,0x8e1c1c 11,0x8e1c1c 10,0x8c1919 10,0x8c1919 9,0x8b1616 9,0x8b1616 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 + 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 10,0x8c1919 10,0x8c1919 11,0x8e1c1c 13,0x902121 23,0x9d3a3a 100,0xFFFFFF 37,0xaf5e5e 50,0xc07f7f 92,0xf5eaea 50,0xc07f7f 62,0xcf9e9e 100,0xFFFFFF 52,0xc28484 37,0xaf5e5e 36,0xae5b5b 35,0xac5959 36,0xae5b5b 39,0xb16363 71,0xdab5b5 100,0xFFFFFF 93,0xf7eded 65,0xd3a5a5 63,0xd0a0a0 100,0xFFFFFF 51,0xc18282 51,0xc18282 56,0xc78e8e 100,0xFFFFFF 59,0xcb9696 94,0xf8efef 80,0xe6cccc 70,0xd9b2b2 70,0xd9b2b2 74,0xdebcbc 61,0xce9b9b 59,0xcb9696 57,0xc89191 57,0xc89191 57,0xc89191 56,0xc78e8e 55,0xc68c8c 53,0xc38787 51,0xc18282 49,0xbe7c7c 48,0xbd7a7a 47,0xbc7777 45,0xb97272 45,0xb97272 45,0xb97272 44,0xb87070 43,0xb76d6d 43,0xb76d6d 43,0xb76d6d 43,0xb76d6d 52,0xc28484 83,0xead3d3 78,0xe3c6c6 38,0xb06060 37,0xaf5e5e 36,0xae5b5b 36,0xae5b5b 36,0xae5b5b 41,0xb46868 40,0xb36666 33,0xaa5454 30,0xa64c4c 30,0xa64c4c 29,0xa54949 30,0xa64c4c 31,0xa74f4f 35,0xac5959 100,0xFFFFFF 57,0xc89191 56,0xc78e8e 66,0xd4a8a8 60,0xcc9999 78,0xe3c6c6 46,0xba7575 46,0xba7575 50,0xc07f7f 57,0xc89191 93,0xf7eded 100,0xFFFFFF 70,0xd9b2b2 70,0xd9b2b2 76,0xe1c1c1 61,0xce9b9b 100,0xFFFFFF 61,0xce9b9b 71,0xdab5b5 100,0xFFFFFF 100,0xFFFFFF 63,0xd0a0a0 55,0xc68c8c 56,0xc78e8e 56,0xc78e8e 57,0xc89191 95,0xf9f2f2 72,0xdcb7b7 94,0xf8efef 100,0xFFFFFF 41,0xb46868 36,0xae5b5b 35,0xac5959 34,0xab5656 34,0xab5656 34,0xab5656 34,0xab5656 38,0xb06060 53,0xc38787 100,0xFFFFFF 60,0xcc9999 51,0xc18282 55,0xc68c8c 58,0xca9393 71,0xdab5b5 100,0xFFFFFF 90,0xf3e5e5 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 83,0xead3d3 89,0xf1e2e2 59,0xcb9696 68,0xd7adad 65,0xd3a5a5 30,0xa64c4c 28,0xa34747 31,0xa74f4f 20,0x993333 18,0x972d2d 17,0x952b2b 22,0x9c3838 26,0xa14242 21,0x9a3535 14,0x912323 14,0x912323 10,0x8c1919 10,0x8c1919 9,0x8b1616 8,0x8a1414 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 10,0x8c1919 14,0x912323 40,0xb36666 21,0x9a3535 83,0xead3d3 52,0xc28484 59,0xcb9696 20,0x993333 18,0x972d2d 17,0x952b2b 16,0x942828 17,0x952b2b 93,0xf7eded 65,0xd3a5a5 24,0x9e3d3d 35,0xac5959 100,0xFFFFFF 81,0xe7cece 100,0xFFFFFF 41,0xb46868 63,0xd0a0a0 59,0xcb9696 71,0xdab5b5 72,0xdcb7b7 20,0x993333 18,0x972d2d 16,0x942828 15,0x932626 14,0x912323 14,0x912323 13,0x902121 12,0x8f1e1e 12,0x8f1e1e 11,0x8e1c1c 11,0x8e1c1c 10,0x8c1919 10,0x8c1919 9,0x8b1616 9,0x8b1616 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 + 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 10,0x8c1919 10,0x8c1919 11,0x8e1c1c 11,0x8e1c1c 12,0x8f1e1e 14,0x912323 17,0x952b2b 23,0x9d3a3a 39,0xb16363 48,0xbd7a7a 44,0xb87070 52,0xc28484 100,0xFFFFFF 39,0xb16363 35,0xac5959 35,0xac5959 36,0xae5b5b 38,0xb06060 88,0xf0e0e0 75,0xe0bfbf 73,0xddbaba 75,0xe0bfbf 63,0xd0a0a0 59,0xcb9696 56,0xc78e8e 53,0xc38787 62,0xcf9e9e 100,0xFFFFFF 62,0xcf9e9e 63,0xd0a0a0 64,0xd1a3a3 67,0xd5aaaa 68,0xd7adad 67,0xd5aaaa 64,0xd1a3a3 61,0xce9b9b 60,0xcc9999 61,0xce9b9b 59,0xcb9696 60,0xcc9999 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 53,0xc38787 50,0xc07f7f 49,0xbe7c7c 50,0xc07f7f 47,0xbc7777 46,0xba7575 46,0xba7575 46,0xba7575 44,0xb87070 43,0xb76d6d 42,0xb56b6b 41,0xb46868 40,0xb36666 41,0xb46868 39,0xb16363 37,0xaf5e5e 36,0xae5b5b 35,0xac5959 35,0xac5959 34,0xab5656 34,0xab5656 33,0xaa5454 32,0xa85151 31,0xa74f4f 30,0xa64c4c 30,0xa64c4c 31,0xa74f4f 31,0xa74f4f 33,0xaa5454 35,0xac5959 48,0xbd7a7a 55,0xc68c8c 99,0xfefcfc 100,0xFFFFFF 43,0xb76d6d 43,0xb76d6d 45,0xb97272 47,0xbc7777 52,0xc28484 83,0xead3d3 78,0xe3c6c6 100,0xFFFFFF 83,0xead3d3 100,0xFFFFFF 61,0xce9b9b 57,0xc89191 59,0xcb9696 80,0xe6cccc 57,0xc89191 53,0xc38787 53,0xc38787 54,0xc58989 56,0xc78e8e 57,0xc89191 95,0xf9f2f2 100,0xFFFFFF 86,0xeedbdb 65,0xd3a5a5 100,0xFFFFFF 79,0xe5c9c9 57,0xc89191 35,0xac5959 34,0xab5656 34,0xab5656 34,0xab5656 34,0xab5656 36,0xae5b5b 37,0xaf5e5e 41,0xb46868 45,0xb97272 48,0xbd7a7a 95,0xf9f2f2 62,0xcf9e9e 64,0xd1a3a3 85,0xecd8d8 83,0xead3d3 100,0xFFFFFF 100,0xFFFFFF 96,0xfaf4f4 97,0xfcf7f7 76,0xe1c1c1 100,0xFFFFFF 54,0xc58989 52,0xc28484 40,0xb36666 40,0xb36666 25,0xa03f3f 21,0x9a3535 18,0x972d2d 17,0x952b2b 16,0x942828 15,0x932626 14,0x912323 14,0x912323 12,0x8f1e1e 11,0x8e1c1c 10,0x8c1919 10,0x8c1919 9,0x8b1616 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 10,0x8c1919 10,0x8c1919 13,0x902121 54,0xc58989 57,0xc89191 48,0xbd7a7a 44,0xb87070 28,0xa34747 23,0x9d3a3a 21,0x9a3535 24,0x9e3d3d 18,0x972d2d 19,0x983030 28,0xa34747 30,0xa64c4c 26,0xa14242 28,0xa34747 38,0xb06060 100,0xFFFFFF 37,0xaf5e5e 37,0xaf5e5e 40,0xb36666 71,0xdab5b5 37,0xaf5e5e 47,0xbc7777 23,0x9d3a3a 71,0xdab5b5 18,0x972d2d 15,0x932626 14,0x912323 14,0x912323 13,0x902121 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 11,0x8e1c1c 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 9,0x8b1616 9,0x8b1616 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 + 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 10,0x8c1919 10,0x8c1919 10,0x8c1919 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 12,0x8f1e1e 13,0x902121 16,0x942828 22,0x9c3838 89,0xf1e2e2 100,0xFFFFFF 32,0xa85151 32,0xa85151 31,0xa74f4f 32,0xa85151 35,0xac5959 36,0xae5b5b 37,0xaf5e5e 38,0xb06060 41,0xb46868 65,0xd3a5a5 64,0xd1a3a3 100,0xFFFFFF 60,0xcc9999 58,0xca9393 57,0xc89191 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 71,0xdab5b5 68,0xd7adad 68,0xd7adad 68,0xd7adad 67,0xd5aaaa 65,0xd3a5a5 63,0xd0a0a0 69,0xd8afaf 63,0xd0a0a0 100,0xFFFFFF 80,0xe6cccc 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 56,0xc78e8e 53,0xc38787 97,0xfcf7f7 49,0xbe7c7c 47,0xbc7777 48,0xbd7a7a 74,0xdebcbc 45,0xb97272 44,0xb87070 41,0xb46868 40,0xb36666 39,0xb16363 38,0xb06060 37,0xaf5e5e 36,0xae5b5b 35,0xac5959 35,0xac5959 34,0xab5656 34,0xab5656 33,0xaa5454 32,0xa85151 32,0xa85151 31,0xa74f4f 31,0xa74f4f 31,0xa74f4f 31,0xa74f4f 31,0xa74f4f 32,0xa85151 36,0xae5b5b 43,0xb76d6d 47,0xbc7777 91,0xf4e8e8 40,0xb36666 40,0xb36666 47,0xbc7777 50,0xc07f7f 49,0xbe7c7c 65,0xd3a5a5 100,0xFFFFFF 89,0xf1e2e2 100,0xFFFFFF 100,0xFFFFFF 79,0xe5c9c9 68,0xd7adad 53,0xc38787 76,0xe1c1c1 54,0xc58989 50,0xc07f7f 49,0xbe7c7c 51,0xc18282 63,0xd0a0a0 58,0xca9393 59,0xcb9696 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 41,0xb46868 36,0xae5b5b 34,0xab5656 33,0xaa5454 33,0xaa5454 34,0xab5656 35,0xac5959 35,0xac5959 36,0xae5b5b 47,0xbc7777 54,0xc58989 51,0xc18282 92,0xf5eaea 78,0xe3c6c6 68,0xd7adad 68,0xd7adad 72,0xdcb7b7 79,0xe5c9c9 81,0xe7cece 97,0xfcf7f7 100,0xFFFFFF 70,0xd9b2b2 63,0xd0a0a0 53,0xc38787 48,0xbd7a7a 96,0xfaf4f4 100,0xFFFFFF 100,0xFFFFFF 22,0x9c3838 18,0x972d2d 17,0x952b2b 15,0x932626 15,0x932626 14,0x912323 13,0x902121 12,0x8f1e1e 11,0x8e1c1c 10,0x8c1919 9,0x8b1616 9,0x8b1616 9,0x8b1616 8,0x8a1414 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 9,0x8b1616 10,0x8c1919 10,0x8c1919 11,0x8e1c1c 21,0x9a3535 100,0xFFFFFF 100,0xFFFFFF 71,0xdab5b5 53,0xc38787 100,0xFFFFFF 83,0xead3d3 37,0xaf5e5e 63,0xd0a0a0 21,0x9a3535 40,0xb36666 49,0xbe7c7c 35,0xac5959 31,0xa74f4f 43,0xb76d6d 33,0xaa5454 35,0xac5959 35,0xac5959 35,0xac5959 48,0xbd7a7a 32,0xa85151 28,0xa34747 30,0xa64c4c 30,0xa64c4c 91,0xf4e8e8 18,0x972d2d 15,0x932626 14,0x912323 14,0x912323 13,0x902121 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 11,0x8e1c1c 11,0x8e1c1c 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 11,0x8e1c1c 9,0x8b1616 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 + 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 10,0x8c1919 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 12,0x8f1e1e 12,0x8f1e1e 13,0x902121 13,0x902121 15,0x932626 17,0x952b2b 19,0x983030 21,0x9a3535 24,0x9e3d3d 27,0xa24444 29,0xa54949 38,0xb06060 39,0xb16363 37,0xaf5e5e 37,0xaf5e5e 39,0xb16363 44,0xb87070 46,0xba7575 50,0xc07f7f 54,0xc58989 57,0xc89191 58,0xca9393 61,0xce9b9b 70,0xd9b2b2 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 75,0xe0bfbf 71,0xdab5b5 69,0xd8afaf 71,0xdab5b5 82,0xe8d1d1 100,0xFFFFFF 100,0xFFFFFF 99,0xfefcfc 72,0xdcb7b7 67,0xd5aaaa 76,0xe1c1c1 91,0xf4e8e8 100,0xFFFFFF 100,0xFFFFFF 82,0xe8d1d1 91,0xf4e8e8 64,0xd1a3a3 76,0xe1c1c1 52,0xc28484 59,0xcb9696 94,0xf8efef 56,0xc78e8e 64,0xd1a3a3 82,0xe8d1d1 43,0xb76d6d 41,0xb46868 39,0xb16363 38,0xb06060 37,0xaf5e5e 36,0xae5b5b 35,0xac5959 35,0xac5959 34,0xab5656 33,0xaa5454 33,0xaa5454 32,0xa85151 32,0xa85151 31,0xa74f4f 31,0xa74f4f 31,0xa74f4f 31,0xa74f4f 31,0xa74f4f 32,0xa85151 35,0xac5959 36,0xae5b5b 35,0xac5959 36,0xae5b5b 37,0xaf5e5e 38,0xb06060 91,0xf4e8e8 89,0xf1e2e2 100,0xFFFFFF 96,0xfaf4f4 68,0xd7adad 99,0xfefcfc 100,0xFFFFFF 100,0xFFFFFF 71,0xdab5b5 100,0xFFFFFF 51,0xc18282 49,0xbe7c7c 52,0xc28484 48,0xbd7a7a 48,0xbd7a7a 50,0xc07f7f 57,0xc89191 62,0xcf9e9e 64,0xd1a3a3 96,0xfaf4f4 90,0xf3e5e5 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 67,0xd5aaaa 35,0xac5959 33,0xaa5454 33,0xaa5454 33,0xaa5454 34,0xab5656 34,0xab5656 35,0xac5959 36,0xae5b5b 41,0xb46868 42,0xb56b6b 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 65,0xd3a5a5 82,0xe8d1d1 83,0xead3d3 78,0xe3c6c6 75,0xe0bfbf 65,0xd3a5a5 71,0xdab5b5 93,0xf7eded 69,0xd8afaf 47,0xbc7777 50,0xc07f7f 67,0xd5aaaa 53,0xc38787 68,0xd7adad 23,0x9d3a3a 17,0x952b2b 15,0x932626 14,0x912323 13,0x902121 13,0x902121 11,0x8e1c1c 11,0x8e1c1c 10,0x8c1919 10,0x8c1919 9,0x8b1616 9,0x8b1616 9,0x8b1616 8,0x8a1414 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 9,0x8b1616 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 11,0x8e1c1c 11,0x8e1c1c 12,0x8f1e1e 15,0x932626 66,0xd4a8a8 100,0xFFFFFF 84,0xebd6d6 100,0xFFFFFF 100,0xFFFFFF 56,0xc78e8e 29,0xa54949 26,0xa14242 29,0xa54949 93,0xf7eded 75,0xe0bfbf 94,0xf8efef 44,0xb87070 38,0xb06060 35,0xac5959 35,0xac5959 34,0xab5656 33,0xaa5454 32,0xa85151 29,0xa54949 26,0xa14242 26,0xa14242 34,0xab5656 22,0x9c3838 17,0x952b2b 16,0x942828 15,0x932626 15,0x932626 14,0x912323 13,0x902121 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 11,0x8e1c1c 11,0x8e1c1c 12,0x8f1e1e 23,0x9d3a3a 11,0x8e1c1c 10,0x8c1919 10,0x8c1919 12,0x8f1e1e 42,0xb56b6b 11,0x8e1c1c 9,0x8b1616 8,0x8a1414 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 + 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 10,0x8c1919 12,0x8f1e1e 50,0xc07f7f 13,0x902121 14,0x912323 16,0x942828 13,0x902121 13,0x902121 13,0x902121 13,0x902121 14,0x912323 15,0x932626 16,0x942828 18,0x972d2d 21,0x9a3535 67,0xd5aaaa 27,0xa24444 29,0xa54949 36,0xae5b5b 53,0xc38787 39,0xb16363 39,0xb16363 40,0xb36666 47,0xbc7777 52,0xc28484 52,0xc28484 65,0xd3a5a5 59,0xcb9696 59,0xcb9696 61,0xce9b9b 100,0xFFFFFF 100,0xFFFFFF 88,0xf0e0e0 81,0xe7cece 82,0xe8d1d1 73,0xddbaba 100,0xFFFFFF 76,0xe1c1c1 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 73,0xddbaba 71,0xdab5b5 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 94,0xf8efef 81,0xe7cece 100,0xFFFFFF 59,0xcb9696 57,0xc89191 55,0xc68c8c 100,0xFFFFFF 86,0xeedbdb 65,0xd3a5a5 76,0xe1c1c1 100,0xFFFFFF 65,0xd3a5a5 43,0xb76d6d 39,0xb16363 38,0xb06060 37,0xaf5e5e 36,0xae5b5b 35,0xac5959 35,0xac5959 34,0xab5656 33,0xaa5454 33,0xaa5454 33,0xaa5454 32,0xa85151 32,0xa85151 31,0xa74f4f 31,0xa74f4f 31,0xa74f4f 32,0xa85151 32,0xa85151 33,0xaa5454 34,0xab5656 34,0xab5656 35,0xac5959 35,0xac5959 37,0xaf5e5e 100,0xFFFFFF 42,0xb56b6b 41,0xb46868 44,0xb87070 49,0xbe7c7c 72,0xdcb7b7 94,0xf8efef 90,0xf3e5e5 55,0xc68c8c 100,0xFFFFFF 47,0xbc7777 46,0xba7575 46,0xba7575 46,0xba7575 47,0xbc7777 48,0xbd7a7a 51,0xc18282 100,0xFFFFFF 71,0xdab5b5 68,0xd7adad 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 66,0xd4a8a8 38,0xb06060 33,0xaa5454 32,0xa85151 32,0xa85151 33,0xaa5454 34,0xab5656 35,0xac5959 35,0xac5959 36,0xae5b5b 38,0xb06060 39,0xb16363 49,0xbe7c7c 100,0xFFFFFF 100,0xFFFFFF 71,0xdab5b5 58,0xca9393 73,0xddbaba 100,0xFFFFFF 100,0xFFFFFF 61,0xce9b9b 61,0xce9b9b 72,0xdcb7b7 100,0xFFFFFF 100,0xFFFFFF 43,0xb76d6d 50,0xc07f7f 80,0xe6cccc 100,0xFFFFFF 32,0xa85151 39,0xb16363 18,0x972d2d 16,0x942828 15,0x932626 13,0x902121 13,0x902121 12,0x8f1e1e 11,0x8e1c1c 11,0x8e1c1c 10,0x8c1919 9,0x8b1616 9,0x8b1616 9,0x8b1616 8,0x8a1414 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 9,0x8b1616 12,0x8f1e1e 19,0x983030 12,0x8f1e1e 19,0x983030 13,0x902121 12,0x8f1e1e 12,0x8f1e1e 13,0x902121 15,0x932626 29,0xa54949 100,0xFFFFFF 60,0xcc9999 51,0xc18282 39,0xb16363 91,0xf4e8e8 31,0xa74f4f 29,0xa54949 32,0xa85151 56,0xc78e8e 58,0xca9393 50,0xc07f7f 95,0xf9f2f2 38,0xb06060 36,0xae5b5b 37,0xaf5e5e 37,0xaf5e5e 34,0xab5656 30,0xa64c4c 28,0xa34747 26,0xa14242 24,0x9e3d3d 22,0x9c3838 20,0x993333 18,0x972d2d 17,0x952b2b 16,0x942828 16,0x942828 16,0x942828 17,0x952b2b 14,0x912323 13,0x902121 13,0x902121 15,0x932626 19,0x983030 13,0x902121 13,0x902121 16,0x942828 30,0xa64c4c 15,0x932626 24,0x9e3d3d 19,0x983030 100,0xFFFFFF 21,0x9a3535 15,0x932626 10,0x8c1919 9,0x8b1616 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 11,0x8e1c1c 9,0x8b1616 10,0x8c1919 26,0xa14242 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 + 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 9,0x8b1616 10,0x8c1919 11,0x8e1c1c 11,0x8e1c1c 12,0x8f1e1e 22,0x9c3838 23,0x9d3a3a 35,0xac5959 70,0xd9b2b2 33,0xaa5454 100,0xFFFFFF 16,0x942828 14,0x912323 14,0x912323 15,0x932626 15,0x932626 16,0x942828 20,0x993333 60,0xcc9999 51,0xc18282 31,0xa74f4f 31,0xa74f4f 42,0xb56b6b 75,0xe0bfbf 41,0xb46868 40,0xb36666 41,0xb46868 48,0xbd7a7a 75,0xe0bfbf 71,0xdab5b5 68,0xd7adad 61,0xce9b9b 61,0xce9b9b 79,0xe5c9c9 70,0xd9b2b2 74,0xdebcbc 79,0xe5c9c9 79,0xe5c9c9 79,0xe5c9c9 100,0xFFFFFF 100,0xFFFFFF 82,0xe8d1d1 86,0xeedbdb 100,0xFFFFFF 94,0xf8efef 100,0xFFFFFF 86,0xeedbdb 100,0xFFFFFF 77,0xe2c4c4 82,0xe8d1d1 83,0xead3d3 100,0xFFFFFF 100,0xFFFFFF 72,0xdcb7b7 60,0xcc9999 57,0xc89191 59,0xcb9696 68,0xd7adad 76,0xe1c1c1 94,0xf8efef 100,0xFFFFFF 100,0xFFFFFF 78,0xe3c6c6 94,0xf8efef 51,0xc18282 39,0xb16363 37,0xaf5e5e 36,0xae5b5b 36,0xae5b5b 35,0xac5959 34,0xab5656 33,0xaa5454 33,0xaa5454 33,0xaa5454 32,0xa85151 32,0xa85151 32,0xa85151 32,0xa85151 32,0xa85151 32,0xa85151 32,0xa85151 33,0xaa5454 33,0xaa5454 33,0xaa5454 34,0xab5656 34,0xab5656 36,0xae5b5b 48,0xbd7a7a 39,0xb16363 38,0xb06060 39,0xb16363 44,0xb87070 44,0xb87070 100,0xFFFFFF 60,0xcc9999 47,0xbc7777 54,0xc58989 46,0xba7575 45,0xb97272 45,0xb97272 45,0xb97272 46,0xba7575 48,0xbd7a7a 52,0xc28484 72,0xdcb7b7 100,0xFFFFFF 58,0xca9393 100,0xFFFFFF 100,0xFFFFFF 99,0xfefcfc 42,0xb56b6b 34,0xab5656 31,0xa74f4f 31,0xa74f4f 32,0xa85151 33,0xaa5454 34,0xab5656 35,0xac5959 36,0xae5b5b 37,0xaf5e5e 38,0xb06060 39,0xb16363 41,0xb46868 47,0xbc7777 55,0xc68c8c 58,0xca9393 53,0xc38787 53,0xc38787 55,0xc68c8c 57,0xc89191 58,0xca9393 57,0xc89191 94,0xf8efef 53,0xc38787 43,0xb76d6d 39,0xb16363 40,0xb36666 55,0xc68c8c 30,0xa64c4c 27,0xa24444 24,0x9e3d3d 21,0x9a3535 20,0x993333 54,0xc58989 16,0x942828 14,0x912323 13,0x902121 11,0x8e1c1c 11,0x8e1c1c 10,0x8c1919 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 8,0x8a1414 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 9,0x8b1616 11,0x8e1c1c 23,0x9d3a3a 100,0xFFFFFF 59,0xcb9696 100,0xFFFFFF 22,0x9c3838 14,0x912323 14,0x912323 15,0x932626 23,0x9d3a3a 97,0xfcf7f7 57,0xc89191 44,0xb87070 37,0xaf5e5e 36,0xae5b5b 36,0xae5b5b 100,0xFFFFFF 40,0xb36666 43,0xb76d6d 47,0xbc7777 46,0xba7575 42,0xb56b6b 40,0xb36666 76,0xe1c1c1 41,0xb46868 49,0xbe7c7c 76,0xe1c1c1 96,0xfaf4f4 30,0xa64c4c 89,0xf1e2e2 25,0xa03f3f 26,0xa14242 82,0xe8d1d1 73,0xddbaba 28,0xa34747 18,0x972d2d 18,0x972d2d 77,0xe2c4c4 63,0xd0a0a0 15,0x932626 14,0x912323 15,0x932626 17,0x952b2b 25,0xa03f3f 17,0x952b2b 59,0xcb9696 61,0xce9b9b 22,0x9c3838 18,0x972d2d 72,0xdcb7b7 80,0xe6cccc 22,0x9c3838 18,0x972d2d 13,0x902121 12,0x8f1e1e 11,0x8e1c1c 72,0xdcb7b7 10,0x8c1919 9,0x8b1616 10,0x8c1919 39,0xb16363 49,0xbe7c7c 20,0x993333 9,0x8b1616 7,0x881111 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 + 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 15,0x932626 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 8,0x8a1414 10,0x8c1919 18,0x972d2d 100,0xFFFFFF 14,0x912323 15,0x932626 100,0xFFFFFF 65,0xd3a5a5 41,0xb46868 50,0xc07f7f 54,0xc58989 44,0xb87070 47,0xbc7777 17,0x952b2b 15,0x932626 15,0x932626 15,0x932626 16,0x942828 18,0x972d2d 21,0x9a3535 25,0xa03f3f 79,0xe5c9c9 40,0xb36666 85,0xecd8d8 90,0xf3e5e5 51,0xc18282 44,0xb87070 43,0xb76d6d 72,0xdcb7b7 93,0xf7eded 82,0xe8d1d1 100,0xFFFFFF 69,0xd8afaf 64,0xd1a3a3 100,0xFFFFFF 76,0xe1c1c1 100,0xFFFFFF 81,0xe7cece 82,0xe8d1d1 94,0xf8efef 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 89,0xf1e2e2 90,0xf3e5e5 90,0xf3e5e5 100,0xFFFFFF 81,0xe7cece 79,0xe5c9c9 78,0xe3c6c6 78,0xe3c6c6 79,0xe5c9c9 85,0xecd8d8 76,0xe1c1c1 82,0xe8d1d1 75,0xe0bfbf 60,0xcc9999 63,0xd0a0a0 100,0xFFFFFF 90,0xf3e5e5 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 85,0xecd8d8 53,0xc38787 44,0xb87070 40,0xb36666 38,0xb06060 38,0xb06060 37,0xaf5e5e 35,0xac5959 34,0xab5656 33,0xaa5454 33,0xaa5454 33,0xaa5454 33,0xaa5454 32,0xa85151 32,0xa85151 32,0xa85151 32,0xa85151 32,0xa85151 32,0xa85151 32,0xa85151 33,0xaa5454 33,0xaa5454 33,0xaa5454 34,0xab5656 34,0xab5656 36,0xae5b5b 36,0xae5b5b 37,0xaf5e5e 37,0xaf5e5e 39,0xb16363 39,0xb16363 41,0xb46868 43,0xb76d6d 43,0xb76d6d 44,0xb87070 44,0xb87070 44,0xb87070 44,0xb87070 44,0xb87070 46,0xba7575 59,0xcb9696 100,0xFFFFFF 44,0xb87070 43,0xb76d6d 48,0xbd7a7a 58,0xca9393 50,0xc07f7f 41,0xb46868 100,0xFFFFFF 30,0xa64c4c 29,0xa54949 30,0xa64c4c 31,0xa74f4f 36,0xae5b5b 66,0xd4a8a8 64,0xd1a3a3 37,0xaf5e5e 37,0xaf5e5e 39,0xb16363 41,0xb46868 42,0xb56b6b 44,0xb87070 46,0xba7575 48,0xbd7a7a 47,0xbc7777 49,0xbe7c7c 52,0xc28484 58,0xca9393 59,0xcb9696 100,0xFFFFFF 52,0xc28484 45,0xb97272 41,0xb46868 37,0xaf5e5e 37,0xaf5e5e 100,0xFFFFFF 30,0xa64c4c 28,0xa34747 27,0xa24444 72,0xdcb7b7 76,0xe1c1c1 26,0xa14242 20,0x993333 22,0x9c3838 47,0xbc7777 13,0x902121 12,0x8f1e1e 12,0x8f1e1e 10,0x8c1919 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 8,0x8a1414 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 12,0x8f1e1e 68,0xd7adad 61,0xce9b9b 24,0x9e3d3d 23,0x9d3a3a 100,0xFFFFFF 20,0x993333 16,0x942828 16,0x942828 19,0x983030 25,0xa03f3f 29,0xa54949 35,0xac5959 37,0xaf5e5e 41,0xb46868 79,0xe5c9c9 94,0xf8efef 96,0xfaf4f4 50,0xc07f7f 48,0xbd7a7a 76,0xe1c1c1 95,0xf9f2f2 97,0xfcf7f7 51,0xc18282 47,0xbc7777 70,0xd9b2b2 100,0xFFFFFF 70,0xd9b2b2 52,0xc28484 100,0xFFFFFF 62,0xcf9e9e 71,0xdab5b5 76,0xe1c1c1 75,0xe0bfbf 30,0xa64c4c 100,0xFFFFFF 71,0xdab5b5 25,0xa03f3f 51,0xc18282 17,0x952b2b 17,0x952b2b 63,0xd0a0a0 80,0xe6cccc 24,0x9e3d3d 21,0x9a3535 75,0xe0bfbf 43,0xb76d6d 30,0xa64c4c 58,0xca9393 38,0xb06060 58,0xca9393 53,0xc38787 18,0x972d2d 19,0x983030 30,0xa64c4c 41,0xb46868 17,0x952b2b 13,0x902121 12,0x8f1e1e 13,0x902121 46,0xba7575 28,0xa34747 12,0x8f1e1e 9,0x8b1616 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 + 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 7,0x881111 74,0xdebcbc 11,0x8e1c1c 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 8,0x8a1414 9,0x8b1616 16,0x942828 28,0xa34747 18,0x972d2d 100,0xFFFFFF 100,0xFFFFFF 48,0xbd7a7a 100,0xFFFFFF 22,0x9c3838 23,0x9d3a3a 26,0xa14242 57,0xc89191 22,0x9c3838 16,0x942828 16,0x942828 16,0x942828 17,0x952b2b 18,0x972d2d 19,0x983030 23,0x9d3a3a 43,0xb76d6d 83,0xead3d3 61,0xce9b9b 53,0xc38787 49,0xbe7c7c 46,0xba7575 50,0xc07f7f 97,0xfcf7f7 100,0xFFFFFF 100,0xFFFFFF 71,0xdab5b5 68,0xd7adad 73,0xddbaba 100,0xFFFFFF 100,0xFFFFFF 88,0xf0e0e0 83,0xead3d3 100,0xFFFFFF 93,0xf7eded 100,0xFFFFFF 100,0xFFFFFF 96,0xfaf4f4 91,0xf4e8e8 91,0xf4e8e8 89,0xf1e2e2 85,0xecd8d8 82,0xe8d1d1 80,0xe6cccc 79,0xe5c9c9 77,0xe2c4c4 76,0xe1c1c1 100,0xFFFFFF 71,0xdab5b5 70,0xd9b2b2 71,0xdab5b5 63,0xd0a0a0 73,0xddbaba 100,0xFFFFFF 87,0xefdddd 94,0xf8efef 100,0xFFFFFF 100,0xFFFFFF 83,0xead3d3 65,0xd3a5a5 100,0xFFFFFF 88,0xf0e0e0 41,0xb46868 89,0xf1e2e2 51,0xc18282 37,0xaf5e5e 34,0xab5656 34,0xab5656 33,0xaa5454 33,0xaa5454 33,0xaa5454 32,0xa85151 32,0xa85151 32,0xa85151 32,0xa85151 32,0xa85151 32,0xa85151 32,0xa85151 33,0xaa5454 33,0xaa5454 33,0xaa5454 33,0xaa5454 34,0xab5656 35,0xac5959 35,0xac5959 36,0xae5b5b 37,0xaf5e5e 38,0xb06060 39,0xb16363 40,0xb36666 41,0xb46868 43,0xb76d6d 43,0xb76d6d 44,0xb87070 44,0xb87070 43,0xb76d6d 43,0xb76d6d 43,0xb76d6d 70,0xd9b2b2 77,0xe2c4c4 39,0xb16363 38,0xb06060 42,0xb56b6b 63,0xd0a0a0 99,0xfefcfc 33,0xaa5454 31,0xa74f4f 29,0xa54949 28,0xa34747 29,0xa54949 31,0xa74f4f 62,0xcf9e9e 43,0xb76d6d 100,0xFFFFFF 39,0xb16363 39,0xb16363 41,0xb46868 51,0xc18282 49,0xbe7c7c 45,0xb97272 45,0xb97272 46,0xba7575 46,0xba7575 48,0xbd7a7a 52,0xc28484 100,0xFFFFFF 65,0xd3a5a5 79,0xe5c9c9 67,0xd5aaaa 76,0xe1c1c1 38,0xb06060 37,0xaf5e5e 36,0xae5b5b 34,0xab5656 32,0xa85151 40,0xb36666 39,0xb16363 47,0xbc7777 57,0xc89191 100,0xFFFFFF 51,0xc18282 63,0xd0a0a0 21,0x9a3535 100,0xFFFFFF 16,0x942828 31,0xa74f4f 12,0x8f1e1e 10,0x8c1919 10,0x8c1919 9,0x8b1616 9,0x8b1616 9,0x8b1616 8,0x8a1414 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 11,0x8e1c1c 100,0xFFFFFF 16,0x942828 17,0x952b2b 25,0xa03f3f 30,0xa64c4c 19,0x983030 17,0x952b2b 17,0x952b2b 25,0xa03f3f 34,0xab5656 32,0xa85151 44,0xb87070 39,0xb16363 42,0xb56b6b 100,0xFFFFFF 99,0xfefcfc 59,0xcb9696 52,0xc28484 67,0xd5aaaa 100,0xFFFFFF 95,0xf9f2f2 100,0xFFFFFF 54,0xc58989 52,0xc28484 84,0xebd6d6 75,0xe0bfbf 100,0xFFFFFF 41,0xb46868 36,0xae5b5b 45,0xb97272 58,0xca9393 96,0xfaf4f4 100,0xFFFFFF 49,0xbe7c7c 61,0xce9b9b 31,0xa74f4f 100,0xFFFFFF 41,0xb46868 19,0x983030 31,0xa74f4f 100,0xFFFFFF 60,0xcc9999 77,0xe2c4c4 28,0xa34747 79,0xe5c9c9 44,0xb87070 92,0xf5eaea 99,0xfefcfc 91,0xf4e8e8 65,0xd3a5a5 91,0xf4e8e8 34,0xab5656 35,0xac5959 82,0xe8d1d1 72,0xdcb7b7 56,0xc78e8e 43,0xb76d6d 27,0xa24444 15,0x932626 19,0x983030 59,0xcb9696 51,0xc18282 9,0x8b1616 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 + 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 8,0x8a1414 32,0xa85151 12,0x8f1e1e 10,0x8c1919 8,0x8a1414 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 9,0x8b1616 10,0x8c1919 18,0x972d2d 64,0xd1a3a3 48,0xbd7a7a 46,0xba7575 32,0xa85151 19,0x983030 19,0x983030 21,0x9a3535 25,0xa03f3f 34,0xab5656 25,0xa03f3f 18,0x972d2d 17,0x952b2b 17,0x952b2b 17,0x952b2b 18,0x972d2d 19,0x983030 22,0x9c3838 56,0xc78e8e 100,0xFFFFFF 94,0xf8efef 86,0xeedbdb 49,0xbe7c7c 47,0xbc7777 50,0xc07f7f 64,0xd1a3a3 84,0xebd6d6 100,0xFFFFFF 70,0xd9b2b2 70,0xd9b2b2 80,0xe6cccc 100,0xFFFFFF 100,0xFFFFFF 91,0xf4e8e8 89,0xf1e2e2 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 98,0xfdf9f9 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 84,0xebd6d6 100,0xFFFFFF 86,0xeedbdb 74,0xdebcbc 71,0xdab5b5 69,0xd8afaf 68,0xd7adad 66,0xd4a8a8 65,0xd3a5a5 66,0xd4a8a8 70,0xd9b2b2 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 81,0xe7cece 100,0xFFFFFF 78,0xe3c6c6 74,0xdebcbc 88,0xf0e0e0 51,0xc18282 46,0xba7575 100,0xFFFFFF 37,0xaf5e5e 35,0xac5959 34,0xab5656 34,0xab5656 33,0xaa5454 33,0xaa5454 32,0xa85151 32,0xa85151 32,0xa85151 32,0xa85151 32,0xa85151 32,0xa85151 32,0xa85151 32,0xa85151 33,0xaa5454 33,0xaa5454 33,0xaa5454 34,0xab5656 34,0xab5656 35,0xac5959 36,0xae5b5b 37,0xaf5e5e 38,0xb06060 39,0xb16363 41,0xb46868 42,0xb56b6b 43,0xb76d6d 43,0xb76d6d 44,0xb87070 44,0xb87070 43,0xb76d6d 42,0xb56b6b 41,0xb46868 39,0xb16363 38,0xb06060 36,0xae5b5b 37,0xaf5e5e 39,0xb16363 64,0xd1a3a3 34,0xab5656 29,0xa54949 27,0xa24444 27,0xa24444 27,0xa24444 28,0xa34747 32,0xa85151 100,0xFFFFFF 37,0xaf5e5e 73,0xddbaba 43,0xb76d6d 47,0xbc7777 60,0xcc9999 54,0xc58989 49,0xbe7c7c 47,0xbc7777 46,0xba7575 45,0xb97272 45,0xb97272 60,0xcc9999 100,0xFFFFFF 100,0xFFFFFF 72,0xdcb7b7 100,0xFFFFFF 83,0xead3d3 44,0xb87070 38,0xb06060 36,0xae5b5b 35,0xac5959 35,0xac5959 63,0xd0a0a0 100,0xFFFFFF 100,0xFFFFFF 49,0xbe7c7c 100,0xFFFFFF 58,0xca9393 60,0xcc9999 53,0xc38787 42,0xb56b6b 58,0xca9393 24,0x9e3d3d 20,0x993333 12,0x8f1e1e 11,0x8e1c1c 11,0x8e1c1c 10,0x8c1919 10,0x8c1919 9,0x8b1616 9,0x8b1616 8,0x8a1414 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 10,0x8c1919 11,0x8e1c1c 13,0x902121 16,0x942828 100,0xFFFFFF 23,0x9d3a3a 20,0x993333 18,0x972d2d 19,0x983030 21,0x9a3535 88,0xf0e0e0 79,0xe5c9c9 48,0xbd7a7a 42,0xb56b6b 76,0xe1c1c1 59,0xcb9696 59,0xcb9696 66,0xd4a8a8 100,0xFFFFFF 69,0xd8afaf 65,0xd3a5a5 70,0xd9b2b2 100,0xFFFFFF 60,0xcc9999 57,0xc89191 57,0xc89191 59,0xcb9696 65,0xd3a5a5 54,0xc58989 43,0xb76d6d 83,0xead3d3 85,0xecd8d8 91,0xf4e8e8 59,0xcb9696 61,0xce9b9b 78,0xe3c6c6 27,0xa24444 25,0xa03f3f 23,0x9d3a3a 22,0x9c3838 28,0xa34747 54,0xc58989 80,0xe6cccc 58,0xca9393 63,0xd0a0a0 53,0xc38787 90,0xf3e5e5 74,0xdebcbc 75,0xe0bfbf 67,0xd5aaaa 54,0xc58989 48,0xbd7a7a 40,0xb36666 37,0xaf5e5e 46,0xba7575 45,0xb97272 31,0xa74f4f 22,0x9c3838 23,0x9d3a3a 28,0xa34747 22,0x9c3838 69,0xd8afaf 15,0x932626 10,0x8c1919 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 + 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 7,0x881111 20,0x993333 58,0xca9393 100,0xFFFFFF 61,0xce9b9b 53,0xc38787 8,0x8a1414 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 9,0x8b1616 10,0x8c1919 13,0x902121 99,0xfefcfc 100,0xFFFFFF 81,0xe7cece 18,0x972d2d 16,0x942828 17,0x952b2b 100,0xFFFFFF 30,0xa64c4c 48,0xbd7a7a 20,0x993333 19,0x983030 18,0x972d2d 18,0x972d2d 18,0x972d2d 20,0x993333 20,0x993333 22,0x9c3838 35,0xac5959 69,0xd8afaf 100,0xFFFFFF 100,0xFFFFFF 47,0xbc7777 48,0xbd7a7a 50,0xc07f7f 54,0xc58989 60,0xcc9999 65,0xd3a5a5 69,0xd8afaf 71,0xdab5b5 75,0xe0bfbf 86,0xeedbdb 91,0xf4e8e8 92,0xf5eaea 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 93,0xf7eded 96,0xfaf4f4 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 72,0xdcb7b7 70,0xd9b2b2 67,0xd5aaaa 67,0xd5aaaa 66,0xd4a8a8 66,0xd4a8a8 67,0xd5aaaa 68,0xd7adad 71,0xdab5b5 77,0xe2c4c4 100,0xFFFFFF 61,0xce9b9b 68,0xd7adad 51,0xc18282 49,0xbe7c7c 68,0xd7adad 54,0xc58989 73,0xddbaba 37,0xaf5e5e 36,0xae5b5b 35,0xac5959 34,0xab5656 34,0xab5656 33,0xaa5454 33,0xaa5454 32,0xa85151 32,0xa85151 31,0xa74f4f 31,0xa74f4f 31,0xa74f4f 32,0xa85151 32,0xa85151 32,0xa85151 33,0xaa5454 33,0xaa5454 34,0xab5656 34,0xab5656 35,0xac5959 35,0xac5959 36,0xae5b5b 39,0xb16363 46,0xba7575 53,0xc38787 44,0xb87070 44,0xb87070 44,0xb87070 44,0xb87070 45,0xb97272 45,0xb97272 44,0xb87070 41,0xb46868 38,0xb06060 36,0xae5b5b 35,0xac5959 35,0xac5959 100,0xFFFFFF 38,0xb06060 31,0xa74f4f 28,0xa34747 27,0xa24444 26,0xa14242 27,0xa24444 27,0xa24444 30,0xa64c4c 100,0xFFFFFF 32,0xa85151 38,0xb06060 100,0xFFFFFF 55,0xc68c8c 100,0xFFFFFF 56,0xc78e8e 50,0xc07f7f 50,0xc07f7f 50,0xc07f7f 51,0xc18282 42,0xb56b6b 41,0xb46868 40,0xb36666 54,0xc58989 64,0xd1a3a3 85,0xecd8d8 62,0xcf9e9e 38,0xb06060 35,0xac5959 35,0xac5959 36,0xae5b5b 38,0xb06060 71,0xdab5b5 100,0xFFFFFF 59,0xcb9696 91,0xf4e8e8 100,0xFFFFFF 90,0xf3e5e5 99,0xfefcfc 77,0xe2c4c4 100,0xFFFFFF 33,0xaa5454 22,0x9c3838 17,0x952b2b 16,0x942828 13,0x902121 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 10,0x8c1919 9,0x8b1616 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 9,0x8b1616 10,0x8c1919 11,0x8e1c1c 12,0x8f1e1e 24,0x9e3d3d 44,0xb87070 25,0xa03f3f 22,0x9c3838 21,0x9a3535 100,0xFFFFFF 24,0x9e3d3d 95,0xf9f2f2 63,0xd0a0a0 49,0xbe7c7c 62,0xcf9e9e 100,0xFFFFFF 96,0xfaf4f4 63,0xd0a0a0 68,0xd7adad 100,0xFFFFFF 89,0xf1e2e2 71,0xdab5b5 70,0xd9b2b2 66,0xd4a8a8 61,0xce9b9b 59,0xcb9696 57,0xc89191 54,0xc58989 50,0xc07f7f 47,0xbc7777 44,0xb87070 44,0xb87070 47,0xbc7777 50,0xc07f7f 59,0xcb9696 100,0xFFFFFF 32,0xa85151 27,0xa24444 25,0xa03f3f 24,0x9e3d3d 24,0x9e3d3d 35,0xac5959 35,0xac5959 41,0xb46868 45,0xb97272 100,0xFFFFFF 86,0xeedbdb 83,0xead3d3 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 73,0xddbaba 86,0xeedbdb 45,0xb97272 36,0xae5b5b 78,0xe3c6c6 49,0xbe7c7c 20,0x993333 18,0x972d2d 20,0x993333 88,0xf0e0e0 87,0xefdddd 20,0x993333 11,0x8e1c1c 9,0x8b1616 7,0x881111 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 + 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 7,0x881111 10,0x8c1919 41,0xb46868 49,0xbe7c7c 42,0xb56b6b 25,0xa03f3f 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 21,0x9a3535 57,0xc89191 30,0xa64c4c 29,0xa54949 14,0x912323 14,0x912323 16,0x942828 47,0xbc7777 27,0xa24444 23,0x9d3a3a 21,0x9a3535 19,0x983030 19,0x983030 19,0x983030 20,0x993333 54,0xc58989 100,0xFFFFFF 24,0x9e3d3d 26,0xa14242 100,0xFFFFFF 43,0xb76d6d 42,0xb56b6b 46,0xba7575 49,0xbe7c7c 50,0xc07f7f 100,0xFFFFFF 63,0xd0a0a0 66,0xd4a8a8 74,0xdebcbc 73,0xddbaba 80,0xe6cccc 86,0xeedbdb 97,0xfcf7f7 95,0xf9f2f2 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 69,0xd8afaf 67,0xd5aaaa 66,0xd4a8a8 65,0xd3a5a5 66,0xd4a8a8 68,0xd7adad 71,0xdab5b5 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 51,0xc18282 48,0xbd7a7a 47,0xbc7777 48,0xbd7a7a 49,0xbe7c7c 40,0xb36666 38,0xb06060 37,0xaf5e5e 36,0xae5b5b 35,0xac5959 35,0xac5959 34,0xab5656 33,0xaa5454 32,0xa85151 31,0xa74f4f 31,0xa74f4f 31,0xa74f4f 31,0xa74f4f 31,0xa74f4f 32,0xa85151 32,0xa85151 33,0xaa5454 33,0xaa5454 34,0xab5656 35,0xac5959 35,0xac5959 35,0xac5959 37,0xaf5e5e 74,0xdebcbc 65,0xd3a5a5 52,0xc28484 65,0xd3a5a5 45,0xb97272 45,0xb97272 45,0xb97272 46,0xba7575 100,0xFFFFFF 72,0xdcb7b7 81,0xe7cece 54,0xc58989 38,0xb06060 33,0xaa5454 32,0xa85151 40,0xb36666 76,0xe1c1c1 72,0xdcb7b7 27,0xa24444 26,0xa14242 25,0xa03f3f 25,0xa03f3f 26,0xa14242 27,0xa24444 28,0xa34747 29,0xa54949 31,0xa74f4f 45,0xb97272 100,0xFFFFFF 100,0xFFFFFF 59,0xcb9696 54,0xc58989 78,0xe3c6c6 66,0xd4a8a8 100,0xFFFFFF 45,0xb97272 37,0xaf5e5e 38,0xb06060 44,0xb87070 100,0xFFFFFF 53,0xc38787 93,0xf7eded 33,0xaa5454 34,0xab5656 35,0xac5959 37,0xaf5e5e 38,0xb06060 42,0xb56b6b 49,0xbe7c7c 63,0xd0a0a0 68,0xd7adad 85,0xecd8d8 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 69,0xd8afaf 51,0xc18282 33,0xaa5454 100,0xFFFFFF 71,0xdab5b5 17,0x952b2b 13,0x902121 14,0x912323 36,0xae5b5b 25,0xa03f3f 16,0x942828 9,0x8b1616 9,0x8b1616 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 10,0x8c1919 10,0x8c1919 11,0x8e1c1c 13,0x902121 19,0x983030 100,0xFFFFFF 100,0xFFFFFF 28,0xa34747 33,0xaa5454 35,0xac5959 28,0xa34747 33,0xaa5454 43,0xb76d6d 49,0xbe7c7c 55,0xc68c8c 100,0xFFFFFF 71,0xdab5b5 100,0xFFFFFF 100,0xFFFFFF 82,0xe8d1d1 93,0xf7eded 100,0xFFFFFF 88,0xf0e0e0 100,0xFFFFFF 74,0xdebcbc 78,0xe3c6c6 98,0xfdf9f9 91,0xf4e8e8 50,0xc07f7f 47,0xbc7777 46,0xba7575 45,0xb97272 45,0xb97272 48,0xbd7a7a 64,0xd1a3a3 49,0xbe7c7c 66,0xd4a8a8 33,0xaa5454 28,0xa34747 26,0xa14242 26,0xa14242 69,0xd8afaf 38,0xb06060 48,0xbd7a7a 48,0xbd7a7a 63,0xd0a0a0 73,0xddbaba 96,0xfaf4f4 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 61,0xce9b9b 100,0xFFFFFF 67,0xd5aaaa 28,0xa34747 38,0xb06060 20,0x993333 16,0x942828 16,0x942828 16,0x942828 14,0x912323 11,0x8e1c1c 9,0x8b1616 9,0x8b1616 8,0x8a1414 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 + 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 9,0x8b1616 12,0x8f1e1e 16,0x942828 22,0x9c3838 60,0xcc9999 10,0x8c1919 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 10,0x8c1919 11,0x8e1c1c 14,0x912323 12,0x8f1e1e 12,0x8f1e1e 13,0x902121 16,0x942828 76,0xe1c1c1 34,0xab5656 24,0x9e3d3d 21,0x9a3535 21,0x9a3535 20,0x993333 20,0x993333 22,0x9c3838 27,0xa24444 37,0xaf5e5e 27,0xa24444 27,0xa24444 30,0xa64c4c 38,0xb06060 40,0xb36666 55,0xc68c8c 51,0xc18282 51,0xc18282 54,0xc58989 91,0xf4e8e8 100,0xFFFFFF 100,0xFFFFFF 77,0xe2c4c4 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 86,0xeedbdb 80,0xe6cccc 75,0xe0bfbf 75,0xe0bfbf 73,0xddbaba 66,0xd4a8a8 65,0xd3a5a5 65,0xd3a5a5 100,0xFFFFFF 85,0xecd8d8 100,0xFFFFFF 73,0xddbaba 70,0xd9b2b2 49,0xbe7c7c 47,0xbc7777 45,0xb97272 44,0xb87070 43,0xb76d6d 41,0xb46868 41,0xb46868 45,0xb97272 59,0xcb9696 38,0xb06060 40,0xb36666 51,0xc18282 34,0xab5656 32,0xa85151 31,0xa74f4f 31,0xa74f4f 31,0xa74f4f 31,0xa74f4f 31,0xa74f4f 31,0xa74f4f 32,0xa85151 33,0xaa5454 34,0xab5656 34,0xab5656 35,0xac5959 35,0xac5959 36,0xae5b5b 37,0xaf5e5e 39,0xb16363 43,0xb76d6d 55,0xc68c8c 49,0xbe7c7c 47,0xbc7777 46,0xba7575 47,0xbc7777 49,0xbe7c7c 99,0xfefcfc 98,0xfdf9f9 100,0xFFFFFF 63,0xd0a0a0 89,0xf1e2e2 36,0xae5b5b 31,0xa74f4f 28,0xa34747 28,0xa34747 27,0xa24444 25,0xa03f3f 25,0xa03f3f 25,0xa03f3f 25,0xa03f3f 25,0xa03f3f 26,0xa14242 27,0xa24444 28,0xa34747 29,0xa54949 35,0xac5959 74,0xdebcbc 100,0xFFFFFF 57,0xc89191 100,0xFFFFFF 83,0xead3d3 69,0xd8afaf 100,0xFFFFFF 47,0xbc7777 36,0xae5b5b 36,0xae5b5b 37,0xaf5e5e 31,0xa74f4f 30,0xa64c4c 30,0xa64c4c 32,0xa85151 34,0xab5656 36,0xae5b5b 37,0xaf5e5e 38,0xb06060 43,0xb76d6d 100,0xFFFFFF 100,0xFFFFFF 69,0xd8afaf 84,0xebd6d6 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 68,0xd7adad 51,0xc18282 39,0xb16363 48,0xbd7a7a 63,0xd0a0a0 100,0xFFFFFF 29,0xa54949 17,0x952b2b 81,0xe7cece 17,0x952b2b 12,0x8f1e1e 10,0x8c1919 9,0x8b1616 9,0x8b1616 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 10,0x8c1919 10,0x8c1919 11,0x8e1c1c 20,0x993333 20,0x993333 35,0xac5959 58,0xca9393 44,0xb87070 61,0xce9b9b 35,0xac5959 31,0xa74f4f 53,0xc38787 56,0xc78e8e 52,0xc28484 59,0xcb9696 71,0xdab5b5 73,0xddbaba 86,0xeedbdb 92,0xf5eaea 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 90,0xf3e5e5 95,0xf9f2f2 100,0xFFFFFF 88,0xf0e0e0 100,0xFFFFFF 78,0xe3c6c6 70,0xd9b2b2 50,0xc07f7f 49,0xbe7c7c 44,0xb87070 43,0xb76d6d 100,0xFFFFFF 42,0xb56b6b 38,0xb06060 41,0xb46868 40,0xb36666 30,0xa64c4c 28,0xa34747 30,0xa64c4c 100,0xFFFFFF 66,0xd4a8a8 60,0xcc9999 52,0xc28484 100,0xFFFFFF 77,0xe2c4c4 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 82,0xe8d1d1 100,0xFFFFFF 55,0xc68c8c 41,0xb46868 68,0xd7adad 22,0x9c3838 18,0x972d2d 16,0x942828 14,0x912323 13,0x902121 12,0x8f1e1e 10,0x8c1919 9,0x8b1616 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 + 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 7,0x881111 8,0x8a1414 10,0x8c1919 100,0xFFFFFF 23,0x9d3a3a 36,0xae5b5b 14,0x912323 10,0x8c1919 9,0x8b1616 9,0x8b1616 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 10,0x8c1919 10,0x8c1919 11,0x8e1c1c 12,0x8f1e1e 13,0x902121 14,0x912323 61,0xce9b9b 49,0xbe7c7c 33,0xaa5454 25,0xa03f3f 26,0xa14242 27,0xa24444 23,0x9d3a3a 28,0xa34747 51,0xc18282 32,0xa85151 29,0xa54949 29,0xa54949 33,0xaa5454 57,0xc89191 52,0xc28484 79,0xe5c9c9 56,0xc78e8e 55,0xc68c8c 56,0xc78e8e 100,0xFFFFFF 100,0xFFFFFF 84,0xebd6d6 81,0xe7cece 95,0xf9f2f2 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 94,0xf8efef 95,0xf9f2f2 81,0xe7cece 100,0xFFFFFF 100,0xFFFFFF 79,0xe5c9c9 100,0xFFFFFF 63,0xd0a0a0 62,0xcf9e9e 67,0xd5aaaa 100,0xFFFFFF 60,0xcc9999 62,0xcf9e9e 100,0xFFFFFF 53,0xc38787 49,0xbe7c7c 45,0xb97272 45,0xb97272 43,0xb76d6d 44,0xb87070 67,0xd5aaaa 100,0xFFFFFF 65,0xd3a5a5 73,0xddbaba 45,0xb97272 46,0xba7575 34,0xab5656 32,0xa85151 31,0xa74f4f 31,0xa74f4f 31,0xa74f4f 31,0xa74f4f 31,0xa74f4f 31,0xa74f4f 32,0xa85151 33,0xaa5454 34,0xab5656 36,0xae5b5b 36,0xae5b5b 36,0xae5b5b 37,0xaf5e5e 38,0xb06060 39,0xb16363 46,0xba7575 100,0xFFFFFF 49,0xbe7c7c 48,0xbd7a7a 48,0xbd7a7a 50,0xc07f7f 81,0xe7cece 57,0xc89191 99,0xfefcfc 69,0xd8afaf 100,0xFFFFFF 47,0xbc7777 68,0xd7adad 59,0xcb9696 27,0xa24444 25,0xa03f3f 24,0x9e3d3d 24,0x9e3d3d 24,0x9e3d3d 24,0x9e3d3d 25,0xa03f3f 25,0xa03f3f 26,0xa14242 27,0xa24444 28,0xa34747 30,0xa64c4c 34,0xab5656 37,0xaf5e5e 55,0xc68c8c 65,0xd3a5a5 100,0xFFFFFF 100,0xFFFFFF 90,0xf3e5e5 67,0xd5aaaa 62,0xcf9e9e 59,0xcb9696 29,0xa54949 37,0xaf5e5e 28,0xa34747 28,0xa34747 29,0xa54949 34,0xab5656 54,0xc58989 91,0xf4e8e8 39,0xb16363 39,0xb16363 42,0xb56b6b 82,0xe8d1d1 100,0xFFFFFF 67,0xd5aaaa 81,0xe7cece 84,0xebd6d6 92,0xf5eaea 80,0xe6cccc 82,0xe8d1d1 73,0xddbaba 33,0xaa5454 100,0xFFFFFF 24,0x9e3d3d 23,0x9d3a3a 29,0xa54949 21,0x9a3535 36,0xae5b5b 74,0xdebcbc 12,0x8f1e1e 10,0x8c1919 9,0x8b1616 9,0x8b1616 9,0x8b1616 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 10,0x8c1919 10,0x8c1919 10,0x8c1919 11,0x8e1c1c 14,0x912323 83,0xead3d3 71,0xdab5b5 100,0xFFFFFF 62,0xcf9e9e 44,0xb87070 41,0xb46868 36,0xae5b5b 100,0xFFFFFF 100,0xFFFFFF 60,0xcc9999 100,0xFFFFFF 87,0xefdddd 82,0xe8d1d1 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 81,0xe7cece 78,0xe3c6c6 84,0xebd6d6 100,0xFFFFFF 58,0xca9393 100,0xFFFFFF 100,0xFFFFFF 59,0xcb9696 42,0xb56b6b 39,0xb16363 37,0xaf5e5e 36,0xae5b5b 37,0xaf5e5e 37,0xaf5e5e 31,0xa74f4f 30,0xa64c4c 62,0xcf9e9e 100,0xFFFFFF 82,0xe8d1d1 58,0xca9393 55,0xc68c8c 80,0xe6cccc 90,0xf3e5e5 88,0xf0e0e0 100,0xFFFFFF 100,0xFFFFFF 92,0xf5eaea 73,0xddbaba 63,0xd0a0a0 49,0xbe7c7c 46,0xba7575 72,0xdcb7b7 100,0xFFFFFF 20,0x993333 17,0x952b2b 14,0x912323 13,0x902121 12,0x8f1e1e 10,0x8c1919 10,0x8c1919 9,0x8b1616 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 + 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 7,0x881111 7,0x881111 10,0x8c1919 17,0x952b2b 51,0xc18282 18,0x972d2d 15,0x932626 13,0x902121 11,0x8e1c1c 11,0x8e1c1c 10,0x8c1919 12,0x8f1e1e 10,0x8c1919 9,0x8b1616 9,0x8b1616 10,0x8c1919 16,0x942828 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 10,0x8c1919 10,0x8c1919 11,0x8e1c1c 12,0x8f1e1e 16,0x942828 22,0x9c3838 45,0xb97272 94,0xf8efef 72,0xdcb7b7 34,0xab5656 28,0xa34747 72,0xdcb7b7 80,0xe6cccc 43,0xb76d6d 33,0xaa5454 31,0xa74f4f 30,0xa64c4c 32,0xa85151 42,0xb56b6b 100,0xFFFFFF 72,0xdcb7b7 64,0xd1a3a3 59,0xcb9696 59,0xcb9696 100,0xFFFFFF 100,0xFFFFFF 85,0xecd8d8 82,0xe8d1d1 85,0xecd8d8 95,0xf9f2f2 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 93,0xf7eded 90,0xf3e5e5 88,0xf0e0e0 85,0xecd8d8 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 97,0xfcf7f7 100,0xFFFFFF 61,0xce9b9b 59,0xcb9696 58,0xca9393 58,0xca9393 59,0xcb9696 100,0xFFFFFF 100,0xFFFFFF 50,0xc07f7f 47,0xbc7777 46,0xba7575 100,0xFFFFFF 49,0xbe7c7c 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 45,0xb97272 42,0xb56b6b 37,0xaf5e5e 34,0xab5656 32,0xa85151 31,0xa74f4f 31,0xa74f4f 30,0xa64c4c 30,0xa64c4c 30,0xa64c4c 31,0xa74f4f 32,0xa85151 36,0xae5b5b 100,0xFFFFFF 67,0xd5aaaa 39,0xb16363 38,0xb06060 38,0xb06060 40,0xb36666 41,0xb46868 100,0xFFFFFF 77,0xe2c4c4 59,0xcb9696 97,0xfcf7f7 50,0xc07f7f 75,0xe0bfbf 72,0xdcb7b7 99,0xfefcfc 66,0xd4a8a8 64,0xd1a3a3 57,0xc89191 54,0xc58989 72,0xdcb7b7 88,0xf0e0e0 27,0xa24444 24,0x9e3d3d 23,0x9d3a3a 23,0x9d3a3a 23,0x9d3a3a 23,0x9d3a3a 24,0x9e3d3d 25,0xa03f3f 26,0xa14242 27,0xa24444 28,0xa34747 33,0xaa5454 68,0xd7adad 39,0xb16363 46,0xba7575 100,0xFFFFFF 75,0xe0bfbf 100,0xFFFFFF 100,0xFFFFFF 68,0xd7adad 36,0xae5b5b 30,0xa64c4c 26,0xa14242 26,0xa14242 26,0xa14242 27,0xa24444 28,0xa34747 34,0xab5656 36,0xae5b5b 47,0xbc7777 42,0xb56b6b 100,0xFFFFFF 45,0xb97272 48,0xbd7a7a 60,0xcc9999 100,0xFFFFFF 100,0xFFFFFF 71,0xdab5b5 71,0xdab5b5 73,0xddbaba 54,0xc58989 47,0xbc7777 36,0xae5b5b 30,0xa64c4c 20,0x993333 20,0x993333 48,0xbd7a7a 38,0xb06060 65,0xd3a5a5 15,0x932626 11,0x8e1c1c 10,0x8c1919 10,0x8c1919 9,0x8b1616 9,0x8b1616 9,0x8b1616 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 10,0x8c1919 10,0x8c1919 11,0x8e1c1c 12,0x8f1e1e 13,0x902121 78,0xe3c6c6 66,0xd4a8a8 100,0xFFFFFF 65,0xd3a5a5 47,0xbc7777 39,0xb16363 39,0xb16363 79,0xe5c9c9 90,0xf3e5e5 61,0xce9b9b 67,0xd5aaaa 82,0xe8d1d1 89,0xf1e2e2 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 72,0xdcb7b7 69,0xd8afaf 64,0xd1a3a3 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 45,0xb97272 38,0xb06060 36,0xae5b5b 35,0xac5959 34,0xab5656 33,0xaa5454 32,0xa85151 32,0xa85151 35,0xac5959 79,0xe5c9c9 66,0xd4a8a8 65,0xd3a5a5 58,0xca9393 59,0xcb9696 100,0xFFFFFF 73,0xddbaba 100,0xFFFFFF 80,0xe6cccc 100,0xFFFFFF 68,0xd7adad 81,0xe7cece 85,0xecd8d8 46,0xba7575 67,0xd5aaaa 39,0xb16363 37,0xaf5e5e 19,0x983030 16,0x942828 16,0x942828 12,0x8f1e1e 11,0x8e1c1c 10,0x8c1919 9,0x8b1616 8,0x8a1414 8,0x8a1414 8,0x8a1414 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 + 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 7,0x881111 8,0x8a1414 12,0x8f1e1e 95,0xf9f2f2 100,0xFFFFFF 20,0x993333 15,0x932626 14,0x912323 14,0x912323 16,0x942828 19,0x983030 25,0xa03f3f 15,0x932626 32,0xa85151 12,0x8f1e1e 58,0xca9393 12,0x8f1e1e 8,0x8a1414 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 10,0x8c1919 10,0x8c1919 11,0x8e1c1c 11,0x8e1c1c 13,0x902121 28,0xa34747 100,0xFFFFFF 75,0xe0bfbf 43,0xb76d6d 35,0xac5959 100,0xFFFFFF 99,0xfefcfc 97,0xfcf7f7 69,0xd8afaf 100,0xFFFFFF 70,0xd9b2b2 33,0xaa5454 33,0xaa5454 93,0xf7eded 100,0xFFFFFF 100,0xFFFFFF 64,0xd1a3a3 60,0xcc9999 60,0xcc9999 67,0xd5aaaa 72,0xdcb7b7 76,0xe1c1c1 84,0xebd6d6 86,0xeedbdb 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 90,0xf3e5e5 88,0xf0e0e0 88,0xf0e0e0 98,0xfdf9f9 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 60,0xcc9999 58,0xca9393 57,0xc89191 57,0xc89191 56,0xc78e8e 64,0xd1a3a3 57,0xc89191 50,0xc07f7f 49,0xbe7c7c 51,0xc18282 72,0xdcb7b7 56,0xc78e8e 59,0xcb9696 65,0xd3a5a5 100,0xFFFFFF 48,0xbd7a7a 49,0xbe7c7c 100,0xFFFFFF 75,0xe0bfbf 33,0xaa5454 31,0xa74f4f 30,0xa64c4c 29,0xa54949 29,0xa54949 30,0xa64c4c 30,0xa64c4c 41,0xb46868 100,0xFFFFFF 100,0xFFFFFF 45,0xb97272 92,0xf5eaea 40,0xb36666 40,0xb36666 49,0xbe7c7c 47,0xbc7777 70,0xd9b2b2 70,0xd9b2b2 61,0xce9b9b 57,0xc89191 54,0xc58989 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 76,0xe1c1c1 100,0xFFFFFF 79,0xe5c9c9 92,0xf5eaea 53,0xc38787 37,0xaf5e5e 30,0xa64c4c 24,0x9e3d3d 23,0x9d3a3a 22,0x9c3838 23,0x9d3a3a 23,0x9d3a3a 24,0x9e3d3d 25,0xa03f3f 26,0xa14242 27,0xa24444 29,0xa54949 30,0xa64c4c 100,0xFFFFFF 64,0xd1a3a3 48,0xbd7a7a 50,0xc07f7f 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 46,0xba7575 36,0xae5b5b 25,0xa03f3f 24,0x9e3d3d 25,0xa03f3f 25,0xa03f3f 27,0xa24444 27,0xa24444 29,0xa54949 32,0xa85151 54,0xc58989 76,0xe1c1c1 55,0xc68c8c 49,0xbe7c7c 48,0xbd7a7a 49,0xbe7c7c 51,0xc18282 56,0xc78e8e 60,0xcc9999 67,0xd5aaaa 100,0xFFFFFF 48,0xbd7a7a 53,0xc38787 100,0xFFFFFF 22,0x9c3838 19,0x983030 18,0x972d2d 17,0x952b2b 18,0x972d2d 15,0x932626 12,0x8f1e1e 11,0x8e1c1c 10,0x8c1919 10,0x8c1919 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 10,0x8c1919 10,0x8c1919 11,0x8e1c1c 11,0x8e1c1c 12,0x8f1e1e 13,0x902121 16,0x942828 35,0xac5959 49,0xbe7c7c 54,0xc58989 79,0xe5c9c9 38,0xb06060 40,0xb36666 53,0xc38787 54,0xc58989 66,0xd4a8a8 81,0xe7cece 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 94,0xf8efef 100,0xFFFFFF 68,0xd7adad 67,0xd5aaaa 88,0xf0e0e0 100,0xFFFFFF 89,0xf1e2e2 100,0xFFFFFF 40,0xb36666 37,0xaf5e5e 35,0xac5959 34,0xab5656 33,0xaa5454 32,0xa85151 32,0xa85151 39,0xb16363 57,0xc89191 100,0xFFFFFF 45,0xb97272 50,0xc07f7f 100,0xFFFFFF 68,0xd7adad 67,0xd5aaaa 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 60,0xcc9999 100,0xFFFFFF 46,0xba7575 39,0xb16363 40,0xb36666 35,0xac5959 26,0xa14242 25,0xa03f3f 50,0xc07f7f 26,0xa14242 29,0xa54949 88,0xf0e0e0 12,0x8f1e1e 12,0x8f1e1e 9,0x8b1616 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 + 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 7,0x881111 10,0x8c1919 14,0x912323 13,0x902121 100,0xFFFFFF 37,0xaf5e5e 26,0xa14242 78,0xe3c6c6 31,0xa74f4f 100,0xFFFFFF 100,0xFFFFFF 92,0xf5eaea 51,0xc18282 40,0xb36666 29,0xa54949 24,0x9e3d3d 27,0xa24444 23,0x9d3a3a 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 9,0x8b1616 10,0x8c1919 10,0x8c1919 11,0x8e1c1c 13,0x902121 15,0x932626 32,0xa85151 49,0xbe7c7c 39,0xb16363 100,0xFFFFFF 68,0xd7adad 48,0xbd7a7a 51,0xc18282 59,0xcb9696 43,0xb76d6d 48,0xbd7a7a 36,0xae5b5b 36,0xae5b5b 100,0xFFFFFF 89,0xf1e2e2 83,0xead3d3 93,0xf7eded 59,0xcb9696 61,0xce9b9b 63,0xd0a0a0 85,0xecd8d8 78,0xe3c6c6 100,0xFFFFFF 90,0xf3e5e5 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 94,0xf8efef 88,0xf0e0e0 88,0xf0e0e0 91,0xf4e8e8 98,0xfdf9f9 100,0xFFFFFF 90,0xf3e5e5 100,0xFFFFFF 60,0xcc9999 58,0xca9393 57,0xc89191 55,0xc68c8c 55,0xc68c8c 54,0xc58989 52,0xc28484 51,0xc18282 52,0xc28484 86,0xeedbdb 100,0xFFFFFF 100,0xFFFFFF 67,0xd5aaaa 66,0xd4a8a8 100,0xFFFFFF 81,0xe7cece 67,0xd5aaaa 68,0xd7adad 47,0xbc7777 57,0xc89191 31,0xa74f4f 29,0xa54949 29,0xa54949 29,0xa54949 29,0xa54949 30,0xa64c4c 32,0xa85151 100,0xFFFFFF 44,0xb87070 40,0xb36666 52,0xc28484 55,0xc68c8c 51,0xc18282 73,0xddbaba 54,0xc58989 100,0xFFFFFF 100,0xFFFFFF 63,0xd0a0a0 57,0xc89191 56,0xc78e8e 91,0xf4e8e8 71,0xdab5b5 79,0xe5c9c9 100,0xFFFFFF 100,0xFFFFFF 95,0xf9f2f2 65,0xd3a5a5 77,0xe2c4c4 29,0xa54949 26,0xa14242 22,0x9c3838 21,0x9a3535 22,0x9c3838 22,0x9c3838 23,0x9d3a3a 24,0x9e3d3d 29,0xa54949 33,0xaa5454 30,0xa64c4c 30,0xa64c4c 100,0xFFFFFF 40,0xb36666 64,0xd1a3a3 72,0xdcb7b7 40,0xb36666 42,0xb56b6b 51,0xc18282 42,0xb56b6b 33,0xaa5454 27,0xa24444 23,0x9d3a3a 23,0x9d3a3a 24,0x9e3d3d 26,0xa14242 27,0xa24444 28,0xa34747 29,0xa54949 32,0xa85151 58,0xca9393 73,0xddbaba 56,0xc78e8e 63,0xd0a0a0 98,0xfdf9f9 47,0xbc7777 53,0xc38787 66,0xd4a8a8 100,0xFFFFFF 53,0xc38787 52,0xc28484 41,0xb46868 100,0xFFFFFF 40,0xb36666 30,0xa64c4c 20,0x993333 17,0x952b2b 15,0x932626 14,0x912323 13,0x902121 12,0x8f1e1e 11,0x8e1c1c 10,0x8c1919 10,0x8c1919 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 9,0x8b1616 10,0x8c1919 11,0x8e1c1c 11,0x8e1c1c 12,0x8f1e1e 13,0x902121 13,0x902121 15,0x932626 18,0x972d2d 100,0xFFFFFF 42,0xb56b6b 30,0xa64c4c 46,0xba7575 42,0xb56b6b 44,0xb87070 88,0xf0e0e0 76,0xe1c1c1 73,0xddbaba 100,0xFFFFFF 97,0xfcf7f7 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 93,0xf7eded 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 66,0xd4a8a8 71,0xdab5b5 85,0xecd8d8 56,0xc78e8e 53,0xc38787 47,0xbc7777 39,0xb16363 35,0xac5959 34,0xab5656 33,0xaa5454 33,0xaa5454 33,0xaa5454 34,0xab5656 35,0xac5959 38,0xb06060 51,0xc18282 83,0xead3d3 100,0xFFFFFF 89,0xf1e2e2 58,0xca9393 100,0xFFFFFF 100,0xFFFFFF 57,0xc89191 56,0xc78e8e 48,0xbd7a7a 100,0xFFFFFF 36,0xae5b5b 35,0xac5959 31,0xa74f4f 31,0xa74f4f 36,0xae5b5b 45,0xb97272 94,0xf8efef 40,0xb36666 30,0xa64c4c 100,0xFFFFFF 39,0xb16363 11,0x8e1c1c 9,0x8b1616 9,0x8b1616 8,0x8a1414 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 + 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 8,0x8a1414 64,0xd1a3a3 17,0x952b2b 18,0x972d2d 76,0xe1c1c1 50,0xc07f7f 56,0xc78e8e 49,0xbe7c7c 72,0xdcb7b7 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 42,0xb56b6b 20,0x993333 16,0x942828 14,0x912323 10,0x8c1919 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 10,0x8c1919 11,0x8e1c1c 13,0x902121 16,0x942828 19,0x983030 37,0xaf5e5e 44,0xb87070 54,0xc58989 61,0xce9b9b 67,0xd5aaaa 53,0xc38787 44,0xb87070 41,0xb46868 39,0xb16363 37,0xaf5e5e 37,0xaf5e5e 100,0xFFFFFF 76,0xe1c1c1 58,0xca9393 54,0xc58989 60,0xcc9999 62,0xcf9e9e 63,0xd0a0a0 68,0xd7adad 100,0xFFFFFF 100,0xFFFFFF 94,0xf8efef 96,0xfaf4f4 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 86,0xeedbdb 86,0xeedbdb 96,0xfaf4f4 100,0xFFFFFF 97,0xfcf7f7 100,0xFFFFFF 100,0xFFFFFF 64,0xd1a3a3 64,0xd1a3a3 56,0xc78e8e 55,0xc68c8c 55,0xc68c8c 54,0xc58989 53,0xc38787 53,0xc38787 59,0xcb9696 100,0xFFFFFF 100,0xFFFFFF 80,0xe6cccc 72,0xdcb7b7 100,0xFFFFFF 87,0xefdddd 90,0xf3e5e5 100,0xFFFFFF 61,0xce9b9b 41,0xb46868 34,0xab5656 31,0xa74f4f 29,0xa54949 29,0xa54949 28,0xa34747 28,0xa34747 29,0xa54949 36,0xae5b5b 100,0xFFFFFF 57,0xc89191 36,0xae5b5b 35,0xac5959 45,0xb97272 61,0xce9b9b 100,0xFFFFFF 71,0xdab5b5 89,0xf1e2e2 100,0xFFFFFF 78,0xe3c6c6 62,0xcf9e9e 56,0xc78e8e 59,0xcb9696 89,0xf1e2e2 88,0xf0e0e0 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 52,0xc28484 100,0xFFFFFF 23,0x9d3a3a 21,0x9a3535 21,0x9a3535 21,0x9a3535 21,0x9a3535 22,0x9c3838 82,0xe8d1d1 84,0xebd6d6 40,0xb36666 100,0xFFFFFF 33,0xaa5454 42,0xb56b6b 51,0xc18282 73,0xddbaba 100,0xFFFFFF 27,0xa24444 31,0xa74f4f 100,0xFFFFFF 30,0xa64c4c 22,0x9c3838 21,0x9a3535 21,0x9a3535 22,0x9c3838 24,0x9e3d3d 29,0xa54949 46,0xba7575 30,0xa64c4c 31,0xa74f4f 79,0xe5c9c9 41,0xb46868 68,0xd7adad 100,0xFFFFFF 84,0xebd6d6 100,0xFFFFFF 41,0xb46868 43,0xb76d6d 64,0xd1a3a3 100,0xFFFFFF 89,0xf1e2e2 40,0xb36666 39,0xb16363 71,0xdab5b5 30,0xa64c4c 26,0xa14242 21,0x9a3535 18,0x972d2d 15,0x932626 14,0x912323 13,0x902121 12,0x8f1e1e 11,0x8e1c1c 10,0x8c1919 10,0x8c1919 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 10,0x8c1919 11,0x8e1c1c 11,0x8e1c1c 12,0x8f1e1e 14,0x912323 14,0x912323 15,0x932626 16,0x942828 17,0x952b2b 19,0x983030 100,0xFFFFFF 33,0xaa5454 74,0xdebcbc 84,0xebd6d6 48,0xbd7a7a 100,0xFFFFFF 100,0xFFFFFF 74,0xdebcbc 80,0xe6cccc 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 93,0xf7eded 89,0xf1e2e2 100,0xFFFFFF 100,0xFFFFFF 62,0xcf9e9e 65,0xd3a5a5 65,0xd3a5a5 51,0xc18282 47,0xbc7777 44,0xb87070 38,0xb06060 36,0xae5b5b 35,0xac5959 33,0xaa5454 33,0xaa5454 33,0xaa5454 34,0xab5656 34,0xab5656 36,0xae5b5b 39,0xb16363 100,0xFFFFFF 76,0xe1c1c1 59,0xcb9696 50,0xc07f7f 52,0xc28484 51,0xc18282 58,0xca9393 72,0xdcb7b7 73,0xddbaba 46,0xba7575 36,0xae5b5b 34,0xab5656 35,0xac5959 100,0xFFFFFF 61,0xce9b9b 100,0xFFFFFF 100,0xFFFFFF 87,0xefdddd 60,0xcc9999 34,0xab5656 71,0xdab5b5 15,0x932626 11,0x8e1c1c 11,0x8e1c1c 10,0x8c1919 8,0x8a1414 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 8,0x8a1414 6,0x870f0f 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 + 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 7,0x881111 9,0x8b1616 12,0x8f1e1e 56,0xc78e8e 100,0xFFFFFF 91,0xf4e8e8 72,0xdcb7b7 100,0xFFFFFF 34,0xab5656 37,0xaf5e5e 100,0xFFFFFF 100,0xFFFFFF 88,0xf0e0e0 100,0xFFFFFF 39,0xb16363 15,0x932626 12,0x8f1e1e 10,0x8c1919 9,0x8b1616 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 10,0x8c1919 12,0x8f1e1e 72,0xdcb7b7 25,0xa03f3f 22,0x9c3838 29,0xa54949 52,0xc28484 74,0xdebcbc 100,0xFFFFFF 77,0xe2c4c4 100,0xFFFFFF 70,0xd9b2b2 42,0xb56b6b 39,0xb16363 38,0xb06060 38,0xb06060 40,0xb36666 43,0xb76d6d 47,0xbc7777 51,0xc18282 58,0xca9393 66,0xd4a8a8 68,0xd7adad 68,0xd7adad 100,0xFFFFFF 100,0xFFFFFF 91,0xf4e8e8 96,0xfaf4f4 99,0xfefcfc 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 84,0xebd6d6 82,0xe8d1d1 82,0xe8d1d1 88,0xf0e0e0 74,0xdebcbc 69,0xd8afaf 72,0xdcb7b7 100,0xFFFFFF 59,0xcb9696 56,0xc78e8e 55,0xc68c8c 54,0xc58989 54,0xc58989 53,0xc38787 54,0xc58989 75,0xe0bfbf 100,0xFFFFFF 100,0xFFFFFF 77,0xe2c4c4 77,0xe2c4c4 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 63,0xd0a0a0 77,0xe2c4c4 31,0xa74f4f 29,0xa54949 28,0xa34747 27,0xa24444 28,0xa34747 28,0xa34747 30,0xa64c4c 38,0xb06060 94,0xf8efef 61,0xce9b9b 32,0xa85151 30,0xa64c4c 31,0xa74f4f 33,0xaa5454 45,0xb97272 100,0xFFFFFF 100,0xFFFFFF 64,0xd1a3a3 48,0xbd7a7a 58,0xca9393 72,0xdcb7b7 70,0xd9b2b2 84,0xebd6d6 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 84,0xebd6d6 35,0xac5959 42,0xb56b6b 23,0x9d3a3a 20,0x993333 20,0x993333 20,0x993333 21,0x9a3535 23,0x9d3a3a 59,0xcb9696 69,0xd8afaf 32,0xa85151 73,0xddbaba 61,0xce9b9b 48,0xbd7a7a 34,0xab5656 38,0xb06060 23,0x9d3a3a 23,0x9d3a3a 30,0xa64c4c 22,0x9c3838 20,0x993333 20,0x993333 20,0x993333 20,0x993333 22,0x9c3838 47,0xbc7777 92,0xf5eaea 38,0xb06060 34,0xab5656 40,0xb36666 76,0xe1c1c1 49,0xbe7c7c 100,0xFFFFFF 100,0xFFFFFF 91,0xf4e8e8 55,0xc68c8c 36,0xae5b5b 76,0xe1c1c1 81,0xe7cece 55,0xc68c8c 40,0xb36666 38,0xb06060 37,0xaf5e5e 36,0xae5b5b 56,0xc78e8e 37,0xaf5e5e 65,0xd3a5a5 35,0xac5959 17,0x952b2b 15,0x932626 13,0x902121 12,0x8f1e1e 11,0x8e1c1c 11,0x8e1c1c 10,0x8c1919 10,0x8c1919 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 10,0x8c1919 13,0x902121 14,0x912323 24,0x9e3d3d 24,0x9e3d3d 72,0xdcb7b7 31,0xa74f4f 17,0x952b2b 18,0x972d2d 19,0x983030 23,0x9d3a3a 38,0xb06060 74,0xdebcbc 61,0xce9b9b 51,0xc18282 53,0xc38787 81,0xe7cece 100,0xFFFFFF 84,0xebd6d6 89,0xf1e2e2 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 60,0xcc9999 58,0xca9393 71,0xdab5b5 64,0xd1a3a3 47,0xbc7777 46,0xba7575 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 33,0xaa5454 32,0xa85151 32,0xa85151 33,0xaa5454 34,0xab5656 35,0xac5959 37,0xaf5e5e 39,0xb16363 42,0xb56b6b 45,0xb97272 46,0xba7575 46,0xba7575 49,0xbe7c7c 84,0xebd6d6 80,0xe6cccc 100,0xFFFFFF 74,0xdebcbc 34,0xab5656 35,0xac5959 37,0xaf5e5e 95,0xf9f2f2 57,0xc89191 74,0xdebcbc 100,0xFFFFFF 100,0xFFFFFF 76,0xe1c1c1 43,0xb76d6d 100,0xFFFFFF 40,0xb36666 73,0xddbaba 20,0x993333 17,0x952b2b 10,0x8c1919 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 9,0x8b1616 10,0x8c1919 13,0x902121 70,0xd9b2b2 7,0x881111 6,0x870f0f 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a + 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 7,0x881111 8,0x8a1414 10,0x8c1919 16,0x942828 44,0xb87070 100,0xFFFFFF 100,0xFFFFFF 59,0xcb9696 30,0xa64c4c 39,0xb16363 46,0xba7575 93,0xf7eded 60,0xcc9999 35,0xac5959 95,0xf9f2f2 31,0xa74f4f 76,0xe1c1c1 12,0x8f1e1e 9,0x8b1616 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 10,0x8c1919 11,0x8e1c1c 41,0xb46868 16,0x942828 44,0xb87070 43,0xb76d6d 91,0xf4e8e8 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 63,0xd0a0a0 53,0xc38787 100,0xFFFFFF 42,0xb56b6b 37,0xaf5e5e 38,0xb06060 39,0xb16363 42,0xb56b6b 53,0xc38787 56,0xc78e8e 62,0xcf9e9e 100,0xFFFFFF 75,0xe0bfbf 71,0xdab5b5 100,0xFFFFFF 94,0xf8efef 86,0xeedbdb 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 83,0xead3d3 79,0xe5c9c9 79,0xe5c9c9 100,0xFFFFFF 100,0xFFFFFF 68,0xd7adad 65,0xd3a5a5 62,0xcf9e9e 59,0xcb9696 57,0xc89191 55,0xc68c8c 54,0xc58989 54,0xc58989 54,0xc58989 54,0xc58989 56,0xc78e8e 61,0xce9b9b 65,0xd3a5a5 100,0xFFFFFF 79,0xe5c9c9 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 51,0xc18282 41,0xb46868 37,0xaf5e5e 28,0xa34747 27,0xa24444 27,0xa24444 27,0xa24444 27,0xa24444 28,0xa34747 30,0xa64c4c 46,0xba7575 83,0xead3d3 33,0xaa5454 28,0xa34747 28,0xa34747 31,0xa74f4f 31,0xa74f4f 35,0xac5959 70,0xd9b2b2 40,0xb36666 86,0xeedbdb 64,0xd1a3a3 100,0xFFFFFF 66,0xd4a8a8 100,0xFFFFFF 83,0xead3d3 100,0xFFFFFF 100,0xFFFFFF 91,0xf4e8e8 100,0xFFFFFF 23,0x9d3a3a 20,0x993333 19,0x983030 19,0x983030 19,0x983030 20,0x993333 22,0x9c3838 79,0xe5c9c9 75,0xe0bfbf 29,0xa54949 27,0xa24444 25,0xa03f3f 23,0x9d3a3a 21,0x9a3535 21,0x9a3535 20,0x993333 20,0x993333 24,0x9e3d3d 19,0x983030 19,0x983030 19,0x983030 19,0x983030 20,0x993333 21,0x9a3535 100,0xFFFFFF 73,0xddbaba 29,0xa54949 73,0xddbaba 100,0xFFFFFF 94,0xf8efef 94,0xf8efef 55,0xc68c8c 91,0xf4e8e8 69,0xd8afaf 39,0xb16363 30,0xa64c4c 44,0xb87070 31,0xa74f4f 33,0xaa5454 35,0xac5959 37,0xaf5e5e 39,0xb16363 82,0xe8d1d1 90,0xf3e5e5 51,0xc18282 100,0xFFFFFF 100,0xFFFFFF 28,0xa34747 17,0x952b2b 15,0x932626 13,0x902121 11,0x8e1c1c 11,0x8e1c1c 10,0x8c1919 10,0x8c1919 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 10,0x8c1919 11,0x8e1c1c 14,0x912323 24,0x9e3d3d 45,0xb97272 43,0xb76d6d 29,0xa54949 32,0xa85151 30,0xa64c4c 19,0x983030 20,0x993333 22,0x9c3838 25,0xa03f3f 77,0xe2c4c4 100,0xFFFFFF 48,0xbd7a7a 53,0xc38787 57,0xc89191 100,0xFFFFFF 97,0xfcf7f7 89,0xf1e2e2 96,0xfaf4f4 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 96,0xfaf4f4 100,0xFFFFFF 79,0xe5c9c9 80,0xe6cccc 69,0xd8afaf 62,0xcf9e9e 56,0xc78e8e 55,0xc68c8c 52,0xc28484 100,0xFFFFFF 60,0xcc9999 66,0xd4a8a8 45,0xb97272 36,0xae5b5b 33,0xaa5454 32,0xa85151 32,0xa85151 33,0xaa5454 34,0xab5656 36,0xae5b5b 37,0xaf5e5e 45,0xb97272 44,0xb87070 44,0xb87070 45,0xb97272 44,0xb87070 50,0xc07f7f 42,0xb56b6b 58,0xca9393 100,0xFFFFFF 32,0xa85151 33,0xaa5454 35,0xac5959 37,0xaf5e5e 44,0xb87070 80,0xe6cccc 69,0xd8afaf 100,0xFFFFFF 95,0xf9f2f2 100,0xFFFFFF 74,0xdebcbc 30,0xa64c4c 21,0x9a3535 100,0xFFFFFF 100,0xFFFFFF 21,0x9a3535 9,0x8b1616 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 55,0xc68c8c 88,0xf0e0e0 16,0x942828 10,0x8c1919 7,0x881111 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a + 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 11,0x8e1c1c 16,0x942828 100,0xFFFFFF 35,0xac5959 47,0xbc7777 66,0xd4a8a8 23,0x9d3a3a 36,0xae5b5b 100,0xFFFFFF 28,0xa34747 30,0xa64c4c 38,0xb06060 67,0xd5aaaa 100,0xFFFFFF 56,0xc78e8e 16,0x942828 11,0x8e1c1c 9,0x8b1616 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 14,0x912323 14,0x912323 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 10,0x8c1919 11,0x8e1c1c 12,0x8f1e1e 13,0x902121 18,0x972d2d 40,0xb36666 59,0xcb9696 100,0xFFFFFF 100,0xFFFFFF 81,0xe7cece 100,0xFFFFFF 68,0xd7adad 100,0xFFFFFF 39,0xb16363 37,0xaf5e5e 38,0xb06060 39,0xb16363 41,0xb46868 44,0xb87070 74,0xdebcbc 100,0xFFFFFF 100,0xFFFFFF 76,0xe1c1c1 72,0xdcb7b7 73,0xddbaba 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 90,0xf3e5e5 100,0xFFFFFF 78,0xe3c6c6 77,0xe2c4c4 76,0xe1c1c1 72,0xdcb7b7 69,0xd8afaf 85,0xecd8d8 81,0xe7cece 95,0xf9f2f2 59,0xcb9696 56,0xc78e8e 54,0xc58989 54,0xc58989 54,0xc58989 54,0xc58989 55,0xc68c8c 58,0xca9393 84,0xebd6d6 80,0xe6cccc 92,0xf5eaea 89,0xf1e2e2 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 55,0xc68c8c 47,0xbc7777 29,0xa54949 27,0xa24444 27,0xa24444 26,0xa14242 26,0xa14242 26,0xa14242 26,0xa14242 27,0xa24444 85,0xecd8d8 100,0xFFFFFF 28,0xa34747 27,0xa24444 27,0xa24444 27,0xa24444 28,0xa34747 30,0xa64c4c 32,0xa85151 35,0xac5959 38,0xb06060 43,0xb76d6d 81,0xe7cece 54,0xc58989 97,0xfcf7f7 62,0xcf9e9e 87,0xefdddd 53,0xc38787 34,0xab5656 39,0xb16363 21,0x9a3535 19,0x983030 19,0x983030 19,0x983030 19,0x983030 19,0x983030 21,0x9a3535 31,0xa74f4f 89,0xf1e2e2 32,0xa85151 26,0xa14242 24,0x9e3d3d 22,0x9c3838 20,0x993333 19,0x983030 19,0x983030 18,0x972d2d 18,0x972d2d 18,0x972d2d 18,0x972d2d 18,0x972d2d 18,0x972d2d 19,0x983030 21,0x9a3535 31,0xa74f4f 40,0xb36666 27,0xa24444 24,0x9e3d3d 23,0x9d3a3a 23,0x9d3a3a 27,0xa24444 55,0xc68c8c 33,0xaa5454 40,0xb36666 26,0xa14242 27,0xa24444 28,0xa34747 29,0xa54949 32,0xa85151 91,0xf4e8e8 40,0xb36666 40,0xb36666 58,0xca9393 89,0xf1e2e2 75,0xe0bfbf 100,0xFFFFFF 95,0xf9f2f2 51,0xc18282 57,0xc89191 35,0xac5959 14,0x912323 12,0x8f1e1e 11,0x8e1c1c 11,0x8e1c1c 10,0x8c1919 10,0x8c1919 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 10,0x8c1919 10,0x8c1919 11,0x8e1c1c 13,0x902121 26,0xa14242 83,0xead3d3 21,0x9a3535 21,0x9a3535 36,0xae5b5b 25,0xa03f3f 21,0x9a3535 21,0x9a3535 26,0xa14242 27,0xa24444 30,0xa64c4c 39,0xb16363 46,0xba7575 100,0xFFFFFF 62,0xcf9e9e 80,0xe6cccc 76,0xe1c1c1 94,0xf8efef 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 97,0xfcf7f7 92,0xf5eaea 100,0xFFFFFF 100,0xFFFFFF 83,0xead3d3 77,0xe2c4c4 76,0xe1c1c1 74,0xdebcbc 83,0xead3d3 56,0xc78e8e 55,0xc68c8c 57,0xc89191 87,0xefdddd 77,0xe2c4c4 100,0xFFFFFF 80,0xe6cccc 55,0xc68c8c 33,0xaa5454 30,0xa64c4c 31,0xa74f4f 34,0xab5656 100,0xFFFFFF 37,0xaf5e5e 38,0xb06060 44,0xb87070 49,0xbe7c7c 46,0xba7575 50,0xc07f7f 100,0xFFFFFF 37,0xaf5e5e 37,0xaf5e5e 41,0xb46868 29,0xa54949 29,0xa54949 48,0xbd7a7a 47,0xbc7777 38,0xb06060 41,0xb46868 100,0xFFFFFF 63,0xd0a0a0 100,0xFFFFFF 64,0xd1a3a3 98,0xfdf9f9 51,0xc18282 34,0xab5656 18,0x972d2d 16,0x942828 15,0x932626 11,0x8e1c1c 9,0x8b1616 9,0x8b1616 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 10,0x8c1919 12,0x8f1e1e 9,0x8b1616 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 9,0x8b1616 12,0x8f1e1e 38,0xb06060 60,0xcc9999 30,0xa64c4c 8,0x8a1414 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a + 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 9,0x8b1616 10,0x8c1919 13,0x902121 16,0x942828 52,0xc28484 18,0x972d2d 19,0x983030 19,0x983030 19,0x983030 76,0xe1c1c1 32,0xa85151 54,0xc58989 50,0xc07f7f 66,0xd4a8a8 100,0xFFFFFF 31,0xa74f4f 16,0x942828 100,0xFFFFFF 9,0x8b1616 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 9,0x8b1616 10,0x8c1919 18,0x972d2d 50,0xc07f7f 9,0x8b1616 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 10,0x8c1919 10,0x8c1919 11,0x8e1c1c 12,0x8f1e1e 21,0x9a3535 29,0xa54949 50,0xc07f7f 56,0xc78e8e 100,0xFFFFFF 81,0xe7cece 49,0xbe7c7c 46,0xba7575 40,0xb36666 33,0xaa5454 37,0xaf5e5e 43,0xb76d6d 41,0xb46868 41,0xb46868 43,0xb76d6d 52,0xc28484 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 69,0xd8afaf 73,0xddbaba 75,0xe0bfbf 79,0xe5c9c9 100,0xFFFFFF 100,0xFFFFFF 97,0xfcf7f7 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 99,0xfefcfc 97,0xfcf7f7 93,0xf7eded 89,0xf1e2e2 81,0xe7cece 78,0xe3c6c6 76,0xe1c1c1 75,0xe0bfbf 75,0xe0bfbf 100,0xFFFFFF 84,0xebd6d6 86,0xeedbdb 100,0xFFFFFF 100,0xFFFFFF 56,0xc78e8e 53,0xc38787 53,0xc38787 53,0xc38787 54,0xc58989 55,0xc68c8c 57,0xc89191 59,0xcb9696 93,0xf7eded 100,0xFFFFFF 80,0xe6cccc 100,0xFFFFFF 100,0xFFFFFF 84,0xebd6d6 66,0xd4a8a8 53,0xc38787 66,0xd4a8a8 30,0xa64c4c 27,0xa24444 26,0xa14242 26,0xa14242 25,0xa03f3f 25,0xa03f3f 25,0xa03f3f 26,0xa14242 27,0xa24444 26,0xa14242 26,0xa14242 26,0xa14242 26,0xa14242 27,0xa24444 28,0xa34747 30,0xa64c4c 57,0xc89191 37,0xaf5e5e 38,0xb06060 43,0xb76d6d 45,0xb97272 47,0xbc7777 52,0xc28484 84,0xebd6d6 41,0xb46868 53,0xc38787 49,0xbe7c7c 66,0xd4a8a8 25,0xa03f3f 18,0x972d2d 18,0x972d2d 18,0x972d2d 18,0x972d2d 18,0x972d2d 19,0x983030 31,0xa74f4f 68,0xd7adad 44,0xb87070 61,0xce9b9b 37,0xaf5e5e 23,0x9d3a3a 20,0x993333 18,0x972d2d 18,0x972d2d 17,0x952b2b 17,0x952b2b 17,0x952b2b 17,0x952b2b 17,0x952b2b 18,0x972d2d 18,0x972d2d 19,0x983030 30,0xa64c4c 48,0xbd7a7a 72,0xdcb7b7 22,0x9c3838 21,0x9a3535 21,0x9a3535 22,0x9c3838 22,0x9c3838 22,0x9c3838 23,0x9d3a3a 24,0x9e3d3d 26,0xa14242 28,0xa34747 29,0xa54949 32,0xa85151 77,0xe2c4c4 43,0xb76d6d 43,0xb76d6d 89,0xf1e2e2 76,0xe1c1c1 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 20,0x993333 15,0x932626 13,0x902121 12,0x8f1e1e 12,0x8f1e1e 11,0x8e1c1c 10,0x8c1919 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 10,0x8c1919 10,0x8c1919 10,0x8c1919 11,0x8e1c1c 12,0x8f1e1e 15,0x932626 17,0x952b2b 17,0x952b2b 20,0x993333 33,0xaa5454 24,0x9e3d3d 23,0x9d3a3a 23,0x9d3a3a 27,0xa24444 40,0xb36666 32,0xa85151 35,0xac5959 65,0xd3a5a5 100,0xFFFFFF 65,0xd3a5a5 63,0xd0a0a0 66,0xd4a8a8 71,0xdab5b5 100,0xFFFFFF 100,0xFFFFFF 84,0xebd6d6 87,0xefdddd 88,0xf0e0e0 100,0xFFFFFF 100,0xFFFFFF 74,0xdebcbc 77,0xe2c4c4 88,0xf0e0e0 100,0xFFFFFF 71,0xdab5b5 54,0xc58989 54,0xc58989 56,0xc78e8e 70,0xd9b2b2 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 70,0xd9b2b2 31,0xa74f4f 29,0xa54949 30,0xa64c4c 100,0xFFFFFF 41,0xb46868 42,0xb56b6b 60,0xcc9999 100,0xFFFFFF 58,0xca9393 53,0xc38787 59,0xcb9696 80,0xe6cccc 43,0xb76d6d 30,0xa64c4c 39,0xb16363 27,0xa24444 27,0xa24444 71,0xdab5b5 100,0xFFFFFF 47,0xbc7777 50,0xc07f7f 47,0xbc7777 49,0xbe7c7c 62,0xcf9e9e 56,0xc78e8e 100,0xFFFFFF 42,0xb56b6b 30,0xa64c4c 19,0x983030 15,0x932626 12,0x8f1e1e 11,0x8e1c1c 10,0x8c1919 9,0x8b1616 8,0x8a1414 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 9,0x8b1616 66,0xd4a8a8 100,0xFFFFFF 19,0x983030 10,0x8c1919 9,0x8b1616 11,0x8e1c1c 16,0x942828 13,0x902121 13,0x902121 13,0x902121 16,0x942828 34,0xab5656 17,0x952b2b 10,0x8c1919 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a + 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 9,0x8b1616 10,0x8c1919 11,0x8e1c1c 12,0x8f1e1e 13,0x902121 14,0x912323 15,0x932626 16,0x942828 72,0xdcb7b7 22,0x9c3838 76,0xe1c1c1 41,0xb46868 40,0xb36666 32,0xa85151 17,0x952b2b 37,0xaf5e5e 12,0x8f1e1e 9,0x8b1616 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 13,0x902121 12,0x8f1e1e 66,0xd4a8a8 100,0xFFFFFF 36,0xae5b5b 10,0x8c1919 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 10,0x8c1919 10,0x8c1919 11,0x8e1c1c 11,0x8e1c1c 14,0x912323 15,0x932626 20,0x993333 41,0xb46868 35,0xac5959 83,0xead3d3 62,0xcf9e9e 37,0xaf5e5e 30,0xa64c4c 30,0xa64c4c 58,0xca9393 49,0xbe7c7c 43,0xb76d6d 79,0xe5c9c9 46,0xba7575 47,0xbc7777 100,0xFFFFFF 87,0xefdddd 100,0xFFFFFF 65,0xd3a5a5 100,0xFFFFFF 80,0xe6cccc 84,0xebd6d6 83,0xead3d3 86,0xeedbdb 93,0xf7eded 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 99,0xfefcfc 97,0xfcf7f7 99,0xfefcfc 100,0xFFFFFF 100,0xFFFFFF 90,0xf3e5e5 79,0xe5c9c9 76,0xe1c1c1 76,0xe1c1c1 86,0xeedbdb 100,0xFFFFFF 98,0xfdf9f9 100,0xFFFFFF 91,0xf4e8e8 94,0xf8efef 56,0xc78e8e 53,0xc38787 53,0xc38787 53,0xc38787 54,0xc58989 56,0xc78e8e 57,0xc89191 59,0xcb9696 63,0xd0a0a0 67,0xd5aaaa 68,0xd7adad 78,0xe3c6c6 74,0xdebcbc 62,0xcf9e9e 100,0xFFFFFF 38,0xb06060 100,0xFFFFFF 59,0xcb9696 27,0xa24444 25,0xa03f3f 25,0xa03f3f 25,0xa03f3f 25,0xa03f3f 24,0x9e3d3d 24,0x9e3d3d 24,0x9e3d3d 24,0x9e3d3d 25,0xa03f3f 25,0xa03f3f 25,0xa03f3f 26,0xa14242 27,0xa24444 32,0xa85151 37,0xaf5e5e 44,0xb87070 43,0xb76d6d 51,0xc18282 47,0xbc7777 56,0xc78e8e 38,0xb06060 32,0xa85151 40,0xb36666 47,0xbc7777 76,0xe1c1c1 20,0x993333 18,0x972d2d 17,0x952b2b 17,0x952b2b 17,0x952b2b 17,0x952b2b 18,0x972d2d 18,0x972d2d 21,0x9a3535 39,0xb16363 100,0xFFFFFF 47,0xbc7777 100,0xFFFFFF 40,0xb36666 19,0x983030 18,0x972d2d 17,0x952b2b 17,0x952b2b 17,0x952b2b 17,0x952b2b 17,0x952b2b 17,0x952b2b 17,0x952b2b 18,0x972d2d 18,0x972d2d 21,0x9a3535 32,0xa85151 30,0xa64c4c 20,0x993333 20,0x993333 19,0x983030 19,0x983030 20,0x993333 21,0x9a3535 21,0x9a3535 24,0x9e3d3d 32,0xa85151 100,0xFFFFFF 31,0xa74f4f 33,0xaa5454 100,0xFFFFFF 86,0xeedbdb 54,0xc58989 50,0xc07f7f 60,0xcc9999 87,0xefdddd 93,0xf7eded 100,0xFFFFFF 67,0xd5aaaa 42,0xb56b6b 73,0xddbaba 27,0xa24444 15,0x932626 14,0x912323 13,0x902121 12,0x8f1e1e 10,0x8c1919 10,0x8c1919 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 10,0x8c1919 10,0x8c1919 10,0x8c1919 11,0x8e1c1c 11,0x8e1c1c 12,0x8f1e1e 13,0x902121 14,0x912323 15,0x932626 18,0x972d2d 53,0xc38787 32,0xa85151 35,0xac5959 28,0xa34747 58,0xca9393 37,0xaf5e5e 100,0xFFFFFF 36,0xae5b5b 79,0xe5c9c9 92,0xf5eaea 81,0xe7cece 100,0xFFFFFF 70,0xd9b2b2 78,0xe3c6c6 75,0xe0bfbf 76,0xe1c1c1 83,0xead3d3 89,0xf1e2e2 100,0xFFFFFF 77,0xe2c4c4 71,0xdab5b5 70,0xd9b2b2 93,0xf7eded 89,0xf1e2e2 100,0xFFFFFF 81,0xe7cece 52,0xc28484 54,0xc58989 58,0xca9393 62,0xcf9e9e 71,0xdab5b5 84,0xebd6d6 74,0xdebcbc 100,0xFFFFFF 29,0xa54949 28,0xa34747 28,0xa34747 67,0xd5aaaa 37,0xaf5e5e 33,0xaa5454 50,0xc07f7f 93,0xf7eded 58,0xca9393 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 84,0xebd6d6 27,0xa24444 24,0x9e3d3d 25,0xa03f3f 26,0xa14242 28,0xa34747 33,0xaa5454 71,0xdab5b5 91,0xf4e8e8 87,0xefdddd 42,0xb56b6b 61,0xce9b9b 100,0xFFFFFF 38,0xb06060 36,0xae5b5b 34,0xab5656 100,0xFFFFFF 22,0x9c3838 14,0x912323 11,0x8e1c1c 10,0x8c1919 9,0x8b1616 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 9,0x8b1616 10,0x8c1919 13,0x902121 100,0xFFFFFF 84,0xebd6d6 12,0x8f1e1e 16,0x942828 44,0xb87070 31,0xa74f4f 100,0xFFFFFF 64,0xd1a3a3 87,0xefdddd 19,0x983030 38,0xb06060 13,0x902121 8,0x8a1414 7,0x881111 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a + 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 9,0x8b1616 9,0x8b1616 10,0x8c1919 11,0x8e1c1c 12,0x8f1e1e 13,0x902121 14,0x912323 15,0x932626 17,0x952b2b 18,0x972d2d 75,0xe0bfbf 32,0xa85151 41,0xb46868 54,0xc58989 19,0x983030 12,0x8f1e1e 10,0x8c1919 9,0x8b1616 9,0x8b1616 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 17,0x952b2b 100,0xFFFFFF 34,0xab5656 17,0x952b2b 13,0x902121 10,0x8c1919 9,0x8b1616 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 10,0x8c1919 10,0x8c1919 11,0x8e1c1c 11,0x8e1c1c 13,0x902121 13,0x902121 19,0x983030 18,0x972d2d 21,0x9a3535 59,0xcb9696 83,0xead3d3 26,0xa14242 27,0xa24444 29,0xa54949 32,0xa85151 46,0xba7575 100,0xFFFFFF 59,0xcb9696 50,0xc07f7f 49,0xbe7c7c 79,0xe5c9c9 57,0xc89191 58,0xca9393 65,0xd3a5a5 72,0xdcb7b7 97,0xfcf7f7 86,0xeedbdb 84,0xebd6d6 85,0xecd8d8 87,0xefdddd 92,0xf5eaea 96,0xfaf4f4 97,0xfcf7f7 99,0xfefcfc 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 94,0xf8efef 92,0xf5eaea 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 75,0xe0bfbf 75,0xe0bfbf 76,0xe1c1c1 79,0xe5c9c9 91,0xf4e8e8 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 61,0xce9b9b 51,0xc18282 51,0xc18282 52,0xc28484 58,0xca9393 59,0xcb9696 58,0xca9393 64,0xd1a3a3 68,0xd7adad 66,0xd4a8a8 64,0xd1a3a3 76,0xe1c1c1 100,0xFFFFFF 56,0xc78e8e 54,0xc58989 42,0xb56b6b 31,0xa74f4f 28,0xa34747 26,0xa14242 25,0xa03f3f 25,0xa03f3f 25,0xa03f3f 24,0x9e3d3d 24,0x9e3d3d 24,0x9e3d3d 24,0x9e3d3d 24,0x9e3d3d 24,0x9e3d3d 25,0xa03f3f 25,0xa03f3f 25,0xa03f3f 26,0xa14242 28,0xa34747 30,0xa64c4c 37,0xaf5e5e 100,0xFFFFFF 58,0xca9393 100,0xFFFFFF 68,0xd7adad 100,0xFFFFFF 25,0xa03f3f 27,0xa24444 42,0xb56b6b 21,0x9a3535 19,0x983030 17,0x952b2b 17,0x952b2b 17,0x952b2b 17,0x952b2b 17,0x952b2b 17,0x952b2b 17,0x952b2b 19,0x983030 20,0x993333 23,0x9d3a3a 25,0xa03f3f 51,0xc18282 31,0xa74f4f 19,0x983030 17,0x952b2b 17,0x952b2b 16,0x942828 16,0x942828 16,0x942828 16,0x942828 16,0x942828 17,0x952b2b 17,0x952b2b 17,0x952b2b 20,0x993333 19,0x983030 19,0x983030 18,0x972d2d 18,0x972d2d 19,0x983030 19,0x983030 19,0x983030 20,0x993333 21,0x9a3535 26,0xa14242 44,0xb87070 77,0xe2c4c4 36,0xae5b5b 59,0xcb9696 60,0xcc9999 65,0xd3a5a5 54,0xc58989 49,0xbe7c7c 53,0xc38787 63,0xd0a0a0 67,0xd5aaaa 68,0xd7adad 56,0xc78e8e 35,0xac5959 68,0xd7adad 31,0xa74f4f 22,0x9c3838 46,0xba7575 22,0x9c3838 13,0x902121 11,0x8e1c1c 10,0x8c1919 10,0x8c1919 10,0x8c1919 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 12,0x8f1e1e 13,0x902121 14,0x912323 18,0x972d2d 91,0xf4e8e8 53,0xc38787 37,0xaf5e5e 39,0xb16363 79,0xe5c9c9 52,0xc28484 85,0xecd8d8 39,0xb16363 42,0xb56b6b 80,0xe6cccc 50,0xc07f7f 56,0xc78e8e 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 71,0xdab5b5 85,0xecd8d8 100,0xFFFFFF 100,0xFFFFFF 93,0xf7eded 66,0xd4a8a8 67,0xd5aaaa 82,0xe8d1d1 66,0xd4a8a8 100,0xFFFFFF 100,0xFFFFFF 49,0xbe7c7c 95,0xf9f2f2 88,0xf0e0e0 100,0xFFFFFF 73,0xddbaba 70,0xd9b2b2 50,0xc07f7f 79,0xe5c9c9 28,0xa34747 26,0xa14242 26,0xa14242 28,0xa34747 28,0xa34747 28,0xa34747 31,0xa74f4f 40,0xb36666 50,0xc07f7f 68,0xd7adad 100,0xFFFFFF 100,0xFFFFFF 79,0xe5c9c9 23,0x9d3a3a 23,0x9d3a3a 24,0x9e3d3d 27,0xa24444 29,0xa54949 46,0xba7575 100,0xFFFFFF 100,0xFFFFFF 60,0xcc9999 32,0xa85151 32,0xa85151 32,0xa85151 36,0xae5b5b 39,0xb16363 61,0xce9b9b 78,0xe3c6c6 97,0xfcf7f7 61,0xce9b9b 16,0x942828 11,0x8e1c1c 10,0x8c1919 9,0x8b1616 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 9,0x8b1616 10,0x8c1919 81,0xe7cece 93,0xf7eded 21,0x9a3535 17,0x952b2b 15,0x932626 65,0xd3a5a5 100,0xFFFFFF 100,0xFFFFFF 33,0xaa5454 19,0x983030 54,0xc58989 47,0xbc7777 31,0xa74f4f 10,0x8c1919 8,0x8a1414 7,0x881111 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a + 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 10,0x8c1919 11,0x8e1c1c 12,0x8f1e1e 13,0x902121 14,0x912323 15,0x932626 17,0x952b2b 17,0x952b2b 21,0x9a3535 100,0xFFFFFF 50,0xc07f7f 95,0xf9f2f2 41,0xb46868 13,0x902121 10,0x8c1919 9,0x8b1616 9,0x8b1616 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 10,0x8c1919 25,0xa03f3f 100,0xFFFFFF 54,0xc58989 26,0xa14242 30,0xa64c4c 20,0x993333 10,0x8c1919 9,0x8b1616 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 9,0x8b1616 10,0x8c1919 10,0x8c1919 10,0x8c1919 11,0x8e1c1c 11,0x8e1c1c 12,0x8f1e1e 13,0x902121 14,0x912323 15,0x932626 18,0x972d2d 19,0x983030 20,0x993333 22,0x9c3838 71,0xdab5b5 33,0xaa5454 100,0xFFFFFF 82,0xe8d1d1 63,0xd0a0a0 54,0xc58989 51,0xc18282 50,0xc07f7f 50,0xc07f7f 51,0xc18282 64,0xd1a3a3 61,0xce9b9b 86,0xeedbdb 100,0xFFFFFF 100,0xFFFFFF 85,0xecd8d8 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 97,0xfcf7f7 94,0xf8efef 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 92,0xf5eaea 89,0xf1e2e2 89,0xf1e2e2 93,0xf7eded 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 98,0xfdf9f9 73,0xddbaba 74,0xdebcbc 78,0xe3c6c6 79,0xe5c9c9 91,0xf4e8e8 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 80,0xe6cccc 56,0xc78e8e 50,0xc07f7f 50,0xc07f7f 52,0xc28484 100,0xFFFFFF 69,0xd8afaf 65,0xd3a5a5 100,0xFFFFFF 81,0xe7cece 80,0xe6cccc 69,0xd8afaf 92,0xf5eaea 49,0xbe7c7c 60,0xcc9999 100,0xFFFFFF 100,0xFFFFFF 32,0xa85151 27,0xa24444 26,0xa14242 25,0xa03f3f 25,0xa03f3f 24,0x9e3d3d 24,0x9e3d3d 23,0x9d3a3a 23,0x9d3a3a 23,0x9d3a3a 23,0x9d3a3a 24,0x9e3d3d 24,0x9e3d3d 25,0xa03f3f 25,0xa03f3f 26,0xa14242 27,0xa24444 28,0xa34747 31,0xa74f4f 53,0xc38787 61,0xce9b9b 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 23,0x9d3a3a 51,0xc18282 30,0xa64c4c 24,0x9e3d3d 18,0x972d2d 17,0x952b2b 17,0x952b2b 16,0x942828 16,0x942828 16,0x942828 16,0x942828 16,0x942828 16,0x942828 17,0x952b2b 19,0x983030 35,0xac5959 23,0x9d3a3a 18,0x972d2d 17,0x952b2b 16,0x942828 16,0x942828 16,0x942828 16,0x942828 16,0x942828 16,0x942828 16,0x942828 16,0x942828 16,0x942828 16,0x942828 17,0x952b2b 17,0x952b2b 18,0x972d2d 18,0x972d2d 18,0x972d2d 18,0x972d2d 18,0x972d2d 19,0x983030 19,0x983030 20,0x993333 64,0xd1a3a3 44,0xb87070 26,0xa14242 31,0xa74f4f 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 91,0xf4e8e8 43,0xb76d6d 100,0xFFFFFF 72,0xdcb7b7 53,0xc38787 49,0xbe7c7c 56,0xc78e8e 100,0xFFFFFF 22,0x9c3838 22,0x9c3838 28,0xa34747 82,0xe8d1d1 20,0x993333 12,0x8f1e1e 11,0x8e1c1c 11,0x8e1c1c 10,0x8c1919 10,0x8c1919 10,0x8c1919 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 11,0x8e1c1c 11,0x8e1c1c 12,0x8f1e1e 12,0x8f1e1e 13,0x902121 14,0x912323 16,0x942828 87,0xefdddd 38,0xb06060 100,0xFFFFFF 60,0xcc9999 53,0xc38787 46,0xba7575 42,0xb56b6b 41,0xb46868 41,0xb46868 43,0xb76d6d 49,0xbe7c7c 52,0xc28484 100,0xFFFFFF 100,0xFFFFFF 82,0xe8d1d1 64,0xd1a3a3 85,0xecd8d8 74,0xdebcbc 75,0xe0bfbf 65,0xd3a5a5 65,0xd3a5a5 64,0xd1a3a3 64,0xd1a3a3 58,0xca9393 96,0xfaf4f4 49,0xbe7c7c 47,0xbc7777 47,0xbc7777 49,0xbe7c7c 68,0xd7adad 44,0xb87070 54,0xc58989 100,0xFFFFFF 30,0xa64c4c 26,0xa14242 25,0xa03f3f 25,0xa03f3f 25,0xa03f3f 26,0xa14242 26,0xa14242 29,0xa54949 45,0xb97272 42,0xb56b6b 53,0xc38787 65,0xd3a5a5 74,0xdebcbc 24,0x9e3d3d 20,0x993333 21,0x9a3535 28,0xa34747 36,0xae5b5b 35,0xac5959 100,0xFFFFFF 41,0xb46868 61,0xce9b9b 68,0xd7adad 26,0xa14242 27,0xa24444 34,0xab5656 44,0xb87070 42,0xb56b6b 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 43,0xb76d6d 68,0xd7adad 13,0x902121 12,0x8f1e1e 9,0x8b1616 9,0x8b1616 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 14,0x912323 13,0x902121 12,0x8f1e1e 90,0xf3e5e5 100,0xFFFFFF 65,0xd3a5a5 20,0x993333 93,0xf7eded 32,0xa85151 100,0xFFFFFF 52,0xc28484 22,0x9c3838 17,0x952b2b 15,0x932626 14,0x912323 11,0x8e1c1c 9,0x8b1616 8,0x8a1414 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c + 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 9,0x8b1616 10,0x8c1919 10,0x8c1919 11,0x8e1c1c 12,0x8f1e1e 14,0x912323 15,0x932626 16,0x942828 17,0x952b2b 18,0x972d2d 20,0x993333 86,0xeedbdb 35,0xac5959 44,0xb87070 27,0xa24444 15,0x932626 11,0x8e1c1c 9,0x8b1616 9,0x8b1616 9,0x8b1616 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 9,0x8b1616 11,0x8e1c1c 75,0xe0bfbf 28,0xa34747 41,0xb46868 44,0xb87070 100,0xFFFFFF 41,0xb46868 49,0xbe7c7c 54,0xc58989 9,0x8b1616 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 9,0x8b1616 10,0x8c1919 10,0x8c1919 11,0x8e1c1c 11,0x8e1c1c 12,0x8f1e1e 12,0x8f1e1e 13,0x902121 14,0x912323 15,0x932626 16,0x942828 17,0x952b2b 18,0x972d2d 22,0x9c3838 31,0xa74f4f 67,0xd5aaaa 65,0xd3a5a5 100,0xFFFFFF 82,0xe8d1d1 78,0xe3c6c6 61,0xce9b9b 49,0xbe7c7c 50,0xc07f7f 51,0xc18282 53,0xc38787 55,0xc68c8c 86,0xeedbdb 100,0xFFFFFF 94,0xf8efef 78,0xe3c6c6 76,0xe1c1c1 89,0xf1e2e2 100,0xFFFFFF 100,0xFFFFFF 92,0xf5eaea 88,0xf0e0e0 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 90,0xf3e5e5 87,0xefdddd 87,0xefdddd 100,0xFFFFFF 82,0xe8d1d1 100,0xFFFFFF 81,0xe7cece 71,0xdab5b5 70,0xd9b2b2 84,0xebd6d6 88,0xf0e0e0 100,0xFFFFFF 88,0xf0e0e0 90,0xf3e5e5 99,0xfefcfc 91,0xf4e8e8 89,0xf1e2e2 51,0xc18282 49,0xbe7c7c 49,0xbe7c7c 50,0xc07f7f 100,0xFFFFFF 53,0xc38787 55,0xc68c8c 100,0xFFFFFF 77,0xe2c4c4 100,0xFFFFFF 79,0xe5c9c9 44,0xb87070 48,0xbd7a7a 68,0xd7adad 59,0xcb9696 60,0xcc9999 40,0xb36666 27,0xa24444 26,0xa14242 25,0xa03f3f 24,0x9e3d3d 24,0x9e3d3d 23,0x9d3a3a 23,0x9d3a3a 23,0x9d3a3a 23,0x9d3a3a 23,0x9d3a3a 23,0x9d3a3a 24,0x9e3d3d 24,0x9e3d3d 25,0xa03f3f 26,0xa14242 27,0xa24444 28,0xa34747 100,0xFFFFFF 39,0xb16363 51,0xc18282 100,0xFFFFFF 82,0xe8d1d1 40,0xb36666 20,0x993333 20,0x993333 22,0x9c3838 100,0xFFFFFF 17,0x952b2b 16,0x942828 16,0x942828 16,0x942828 16,0x942828 16,0x942828 16,0x942828 16,0x942828 16,0x942828 16,0x942828 17,0x952b2b 22,0x9c3838 18,0x972d2d 17,0x952b2b 16,0x942828 16,0x942828 16,0x942828 16,0x942828 16,0x942828 15,0x932626 15,0x932626 15,0x932626 15,0x932626 16,0x942828 16,0x942828 16,0x942828 16,0x942828 17,0x952b2b 17,0x952b2b 17,0x952b2b 17,0x952b2b 18,0x972d2d 18,0x972d2d 18,0x972d2d 20,0x993333 33,0xaa5454 38,0xb06060 23,0x9d3a3a 23,0x9d3a3a 100,0xFFFFFF 74,0xdebcbc 57,0xc89191 84,0xebd6d6 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 43,0xb76d6d 41,0xb46868 40,0xb36666 60,0xcc9999 20,0x993333 19,0x983030 21,0x9a3535 23,0x9d3a3a 14,0x912323 12,0x8f1e1e 11,0x8e1c1c 11,0x8e1c1c 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 11,0x8e1c1c 11,0x8e1c1c 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 15,0x932626 43,0xb76d6d 24,0x9e3d3d 70,0xd9b2b2 80,0xe6cccc 100,0xFFFFFF 89,0xf1e2e2 58,0xca9393 44,0xb87070 41,0xb46868 41,0xb46868 42,0xb56b6b 44,0xb87070 46,0xba7575 51,0xc18282 68,0xd7adad 84,0xebd6d6 57,0xc89191 69,0xd8afaf 58,0xca9393 61,0xce9b9b 64,0xd1a3a3 66,0xd4a8a8 89,0xf1e2e2 58,0xca9393 54,0xc58989 77,0xe2c4c4 50,0xc07f7f 45,0xb97272 45,0xb97272 51,0xc18282 46,0xba7575 37,0xaf5e5e 36,0xae5b5b 42,0xb56b6b 31,0xa74f4f 27,0xa24444 24,0x9e3d3d 24,0x9e3d3d 24,0x9e3d3d 25,0xa03f3f 26,0xa14242 28,0xa34747 52,0xc28484 56,0xc78e8e 48,0xbd7a7a 94,0xf8efef 37,0xaf5e5e 20,0x993333 19,0x983030 19,0x983030 36,0xae5b5b 29,0xa54949 24,0x9e3d3d 23,0x9d3a3a 26,0xa14242 21,0x9a3535 21,0x9a3535 24,0x9e3d3d 31,0xa74f4f 31,0xa74f4f 86,0xeedbdb 50,0xc07f7f 50,0xc07f7f 62,0xcf9e9e 86,0xeedbdb 100,0xFFFFFF 22,0x9c3838 23,0x9d3a3a 100,0xFFFFFF 10,0x8c1919 9,0x8b1616 9,0x8b1616 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 10,0x8c1919 96,0xfaf4f4 23,0x9d3a3a 16,0x942828 21,0x9a3535 95,0xf9f2f2 35,0xac5959 34,0xab5656 100,0xFFFFFF 37,0xaf5e5e 35,0xac5959 39,0xb16363 33,0xaa5454 16,0x942828 14,0x912323 13,0x902121 11,0x8e1c1c 10,0x8c1919 9,0x8b1616 8,0x8a1414 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c + 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 10,0x8c1919 11,0x8e1c1c 13,0x902121 15,0x932626 20,0x993333 31,0xa74f4f 38,0xb06060 72,0xdcb7b7 20,0x993333 21,0x9a3535 28,0xa34747 51,0xc18282 53,0xc38787 17,0x952b2b 41,0xb46868 11,0x8e1c1c 9,0x8b1616 9,0x8b1616 9,0x8b1616 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 11,0x8e1c1c 34,0xab5656 10,0x8c1919 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 10,0x8c1919 10,0x8c1919 10,0x8c1919 11,0x8e1c1c 13,0x902121 15,0x932626 24,0x9e3d3d 61,0xce9b9b 73,0xddbaba 100,0xFFFFFF 17,0x952b2b 15,0x932626 9,0x8b1616 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 10,0x8c1919 10,0x8c1919 10,0x8c1919 11,0x8e1c1c 12,0x8f1e1e 12,0x8f1e1e 13,0x902121 14,0x912323 14,0x912323 15,0x932626 16,0x942828 17,0x952b2b 18,0x972d2d 20,0x993333 22,0x9c3838 23,0x9d3a3a 30,0xa64c4c 68,0xd7adad 100,0xFFFFFF 97,0xfcf7f7 100,0xFFFFFF 47,0xbc7777 62,0xcf9e9e 53,0xc38787 54,0xc58989 57,0xc89191 59,0xcb9696 65,0xd3a5a5 83,0xead3d3 68,0xd7adad 97,0xfcf7f7 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 82,0xe8d1d1 82,0xe8d1d1 83,0xead3d3 85,0xecd8d8 86,0xeedbdb 84,0xebd6d6 80,0xe6cccc 77,0xe2c4c4 84,0xebd6d6 72,0xdcb7b7 69,0xd8afaf 68,0xd7adad 69,0xd8afaf 71,0xdab5b5 100,0xFFFFFF 100,0xFFFFFF 96,0xfaf4f4 76,0xe1c1c1 71,0xdab5b5 57,0xc89191 53,0xc38787 48,0xbd7a7a 47,0xbc7777 47,0xbc7777 53,0xc38787 48,0xbd7a7a 49,0xbe7c7c 54,0xc58989 63,0xd0a0a0 82,0xe8d1d1 47,0xbc7777 40,0xb36666 75,0xe0bfbf 39,0xb16363 87,0xefdddd 62,0xcf9e9e 43,0xb76d6d 29,0xa54949 28,0xa34747 26,0xa14242 24,0x9e3d3d 23,0x9d3a3a 23,0x9d3a3a 23,0x9d3a3a 23,0x9d3a3a 23,0x9d3a3a 23,0x9d3a3a 23,0x9d3a3a 23,0x9d3a3a 24,0x9e3d3d 25,0xa03f3f 26,0xa14242 27,0xa24444 28,0xa34747 31,0xa74f4f 92,0xf5eaea 61,0xce9b9b 42,0xb56b6b 37,0xaf5e5e 21,0x9a3535 19,0x983030 18,0x972d2d 18,0x972d2d 17,0x952b2b 16,0x942828 15,0x932626 15,0x932626 15,0x932626 15,0x932626 15,0x932626 15,0x932626 15,0x932626 15,0x932626 15,0x932626 16,0x942828 16,0x942828 16,0x942828 16,0x942828 15,0x932626 15,0x932626 15,0x932626 15,0x932626 15,0x932626 15,0x932626 15,0x932626 15,0x932626 15,0x932626 15,0x932626 15,0x932626 16,0x942828 16,0x942828 16,0x942828 17,0x952b2b 17,0x952b2b 17,0x952b2b 17,0x952b2b 17,0x952b2b 18,0x972d2d 18,0x972d2d 20,0x993333 20,0x993333 21,0x9a3535 21,0x9a3535 22,0x9c3838 23,0x9d3a3a 25,0xa03f3f 28,0xa34747 30,0xa64c4c 33,0xaa5454 37,0xaf5e5e 39,0xb16363 39,0xb16363 34,0xab5656 27,0xa24444 21,0x9a3535 17,0x952b2b 16,0x942828 14,0x912323 13,0x902121 12,0x8f1e1e 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 11,0x8e1c1c 11,0x8e1c1c 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 14,0x912323 17,0x952b2b 98,0xfdf9f9 46,0xba7575 100,0xFFFFFF 100,0xFFFFFF 79,0xe5c9c9 63,0xd0a0a0 100,0xFFFFFF 40,0xb36666 40,0xb36666 43,0xb76d6d 44,0xb87070 47,0xbc7777 49,0xbe7c7c 52,0xc28484 53,0xc38787 54,0xc58989 55,0xc68c8c 56,0xc78e8e 69,0xd8afaf 68,0xd7adad 95,0xf9f2f2 100,0xFFFFFF 72,0xdcb7b7 100,0xFFFFFF 47,0xbc7777 45,0xb97272 44,0xb87070 44,0xb87070 48,0xbd7a7a 61,0xce9b9b 35,0xac5959 34,0xab5656 60,0xcc9999 53,0xc38787 100,0xFFFFFF 23,0x9d3a3a 23,0x9d3a3a 23,0x9d3a3a 24,0x9e3d3d 26,0xa14242 28,0xa34747 67,0xd5aaaa 55,0xc68c8c 100,0xFFFFFF 30,0xa64c4c 20,0x993333 18,0x972d2d 18,0x972d2d 18,0x972d2d 29,0xa54949 71,0xdab5b5 29,0xa54949 19,0x983030 18,0x972d2d 18,0x972d2d 19,0x983030 41,0xb46868 29,0xa54949 57,0xc89191 100,0xFFFFFF 76,0xe1c1c1 42,0xb56b6b 100,0xFFFFFF 40,0xb36666 32,0xa85151 18,0x972d2d 15,0x932626 12,0x8f1e1e 11,0x8e1c1c 10,0x8c1919 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 10,0x8c1919 12,0x8f1e1e 55,0xc68c8c 20,0x993333 43,0xb76d6d 43,0xb76d6d 51,0xc18282 66,0xd4a8a8 61,0xce9b9b 55,0xc68c8c 100,0xFFFFFF 32,0xa85151 23,0x9d3a3a 18,0x972d2d 17,0x952b2b 14,0x912323 13,0x902121 12,0x8f1e1e 11,0x8e1c1c 10,0x8c1919 8,0x8a1414 7,0x881111 7,0x881111 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c + 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 9,0x8b1616 10,0x8c1919 11,0x8e1c1c 13,0x902121 25,0xa03f3f 61,0xce9b9b 50,0xc07f7f 58,0xca9393 29,0xa54949 37,0xaf5e5e 23,0x9d3a3a 23,0x9d3a3a 37,0xaf5e5e 87,0xefdddd 100,0xFFFFFF 15,0x932626 12,0x8f1e1e 11,0x8e1c1c 10,0x8c1919 9,0x8b1616 9,0x8b1616 9,0x8b1616 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 10,0x8c1919 22,0x9c3838 25,0xa03f3f 51,0xc18282 11,0x8e1c1c 10,0x8c1919 10,0x8c1919 10,0x8c1919 11,0x8e1c1c 14,0x912323 11,0x8e1c1c 11,0x8e1c1c 12,0x8f1e1e 12,0x8f1e1e 14,0x912323 15,0x932626 17,0x952b2b 28,0xa34747 47,0xbc7777 96,0xfaf4f4 15,0x932626 11,0x8e1c1c 9,0x8b1616 9,0x8b1616 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 9,0x8b1616 10,0x8c1919 10,0x8c1919 11,0x8e1c1c 12,0x8f1e1e 12,0x8f1e1e 13,0x902121 14,0x912323 14,0x912323 15,0x932626 16,0x942828 16,0x942828 17,0x952b2b 18,0x972d2d 19,0x983030 20,0x993333 21,0x9a3535 25,0xa03f3f 40,0xb36666 71,0xdab5b5 59,0xcb9696 91,0xf4e8e8 42,0xb56b6b 100,0xFFFFFF 61,0xce9b9b 59,0xcb9696 100,0xFFFFFF 61,0xce9b9b 62,0xcf9e9e 63,0xd0a0a0 64,0xd1a3a3 67,0xd5aaaa 71,0xdab5b5 100,0xFFFFFF 100,0xFFFFFF 78,0xe3c6c6 77,0xe2c4c4 77,0xe2c4c4 79,0xe5c9c9 92,0xf5eaea 87,0xefdddd 88,0xf0e0e0 100,0xFFFFFF 83,0xead3d3 75,0xe0bfbf 74,0xdebcbc 74,0xdebcbc 67,0xd5aaaa 67,0xd5aaaa 67,0xd5aaaa 69,0xd8afaf 100,0xFFFFFF 100,0xFFFFFF 64,0xd1a3a3 86,0xeedbdb 100,0xFFFFFF 52,0xc28484 48,0xbd7a7a 47,0xbc7777 46,0xba7575 46,0xba7575 46,0xba7575 46,0xba7575 47,0xbc7777 50,0xc07f7f 72,0xdcb7b7 51,0xc18282 40,0xb36666 37,0xaf5e5e 36,0xae5b5b 36,0xae5b5b 37,0xaf5e5e 41,0xb46868 36,0xae5b5b 32,0xa85151 90,0xf3e5e5 37,0xaf5e5e 24,0x9e3d3d 23,0x9d3a3a 22,0x9c3838 22,0x9c3838 22,0x9c3838 22,0x9c3838 22,0x9c3838 23,0x9d3a3a 23,0x9d3a3a 24,0x9e3d3d 26,0xa14242 27,0xa24444 28,0xa34747 29,0xa54949 100,0xFFFFFF 43,0xb76d6d 92,0xf5eaea 100,0xFFFFFF 28,0xa34747 20,0x993333 17,0x952b2b 17,0x952b2b 17,0x952b2b 16,0x942828 15,0x932626 15,0x932626 15,0x932626 15,0x932626 15,0x932626 15,0x932626 15,0x932626 15,0x932626 15,0x932626 15,0x932626 15,0x932626 15,0x932626 15,0x932626 15,0x932626 15,0x932626 15,0x932626 15,0x932626 15,0x932626 15,0x932626 15,0x932626 15,0x932626 15,0x932626 15,0x932626 15,0x932626 15,0x932626 15,0x932626 16,0x942828 16,0x942828 16,0x942828 17,0x952b2b 17,0x952b2b 17,0x952b2b 17,0x952b2b 17,0x952b2b 18,0x972d2d 19,0x983030 19,0x983030 20,0x993333 20,0x993333 21,0x9a3535 22,0x9c3838 25,0xa03f3f 29,0xa54949 31,0xa74f4f 34,0xab5656 51,0xc18282 41,0xb46868 46,0xba7575 83,0xead3d3 50,0xc07f7f 27,0xa24444 18,0x972d2d 15,0x932626 14,0x912323 13,0x902121 12,0x8f1e1e 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 12,0x8f1e1e 12,0x8f1e1e 13,0x902121 14,0x912323 15,0x932626 26,0xa14242 43,0xb76d6d 100,0xFFFFFF 86,0xeedbdb 65,0xd3a5a5 58,0xca9393 62,0xcf9e9e 36,0xae5b5b 42,0xb56b6b 100,0xFFFFFF 46,0xba7575 51,0xc18282 65,0xd3a5a5 53,0xc38787 53,0xc38787 52,0xc28484 54,0xc58989 58,0xca9393 65,0xd3a5a5 81,0xe7cece 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 58,0xca9393 48,0xbd7a7a 44,0xb87070 43,0xb76d6d 42,0xb56b6b 41,0xb46868 38,0xb06060 36,0xae5b5b 33,0xaa5454 30,0xa64c4c 26,0xa14242 24,0x9e3d3d 22,0x9c3838 22,0x9c3838 22,0x9c3838 26,0xa14242 57,0xc89191 33,0xaa5454 60,0xcc9999 24,0x9e3d3d 19,0x983030 18,0x972d2d 17,0x952b2b 16,0x942828 16,0x942828 17,0x952b2b 17,0x952b2b 29,0xa54949 19,0x983030 17,0x952b2b 17,0x952b2b 18,0x972d2d 18,0x972d2d 43,0xb76d6d 86,0xeedbdb 21,0x9a3535 24,0x9e3d3d 26,0xa14242 29,0xa54949 37,0xaf5e5e 40,0xb36666 100,0xFFFFFF 32,0xa85151 14,0x912323 12,0x8f1e1e 11,0x8e1c1c 10,0x8c1919 10,0x8c1919 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 10,0x8c1919 11,0x8e1c1c 14,0x912323 48,0xbd7a7a 64,0xd1a3a3 50,0xc07f7f 51,0xc18282 71,0xdab5b5 80,0xe6cccc 71,0xdab5b5 60,0xcc9999 100,0xFFFFFF 44,0xb87070 72,0xdcb7b7 52,0xc28484 34,0xab5656 21,0x9a3535 25,0xa03f3f 100,0xFFFFFF 100,0xFFFFFF 22,0x9c3838 11,0x8e1c1c 9,0x8b1616 9,0x8b1616 7,0x881111 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c + 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 9,0x8b1616 10,0x8c1919 77,0xe2c4c4 16,0x942828 33,0xaa5454 93,0xf7eded 40,0xb36666 92,0xf5eaea 23,0x9d3a3a 23,0x9d3a3a 33,0xaa5454 26,0xa14242 31,0xa74f4f 66,0xd4a8a8 53,0xc38787 25,0xa03f3f 14,0x912323 11,0x8e1c1c 11,0x8e1c1c 10,0x8c1919 10,0x8c1919 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 9,0x8b1616 10,0x8c1919 11,0x8e1c1c 14,0x912323 22,0x9c3838 100,0xFFFFFF 22,0x9c3838 11,0x8e1c1c 11,0x8e1c1c 12,0x8f1e1e 14,0x912323 28,0xa34747 14,0x912323 19,0x983030 18,0x972d2d 29,0xa54949 100,0xFFFFFF 18,0x972d2d 18,0x972d2d 21,0x9a3535 33,0xaa5454 64,0xd1a3a3 42,0xb56b6b 11,0x8e1c1c 9,0x8b1616 9,0x8b1616 8,0x8a1414 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 10,0x8c1919 10,0x8c1919 11,0x8e1c1c 12,0x8f1e1e 30,0xa64c4c 15,0x932626 100,0xFFFFFF 18,0x972d2d 51,0xc18282 18,0x972d2d 17,0x952b2b 17,0x952b2b 18,0x972d2d 18,0x972d2d 19,0x983030 20,0x993333 21,0x9a3535 23,0x9d3a3a 25,0xa03f3f 29,0xa54949 37,0xaf5e5e 36,0xae5b5b 41,0xb46868 45,0xb97272 100,0xFFFFFF 85,0xecd8d8 65,0xd3a5a5 63,0xd0a0a0 62,0xcf9e9e 62,0xcf9e9e 63,0xd0a0a0 65,0xd3a5a5 68,0xd7adad 71,0xdab5b5 73,0xddbaba 74,0xdebcbc 75,0xe0bfbf 76,0xe1c1c1 78,0xe3c6c6 88,0xf0e0e0 91,0xf4e8e8 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 69,0xd8afaf 67,0xd5aaaa 65,0xd3a5a5 65,0xd3a5a5 66,0xd4a8a8 81,0xe7cece 65,0xd3a5a5 59,0xcb9696 58,0xca9393 59,0xcb9696 79,0xe5c9c9 51,0xc18282 48,0xbd7a7a 46,0xba7575 45,0xb97272 45,0xb97272 45,0xb97272 45,0xb97272 47,0xbc7777 49,0xbe7c7c 63,0xd0a0a0 41,0xb46868 38,0xb06060 36,0xae5b5b 35,0xac5959 35,0xac5959 36,0xae5b5b 47,0xbc7777 37,0xaf5e5e 42,0xb56b6b 100,0xFFFFFF 46,0xba7575 24,0x9e3d3d 22,0x9c3838 22,0x9c3838 22,0x9c3838 21,0x9a3535 22,0x9c3838 22,0x9c3838 22,0x9c3838 23,0x9d3a3a 25,0xa03f3f 100,0xFFFFFF 69,0xd8afaf 100,0xFFFFFF 32,0xa85151 65,0xd3a5a5 77,0xe2c4c4 29,0xa54949 22,0x9c3838 19,0x983030 18,0x972d2d 17,0x952b2b 17,0x952b2b 16,0x942828 15,0x932626 15,0x932626 15,0x932626 15,0x932626 15,0x932626 15,0x932626 15,0x932626 14,0x912323 14,0x912323 14,0x912323 14,0x912323 14,0x912323 14,0x912323 14,0x912323 14,0x912323 14,0x912323 14,0x912323 14,0x912323 15,0x932626 15,0x932626 15,0x932626 15,0x932626 15,0x932626 15,0x932626 15,0x932626 15,0x932626 15,0x932626 15,0x932626 16,0x942828 16,0x942828 16,0x942828 17,0x952b2b 17,0x952b2b 17,0x952b2b 17,0x952b2b 18,0x972d2d 18,0x972d2d 19,0x983030 19,0x983030 20,0x993333 21,0x9a3535 22,0x9c3838 100,0xFFFFFF 35,0xac5959 35,0xac5959 36,0xae5b5b 56,0xc78e8e 46,0xba7575 75,0xe0bfbf 67,0xd5aaaa 100,0xFFFFFF 100,0xFFFFFF 23,0x9d3a3a 16,0x942828 14,0x912323 13,0x902121 12,0x8f1e1e 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 11,0x8e1c1c 11,0x8e1c1c 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 13,0x902121 14,0x912323 14,0x912323 17,0x952b2b 21,0x9a3535 35,0xac5959 46,0xba7575 67,0xd5aaaa 76,0xe1c1c1 91,0xf4e8e8 32,0xa85151 36,0xae5b5b 39,0xb16363 80,0xe6cccc 100,0xFFFFFF 56,0xc78e8e 54,0xc58989 55,0xc68c8c 51,0xc18282 52,0xc28484 55,0xc68c8c 59,0xcb9696 100,0xFFFFFF 92,0xf5eaea 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 44,0xb87070 43,0xb76d6d 43,0xb76d6d 42,0xb56b6b 42,0xb56b6b 81,0xe7cece 98,0xfdf9f9 41,0xb46868 74,0xdebcbc 60,0xcc9999 23,0x9d3a3a 21,0x9a3535 21,0x9a3535 21,0x9a3535 39,0xb16363 100,0xFFFFFF 28,0xa34747 24,0x9e3d3d 20,0x993333 18,0x972d2d 17,0x952b2b 16,0x942828 16,0x942828 16,0x942828 16,0x942828 16,0x942828 16,0x942828 16,0x942828 16,0x942828 16,0x942828 16,0x942828 17,0x952b2b 18,0x972d2d 19,0x983030 19,0x983030 20,0x993333 39,0xb16363 35,0xac5959 100,0xFFFFFF 48,0xbd7a7a 83,0xead3d3 98,0xfdf9f9 21,0x9a3535 13,0x902121 11,0x8e1c1c 10,0x8c1919 10,0x8c1919 10,0x8c1919 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 10,0x8c1919 11,0x8e1c1c 12,0x8f1e1e 14,0x912323 74,0xdebcbc 42,0xb56b6b 100,0xFFFFFF 67,0xd5aaaa 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 79,0xe5c9c9 69,0xd8afaf 47,0xbc7777 100,0xFFFFFF 100,0xFFFFFF 26,0xa14242 34,0xab5656 54,0xc58989 78,0xe3c6c6 100,0xFFFFFF 46,0xba7575 62,0xcf9e9e 56,0xc78e8e 43,0xb76d6d 9,0x8b1616 7,0x881111 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c + 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 8,0x8a1414 9,0x8b1616 9,0x8b1616 10,0x8c1919 11,0x8e1c1c 25,0xa03f3f 21,0x9a3535 32,0xa85151 100,0xFFFFFF 72,0xdcb7b7 39,0xb16363 21,0x9a3535 21,0x9a3535 35,0xac5959 100,0xFFFFFF 68,0xd7adad 44,0xb87070 22,0x9c3838 15,0x932626 13,0x902121 11,0x8e1c1c 11,0x8e1c1c 10,0x8c1919 10,0x8c1919 10,0x8c1919 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 12,0x8f1e1e 15,0x932626 49,0xbe7c7c 47,0xbc7777 15,0x932626 12,0x8f1e1e 13,0x902121 100,0xFFFFFF 100,0xFFFFFF 24,0x9e3d3d 100,0xFFFFFF 100,0xFFFFFF 41,0xb46868 72,0xdcb7b7 38,0xb06060 45,0xb97272 21,0x9a3535 23,0x9d3a3a 52,0xc28484 100,0xFFFFFF 42,0xb56b6b 11,0x8e1c1c 9,0x8b1616 9,0x8b1616 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 10,0x8c1919 11,0x8e1c1c 12,0x8f1e1e 14,0x912323 25,0xa03f3f 44,0xb87070 77,0xe2c4c4 58,0xca9393 45,0xb97272 58,0xca9393 21,0x9a3535 19,0x983030 19,0x983030 19,0x983030 19,0x983030 20,0x993333 22,0x9c3838 24,0x9e3d3d 26,0xa14242 27,0xa24444 30,0xa64c4c 100,0xFFFFFF 81,0xe7cece 91,0xf4e8e8 100,0xFFFFFF 80,0xe6cccc 100,0xFFFFFF 71,0xdab5b5 61,0xce9b9b 61,0xce9b9b 64,0xd1a3a3 66,0xd4a8a8 100,0xFFFFFF 87,0xefdddd 74,0xdebcbc 74,0xdebcbc 73,0xddbaba 100,0xFFFFFF 82,0xe8d1d1 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 79,0xe5c9c9 69,0xd8afaf 66,0xd4a8a8 65,0xd3a5a5 64,0xd1a3a3 64,0xd1a3a3 100,0xFFFFFF 100,0xFFFFFF 57,0xc89191 56,0xc78e8e 58,0xca9393 84,0xebd6d6 54,0xc58989 89,0xf1e2e2 46,0xba7575 45,0xb97272 44,0xb87070 44,0xb87070 45,0xb97272 46,0xba7575 100,0xFFFFFF 59,0xcb9696 44,0xb87070 81,0xe7cece 35,0xac5959 34,0xab5656 33,0xaa5454 34,0xab5656 100,0xFFFFFF 55,0xc68c8c 100,0xFFFFFF 65,0xd3a5a5 25,0xa03f3f 23,0x9d3a3a 22,0x9c3838 21,0x9a3535 21,0x9a3535 21,0x9a3535 21,0x9a3535 21,0x9a3535 22,0x9c3838 23,0x9d3a3a 98,0xfdf9f9 100,0xFFFFFF 65,0xd3a5a5 83,0xead3d3 37,0xaf5e5e 56,0xc78e8e 31,0xa74f4f 22,0x9c3838 20,0x993333 19,0x983030 17,0x952b2b 17,0x952b2b 16,0x942828 16,0x942828 15,0x932626 15,0x932626 15,0x932626 15,0x932626 15,0x932626 14,0x912323 14,0x912323 14,0x912323 14,0x912323 14,0x912323 14,0x912323 14,0x912323 14,0x912323 14,0x912323 14,0x912323 14,0x912323 14,0x912323 14,0x912323 14,0x912323 14,0x912323 15,0x932626 15,0x932626 15,0x932626 15,0x932626 15,0x932626 15,0x932626 15,0x932626 15,0x932626 15,0x932626 16,0x942828 16,0x942828 17,0x952b2b 17,0x952b2b 17,0x952b2b 17,0x952b2b 17,0x952b2b 18,0x972d2d 19,0x983030 19,0x983030 19,0x983030 20,0x993333 23,0x9d3a3a 49,0xbe7c7c 27,0xa24444 61,0xce9b9b 55,0xc68c8c 64,0xd1a3a3 52,0xc28484 67,0xd5aaaa 80,0xe6cccc 100,0xFFFFFF 100,0xFFFFFF 37,0xaf5e5e 41,0xb46868 14,0x912323 13,0x902121 12,0x8f1e1e 12,0x8f1e1e 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 12,0x8f1e1e 12,0x8f1e1e 13,0x902121 13,0x902121 14,0x912323 15,0x932626 16,0x942828 18,0x972d2d 20,0x993333 27,0xa24444 64,0xd1a3a3 100,0xFFFFFF 28,0xa34747 31,0xa74f4f 34,0xab5656 37,0xaf5e5e 100,0xFFFFFF 66,0xd4a8a8 64,0xd1a3a3 100,0xFFFFFF 79,0xe5c9c9 100,0xFFFFFF 47,0xbc7777 46,0xba7575 47,0xbc7777 62,0xcf9e9e 67,0xd5aaaa 87,0xefdddd 69,0xd8afaf 45,0xb97272 42,0xb56b6b 42,0xb56b6b 43,0xb76d6d 44,0xb87070 52,0xc28484 97,0xfcf7f7 77,0xe2c4c4 100,0xFFFFFF 55,0xc68c8c 36,0xae5b5b 44,0xb87070 20,0x993333 20,0x993333 20,0x993333 31,0xa74f4f 60,0xcc9999 29,0xa54949 27,0xa24444 24,0x9e3d3d 17,0x952b2b 16,0x942828 15,0x932626 15,0x932626 15,0x932626 15,0x932626 15,0x932626 15,0x932626 15,0x932626 15,0x932626 16,0x942828 16,0x942828 16,0x942828 17,0x952b2b 18,0x972d2d 18,0x972d2d 19,0x983030 25,0xa03f3f 24,0x9e3d3d 92,0xf5eaea 42,0xb56b6b 69,0xd8afaf 52,0xc28484 28,0xa34747 21,0x9a3535 12,0x8f1e1e 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 11,0x8e1c1c 96,0xfaf4f4 49,0xbe7c7c 20,0x993333 20,0x993333 44,0xb87070 56,0xc78e8e 75,0xe0bfbf 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 67,0xd5aaaa 100,0xFFFFFF 38,0xb06060 35,0xac5959 31,0xa74f4f 87,0xefdddd 63,0xd0a0a0 100,0xFFFFFF 95,0xf9f2f2 100,0xFFFFFF 54,0xc58989 17,0x952b2b 14,0x912323 8,0x8a1414 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f + 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 8,0x8a1414 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 13,0x902121 42,0xb56b6b 59,0xcb9696 41,0xb46868 87,0xefdddd 100,0xFFFFFF 22,0x9c3838 19,0x983030 19,0x983030 19,0x983030 19,0x983030 22,0x9c3838 17,0x952b2b 16,0x942828 13,0x902121 12,0x8f1e1e 11,0x8e1c1c 11,0x8e1c1c 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 13,0x902121 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 14,0x912323 18,0x972d2d 100,0xFFFFFF 22,0x9c3838 20,0x993333 15,0x932626 14,0x912323 19,0x983030 54,0xc58989 100,0xFFFFFF 53,0xc38787 38,0xb06060 50,0xc07f7f 30,0xa64c4c 23,0x9d3a3a 22,0x9c3838 35,0xac5959 25,0xa03f3f 35,0xac5959 39,0xb16363 66,0xd4a8a8 12,0x8f1e1e 11,0x8e1c1c 9,0x8b1616 9,0x8b1616 9,0x8b1616 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 10,0x8c1919 11,0x8e1c1c 12,0x8f1e1e 13,0x902121 27,0xa24444 77,0xe2c4c4 41,0xb46868 96,0xfaf4f4 57,0xc89191 38,0xb06060 33,0xaa5454 100,0xFFFFFF 21,0x9a3535 20,0x993333 19,0x983030 20,0x993333 21,0x9a3535 30,0xa64c4c 100,0xFFFFFF 68,0xd7adad 29,0xa54949 30,0xa64c4c 32,0xa85151 35,0xac5959 46,0xba7575 100,0xFFFFFF 100,0xFFFFFF 85,0xecd8d8 100,0xFFFFFF 67,0xd5aaaa 58,0xca9393 67,0xd5aaaa 76,0xe1c1c1 100,0xFFFFFF 77,0xe2c4c4 76,0xe1c1c1 100,0xFFFFFF 72,0xdcb7b7 70,0xd9b2b2 87,0xefdddd 71,0xdab5b5 97,0xfcf7f7 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 72,0xdcb7b7 67,0xd5aaaa 64,0xd1a3a3 64,0xd1a3a3 63,0xd0a0a0 62,0xcf9e9e 61,0xce9b9b 58,0xca9393 56,0xc78e8e 54,0xc58989 54,0xc58989 82,0xe8d1d1 72,0xdcb7b7 52,0xc28484 45,0xb97272 44,0xb87070 43,0xb76d6d 43,0xb76d6d 44,0xb87070 45,0xb97272 73,0xddbaba 83,0xead3d3 73,0xddbaba 40,0xb36666 35,0xac5959 33,0xaa5454 33,0xaa5454 32,0xa85151 31,0xa74f4f 30,0xa64c4c 27,0xa24444 25,0xa03f3f 24,0x9e3d3d 22,0x9c3838 21,0x9a3535 21,0x9a3535 21,0x9a3535 21,0x9a3535 21,0x9a3535 21,0x9a3535 22,0x9c3838 23,0x9d3a3a 60,0xcc9999 67,0xd5aaaa 33,0xaa5454 31,0xa74f4f 34,0xab5656 27,0xa24444 23,0x9d3a3a 21,0x9a3535 20,0x993333 18,0x972d2d 18,0x972d2d 17,0x952b2b 16,0x942828 15,0x932626 15,0x932626 15,0x932626 15,0x932626 14,0x912323 14,0x912323 14,0x912323 14,0x912323 14,0x912323 14,0x912323 14,0x912323 13,0x902121 13,0x902121 13,0x902121 13,0x902121 13,0x902121 14,0x912323 14,0x912323 14,0x912323 14,0x912323 14,0x912323 14,0x912323 14,0x912323 15,0x932626 15,0x932626 15,0x932626 15,0x932626 15,0x932626 15,0x932626 15,0x932626 16,0x942828 16,0x942828 16,0x942828 17,0x952b2b 17,0x952b2b 17,0x952b2b 17,0x952b2b 18,0x972d2d 18,0x972d2d 19,0x983030 19,0x983030 20,0x993333 21,0x9a3535 22,0x9c3838 24,0x9e3d3d 45,0xb97272 77,0xe2c4c4 100,0xFFFFFF 47,0xbc7777 58,0xca9393 67,0xd5aaaa 78,0xe3c6c6 66,0xd4a8a8 41,0xb46868 42,0xb56b6b 15,0x932626 14,0x912323 13,0x902121 12,0x8f1e1e 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 12,0x8f1e1e 12,0x8f1e1e 13,0x902121 13,0x902121 14,0x912323 14,0x912323 15,0x932626 16,0x942828 17,0x952b2b 18,0x972d2d 22,0x9c3838 22,0x9c3838 24,0x9e3d3d 28,0xa34747 42,0xb56b6b 36,0xae5b5b 91,0xf4e8e8 51,0xc18282 69,0xd8afaf 88,0xf0e0e0 77,0xe2c4c4 80,0xe6cccc 100,0xFFFFFF 45,0xb97272 44,0xb87070 47,0xbc7777 95,0xf9f2f2 95,0xf9f2f2 95,0xf9f2f2 40,0xb36666 39,0xb16363 40,0xb36666 42,0xb56b6b 43,0xb76d6d 44,0xb87070 48,0xbd7a7a 58,0xca9393 65,0xd3a5a5 93,0xf7eded 88,0xf0e0e0 44,0xb87070 27,0xa24444 20,0x993333 19,0x983030 18,0x972d2d 19,0x983030 71,0xdab5b5 45,0xb97272 53,0xc38787 100,0xFFFFFF 19,0x983030 15,0x932626 15,0x932626 15,0x932626 14,0x912323 14,0x912323 14,0x912323 14,0x912323 14,0x912323 15,0x932626 15,0x932626 16,0x942828 16,0x942828 16,0x942828 17,0x952b2b 18,0x972d2d 18,0x972d2d 20,0x993333 21,0x9a3535 25,0xa03f3f 32,0xa85151 40,0xb36666 34,0xab5656 19,0x983030 16,0x942828 13,0x902121 11,0x8e1c1c 11,0x8e1c1c 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 11,0x8e1c1c 11,0x8e1c1c 14,0x912323 18,0x972d2d 26,0xa14242 24,0x9e3d3d 32,0xa85151 59,0xcb9696 92,0xf5eaea 98,0xfdf9f9 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 61,0xce9b9b 53,0xc38787 40,0xb36666 35,0xac5959 34,0xab5656 42,0xb56b6b 81,0xe7cece 100,0xFFFFFF 62,0xcf9e9e 43,0xb76d6d 31,0xa74f4f 16,0x942828 11,0x8e1c1c 9,0x8b1616 7,0x881111 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f + 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 9,0x8b1616 15,0x932626 51,0xc18282 77,0xe2c4c4 13,0x902121 16,0x942828 70,0xd9b2b2 100,0xFFFFFF 61,0xce9b9b 42,0xb56b6b 28,0xa34747 22,0x9c3838 18,0x972d2d 18,0x972d2d 17,0x952b2b 16,0x942828 15,0x932626 15,0x932626 14,0x912323 13,0x902121 12,0x8f1e1e 12,0x8f1e1e 11,0x8e1c1c 11,0x8e1c1c 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 11,0x8e1c1c 11,0x8e1c1c 32,0xa85151 100,0xFFFFFF 13,0x902121 14,0x912323 29,0xa54949 77,0xe2c4c4 33,0xaa5454 21,0x9a3535 18,0x972d2d 17,0x952b2b 18,0x972d2d 35,0xac5959 82,0xe8d1d1 100,0xFFFFFF 62,0xcf9e9e 65,0xd3a5a5 32,0xa85151 24,0x9e3d3d 20,0x993333 19,0x983030 24,0x9e3d3d 100,0xFFFFFF 43,0xb76d6d 22,0x9c3838 16,0x942828 11,0x8e1c1c 11,0x8e1c1c 10,0x8c1919 9,0x8b1616 9,0x8b1616 9,0x8b1616 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 11,0x8e1c1c 18,0x972d2d 55,0xc68c8c 17,0x952b2b 25,0xa03f3f 65,0xd3a5a5 59,0xcb9696 59,0xcb9696 22,0x9c3838 24,0x9e3d3d 30,0xa64c4c 49,0xbe7c7c 22,0x9c3838 21,0x9a3535 21,0x9a3535 21,0x9a3535 22,0x9c3838 26,0xa14242 32,0xa85151 58,0xca9393 31,0xa74f4f 31,0xa74f4f 32,0xa85151 34,0xab5656 68,0xd7adad 100,0xFFFFFF 100,0xFFFFFF 98,0xfdf9f9 67,0xd5aaaa 56,0xc78e8e 54,0xc58989 57,0xc89191 100,0xFFFFFF 100,0xFFFFFF 84,0xebd6d6 91,0xf4e8e8 100,0xFFFFFF 94,0xf8efef 67,0xd5aaaa 65,0xd3a5a5 68,0xd7adad 100,0xFFFFFF 79,0xe5c9c9 99,0xfefcfc 100,0xFFFFFF 64,0xd1a3a3 63,0xd0a0a0 63,0xd0a0a0 64,0xd1a3a3 63,0xd0a0a0 63,0xd0a0a0 62,0xcf9e9e 59,0xcb9696 57,0xc89191 54,0xc58989 51,0xc18282 49,0xbe7c7c 47,0xbc7777 46,0xba7575 44,0xb87070 43,0xb76d6d 43,0xb76d6d 43,0xb76d6d 43,0xb76d6d 42,0xb56b6b 43,0xb76d6d 43,0xb76d6d 40,0xb36666 36,0xae5b5b 35,0xac5959 33,0xaa5454 32,0xa85151 31,0xa74f4f 30,0xa64c4c 28,0xa34747 26,0xa14242 25,0xa03f3f 23,0x9d3a3a 22,0x9c3838 21,0x9a3535 21,0x9a3535 21,0x9a3535 20,0x993333 20,0x993333 20,0x993333 21,0x9a3535 24,0x9e3d3d 32,0xa85151 63,0xd0a0a0 34,0xab5656 28,0xa34747 26,0xa14242 24,0x9e3d3d 23,0x9d3a3a 22,0x9c3838 20,0x993333 19,0x983030 18,0x972d2d 16,0x942828 16,0x942828 15,0x932626 15,0x932626 15,0x932626 14,0x912323 14,0x912323 14,0x912323 14,0x912323 14,0x912323 14,0x912323 13,0x902121 13,0x902121 13,0x902121 13,0x902121 13,0x902121 13,0x902121 13,0x902121 13,0x902121 13,0x902121 14,0x912323 14,0x912323 14,0x912323 14,0x912323 14,0x912323 14,0x912323 15,0x932626 15,0x932626 15,0x932626 15,0x932626 15,0x932626 15,0x932626 16,0x942828 16,0x942828 16,0x942828 17,0x952b2b 17,0x952b2b 17,0x952b2b 17,0x952b2b 18,0x972d2d 18,0x972d2d 19,0x983030 19,0x983030 20,0x993333 20,0x993333 21,0x9a3535 23,0x9d3a3a 24,0x9e3d3d 27,0xa24444 34,0xab5656 44,0xb87070 100,0xFFFFFF 54,0xc58989 53,0xc38787 48,0xbd7a7a 45,0xb97272 59,0xcb9696 17,0x952b2b 16,0x942828 13,0x902121 12,0x8f1e1e 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 12,0x8f1e1e 12,0x8f1e1e 13,0x902121 13,0x902121 14,0x912323 15,0x932626 15,0x932626 16,0x942828 16,0x942828 17,0x952b2b 18,0x972d2d 19,0x983030 20,0x993333 22,0x9c3838 85,0xecd8d8 31,0xa74f4f 100,0xFFFFFF 89,0xf1e2e2 56,0xc78e8e 84,0xebd6d6 100,0xFFFFFF 98,0xfdf9f9 66,0xd4a8a8 56,0xc78e8e 44,0xb87070 41,0xb46868 53,0xc38787 42,0xb56b6b 38,0xb06060 37,0xaf5e5e 37,0xaf5e5e 38,0xb06060 41,0xb46868 46,0xba7575 45,0xb97272 46,0xba7575 50,0xc07f7f 66,0xd4a8a8 70,0xd9b2b2 90,0xf3e5e5 100,0xFFFFFF 76,0xe1c1c1 29,0xa54949 20,0x993333 18,0x972d2d 17,0x952b2b 17,0x952b2b 18,0x972d2d 21,0x9a3535 19,0x983030 52,0xc28484 16,0x942828 15,0x932626 14,0x912323 14,0x912323 14,0x912323 14,0x912323 14,0x912323 14,0x912323 14,0x912323 14,0x912323 15,0x932626 15,0x932626 16,0x942828 16,0x942828 17,0x952b2b 18,0x972d2d 18,0x972d2d 20,0x993333 20,0x993333 29,0xa54949 59,0xcb9696 52,0xc28484 100,0xFFFFFF 27,0xa24444 14,0x912323 12,0x8f1e1e 12,0x8f1e1e 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 12,0x8f1e1e 13,0x902121 16,0x942828 47,0xbc7777 67,0xd5aaaa 41,0xb46868 74,0xdebcbc 100,0xFFFFFF 77,0xe2c4c4 88,0xf0e0e0 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 66,0xd4a8a8 100,0xFFFFFF 34,0xab5656 34,0xab5656 37,0xaf5e5e 44,0xb87070 48,0xbd7a7a 94,0xf8efef 37,0xaf5e5e 100,0xFFFFFF 63,0xd0a0a0 65,0xd3a5a5 11,0x8e1c1c 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 6,0x870f0f + 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 9,0x8b1616 11,0x8e1c1c 16,0x942828 100,0xFFFFFF 16,0x942828 19,0x983030 47,0xbc7777 65,0xd3a5a5 49,0xbe7c7c 73,0xddbaba 29,0xa54949 20,0x993333 18,0x972d2d 17,0x952b2b 16,0x942828 16,0x942828 15,0x932626 14,0x912323 13,0x902121 13,0x902121 12,0x8f1e1e 12,0x8f1e1e 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 11,0x8e1c1c 11,0x8e1c1c 12,0x8f1e1e 15,0x932626 22,0x9c3838 20,0x993333 16,0x942828 86,0xeedbdb 84,0xebd6d6 54,0xc58989 100,0xFFFFFF 21,0x9a3535 21,0x9a3535 68,0xd7adad 33,0xaa5454 59,0xcb9696 75,0xe0bfbf 50,0xc07f7f 71,0xdab5b5 25,0xa03f3f 21,0x9a3535 18,0x972d2d 18,0x972d2d 17,0x952b2b 17,0x952b2b 16,0x942828 14,0x912323 13,0x902121 11,0x8e1c1c 11,0x8e1c1c 10,0x8c1919 10,0x8c1919 9,0x8b1616 9,0x8b1616 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 11,0x8e1c1c 15,0x932626 17,0x952b2b 22,0x9c3838 87,0xefdddd 40,0xb36666 33,0xaa5454 20,0x993333 20,0x993333 25,0xa03f3f 31,0xa74f4f 26,0xa14242 23,0x9d3a3a 22,0x9c3838 21,0x9a3535 22,0x9c3838 23,0x9d3a3a 25,0xa03f3f 55,0xc68c8c 36,0xae5b5b 33,0xaa5454 33,0xaa5454 34,0xab5656 35,0xac5959 38,0xb06060 47,0xbc7777 100,0xFFFFFF 71,0xdab5b5 84,0xebd6d6 51,0xc18282 53,0xc38787 55,0xc68c8c 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 94,0xf8efef 77,0xe2c4c4 65,0xd3a5a5 63,0xd0a0a0 86,0xeedbdb 80,0xe6cccc 61,0xce9b9b 60,0xcc9999 60,0xcc9999 61,0xce9b9b 62,0xcf9e9e 63,0xd0a0a0 64,0xd1a3a3 65,0xd3a5a5 76,0xe1c1c1 100,0xFFFFFF 100,0xFFFFFF 86,0xeedbdb 58,0xca9393 56,0xc78e8e 49,0xbe7c7c 46,0xba7575 45,0xb97272 44,0xb87070 43,0xb76d6d 43,0xb76d6d 42,0xb56b6b 42,0xb56b6b 41,0xb46868 41,0xb46868 39,0xb16363 38,0xb06060 36,0xae5b5b 35,0xac5959 34,0xab5656 34,0xab5656 32,0xa85151 31,0xa74f4f 30,0xa64c4c 28,0xa34747 25,0xa03f3f 23,0x9d3a3a 23,0x9d3a3a 21,0x9a3535 21,0x9a3535 20,0x993333 20,0x993333 20,0x993333 20,0x993333 20,0x993333 21,0x9a3535 26,0xa14242 70,0xd9b2b2 41,0xb46868 31,0xa74f4f 27,0xa24444 25,0xa03f3f 24,0x9e3d3d 24,0x9e3d3d 31,0xa74f4f 100,0xFFFFFF 20,0x993333 17,0x952b2b 16,0x942828 15,0x932626 15,0x932626 14,0x912323 14,0x912323 14,0x912323 14,0x912323 14,0x912323 13,0x902121 13,0x902121 13,0x902121 13,0x902121 13,0x902121 13,0x902121 13,0x902121 13,0x902121 13,0x902121 13,0x902121 13,0x902121 13,0x902121 13,0x902121 14,0x912323 14,0x912323 14,0x912323 14,0x912323 14,0x912323 15,0x932626 15,0x932626 15,0x932626 15,0x932626 15,0x932626 16,0x942828 16,0x942828 16,0x942828 17,0x952b2b 17,0x952b2b 17,0x952b2b 18,0x972d2d 18,0x972d2d 18,0x972d2d 19,0x983030 19,0x983030 20,0x993333 20,0x993333 21,0x9a3535 22,0x9c3838 24,0x9e3d3d 33,0xaa5454 31,0xa74f4f 33,0xaa5454 39,0xb16363 42,0xb56b6b 100,0xFFFFFF 73,0xddbaba 23,0x9d3a3a 33,0xaa5454 24,0x9e3d3d 23,0x9d3a3a 15,0x932626 12,0x8f1e1e 12,0x8f1e1e 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 12,0x8f1e1e 13,0x902121 14,0x912323 15,0x932626 18,0x972d2d 18,0x972d2d 19,0x983030 18,0x972d2d 17,0x952b2b 18,0x972d2d 19,0x983030 20,0x993333 20,0x993333 21,0x9a3535 25,0xa03f3f 26,0xa14242 26,0xa14242 31,0xa74f4f 42,0xb56b6b 83,0xead3d3 100,0xFFFFFF 100,0xFFFFFF 58,0xca9393 100,0xFFFFFF 89,0xf1e2e2 37,0xaf5e5e 41,0xb46868 75,0xe0bfbf 36,0xae5b5b 35,0xac5959 36,0xae5b5b 37,0xaf5e5e 100,0xFFFFFF 61,0xce9b9b 48,0xbd7a7a 48,0xbd7a7a 50,0xc07f7f 100,0xFFFFFF 77,0xe2c4c4 100,0xFFFFFF 100,0xFFFFFF 73,0xddbaba 100,0xFFFFFF 20,0x993333 17,0x952b2b 16,0x942828 16,0x942828 15,0x932626 15,0x932626 16,0x942828 20,0x993333 15,0x932626 14,0x912323 14,0x912323 14,0x912323 14,0x912323 14,0x912323 14,0x912323 14,0x912323 14,0x912323 14,0x912323 15,0x932626 15,0x932626 16,0x942828 16,0x942828 17,0x952b2b 18,0x972d2d 19,0x983030 20,0x993333 21,0x9a3535 22,0x9c3838 27,0xa24444 40,0xb36666 88,0xf0e0e0 57,0xc89191 15,0x932626 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 12,0x8f1e1e 13,0x902121 16,0x942828 84,0xebd6d6 69,0xd8afaf 43,0xb76d6d 43,0xb76d6d 59,0xcb9696 61,0xce9b9b 100,0xFFFFFF 66,0xd4a8a8 76,0xe1c1c1 50,0xc07f7f 100,0xFFFFFF 67,0xd5aaaa 29,0xa54949 87,0xefdddd 63,0xd0a0a0 54,0xc58989 49,0xbe7c7c 30,0xa64c4c 58,0xca9393 44,0xb87070 80,0xe6cccc 45,0xb97272 47,0xbc7777 10,0x8c1919 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 + 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 9,0x8b1616 11,0x8e1c1c 50,0xc07f7f 23,0x9d3a3a 20,0x993333 33,0xaa5454 32,0xa85151 40,0xb36666 41,0xb46868 62,0xcf9e9e 100,0xFFFFFF 21,0x9a3535 18,0x972d2d 16,0x942828 16,0x942828 15,0x932626 15,0x932626 14,0x912323 13,0x902121 13,0x902121 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 12,0x8f1e1e 12,0x8f1e1e 14,0x912323 87,0xefdddd 26,0xa14242 20,0x993333 20,0x993333 28,0xa34747 49,0xbe7c7c 40,0xb36666 30,0xa64c4c 28,0xa34747 100,0xFFFFFF 31,0xa74f4f 32,0xa85151 48,0xbd7a7a 87,0xefdddd 57,0xc89191 68,0xd7adad 44,0xb87070 20,0x993333 18,0x972d2d 17,0x952b2b 16,0x942828 15,0x932626 14,0x912323 13,0x902121 12,0x8f1e1e 11,0x8e1c1c 11,0x8e1c1c 10,0x8c1919 10,0x8c1919 10,0x8c1919 9,0x8b1616 9,0x8b1616 9,0x8b1616 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 10,0x8c1919 11,0x8e1c1c 14,0x912323 100,0xFFFFFF 59,0xcb9696 83,0xead3d3 44,0xb87070 18,0x972d2d 18,0x972d2d 23,0x9d3a3a 39,0xb16363 26,0xa14242 24,0x9e3d3d 23,0x9d3a3a 24,0x9e3d3d 24,0x9e3d3d 25,0xa03f3f 100,0xFFFFFF 53,0xc38787 43,0xb76d6d 36,0xae5b5b 41,0xb46868 100,0xFFFFFF 37,0xaf5e5e 37,0xaf5e5e 40,0xb36666 44,0xb87070 85,0xecd8d8 50,0xc07f7f 47,0xbc7777 65,0xd3a5a5 62,0xcf9e9e 89,0xf1e2e2 77,0xe2c4c4 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 59,0xcb9696 87,0xefdddd 61,0xce9b9b 57,0xc89191 57,0xc89191 58,0xca9393 60,0xcc9999 64,0xd1a3a3 64,0xd1a3a3 65,0xd3a5a5 67,0xd5aaaa 100,0xFFFFFF 100,0xFFFFFF 98,0xfdf9f9 71,0xdab5b5 84,0xebd6d6 100,0xFFFFFF 80,0xe6cccc 47,0xbc7777 45,0xb97272 44,0xb87070 43,0xb76d6d 43,0xb76d6d 42,0xb56b6b 41,0xb46868 41,0xb46868 40,0xb36666 39,0xb16363 38,0xb06060 37,0xaf5e5e 37,0xaf5e5e 36,0xae5b5b 45,0xb97272 36,0xae5b5b 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 42,0xb56b6b 25,0xa03f3f 23,0x9d3a3a 22,0x9c3838 20,0x993333 20,0x993333 19,0x983030 19,0x983030 19,0x983030 19,0x983030 20,0x993333 100,0xFFFFFF 41,0xb46868 100,0xFFFFFF 45,0xb97272 44,0xb87070 69,0xd8afaf 36,0xae5b5b 35,0xac5959 53,0xc38787 100,0xFFFFFF 43,0xb76d6d 18,0x972d2d 16,0x942828 15,0x932626 14,0x912323 14,0x912323 14,0x912323 14,0x912323 14,0x912323 13,0x902121 13,0x902121 13,0x902121 13,0x902121 13,0x902121 13,0x902121 13,0x902121 13,0x902121 13,0x902121 13,0x902121 13,0x902121 13,0x902121 13,0x902121 13,0x902121 13,0x902121 14,0x912323 14,0x912323 14,0x912323 14,0x912323 14,0x912323 15,0x932626 15,0x932626 15,0x932626 15,0x932626 16,0x942828 16,0x942828 16,0x942828 17,0x952b2b 17,0x952b2b 17,0x952b2b 18,0x972d2d 18,0x972d2d 19,0x983030 19,0x983030 19,0x983030 20,0x993333 21,0x9a3535 21,0x9a3535 22,0x9c3838 36,0xae5b5b 100,0xFFFFFF 38,0xb06060 37,0xaf5e5e 46,0xba7575 44,0xb87070 58,0xca9393 28,0xa34747 21,0x9a3535 20,0x993333 52,0xc28484 17,0x952b2b 14,0x912323 13,0x902121 12,0x8f1e1e 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 12,0x8f1e1e 13,0x902121 26,0xa14242 33,0xaa5454 17,0x952b2b 48,0xbd7a7a 100,0xFFFFFF 58,0xca9393 88,0xf0e0e0 22,0x9c3838 19,0x983030 20,0x993333 20,0x993333 20,0x993333 21,0x9a3535 23,0x9d3a3a 24,0x9e3d3d 25,0xa03f3f 100,0xFFFFFF 60,0xcc9999 45,0xb97272 70,0xd9b2b2 61,0xce9b9b 43,0xb76d6d 100,0xFFFFFF 64,0xd1a3a3 35,0xac5959 35,0xac5959 35,0xac5959 34,0xab5656 34,0xab5656 34,0xab5656 35,0xac5959 44,0xb87070 43,0xb76d6d 61,0xce9b9b 66,0xd4a8a8 55,0xc68c8c 56,0xc78e8e 77,0xe2c4c4 94,0xf8efef 95,0xf9f2f2 71,0xdab5b5 32,0xa85151 19,0x983030 16,0x942828 16,0x942828 15,0x932626 15,0x932626 15,0x932626 14,0x912323 14,0x912323 13,0x902121 13,0x902121 13,0x902121 13,0x902121 13,0x902121 13,0x902121 13,0x902121 14,0x912323 14,0x912323 14,0x912323 14,0x912323 15,0x932626 15,0x932626 17,0x952b2b 17,0x952b2b 19,0x983030 20,0x993333 21,0x9a3535 22,0x9c3838 23,0x9d3a3a 28,0xa34747 92,0xf5eaea 80,0xe6cccc 20,0x993333 17,0x952b2b 13,0x902121 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 12,0x8f1e1e 13,0x902121 14,0x912323 16,0x942828 23,0x9d3a3a 100,0xFFFFFF 33,0xaa5454 68,0xd7adad 55,0xc68c8c 53,0xc38787 65,0xd3a5a5 100,0xFFFFFF 100,0xFFFFFF 45,0xb97272 100,0xFFFFFF 53,0xc38787 26,0xa14242 25,0xa03f3f 100,0xFFFFFF 53,0xc38787 30,0xa64c4c 25,0xa03f3f 35,0xac5959 100,0xFFFFFF 81,0xe7cece 40,0xb36666 17,0x952b2b 11,0x8e1c1c 9,0x8b1616 8,0x8a1414 8,0x8a1414 8,0x8a1414 + 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 8,0x8a1414 10,0x8c1919 12,0x8f1e1e 84,0xebd6d6 42,0xb56b6b 33,0xaa5454 53,0xc38787 38,0xb06060 36,0xae5b5b 37,0xaf5e5e 29,0xa54949 47,0xbc7777 63,0xd0a0a0 19,0x983030 16,0x942828 16,0x942828 15,0x932626 14,0x912323 14,0x912323 14,0x912323 13,0x902121 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 13,0x902121 14,0x912323 13,0x902121 14,0x912323 18,0x972d2d 75,0xe0bfbf 32,0xa85151 34,0xab5656 28,0xa34747 68,0xd7adad 40,0xb36666 45,0xb97272 65,0xd3a5a5 42,0xb56b6b 53,0xc38787 43,0xb76d6d 37,0xaf5e5e 37,0xaf5e5e 37,0xaf5e5e 47,0xbc7777 34,0xab5656 91,0xf4e8e8 24,0x9e3d3d 18,0x972d2d 16,0x942828 16,0x942828 15,0x932626 14,0x912323 13,0x902121 12,0x8f1e1e 12,0x8f1e1e 11,0x8e1c1c 11,0x8e1c1c 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 10,0x8c1919 10,0x8c1919 11,0x8e1c1c 12,0x8f1e1e 81,0xe7cece 45,0xb97272 39,0xb16363 17,0x952b2b 16,0x942828 16,0x942828 20,0x993333 46,0xba7575 64,0xd1a3a3 36,0xae5b5b 26,0xa14242 29,0xa54949 91,0xf4e8e8 27,0xa24444 84,0xebd6d6 100,0xFFFFFF 98,0xfdf9f9 63,0xd0a0a0 49,0xbe7c7c 74,0xdebcbc 39,0xb16363 39,0xb16363 39,0xb16363 42,0xb56b6b 43,0xb76d6d 43,0xb76d6d 44,0xb87070 100,0xFFFFFF 49,0xbe7c7c 51,0xc18282 59,0xcb9696 88,0xf0e0e0 99,0xfefcfc 82,0xe8d1d1 70,0xd9b2b2 78,0xe3c6c6 56,0xc78e8e 56,0xc78e8e 56,0xc78e8e 56,0xc78e8e 56,0xc78e8e 58,0xca9393 97,0xfcf7f7 79,0xe5c9c9 67,0xd5aaaa 67,0xd5aaaa 100,0xFFFFFF 77,0xe2c4c4 83,0xead3d3 85,0xecd8d8 77,0xe2c4c4 74,0xdebcbc 87,0xefdddd 86,0xeedbdb 48,0xbd7a7a 45,0xb97272 44,0xb87070 43,0xb76d6d 42,0xb56b6b 42,0xb56b6b 41,0xb46868 41,0xb46868 41,0xb46868 40,0xb36666 40,0xb36666 49,0xbe7c7c 64,0xd1a3a3 100,0xFFFFFF 50,0xc07f7f 42,0xb56b6b 52,0xc28484 100,0xFFFFFF 100,0xFFFFFF 56,0xc78e8e 33,0xaa5454 31,0xa74f4f 24,0x9e3d3d 20,0x993333 19,0x983030 19,0x983030 19,0x983030 18,0x972d2d 18,0x972d2d 18,0x972d2d 20,0x993333 23,0x9d3a3a 57,0xc89191 56,0xc78e8e 100,0xFFFFFF 42,0xb56b6b 82,0xe8d1d1 45,0xb97272 49,0xbe7c7c 68,0xd7adad 29,0xa54949 28,0xa34747 16,0x942828 14,0x912323 14,0x912323 14,0x912323 14,0x912323 13,0x902121 13,0x902121 13,0x902121 13,0x902121 13,0x902121 13,0x902121 13,0x902121 13,0x902121 13,0x902121 13,0x902121 13,0x902121 13,0x902121 13,0x902121 13,0x902121 13,0x902121 13,0x902121 13,0x902121 14,0x912323 14,0x912323 14,0x912323 14,0x912323 14,0x912323 15,0x932626 15,0x932626 15,0x932626 15,0x932626 16,0x942828 16,0x942828 16,0x942828 17,0x952b2b 17,0x952b2b 18,0x972d2d 18,0x972d2d 18,0x972d2d 19,0x983030 19,0x983030 20,0x993333 20,0x993333 21,0x9a3535 21,0x9a3535 22,0x9c3838 24,0x9e3d3d 26,0xa14242 44,0xb87070 68,0xd7adad 60,0xcc9999 100,0xFFFFFF 100,0xFFFFFF 48,0xbd7a7a 20,0x993333 17,0x952b2b 16,0x942828 14,0x912323 14,0x912323 13,0x902121 12,0x8f1e1e 12,0x8f1e1e 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 12,0x8f1e1e 12,0x8f1e1e 13,0x902121 16,0x942828 27,0xa24444 31,0xa74f4f 79,0xe5c9c9 38,0xb06060 35,0xac5959 38,0xb06060 100,0xFFFFFF 23,0x9d3a3a 21,0x9a3535 21,0x9a3535 21,0x9a3535 22,0x9c3838 22,0x9c3838 23,0x9d3a3a 24,0x9e3d3d 26,0xa14242 28,0xa34747 32,0xa85151 37,0xaf5e5e 80,0xe6cccc 36,0xae5b5b 41,0xb46868 34,0xab5656 33,0xaa5454 33,0xaa5454 33,0xaa5454 33,0xaa5454 33,0xaa5454 34,0xab5656 34,0xab5656 36,0xae5b5b 39,0xb16363 100,0xFFFFFF 66,0xd4a8a8 67,0xd5aaaa 51,0xc18282 87,0xefdddd 58,0xca9393 55,0xc68c8c 35,0xac5959 57,0xc89191 18,0x972d2d 16,0x942828 15,0x932626 14,0x912323 14,0x912323 14,0x912323 13,0x902121 13,0x902121 13,0x902121 13,0x902121 13,0x902121 13,0x902121 13,0x902121 13,0x902121 13,0x902121 13,0x902121 14,0x912323 14,0x912323 14,0x912323 15,0x932626 15,0x932626 17,0x952b2b 19,0x983030 27,0xa24444 43,0xb76d6d 69,0xd8afaf 24,0x9e3d3d 24,0x9e3d3d 100,0xFFFFFF 71,0xdab5b5 85,0xecd8d8 18,0x972d2d 15,0x932626 13,0x902121 13,0x902121 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 13,0x902121 16,0x942828 19,0x983030 18,0x972d2d 19,0x983030 23,0x9d3a3a 56,0xc78e8e 100,0xFFFFFF 79,0xe5c9c9 49,0xbe7c7c 48,0xbd7a7a 63,0xd0a0a0 43,0xb76d6d 44,0xb87070 100,0xFFFFFF 100,0xFFFFFF 23,0x9d3a3a 25,0xa03f3f 54,0xc58989 20,0x993333 18,0x972d2d 22,0x9c3838 20,0x993333 21,0x9a3535 34,0xab5656 49,0xbe7c7c 60,0xcc9999 74,0xdebcbc 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 + 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 14,0x912323 29,0xa54949 24,0x9e3d3d 43,0xb76d6d 60,0xcc9999 82,0xe8d1d1 52,0xc28484 100,0xFFFFFF 52,0xc28484 27,0xa24444 24,0x9e3d3d 21,0x9a3535 18,0x972d2d 17,0x952b2b 16,0x942828 15,0x932626 14,0x912323 14,0x912323 14,0x912323 13,0x902121 13,0x902121 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 13,0x902121 17,0x952b2b 34,0xab5656 73,0xddbaba 16,0x942828 34,0xab5656 94,0xf8efef 47,0xbc7777 33,0xaa5454 40,0xb36666 51,0xc18282 55,0xc68c8c 54,0xc58989 63,0xd0a0a0 50,0xc07f7f 48,0xbd7a7a 42,0xb56b6b 40,0xb36666 40,0xb36666 34,0xab5656 31,0xa74f4f 28,0xa34747 48,0xbd7a7a 53,0xc38787 18,0x972d2d 16,0x942828 16,0x942828 14,0x912323 14,0x912323 13,0x902121 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 11,0x8e1c1c 11,0x8e1c1c 10,0x8c1919 10,0x8c1919 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 10,0x8c1919 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 10,0x8c1919 10,0x8c1919 9,0x8b1616 8,0x8a1414 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 10,0x8c1919 10,0x8c1919 10,0x8c1919 11,0x8e1c1c 14,0x912323 14,0x912323 15,0x932626 14,0x912323 14,0x912323 15,0x932626 18,0x972d2d 100,0xFFFFFF 48,0xbd7a7a 37,0xaf5e5e 100,0xFFFFFF 62,0xcf9e9e 33,0xaa5454 32,0xa85151 65,0xd3a5a5 67,0xd5aaaa 56,0xc78e8e 49,0xbe7c7c 44,0xb87070 42,0xb56b6b 40,0xb36666 39,0xb16363 39,0xb16363 40,0xb36666 41,0xb46868 41,0xb46868 42,0xb56b6b 45,0xb97272 45,0xb97272 46,0xba7575 49,0xbe7c7c 59,0xcb9696 58,0xca9393 57,0xc89191 100,0xFFFFFF 55,0xc68c8c 54,0xc58989 53,0xc38787 54,0xc58989 55,0xc68c8c 55,0xc68c8c 57,0xc89191 63,0xd0a0a0 100,0xFFFFFF 69,0xd8afaf 69,0xd8afaf 75,0xe0bfbf 100,0xFFFFFF 89,0xf1e2e2 100,0xFFFFFF 92,0xf5eaea 100,0xFFFFFF 100,0xFFFFFF 54,0xc58989 55,0xc68c8c 49,0xbe7c7c 43,0xb76d6d 42,0xb56b6b 42,0xb56b6b 42,0xb56b6b 41,0xb46868 41,0xb46868 41,0xb46868 42,0xb56b6b 100,0xFFFFFF 75,0xe0bfbf 100,0xFFFFFF 78,0xe3c6c6 51,0xc18282 48,0xbd7a7a 49,0xbe7c7c 59,0xcb9696 64,0xd1a3a3 39,0xb16363 36,0xae5b5b 44,0xb87070 23,0x9d3a3a 20,0x993333 19,0x983030 19,0x983030 18,0x972d2d 18,0x972d2d 18,0x972d2d 18,0x972d2d 18,0x972d2d 20,0x993333 35,0xac5959 65,0xd3a5a5 98,0xfdf9f9 52,0xc28484 100,0xFFFFFF 94,0xf8efef 97,0xfcf7f7 42,0xb56b6b 100,0xFFFFFF 17,0x952b2b 15,0x932626 14,0x912323 14,0x912323 14,0x912323 13,0x902121 13,0x902121 13,0x902121 13,0x902121 13,0x902121 13,0x902121 13,0x902121 13,0x902121 13,0x902121 13,0x902121 13,0x902121 13,0x902121 13,0x902121 13,0x902121 13,0x902121 13,0x902121 13,0x902121 13,0x902121 13,0x902121 14,0x912323 14,0x912323 14,0x912323 14,0x912323 14,0x912323 15,0x932626 15,0x932626 15,0x932626 16,0x942828 16,0x942828 16,0x942828 17,0x952b2b 17,0x952b2b 18,0x972d2d 18,0x972d2d 19,0x983030 20,0x993333 20,0x993333 20,0x993333 21,0x9a3535 21,0x9a3535 22,0x9c3838 22,0x9c3838 23,0x9d3a3a 25,0xa03f3f 31,0xa74f4f 100,0xFFFFFF 52,0xc28484 88,0xf0e0e0 100,0xFFFFFF 84,0xebd6d6 26,0xa14242 17,0x952b2b 15,0x932626 14,0x912323 13,0x902121 13,0x902121 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 13,0x902121 13,0x902121 16,0x942828 35,0xac5959 76,0xe1c1c1 33,0xaa5454 24,0x9e3d3d 25,0xa03f3f 28,0xa34747 57,0xc89191 29,0xa54949 22,0x9c3838 22,0x9c3838 22,0x9c3838 22,0x9c3838 22,0x9c3838 24,0x9e3d3d 24,0x9e3d3d 26,0xa14242 26,0xa14242 28,0xa34747 31,0xa74f4f 31,0xa74f4f 32,0xa85151 66,0xd4a8a8 33,0xaa5454 32,0xa85151 32,0xa85151 32,0xa85151 32,0xa85151 33,0xaa5454 33,0xaa5454 35,0xac5959 36,0xae5b5b 100,0xFFFFFF 50,0xc07f7f 86,0xeedbdb 88,0xf0e0e0 40,0xb36666 57,0xc89191 44,0xb87070 41,0xb46868 27,0xa24444 55,0xc68c8c 31,0xa74f4f 15,0x932626 14,0x912323 14,0x912323 14,0x912323 13,0x902121 13,0x902121 13,0x902121 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 13,0x902121 13,0x902121 13,0x902121 14,0x912323 14,0x912323 15,0x932626 16,0x942828 29,0xa54949 26,0xa14242 86,0xeedbdb 100,0xFFFFFF 32,0xa85151 64,0xd1a3a3 27,0xa24444 34,0xab5656 79,0xe5c9c9 24,0x9e3d3d 21,0x9a3535 14,0x912323 14,0x912323 13,0x902121 13,0x902121 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 13,0x902121 13,0x902121 14,0x912323 69,0xd8afaf 98,0xfdf9f9 41,0xb46868 22,0x9c3838 23,0x9d3a3a 25,0xa03f3f 35,0xac5959 65,0xd3a5a5 100,0xFFFFFF 40,0xb36666 36,0xae5b5b 93,0xf7eded 47,0xbc7777 95,0xf9f2f2 85,0xecd8d8 20,0x993333 19,0x983030 62,0xcf9e9e 17,0x952b2b 16,0x942828 16,0x942828 17,0x952b2b 17,0x952b2b 20,0x993333 36,0xae5b5b 100,0xFFFFFF 13,0x902121 11,0x8e1c1c 10,0x8c1919 10,0x8c1919 11,0x8e1c1c + 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 10,0x8c1919 12,0x8f1e1e 100,0xFFFFFF 38,0xb06060 96,0xfaf4f4 89,0xf1e2e2 100,0xFFFFFF 60,0xcc9999 62,0xcf9e9e 42,0xb56b6b 32,0xa85151 28,0xa34747 22,0x9c3838 19,0x983030 18,0x972d2d 17,0x952b2b 16,0x942828 15,0x932626 14,0x912323 14,0x912323 14,0x912323 13,0x902121 13,0x902121 13,0x902121 13,0x902121 13,0x902121 13,0x902121 14,0x912323 15,0x932626 19,0x983030 29,0xa54949 20,0x993333 21,0x9a3535 51,0xc18282 40,0xb36666 80,0xe6cccc 96,0xfaf4f4 100,0xFFFFFF 94,0xf8efef 65,0xd3a5a5 84,0xebd6d6 67,0xd5aaaa 100,0xFFFFFF 66,0xd4a8a8 48,0xbd7a7a 69,0xd8afaf 77,0xe2c4c4 31,0xa74f4f 27,0xa24444 24,0x9e3d3d 21,0x9a3535 18,0x972d2d 17,0x952b2b 16,0x942828 15,0x932626 14,0x912323 14,0x912323 13,0x902121 13,0x902121 12,0x8f1e1e 13,0x902121 14,0x912323 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 16,0x942828 17,0x952b2b 11,0x8e1c1c 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 11,0x8e1c1c 12,0x8f1e1e 13,0x902121 30,0xa64c4c 10,0x8c1919 9,0x8b1616 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 9,0x8b1616 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 13,0x902121 13,0x902121 14,0x912323 16,0x942828 23,0x9d3a3a 62,0xcf9e9e 65,0xd3a5a5 53,0xc38787 48,0xbd7a7a 36,0xae5b5b 46,0xba7575 44,0xb87070 51,0xc18282 51,0xc18282 48,0xbd7a7a 43,0xb76d6d 41,0xb46868 41,0xb46868 40,0xb36666 40,0xb36666 40,0xb36666 41,0xb46868 41,0xb46868 41,0xb46868 43,0xb76d6d 44,0xb87070 45,0xb97272 47,0xbc7777 48,0xbd7a7a 50,0xc07f7f 51,0xc18282 52,0xc28484 53,0xc38787 53,0xc38787 53,0xc38787 53,0xc38787 54,0xc58989 55,0xc68c8c 56,0xc78e8e 59,0xcb9696 100,0xFFFFFF 100,0xFFFFFF 78,0xe3c6c6 77,0xe2c4c4 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 90,0xf3e5e5 66,0xd4a8a8 49,0xbe7c7c 45,0xb97272 44,0xb87070 42,0xb56b6b 42,0xb56b6b 42,0xb56b6b 42,0xb56b6b 42,0xb56b6b 42,0xb56b6b 43,0xb76d6d 48,0xbd7a7a 53,0xc38787 95,0xf9f2f2 100,0xFFFFFF 80,0xe6cccc 87,0xefdddd 58,0xca9393 52,0xc28484 51,0xc18282 81,0xe7cece 55,0xc68c8c 30,0xa64c4c 26,0xa14242 22,0x9c3838 21,0x9a3535 19,0x983030 18,0x972d2d 18,0x972d2d 17,0x952b2b 17,0x952b2b 17,0x952b2b 17,0x952b2b 18,0x972d2d 19,0x983030 19,0x983030 22,0x9c3838 30,0xa64c4c 100,0xFFFFFF 26,0xa14242 21,0x9a3535 29,0xa54949 23,0x9d3a3a 16,0x942828 15,0x932626 14,0x912323 14,0x912323 13,0x902121 13,0x902121 13,0x902121 13,0x902121 13,0x902121 13,0x902121 13,0x902121 13,0x902121 13,0x902121 13,0x902121 13,0x902121 13,0x902121 13,0x902121 13,0x902121 13,0x902121 13,0x902121 13,0x902121 13,0x902121 13,0x902121 13,0x902121 13,0x902121 14,0x912323 14,0x912323 14,0x912323 14,0x912323 15,0x932626 15,0x932626 15,0x932626 16,0x942828 16,0x942828 16,0x942828 17,0x952b2b 18,0x972d2d 18,0x972d2d 19,0x983030 22,0x9c3838 21,0x9a3535 21,0x9a3535 22,0x9c3838 22,0x9c3838 22,0x9c3838 22,0x9c3838 23,0x9d3a3a 23,0x9d3a3a 26,0xa14242 32,0xa85151 33,0xaa5454 100,0xFFFFFF 61,0xce9b9b 75,0xe0bfbf 53,0xc38787 24,0x9e3d3d 17,0x952b2b 15,0x932626 14,0x912323 13,0x902121 13,0x902121 13,0x902121 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 13,0x902121 13,0x902121 16,0x942828 40,0xb36666 34,0xab5656 22,0x9c3838 21,0x9a3535 24,0x9e3d3d 48,0xbd7a7a 40,0xb36666 27,0xa24444 23,0x9d3a3a 22,0x9c3838 22,0x9c3838 22,0x9c3838 23,0x9d3a3a 24,0x9e3d3d 25,0xa03f3f 26,0xa14242 27,0xa24444 28,0xa34747 29,0xa54949 30,0xa64c4c 30,0xa64c4c 31,0xa74f4f 32,0xa85151 32,0xa85151 32,0xa85151 32,0xa85151 32,0xa85151 32,0xa85151 33,0xaa5454 36,0xae5b5b 38,0xb06060 48,0xbd7a7a 100,0xFFFFFF 49,0xbe7c7c 34,0xab5656 32,0xa85151 37,0xaf5e5e 49,0xbe7c7c 70,0xd9b2b2 59,0xcb9696 19,0x983030 17,0x952b2b 15,0x932626 14,0x912323 14,0x912323 13,0x902121 13,0x902121 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 13,0x902121 13,0x902121 13,0x902121 14,0x912323 15,0x932626 17,0x952b2b 29,0xa54949 53,0xc38787 43,0xb76d6d 27,0xa24444 28,0xa34747 34,0xab5656 100,0xFFFFFF 96,0xfaf4f4 91,0xf4e8e8 18,0x972d2d 16,0x942828 14,0x912323 14,0x912323 13,0x902121 13,0x902121 13,0x902121 13,0x902121 13,0x902121 13,0x902121 14,0x912323 15,0x932626 17,0x952b2b 22,0x9c3838 29,0xa54949 24,0x9e3d3d 24,0x9e3d3d 26,0xa14242 29,0xa54949 31,0xa74f4f 33,0xaa5454 33,0xaa5454 34,0xab5656 38,0xb06060 83,0xead3d3 99,0xfefcfc 52,0xc28484 18,0x972d2d 16,0x942828 15,0x932626 14,0x912323 14,0x912323 15,0x932626 15,0x932626 17,0x952b2b 19,0x983030 22,0x9c3838 47,0xbc7777 15,0x932626 12,0x8f1e1e 11,0x8e1c1c 11,0x8e1c1c 100,0xFFFFFF + 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 7,0x881111 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 39,0xb16363 10,0x8c1919 9,0x8b1616 9,0x8b1616 9,0x8b1616 10,0x8c1919 10,0x8c1919 13,0x902121 20,0x993333 74,0xdebcbc 100,0xFFFFFF 100,0xFFFFFF 95,0xf9f2f2 100,0xFFFFFF 51,0xc18282 45,0xb97272 81,0xe7cece 100,0xFFFFFF 46,0xba7575 23,0x9d3a3a 19,0x983030 20,0x993333 18,0x972d2d 16,0x942828 15,0x932626 14,0x912323 14,0x912323 14,0x912323 14,0x912323 14,0x912323 14,0x912323 14,0x912323 14,0x912323 14,0x912323 16,0x942828 43,0xb76d6d 26,0xa14242 22,0x9c3838 24,0x9e3d3d 43,0xb76d6d 44,0xb87070 57,0xc89191 64,0xd1a3a3 100,0xFFFFFF 79,0xe5c9c9 100,0xFFFFFF 83,0xead3d3 75,0xe0bfbf 70,0xd9b2b2 64,0xd1a3a3 57,0xc89191 73,0xddbaba 67,0xd5aaaa 43,0xb76d6d 31,0xa74f4f 30,0xa64c4c 100,0xFFFFFF 22,0x9c3838 19,0x983030 21,0x9a3535 19,0x983030 15,0x932626 15,0x932626 15,0x932626 17,0x952b2b 14,0x912323 15,0x932626 20,0x993333 16,0x942828 14,0x912323 16,0x942828 18,0x972d2d 51,0xc18282 13,0x902121 11,0x8e1c1c 11,0x8e1c1c 10,0x8c1919 11,0x8e1c1c 11,0x8e1c1c 15,0x932626 85,0xecd8d8 21,0x9a3535 16,0x942828 10,0x8c1919 9,0x8b1616 9,0x8b1616 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 10,0x8c1919 10,0x8c1919 10,0x8c1919 11,0x8e1c1c 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 13,0x902121 13,0x902121 16,0x942828 22,0x9c3838 57,0xc89191 100,0xFFFFFF 57,0xc89191 42,0xb56b6b 43,0xb76d6d 100,0xFFFFFF 59,0xcb9696 53,0xc38787 56,0xc78e8e 53,0xc38787 46,0xba7575 44,0xb87070 42,0xb56b6b 41,0xb46868 40,0xb36666 39,0xb16363 40,0xb36666 41,0xb46868 41,0xb46868 43,0xb76d6d 43,0xb76d6d 45,0xb97272 47,0xbc7777 48,0xbd7a7a 50,0xc07f7f 51,0xc18282 51,0xc18282 52,0xc28484 52,0xc28484 52,0xc28484 52,0xc28484 54,0xc58989 56,0xc78e8e 57,0xc89191 63,0xd0a0a0 100,0xFFFFFF 100,0xFFFFFF 81,0xe7cece 76,0xe1c1c1 90,0xf3e5e5 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 96,0xfaf4f4 86,0xeedbdb 82,0xe8d1d1 43,0xb76d6d 42,0xb56b6b 41,0xb46868 41,0xb46868 41,0xb46868 42,0xb56b6b 42,0xb56b6b 43,0xb76d6d 44,0xb87070 48,0xbd7a7a 67,0xd5aaaa 74,0xdebcbc 85,0xecd8d8 79,0xe5c9c9 67,0xd5aaaa 57,0xc89191 70,0xd9b2b2 76,0xe1c1c1 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 39,0xb16363 21,0x9a3535 20,0x993333 18,0x972d2d 17,0x952b2b 17,0x952b2b 17,0x952b2b 16,0x942828 16,0x942828 16,0x942828 16,0x942828 17,0x952b2b 68,0xd7adad 20,0x993333 18,0x972d2d 17,0x952b2b 18,0x972d2d 100,0xFFFFFF 76,0xe1c1c1 15,0x932626 14,0x912323 14,0x912323 13,0x902121 13,0x902121 13,0x902121 13,0x902121 13,0x902121 13,0x902121 13,0x902121 13,0x902121 13,0x902121 13,0x902121 13,0x902121 13,0x902121 13,0x902121 13,0x902121 13,0x902121 13,0x902121 13,0x902121 13,0x902121 13,0x902121 13,0x902121 13,0x902121 13,0x902121 14,0x912323 14,0x912323 14,0x912323 14,0x912323 14,0x912323 15,0x932626 15,0x932626 16,0x942828 16,0x942828 17,0x952b2b 22,0x9c3838 20,0x993333 20,0x993333 22,0x9c3838 57,0xc89191 24,0x9e3d3d 33,0xaa5454 25,0xa03f3f 23,0x9d3a3a 23,0x9d3a3a 23,0x9d3a3a 23,0x9d3a3a 24,0x9e3d3d 27,0xa24444 91,0xf4e8e8 38,0xb06060 42,0xb56b6b 45,0xb97272 79,0xe5c9c9 40,0xb36666 68,0xd7adad 17,0x952b2b 15,0x932626 14,0x912323 13,0x902121 13,0x902121 13,0x902121 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 13,0x902121 13,0x902121 13,0x902121 15,0x932626 16,0x942828 17,0x952b2b 18,0x972d2d 20,0x993333 32,0xa85151 36,0xae5b5b 28,0xa34747 25,0xa03f3f 24,0x9e3d3d 23,0x9d3a3a 23,0x9d3a3a 23,0x9d3a3a 25,0xa03f3f 27,0xa24444 37,0xaf5e5e 27,0xa24444 28,0xa34747 28,0xa34747 29,0xa54949 30,0xa64c4c 30,0xa64c4c 31,0xa74f4f 31,0xa74f4f 31,0xa74f4f 31,0xa74f4f 31,0xa74f4f 31,0xa74f4f 31,0xa74f4f 34,0xab5656 79,0xe5c9c9 58,0xca9393 100,0xFFFFFF 30,0xa64c4c 28,0xa34747 27,0xa24444 73,0xddbaba 62,0xcf9e9e 100,0xFFFFFF 100,0xFFFFFF 59,0xcb9696 18,0x972d2d 16,0x942828 15,0x932626 14,0x912323 13,0x902121 13,0x902121 13,0x902121 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 13,0x902121 13,0x902121 14,0x912323 19,0x983030 32,0xa85151 99,0xfefcfc 86,0xeedbdb 38,0xb06060 25,0xa03f3f 24,0x9e3d3d 31,0xa74f4f 100,0xFFFFFF 100,0xFFFFFF 19,0x983030 17,0x952b2b 16,0x942828 15,0x932626 14,0x912323 14,0x912323 13,0x902121 13,0x902121 13,0x902121 13,0x902121 13,0x902121 14,0x912323 15,0x932626 17,0x952b2b 41,0xb46868 100,0xFFFFFF 28,0xa34747 28,0xa34747 44,0xb87070 31,0xa74f4f 31,0xa74f4f 32,0xa85151 31,0xa74f4f 33,0xaa5454 37,0xaf5e5e 28,0xa34747 99,0xfefcfc 100,0xFFFFFF 16,0x942828 15,0x932626 13,0x902121 13,0x902121 13,0x902121 14,0x912323 15,0x932626 19,0x983030 84,0xebd6d6 25,0xa03f3f 100,0xFFFFFF 15,0x932626 13,0x902121 12,0x8f1e1e 13,0x902121 19,0x983030 + 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 7,0x881111 8,0x8a1414 100,0xFFFFFF 44,0xb87070 11,0x8e1c1c 24,0x9e3d3d 20,0x993333 14,0x912323 14,0x912323 11,0x8e1c1c 10,0x8c1919 10,0x8c1919 11,0x8e1c1c 13,0x902121 29,0xa54949 43,0xb76d6d 100,0xFFFFFF 99,0xfefcfc 100,0xFFFFFF 67,0xd5aaaa 100,0xFFFFFF 46,0xba7575 53,0xc38787 64,0xd1a3a3 48,0xbd7a7a 100,0xFFFFFF 23,0x9d3a3a 38,0xb06060 21,0x9a3535 17,0x952b2b 16,0x942828 15,0x932626 15,0x932626 15,0x932626 16,0x942828 32,0xa85151 16,0x942828 15,0x932626 15,0x932626 16,0x942828 29,0xa54949 60,0xcc9999 33,0xaa5454 28,0xa34747 29,0xa54949 74,0xdebcbc 52,0xc28484 97,0xfcf7f7 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 71,0xdab5b5 60,0xcc9999 61,0xce9b9b 67,0xd5aaaa 43,0xb76d6d 54,0xc58989 83,0xead3d3 94,0xf8efef 32,0xa85151 26,0xa14242 25,0xa03f3f 26,0xa14242 17,0x952b2b 17,0x952b2b 19,0x983030 50,0xc07f7f 18,0x972d2d 49,0xbe7c7c 26,0xa14242 20,0x993333 70,0xd9b2b2 79,0xe5c9c9 23,0x9d3a3a 20,0x993333 14,0x912323 14,0x912323 14,0x912323 13,0x902121 12,0x8f1e1e 13,0x902121 16,0x942828 55,0xc68c8c 43,0xb76d6d 17,0x952b2b 11,0x8e1c1c 9,0x8b1616 9,0x8b1616 9,0x8b1616 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 10,0x8c1919 10,0x8c1919 10,0x8c1919 11,0x8e1c1c 11,0x8e1c1c 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 13,0x902121 14,0x912323 15,0x932626 21,0x9a3535 33,0xaa5454 40,0xb36666 42,0xb56b6b 52,0xc28484 61,0xce9b9b 64,0xd1a3a3 70,0xd9b2b2 100,0xFFFFFF 100,0xFFFFFF 57,0xc89191 47,0xbc7777 46,0xba7575 48,0xbd7a7a 39,0xb16363 39,0xb16363 39,0xb16363 41,0xb46868 42,0xb56b6b 43,0xb76d6d 44,0xb87070 49,0xbe7c7c 57,0xc89191 52,0xc28484 51,0xc18282 51,0xc18282 51,0xc18282 52,0xc28484 52,0xc28484 51,0xc18282 51,0xc18282 53,0xc38787 99,0xfefcfc 64,0xd1a3a3 79,0xe5c9c9 100,0xFFFFFF 100,0xFFFFFF 79,0xe5c9c9 71,0xdab5b5 89,0xf1e2e2 94,0xf8efef 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 53,0xc38787 51,0xc18282 42,0xb56b6b 41,0xb46868 41,0xb46868 41,0xb46868 41,0xb46868 42,0xb56b6b 42,0xb56b6b 43,0xb76d6d 44,0xb87070 45,0xb97272 100,0xFFFFFF 61,0xce9b9b 100,0xFFFFFF 65,0xd3a5a5 63,0xd0a0a0 100,0xFFFFFF 78,0xe3c6c6 72,0xdcb7b7 68,0xd7adad 61,0xce9b9b 51,0xc18282 56,0xc78e8e 39,0xb16363 28,0xa34747 35,0xac5959 18,0x972d2d 17,0x952b2b 17,0x952b2b 16,0x942828 16,0x942828 16,0x942828 16,0x942828 16,0x942828 16,0x942828 16,0x942828 16,0x942828 16,0x942828 16,0x942828 16,0x942828 18,0x972d2d 24,0x9e3d3d 15,0x932626 14,0x912323 13,0x902121 13,0x902121 13,0x902121 13,0x902121 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 13,0x902121 13,0x902121 13,0x902121 13,0x902121 13,0x902121 13,0x902121 13,0x902121 13,0x902121 13,0x902121 14,0x912323 14,0x912323 14,0x912323 14,0x912323 14,0x912323 15,0x932626 16,0x942828 16,0x942828 17,0x952b2b 18,0x972d2d 21,0x9a3535 35,0xac5959 24,0x9e3d3d 85,0xecd8d8 81,0xe7cece 66,0xd4a8a8 90,0xf3e5e5 100,0xFFFFFF 32,0xa85151 25,0xa03f3f 24,0x9e3d3d 24,0x9e3d3d 25,0xa03f3f 27,0xa24444 100,0xFFFFFF 65,0xd3a5a5 49,0xbe7c7c 100,0xFFFFFF 33,0xaa5454 24,0x9e3d3d 100,0xFFFFFF 100,0xFFFFFF 15,0x932626 14,0x912323 13,0x902121 13,0x902121 13,0x902121 13,0x902121 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 13,0x902121 13,0x902121 14,0x912323 14,0x912323 15,0x932626 16,0x942828 17,0x952b2b 19,0x983030 59,0xcb9696 38,0xb06060 28,0xa34747 26,0xa14242 25,0xa03f3f 24,0x9e3d3d 24,0x9e3d3d 25,0xa03f3f 28,0xa34747 47,0xbc7777 54,0xc58989 39,0xb16363 30,0xa64c4c 29,0xa54949 30,0xa64c4c 30,0xa64c4c 30,0xa64c4c 30,0xa64c4c 31,0xa74f4f 31,0xa74f4f 31,0xa74f4f 30,0xa64c4c 30,0xa64c4c 30,0xa64c4c 32,0xa85151 60,0xcc9999 39,0xb16363 34,0xab5656 28,0xa34747 26,0xa14242 25,0xa03f3f 26,0xa14242 27,0xa24444 46,0xba7575 66,0xd4a8a8 33,0xaa5454 18,0x972d2d 16,0x942828 15,0x932626 14,0x912323 13,0x902121 13,0x902121 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 13,0x902121 13,0x902121 13,0x902121 16,0x942828 100,0xFFFFFF 56,0xc78e8e 44,0xb87070 100,0xFFFFFF 24,0x9e3d3d 22,0x9c3838 21,0x9a3535 20,0x993333 19,0x983030 18,0x972d2d 16,0x942828 16,0x942828 15,0x932626 15,0x932626 14,0x912323 14,0x912323 14,0x912323 14,0x912323 14,0x912323 14,0x912323 15,0x932626 16,0x942828 72,0xdcb7b7 74,0xdebcbc 43,0xb76d6d 46,0xba7575 59,0xcb9696 37,0xaf5e5e 33,0xaa5454 33,0xaa5454 32,0xa85151 31,0xa74f4f 28,0xa34747 26,0xa14242 24,0x9e3d3d 27,0xa24444 22,0x9c3838 16,0x942828 14,0x912323 13,0x902121 13,0x902121 13,0x902121 13,0x902121 15,0x932626 32,0xa85151 26,0xa14242 72,0xdcb7b7 20,0x993333 15,0x932626 14,0x912323 14,0x912323 18,0x972d2d 28,0xa34747 + 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 7,0x881111 8,0x8a1414 11,0x8e1c1c 20,0x993333 24,0x9e3d3d 92,0xf5eaea 39,0xb16363 85,0xecd8d8 24,0x9e3d3d 13,0x902121 11,0x8e1c1c 11,0x8e1c1c 12,0x8f1e1e 13,0x902121 20,0x993333 26,0xa14242 100,0xFFFFFF 97,0xfcf7f7 62,0xcf9e9e 91,0xf4e8e8 73,0xddbaba 43,0xb76d6d 96,0xfaf4f4 100,0xFFFFFF 55,0xc68c8c 31,0xa74f4f 37,0xaf5e5e 100,0xFFFFFF 22,0x9c3838 17,0x952b2b 16,0x942828 16,0x942828 16,0x942828 17,0x952b2b 34,0xab5656 43,0xb76d6d 29,0xa54949 17,0x952b2b 16,0x942828 20,0x993333 59,0xcb9696 82,0xe8d1d1 54,0xc58989 51,0xc18282 35,0xac5959 46,0xba7575 56,0xc78e8e 73,0xddbaba 83,0xead3d3 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 86,0xeedbdb 77,0xe2c4c4 100,0xFFFFFF 53,0xc38787 49,0xbe7c7c 46,0xba7575 62,0xcf9e9e 100,0xFFFFFF 65,0xd3a5a5 54,0xc58989 34,0xab5656 39,0xb16363 24,0x9e3d3d 20,0x993333 49,0xbe7c7c 50,0xc07f7f 25,0xa03f3f 25,0xa03f3f 70,0xd9b2b2 35,0xac5959 52,0xc28484 42,0xb56b6b 100,0xFFFFFF 26,0xa14242 19,0x983030 74,0xdebcbc 57,0xc89191 34,0xab5656 22,0x9c3838 33,0xaa5454 16,0x942828 16,0x942828 23,0x9d3a3a 67,0xd5aaaa 41,0xb46868 13,0x902121 10,0x8c1919 9,0x8b1616 9,0x8b1616 9,0x8b1616 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 11,0x8e1c1c 11,0x8e1c1c 12,0x8f1e1e 12,0x8f1e1e 13,0x902121 14,0x912323 15,0x932626 18,0x972d2d 21,0x9a3535 33,0xaa5454 74,0xdebcbc 88,0xf0e0e0 76,0xe1c1c1 85,0xecd8d8 81,0xe7cece 74,0xdebcbc 69,0xd8afaf 73,0xddbaba 67,0xd5aaaa 63,0xd0a0a0 100,0xFFFFFF 39,0xb16363 38,0xb06060 39,0xb16363 61,0xce9b9b 45,0xb97272 44,0xb87070 45,0xb97272 48,0xbd7a7a 55,0xc68c8c 100,0xFFFFFF 53,0xc38787 52,0xc28484 52,0xc28484 52,0xc28484 51,0xc18282 51,0xc18282 50,0xc07f7f 51,0xc18282 98,0xfdf9f9 54,0xc58989 49,0xbe7c7c 100,0xFFFFFF 51,0xc18282 55,0xc68c8c 60,0xcc9999 81,0xe7cece 75,0xe0bfbf 90,0xf3e5e5 73,0xddbaba 92,0xf5eaea 76,0xe1c1c1 41,0xb46868 40,0xb36666 40,0xb36666 40,0xb36666 41,0xb46868 41,0xb46868 42,0xb56b6b 42,0xb56b6b 43,0xb76d6d 44,0xb87070 46,0xba7575 50,0xc07f7f 53,0xc38787 58,0xca9393 64,0xd1a3a3 65,0xd3a5a5 100,0xFFFFFF 87,0xefdddd 100,0xFFFFFF 98,0xfdf9f9 84,0xebd6d6 94,0xf8efef 41,0xb46868 29,0xa54949 24,0x9e3d3d 20,0x993333 18,0x972d2d 17,0x952b2b 16,0x942828 16,0x942828 16,0x942828 15,0x932626 15,0x932626 15,0x932626 15,0x932626 14,0x912323 14,0x912323 14,0x912323 14,0x912323 15,0x932626 15,0x932626 14,0x912323 13,0x902121 13,0x902121 13,0x902121 13,0x902121 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 13,0x902121 13,0x902121 13,0x902121 13,0x902121 13,0x902121 13,0x902121 13,0x902121 13,0x902121 14,0x912323 14,0x912323 14,0x912323 14,0x912323 15,0x932626 16,0x942828 17,0x952b2b 18,0x972d2d 18,0x972d2d 24,0x9e3d3d 49,0xbe7c7c 36,0xae5b5b 81,0xe7cece 78,0xe3c6c6 88,0xf0e0e0 40,0xb36666 100,0xFFFFFF 65,0xd3a5a5 34,0xab5656 26,0xa14242 25,0xa03f3f 26,0xa14242 38,0xb06060 33,0xaa5454 49,0xbe7c7c 75,0xe0bfbf 100,0xFFFFFF 27,0xa24444 20,0x993333 90,0xf3e5e5 18,0x972d2d 15,0x932626 14,0x912323 13,0x902121 13,0x902121 13,0x902121 13,0x902121 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 13,0x902121 13,0x902121 13,0x902121 14,0x912323 14,0x912323 15,0x932626 16,0x942828 17,0x952b2b 21,0x9a3535 57,0xc89191 56,0xc78e8e 47,0xbc7777 28,0xa34747 27,0xa24444 26,0xa14242 25,0xa03f3f 26,0xa14242 28,0xa34747 33,0xaa5454 37,0xaf5e5e 52,0xc28484 35,0xac5959 31,0xa74f4f 30,0xa64c4c 30,0xa64c4c 30,0xa64c4c 31,0xa74f4f 31,0xa74f4f 31,0xa74f4f 30,0xa64c4c 30,0xa64c4c 30,0xa64c4c 29,0xa54949 29,0xa54949 34,0xab5656 77,0xe2c4c4 100,0xFFFFFF 27,0xa24444 24,0x9e3d3d 24,0x9e3d3d 24,0x9e3d3d 25,0xa03f3f 27,0xa24444 97,0xfcf7f7 24,0x9e3d3d 18,0x972d2d 17,0x952b2b 15,0x932626 14,0x912323 13,0x902121 13,0x902121 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 13,0x902121 14,0x912323 15,0x932626 36,0xae5b5b 100,0xFFFFFF 54,0xc58989 69,0xd8afaf 24,0x9e3d3d 21,0x9a3535 20,0x993333 19,0x983030 18,0x972d2d 17,0x952b2b 17,0x952b2b 16,0x942828 15,0x932626 15,0x932626 15,0x932626 15,0x932626 14,0x912323 15,0x932626 15,0x932626 16,0x942828 16,0x942828 17,0x952b2b 25,0xa03f3f 73,0xddbaba 100,0xFFFFFF 55,0xc68c8c 64,0xd1a3a3 38,0xb06060 35,0xac5959 35,0xac5959 37,0xaf5e5e 100,0xFFFFFF 31,0xa74f4f 25,0xa03f3f 22,0x9c3838 82,0xe8d1d1 60,0xcc9999 58,0xca9393 13,0x902121 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 17,0x952b2b 38,0xb06060 82,0xe8d1d1 20,0x993333 18,0x972d2d 16,0x942828 15,0x932626 16,0x942828 20,0x993333 47,0xbc7777 + 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 8,0x8a1414 11,0x8e1c1c 35,0xac5959 100,0xFFFFFF 36,0xae5b5b 25,0xa03f3f 24,0x9e3d3d 44,0xb87070 23,0x9d3a3a 13,0x902121 13,0x902121 13,0x902121 14,0x912323 18,0x972d2d 100,0xFFFFFF 51,0xc18282 51,0xc18282 65,0xd3a5a5 47,0xbc7777 43,0xb76d6d 38,0xb06060 40,0xb36666 61,0xce9b9b 29,0xa54949 28,0xa34747 29,0xa54949 29,0xa54949 21,0x9a3535 18,0x972d2d 18,0x972d2d 17,0x952b2b 18,0x972d2d 18,0x972d2d 20,0x993333 24,0x9e3d3d 40,0xb36666 20,0x993333 18,0x972d2d 21,0x9a3535 61,0xce9b9b 87,0xefdddd 61,0xce9b9b 43,0xb76d6d 43,0xb76d6d 100,0xFFFFFF 64,0xd1a3a3 92,0xf5eaea 88,0xf0e0e0 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 80,0xe6cccc 100,0xFFFFFF 94,0xf8efef 50,0xc07f7f 47,0xbc7777 47,0xbc7777 51,0xc18282 100,0xFFFFFF 34,0xab5656 28,0xa34747 26,0xa14242 24,0x9e3d3d 48,0xbd7a7a 81,0xe7cece 56,0xc78e8e 38,0xb06060 100,0xFFFFFF 46,0xba7575 100,0xFFFFFF 54,0xc58989 91,0xf4e8e8 100,0xFFFFFF 100,0xFFFFFF 32,0xa85151 63,0xd0a0a0 94,0xf8efef 55,0xc68c8c 46,0xba7575 100,0xFFFFFF 74,0xdebcbc 21,0x9a3535 21,0x9a3535 49,0xbe7c7c 21,0x9a3535 14,0x912323 10,0x8c1919 9,0x8b1616 9,0x8b1616 9,0x8b1616 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 12,0x8f1e1e 13,0x902121 14,0x912323 19,0x983030 49,0xbe7c7c 23,0x9d3a3a 30,0xa64c4c 42,0xb56b6b 59,0xcb9696 84,0xebd6d6 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 70,0xd9b2b2 61,0xce9b9b 75,0xe0bfbf 100,0xFFFFFF 66,0xd4a8a8 37,0xaf5e5e 36,0xae5b5b 41,0xb46868 100,0xFFFFFF 72,0xdcb7b7 47,0xbc7777 48,0xbd7a7a 80,0xe6cccc 69,0xd8afaf 57,0xc89191 54,0xc58989 53,0xc38787 53,0xc38787 54,0xc58989 53,0xc38787 51,0xc18282 49,0xbe7c7c 48,0xbd7a7a 63,0xd0a0a0 57,0xc89191 47,0xbc7777 47,0xbc7777 48,0xbd7a7a 77,0xe2c4c4 69,0xd8afaf 67,0xd5aaaa 60,0xcc9999 54,0xc58989 100,0xFFFFFF 44,0xb87070 58,0xca9393 39,0xb16363 39,0xb16363 39,0xb16363 40,0xb36666 41,0xb46868 41,0xb46868 42,0xb56b6b 43,0xb76d6d 43,0xb76d6d 44,0xb87070 55,0xc68c8c 56,0xc78e8e 58,0xca9393 59,0xcb9696 69,0xd8afaf 68,0xd7adad 93,0xf7eded 90,0xf3e5e5 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 58,0xca9393 41,0xb46868 78,0xe3c6c6 20,0x993333 18,0x972d2d 17,0x952b2b 16,0x942828 15,0x932626 15,0x932626 15,0x932626 15,0x932626 14,0x912323 14,0x912323 14,0x912323 14,0x912323 14,0x912323 14,0x912323 14,0x912323 14,0x912323 13,0x902121 13,0x902121 13,0x902121 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 13,0x902121 13,0x902121 13,0x902121 13,0x902121 13,0x902121 13,0x902121 14,0x912323 14,0x912323 14,0x912323 14,0x912323 15,0x932626 18,0x972d2d 24,0x9e3d3d 19,0x983030 20,0x993333 52,0xc28484 100,0xFFFFFF 50,0xc07f7f 50,0xc07f7f 100,0xFFFFFF 100,0xFFFFFF 31,0xa74f4f 31,0xa74f4f 35,0xac5959 81,0xe7cece 28,0xa34747 27,0xa24444 28,0xa34747 33,0xaa5454 40,0xb36666 100,0xFFFFFF 87,0xefdddd 83,0xead3d3 62,0xcf9e9e 18,0x972d2d 17,0x952b2b 16,0x942828 15,0x932626 14,0x912323 13,0x902121 13,0x902121 13,0x902121 13,0x902121 13,0x902121 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 13,0x902121 13,0x902121 13,0x902121 14,0x912323 14,0x912323 15,0x932626 16,0x942828 17,0x952b2b 24,0x9e3d3d 57,0xc89191 100,0xFFFFFF 82,0xe8d1d1 100,0xFFFFFF 38,0xb06060 28,0xa34747 27,0xa24444 28,0xa34747 29,0xa54949 36,0xae5b5b 74,0xdebcbc 48,0xbd7a7a 37,0xaf5e5e 32,0xa85151 31,0xa74f4f 31,0xa74f4f 31,0xa74f4f 31,0xa74f4f 31,0xa74f4f 31,0xa74f4f 30,0xa64c4c 30,0xa64c4c 30,0xa64c4c 29,0xa54949 28,0xa34747 27,0xa24444 27,0xa24444 25,0xa03f3f 24,0x9e3d3d 23,0x9d3a3a 23,0x9d3a3a 23,0x9d3a3a 25,0xa03f3f 40,0xb36666 35,0xac5959 22,0x9c3838 20,0x993333 67,0xd5aaaa 22,0x9c3838 14,0x912323 13,0x902121 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 12,0x8f1e1e 13,0x902121 14,0x912323 16,0x942828 19,0x983030 44,0xb87070 42,0xb56b6b 34,0xab5656 28,0xa34747 22,0x9c3838 20,0x993333 19,0x983030 18,0x972d2d 17,0x952b2b 17,0x952b2b 16,0x942828 16,0x942828 15,0x932626 15,0x932626 15,0x932626 15,0x932626 16,0x942828 66,0xd4a8a8 41,0xb46868 19,0x983030 19,0x983030 28,0xa34747 100,0xFFFFFF 100,0xFFFFFF 63,0xd0a0a0 45,0xb97272 40,0xb36666 39,0xb16363 65,0xd3a5a5 46,0xba7575 89,0xf1e2e2 70,0xd9b2b2 58,0xca9393 22,0x9c3838 18,0x972d2d 15,0x932626 13,0x902121 12,0x8f1e1e 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 12,0x8f1e1e 14,0x912323 52,0xc28484 35,0xac5959 23,0x9d3a3a 19,0x983030 22,0x9c3838 18,0x972d2d 100,0xFFFFFF 24,0x9e3d3d 45,0xb97272 + 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 8,0x8a1414 17,0x952b2b 49,0xbe7c7c 79,0xe5c9c9 17,0x952b2b 17,0x952b2b 19,0x983030 23,0x9d3a3a 75,0xe0bfbf 15,0x932626 14,0x912323 14,0x912323 14,0x912323 16,0x942828 31,0xa74f4f 31,0xa74f4f 100,0xFFFFFF 100,0xFFFFFF 77,0xe2c4c4 37,0xaf5e5e 36,0xae5b5b 50,0xc07f7f 42,0xb56b6b 29,0xa54949 26,0xa14242 25,0xa03f3f 23,0x9d3a3a 21,0x9a3535 20,0x993333 23,0x9d3a3a 23,0x9d3a3a 22,0x9c3838 50,0xc07f7f 55,0xc68c8c 76,0xe1c1c1 36,0xae5b5b 23,0x9d3a3a 20,0x993333 22,0x9c3838 48,0xbd7a7a 76,0xe1c1c1 100,0xFFFFFF 42,0xb56b6b 45,0xb97272 55,0xc68c8c 100,0xFFFFFF 71,0xdab5b5 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 74,0xdebcbc 77,0xe2c4c4 64,0xd1a3a3 100,0xFFFFFF 47,0xbc7777 45,0xb97272 49,0xbe7c7c 48,0xbd7a7a 100,0xFFFFFF 30,0xa64c4c 26,0xa14242 26,0xa14242 32,0xa85151 41,0xb46868 45,0xb97272 88,0xf0e0e0 60,0xcc9999 92,0xf5eaea 89,0xf1e2e2 78,0xe3c6c6 100,0xFFFFFF 56,0xc78e8e 50,0xc07f7f 42,0xb56b6b 55,0xc68c8c 46,0xba7575 65,0xd3a5a5 47,0xbc7777 22,0x9c3838 24,0x9e3d3d 27,0xa24444 28,0xa34747 41,0xb46868 42,0xb56b6b 12,0x8f1e1e 11,0x8e1c1c 10,0x8c1919 9,0x8b1616 9,0x8b1616 9,0x8b1616 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 12,0x8f1e1e 15,0x932626 42,0xb56b6b 22,0x9c3838 33,0xaa5454 99,0xfefcfc 43,0xb76d6d 93,0xf7eded 99,0xfefcfc 100,0xFFFFFF 100,0xFFFFFF 87,0xefdddd 100,0xFFFFFF 59,0xcb9696 82,0xe8d1d1 100,0xFFFFFF 46,0xba7575 35,0xac5959 34,0xab5656 43,0xb76d6d 48,0xbd7a7a 46,0xba7575 100,0xFFFFFF 57,0xc89191 100,0xFFFFFF 100,0xFFFFFF 58,0xca9393 55,0xc68c8c 55,0xc68c8c 55,0xc68c8c 58,0xca9393 59,0xcb9696 80,0xe6cccc 49,0xbe7c7c 47,0xbc7777 45,0xb97272 45,0xb97272 44,0xb87070 45,0xb97272 46,0xba7575 49,0xbe7c7c 100,0xFFFFFF 100,0xFFFFFF 70,0xd9b2b2 46,0xba7575 51,0xc18282 39,0xb16363 38,0xb06060 38,0xb06060 38,0xb06060 39,0xb16363 40,0xb36666 41,0xb46868 42,0xb56b6b 43,0xb76d6d 43,0xb76d6d 44,0xb87070 45,0xb97272 46,0xba7575 49,0xbe7c7c 100,0xFFFFFF 79,0xe5c9c9 82,0xe8d1d1 74,0xdebcbc 100,0xFFFFFF 99,0xfefcfc 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 68,0xd7adad 52,0xc28484 41,0xb46868 24,0x9e3d3d 21,0x9a3535 17,0x952b2b 16,0x942828 15,0x932626 15,0x932626 15,0x932626 14,0x912323 14,0x912323 14,0x912323 14,0x912323 14,0x912323 14,0x912323 13,0x902121 13,0x902121 13,0x902121 13,0x902121 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 13,0x902121 13,0x902121 13,0x902121 13,0x902121 14,0x912323 14,0x912323 14,0x912323 14,0x912323 15,0x932626 18,0x972d2d 26,0xa14242 30,0xa64c4c 24,0x9e3d3d 100,0xFFFFFF 100,0xFFFFFF 76,0xe1c1c1 37,0xaf5e5e 34,0xab5656 28,0xa34747 28,0xa34747 30,0xa64c4c 42,0xb56b6b 100,0xFFFFFF 29,0xa54949 29,0xa54949 63,0xd0a0a0 100,0xFFFFFF 56,0xc78e8e 55,0xc68c8c 54,0xc58989 79,0xe5c9c9 21,0x9a3535 17,0x952b2b 16,0x942828 15,0x932626 15,0x932626 14,0x912323 13,0x902121 13,0x902121 13,0x902121 13,0x902121 13,0x902121 13,0x902121 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 13,0x902121 13,0x902121 13,0x902121 14,0x912323 14,0x912323 14,0x912323 15,0x932626 16,0x942828 18,0x972d2d 22,0x9c3838 100,0xFFFFFF 81,0xe7cece 55,0xc68c8c 39,0xb16363 35,0xac5959 30,0xa64c4c 79,0xe5c9c9 38,0xb06060 100,0xFFFFFF 78,0xe3c6c6 39,0xb16363 42,0xb56b6b 34,0xab5656 32,0xa85151 32,0xa85151 32,0xa85151 32,0xa85151 32,0xa85151 32,0xa85151 32,0xa85151 31,0xa74f4f 30,0xa64c4c 30,0xa64c4c 28,0xa34747 27,0xa24444 26,0xa14242 25,0xa03f3f 24,0x9e3d3d 23,0x9d3a3a 22,0x9c3838 22,0x9c3838 22,0x9c3838 24,0x9e3d3d 100,0xFFFFFF 28,0xa34747 24,0x9e3d3d 27,0xa24444 69,0xd8afaf 57,0xc89191 15,0x932626 13,0x902121 12,0x8f1e1e 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 12,0x8f1e1e 15,0x932626 24,0x9e3d3d 25,0xa03f3f 61,0xce9b9b 63,0xd0a0a0 43,0xb76d6d 62,0xcf9e9e 24,0x9e3d3d 23,0x9d3a3a 19,0x983030 19,0x983030 18,0x972d2d 17,0x952b2b 17,0x952b2b 16,0x942828 16,0x942828 16,0x942828 16,0x942828 16,0x942828 17,0x952b2b 21,0x9a3535 26,0xa14242 54,0xc58989 21,0x9a3535 22,0x9c3838 100,0xFFFFFF 51,0xc18282 48,0xbd7a7a 44,0xb87070 45,0xb97272 100,0xFFFFFF 100,0xFFFFFF 52,0xc28484 55,0xc68c8c 55,0xc68c8c 35,0xac5959 57,0xc89191 50,0xc07f7f 14,0x912323 12,0x8f1e1e 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 10,0x8c1919 11,0x8e1c1c 13,0x902121 66,0xd4a8a8 88,0xf0e0e0 52,0xc28484 100,0xFFFFFF 30,0xa64c4c 100,0xFFFFFF 96,0xfaf4f4 30,0xa64c4c 60,0xcc9999 + 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 9,0x8b1616 10,0x8c1919 12,0x8f1e1e 13,0x902121 15,0x932626 96,0xfaf4f4 32,0xa85151 99,0xfefcfc 16,0x942828 15,0x932626 15,0x932626 16,0x942828 35,0xac5959 23,0x9d3a3a 25,0xa03f3f 28,0xa34747 33,0xaa5454 35,0xac5959 35,0xac5959 34,0xab5656 33,0xaa5454 31,0xa74f4f 28,0xa34747 26,0xa14242 25,0xa03f3f 24,0x9e3d3d 24,0x9e3d3d 38,0xb06060 43,0xb76d6d 43,0xb76d6d 35,0xac5959 100,0xFFFFFF 47,0xbc7777 29,0xa54949 29,0xa54949 23,0x9d3a3a 22,0x9c3838 23,0x9d3a3a 26,0xa14242 32,0xa85151 37,0xaf5e5e 45,0xb97272 45,0xb97272 62,0xcf9e9e 100,0xFFFFFF 76,0xe1c1c1 81,0xe7cece 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 97,0xfcf7f7 91,0xf4e8e8 100,0xFFFFFF 69,0xd8afaf 79,0xe5c9c9 100,0xFFFFFF 52,0xc28484 41,0xb46868 39,0xb16363 39,0xb16363 48,0xbd7a7a 100,0xFFFFFF 29,0xa54949 30,0xa64c4c 48,0xbd7a7a 43,0xb76d6d 47,0xbc7777 56,0xc78e8e 68,0xd7adad 89,0xf1e2e2 100,0xFFFFFF 100,0xFFFFFF 94,0xf8efef 74,0xdebcbc 100,0xFFFFFF 44,0xb87070 38,0xb06060 63,0xd0a0a0 54,0xc58989 22,0x9c3838 20,0x993333 20,0x993333 97,0xfcf7f7 100,0xFFFFFF 18,0x972d2d 14,0x912323 11,0x8e1c1c 11,0x8e1c1c 10,0x8c1919 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 12,0x8f1e1e 13,0x902121 15,0x932626 16,0x942828 24,0x9e3d3d 100,0xFFFFFF 36,0xae5b5b 56,0xc78e8e 84,0xebd6d6 100,0xFFFFFF 100,0xFFFFFF 77,0xe2c4c4 63,0xd0a0a0 52,0xc28484 57,0xc89191 45,0xb97272 36,0xae5b5b 33,0xaa5454 32,0xa85151 35,0xac5959 40,0xb36666 37,0xaf5e5e 44,0xb87070 81,0xe7cece 82,0xe8d1d1 67,0xd5aaaa 68,0xd7adad 58,0xca9393 60,0xcc9999 68,0xd7adad 94,0xf8efef 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 46,0xba7575 44,0xb87070 43,0xb76d6d 43,0xb76d6d 44,0xb87070 46,0xba7575 49,0xbe7c7c 100,0xFFFFFF 72,0xdcb7b7 42,0xb56b6b 40,0xb36666 96,0xfaf4f4 37,0xaf5e5e 37,0xaf5e5e 37,0xaf5e5e 37,0xaf5e5e 38,0xb06060 40,0xb36666 49,0xbe7c7c 58,0xca9393 45,0xb97272 44,0xb87070 45,0xb97272 45,0xb97272 46,0xba7575 49,0xbe7c7c 89,0xf1e2e2 100,0xFFFFFF 90,0xf3e5e5 75,0xe0bfbf 80,0xe6cccc 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 89,0xf1e2e2 60,0xcc9999 47,0xbc7777 27,0xa24444 55,0xc68c8c 22,0x9c3838 17,0x952b2b 15,0x932626 15,0x932626 15,0x932626 14,0x912323 14,0x912323 14,0x912323 14,0x912323 14,0x912323 13,0x902121 13,0x902121 13,0x902121 13,0x902121 13,0x902121 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 13,0x902121 13,0x902121 13,0x902121 14,0x912323 14,0x912323 14,0x912323 15,0x932626 16,0x942828 17,0x952b2b 23,0x9d3a3a 30,0xa64c4c 74,0xdebcbc 42,0xb56b6b 51,0xc18282 63,0xd0a0a0 74,0xdebcbc 28,0xa34747 26,0xa14242 26,0xa14242 29,0xa54949 96,0xfaf4f4 34,0xab5656 32,0xa85151 54,0xc58989 78,0xe3c6c6 45,0xb97272 84,0xebd6d6 79,0xe5c9c9 25,0xa03f3f 40,0xb36666 20,0x993333 17,0x952b2b 15,0x932626 15,0x932626 15,0x932626 14,0x912323 14,0x912323 13,0x902121 13,0x902121 13,0x902121 13,0x902121 13,0x902121 13,0x902121 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 13,0x902121 13,0x902121 13,0x902121 14,0x912323 14,0x912323 14,0x912323 14,0x912323 15,0x932626 19,0x983030 34,0xab5656 22,0x9c3838 100,0xFFFFFF 89,0xf1e2e2 45,0xb97272 39,0xb16363 37,0xaf5e5e 53,0xc38787 100,0xFFFFFF 100,0xFFFFFF 90,0xf3e5e5 42,0xb56b6b 37,0xaf5e5e 35,0xac5959 34,0xab5656 33,0xaa5454 32,0xa85151 32,0xa85151 32,0xa85151 32,0xa85151 33,0xaa5454 33,0xaa5454 35,0xac5959 32,0xa85151 32,0xa85151 30,0xa64c4c 28,0xa34747 26,0xa14242 25,0xa03f3f 24,0x9e3d3d 23,0x9d3a3a 22,0x9c3838 21,0x9a3535 21,0x9a3535 21,0x9a3535 51,0xc18282 41,0xb46868 37,0xaf5e5e 49,0xbe7c7c 59,0xcb9696 48,0xbd7a7a 100,0xFFFFFF 13,0x902121 12,0x8f1e1e 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 13,0x902121 14,0x912323 24,0x9e3d3d 79,0xe5c9c9 100,0xFFFFFF 51,0xc18282 100,0xFFFFFF 56,0xc78e8e 24,0x9e3d3d 21,0x9a3535 20,0x993333 19,0x983030 18,0x972d2d 18,0x972d2d 18,0x972d2d 19,0x983030 18,0x972d2d 17,0x952b2b 17,0x952b2b 19,0x983030 22,0x9c3838 42,0xb56b6b 59,0xcb9696 23,0x9d3a3a 23,0x9d3a3a 29,0xa54949 35,0xac5959 45,0xb97272 45,0xb97272 50,0xc07f7f 100,0xFFFFFF 68,0xd7adad 58,0xca9393 95,0xf9f2f2 46,0xba7575 42,0xb56b6b 51,0xc18282 44,0xb87070 15,0x932626 12,0x8f1e1e 11,0x8e1c1c 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 12,0x8f1e1e 18,0x972d2d 95,0xf9f2f2 100,0xFFFFFF 36,0xae5b5b 55,0xc68c8c 51,0xc18282 34,0xab5656 45,0xb97272 + 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 9,0x8b1616 10,0x8c1919 12,0x8f1e1e 20,0x993333 100,0xFFFFFF 21,0x9a3535 19,0x983030 17,0x952b2b 16,0x942828 16,0x942828 17,0x952b2b 23,0x9d3a3a 31,0xa74f4f 27,0xa24444 33,0xaa5454 33,0xaa5454 34,0xab5656 35,0xac5959 34,0xab5656 33,0xaa5454 31,0xa74f4f 29,0xa54949 28,0xa34747 48,0xbd7a7a 27,0xa24444 45,0xb97272 66,0xd4a8a8 100,0xFFFFFF 82,0xe8d1d1 50,0xc07f7f 53,0xc38787 32,0xa85151 27,0xa24444 25,0xa03f3f 24,0x9e3d3d 23,0x9d3a3a 25,0xa03f3f 37,0xaf5e5e 37,0xaf5e5e 38,0xb06060 51,0xc18282 50,0xc07f7f 58,0xca9393 100,0xFFFFFF 74,0xdebcbc 82,0xe8d1d1 88,0xf0e0e0 92,0xf5eaea 100,0xFFFFFF 93,0xf7eded 84,0xebd6d6 100,0xFFFFFF 100,0xFFFFFF 67,0xd5aaaa 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 40,0xb36666 38,0xb06060 37,0xaf5e5e 36,0xae5b5b 33,0xaa5454 31,0xa74f4f 43,0xb76d6d 82,0xe8d1d1 76,0xe1c1c1 53,0xc38787 100,0xFFFFFF 78,0xe3c6c6 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 62,0xcf9e9e 75,0xe0bfbf 48,0xbd7a7a 30,0xa64c4c 38,0xb06060 24,0x9e3d3d 18,0x972d2d 17,0x952b2b 17,0x952b2b 15,0x932626 13,0x902121 12,0x8f1e1e 11,0x8e1c1c 11,0x8e1c1c 10,0x8c1919 10,0x8c1919 9,0x8b1616 9,0x8b1616 9,0x8b1616 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 12,0x8f1e1e 13,0x902121 14,0x912323 15,0x932626 16,0x942828 19,0x983030 25,0xa03f3f 38,0xb06060 55,0xc68c8c 65,0xd3a5a5 94,0xf8efef 62,0xcf9e9e 73,0xddbaba 50,0xc07f7f 46,0xba7575 38,0xb06060 37,0xaf5e5e 31,0xa74f4f 31,0xa74f4f 32,0xa85151 33,0xaa5454 35,0xac5959 39,0xb16363 100,0xFFFFFF 86,0xeedbdb 65,0xd3a5a5 63,0xd0a0a0 97,0xfcf7f7 83,0xead3d3 67,0xd5aaaa 100,0xFFFFFF 97,0xfcf7f7 100,0xFFFFFF 100,0xFFFFFF 47,0xbc7777 44,0xb87070 42,0xb56b6b 42,0xb56b6b 44,0xb87070 100,0xFFFFFF 51,0xc18282 96,0xfaf4f4 41,0xb46868 37,0xaf5e5e 37,0xaf5e5e 36,0xae5b5b 36,0xae5b5b 36,0xae5b5b 36,0xae5b5b 37,0xaf5e5e 38,0xb06060 58,0xca9393 100,0xFFFFFF 62,0xcf9e9e 100,0xFFFFFF 46,0xba7575 45,0xb97272 46,0xba7575 48,0xbd7a7a 49,0xbe7c7c 55,0xc68c8c 100,0xFFFFFF 77,0xe2c4c4 72,0xdcb7b7 100,0xFFFFFF 88,0xf0e0e0 97,0xfcf7f7 100,0xFFFFFF 92,0xf5eaea 74,0xdebcbc 96,0xfaf4f4 42,0xb56b6b 27,0xa24444 21,0x9a3535 18,0x972d2d 16,0x942828 15,0x932626 15,0x932626 15,0x932626 14,0x912323 14,0x912323 14,0x912323 13,0x902121 13,0x902121 13,0x902121 13,0x902121 13,0x902121 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 13,0x902121 13,0x902121 13,0x902121 14,0x912323 14,0x912323 15,0x932626 16,0x942828 17,0x952b2b 24,0x9e3d3d 48,0xbd7a7a 57,0xc89191 47,0xbc7777 42,0xb56b6b 39,0xb16363 32,0xa85151 27,0xa24444 25,0xa03f3f 25,0xa03f3f 25,0xa03f3f 36,0xae5b5b 70,0xd9b2b2 80,0xe6cccc 50,0xc07f7f 100,0xFFFFFF 50,0xc07f7f 74,0xdebcbc 35,0xac5959 21,0x9a3535 21,0x9a3535 21,0x9a3535 16,0x942828 15,0x932626 15,0x932626 15,0x932626 14,0x912323 14,0x912323 14,0x912323 13,0x902121 13,0x902121 13,0x902121 13,0x902121 13,0x902121 13,0x902121 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 13,0x902121 13,0x902121 13,0x902121 13,0x902121 14,0x912323 14,0x912323 14,0x912323 14,0x912323 15,0x932626 16,0x942828 90,0xf3e5e5 61,0xce9b9b 26,0xa14242 74,0xdebcbc 49,0xbe7c7c 48,0xbd7a7a 100,0xFFFFFF 48,0xbd7a7a 69,0xd8afaf 80,0xe6cccc 69,0xd8afaf 50,0xc07f7f 40,0xb36666 36,0xae5b5b 35,0xac5959 34,0xab5656 34,0xab5656 33,0xaa5454 32,0xa85151 33,0xaa5454 33,0xaa5454 34,0xab5656 35,0xac5959 45,0xb97272 38,0xb06060 51,0xc18282 100,0xFFFFFF 79,0xe5c9c9 28,0xa34747 25,0xa03f3f 24,0x9e3d3d 23,0x9d3a3a 22,0x9c3838 20,0x993333 20,0x993333 19,0x983030 20,0x993333 23,0x9d3a3a 67,0xd5aaaa 21,0x9a3535 17,0x952b2b 14,0x912323 14,0x912323 12,0x8f1e1e 11,0x8e1c1c 11,0x8e1c1c 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 12,0x8f1e1e 13,0x902121 16,0x942828 56,0xc78e8e 55,0xc68c8c 43,0xb76d6d 38,0xb06060 30,0xa64c4c 32,0xa85151 39,0xb16363 24,0x9e3d3d 99,0xfefcfc 20,0x993333 19,0x983030 20,0x993333 100,0xFFFFFF 45,0xb97272 19,0x983030 19,0x983030 39,0xb16363 100,0xFFFFFF 31,0xa74f4f 27,0xa24444 25,0xa03f3f 26,0xa14242 31,0xa74f4f 56,0xc78e8e 65,0xd3a5a5 48,0xbd7a7a 100,0xFFFFFF 84,0xebd6d6 72,0xdcb7b7 100,0xFFFFFF 76,0xe1c1c1 61,0xce9b9b 74,0xdebcbc 66,0xd4a8a8 23,0x9d3a3a 21,0x9a3535 14,0x912323 10,0x8c1919 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 10,0x8c1919 11,0x8e1c1c 14,0x912323 97,0xfcf7f7 56,0xc78e8e 100,0xFFFFFF 93,0xf7eded 82,0xe8d1d1 25,0xa03f3f 100,0xFFFFFF + 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 9,0x8b1616 10,0x8c1919 13,0x902121 69,0xd8afaf 100,0xFFFFFF 22,0x9c3838 19,0x983030 18,0x972d2d 17,0x952b2b 17,0x952b2b 18,0x972d2d 24,0x9e3d3d 71,0xdab5b5 32,0xa85151 100,0xFFFFFF 37,0xaf5e5e 36,0xae5b5b 36,0xae5b5b 40,0xb36666 54,0xc58989 70,0xd9b2b2 42,0xb56b6b 43,0xb76d6d 43,0xb76d6d 32,0xa85151 98,0xfdf9f9 68,0xd7adad 100,0xFFFFFF 100,0xFFFFFF 90,0xf3e5e5 38,0xb06060 31,0xa74f4f 27,0xa24444 26,0xa14242 24,0x9e3d3d 24,0x9e3d3d 26,0xa14242 28,0xa34747 69,0xd8afaf 49,0xbe7c7c 73,0xddbaba 58,0xca9393 54,0xc58989 59,0xcb9696 95,0xf9f2f2 88,0xf0e0e0 100,0xFFFFFF 80,0xe6cccc 100,0xFFFFFF 89,0xf1e2e2 78,0xe3c6c6 72,0xdcb7b7 65,0xd3a5a5 60,0xcc9999 66,0xd4a8a8 52,0xc28484 56,0xc78e8e 63,0xd0a0a0 37,0xaf5e5e 36,0xae5b5b 35,0xac5959 34,0xab5656 34,0xab5656 66,0xd4a8a8 100,0xFFFFFF 100,0xFFFFFF 57,0xc89191 63,0xd0a0a0 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 83,0xead3d3 100,0xFFFFFF 56,0xc78e8e 41,0xb46868 37,0xaf5e5e 24,0x9e3d3d 20,0x993333 18,0x972d2d 16,0x942828 16,0x942828 14,0x912323 13,0x902121 12,0x8f1e1e 12,0x8f1e1e 11,0x8e1c1c 10,0x8c1919 10,0x8c1919 10,0x8c1919 9,0x8b1616 9,0x8b1616 9,0x8b1616 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 12,0x8f1e1e 12,0x8f1e1e 13,0x902121 14,0x912323 15,0x932626 70,0xd9b2b2 100,0xFFFFFF 97,0xfcf7f7 45,0xb97272 39,0xb16363 47,0xbc7777 81,0xe7cece 43,0xb76d6d 57,0xc89191 90,0xf3e5e5 58,0xca9393 29,0xa54949 29,0xa54949 30,0xa64c4c 32,0xa85151 33,0xaa5454 35,0xac5959 38,0xb06060 44,0xb87070 54,0xc58989 64,0xd1a3a3 66,0xd4a8a8 93,0xf7eded 89,0xf1e2e2 77,0xe2c4c4 73,0xddbaba 76,0xe1c1c1 100,0xFFFFFF 62,0xcf9e9e 58,0xca9393 44,0xb87070 41,0xb46868 41,0xb46868 44,0xb87070 57,0xc89191 47,0xbc7777 41,0xb46868 38,0xb06060 37,0xaf5e5e 36,0xae5b5b 35,0xac5959 35,0xac5959 35,0xac5959 35,0xac5959 36,0xae5b5b 39,0xb16363 100,0xFFFFFF 52,0xc28484 50,0xc07f7f 52,0xc28484 48,0xbd7a7a 47,0xbc7777 50,0xc07f7f 81,0xe7cece 52,0xc28484 53,0xc38787 83,0xead3d3 58,0xca9393 74,0xdebcbc 100,0xFFFFFF 81,0xe7cece 100,0xFFFFFF 79,0xe5c9c9 100,0xFFFFFF 68,0xd7adad 57,0xc89191 48,0xbd7a7a 100,0xFFFFFF 27,0xa24444 17,0x952b2b 16,0x942828 15,0x932626 15,0x932626 14,0x912323 14,0x912323 14,0x912323 13,0x902121 13,0x902121 13,0x902121 13,0x902121 13,0x902121 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 13,0x902121 13,0x902121 13,0x902121 14,0x912323 15,0x932626 15,0x932626 16,0x942828 18,0x972d2d 100,0xFFFFFF 97,0xfcf7f7 100,0xFFFFFF 67,0xd5aaaa 100,0xFFFFFF 33,0xaa5454 52,0xc28484 25,0xa03f3f 24,0x9e3d3d 24,0x9e3d3d 24,0x9e3d3d 25,0xa03f3f 28,0xa34747 58,0xca9393 32,0xa85151 54,0xc58989 25,0xa03f3f 43,0xb76d6d 21,0x9a3535 19,0x983030 18,0x972d2d 17,0x952b2b 16,0x942828 15,0x932626 15,0x932626 15,0x932626 14,0x912323 14,0x912323 14,0x912323 14,0x912323 13,0x902121 13,0x902121 13,0x902121 13,0x902121 13,0x902121 13,0x902121 13,0x902121 13,0x902121 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 13,0x902121 13,0x902121 13,0x902121 13,0x902121 13,0x902121 14,0x912323 14,0x912323 14,0x912323 14,0x912323 15,0x932626 15,0x932626 16,0x942828 18,0x972d2d 32,0xa85151 72,0xdcb7b7 46,0xba7575 60,0xcc9999 65,0xd3a5a5 68,0xd7adad 59,0xcb9696 54,0xc58989 58,0xca9393 100,0xFFFFFF 100,0xFFFFFF 57,0xc89191 38,0xb06060 36,0xae5b5b 34,0xab5656 34,0xab5656 34,0xab5656 34,0xab5656 34,0xab5656 34,0xab5656 35,0xac5959 45,0xb97272 63,0xd0a0a0 59,0xcb9696 74,0xdebcbc 84,0xebd6d6 58,0xca9393 38,0xb06060 27,0xa24444 25,0xa03f3f 25,0xa03f3f 22,0x9c3838 20,0x993333 19,0x983030 18,0x972d2d 17,0x952b2b 17,0x952b2b 15,0x932626 15,0x932626 13,0x902121 13,0x902121 12,0x8f1e1e 11,0x8e1c1c 11,0x8e1c1c 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 11,0x8e1c1c 11,0x8e1c1c 12,0x8f1e1e 13,0x902121 15,0x932626 18,0x972d2d 46,0xba7575 42,0xb56b6b 72,0xdcb7b7 45,0xb97272 71,0xdab5b5 48,0xbd7a7a 33,0xaa5454 29,0xa54949 22,0x9c3838 25,0xa03f3f 26,0xa14242 100,0xFFFFFF 53,0xc38787 21,0x9a3535 25,0xa03f3f 81,0xe7cece 86,0xeedbdb 35,0xac5959 29,0xa54949 35,0xac5959 28,0xa34747 100,0xFFFFFF 82,0xe8d1d1 61,0xce9b9b 55,0xc68c8c 100,0xFFFFFF 77,0xe2c4c4 100,0xFFFFFF 100,0xFFFFFF 99,0xfefcfc 100,0xFFFFFF 52,0xc28484 53,0xc38787 19,0x983030 14,0x912323 11,0x8e1c1c 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 8,0x8a1414 8,0x8a1414 8,0x8a1414 10,0x8c1919 11,0x8e1c1c 15,0x932626 100,0xFFFFFF 100,0xFFFFFF 46,0xba7575 14,0x912323 16,0x942828 + 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 9,0x8b1616 10,0x8c1919 12,0x8f1e1e 97,0xfcf7f7 53,0xc38787 100,0xFFFFFF 88,0xf0e0e0 20,0x993333 100,0xFFFFFF 22,0x9c3838 20,0x993333 69,0xd8afaf 70,0xd9b2b2 69,0xd8afaf 42,0xb56b6b 38,0xb06060 37,0xaf5e5e 38,0xb06060 47,0xbc7777 59,0xcb9696 100,0xFFFFFF 81,0xe7cece 52,0xc28484 38,0xb06060 36,0xae5b5b 100,0xFFFFFF 82,0xe8d1d1 84,0xebd6d6 94,0xf8efef 57,0xc89191 100,0xFFFFFF 100,0xFFFFFF 29,0xa54949 29,0xa54949 28,0xa34747 26,0xa14242 26,0xa14242 91,0xf4e8e8 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 58,0xca9393 55,0xc68c8c 56,0xc78e8e 58,0xca9393 62,0xcf9e9e 70,0xd9b2b2 69,0xd8afaf 71,0xdab5b5 81,0xe7cece 100,0xFFFFFF 96,0xfaf4f4 60,0xcc9999 58,0xca9393 58,0xca9393 49,0xbe7c7c 45,0xb97272 40,0xb36666 37,0xaf5e5e 36,0xae5b5b 35,0xac5959 34,0xab5656 36,0xae5b5b 58,0xca9393 100,0xFFFFFF 51,0xc18282 69,0xd8afaf 61,0xce9b9b 100,0xFFFFFF 84,0xebd6d6 100,0xFFFFFF 100,0xFFFFFF 87,0xefdddd 73,0xddbaba 62,0xcf9e9e 50,0xc07f7f 50,0xc07f7f 87,0xefdddd 48,0xbd7a7a 22,0x9c3838 19,0x983030 16,0x942828 16,0x942828 14,0x912323 14,0x912323 12,0x8f1e1e 12,0x8f1e1e 11,0x8e1c1c 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 9,0x8b1616 9,0x8b1616 9,0x8b1616 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 12,0x8f1e1e 12,0x8f1e1e 13,0x902121 13,0x902121 14,0x912323 16,0x942828 17,0x952b2b 19,0x983030 85,0xecd8d8 45,0xb97272 100,0xFFFFFF 27,0xa24444 32,0xa85151 88,0xf0e0e0 100,0xFFFFFF 37,0xaf5e5e 27,0xa24444 28,0xa34747 31,0xa74f4f 33,0xaa5454 34,0xab5656 36,0xae5b5b 54,0xc58989 45,0xb97272 100,0xFFFFFF 100,0xFFFFFF 83,0xead3d3 93,0xf7eded 100,0xFFFFFF 91,0xf4e8e8 100,0xFFFFFF 69,0xd8afaf 67,0xd5aaaa 56,0xc78e8e 51,0xc18282 100,0xFFFFFF 40,0xb36666 39,0xb16363 40,0xb36666 98,0xfdf9f9 50,0xc07f7f 47,0xbc7777 42,0xb56b6b 36,0xae5b5b 35,0xac5959 35,0xac5959 35,0xac5959 35,0xac5959 35,0xac5959 36,0xae5b5b 37,0xaf5e5e 47,0xbc7777 53,0xc38787 43,0xb76d6d 80,0xe6cccc 68,0xd7adad 52,0xc28484 70,0xd9b2b2 100,0xFFFFFF 54,0xc58989 53,0xc38787 54,0xc58989 55,0xc68c8c 58,0xca9393 63,0xd0a0a0 67,0xd5aaaa 69,0xd8afaf 100,0xFFFFFF 61,0xce9b9b 100,0xFFFFFF 39,0xb16363 56,0xc78e8e 44,0xb87070 100,0xFFFFFF 18,0x972d2d 17,0x952b2b 16,0x942828 15,0x932626 14,0x912323 14,0x912323 13,0x902121 13,0x902121 13,0x902121 13,0x902121 13,0x902121 13,0x902121 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 13,0x902121 13,0x902121 14,0x912323 15,0x932626 17,0x952b2b 17,0x952b2b 19,0x983030 26,0xa14242 71,0xdab5b5 100,0xFFFFFF 58,0xca9393 100,0xFFFFFF 100,0xFFFFFF 27,0xa24444 25,0xa03f3f 24,0x9e3d3d 23,0x9d3a3a 23,0x9d3a3a 23,0x9d3a3a 23,0x9d3a3a 23,0x9d3a3a 26,0xa14242 22,0x9c3838 21,0x9a3535 21,0x9a3535 19,0x983030 17,0x952b2b 17,0x952b2b 16,0x942828 16,0x942828 15,0x932626 15,0x932626 15,0x932626 14,0x912323 14,0x912323 14,0x912323 14,0x912323 14,0x912323 13,0x902121 13,0x902121 13,0x902121 13,0x902121 13,0x902121 13,0x902121 13,0x902121 13,0x902121 13,0x902121 13,0x902121 13,0x902121 13,0x902121 13,0x902121 14,0x912323 14,0x912323 14,0x912323 14,0x912323 15,0x932626 15,0x932626 15,0x932626 16,0x942828 16,0x942828 18,0x972d2d 23,0x9d3a3a 42,0xb56b6b 65,0xd3a5a5 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 56,0xc78e8e 54,0xc58989 57,0xc89191 100,0xFFFFFF 100,0xFFFFFF 59,0xcb9696 40,0xb36666 36,0xae5b5b 35,0xac5959 35,0xac5959 37,0xaf5e5e 46,0xba7575 38,0xb06060 37,0xaf5e5e 83,0xead3d3 98,0xfdf9f9 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 80,0xe6cccc 47,0xbc7777 83,0xead3d3 31,0xa74f4f 100,0xFFFFFF 23,0x9d3a3a 21,0x9a3535 20,0x993333 18,0x972d2d 17,0x952b2b 16,0x942828 15,0x932626 14,0x912323 13,0x902121 12,0x8f1e1e 12,0x8f1e1e 11,0x8e1c1c 11,0x8e1c1c 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 11,0x8e1c1c 11,0x8e1c1c 13,0x902121 69,0xd8afaf 22,0x9c3838 27,0xa24444 53,0xc38787 69,0xd8afaf 66,0xd4a8a8 48,0xbd7a7a 54,0xc58989 30,0xa64c4c 27,0xa24444 38,0xb06060 91,0xf4e8e8 68,0xd7adad 30,0xa64c4c 26,0xa14242 24,0x9e3d3d 36,0xae5b5b 89,0xf1e2e2 71,0xdab5b5 70,0xd9b2b2 55,0xc68c8c 100,0xFFFFFF 31,0xa74f4f 52,0xc28484 86,0xeedbdb 100,0xFFFFFF 56,0xc78e8e 74,0xdebcbc 85,0xecd8d8 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 83,0xead3d3 67,0xd5aaaa 39,0xb16363 100,0xFFFFFF 14,0x912323 11,0x8e1c1c 9,0x8b1616 9,0x8b1616 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 94,0xf8efef 11,0x8e1c1c 12,0x8f1e1e 10,0x8c1919 11,0x8e1c1c 31,0xa74f4f + 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 9,0x8b1616 11,0x8e1c1c 14,0x912323 68,0xd7adad 42,0xb56b6b 33,0xaa5454 27,0xa24444 95,0xf9f2f2 45,0xb97272 40,0xb36666 24,0x9e3d3d 64,0xd1a3a3 73,0xddbaba 50,0xc07f7f 100,0xFFFFFF 40,0xb36666 41,0xb46868 100,0xFFFFFF 47,0xbc7777 100,0xFFFFFF 82,0xe8d1d1 71,0xdab5b5 100,0xFFFFFF 42,0xb56b6b 42,0xb56b6b 43,0xb76d6d 59,0xcb9696 100,0xFFFFFF 50,0xc07f7f 64,0xd1a3a3 68,0xd7adad 61,0xce9b9b 38,0xb06060 36,0xae5b5b 41,0xb46868 28,0xa34747 28,0xa34747 58,0xca9393 74,0xdebcbc 100,0xFFFFFF 80,0xe6cccc 100,0xFFFFFF 52,0xc28484 62,0xcf9e9e 59,0xcb9696 100,0xFFFFFF 66,0xd4a8a8 66,0xd4a8a8 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 88,0xf0e0e0 58,0xca9393 57,0xc89191 57,0xc89191 100,0xFFFFFF 64,0xd1a3a3 100,0xFFFFFF 39,0xb16363 36,0xae5b5b 35,0xac5959 35,0xac5959 36,0xae5b5b 38,0xb06060 42,0xb56b6b 49,0xbe7c7c 100,0xFFFFFF 73,0xddbaba 69,0xd8afaf 72,0xdcb7b7 80,0xe6cccc 98,0xfdf9f9 100,0xFFFFFF 71,0xdab5b5 95,0xf9f2f2 50,0xc07f7f 50,0xc07f7f 62,0xcf9e9e 42,0xb56b6b 63,0xd0a0a0 44,0xb87070 18,0x972d2d 17,0x952b2b 15,0x932626 14,0x912323 13,0x902121 12,0x8f1e1e 12,0x8f1e1e 11,0x8e1c1c 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 12,0x8f1e1e 12,0x8f1e1e 13,0x902121 13,0x902121 14,0x912323 15,0x932626 16,0x942828 17,0x952b2b 48,0xbd7a7a 20,0x993333 21,0x9a3535 33,0xaa5454 81,0xe7cece 28,0xa34747 28,0xa34747 25,0xa03f3f 25,0xa03f3f 33,0xaa5454 82,0xe8d1d1 81,0xe7cece 36,0xae5b5b 39,0xb16363 79,0xe5c9c9 94,0xf8efef 100,0xFFFFFF 79,0xe5c9c9 82,0xe8d1d1 100,0xFFFFFF 100,0xFFFFFF 99,0xfefcfc 100,0xFFFFFF 80,0xe6cccc 63,0xd0a0a0 64,0xd1a3a3 80,0xe6cccc 80,0xe6cccc 41,0xb46868 37,0xaf5e5e 37,0xaf5e5e 39,0xb16363 99,0xfefcfc 53,0xc38787 48,0xbd7a7a 35,0xac5959 34,0xab5656 34,0xab5656 34,0xab5656 34,0xab5656 34,0xab5656 34,0xab5656 37,0xaf5e5e 39,0xb16363 42,0xb56b6b 39,0xb16363 51,0xc18282 69,0xd8afaf 69,0xd8afaf 97,0xfcf7f7 59,0xcb9696 56,0xc78e8e 55,0xc68c8c 53,0xc38787 54,0xc58989 59,0xcb9696 70,0xd9b2b2 100,0xFFFFFF 58,0xca9393 87,0xefdddd 53,0xc38787 84,0xebd6d6 34,0xab5656 90,0xf3e5e5 28,0xa34747 50,0xc07f7f 20,0x993333 19,0x983030 16,0x942828 14,0x912323 14,0x912323 13,0x902121 13,0x902121 13,0x902121 13,0x902121 13,0x902121 13,0x902121 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 13,0x902121 14,0x912323 17,0x952b2b 46,0xba7575 100,0xFFFFFF 21,0x9a3535 24,0x9e3d3d 43,0xb76d6d 71,0xdab5b5 48,0xbd7a7a 75,0xe0bfbf 60,0xcc9999 28,0xa34747 25,0xa03f3f 23,0x9d3a3a 22,0x9c3838 22,0x9c3838 21,0x9a3535 21,0x9a3535 21,0x9a3535 20,0x993333 19,0x983030 19,0x983030 19,0x983030 18,0x972d2d 17,0x952b2b 17,0x952b2b 16,0x942828 16,0x942828 15,0x932626 15,0x932626 15,0x932626 14,0x912323 14,0x912323 14,0x912323 14,0x912323 14,0x912323 14,0x912323 14,0x912323 13,0x902121 13,0x902121 13,0x902121 13,0x902121 13,0x902121 13,0x902121 13,0x902121 13,0x902121 13,0x902121 14,0x912323 14,0x912323 14,0x912323 15,0x932626 15,0x932626 15,0x932626 15,0x932626 15,0x932626 16,0x942828 16,0x942828 17,0x952b2b 24,0x9e3d3d 33,0xaa5454 39,0xb16363 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 82,0xe8d1d1 100,0xFFFFFF 100,0xFFFFFF 50,0xc07f7f 47,0xbc7777 47,0xbc7777 61,0xce9b9b 64,0xd1a3a3 40,0xb36666 37,0xaf5e5e 36,0xae5b5b 36,0xae5b5b 38,0xb06060 43,0xb76d6d 66,0xd4a8a8 41,0xb46868 44,0xb87070 55,0xc68c8c 68,0xd7adad 87,0xefdddd 92,0xf5eaea 76,0xe1c1c1 51,0xc18282 71,0xdab5b5 38,0xb06060 100,0xFFFFFF 25,0xa03f3f 26,0xa14242 50,0xc07f7f 19,0x983030 17,0x952b2b 16,0x942828 14,0x912323 13,0x902121 13,0x902121 12,0x8f1e1e 11,0x8e1c1c 11,0x8e1c1c 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 11,0x8e1c1c 13,0x902121 80,0xe6cccc 29,0xa54949 78,0xe3c6c6 93,0xf7eded 100,0xFFFFFF 66,0xd4a8a8 100,0xFFFFFF 38,0xb06060 34,0xab5656 48,0xbd7a7a 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 30,0xa64c4c 27,0xa24444 33,0xaa5454 34,0xab5656 100,0xFFFFFF 48,0xbd7a7a 65,0xd3a5a5 38,0xb06060 35,0xac5959 33,0xaa5454 34,0xab5656 44,0xb87070 45,0xb97272 100,0xFFFFFF 65,0xd3a5a5 81,0xe7cece 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 84,0xebd6d6 100,0xFFFFFF 32,0xa85151 30,0xa64c4c 56,0xc78e8e 11,0x8e1c1c 9,0x8b1616 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 39,0xb16363 + 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 9,0x8b1616 14,0x912323 66,0xd4a8a8 25,0xa03f3f 45,0xb97272 69,0xd8afaf 54,0xc58989 61,0xce9b9b 32,0xa85151 28,0xa34747 28,0xa34747 38,0xb06060 81,0xe7cece 47,0xbc7777 46,0xba7575 51,0xc18282 100,0xFFFFFF 51,0xc18282 49,0xbe7c7c 100,0xFFFFFF 61,0xce9b9b 60,0xcc9999 97,0xfcf7f7 51,0xc18282 46,0xba7575 44,0xb87070 45,0xb97272 46,0xba7575 47,0xbc7777 53,0xc38787 50,0xc07f7f 44,0xb87070 41,0xb46868 42,0xb56b6b 99,0xfefcfc 30,0xa64c4c 30,0xa64c4c 32,0xa85151 87,0xefdddd 75,0xe0bfbf 66,0xd4a8a8 60,0xcc9999 48,0xbd7a7a 100,0xFFFFFF 80,0xe6cccc 81,0xe7cece 74,0xdebcbc 89,0xf1e2e2 59,0xcb9696 63,0xd0a0a0 63,0xd0a0a0 56,0xc78e8e 55,0xc68c8c 57,0xc89191 62,0xcf9e9e 80,0xe6cccc 73,0xddbaba 48,0xbd7a7a 39,0xb16363 35,0xac5959 34,0xab5656 35,0xac5959 36,0xae5b5b 37,0xaf5e5e 53,0xc38787 49,0xbe7c7c 76,0xe1c1c1 100,0xFFFFFF 100,0xFFFFFF 66,0xd4a8a8 100,0xFFFFFF 100,0xFFFFFF 62,0xcf9e9e 67,0xd5aaaa 69,0xd8afaf 45,0xb97272 44,0xb87070 51,0xc18282 32,0xa85151 28,0xa34747 24,0x9e3d3d 24,0x9e3d3d 24,0x9e3d3d 19,0x983030 17,0x952b2b 39,0xb16363 14,0x912323 13,0x902121 13,0x902121 11,0x8e1c1c 11,0x8e1c1c 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 9,0x8b1616 9,0x8b1616 9,0x8b1616 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 10,0x8c1919 10,0x8c1919 10,0x8c1919 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 12,0x8f1e1e 12,0x8f1e1e 13,0x902121 13,0x902121 13,0x902121 14,0x912323 15,0x932626 15,0x932626 17,0x952b2b 18,0x972d2d 19,0x983030 23,0x9d3a3a 25,0xa03f3f 21,0x9a3535 22,0x9c3838 23,0x9d3a3a 24,0x9e3d3d 73,0xddbaba 35,0xac5959 69,0xd8afaf 51,0xc18282 62,0xcf9e9e 100,0xFFFFFF 66,0xd4a8a8 55,0xc68c8c 100,0xFFFFFF 90,0xf3e5e5 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 88,0xf0e0e0 100,0xFFFFFF 60,0xcc9999 65,0xd3a5a5 95,0xf9f2f2 100,0xFFFFFF 100,0xFFFFFF 36,0xae5b5b 35,0xac5959 35,0xac5959 36,0xae5b5b 39,0xb16363 36,0xae5b5b 34,0xab5656 34,0xab5656 33,0xaa5454 33,0xaa5454 33,0xaa5454 33,0xaa5454 34,0xab5656 34,0xab5656 36,0xae5b5b 36,0xae5b5b 37,0xaf5e5e 69,0xd8afaf 100,0xFFFFFF 100,0xFFFFFF 68,0xd7adad 63,0xd0a0a0 71,0xdab5b5 96,0xfaf4f4 100,0xFFFFFF 48,0xbd7a7a 50,0xc07f7f 87,0xefdddd 100,0xFFFFFF 100,0xFFFFFF 46,0xba7575 48,0xbd7a7a 41,0xb46868 30,0xa64c4c 25,0xa03f3f 26,0xa14242 30,0xa64c4c 87,0xefdddd 29,0xa54949 16,0x942828 14,0x912323 14,0x912323 13,0x902121 13,0x902121 13,0x902121 13,0x902121 13,0x902121 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 13,0x902121 14,0x912323 21,0x9a3535 30,0xa64c4c 35,0xac5959 24,0x9e3d3d 27,0xa24444 100,0xFFFFFF 42,0xb56b6b 42,0xb56b6b 43,0xb76d6d 37,0xaf5e5e 35,0xac5959 35,0xac5959 23,0x9d3a3a 22,0x9c3838 22,0x9c3838 21,0x9a3535 20,0x993333 20,0x993333 19,0x983030 19,0x983030 19,0x983030 18,0x972d2d 17,0x952b2b 17,0x952b2b 17,0x952b2b 16,0x942828 16,0x942828 15,0x932626 15,0x932626 15,0x932626 15,0x932626 14,0x912323 14,0x912323 14,0x912323 14,0x912323 14,0x912323 14,0x912323 14,0x912323 14,0x912323 14,0x912323 14,0x912323 14,0x912323 14,0x912323 14,0x912323 14,0x912323 14,0x912323 14,0x912323 16,0x942828 17,0x952b2b 16,0x942828 16,0x942828 15,0x932626 16,0x942828 16,0x942828 16,0x942828 16,0x942828 17,0x952b2b 19,0x983030 25,0xa03f3f 44,0xb87070 82,0xe8d1d1 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 88,0xf0e0e0 72,0xdcb7b7 50,0xc07f7f 46,0xba7575 45,0xb97272 44,0xb87070 42,0xb56b6b 39,0xb16363 38,0xb06060 38,0xb06060 41,0xb46868 45,0xb97272 60,0xcc9999 47,0xbc7777 43,0xb76d6d 45,0xb97272 96,0xfaf4f4 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 64,0xd1a3a3 71,0xdab5b5 37,0xaf5e5e 33,0xaa5454 30,0xa64c4c 45,0xb97272 85,0xecd8d8 30,0xa64c4c 50,0xc07f7f 20,0x993333 17,0x952b2b 14,0x912323 13,0x902121 12,0x8f1e1e 12,0x8f1e1e 11,0x8e1c1c 11,0x8e1c1c 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 10,0x8c1919 11,0x8e1c1c 12,0x8f1e1e 13,0x902121 22,0x9c3838 100,0xFFFFFF 51,0xc18282 48,0xbd7a7a 40,0xb36666 38,0xb06060 69,0xd8afaf 73,0xddbaba 48,0xbd7a7a 47,0xbc7777 41,0xb46868 54,0xc58989 31,0xa74f4f 38,0xb06060 41,0xb46868 46,0xba7575 46,0xba7575 42,0xb56b6b 38,0xb06060 35,0xac5959 34,0xab5656 34,0xab5656 35,0xac5959 42,0xb56b6b 100,0xFFFFFF 100,0xFFFFFF 74,0xdebcbc 82,0xe8d1d1 95,0xf9f2f2 85,0xecd8d8 71,0xdab5b5 48,0xbd7a7a 32,0xa85151 18,0x972d2d 22,0x9c3838 26,0xa14242 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 9,0x8b1616 + 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 11,0x8e1c1c 18,0x972d2d 43,0xb76d6d 100,0xFFFFFF 90,0xf3e5e5 93,0xf7eded 42,0xb56b6b 44,0xb87070 30,0xa64c4c 35,0xac5959 40,0xb36666 100,0xFFFFFF 47,0xbc7777 53,0xc38787 98,0xfdf9f9 100,0xFFFFFF 100,0xFFFFFF 69,0xd8afaf 56,0xc78e8e 57,0xc89191 57,0xc89191 55,0xc68c8c 48,0xbd7a7a 46,0xba7575 45,0xb97272 45,0xb97272 44,0xb87070 46,0xba7575 50,0xc07f7f 40,0xb36666 38,0xb06060 37,0xaf5e5e 100,0xFFFFFF 33,0xaa5454 31,0xa74f4f 31,0xa74f4f 32,0xa85151 36,0xae5b5b 44,0xb87070 100,0xFFFFFF 75,0xe0bfbf 45,0xb97272 48,0xbd7a7a 58,0xca9393 83,0xead3d3 94,0xf8efef 90,0xf3e5e5 56,0xc78e8e 73,0xddbaba 51,0xc18282 50,0xc07f7f 94,0xf8efef 61,0xce9b9b 67,0xd5aaaa 90,0xf3e5e5 100,0xFFFFFF 91,0xf4e8e8 38,0xb06060 34,0xab5656 34,0xab5656 35,0xac5959 36,0xae5b5b 37,0xaf5e5e 39,0xb16363 41,0xb46868 52,0xc28484 93,0xf7eded 90,0xf3e5e5 63,0xd0a0a0 62,0xcf9e9e 58,0xca9393 58,0xca9393 55,0xc68c8c 52,0xc28484 49,0xbe7c7c 39,0xb16363 100,0xFFFFFF 78,0xe3c6c6 29,0xa54949 30,0xa64c4c 76,0xe1c1c1 37,0xaf5e5e 28,0xa34747 55,0xc68c8c 22,0x9c3838 26,0xa14242 19,0x983030 88,0xf0e0e0 13,0x902121 12,0x8f1e1e 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 10,0x8c1919 10,0x8c1919 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 10,0x8c1919 10,0x8c1919 10,0x8c1919 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 13,0x902121 13,0x902121 14,0x912323 14,0x912323 15,0x932626 15,0x932626 16,0x942828 17,0x952b2b 17,0x952b2b 19,0x983030 20,0x993333 20,0x993333 21,0x9a3535 22,0x9c3838 23,0x9d3a3a 90,0xf3e5e5 34,0xab5656 29,0xa54949 32,0xa85151 37,0xaf5e5e 100,0xFFFFFF 86,0xeedbdb 100,0xFFFFFF 65,0xd3a5a5 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 87,0xefdddd 100,0xFFFFFF 53,0xc38787 98,0xfdf9f9 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 35,0xac5959 34,0xab5656 34,0xab5656 34,0xab5656 34,0xab5656 33,0xaa5454 33,0xaa5454 33,0xaa5454 33,0xaa5454 33,0xaa5454 33,0xaa5454 33,0xaa5454 33,0xaa5454 34,0xab5656 35,0xac5959 36,0xae5b5b 37,0xaf5e5e 39,0xb16363 48,0xbd7a7a 87,0xefdddd 63,0xd0a0a0 71,0xdab5b5 90,0xf3e5e5 76,0xe1c1c1 59,0xcb9696 43,0xb76d6d 50,0xc07f7f 70,0xd9b2b2 100,0xFFFFFF 44,0xb87070 44,0xb87070 42,0xb56b6b 36,0xae5b5b 28,0xa34747 23,0x9d3a3a 21,0x9a3535 23,0x9d3a3a 26,0xa14242 17,0x952b2b 15,0x932626 14,0x912323 13,0x902121 13,0x902121 13,0x902121 13,0x902121 13,0x902121 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 13,0x902121 14,0x912323 15,0x932626 17,0x952b2b 100,0xFFFFFF 83,0xead3d3 41,0xb46868 53,0xc38787 48,0xbd7a7a 65,0xd3a5a5 35,0xac5959 31,0xa74f4f 28,0xa34747 25,0xa03f3f 23,0x9d3a3a 22,0x9c3838 21,0x9a3535 20,0x993333 20,0x993333 20,0x993333 19,0x983030 19,0x983030 18,0x972d2d 18,0x972d2d 17,0x952b2b 17,0x952b2b 16,0x942828 16,0x942828 16,0x942828 15,0x932626 15,0x932626 15,0x932626 15,0x932626 14,0x912323 14,0x912323 14,0x912323 14,0x912323 14,0x912323 14,0x912323 14,0x912323 14,0x912323 14,0x912323 14,0x912323 14,0x912323 14,0x912323 14,0x912323 14,0x912323 15,0x932626 15,0x932626 17,0x952b2b 28,0xa34747 18,0x972d2d 18,0x972d2d 46,0xba7575 17,0x952b2b 17,0x952b2b 17,0x952b2b 17,0x952b2b 18,0x972d2d 19,0x983030 58,0xca9393 36,0xae5b5b 56,0xc78e8e 100,0xFFFFFF 81,0xe7cece 100,0xFFFFFF 65,0xd3a5a5 56,0xc78e8e 51,0xc18282 45,0xb97272 44,0xb87070 43,0xb76d6d 41,0xb46868 40,0xb36666 40,0xb36666 43,0xb76d6d 52,0xc28484 100,0xFFFFFF 83,0xead3d3 47,0xbc7777 46,0xba7575 47,0xbc7777 51,0xc18282 63,0xd0a0a0 58,0xca9393 57,0xc89191 73,0xddbaba 100,0xFFFFFF 38,0xb06060 39,0xb16363 33,0xaa5454 47,0xbc7777 51,0xc18282 71,0xdab5b5 100,0xFFFFFF 39,0xb16363 20,0x993333 15,0x932626 13,0x902121 12,0x8f1e1e 12,0x8f1e1e 11,0x8e1c1c 11,0x8e1c1c 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 10,0x8c1919 11,0x8e1c1c 11,0x8e1c1c 12,0x8f1e1e 14,0x912323 18,0x972d2d 21,0x9a3535 31,0xa74f4f 44,0xb87070 100,0xFFFFFF 100,0xFFFFFF 61,0xce9b9b 76,0xe1c1c1 38,0xb06060 35,0xac5959 36,0xae5b5b 100,0xFFFFFF 63,0xd0a0a0 50,0xc07f7f 53,0xc38787 100,0xFFFFFF 52,0xc28484 42,0xb56b6b 35,0xac5959 33,0xaa5454 36,0xae5b5b 39,0xb16363 44,0xb87070 49,0xbe7c7c 87,0xefdddd 64,0xd1a3a3 69,0xd8afaf 100,0xFFFFFF 64,0xd1a3a3 39,0xb16363 42,0xb56b6b 15,0x932626 12,0x8f1e1e 10,0x8c1919 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 + 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 9,0x8b1616 10,0x8c1919 10,0x8c1919 16,0x942828 43,0xb76d6d 100,0xFFFFFF 75,0xe0bfbf 51,0xc18282 38,0xb06060 36,0xae5b5b 36,0xae5b5b 100,0xFFFFFF 79,0xe5c9c9 52,0xc28484 51,0xc18282 55,0xc68c8c 94,0xf8efef 74,0xdebcbc 100,0xFFFFFF 60,0xcc9999 58,0xca9393 59,0xcb9696 55,0xc68c8c 51,0xc18282 49,0xbe7c7c 47,0xbc7777 46,0xba7575 45,0xb97272 44,0xb87070 42,0xb56b6b 41,0xb46868 38,0xb06060 36,0xae5b5b 35,0xac5959 34,0xab5656 33,0xaa5454 32,0xa85151 32,0xa85151 32,0xa85151 35,0xac5959 40,0xb36666 48,0xbd7a7a 39,0xb16363 65,0xd3a5a5 70,0xd9b2b2 99,0xfefcfc 90,0xf3e5e5 100,0xFFFFFF 66,0xd4a8a8 68,0xd7adad 48,0xbd7a7a 47,0xbc7777 48,0xbd7a7a 51,0xc18282 98,0xfdf9f9 70,0xd9b2b2 80,0xe6cccc 100,0xFFFFFF 53,0xc38787 33,0xaa5454 32,0xa85151 33,0xaa5454 35,0xac5959 37,0xaf5e5e 38,0xb06060 38,0xb06060 41,0xb46868 44,0xb87070 47,0xbc7777 49,0xbe7c7c 49,0xbe7c7c 51,0xc18282 73,0xddbaba 63,0xd0a0a0 97,0xfcf7f7 96,0xfaf4f4 40,0xb36666 38,0xb06060 36,0xae5b5b 34,0xab5656 100,0xFFFFFF 43,0xb76d6d 47,0xbc7777 84,0xebd6d6 55,0xc68c8c 100,0xFFFFFF 57,0xc89191 48,0xbd7a7a 24,0x9e3d3d 18,0x972d2d 14,0x912323 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 11,0x8e1c1c 10,0x8c1919 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 13,0x902121 13,0x902121 14,0x912323 14,0x912323 15,0x932626 15,0x932626 16,0x942828 17,0x952b2b 17,0x952b2b 18,0x972d2d 19,0x983030 19,0x983030 20,0x993333 21,0x9a3535 23,0x9d3a3a 31,0xa74f4f 100,0xFFFFFF 26,0xa14242 26,0xa14242 27,0xa24444 29,0xa54949 32,0xa85151 36,0xae5b5b 49,0xbe7c7c 71,0xdab5b5 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 80,0xe6cccc 86,0xeedbdb 44,0xb87070 44,0xb87070 100,0xFFFFFF 64,0xd1a3a3 39,0xb16363 34,0xab5656 33,0xaa5454 33,0xaa5454 33,0xaa5454 32,0xa85151 32,0xa85151 32,0xa85151 32,0xa85151 32,0xa85151 32,0xa85151 33,0xaa5454 33,0xaa5454 33,0xaa5454 34,0xab5656 34,0xab5656 35,0xac5959 36,0xae5b5b 44,0xb87070 44,0xb87070 49,0xbe7c7c 86,0xeedbdb 88,0xf0e0e0 100,0xFFFFFF 91,0xf4e8e8 68,0xd7adad 38,0xb06060 44,0xb87070 37,0xaf5e5e 39,0xb16363 42,0xb56b6b 45,0xb97272 66,0xd4a8a8 97,0xfcf7f7 84,0xebd6d6 24,0x9e3d3d 19,0x983030 18,0x972d2d 17,0x952b2b 16,0x942828 15,0x932626 14,0x912323 13,0x902121 13,0x902121 13,0x902121 13,0x902121 13,0x902121 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 13,0x902121 14,0x912323 14,0x912323 16,0x942828 21,0x9a3535 42,0xb56b6b 65,0xd3a5a5 100,0xFFFFFF 66,0xd4a8a8 82,0xe8d1d1 43,0xb76d6d 40,0xb36666 29,0xa54949 24,0x9e3d3d 23,0x9d3a3a 22,0x9c3838 21,0x9a3535 20,0x993333 20,0x993333 19,0x983030 19,0x983030 18,0x972d2d 18,0x972d2d 18,0x972d2d 17,0x952b2b 17,0x952b2b 16,0x942828 16,0x942828 16,0x942828 16,0x942828 15,0x932626 15,0x932626 15,0x932626 15,0x932626 14,0x912323 14,0x912323 14,0x912323 14,0x912323 14,0x912323 14,0x912323 14,0x912323 14,0x912323 14,0x912323 14,0x912323 14,0x912323 14,0x912323 15,0x932626 15,0x932626 16,0x942828 19,0x983030 30,0xa64c4c 25,0xa03f3f 100,0xFFFFFF 25,0xa03f3f 21,0x9a3535 19,0x983030 18,0x972d2d 18,0x972d2d 18,0x972d2d 19,0x983030 22,0x9c3838 59,0xcb9696 41,0xb46868 68,0xd7adad 58,0xca9393 61,0xce9b9b 70,0xd9b2b2 100,0xFFFFFF 53,0xc38787 44,0xb87070 43,0xb76d6d 42,0xb56b6b 42,0xb56b6b 42,0xb56b6b 78,0xe3c6c6 82,0xe8d1d1 100,0xFFFFFF 85,0xecd8d8 62,0xcf9e9e 53,0xc38787 52,0xc28484 100,0xFFFFFF 51,0xc18282 53,0xc38787 54,0xc58989 55,0xc68c8c 72,0xdcb7b7 48,0xbd7a7a 77,0xe2c4c4 45,0xb97272 37,0xaf5e5e 100,0xFFFFFF 62,0xcf9e9e 89,0xf1e2e2 100,0xFFFFFF 66,0xd4a8a8 71,0xdab5b5 24,0x9e3d3d 14,0x912323 12,0x8f1e1e 12,0x8f1e1e 11,0x8e1c1c 11,0x8e1c1c 10,0x8c1919 10,0x8c1919 10,0x8c1919 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 10,0x8c1919 11,0x8e1c1c 11,0x8e1c1c 13,0x902121 15,0x932626 18,0x972d2d 25,0xa03f3f 49,0xbe7c7c 84,0xebd6d6 100,0xFFFFFF 100,0xFFFFFF 76,0xe1c1c1 72,0xdcb7b7 35,0xac5959 38,0xb06060 48,0xbd7a7a 57,0xc89191 100,0xFFFFFF 73,0xddbaba 67,0xd5aaaa 58,0xca9393 77,0xe2c4c4 89,0xf1e2e2 30,0xa64c4c 71,0xdab5b5 100,0xFFFFFF 47,0xbc7777 45,0xb97272 100,0xFFFFFF 58,0xca9393 72,0xdcb7b7 48,0xbd7a7a 39,0xb16363 37,0xaf5e5e 100,0xFFFFFF 66,0xd4a8a8 10,0x8c1919 9,0x8b1616 7,0x881111 7,0x881111 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c + 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 9,0x8b1616 9,0x8b1616 10,0x8c1919 11,0x8e1c1c 12,0x8f1e1e 54,0xc58989 42,0xb56b6b 49,0xbe7c7c 100,0xFFFFFF 37,0xaf5e5e 37,0xaf5e5e 52,0xc28484 74,0xdebcbc 63,0xd0a0a0 57,0xc89191 91,0xf4e8e8 71,0xdab5b5 94,0xf8efef 69,0xd8afaf 67,0xd5aaaa 64,0xd1a3a3 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 69,0xd8afaf 59,0xcb9696 52,0xc28484 100,0xFFFFFF 51,0xc18282 79,0xe5c9c9 41,0xb46868 39,0xb16363 37,0xaf5e5e 36,0xae5b5b 35,0xac5959 34,0xab5656 33,0xaa5454 32,0xa85151 32,0xa85151 32,0xa85151 33,0xaa5454 35,0xac5959 35,0xac5959 37,0xaf5e5e 92,0xf5eaea 40,0xb36666 42,0xb56b6b 75,0xe0bfbf 100,0xFFFFFF 48,0xbd7a7a 48,0xbd7a7a 46,0xba7575 46,0xba7575 47,0xbc7777 53,0xc38787 55,0xc68c8c 47,0xbc7777 57,0xc89191 46,0xba7575 83,0xead3d3 30,0xa64c4c 30,0xa64c4c 33,0xaa5454 64,0xd1a3a3 100,0xFFFFFF 40,0xb36666 41,0xb46868 61,0xce9b9b 47,0xbc7777 46,0xba7575 47,0xbc7777 47,0xbc7777 52,0xc28484 84,0xebd6d6 100,0xFFFFFF 100,0xFFFFFF 48,0xbd7a7a 40,0xb36666 37,0xaf5e5e 36,0xae5b5b 39,0xb16363 93,0xf7eded 63,0xd0a0a0 57,0xc89191 72,0xdcb7b7 88,0xf0e0e0 90,0xf3e5e5 68,0xd7adad 46,0xba7575 33,0xaa5454 74,0xdebcbc 29,0xa54949 67,0xd5aaaa 14,0x912323 14,0x912323 100,0xFFFFFF 44,0xb87070 16,0x942828 11,0x8e1c1c 10,0x8c1919 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 13,0x902121 13,0x902121 14,0x912323 14,0x912323 15,0x932626 15,0x932626 16,0x942828 16,0x942828 17,0x952b2b 17,0x952b2b 18,0x972d2d 19,0x983030 19,0x983030 19,0x983030 20,0x993333 21,0x9a3535 24,0x9e3d3d 26,0xa14242 24,0x9e3d3d 24,0x9e3d3d 25,0xa03f3f 27,0xa24444 45,0xb97272 43,0xb76d6d 89,0xf1e2e2 49,0xbe7c7c 80,0xe6cccc 62,0xcf9e9e 61,0xce9b9b 59,0xcb9696 62,0xcf9e9e 39,0xb16363 43,0xb76d6d 56,0xc78e8e 37,0xaf5e5e 34,0xab5656 33,0xaa5454 33,0xaa5454 32,0xa85151 32,0xa85151 32,0xa85151 31,0xa74f4f 31,0xa74f4f 31,0xa74f4f 32,0xa85151 32,0xa85151 32,0xa85151 33,0xaa5454 33,0xaa5454 33,0xaa5454 34,0xab5656 35,0xac5959 36,0xae5b5b 42,0xb56b6b 54,0xc58989 73,0xddbaba 67,0xd5aaaa 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 41,0xb46868 34,0xab5656 33,0xaa5454 35,0xac5959 83,0xead3d3 63,0xd0a0a0 47,0xbc7777 96,0xfaf4f4 87,0xefdddd 91,0xf4e8e8 33,0xaa5454 20,0x993333 17,0x952b2b 16,0x942828 15,0x932626 15,0x932626 14,0x912323 13,0x902121 13,0x902121 13,0x902121 13,0x902121 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 13,0x902121 13,0x902121 14,0x912323 15,0x932626 27,0xa24444 38,0xb06060 91,0xf4e8e8 100,0xFFFFFF 89,0xf1e2e2 55,0xc68c8c 64,0xd1a3a3 99,0xfefcfc 84,0xebd6d6 26,0xa14242 24,0x9e3d3d 23,0x9d3a3a 21,0x9a3535 20,0x993333 20,0x993333 19,0x983030 19,0x983030 18,0x972d2d 18,0x972d2d 18,0x972d2d 17,0x952b2b 17,0x952b2b 16,0x942828 16,0x942828 16,0x942828 16,0x942828 16,0x942828 15,0x932626 15,0x932626 15,0x932626 14,0x912323 14,0x912323 14,0x912323 14,0x912323 14,0x912323 14,0x912323 14,0x912323 14,0x912323 14,0x912323 14,0x912323 14,0x912323 15,0x932626 15,0x932626 15,0x932626 17,0x952b2b 36,0xae5b5b 100,0xFFFFFF 44,0xb87070 69,0xd8afaf 52,0xc28484 61,0xce9b9b 23,0x9d3a3a 19,0x983030 19,0x983030 19,0x983030 20,0x993333 21,0x9a3535 36,0xae5b5b 35,0xac5959 70,0xd9b2b2 52,0xc28484 53,0xc38787 86,0xeedbdb 100,0xFFFFFF 46,0xba7575 43,0xb76d6d 43,0xb76d6d 43,0xb76d6d 43,0xb76d6d 45,0xb97272 93,0xf7eded 100,0xFFFFFF 100,0xFFFFFF 97,0xfcf7f7 78,0xe3c6c6 100,0xFFFFFF 60,0xcc9999 56,0xc78e8e 53,0xc38787 53,0xc38787 52,0xc28484 51,0xc18282 100,0xFFFFFF 44,0xb87070 43,0xb76d6d 40,0xb36666 40,0xb36666 88,0xf0e0e0 56,0xc78e8e 74,0xdebcbc 72,0xdcb7b7 49,0xbe7c7c 32,0xa85151 18,0x972d2d 14,0x912323 13,0x902121 12,0x8f1e1e 11,0x8e1c1c 11,0x8e1c1c 10,0x8c1919 10,0x8c1919 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 10,0x8c1919 11,0x8e1c1c 15,0x932626 75,0xe0bfbf 21,0x9a3535 53,0xc38787 42,0xb56b6b 74,0xdebcbc 100,0xFFFFFF 76,0xe1c1c1 51,0xc18282 43,0xb76d6d 36,0xae5b5b 39,0xb16363 100,0xFFFFFF 74,0xdebcbc 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 71,0xdab5b5 100,0xFFFFFF 100,0xFFFFFF 25,0xa03f3f 27,0xa24444 100,0xFFFFFF 100,0xFFFFFF 35,0xac5959 100,0xFFFFFF 46,0xba7575 37,0xaf5e5e 100,0xFFFFFF 55,0xc68c8c 25,0xa03f3f 72,0xdcb7b7 19,0x983030 9,0x8b1616 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c + 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 8,0x8a1414 9,0x8b1616 9,0x8b1616 10,0x8c1919 11,0x8e1c1c 12,0x8f1e1e 13,0x902121 15,0x932626 22,0x9c3838 32,0xa85151 30,0xa64c4c 37,0xaf5e5e 38,0xb06060 43,0xb76d6d 50,0xc07f7f 58,0xca9393 61,0xce9b9b 100,0xFFFFFF 86,0xeedbdb 73,0xddbaba 73,0xddbaba 100,0xFFFFFF 100,0xFFFFFF 72,0xdcb7b7 100,0xFFFFFF 100,0xFFFFFF 79,0xe5c9c9 60,0xcc9999 56,0xc78e8e 100,0xFFFFFF 90,0xf3e5e5 100,0xFFFFFF 100,0xFFFFFF 40,0xb36666 38,0xb06060 36,0xae5b5b 35,0xac5959 34,0xab5656 34,0xab5656 33,0xaa5454 33,0xaa5454 33,0xaa5454 33,0xaa5454 34,0xab5656 34,0xab5656 35,0xac5959 37,0xaf5e5e 37,0xaf5e5e 38,0xb06060 40,0xb36666 42,0xb56b6b 44,0xb87070 44,0xb87070 45,0xb97272 44,0xb87070 44,0xb87070 65,0xd3a5a5 39,0xb16363 40,0xb36666 52,0xc28484 35,0xac5959 30,0xa64c4c 29,0xa54949 29,0xa54949 42,0xb56b6b 44,0xb87070 57,0xc89191 44,0xb87070 76,0xe1c1c1 55,0xc68c8c 49,0xbe7c7c 48,0xbd7a7a 47,0xbc7777 43,0xb76d6d 88,0xf0e0e0 45,0xb97272 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 36,0xae5b5b 36,0xae5b5b 37,0xaf5e5e 40,0xb36666 49,0xbe7c7c 57,0xc89191 79,0xe5c9c9 85,0xecd8d8 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 43,0xb76d6d 58,0xca9393 65,0xd3a5a5 82,0xe8d1d1 20,0x993333 17,0x952b2b 100,0xFFFFFF 20,0x993333 13,0x902121 11,0x8e1c1c 10,0x8c1919 10,0x8c1919 10,0x8c1919 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 10,0x8c1919 10,0x8c1919 10,0x8c1919 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 13,0x902121 14,0x912323 14,0x912323 14,0x912323 15,0x932626 16,0x942828 16,0x942828 17,0x952b2b 17,0x952b2b 17,0x952b2b 18,0x972d2d 19,0x983030 19,0x983030 19,0x983030 20,0x993333 21,0x9a3535 22,0x9c3838 22,0x9c3838 23,0x9d3a3a 23,0x9d3a3a 24,0x9e3d3d 26,0xa14242 55,0xc68c8c 29,0xa54949 32,0xa85151 35,0xac5959 97,0xfcf7f7 66,0xd4a8a8 39,0xb16363 55,0xc68c8c 100,0xFFFFFF 35,0xac5959 100,0xFFFFFF 43,0xb76d6d 38,0xb06060 34,0xab5656 32,0xa85151 32,0xa85151 32,0xa85151 31,0xa74f4f 31,0xa74f4f 31,0xa74f4f 31,0xa74f4f 31,0xa74f4f 31,0xa74f4f 32,0xa85151 32,0xa85151 32,0xa85151 33,0xaa5454 34,0xab5656 34,0xab5656 35,0xac5959 37,0xaf5e5e 39,0xb16363 100,0xFFFFFF 65,0xd3a5a5 70,0xd9b2b2 100,0xFFFFFF 57,0xc89191 100,0xFFFFFF 31,0xa74f4f 31,0xa74f4f 33,0xaa5454 36,0xae5b5b 38,0xb06060 100,0xFFFFFF 62,0xcf9e9e 61,0xce9b9b 91,0xf4e8e8 100,0xFFFFFF 65,0xd3a5a5 21,0x9a3535 17,0x952b2b 16,0x942828 15,0x932626 15,0x932626 14,0x912323 13,0x902121 13,0x902121 13,0x902121 13,0x902121 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 13,0x902121 13,0x902121 14,0x912323 15,0x932626 17,0x952b2b 26,0xa14242 71,0xdab5b5 100,0xFFFFFF 72,0xdcb7b7 100,0xFFFFFF 84,0xebd6d6 80,0xe6cccc 57,0xc89191 77,0xe2c4c4 66,0xd4a8a8 100,0xFFFFFF 21,0x9a3535 20,0x993333 20,0x993333 19,0x983030 19,0x983030 18,0x972d2d 18,0x972d2d 18,0x972d2d 17,0x952b2b 17,0x952b2b 16,0x942828 16,0x942828 16,0x942828 16,0x942828 16,0x942828 16,0x942828 15,0x932626 15,0x932626 15,0x932626 15,0x932626 14,0x912323 14,0x912323 14,0x912323 14,0x912323 14,0x912323 14,0x912323 14,0x912323 15,0x932626 15,0x932626 15,0x932626 15,0x932626 16,0x942828 17,0x952b2b 73,0xddbaba 100,0xFFFFFF 27,0xa24444 27,0xa24444 30,0xa64c4c 96,0xfaf4f4 97,0xfcf7f7 22,0x9c3838 20,0x993333 20,0x993333 20,0x993333 21,0x9a3535 25,0xa03f3f 29,0xa54949 100,0xFFFFFF 100,0xFFFFFF 54,0xc58989 43,0xb76d6d 55,0xc68c8c 41,0xb46868 42,0xb56b6b 42,0xb56b6b 43,0xb76d6d 44,0xb87070 50,0xc07f7f 58,0xca9393 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 70,0xd9b2b2 75,0xe0bfbf 59,0xcb9696 56,0xc78e8e 54,0xc58989 55,0xc68c8c 55,0xc68c8c 51,0xc18282 48,0xbd7a7a 45,0xb97272 42,0xb56b6b 41,0xb46868 41,0xb46868 42,0xb56b6b 45,0xb97272 52,0xc28484 73,0xddbaba 41,0xb46868 76,0xe1c1c1 100,0xFFFFFF 15,0x932626 13,0x902121 13,0x902121 11,0x8e1c1c 11,0x8e1c1c 10,0x8c1919 10,0x8c1919 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 10,0x8c1919 10,0x8c1919 31,0xa74f4f 20,0x993333 100,0xFFFFFF 54,0xc58989 25,0xa03f3f 35,0xac5959 53,0xc38787 100,0xFFFFFF 81,0xe7cece 25,0xa03f3f 31,0xa74f4f 53,0xc38787 50,0xc07f7f 89,0xf1e2e2 100,0xFFFFFF 100,0xFFFFFF 99,0xfefcfc 62,0xcf9e9e 44,0xb87070 100,0xFFFFFF 22,0x9c3838 37,0xaf5e5e 29,0xa54949 36,0xae5b5b 24,0x9e3d3d 28,0xa34747 36,0xae5b5b 39,0xb16363 28,0xa34747 19,0x983030 16,0x942828 37,0xaf5e5e 14,0x912323 10,0x8c1919 8,0x8a1414 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a + 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 10,0x8c1919 11,0x8e1c1c 31,0xa74f4f 18,0x972d2d 14,0x912323 14,0x912323 15,0x932626 18,0x972d2d 35,0xac5959 30,0xa64c4c 47,0xbc7777 41,0xb46868 45,0xb97272 59,0xcb9696 63,0xd0a0a0 100,0xFFFFFF 74,0xdebcbc 81,0xe7cece 100,0xFFFFFF 87,0xefdddd 90,0xf3e5e5 98,0xfdf9f9 82,0xe8d1d1 78,0xe3c6c6 80,0xe6cccc 78,0xe3c6c6 71,0xdab5b5 62,0xcf9e9e 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 64,0xd1a3a3 44,0xb87070 41,0xb46868 58,0xca9393 35,0xac5959 34,0xab5656 34,0xab5656 33,0xaa5454 33,0xaa5454 33,0xaa5454 33,0xaa5454 33,0xaa5454 34,0xab5656 34,0xab5656 35,0xac5959 36,0xae5b5b 38,0xb06060 39,0xb16363 42,0xb56b6b 44,0xb87070 44,0xb87070 45,0xb97272 44,0xb87070 42,0xb56b6b 39,0xb16363 36,0xae5b5b 37,0xaf5e5e 62,0xcf9e9e 31,0xa74f4f 28,0xa34747 27,0xa24444 28,0xa34747 32,0xa85151 48,0xbd7a7a 33,0xaa5454 100,0xFFFFFF 72,0xdcb7b7 64,0xd1a3a3 53,0xc38787 61,0xce9b9b 100,0xFFFFFF 43,0xb76d6d 38,0xb06060 42,0xb56b6b 56,0xc78e8e 35,0xac5959 33,0xaa5454 34,0xab5656 37,0xaf5e5e 38,0xb06060 40,0xb36666 96,0xfaf4f4 100,0xFFFFFF 69,0xd8afaf 84,0xebd6d6 100,0xFFFFFF 100,0xFFFFFF 90,0xf3e5e5 62,0xcf9e9e 94,0xf8efef 53,0xc38787 83,0xead3d3 26,0xa14242 28,0xa34747 22,0x9c3838 33,0xaa5454 39,0xb16363 13,0x902121 11,0x8e1c1c 11,0x8e1c1c 10,0x8c1919 10,0x8c1919 10,0x8c1919 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 11,0x8e1c1c 11,0x8e1c1c 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 13,0x902121 14,0x912323 15,0x932626 15,0x932626 16,0x942828 16,0x942828 16,0x942828 17,0x952b2b 17,0x952b2b 18,0x972d2d 18,0x972d2d 18,0x972d2d 19,0x983030 19,0x983030 19,0x983030 20,0x993333 21,0x9a3535 21,0x9a3535 22,0x9c3838 22,0x9c3838 23,0x9d3a3a 23,0x9d3a3a 24,0x9e3d3d 25,0xa03f3f 26,0xa14242 28,0xa34747 88,0xf0e0e0 32,0xa85151 32,0xa85151 57,0xc89191 41,0xb46868 100,0xFFFFFF 33,0xaa5454 34,0xab5656 40,0xb36666 41,0xb46868 32,0xa85151 32,0xa85151 32,0xa85151 31,0xa74f4f 31,0xa74f4f 31,0xa74f4f 31,0xa74f4f 31,0xa74f4f 31,0xa74f4f 31,0xa74f4f 31,0xa74f4f 32,0xa85151 32,0xa85151 33,0xaa5454 34,0xab5656 35,0xac5959 36,0xae5b5b 37,0xaf5e5e 41,0xb46868 57,0xc89191 91,0xf4e8e8 76,0xe1c1c1 36,0xae5b5b 33,0xaa5454 29,0xa54949 28,0xa34747 29,0xa54949 65,0xd3a5a5 71,0xdab5b5 47,0xbc7777 100,0xFFFFFF 78,0xe3c6c6 73,0xddbaba 75,0xe0bfbf 63,0xd0a0a0 39,0xb16363 32,0xa85151 18,0x972d2d 16,0x942828 15,0x932626 15,0x932626 14,0x912323 14,0x912323 13,0x902121 13,0x902121 13,0x902121 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 13,0x902121 13,0x902121 14,0x912323 15,0x932626 16,0x942828 20,0x993333 31,0xa74f4f 52,0xc28484 100,0xFFFFFF 100,0xFFFFFF 44,0xb87070 40,0xb36666 34,0xab5656 55,0xc68c8c 77,0xe2c4c4 24,0x9e3d3d 22,0x9c3838 21,0x9a3535 20,0x993333 20,0x993333 19,0x983030 18,0x972d2d 18,0x972d2d 18,0x972d2d 18,0x972d2d 17,0x952b2b 17,0x952b2b 16,0x942828 16,0x942828 16,0x942828 16,0x942828 16,0x942828 16,0x942828 15,0x932626 15,0x932626 15,0x932626 15,0x932626 15,0x932626 15,0x932626 14,0x912323 15,0x932626 15,0x932626 15,0x932626 15,0x932626 15,0x932626 15,0x932626 16,0x942828 16,0x942828 17,0x952b2b 18,0x972d2d 20,0x993333 22,0x9c3838 24,0x9e3d3d 27,0xa24444 31,0xa74f4f 100,0xFFFFFF 41,0xb46868 21,0x9a3535 21,0x9a3535 21,0x9a3535 22,0x9c3838 23,0x9d3a3a 25,0xa03f3f 28,0xa34747 32,0xa85151 34,0xab5656 36,0xae5b5b 38,0xb06060 40,0xb36666 42,0xb56b6b 43,0xb76d6d 44,0xb87070 44,0xb87070 46,0xba7575 100,0xFFFFFF 67,0xd5aaaa 100,0xFFFFFF 100,0xFFFFFF 66,0xd4a8a8 65,0xd3a5a5 60,0xcc9999 58,0xca9393 87,0xefdddd 58,0xca9393 82,0xe8d1d1 100,0xFFFFFF 60,0xcc9999 51,0xc18282 45,0xb97272 44,0xb87070 40,0xb36666 41,0xb46868 48,0xbd7a7a 64,0xd1a3a3 40,0xb36666 39,0xb16363 32,0xa85151 91,0xf4e8e8 16,0x942828 15,0x932626 16,0x942828 12,0x8f1e1e 11,0x8e1c1c 10,0x8c1919 9,0x8b1616 9,0x8b1616 9,0x8b1616 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 10,0x8c1919 33,0xaa5454 57,0xc89191 12,0x8f1e1e 12,0x8f1e1e 32,0xa85151 19,0x983030 31,0xa74f4f 16,0x942828 17,0x952b2b 20,0x993333 23,0x9d3a3a 85,0xecd8d8 46,0xba7575 61,0xce9b9b 88,0xf0e0e0 100,0xFFFFFF 100,0xFFFFFF 54,0xc58989 72,0xdcb7b7 39,0xb16363 17,0x952b2b 25,0xa03f3f 17,0x952b2b 17,0x952b2b 34,0xab5656 50,0xc07f7f 65,0xd3a5a5 99,0xfefcfc 79,0xe5c9c9 17,0x952b2b 13,0x902121 64,0xd1a3a3 50,0xc07f7f 48,0xbd7a7a 8,0x8a1414 7,0x881111 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a + 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 8,0x8a1414 10,0x8c1919 100,0xFFFFFF 15,0x932626 76,0xe1c1c1 34,0xab5656 54,0xc58989 17,0x952b2b 17,0x952b2b 18,0x972d2d 22,0x9c3838 53,0xc38787 100,0xFFFFFF 48,0xbd7a7a 100,0xFFFFFF 100,0xFFFFFF 70,0xd9b2b2 100,0xFFFFFF 100,0xFFFFFF 87,0xefdddd 100,0xFFFFFF 100,0xFFFFFF 94,0xf8efef 100,0xFFFFFF 100,0xFFFFFF 94,0xf8efef 75,0xe0bfbf 70,0xd9b2b2 68,0xd7adad 66,0xd4a8a8 72,0xdcb7b7 100,0xFFFFFF 83,0xead3d3 100,0xFFFFFF 78,0xe3c6c6 50,0xc07f7f 46,0xba7575 37,0xaf5e5e 35,0xac5959 35,0xac5959 34,0xab5656 33,0xaa5454 32,0xa85151 32,0xa85151 33,0xaa5454 34,0xab5656 34,0xab5656 35,0xac5959 36,0xae5b5b 37,0xaf5e5e 68,0xd7adad 77,0xe2c4c4 46,0xba7575 46,0xba7575 47,0xbc7777 82,0xe8d1d1 100,0xFFFFFF 41,0xb46868 35,0xac5959 33,0xaa5454 100,0xFFFFFF 55,0xc68c8c 27,0xa24444 26,0xa14242 26,0xa14242 27,0xa24444 29,0xa54949 30,0xa64c4c 64,0xd1a3a3 81,0xe7cece 58,0xca9393 100,0xFFFFFF 75,0xe0bfbf 67,0xd5aaaa 49,0xbe7c7c 34,0xab5656 100,0xFFFFFF 31,0xa74f4f 30,0xa64c4c 31,0xa74f4f 69,0xd8afaf 100,0xFFFFFF 40,0xb36666 41,0xb46868 46,0xba7575 100,0xFFFFFF 67,0xd5aaaa 83,0xead3d3 85,0xecd8d8 100,0xFFFFFF 100,0xFFFFFF 55,0xc68c8c 45,0xb97272 30,0xa64c4c 37,0xaf5e5e 21,0x9a3535 35,0xac5959 100,0xFFFFFF 44,0xb87070 16,0x942828 13,0x902121 11,0x8e1c1c 11,0x8e1c1c 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 11,0x8e1c1c 11,0x8e1c1c 12,0x8f1e1e 12,0x8f1e1e 13,0x902121 14,0x912323 17,0x952b2b 23,0x9d3a3a 16,0x942828 18,0x972d2d 29,0xa54949 18,0x972d2d 19,0x983030 19,0x983030 18,0x972d2d 18,0x972d2d 18,0x972d2d 19,0x983030 19,0x983030 19,0x983030 19,0x983030 20,0x993333 21,0x9a3535 21,0x9a3535 22,0x9c3838 22,0x9c3838 23,0x9d3a3a 23,0x9d3a3a 23,0x9d3a3a 24,0x9e3d3d 25,0xa03f3f 26,0xa14242 28,0xa34747 28,0xa34747 29,0xa54949 37,0xaf5e5e 32,0xa85151 31,0xa74f4f 31,0xa74f4f 31,0xa74f4f 33,0xaa5454 33,0xaa5454 32,0xa85151 31,0xa74f4f 31,0xa74f4f 31,0xa74f4f 31,0xa74f4f 31,0xa74f4f 31,0xa74f4f 31,0xa74f4f 31,0xa74f4f 31,0xa74f4f 31,0xa74f4f 31,0xa74f4f 32,0xa85151 33,0xaa5454 36,0xae5b5b 45,0xb97272 100,0xFFFFFF 40,0xb36666 48,0xbd7a7a 96,0xfaf4f4 37,0xaf5e5e 29,0xa54949 29,0xa54949 28,0xa34747 27,0xa24444 26,0xa14242 28,0xa34747 57,0xc89191 33,0xaa5454 31,0xa74f4f 61,0xce9b9b 45,0xb97272 38,0xb06060 44,0xb87070 43,0xb76d6d 27,0xa24444 27,0xa24444 18,0x972d2d 16,0x942828 15,0x932626 15,0x932626 14,0x912323 14,0x912323 13,0x902121 13,0x902121 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 12,0x8f1e1e 12,0x8f1e1e 13,0x902121 13,0x902121 15,0x932626 16,0x942828 17,0x952b2b 19,0x983030 23,0x9d3a3a 32,0xa85151 41,0xb46868 41,0xb46868 40,0xb36666 36,0xae5b5b 32,0xa85151 30,0xa64c4c 26,0xa14242 24,0x9e3d3d 22,0x9c3838 22,0x9c3838 21,0x9a3535 20,0x993333 19,0x983030 18,0x972d2d 18,0x972d2d 18,0x972d2d 18,0x972d2d 17,0x952b2b 17,0x952b2b 16,0x942828 16,0x942828 16,0x942828 16,0x942828 16,0x942828 16,0x942828 16,0x942828 16,0x942828 15,0x932626 15,0x932626 15,0x932626 15,0x932626 15,0x932626 15,0x932626 15,0x932626 15,0x932626 15,0x932626 16,0x942828 16,0x942828 16,0x942828 17,0x952b2b 17,0x952b2b 18,0x972d2d 20,0x993333 22,0x9c3838 40,0xb36666 63,0xd0a0a0 34,0xab5656 56,0xc78e8e 25,0xa03f3f 22,0x9c3838 22,0x9c3838 22,0x9c3838 22,0x9c3838 23,0x9d3a3a 25,0xa03f3f 28,0xa34747 31,0xa74f4f 33,0xaa5454 34,0xab5656 39,0xb16363 100,0xFFFFFF 47,0xbc7777 44,0xb87070 44,0xb87070 45,0xb97272 48,0xbd7a7a 52,0xc28484 56,0xc78e8e 61,0xce9b9b 64,0xd1a3a3 65,0xd3a5a5 64,0xd1a3a3 64,0xd1a3a3 70,0xd9b2b2 73,0xddbaba 65,0xd3a5a5 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 56,0xc78e8e 54,0xc58989 64,0xd1a3a3 43,0xb76d6d 36,0xae5b5b 35,0xac5959 84,0xebd6d6 25,0xa03f3f 23,0x9d3a3a 24,0x9e3d3d 29,0xa54949 20,0x993333 24,0x9e3d3d 100,0xFFFFFF 14,0x912323 11,0x8e1c1c 10,0x8c1919 9,0x8b1616 9,0x8b1616 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 10,0x8c1919 10,0x8c1919 10,0x8c1919 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 13,0x902121 14,0x912323 16,0x942828 18,0x972d2d 65,0xd3a5a5 34,0xab5656 100,0xFFFFFF 54,0xc58989 100,0xFFFFFF 49,0xbe7c7c 82,0xe8d1d1 20,0x993333 18,0x972d2d 14,0x912323 14,0x912323 15,0x932626 15,0x932626 18,0x972d2d 23,0x9d3a3a 38,0xb06060 66,0xd4a8a8 89,0xf1e2e2 14,0x912323 10,0x8c1919 10,0x8c1919 10,0x8c1919 9,0x8b1616 7,0x881111 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a + 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 9,0x8b1616 14,0x912323 77,0xe2c4c4 27,0xa24444 19,0x983030 99,0xfefcfc 21,0x9a3535 18,0x972d2d 19,0x983030 22,0x9c3838 78,0xe3c6c6 100,0xFFFFFF 49,0xbe7c7c 53,0xc38787 64,0xd1a3a3 72,0xdcb7b7 82,0xe8d1d1 93,0xf7eded 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 68,0xd7adad 67,0xd5aaaa 68,0xd7adad 73,0xddbaba 100,0xFFFFFF 52,0xc28484 48,0xbd7a7a 54,0xc58989 41,0xb46868 38,0xb06060 37,0xaf5e5e 38,0xb06060 34,0xab5656 32,0xa85151 32,0xa85151 32,0xa85151 32,0xa85151 33,0xaa5454 35,0xac5959 36,0xae5b5b 36,0xae5b5b 38,0xb06060 42,0xb56b6b 55,0xc68c8c 48,0xbd7a7a 48,0xbd7a7a 77,0xe2c4c4 63,0xd0a0a0 100,0xFFFFFF 50,0xc07f7f 100,0xFFFFFF 33,0xaa5454 27,0xa24444 25,0xa03f3f 25,0xa03f3f 25,0xa03f3f 26,0xa14242 27,0xa24444 28,0xa34747 30,0xa64c4c 36,0xae5b5b 42,0xb56b6b 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 80,0xe6cccc 64,0xd1a3a3 36,0xae5b5b 28,0xa34747 28,0xa34747 28,0xa34747 30,0xa64c4c 100,0xFFFFFF 90,0xf3e5e5 43,0xb76d6d 74,0xdebcbc 46,0xba7575 59,0xcb9696 99,0xfefcfc 100,0xFFFFFF 66,0xd4a8a8 69,0xd8afaf 97,0xfcf7f7 51,0xc18282 81,0xe7cece 39,0xb16363 22,0x9c3838 19,0x983030 19,0x983030 18,0x972d2d 16,0x942828 13,0x902121 12,0x8f1e1e 11,0x8e1c1c 11,0x8e1c1c 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 11,0x8e1c1c 11,0x8e1c1c 12,0x8f1e1e 13,0x902121 13,0x902121 14,0x912323 14,0x912323 92,0xf5eaea 25,0xa03f3f 22,0x9c3838 63,0xd0a0a0 33,0xaa5454 66,0xd4a8a8 42,0xb56b6b 23,0x9d3a3a 21,0x9a3535 20,0x993333 19,0x983030 19,0x983030 19,0x983030 20,0x993333 20,0x993333 20,0x993333 21,0x9a3535 21,0x9a3535 21,0x9a3535 22,0x9c3838 23,0x9d3a3a 23,0x9d3a3a 23,0x9d3a3a 24,0x9e3d3d 25,0xa03f3f 25,0xa03f3f 26,0xa14242 27,0xa24444 27,0xa24444 28,0xa34747 29,0xa54949 30,0xa64c4c 30,0xa64c4c 30,0xa64c4c 30,0xa64c4c 31,0xa74f4f 31,0xa74f4f 31,0xa74f4f 31,0xa74f4f 31,0xa74f4f 31,0xa74f4f 31,0xa74f4f 31,0xa74f4f 30,0xa64c4c 30,0xa64c4c 31,0xa74f4f 31,0xa74f4f 31,0xa74f4f 32,0xa85151 33,0xaa5454 100,0xFFFFFF 100,0xFFFFFF 45,0xb97272 47,0xbc7777 100,0xFFFFFF 34,0xab5656 29,0xa54949 27,0xa24444 26,0xa14242 25,0xa03f3f 25,0xa03f3f 25,0xa03f3f 26,0xa14242 31,0xa74f4f 65,0xd3a5a5 27,0xa24444 27,0xa24444 31,0xa74f4f 40,0xb36666 59,0xcb9696 83,0xead3d3 69,0xd8afaf 20,0x993333 17,0x952b2b 16,0x942828 15,0x932626 15,0x932626 14,0x912323 14,0x912323 13,0x902121 13,0x902121 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 12,0x8f1e1e 12,0x8f1e1e 13,0x902121 14,0x912323 17,0x952b2b 24,0x9e3d3d 21,0x9a3535 20,0x993333 25,0xa03f3f 35,0xac5959 54,0xc58989 42,0xb56b6b 44,0xb87070 100,0xFFFFFF 42,0xb56b6b 32,0xa85151 32,0xa85151 29,0xa54949 25,0xa03f3f 22,0x9c3838 22,0x9c3838 21,0x9a3535 20,0x993333 19,0x983030 18,0x972d2d 18,0x972d2d 18,0x972d2d 18,0x972d2d 17,0x952b2b 17,0x952b2b 16,0x942828 16,0x942828 16,0x942828 16,0x942828 16,0x942828 16,0x942828 16,0x942828 16,0x942828 16,0x942828 16,0x942828 16,0x942828 16,0x942828 16,0x942828 16,0x942828 16,0x942828 16,0x942828 16,0x942828 16,0x942828 16,0x942828 17,0x952b2b 18,0x972d2d 19,0x983030 21,0x9a3535 39,0xb16363 99,0xfefcfc 32,0xa85151 100,0xFFFFFF 36,0xae5b5b 25,0xa03f3f 23,0x9d3a3a 23,0x9d3a3a 22,0x9c3838 23,0x9d3a3a 24,0x9e3d3d 32,0xa85151 44,0xb87070 80,0xe6cccc 35,0xac5959 36,0xae5b5b 42,0xb56b6b 67,0xd5aaaa 51,0xc18282 46,0xba7575 46,0xba7575 47,0xbc7777 58,0xca9393 100,0xFFFFFF 57,0xc89191 67,0xd5aaaa 64,0xd1a3a3 65,0xd3a5a5 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 74,0xdebcbc 76,0xe1c1c1 74,0xdebcbc 83,0xead3d3 100,0xFFFFFF 90,0xf3e5e5 76,0xe1c1c1 35,0xac5959 31,0xa74f4f 100,0xFFFFFF 25,0xa03f3f 21,0x9a3535 22,0x9c3838 30,0xa64c4c 24,0x9e3d3d 78,0xe3c6c6 20,0x993333 28,0xa34747 11,0x8e1c1c 9,0x8b1616 9,0x8b1616 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 9,0x8b1616 10,0x8c1919 11,0x8e1c1c 12,0x8f1e1e 14,0x912323 16,0x942828 19,0x983030 91,0xf4e8e8 57,0xc89191 31,0xa74f4f 38,0xb06060 41,0xb46868 21,0x9a3535 46,0xba7575 13,0x902121 12,0x8f1e1e 12,0x8f1e1e 13,0x902121 14,0x912323 15,0x932626 17,0x952b2b 66,0xd4a8a8 37,0xaf5e5e 93,0xf7eded 96,0xfaf4f4 11,0x8e1c1c 9,0x8b1616 8,0x8a1414 8,0x8a1414 7,0x881111 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a + 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 7,0x881111 17,0x952b2b 10,0x8c1919 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 9,0x8b1616 11,0x8e1c1c 18,0x972d2d 15,0x932626 16,0x942828 30,0xa64c4c 22,0x9c3838 20,0x993333 24,0x9e3d3d 72,0xdcb7b7 29,0xa54949 40,0xb36666 64,0xd1a3a3 54,0xc58989 75,0xe0bfbf 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 89,0xf1e2e2 78,0xe3c6c6 100,0xFFFFFF 67,0xd5aaaa 64,0xd1a3a3 65,0xd3a5a5 66,0xd4a8a8 53,0xc38787 47,0xbc7777 45,0xb97272 46,0xba7575 100,0xFFFFFF 78,0xe3c6c6 49,0xbe7c7c 35,0xac5959 32,0xa85151 32,0xa85151 32,0xa85151 32,0xa85151 33,0xaa5454 37,0xaf5e5e 39,0xb16363 38,0xb06060 39,0xb16363 44,0xb87070 66,0xd4a8a8 54,0xc58989 51,0xc18282 98,0xfdf9f9 100,0xFFFFFF 66,0xd4a8a8 57,0xc89191 59,0xcb9696 55,0xc68c8c 26,0xa14242 24,0x9e3d3d 24,0x9e3d3d 24,0x9e3d3d 25,0xa03f3f 27,0xa24444 28,0xa34747 30,0xa64c4c 77,0xe2c4c4 53,0xc38787 52,0xc28484 100,0xFFFFFF 100,0xFFFFFF 76,0xe1c1c1 41,0xb46868 27,0xa24444 26,0xa14242 26,0xa14242 28,0xa34747 29,0xa54949 31,0xa74f4f 43,0xb76d6d 70,0xd9b2b2 54,0xc58989 50,0xc07f7f 49,0xbe7c7c 51,0xc18282 96,0xfaf4f4 61,0xce9b9b 57,0xc89191 65,0xd3a5a5 45,0xb97272 100,0xFFFFFF 100,0xFFFFFF 48,0xbd7a7a 18,0x972d2d 17,0x952b2b 16,0x942828 14,0x912323 13,0x902121 12,0x8f1e1e 12,0x8f1e1e 11,0x8e1c1c 11,0x8e1c1c 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 11,0x8e1c1c 12,0x8f1e1e 14,0x912323 15,0x932626 15,0x932626 15,0x932626 17,0x952b2b 93,0xf7eded 91,0xf4e8e8 61,0xce9b9b 100,0xFFFFFF 45,0xb97272 65,0xd3a5a5 47,0xbc7777 100,0xFFFFFF 32,0xa85151 22,0x9c3838 20,0x993333 20,0x993333 20,0x993333 20,0x993333 20,0x993333 21,0x9a3535 21,0x9a3535 21,0x9a3535 21,0x9a3535 22,0x9c3838 23,0x9d3a3a 23,0x9d3a3a 24,0x9e3d3d 24,0x9e3d3d 25,0xa03f3f 25,0xa03f3f 26,0xa14242 27,0xa24444 27,0xa24444 28,0xa34747 29,0xa54949 29,0xa54949 29,0xa54949 29,0xa54949 30,0xa64c4c 30,0xa64c4c 30,0xa64c4c 30,0xa64c4c 30,0xa64c4c 30,0xa64c4c 30,0xa64c4c 30,0xa64c4c 30,0xa64c4c 30,0xa64c4c 30,0xa64c4c 30,0xa64c4c 30,0xa64c4c 30,0xa64c4c 31,0xa74f4f 57,0xc89191 49,0xbe7c7c 55,0xc68c8c 40,0xb36666 37,0xaf5e5e 33,0xaa5454 30,0xa64c4c 28,0xa34747 27,0xa24444 25,0xa03f3f 25,0xa03f3f 25,0xa03f3f 24,0x9e3d3d 24,0x9e3d3d 24,0x9e3d3d 25,0xa03f3f 25,0xa03f3f 26,0xa14242 39,0xb16363 31,0xa74f4f 65,0xd3a5a5 100,0xFFFFFF 44,0xb87070 22,0x9c3838 17,0x952b2b 17,0x952b2b 16,0x942828 15,0x932626 14,0x912323 14,0x912323 14,0x912323 13,0x902121 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 12,0x8f1e1e 13,0x902121 15,0x932626 82,0xe8d1d1 26,0xa14242 39,0xb16363 23,0x9d3a3a 25,0xa03f3f 100,0xFFFFFF 64,0xd1a3a3 66,0xd4a8a8 78,0xe3c6c6 75,0xe0bfbf 43,0xb76d6d 52,0xc28484 100,0xFFFFFF 100,0xFFFFFF 30,0xa64c4c 25,0xa03f3f 47,0xbc7777 32,0xa85151 22,0x9c3838 20,0x993333 19,0x983030 19,0x983030 18,0x972d2d 18,0x972d2d 18,0x972d2d 17,0x952b2b 17,0x952b2b 17,0x952b2b 16,0x942828 16,0x942828 16,0x942828 16,0x942828 16,0x942828 17,0x952b2b 17,0x952b2b 17,0x952b2b 21,0x9a3535 17,0x952b2b 17,0x952b2b 16,0x942828 16,0x942828 16,0x942828 16,0x942828 16,0x942828 17,0x952b2b 19,0x983030 19,0x983030 21,0x9a3535 30,0xa64c4c 69,0xd8afaf 48,0xbd7a7a 29,0xa54949 28,0xa34747 26,0xa14242 25,0xa03f3f 24,0x9e3d3d 23,0x9d3a3a 23,0x9d3a3a 24,0x9e3d3d 25,0xa03f3f 40,0xb36666 32,0xa85151 43,0xb76d6d 38,0xb06060 38,0xb06060 43,0xb76d6d 72,0xdcb7b7 48,0xbd7a7a 47,0xbc7777 47,0xbc7777 48,0xbd7a7a 52,0xc28484 99,0xfefcfc 62,0xcf9e9e 82,0xe8d1d1 68,0xd7adad 67,0xd5aaaa 71,0xdab5b5 90,0xf3e5e5 97,0xfcf7f7 97,0xfcf7f7 78,0xe3c6c6 76,0xe1c1c1 73,0xddbaba 67,0xd5aaaa 64,0xd1a3a3 63,0xd0a0a0 68,0xd7adad 52,0xc28484 41,0xb46868 100,0xFFFFFF 25,0xa03f3f 22,0x9c3838 20,0x993333 19,0x983030 23,0x9d3a3a 55,0xc68c8c 18,0x972d2d 14,0x912323 11,0x8e1c1c 10,0x8c1919 9,0x8b1616 9,0x8b1616 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 10,0x8c1919 12,0x8f1e1e 91,0xf4e8e8 27,0xa24444 23,0x9d3a3a 44,0xb87070 86,0xeedbdb 18,0x972d2d 19,0x983030 67,0xd5aaaa 13,0x902121 45,0xb97272 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 12,0x8f1e1e 14,0x912323 16,0x942828 18,0x972d2d 22,0x9c3838 100,0xFFFFFF 100,0xFFFFFF 37,0xaf5e5e 10,0x8c1919 8,0x8a1414 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a + 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 7,0x881111 8,0x8a1414 14,0x912323 17,0x952b2b 9,0x8b1616 8,0x8a1414 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 9,0x8b1616 10,0x8c1919 11,0x8e1c1c 12,0x8f1e1e 15,0x932626 42,0xb56b6b 96,0xfaf4f4 27,0xa24444 55,0xc68c8c 32,0xa85151 32,0xa85151 64,0xd1a3a3 74,0xdebcbc 59,0xcb9696 100,0xFFFFFF 82,0xe8d1d1 92,0xf5eaea 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 95,0xf9f2f2 89,0xf1e2e2 100,0xFFFFFF 100,0xFFFFFF 85,0xecd8d8 60,0xcc9999 58,0xca9393 59,0xcb9696 100,0xFFFFFF 49,0xbe7c7c 49,0xbe7c7c 56,0xc78e8e 72,0xdcb7b7 59,0xcb9696 44,0xb87070 43,0xb76d6d 33,0xaa5454 31,0xa74f4f 30,0xa64c4c 31,0xa74f4f 49,0xbe7c7c 68,0xd7adad 50,0xc07f7f 41,0xb46868 48,0xbd7a7a 53,0xc38787 69,0xd8afaf 59,0xcb9696 56,0xc78e8e 97,0xfcf7f7 78,0xe3c6c6 100,0xFFFFFF 77,0xe2c4c4 54,0xc58989 37,0xaf5e5e 30,0xa64c4c 23,0x9d3a3a 23,0x9d3a3a 24,0x9e3d3d 26,0xa14242 64,0xd1a3a3 30,0xa64c4c 31,0xa74f4f 40,0xb36666 96,0xfaf4f4 42,0xb56b6b 47,0xbc7777 59,0xcb9696 99,0xfefcfc 31,0xa74f4f 24,0x9e3d3d 24,0x9e3d3d 26,0xa14242 29,0xa54949 30,0xa64c4c 33,0xaa5454 38,0xb06060 89,0xf1e2e2 66,0xd4a8a8 58,0xca9393 48,0xbd7a7a 56,0xc78e8e 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 42,0xb56b6b 40,0xb36666 43,0xb76d6d 30,0xa64c4c 24,0x9e3d3d 20,0x993333 17,0x952b2b 16,0x942828 14,0x912323 13,0x902121 12,0x8f1e1e 12,0x8f1e1e 11,0x8e1c1c 11,0x8e1c1c 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 11,0x8e1c1c 11,0x8e1c1c 12,0x8f1e1e 16,0x942828 42,0xb56b6b 43,0xb76d6d 18,0x972d2d 23,0x9d3a3a 100,0xFFFFFF 66,0xd4a8a8 40,0xb36666 100,0xFFFFFF 33,0xaa5454 74,0xdebcbc 56,0xc78e8e 39,0xb16363 100,0xFFFFFF 72,0xdcb7b7 25,0xa03f3f 21,0x9a3535 21,0x9a3535 21,0x9a3535 21,0x9a3535 21,0x9a3535 21,0x9a3535 21,0x9a3535 21,0x9a3535 22,0x9c3838 23,0x9d3a3a 23,0x9d3a3a 24,0x9e3d3d 24,0x9e3d3d 25,0xa03f3f 25,0xa03f3f 26,0xa14242 27,0xa24444 27,0xa24444 28,0xa34747 28,0xa34747 29,0xa54949 29,0xa54949 29,0xa54949 29,0xa54949 30,0xa64c4c 30,0xa64c4c 30,0xa64c4c 30,0xa64c4c 30,0xa64c4c 30,0xa64c4c 30,0xa64c4c 30,0xa64c4c 30,0xa64c4c 30,0xa64c4c 30,0xa64c4c 30,0xa64c4c 30,0xa64c4c 30,0xa64c4c 32,0xa85151 100,0xFFFFFF 63,0xd0a0a0 41,0xb46868 36,0xae5b5b 34,0xab5656 33,0xaa5454 100,0xFFFFFF 26,0xa14242 25,0xa03f3f 24,0x9e3d3d 24,0x9e3d3d 23,0x9d3a3a 23,0x9d3a3a 23,0x9d3a3a 24,0x9e3d3d 25,0xa03f3f 25,0xa03f3f 26,0xa14242 27,0xa24444 43,0xb76d6d 100,0xFFFFFF 63,0xd0a0a0 21,0x9a3535 18,0x972d2d 17,0x952b2b 16,0x942828 16,0x942828 16,0x942828 14,0x912323 14,0x912323 13,0x902121 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 13,0x902121 26,0xa14242 62,0xcf9e9e 19,0x983030 58,0xca9393 43,0xb76d6d 37,0xaf5e5e 49,0xbe7c7c 58,0xca9393 76,0xe1c1c1 64,0xd1a3a3 62,0xcf9e9e 51,0xc18282 76,0xe1c1c1 100,0xFFFFFF 100,0xFFFFFF 66,0xd4a8a8 53,0xc38787 31,0xa74f4f 54,0xc58989 22,0x9c3838 20,0x993333 20,0x993333 19,0x983030 19,0x983030 19,0x983030 19,0x983030 18,0x972d2d 18,0x972d2d 17,0x952b2b 17,0x952b2b 17,0x952b2b 17,0x952b2b 17,0x952b2b 17,0x952b2b 17,0x952b2b 18,0x972d2d 19,0x983030 30,0xa64c4c 19,0x983030 17,0x952b2b 17,0x952b2b 17,0x952b2b 17,0x952b2b 17,0x952b2b 18,0x972d2d 19,0x983030 100,0xFFFFFF 22,0x9c3838 28,0xa34747 100,0xFFFFFF 100,0xFFFFFF 39,0xb16363 29,0xa54949 27,0xa24444 26,0xa14242 25,0xa03f3f 24,0x9e3d3d 24,0x9e3d3d 24,0x9e3d3d 24,0x9e3d3d 25,0xa03f3f 27,0xa24444 30,0xa64c4c 59,0xcb9696 92,0xf5eaea 45,0xb97272 100,0xFFFFFF 75,0xe0bfbf 60,0xcc9999 100,0xFFFFFF 49,0xbe7c7c 50,0xc07f7f 69,0xd8afaf 85,0xecd8d8 100,0xFFFFFF 100,0xFFFFFF 72,0xdcb7b7 70,0xd9b2b2 83,0xead3d3 90,0xf3e5e5 86,0xeedbdb 86,0xeedbdb 85,0xecd8d8 85,0xecd8d8 100,0xFFFFFF 99,0xfefcfc 73,0xddbaba 64,0xd1a3a3 57,0xc89191 100,0xFFFFFF 58,0xca9393 96,0xfaf4f4 49,0xbe7c7c 23,0x9d3a3a 19,0x983030 17,0x952b2b 16,0x942828 14,0x912323 13,0x902121 11,0x8e1c1c 11,0x8e1c1c 10,0x8c1919 9,0x8b1616 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 12,0x8f1e1e 52,0xc28484 18,0x972d2d 19,0x983030 14,0x912323 14,0x912323 11,0x8e1c1c 100,0xFFFFFF 13,0x902121 10,0x8c1919 9,0x8b1616 9,0x8b1616 10,0x8c1919 10,0x8c1919 12,0x8f1e1e 35,0xac5959 36,0xae5b5b 65,0xd3a5a5 100,0xFFFFFF 89,0xf1e2e2 14,0x912323 9,0x8b1616 8,0x8a1414 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a + 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 7,0x881111 10,0x8c1919 27,0xa24444 14,0x912323 41,0xb46868 12,0x8f1e1e 100,0xFFFFFF 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 10,0x8c1919 11,0x8e1c1c 14,0x912323 49,0xbe7c7c 41,0xb46868 100,0xFFFFFF 52,0xc28484 45,0xb97272 36,0xae5b5b 82,0xe8d1d1 100,0xFFFFFF 61,0xce9b9b 100,0xFFFFFF 100,0xFFFFFF 92,0xf5eaea 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 89,0xf1e2e2 91,0xf4e8e8 100,0xFFFFFF 100,0xFFFFFF 61,0xce9b9b 57,0xc89191 56,0xc78e8e 54,0xc58989 52,0xc28484 100,0xFFFFFF 92,0xf5eaea 72,0xdcb7b7 100,0xFFFFFF 69,0xd8afaf 42,0xb56b6b 33,0xaa5454 30,0xa64c4c 30,0xa64c4c 30,0xa64c4c 85,0xecd8d8 48,0xbd7a7a 37,0xaf5e5e 77,0xe2c4c4 100,0xFFFFFF 64,0xd1a3a3 98,0xfdf9f9 88,0xf0e0e0 57,0xc89191 67,0xd5aaaa 88,0xf0e0e0 100,0xFFFFFF 100,0xFFFFFF 63,0xd0a0a0 54,0xc58989 23,0x9d3a3a 22,0x9c3838 22,0x9c3838 23,0x9d3a3a 34,0xab5656 41,0xb46868 39,0xb16363 54,0xc58989 72,0xdcb7b7 100,0xFFFFFF 26,0xa14242 35,0xac5959 26,0xa14242 28,0xa34747 22,0x9c3838 22,0x9c3838 23,0x9d3a3a 69,0xd8afaf 50,0xc07f7f 32,0xa85151 36,0xae5b5b 100,0xFFFFFF 86,0xeedbdb 89,0xf1e2e2 100,0xFFFFFF 56,0xc78e8e 40,0xb36666 77,0xe2c4c4 100,0xFFFFFF 100,0xFFFFFF 39,0xb16363 38,0xb06060 36,0xae5b5b 35,0xac5959 61,0xce9b9b 35,0xac5959 20,0x993333 17,0x952b2b 14,0x912323 13,0x902121 12,0x8f1e1e 12,0x8f1e1e 11,0x8e1c1c 11,0x8e1c1c 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 12,0x8f1e1e 14,0x912323 17,0x952b2b 31,0xa74f4f 22,0x9c3838 55,0xc68c8c 74,0xdebcbc 53,0xc38787 31,0xa74f4f 30,0xa64c4c 25,0xa03f3f 26,0xa14242 27,0xa24444 30,0xa64c4c 43,0xb76d6d 82,0xe8d1d1 24,0x9e3d3d 22,0x9c3838 21,0x9a3535 21,0x9a3535 21,0x9a3535 21,0x9a3535 21,0x9a3535 21,0x9a3535 22,0x9c3838 22,0x9c3838 23,0x9d3a3a 24,0x9e3d3d 24,0x9e3d3d 25,0xa03f3f 25,0xa03f3f 26,0xa14242 26,0xa14242 27,0xa24444 27,0xa24444 28,0xa34747 28,0xa34747 29,0xa54949 29,0xa54949 29,0xa54949 29,0xa54949 29,0xa54949 30,0xa64c4c 30,0xa64c4c 30,0xa64c4c 30,0xa64c4c 30,0xa64c4c 30,0xa64c4c 30,0xa64c4c 29,0xa54949 29,0xa54949 29,0xa54949 29,0xa54949 29,0xa54949 30,0xa64c4c 31,0xa74f4f 63,0xd0a0a0 100,0xFFFFFF 59,0xcb9696 100,0xFFFFFF 53,0xc38787 51,0xc18282 91,0xf4e8e8 100,0xFFFFFF 24,0x9e3d3d 24,0x9e3d3d 23,0x9d3a3a 23,0x9d3a3a 23,0x9d3a3a 23,0x9d3a3a 23,0x9d3a3a 24,0x9e3d3d 25,0xa03f3f 26,0xa14242 27,0xa24444 29,0xa54949 42,0xb56b6b 78,0xe3c6c6 21,0x9a3535 19,0x983030 18,0x972d2d 18,0x972d2d 35,0xac5959 20,0x993333 17,0x952b2b 15,0x932626 14,0x912323 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 11,0x8e1c1c 11,0x8e1c1c 12,0x8f1e1e 13,0x902121 15,0x932626 15,0x932626 18,0x972d2d 79,0xe5c9c9 52,0xc28484 53,0xc38787 79,0xe5c9c9 100,0xFFFFFF 84,0xebd6d6 67,0xd5aaaa 56,0xc78e8e 51,0xc18282 90,0xf3e5e5 100,0xFFFFFF 100,0xFFFFFF 33,0xaa5454 97,0xfcf7f7 28,0xa34747 23,0x9d3a3a 21,0x9a3535 20,0x993333 20,0x993333 20,0x993333 20,0x993333 22,0x9c3838 35,0xac5959 19,0x983030 18,0x972d2d 18,0x972d2d 18,0x972d2d 18,0x972d2d 18,0x972d2d 18,0x972d2d 18,0x972d2d 20,0x993333 100,0xFFFFFF 63,0xd0a0a0 51,0xc18282 69,0xd8afaf 18,0x972d2d 18,0x972d2d 18,0x972d2d 18,0x972d2d 18,0x972d2d 20,0x993333 100,0xFFFFFF 27,0xa24444 62,0xcf9e9e 70,0xd9b2b2 59,0xcb9696 76,0xe1c1c1 30,0xa64c4c 27,0xa24444 26,0xa14242 26,0xa14242 25,0xa03f3f 24,0x9e3d3d 25,0xa03f3f 25,0xa03f3f 26,0xa14242 27,0xa24444 30,0xa64c4c 95,0xf9f2f2 57,0xc89191 100,0xFFFFFF 100,0xFFFFFF 70,0xd9b2b2 62,0xcf9e9e 100,0xFFFFFF 52,0xc28484 52,0xc28484 84,0xebd6d6 100,0xFFFFFF 100,0xFFFFFF 79,0xe5c9c9 75,0xe0bfbf 100,0xFFFFFF 100,0xFFFFFF 94,0xf8efef 91,0xf4e8e8 100,0xFFFFFF 100,0xFFFFFF 99,0xfefcfc 98,0xfdf9f9 95,0xf9f2f2 100,0xFFFFFF 100,0xFFFFFF 61,0xce9b9b 52,0xc28484 51,0xc18282 63,0xd0a0a0 53,0xc38787 39,0xb16363 21,0x9a3535 19,0x983030 15,0x932626 13,0x902121 12,0x8f1e1e 11,0x8e1c1c 10,0x8c1919 10,0x8c1919 9,0x8b1616 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 8,0x8a1414 24,0x9e3d3d 100,0xFFFFFF 40,0xb36666 12,0x8f1e1e 10,0x8c1919 9,0x8b1616 9,0x8b1616 10,0x8c1919 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 10,0x8c1919 13,0x902121 34,0xab5656 31,0xa74f4f 19,0x983030 16,0x942828 12,0x8f1e1e 10,0x8c1919 8,0x8a1414 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a + 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 8,0x8a1414 22,0x9c3838 59,0xcb9696 34,0xab5656 100,0xFFFFFF 100,0xFFFFFF 13,0x902121 9,0x8b1616 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 10,0x8c1919 11,0x8e1c1c 21,0x9a3535 23,0x9d3a3a 54,0xc58989 91,0xf4e8e8 94,0xf8efef 41,0xb46868 39,0xb16363 42,0xb56b6b 51,0xc18282 100,0xFFFFFF 68,0xd7adad 100,0xFFFFFF 95,0xf9f2f2 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 88,0xf0e0e0 82,0xe8d1d1 100,0xFFFFFF 69,0xd8afaf 71,0xdab5b5 57,0xc89191 56,0xc78e8e 54,0xc58989 56,0xc78e8e 98,0xfdf9f9 75,0xe0bfbf 87,0xefdddd 100,0xFFFFFF 100,0xFFFFFF 59,0xcb9696 35,0xac5959 29,0xa54949 28,0xa34747 28,0xa34747 32,0xa85151 98,0xfdf9f9 60,0xcc9999 30,0xa64c4c 32,0xa85151 100,0xFFFFFF 77,0xe2c4c4 100,0xFFFFFF 54,0xc58989 69,0xd8afaf 87,0xefdddd 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 33,0xaa5454 21,0x9a3535 20,0x993333 21,0x9a3535 24,0x9e3d3d 53,0xc38787 31,0xa74f4f 30,0xa64c4c 30,0xa64c4c 24,0x9e3d3d 24,0x9e3d3d 21,0x9a3535 26,0xa14242 21,0x9a3535 20,0x993333 20,0x993333 21,0x9a3535 50,0xc07f7f 82,0xe8d1d1 32,0xa85151 62,0xcf9e9e 53,0xc38787 79,0xe5c9c9 65,0xd3a5a5 100,0xFFFFFF 67,0xd5aaaa 54,0xc58989 36,0xae5b5b 33,0xaa5454 34,0xab5656 36,0xae5b5b 38,0xb06060 40,0xb36666 72,0xdcb7b7 69,0xd8afaf 50,0xc07f7f 100,0xFFFFFF 50,0xc07f7f 24,0x9e3d3d 16,0x942828 15,0x932626 13,0x902121 12,0x8f1e1e 12,0x8f1e1e 11,0x8e1c1c 11,0x8e1c1c 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 11,0x8e1c1c 11,0x8e1c1c 12,0x8f1e1e 12,0x8f1e1e 13,0x902121 15,0x932626 50,0xc07f7f 39,0xb16363 53,0xc38787 71,0xdab5b5 34,0xab5656 25,0xa03f3f 22,0x9c3838 23,0x9d3a3a 24,0x9e3d3d 27,0xa24444 31,0xa74f4f 36,0xae5b5b 100,0xFFFFFF 27,0xa24444 22,0x9c3838 22,0x9c3838 22,0x9c3838 21,0x9a3535 21,0x9a3535 21,0x9a3535 22,0x9c3838 22,0x9c3838 23,0x9d3a3a 24,0x9e3d3d 24,0x9e3d3d 25,0xa03f3f 26,0xa14242 26,0xa14242 26,0xa14242 27,0xa24444 27,0xa24444 28,0xa34747 28,0xa34747 28,0xa34747 29,0xa54949 29,0xa54949 29,0xa54949 29,0xa54949 29,0xa54949 30,0xa64c4c 30,0xa64c4c 30,0xa64c4c 30,0xa64c4c 30,0xa64c4c 30,0xa64c4c 29,0xa54949 29,0xa54949 29,0xa54949 29,0xa54949 29,0xa54949 29,0xa54949 29,0xa54949 29,0xa54949 30,0xa64c4c 32,0xa85151 48,0xbd7a7a 79,0xe5c9c9 75,0xe0bfbf 45,0xb97272 36,0xae5b5b 26,0xa14242 24,0x9e3d3d 23,0x9d3a3a 23,0x9d3a3a 23,0x9d3a3a 23,0x9d3a3a 23,0x9d3a3a 23,0x9d3a3a 23,0x9d3a3a 24,0x9e3d3d 26,0xa14242 28,0xa34747 31,0xa74f4f 48,0xbd7a7a 36,0xae5b5b 21,0x9a3535 20,0x993333 19,0x983030 42,0xb56b6b 65,0xd3a5a5 87,0xefdddd 100,0xFFFFFF 24,0x9e3d3d 16,0x942828 13,0x902121 12,0x8f1e1e 12,0x8f1e1e 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 11,0x8e1c1c 11,0x8e1c1c 12,0x8f1e1e 13,0x902121 14,0x912323 15,0x932626 18,0x972d2d 100,0xFFFFFF 55,0xc68c8c 99,0xfefcfc 100,0xFFFFFF 100,0xFFFFFF 73,0xddbaba 100,0xFFFFFF 45,0xb97272 44,0xb87070 41,0xb46868 32,0xa85151 30,0xa64c4c 28,0xa34747 25,0xa03f3f 24,0x9e3d3d 22,0x9c3838 23,0x9d3a3a 22,0x9c3838 21,0x9a3535 22,0x9c3838 100,0xFFFFFF 30,0xa64c4c 21,0x9a3535 19,0x983030 18,0x972d2d 18,0x972d2d 18,0x972d2d 18,0x972d2d 18,0x972d2d 19,0x983030 21,0x9a3535 49,0xbe7c7c 100,0xFFFFFF 90,0xf3e5e5 24,0x9e3d3d 19,0x983030 19,0x983030 18,0x972d2d 19,0x983030 21,0x9a3535 23,0x9d3a3a 100,0xFFFFFF 36,0xae5b5b 47,0xbc7777 47,0xbc7777 71,0xdab5b5 40,0xb36666 46,0xba7575 29,0xa54949 27,0xa24444 26,0xa14242 26,0xa14242 26,0xa14242 26,0xa14242 26,0xa14242 26,0xa14242 28,0xa34747 36,0xae5b5b 41,0xb46868 67,0xd5aaaa 79,0xe5c9c9 70,0xd9b2b2 64,0xd1a3a3 58,0xca9393 56,0xc78e8e 54,0xc58989 54,0xc58989 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 78,0xe3c6c6 77,0xe2c4c4 98,0xfdf9f9 100,0xFFFFFF 98,0xfdf9f9 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 89,0xf1e2e2 84,0xebd6d6 100,0xFFFFFF 65,0xd3a5a5 67,0xd5aaaa 47,0xbc7777 45,0xb97272 41,0xb46868 31,0xa74f4f 72,0xdcb7b7 100,0xFFFFFF 22,0x9c3838 14,0x912323 12,0x8f1e1e 11,0x8e1c1c 10,0x8c1919 9,0x8b1616 9,0x8b1616 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 9,0x8b1616 13,0x902121 94,0xf8efef 11,0x8e1c1c 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 7,0x881111 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 12,0x8f1e1e 39,0xb16363 29,0xa54949 17,0x952b2b 14,0x912323 12,0x8f1e1e 10,0x8c1919 8,0x8a1414 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a + 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 7,0x881111 8,0x8a1414 58,0xca9393 44,0xb87070 25,0xa03f3f 33,0xaa5454 46,0xba7575 48,0xbd7a7a 11,0x8e1c1c 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 9,0x8b1616 11,0x8e1c1c 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 10,0x8c1919 10,0x8c1919 13,0x902121 18,0x972d2d 58,0xca9393 100,0xFFFFFF 59,0xcb9696 75,0xe0bfbf 38,0xb06060 41,0xb46868 47,0xbc7777 92,0xf5eaea 74,0xdebcbc 74,0xdebcbc 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 78,0xe3c6c6 75,0xe0bfbf 70,0xd9b2b2 100,0xFFFFFF 60,0xcc9999 55,0xc68c8c 55,0xc68c8c 56,0xc78e8e 61,0xce9b9b 82,0xe8d1d1 89,0xf1e2e2 100,0xFFFFFF 100,0xFFFFFF 59,0xcb9696 32,0xa85151 28,0xa34747 27,0xa24444 27,0xa24444 27,0xa24444 33,0xaa5454 33,0xaa5454 28,0xa34747 28,0xa34747 30,0xa64c4c 33,0xaa5454 37,0xaf5e5e 44,0xb87070 100,0xFFFFFF 100,0xFFFFFF 73,0xddbaba 55,0xc68c8c 33,0xaa5454 22,0x9c3838 20,0x993333 20,0x993333 20,0x993333 22,0x9c3838 47,0xbc7777 99,0xfefcfc 27,0xa24444 23,0x9d3a3a 21,0x9a3535 20,0x993333 19,0x983030 19,0x983030 19,0x983030 19,0x983030 19,0x983030 20,0x993333 25,0xa03f3f 53,0xc38787 28,0xa34747 24,0x9e3d3d 30,0xa64c4c 25,0xa03f3f 52,0xc28484 35,0xac5959 38,0xb06060 27,0xa24444 28,0xa34747 30,0xa64c4c 32,0xa85151 94,0xf8efef 41,0xb46868 41,0xb46868 53,0xc38787 62,0xcf9e9e 84,0xebd6d6 94,0xf8efef 94,0xf8efef 44,0xb87070 31,0xa74f4f 52,0xc28484 14,0x912323 13,0x902121 12,0x8f1e1e 12,0x8f1e1e 11,0x8e1c1c 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 12,0x8f1e1e 12,0x8f1e1e 13,0x902121 15,0x932626 20,0x993333 100,0xFFFFFF 100,0xFFFFFF 58,0xca9393 28,0xa34747 21,0x9a3535 21,0x9a3535 22,0x9c3838 25,0xa03f3f 79,0xe5c9c9 46,0xba7575 52,0xc28484 34,0xab5656 24,0x9e3d3d 23,0x9d3a3a 22,0x9c3838 22,0x9c3838 22,0x9c3838 22,0x9c3838 22,0x9c3838 22,0x9c3838 23,0x9d3a3a 25,0xa03f3f 50,0xc07f7f 26,0xa14242 32,0xa85151 29,0xa54949 29,0xa54949 29,0xa54949 28,0xa34747 28,0xa34747 28,0xa34747 28,0xa34747 29,0xa54949 29,0xa54949 29,0xa54949 29,0xa54949 29,0xa54949 29,0xa54949 30,0xa64c4c 30,0xa64c4c 30,0xa64c4c 30,0xa64c4c 30,0xa64c4c 29,0xa54949 29,0xa54949 29,0xa54949 29,0xa54949 29,0xa54949 29,0xa54949 28,0xa34747 28,0xa34747 28,0xa34747 28,0xa34747 29,0xa54949 29,0xa54949 29,0xa54949 32,0xa85151 26,0xa14242 50,0xc07f7f 25,0xa03f3f 23,0x9d3a3a 22,0x9c3838 22,0x9c3838 22,0x9c3838 22,0x9c3838 22,0x9c3838 22,0x9c3838 23,0x9d3a3a 24,0x9e3d3d 34,0xab5656 52,0xc28484 46,0xba7575 79,0xe5c9c9 25,0xa03f3f 22,0x9c3838 21,0x9a3535 21,0x9a3535 28,0xa34747 58,0xca9393 100,0xFFFFFF 100,0xFFFFFF 20,0x993333 15,0x932626 13,0x902121 12,0x8f1e1e 12,0x8f1e1e 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 11,0x8e1c1c 12,0x8f1e1e 12,0x8f1e1e 13,0x902121 14,0x912323 52,0xc28484 31,0xa74f4f 44,0xb87070 94,0xf8efef 94,0xf8efef 84,0xebd6d6 62,0xcf9e9e 53,0xc38787 41,0xb46868 41,0xb46868 94,0xf8efef 32,0xa85151 30,0xa64c4c 28,0xa34747 27,0xa24444 38,0xb06060 35,0xac5959 52,0xc28484 25,0xa03f3f 30,0xa64c4c 24,0x9e3d3d 28,0xa34747 53,0xc38787 25,0xa03f3f 20,0x993333 19,0x983030 19,0x983030 19,0x983030 19,0x983030 19,0x983030 20,0x993333 21,0x9a3535 23,0x9d3a3a 27,0xa24444 99,0xfefcfc 47,0xbc7777 22,0x9c3838 20,0x993333 20,0x993333 20,0x993333 22,0x9c3838 33,0xaa5454 55,0xc68c8c 73,0xddbaba 100,0xFFFFFF 100,0xFFFFFF 44,0xb87070 37,0xaf5e5e 33,0xaa5454 30,0xa64c4c 28,0xa34747 28,0xa34747 33,0xaa5454 33,0xaa5454 27,0xa24444 27,0xa24444 27,0xa24444 28,0xa34747 32,0xa85151 59,0xcb9696 100,0xFFFFFF 100,0xFFFFFF 89,0xf1e2e2 82,0xe8d1d1 61,0xce9b9b 56,0xc78e8e 55,0xc68c8c 55,0xc68c8c 60,0xcc9999 100,0xFFFFFF 70,0xd9b2b2 75,0xe0bfbf 78,0xe3c6c6 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 74,0xdebcbc 74,0xdebcbc 92,0xf5eaea 47,0xbc7777 41,0xb46868 38,0xb06060 75,0xe0bfbf 59,0xcb9696 100,0xFFFFFF 58,0xca9393 18,0x972d2d 13,0x902121 10,0x8c1919 10,0x8c1919 9,0x8b1616 9,0x8b1616 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 11,0x8e1c1c 9,0x8b1616 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 11,0x8e1c1c 48,0xbd7a7a 46,0xba7575 33,0xaa5454 25,0xa03f3f 44,0xb87070 58,0xca9393 8,0x8a1414 7,0x881111 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a + 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 8,0x8a1414 10,0x8c1919 12,0x8f1e1e 14,0x912323 17,0x952b2b 29,0xa54949 39,0xb16363 12,0x8f1e1e 9,0x8b1616 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 7,0x881111 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 11,0x8e1c1c 94,0xf8efef 13,0x902121 9,0x8b1616 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 10,0x8c1919 11,0x8e1c1c 12,0x8f1e1e 14,0x912323 22,0x9c3838 100,0xFFFFFF 72,0xdcb7b7 31,0xa74f4f 41,0xb46868 45,0xb97272 47,0xbc7777 67,0xd5aaaa 65,0xd3a5a5 100,0xFFFFFF 84,0xebd6d6 89,0xf1e2e2 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 98,0xfdf9f9 100,0xFFFFFF 98,0xfdf9f9 77,0xe2c4c4 78,0xe3c6c6 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 54,0xc58989 54,0xc58989 56,0xc78e8e 58,0xca9393 64,0xd1a3a3 70,0xd9b2b2 79,0xe5c9c9 67,0xd5aaaa 41,0xb46868 36,0xae5b5b 28,0xa34747 26,0xa14242 26,0xa14242 26,0xa14242 26,0xa14242 26,0xa14242 26,0xa14242 27,0xa24444 29,0xa54949 46,0xba7575 40,0xb36666 71,0xdab5b5 47,0xbc7777 47,0xbc7777 36,0xae5b5b 100,0xFFFFFF 23,0x9d3a3a 21,0x9a3535 19,0x983030 18,0x972d2d 19,0x983030 19,0x983030 24,0x9e3d3d 90,0xf3e5e5 100,0xFFFFFF 49,0xbe7c7c 21,0x9a3535 19,0x983030 18,0x972d2d 18,0x972d2d 18,0x972d2d 18,0x972d2d 18,0x972d2d 19,0x983030 21,0x9a3535 30,0xa64c4c 100,0xFFFFFF 22,0x9c3838 21,0x9a3535 22,0x9c3838 23,0x9d3a3a 22,0x9c3838 24,0x9e3d3d 25,0xa03f3f 28,0xa34747 30,0xa64c4c 32,0xa85151 41,0xb46868 44,0xb87070 45,0xb97272 100,0xFFFFFF 73,0xddbaba 100,0xFFFFFF 100,0xFFFFFF 99,0xfefcfc 55,0xc68c8c 100,0xFFFFFF 18,0x972d2d 15,0x932626 14,0x912323 13,0x902121 12,0x8f1e1e 11,0x8e1c1c 11,0x8e1c1c 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 12,0x8f1e1e 12,0x8f1e1e 13,0x902121 16,0x942828 24,0x9e3d3d 100,0xFFFFFF 87,0xefdddd 65,0xd3a5a5 42,0xb56b6b 19,0x983030 20,0x993333 21,0x9a3535 36,0xae5b5b 48,0xbd7a7a 31,0xa74f4f 28,0xa34747 26,0xa14242 24,0x9e3d3d 23,0x9d3a3a 23,0x9d3a3a 23,0x9d3a3a 23,0x9d3a3a 23,0x9d3a3a 23,0x9d3a3a 23,0x9d3a3a 24,0x9e3d3d 26,0xa14242 36,0xae5b5b 45,0xb97272 75,0xe0bfbf 79,0xe5c9c9 48,0xbd7a7a 32,0xa85151 30,0xa64c4c 29,0xa54949 29,0xa54949 29,0xa54949 29,0xa54949 29,0xa54949 29,0xa54949 29,0xa54949 29,0xa54949 30,0xa64c4c 30,0xa64c4c 30,0xa64c4c 30,0xa64c4c 30,0xa64c4c 30,0xa64c4c 29,0xa54949 29,0xa54949 29,0xa54949 29,0xa54949 29,0xa54949 28,0xa34747 28,0xa34747 28,0xa34747 27,0xa24444 27,0xa24444 26,0xa14242 26,0xa14242 26,0xa14242 25,0xa03f3f 24,0x9e3d3d 24,0x9e3d3d 23,0x9d3a3a 22,0x9c3838 22,0x9c3838 21,0x9a3535 21,0x9a3535 21,0x9a3535 22,0x9c3838 22,0x9c3838 22,0x9c3838 27,0xa24444 100,0xFFFFFF 36,0xae5b5b 31,0xa74f4f 27,0xa24444 24,0x9e3d3d 23,0x9d3a3a 22,0x9c3838 25,0xa03f3f 34,0xab5656 71,0xdab5b5 53,0xc38787 39,0xb16363 50,0xc07f7f 15,0x932626 13,0x902121 12,0x8f1e1e 12,0x8f1e1e 11,0x8e1c1c 11,0x8e1c1c 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 11,0x8e1c1c 11,0x8e1c1c 12,0x8f1e1e 12,0x8f1e1e 13,0x902121 15,0x932626 16,0x942828 24,0x9e3d3d 50,0xc07f7f 100,0xFFFFFF 50,0xc07f7f 69,0xd8afaf 72,0xdcb7b7 40,0xb36666 38,0xb06060 36,0xae5b5b 34,0xab5656 33,0xaa5454 36,0xae5b5b 54,0xc58989 67,0xd5aaaa 100,0xFFFFFF 65,0xd3a5a5 79,0xe5c9c9 53,0xc38787 62,0xcf9e9e 32,0xa85151 82,0xe8d1d1 50,0xc07f7f 21,0x9a3535 20,0x993333 20,0x993333 21,0x9a3535 26,0xa14242 21,0x9a3535 24,0x9e3d3d 24,0x9e3d3d 30,0xa64c4c 30,0xa64c4c 31,0xa74f4f 53,0xc38787 24,0x9e3d3d 21,0x9a3535 20,0x993333 21,0x9a3535 33,0xaa5454 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 87,0xefdddd 69,0xd8afaf 54,0xc58989 100,0xFFFFFF 77,0xe2c4c4 100,0xFFFFFF 32,0xa85151 30,0xa64c4c 60,0xcc9999 98,0xfdf9f9 32,0xa85151 28,0xa34747 28,0xa34747 29,0xa54949 35,0xac5959 59,0xcb9696 100,0xFFFFFF 100,0xFFFFFF 87,0xefdddd 75,0xe0bfbf 98,0xfdf9f9 56,0xc78e8e 54,0xc58989 56,0xc78e8e 57,0xc89191 71,0xdab5b5 69,0xd8afaf 100,0xFFFFFF 82,0xe8d1d1 88,0xf0e0e0 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 95,0xf9f2f2 100,0xFFFFFF 68,0xd7adad 100,0xFFFFFF 51,0xc18282 42,0xb56b6b 39,0xb16363 41,0xb46868 94,0xf8efef 91,0xf4e8e8 54,0xc58989 23,0x9d3a3a 21,0x9a3535 11,0x8e1c1c 10,0x8c1919 9,0x8b1616 9,0x8b1616 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 9,0x8b1616 13,0x902121 100,0xFFFFFF 100,0xFFFFFF 34,0xab5656 59,0xcb9696 22,0x9c3838 8,0x8a1414 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 + 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 8,0x8a1414 10,0x8c1919 12,0x8f1e1e 16,0x942828 19,0x983030 31,0xa74f4f 34,0xab5656 13,0x902121 10,0x8c1919 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 10,0x8c1919 9,0x8b1616 9,0x8b1616 10,0x8c1919 12,0x8f1e1e 40,0xb36666 100,0xFFFFFF 24,0x9e3d3d 8,0x8a1414 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 10,0x8c1919 10,0x8c1919 11,0x8e1c1c 12,0x8f1e1e 13,0x902121 15,0x932626 19,0x983030 21,0x9a3535 39,0xb16363 53,0xc38787 63,0xd0a0a0 51,0xc18282 52,0xc28484 61,0xce9b9b 100,0xFFFFFF 100,0xFFFFFF 95,0xf9f2f2 98,0xfdf9f9 99,0xfefcfc 100,0xFFFFFF 100,0xFFFFFF 91,0xf4e8e8 94,0xf8efef 100,0xFFFFFF 100,0xFFFFFF 75,0xe0bfbf 79,0xe5c9c9 100,0xFFFFFF 100,0xFFFFFF 84,0xebd6d6 52,0xc28484 52,0xc28484 100,0xFFFFFF 62,0xcf9e9e 70,0xd9b2b2 100,0xFFFFFF 100,0xFFFFFF 57,0xc89191 95,0xf9f2f2 30,0xa64c4c 27,0xa24444 26,0xa14242 25,0xa03f3f 25,0xa03f3f 24,0x9e3d3d 25,0xa03f3f 26,0xa14242 26,0xa14242 27,0xa24444 30,0xa64c4c 76,0xe1c1c1 59,0xcb9696 70,0xd9b2b2 62,0xcf9e9e 27,0xa24444 100,0xFFFFFF 20,0x993333 18,0x972d2d 18,0x972d2d 18,0x972d2d 18,0x972d2d 18,0x972d2d 69,0xd8afaf 51,0xc18282 63,0xd0a0a0 100,0xFFFFFF 20,0x993333 18,0x972d2d 18,0x972d2d 18,0x972d2d 18,0x972d2d 18,0x972d2d 18,0x972d2d 18,0x972d2d 19,0x983030 35,0xac5959 22,0x9c3838 20,0x993333 20,0x993333 20,0x993333 20,0x993333 21,0x9a3535 23,0x9d3a3a 28,0xa34747 97,0xfcf7f7 33,0xaa5454 100,0xFFFFFF 100,0xFFFFFF 90,0xf3e5e5 51,0xc18282 56,0xc78e8e 67,0xd5aaaa 84,0xebd6d6 100,0xFFFFFF 79,0xe5c9c9 53,0xc38787 52,0xc28484 79,0xe5c9c9 18,0x972d2d 15,0x932626 15,0x932626 13,0x902121 12,0x8f1e1e 11,0x8e1c1c 11,0x8e1c1c 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 14,0x912323 15,0x932626 17,0x952b2b 20,0x993333 35,0xac5959 18,0x972d2d 18,0x972d2d 19,0x983030 21,0x9a3535 78,0xe3c6c6 42,0xb56b6b 29,0xa54949 27,0xa24444 26,0xa14242 25,0xa03f3f 24,0x9e3d3d 23,0x9d3a3a 23,0x9d3a3a 23,0x9d3a3a 23,0x9d3a3a 23,0x9d3a3a 24,0x9e3d3d 24,0x9e3d3d 100,0xFFFFFF 91,0xf4e8e8 51,0xc18282 53,0xc38787 100,0xFFFFFF 59,0xcb9696 100,0xFFFFFF 63,0xd0a0a0 31,0xa74f4f 30,0xa64c4c 29,0xa54949 29,0xa54949 29,0xa54949 29,0xa54949 29,0xa54949 30,0xa64c4c 30,0xa64c4c 30,0xa64c4c 30,0xa64c4c 30,0xa64c4c 30,0xa64c4c 30,0xa64c4c 29,0xa54949 29,0xa54949 29,0xa54949 29,0xa54949 29,0xa54949 28,0xa34747 28,0xa34747 27,0xa24444 27,0xa24444 26,0xa14242 26,0xa14242 25,0xa03f3f 25,0xa03f3f 24,0x9e3d3d 24,0x9e3d3d 23,0x9d3a3a 22,0x9c3838 22,0x9c3838 21,0x9a3535 21,0x9a3535 21,0x9a3535 21,0x9a3535 21,0x9a3535 21,0x9a3535 22,0x9c3838 24,0x9e3d3d 82,0xe8d1d1 43,0xb76d6d 30,0xa64c4c 27,0xa24444 26,0xa14242 25,0xa03f3f 30,0xa64c4c 31,0xa74f4f 53,0xc38787 74,0xdebcbc 55,0xc68c8c 22,0x9c3838 31,0xa74f4f 17,0x952b2b 14,0x912323 12,0x8f1e1e 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 11,0x8e1c1c 11,0x8e1c1c 12,0x8f1e1e 12,0x8f1e1e 13,0x902121 14,0x912323 17,0x952b2b 20,0x993333 35,0xac5959 61,0xce9b9b 35,0xac5959 36,0xae5b5b 38,0xb06060 39,0xb16363 100,0xFFFFFF 100,0xFFFFFF 77,0xe2c4c4 40,0xb36666 56,0xc78e8e 100,0xFFFFFF 89,0xf1e2e2 86,0xeedbdb 100,0xFFFFFF 36,0xae5b5b 32,0xa85151 50,0xc07f7f 69,0xd8afaf 23,0x9d3a3a 22,0x9c3838 22,0x9c3838 28,0xa34747 26,0xa14242 35,0xac5959 26,0xa14242 100,0xFFFFFF 72,0xdcb7b7 54,0xc58989 39,0xb16363 41,0xb46868 34,0xab5656 23,0x9d3a3a 22,0x9c3838 22,0x9c3838 23,0x9d3a3a 54,0xc58989 63,0xd0a0a0 100,0xFFFFFF 100,0xFFFFFF 88,0xf0e0e0 67,0xd5aaaa 57,0xc89191 88,0xf0e0e0 98,0xfdf9f9 64,0xd1a3a3 100,0xFFFFFF 77,0xe2c4c4 37,0xaf5e5e 48,0xbd7a7a 85,0xecd8d8 30,0xa64c4c 30,0xa64c4c 30,0xa64c4c 33,0xaa5454 42,0xb56b6b 69,0xd8afaf 100,0xFFFFFF 72,0xdcb7b7 92,0xf5eaea 100,0xFFFFFF 52,0xc28484 54,0xc58989 56,0xc78e8e 57,0xc89191 61,0xce9b9b 100,0xFFFFFF 100,0xFFFFFF 91,0xf4e8e8 89,0xf1e2e2 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 92,0xf5eaea 100,0xFFFFFF 100,0xFFFFFF 61,0xce9b9b 100,0xFFFFFF 82,0xe8d1d1 36,0xae5b5b 45,0xb97272 52,0xc28484 100,0xFFFFFF 41,0xb46868 49,0xbe7c7c 14,0x912323 11,0x8e1c1c 10,0x8c1919 9,0x8b1616 9,0x8b1616 8,0x8a1414 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 100,0xFFFFFF 12,0x8f1e1e 41,0xb46868 14,0x912323 27,0xa24444 10,0x8c1919 7,0x881111 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 + 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 8,0x8a1414 9,0x8b1616 14,0x912323 89,0xf1e2e2 100,0xFFFFFF 65,0xd3a5a5 36,0xae5b5b 35,0xac5959 12,0x8f1e1e 10,0x8c1919 10,0x8c1919 9,0x8b1616 9,0x8b1616 10,0x8c1919 13,0x902121 100,0xFFFFFF 11,0x8e1c1c 14,0x912323 14,0x912323 19,0x983030 18,0x972d2d 52,0xc28484 12,0x8f1e1e 9,0x8b1616 9,0x8b1616 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 10,0x8c1919 11,0x8e1c1c 11,0x8e1c1c 13,0x902121 14,0x912323 16,0x942828 17,0x952b2b 19,0x983030 23,0x9d3a3a 49,0xbe7c7c 96,0xfaf4f4 58,0xca9393 100,0xFFFFFF 57,0xc89191 64,0xd1a3a3 73,0xddbaba 99,0xfefcfc 100,0xFFFFFF 85,0xecd8d8 85,0xecd8d8 86,0xeedbdb 86,0xeedbdb 90,0xf3e5e5 83,0xead3d3 70,0xd9b2b2 72,0xdcb7b7 100,0xFFFFFF 100,0xFFFFFF 85,0xecd8d8 69,0xd8afaf 50,0xc07f7f 49,0xbe7c7c 100,0xFFFFFF 60,0xcc9999 75,0xe0bfbf 100,0xFFFFFF 45,0xb97272 92,0xf5eaea 59,0xcb9696 30,0xa64c4c 27,0xa24444 25,0xa03f3f 24,0x9e3d3d 24,0x9e3d3d 24,0x9e3d3d 24,0x9e3d3d 25,0xa03f3f 26,0xa14242 27,0xa24444 29,0xa54949 39,0xb16363 100,0xFFFFFF 100,0xFFFFFF 28,0xa34747 22,0x9c3838 100,0xFFFFFF 19,0x983030 18,0x972d2d 17,0x952b2b 17,0x952b2b 17,0x952b2b 17,0x952b2b 17,0x952b2b 19,0x983030 30,0xa64c4c 19,0x983030 18,0x972d2d 17,0x952b2b 17,0x952b2b 17,0x952b2b 17,0x952b2b 17,0x952b2b 17,0x952b2b 17,0x952b2b 18,0x972d2d 18,0x972d2d 19,0x983030 19,0x983030 19,0x983030 19,0x983030 20,0x993333 20,0x993333 22,0x9c3838 54,0xc58989 31,0xa74f4f 53,0xc38787 66,0xd4a8a8 100,0xFFFFFF 100,0xFFFFFF 76,0xe1c1c1 51,0xc18282 62,0xcf9e9e 64,0xd1a3a3 76,0xe1c1c1 58,0xca9393 49,0xbe7c7c 37,0xaf5e5e 43,0xb76d6d 58,0xca9393 19,0x983030 62,0xcf9e9e 26,0xa14242 13,0x902121 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 13,0x902121 14,0x912323 14,0x912323 16,0x942828 16,0x942828 16,0x942828 17,0x952b2b 18,0x972d2d 21,0x9a3535 63,0xd0a0a0 100,0xFFFFFF 43,0xb76d6d 27,0xa24444 26,0xa14242 25,0xa03f3f 25,0xa03f3f 24,0x9e3d3d 23,0x9d3a3a 23,0x9d3a3a 23,0x9d3a3a 24,0x9e3d3d 24,0x9e3d3d 25,0xa03f3f 26,0xa14242 100,0xFFFFFF 33,0xaa5454 34,0xab5656 36,0xae5b5b 41,0xb46868 63,0xd0a0a0 100,0xFFFFFF 32,0xa85151 30,0xa64c4c 30,0xa64c4c 30,0xa64c4c 30,0xa64c4c 30,0xa64c4c 30,0xa64c4c 30,0xa64c4c 30,0xa64c4c 30,0xa64c4c 30,0xa64c4c 30,0xa64c4c 30,0xa64c4c 30,0xa64c4c 30,0xa64c4c 29,0xa54949 29,0xa54949 29,0xa54949 29,0xa54949 28,0xa34747 28,0xa34747 27,0xa24444 27,0xa24444 26,0xa14242 25,0xa03f3f 25,0xa03f3f 24,0x9e3d3d 24,0x9e3d3d 23,0x9d3a3a 23,0x9d3a3a 22,0x9c3838 21,0x9a3535 21,0x9a3535 21,0x9a3535 21,0x9a3535 21,0x9a3535 21,0x9a3535 21,0x9a3535 21,0x9a3535 25,0xa03f3f 72,0xdcb7b7 100,0xFFFFFF 39,0xb16363 56,0xc78e8e 74,0xdebcbc 33,0xaa5454 100,0xFFFFFF 40,0xb36666 66,0xd4a8a8 100,0xFFFFFF 23,0x9d3a3a 18,0x972d2d 43,0xb76d6d 42,0xb56b6b 16,0x942828 12,0x8f1e1e 11,0x8e1c1c 11,0x8e1c1c 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 11,0x8e1c1c 11,0x8e1c1c 12,0x8f1e1e 12,0x8f1e1e 13,0x902121 14,0x912323 16,0x942828 17,0x952b2b 20,0x993333 24,0x9e3d3d 30,0xa64c4c 43,0xb76d6d 40,0xb36666 42,0xb56b6b 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 56,0xc78e8e 48,0xbd7a7a 58,0xca9393 66,0xd4a8a8 89,0xf1e2e2 38,0xb06060 33,0xaa5454 30,0xa64c4c 29,0xa54949 26,0xa14242 24,0x9e3d3d 24,0x9e3d3d 31,0xa74f4f 99,0xfefcfc 59,0xcb9696 47,0xbc7777 42,0xb56b6b 96,0xfaf4f4 40,0xb36666 31,0xa74f4f 30,0xa64c4c 64,0xd1a3a3 26,0xa14242 24,0x9e3d3d 23,0x9d3a3a 23,0x9d3a3a 30,0xa64c4c 37,0xaf5e5e 54,0xc58989 77,0xe2c4c4 100,0xFFFFFF 78,0xe3c6c6 97,0xfcf7f7 56,0xc78e8e 59,0xcb9696 69,0xd8afaf 53,0xc38787 48,0xbd7a7a 41,0xb46868 50,0xc07f7f 68,0xd7adad 49,0xbe7c7c 31,0xa74f4f 30,0xa64c4c 31,0xa74f4f 33,0xaa5454 43,0xb76d6d 44,0xb87070 59,0xcb9696 72,0xdcb7b7 56,0xc78e8e 49,0xbe7c7c 49,0xbe7c7c 100,0xFFFFFF 59,0xcb9696 58,0xca9393 60,0xcc9999 85,0xecd8d8 100,0xFFFFFF 100,0xFFFFFF 89,0xf1e2e2 95,0xf9f2f2 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 92,0xf5eaea 82,0xe8d1d1 100,0xFFFFFF 59,0xcb9696 74,0xdebcbc 64,0xd1a3a3 32,0xa85151 32,0xa85151 55,0xc68c8c 27,0xa24444 96,0xfaf4f4 42,0xb56b6b 15,0x932626 12,0x8f1e1e 11,0x8e1c1c 10,0x8c1919 9,0x8b1616 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 8,0x8a1414 9,0x8b1616 17,0x952b2b 14,0x912323 8,0x8a1414 7,0x881111 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 + 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 8,0x8a1414 10,0x8c1919 37,0xaf5e5e 100,0xFFFFFF 100,0xFFFFFF 22,0x9c3838 18,0x972d2d 16,0x942828 14,0x912323 12,0x8f1e1e 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 45,0xb97272 13,0x902121 67,0xd5aaaa 19,0x983030 18,0x972d2d 86,0xeedbdb 44,0xb87070 23,0x9d3a3a 27,0xa24444 91,0xf4e8e8 12,0x8f1e1e 10,0x8c1919 9,0x8b1616 9,0x8b1616 8,0x8a1414 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 10,0x8c1919 11,0x8e1c1c 14,0x912323 18,0x972d2d 55,0xc68c8c 23,0x9d3a3a 19,0x983030 20,0x993333 22,0x9c3838 25,0xa03f3f 100,0xFFFFFF 41,0xb46868 52,0xc28484 68,0xd7adad 63,0xd0a0a0 64,0xd1a3a3 67,0xd5aaaa 73,0xddbaba 76,0xe1c1c1 78,0xe3c6c6 97,0xfcf7f7 97,0xfcf7f7 90,0xf3e5e5 71,0xdab5b5 67,0xd5aaaa 68,0xd7adad 82,0xe8d1d1 62,0xcf9e9e 99,0xfefcfc 52,0xc28484 48,0xbd7a7a 47,0xbc7777 47,0xbc7777 48,0xbd7a7a 72,0xdcb7b7 43,0xb76d6d 38,0xb06060 38,0xb06060 43,0xb76d6d 32,0xa85151 40,0xb36666 25,0xa03f3f 24,0x9e3d3d 23,0x9d3a3a 23,0x9d3a3a 24,0x9e3d3d 25,0xa03f3f 26,0xa14242 28,0xa34747 29,0xa54949 48,0xbd7a7a 69,0xd8afaf 30,0xa64c4c 21,0x9a3535 19,0x983030 19,0x983030 17,0x952b2b 16,0x942828 16,0x942828 16,0x942828 16,0x942828 16,0x942828 17,0x952b2b 17,0x952b2b 21,0x9a3535 17,0x952b2b 17,0x952b2b 17,0x952b2b 16,0x942828 16,0x942828 16,0x942828 16,0x942828 16,0x942828 17,0x952b2b 17,0x952b2b 17,0x952b2b 18,0x972d2d 18,0x972d2d 18,0x972d2d 19,0x983030 19,0x983030 20,0x993333 22,0x9c3838 32,0xa85151 47,0xbc7777 25,0xa03f3f 30,0xa64c4c 100,0xFFFFFF 100,0xFFFFFF 52,0xc28484 43,0xb76d6d 75,0xe0bfbf 78,0xe3c6c6 66,0xd4a8a8 64,0xd1a3a3 100,0xFFFFFF 25,0xa03f3f 23,0x9d3a3a 39,0xb16363 26,0xa14242 82,0xe8d1d1 15,0x932626 13,0x902121 12,0x8f1e1e 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 13,0x902121 14,0x912323 14,0x912323 14,0x912323 15,0x932626 16,0x942828 17,0x952b2b 17,0x952b2b 22,0x9c3838 44,0xb87070 100,0xFFFFFF 65,0xd3a5a5 31,0xa74f4f 39,0xb16363 26,0xa14242 25,0xa03f3f 25,0xa03f3f 24,0x9e3d3d 24,0x9e3d3d 24,0x9e3d3d 25,0xa03f3f 25,0xa03f3f 25,0xa03f3f 27,0xa24444 28,0xa34747 30,0xa64c4c 33,0xaa5454 37,0xaf5e5e 40,0xb36666 55,0xc68c8c 49,0xbe7c7c 57,0xc89191 31,0xa74f4f 30,0xa64c4c 30,0xa64c4c 30,0xa64c4c 30,0xa64c4c 30,0xa64c4c 30,0xa64c4c 30,0xa64c4c 30,0xa64c4c 30,0xa64c4c 30,0xa64c4c 30,0xa64c4c 30,0xa64c4c 30,0xa64c4c 30,0xa64c4c 29,0xa54949 29,0xa54949 29,0xa54949 29,0xa54949 28,0xa34747 27,0xa24444 27,0xa24444 26,0xa14242 25,0xa03f3f 25,0xa03f3f 24,0x9e3d3d 24,0x9e3d3d 23,0x9d3a3a 23,0x9d3a3a 22,0x9c3838 21,0x9a3535 21,0x9a3535 21,0x9a3535 21,0x9a3535 20,0x993333 20,0x993333 20,0x993333 20,0x993333 20,0x993333 22,0x9c3838 32,0xa85151 100,0xFFFFFF 47,0xbc7777 65,0xd3a5a5 45,0xb97272 100,0xFFFFFF 61,0xce9b9b 91,0xf4e8e8 93,0xf7eded 17,0x952b2b 15,0x932626 15,0x932626 15,0x932626 14,0x912323 12,0x8f1e1e 11,0x8e1c1c 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 11,0x8e1c1c 11,0x8e1c1c 12,0x8f1e1e 12,0x8f1e1e 13,0x902121 14,0x912323 16,0x942828 17,0x952b2b 18,0x972d2d 48,0xbd7a7a 100,0xFFFFFF 100,0xFFFFFF 45,0xb97272 65,0xd3a5a5 57,0xc89191 61,0xce9b9b 96,0xfaf4f4 51,0xc18282 49,0xbe7c7c 50,0xc07f7f 54,0xc58989 70,0xd9b2b2 43,0xb76d6d 31,0xa74f4f 29,0xa54949 28,0xa34747 26,0xa14242 26,0xa14242 27,0xa24444 41,0xb46868 76,0xe1c1c1 100,0xFFFFFF 100,0xFFFFFF 52,0xc28484 53,0xc38787 77,0xe2c4c4 30,0xa64c4c 28,0xa34747 27,0xa24444 25,0xa03f3f 24,0x9e3d3d 24,0x9e3d3d 24,0x9e3d3d 26,0xa14242 55,0xc68c8c 59,0xcb9696 57,0xc89191 66,0xd4a8a8 100,0xFFFFFF 98,0xfdf9f9 51,0xc18282 54,0xc58989 66,0xd4a8a8 44,0xb87070 39,0xb16363 38,0xb06060 39,0xb16363 37,0xaf5e5e 33,0xaa5454 32,0xa85151 32,0xa85151 32,0xa85151 32,0xa85151 35,0xac5959 49,0xbe7c7c 78,0xe3c6c6 100,0xFFFFFF 46,0xba7575 45,0xb97272 47,0xbc7777 53,0xc38787 66,0xd4a8a8 65,0xd3a5a5 64,0xd1a3a3 67,0xd5aaaa 100,0xFFFFFF 78,0xe3c6c6 89,0xf1e2e2 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 75,0xe0bfbf 54,0xc58989 64,0xd1a3a3 40,0xb36666 29,0xa54949 72,0xdcb7b7 24,0x9e3d3d 20,0x993333 22,0x9c3838 30,0xa64c4c 16,0x942828 15,0x932626 18,0x972d2d 11,0x8e1c1c 9,0x8b1616 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 10,0x8c1919 17,0x952b2b 7,0x881111 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 + 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 7,0x881111 8,0x8a1414 8,0x8a1414 9,0x8b1616 11,0x8e1c1c 96,0xfaf4f4 93,0xf7eded 37,0xaf5e5e 66,0xd4a8a8 17,0x952b2b 15,0x932626 14,0x912323 13,0x902121 12,0x8f1e1e 12,0x8f1e1e 13,0x902121 46,0xba7575 21,0x9a3535 41,0xb46868 38,0xb06060 31,0xa74f4f 57,0xc89191 91,0xf4e8e8 19,0x983030 16,0x942828 14,0x912323 12,0x8f1e1e 11,0x8e1c1c 10,0x8c1919 9,0x8b1616 9,0x8b1616 9,0x8b1616 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 11,0x8e1c1c 28,0xa34747 20,0x993333 78,0xe3c6c6 24,0x9e3d3d 30,0xa64c4c 22,0x9c3838 21,0x9a3535 25,0xa03f3f 100,0xFFFFFF 31,0xa74f4f 35,0xac5959 76,0xe1c1c1 90,0xf3e5e5 100,0xFFFFFF 83,0xead3d3 74,0xdebcbc 76,0xe1c1c1 74,0xdebcbc 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 65,0xd3a5a5 64,0xd1a3a3 67,0xd5aaaa 57,0xc89191 100,0xFFFFFF 58,0xca9393 47,0xbc7777 46,0xba7575 46,0xba7575 51,0xc18282 67,0xd5aaaa 42,0xb56b6b 36,0xae5b5b 35,0xac5959 80,0xe6cccc 44,0xb87070 32,0xa85151 24,0x9e3d3d 23,0x9d3a3a 22,0x9c3838 23,0x9d3a3a 23,0x9d3a3a 25,0xa03f3f 36,0xae5b5b 100,0xFFFFFF 32,0xa85151 99,0xfefcfc 39,0xb16363 21,0x9a3535 19,0x983030 18,0x972d2d 17,0x952b2b 16,0x942828 16,0x942828 16,0x942828 16,0x942828 16,0x942828 16,0x942828 16,0x942828 16,0x942828 16,0x942828 16,0x942828 16,0x942828 16,0x942828 16,0x942828 16,0x942828 16,0x942828 16,0x942828 16,0x942828 16,0x942828 16,0x942828 17,0x952b2b 17,0x952b2b 18,0x972d2d 18,0x972d2d 18,0x972d2d 18,0x972d2d 19,0x983030 20,0x993333 21,0x9a3535 22,0x9c3838 22,0x9c3838 25,0xa03f3f 29,0xa54949 32,0xa85151 32,0xa85151 42,0xb56b6b 100,0xFFFFFF 44,0xb87070 42,0xb56b6b 54,0xc58989 35,0xac5959 25,0xa03f3f 20,0x993333 21,0x9a3535 24,0x9e3d3d 17,0x952b2b 14,0x912323 13,0x902121 12,0x8f1e1e 12,0x8f1e1e 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 13,0x902121 13,0x902121 14,0x912323 14,0x912323 15,0x932626 15,0x932626 16,0x942828 17,0x952b2b 20,0x993333 69,0xd8afaf 83,0xead3d3 59,0xcb9696 40,0xb36666 31,0xa74f4f 27,0xa24444 27,0xa24444 65,0xd3a5a5 31,0xa74f4f 26,0xa14242 25,0xa03f3f 25,0xa03f3f 25,0xa03f3f 26,0xa14242 27,0xa24444 29,0xa54949 34,0xab5656 100,0xFFFFFF 47,0xbc7777 45,0xb97272 100,0xFFFFFF 100,0xFFFFFF 33,0xaa5454 32,0xa85151 31,0xa74f4f 31,0xa74f4f 31,0xa74f4f 30,0xa64c4c 30,0xa64c4c 31,0xa74f4f 31,0xa74f4f 31,0xa74f4f 31,0xa74f4f 31,0xa74f4f 31,0xa74f4f 31,0xa74f4f 31,0xa74f4f 30,0xa64c4c 30,0xa64c4c 30,0xa64c4c 30,0xa64c4c 29,0xa54949 28,0xa34747 27,0xa24444 27,0xa24444 26,0xa14242 25,0xa03f3f 25,0xa03f3f 24,0x9e3d3d 23,0x9d3a3a 23,0x9d3a3a 23,0x9d3a3a 22,0x9c3838 21,0x9a3535 21,0x9a3535 21,0x9a3535 20,0x993333 20,0x993333 20,0x993333 19,0x983030 19,0x983030 19,0x983030 20,0x993333 21,0x9a3535 23,0x9d3a3a 42,0xb56b6b 66,0xd4a8a8 33,0xaa5454 63,0xd0a0a0 22,0x9c3838 25,0xa03f3f 92,0xf5eaea 14,0x912323 14,0x912323 13,0x902121 13,0x902121 12,0x8f1e1e 11,0x8e1c1c 11,0x8e1c1c 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 11,0x8e1c1c 11,0x8e1c1c 12,0x8f1e1e 13,0x902121 16,0x942828 18,0x972d2d 19,0x983030 19,0x983030 22,0x9c3838 39,0xb16363 81,0xe7cece 51,0xc18282 97,0xfcf7f7 69,0xd8afaf 66,0xd4a8a8 100,0xFFFFFF 99,0xfefcfc 59,0xcb9696 46,0xba7575 74,0xdebcbc 43,0xb76d6d 90,0xf3e5e5 100,0xFFFFFF 30,0xa64c4c 28,0xa34747 28,0xa34747 28,0xa34747 36,0xae5b5b 64,0xd1a3a3 80,0xe6cccc 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 42,0xb56b6b 36,0xae5b5b 30,0xa64c4c 28,0xa34747 27,0xa24444 26,0xa14242 25,0xa03f3f 25,0xa03f3f 25,0xa03f3f 27,0xa24444 33,0xaa5454 100,0xFFFFFF 50,0xc07f7f 100,0xFFFFFF 63,0xd0a0a0 77,0xe2c4c4 48,0xbd7a7a 48,0xbd7a7a 55,0xc68c8c 42,0xb56b6b 38,0xb06060 36,0xae5b5b 36,0xae5b5b 35,0xac5959 33,0xaa5454 32,0xa85151 32,0xa85151 32,0xa85151 32,0xa85151 34,0xab5656 38,0xb06060 37,0xaf5e5e 38,0xb06060 41,0xb46868 54,0xc58989 48,0xbd7a7a 52,0xc28484 100,0xFFFFFF 73,0xddbaba 68,0xd7adad 67,0xd5aaaa 68,0xd7adad 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 93,0xf7eded 82,0xe8d1d1 72,0xdcb7b7 64,0xd1a3a3 53,0xc38787 49,0xbe7c7c 100,0xFFFFFF 78,0xe3c6c6 22,0x9c3838 19,0x983030 18,0x972d2d 21,0x9a3535 99,0xfefcfc 19,0x983030 27,0xa24444 77,0xe2c4c4 14,0x912323 9,0x8b1616 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 + 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 7,0x881111 9,0x8b1616 10,0x8c1919 10,0x8c1919 10,0x8c1919 14,0x912323 89,0xf1e2e2 66,0xd4a8a8 38,0xb06060 23,0x9d3a3a 18,0x972d2d 15,0x932626 15,0x932626 14,0x912323 14,0x912323 18,0x972d2d 20,0x993333 82,0xe8d1d1 49,0xbe7c7c 100,0xFFFFFF 54,0xc58989 100,0xFFFFFF 34,0xab5656 65,0xd3a5a5 18,0x972d2d 16,0x942828 14,0x912323 13,0x902121 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 10,0x8c1919 10,0x8c1919 10,0x8c1919 9,0x8b1616 9,0x8b1616 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 10,0x8c1919 11,0x8e1c1c 14,0x912323 100,0xFFFFFF 24,0x9e3d3d 20,0x993333 29,0xa54949 24,0x9e3d3d 23,0x9d3a3a 25,0xa03f3f 84,0xebd6d6 35,0xac5959 36,0xae5b5b 43,0xb76d6d 64,0xd1a3a3 54,0xc58989 56,0xc78e8e 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 65,0xd3a5a5 73,0xddbaba 70,0xd9b2b2 64,0xd1a3a3 64,0xd1a3a3 65,0xd3a5a5 64,0xd1a3a3 61,0xce9b9b 56,0xc78e8e 52,0xc28484 48,0xbd7a7a 45,0xb97272 44,0xb87070 44,0xb87070 47,0xbc7777 100,0xFFFFFF 39,0xb16363 34,0xab5656 33,0xaa5454 31,0xa74f4f 28,0xa34747 25,0xa03f3f 23,0x9d3a3a 22,0x9c3838 22,0x9c3838 22,0x9c3838 22,0x9c3838 25,0xa03f3f 56,0xc78e8e 34,0xab5656 63,0xd0a0a0 40,0xb36666 22,0x9c3838 20,0x993333 18,0x972d2d 17,0x952b2b 17,0x952b2b 16,0x942828 16,0x942828 16,0x942828 15,0x932626 15,0x932626 15,0x932626 15,0x932626 15,0x932626 15,0x932626 15,0x932626 15,0x932626 15,0x932626 16,0x942828 16,0x942828 16,0x942828 16,0x942828 16,0x942828 16,0x942828 16,0x942828 16,0x942828 17,0x952b2b 17,0x952b2b 18,0x972d2d 18,0x972d2d 18,0x972d2d 18,0x972d2d 19,0x983030 20,0x993333 21,0x9a3535 22,0x9c3838 22,0x9c3838 24,0x9e3d3d 26,0xa14242 30,0xa64c4c 32,0xa85151 36,0xae5b5b 40,0xb36666 41,0xb46868 41,0xb46868 32,0xa85151 23,0x9d3a3a 19,0x983030 17,0x952b2b 16,0x942828 15,0x932626 13,0x902121 13,0x902121 12,0x8f1e1e 12,0x8f1e1e 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 13,0x902121 13,0x902121 14,0x912323 14,0x912323 15,0x932626 15,0x932626 16,0x942828 18,0x972d2d 27,0xa24444 27,0xa24444 43,0xb76d6d 44,0xb87070 38,0xb06060 45,0xb97272 61,0xce9b9b 31,0xa74f4f 33,0xaa5454 57,0xc89191 28,0xa34747 26,0xa14242 27,0xa24444 28,0xa34747 29,0xa54949 29,0xa54949 37,0xaf5e5e 96,0xfaf4f4 48,0xbd7a7a 40,0xb36666 100,0xFFFFFF 45,0xb97272 36,0xae5b5b 33,0xaa5454 32,0xa85151 31,0xa74f4f 31,0xa74f4f 31,0xa74f4f 31,0xa74f4f 31,0xa74f4f 31,0xa74f4f 31,0xa74f4f 31,0xa74f4f 31,0xa74f4f 31,0xa74f4f 31,0xa74f4f 32,0xa85151 33,0xaa5454 33,0xaa5454 31,0xa74f4f 31,0xa74f4f 31,0xa74f4f 32,0xa85151 37,0xaf5e5e 29,0xa54949 28,0xa34747 28,0xa34747 26,0xa14242 25,0xa03f3f 24,0x9e3d3d 23,0x9d3a3a 23,0x9d3a3a 23,0x9d3a3a 22,0x9c3838 22,0x9c3838 21,0x9a3535 21,0x9a3535 20,0x993333 19,0x983030 19,0x983030 19,0x983030 19,0x983030 18,0x972d2d 18,0x972d2d 18,0x972d2d 19,0x983030 19,0x983030 18,0x972d2d 29,0xa54949 18,0x972d2d 16,0x942828 23,0x9d3a3a 17,0x952b2b 14,0x912323 13,0x902121 12,0x8f1e1e 12,0x8f1e1e 11,0x8e1c1c 11,0x8e1c1c 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 11,0x8e1c1c 11,0x8e1c1c 13,0x902121 16,0x942828 44,0xb87070 100,0xFFFFFF 35,0xac5959 21,0x9a3535 37,0xaf5e5e 30,0xa64c4c 45,0xb97272 55,0xc68c8c 100,0xFFFFFF 100,0xFFFFFF 85,0xecd8d8 83,0xead3d3 67,0xd5aaaa 100,0xFFFFFF 46,0xba7575 41,0xb46868 40,0xb36666 100,0xFFFFFF 69,0xd8afaf 31,0xa74f4f 30,0xa64c4c 31,0xa74f4f 100,0xFFFFFF 34,0xab5656 49,0xbe7c7c 67,0xd5aaaa 75,0xe0bfbf 100,0xFFFFFF 58,0xca9393 81,0xe7cece 64,0xd1a3a3 30,0xa64c4c 29,0xa54949 27,0xa24444 26,0xa14242 26,0xa14242 27,0xa24444 55,0xc68c8c 100,0xFFFFFF 33,0xaa5454 35,0xac5959 41,0xb46868 100,0xFFFFFF 82,0xe8d1d1 47,0xbc7777 46,0xba7575 46,0xba7575 77,0xe2c4c4 68,0xd7adad 37,0xaf5e5e 36,0xae5b5b 35,0xac5959 34,0xab5656 34,0xab5656 33,0xaa5454 32,0xa85151 32,0xa85151 33,0xaa5454 34,0xab5656 35,0xac5959 35,0xac5959 37,0xaf5e5e 46,0xba7575 50,0xc07f7f 78,0xe3c6c6 100,0xFFFFFF 83,0xead3d3 100,0xFFFFFF 72,0xdcb7b7 66,0xd4a8a8 68,0xd7adad 70,0xd9b2b2 75,0xe0bfbf 94,0xf8efef 100,0xFFFFFF 100,0xFFFFFF 94,0xf8efef 100,0xFFFFFF 100,0xFFFFFF 87,0xefdddd 100,0xFFFFFF 100,0xFFFFFF 70,0xd9b2b2 100,0xFFFFFF 100,0xFFFFFF 48,0xbd7a7a 100,0xFFFFFF 53,0xc38787 22,0x9c3838 18,0x972d2d 17,0x952b2b 17,0x952b2b 54,0xc58989 34,0xab5656 76,0xe1c1c1 15,0x932626 100,0xFFFFFF 10,0x8c1919 8,0x8a1414 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 + 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 7,0x881111 8,0x8a1414 48,0xbd7a7a 50,0xc07f7f 64,0xd1a3a3 13,0x902121 17,0x952b2b 79,0xe5c9c9 99,0xfefcfc 65,0xd3a5a5 50,0xc07f7f 34,0xab5656 17,0x952b2b 17,0x952b2b 25,0xa03f3f 17,0x952b2b 39,0xb16363 72,0xdcb7b7 54,0xc58989 100,0xFFFFFF 100,0xFFFFFF 88,0xf0e0e0 61,0xce9b9b 46,0xba7575 85,0xecd8d8 23,0x9d3a3a 20,0x993333 17,0x952b2b 16,0x942828 31,0xa74f4f 19,0x983030 32,0xa85151 12,0x8f1e1e 12,0x8f1e1e 57,0xc89191 33,0xaa5454 10,0x8c1919 9,0x8b1616 9,0x8b1616 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 9,0x8b1616 10,0x8c1919 11,0x8e1c1c 12,0x8f1e1e 16,0x942828 15,0x932626 16,0x942828 91,0xf4e8e8 32,0xa85151 39,0xb16363 40,0xb36666 64,0xd1a3a3 48,0xbd7a7a 41,0xb46868 40,0xb36666 44,0xb87070 45,0xb97272 51,0xc18282 60,0xcc9999 100,0xFFFFFF 82,0xe8d1d1 58,0xca9393 87,0xefdddd 58,0xca9393 60,0xcc9999 65,0xd3a5a5 66,0xd4a8a8 100,0xFFFFFF 100,0xFFFFFF 67,0xd5aaaa 100,0xFFFFFF 46,0xba7575 44,0xb87070 44,0xb87070 43,0xb76d6d 42,0xb56b6b 40,0xb36666 38,0xb06060 36,0xae5b5b 34,0xab5656 32,0xa85151 28,0xa34747 25,0xa03f3f 23,0x9d3a3a 22,0x9c3838 21,0x9a3535 21,0x9a3535 21,0x9a3535 41,0xb46868 100,0xFFFFFF 31,0xa74f4f 27,0xa24444 24,0x9e3d3d 22,0x9c3838 20,0x993333 18,0x972d2d 17,0x952b2b 16,0x942828 16,0x942828 15,0x932626 15,0x932626 15,0x932626 15,0x932626 15,0x932626 15,0x932626 14,0x912323 15,0x932626 15,0x932626 15,0x932626 15,0x932626 15,0x932626 15,0x932626 16,0x942828 16,0x942828 16,0x942828 16,0x942828 16,0x942828 16,0x942828 17,0x952b2b 17,0x952b2b 18,0x972d2d 18,0x972d2d 18,0x972d2d 18,0x972d2d 19,0x983030 20,0x993333 20,0x993333 21,0x9a3535 22,0x9c3838 24,0x9e3d3d 77,0xe2c4c4 55,0xc68c8c 34,0xab5656 40,0xb36666 44,0xb87070 100,0xFFFFFF 100,0xFFFFFF 52,0xc28484 31,0xa74f4f 20,0x993333 16,0x942828 15,0x932626 14,0x912323 13,0x902121 13,0x902121 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 13,0x902121 13,0x902121 13,0x902121 14,0x912323 14,0x912323 15,0x932626 15,0x932626 16,0x942828 18,0x972d2d 32,0xa85151 39,0xb16363 63,0xd0a0a0 75,0xe0bfbf 73,0xddbaba 78,0xe3c6c6 100,0xFFFFFF 47,0xbc7777 71,0xdab5b5 65,0xd3a5a5 29,0xa54949 28,0xa34747 29,0xa54949 33,0xaa5454 36,0xae5b5b 76,0xe1c1c1 91,0xf4e8e8 57,0xc89191 41,0xb46868 37,0xaf5e5e 36,0xae5b5b 35,0xac5959 34,0xab5656 33,0xaa5454 32,0xa85151 32,0xa85151 31,0xa74f4f 31,0xa74f4f 31,0xa74f4f 31,0xa74f4f 31,0xa74f4f 31,0xa74f4f 31,0xa74f4f 31,0xa74f4f 32,0xa85151 32,0xa85151 32,0xa85151 41,0xb46868 40,0xb36666 34,0xab5656 33,0xaa5454 100,0xFFFFFF 41,0xb46868 57,0xc89191 32,0xa85151 32,0xa85151 88,0xf0e0e0 28,0xa34747 26,0xa14242 25,0xa03f3f 24,0x9e3d3d 23,0x9d3a3a 23,0x9d3a3a 22,0x9c3838 22,0x9c3838 21,0x9a3535 21,0x9a3535 20,0x993333 19,0x983030 19,0x983030 19,0x983030 18,0x972d2d 18,0x972d2d 18,0x972d2d 17,0x952b2b 17,0x952b2b 16,0x942828 16,0x942828 16,0x942828 15,0x932626 15,0x932626 14,0x912323 13,0x902121 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 11,0x8e1c1c 11,0x8e1c1c 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 10,0x8c1919 10,0x8c1919 10,0x8c1919 11,0x8e1c1c 11,0x8e1c1c 13,0x902121 39,0xb16363 33,0xaa5454 22,0x9c3838 28,0xa34747 26,0xa14242 83,0xead3d3 53,0xc38787 94,0xf8efef 62,0xcf9e9e 90,0xf3e5e5 100,0xFFFFFF 100,0xFFFFFF 84,0xebd6d6 69,0xd8afaf 100,0xFFFFFF 96,0xfaf4f4 40,0xb36666 38,0xb06060 37,0xaf5e5e 34,0xab5656 33,0xaa5454 35,0xac5959 56,0xc78e8e 42,0xb56b6b 38,0xb06060 43,0xb76d6d 100,0xFFFFFF 61,0xce9b9b 53,0xc38787 64,0xd1a3a3 72,0xdcb7b7 100,0xFFFFFF 33,0xaa5454 48,0xbd7a7a 32,0xa85151 28,0xa34747 27,0xa24444 28,0xa34747 31,0xa74f4f 62,0xcf9e9e 37,0xaf5e5e 36,0xae5b5b 39,0xb16363 42,0xb56b6b 44,0xb87070 45,0xb97272 44,0xb87070 44,0xb87070 42,0xb56b6b 39,0xb16363 38,0xb06060 36,0xae5b5b 35,0xac5959 34,0xab5656 34,0xab5656 33,0xaa5454 33,0xaa5454 33,0xaa5454 33,0xaa5454 33,0xaa5454 34,0xab5656 34,0xab5656 35,0xac5959 58,0xca9393 41,0xb46868 44,0xb87070 64,0xd1a3a3 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 62,0xcf9e9e 71,0xdab5b5 78,0xe3c6c6 80,0xe6cccc 78,0xe3c6c6 82,0xe8d1d1 98,0xfdf9f9 90,0xf3e5e5 87,0xefdddd 100,0xFFFFFF 81,0xe7cece 74,0xdebcbc 100,0xFFFFFF 63,0xd0a0a0 59,0xcb9696 45,0xb97272 41,0xb46868 47,0xbc7777 30,0xa64c4c 35,0xac5959 18,0x972d2d 15,0x932626 14,0x912323 14,0x912323 18,0x972d2d 31,0xa74f4f 11,0x8e1c1c 10,0x8c1919 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 + 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 8,0x8a1414 10,0x8c1919 14,0x912323 37,0xaf5e5e 16,0x942828 19,0x983030 28,0xa34747 39,0xb16363 36,0xae5b5b 28,0xa34747 24,0x9e3d3d 36,0xae5b5b 29,0xa54949 37,0xaf5e5e 22,0x9c3838 100,0xFFFFFF 44,0xb87070 62,0xcf9e9e 99,0xfefcfc 100,0xFFFFFF 100,0xFFFFFF 89,0xf1e2e2 50,0xc07f7f 53,0xc38787 31,0xa74f4f 25,0xa03f3f 81,0xe7cece 100,0xFFFFFF 53,0xc38787 35,0xac5959 25,0xa03f3f 54,0xc58989 100,0xFFFFFF 20,0x993333 31,0xa74f4f 10,0x8c1919 10,0x8c1919 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 10,0x8c1919 10,0x8c1919 11,0x8e1c1c 11,0x8e1c1c 13,0x902121 13,0x902121 15,0x932626 100,0xFFFFFF 76,0xe1c1c1 41,0xb46868 73,0xddbaba 52,0xc28484 45,0xb97272 42,0xb56b6b 41,0xb46868 41,0xb46868 42,0xb56b6b 45,0xb97272 48,0xbd7a7a 51,0xc18282 55,0xc68c8c 55,0xc68c8c 54,0xc58989 56,0xc78e8e 59,0xcb9696 75,0xe0bfbf 70,0xd9b2b2 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 58,0xca9393 50,0xc07f7f 44,0xb87070 43,0xb76d6d 42,0xb56b6b 42,0xb56b6b 41,0xb46868 55,0xc68c8c 43,0xb76d6d 54,0xc58989 100,0xFFFFFF 100,0xFFFFFF 29,0xa54949 25,0xa03f3f 21,0x9a3535 20,0x993333 20,0x993333 20,0x993333 22,0x9c3838 97,0xfcf7f7 96,0xfaf4f4 30,0xa64c4c 27,0xa24444 27,0xa24444 100,0xFFFFFF 73,0xddbaba 17,0x952b2b 16,0x942828 15,0x932626 15,0x932626 15,0x932626 15,0x932626 14,0x912323 14,0x912323 14,0x912323 14,0x912323 14,0x912323 14,0x912323 14,0x912323 15,0x932626 15,0x932626 15,0x932626 15,0x932626 16,0x942828 16,0x942828 16,0x942828 16,0x942828 16,0x942828 16,0x942828 17,0x952b2b 17,0x952b2b 18,0x972d2d 18,0x972d2d 18,0x972d2d 19,0x983030 19,0x983030 20,0x993333 20,0x993333 21,0x9a3535 100,0xFFFFFF 66,0xd4a8a8 77,0xe2c4c4 57,0xc89191 80,0xe6cccc 84,0xebd6d6 100,0xFFFFFF 72,0xdcb7b7 100,0xFFFFFF 71,0xdab5b5 26,0xa14242 17,0x952b2b 15,0x932626 14,0x912323 13,0x902121 13,0x902121 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 13,0x902121 13,0x902121 13,0x902121 13,0x902121 14,0x912323 15,0x932626 15,0x932626 16,0x942828 17,0x952b2b 21,0x9a3535 65,0xd3a5a5 100,0xFFFFFF 91,0xf4e8e8 61,0xce9b9b 62,0xcf9e9e 100,0xFFFFFF 38,0xb06060 36,0xae5b5b 33,0xaa5454 31,0xa74f4f 31,0xa74f4f 100,0xFFFFFF 57,0xc89191 100,0xFFFFFF 70,0xd9b2b2 65,0xd3a5a5 100,0xFFFFFF 39,0xb16363 37,0xaf5e5e 35,0xac5959 34,0xab5656 34,0xab5656 33,0xaa5454 32,0xa85151 32,0xa85151 32,0xa85151 31,0xa74f4f 31,0xa74f4f 31,0xa74f4f 31,0xa74f4f 31,0xa74f4f 31,0xa74f4f 32,0xa85151 32,0xa85151 32,0xa85151 34,0xab5656 38,0xb06060 43,0xb76d6d 100,0xFFFFFF 35,0xac5959 100,0xFFFFFF 55,0xc68c8c 39,0xb16363 66,0xd4a8a8 97,0xfcf7f7 35,0xac5959 32,0xa85151 29,0xa54949 55,0xc68c8c 26,0xa14242 24,0x9e3d3d 23,0x9d3a3a 23,0x9d3a3a 22,0x9c3838 22,0x9c3838 21,0x9a3535 20,0x993333 19,0x983030 19,0x983030 19,0x983030 18,0x972d2d 17,0x952b2b 17,0x952b2b 17,0x952b2b 16,0x942828 16,0x942828 15,0x932626 14,0x912323 14,0x912323 14,0x912323 13,0x902121 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 10,0x8c1919 10,0x8c1919 10,0x8c1919 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 10,0x8c1919 10,0x8c1919 10,0x8c1919 11,0x8e1c1c 13,0x902121 20,0x993333 100,0xFFFFFF 17,0x952b2b 20,0x993333 82,0xe8d1d1 65,0xd3a5a5 58,0xca9393 43,0xb76d6d 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 85,0xecd8d8 79,0xe5c9c9 57,0xc89191 49,0xbe7c7c 40,0xb36666 37,0xaf5e5e 36,0xae5b5b 36,0xae5b5b 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 45,0xb97272 88,0xf0e0e0 43,0xb76d6d 47,0xbc7777 48,0xbd7a7a 49,0xbe7c7c 55,0xc68c8c 76,0xe1c1c1 44,0xb87070 57,0xc89191 44,0xb87070 42,0xb56b6b 29,0xa54949 29,0xa54949 30,0xa64c4c 35,0xac5959 52,0xc28484 40,0xb36666 39,0xb16363 65,0xd3a5a5 44,0xb87070 44,0xb87070 45,0xb97272 44,0xb87070 44,0xb87070 42,0xb56b6b 40,0xb36666 38,0xb06060 37,0xaf5e5e 37,0xaf5e5e 35,0xac5959 34,0xab5656 34,0xab5656 33,0xaa5454 33,0xaa5454 33,0xaa5454 33,0xaa5454 34,0xab5656 34,0xab5656 35,0xac5959 36,0xae5b5b 38,0xb06060 40,0xb36666 100,0xFFFFFF 100,0xFFFFFF 90,0xf3e5e5 100,0xFFFFFF 56,0xc78e8e 60,0xcc9999 79,0xe5c9c9 100,0xFFFFFF 100,0xFFFFFF 72,0xdcb7b7 100,0xFFFFFF 100,0xFFFFFF 73,0xddbaba 73,0xddbaba 86,0xeedbdb 100,0xFFFFFF 61,0xce9b9b 58,0xca9393 50,0xc07f7f 43,0xb76d6d 38,0xb06060 37,0xaf5e5e 30,0xa64c4c 32,0xa85151 22,0x9c3838 15,0x932626 13,0x902121 12,0x8f1e1e 11,0x8e1c1c 10,0x8c1919 9,0x8b1616 9,0x8b1616 8,0x8a1414 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 + 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 9,0x8b1616 19,0x983030 72,0xdcb7b7 25,0xa03f3f 55,0xc68c8c 100,0xFFFFFF 37,0xaf5e5e 46,0xba7575 100,0xFFFFFF 35,0xac5959 100,0xFFFFFF 100,0xFFFFFF 27,0xa24444 25,0xa03f3f 100,0xFFFFFF 100,0xFFFFFF 71,0xdab5b5 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 74,0xdebcbc 100,0xFFFFFF 39,0xb16363 36,0xae5b5b 43,0xb76d6d 51,0xc18282 76,0xe1c1c1 100,0xFFFFFF 74,0xdebcbc 42,0xb56b6b 53,0xc38787 21,0x9a3535 75,0xe0bfbf 15,0x932626 11,0x8e1c1c 10,0x8c1919 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 10,0x8c1919 10,0x8c1919 11,0x8e1c1c 11,0x8e1c1c 12,0x8f1e1e 13,0x902121 14,0x912323 18,0x972d2d 32,0xa85151 49,0xbe7c7c 72,0xdcb7b7 74,0xdebcbc 56,0xc78e8e 88,0xf0e0e0 40,0xb36666 40,0xb36666 43,0xb76d6d 44,0xb87070 100,0xFFFFFF 51,0xc18282 52,0xc28484 53,0xc38787 53,0xc38787 56,0xc78e8e 60,0xcc9999 100,0xFFFFFF 78,0xe3c6c6 97,0xfcf7f7 100,0xFFFFFF 100,0xFFFFFF 93,0xf7eded 45,0xb97272 43,0xb76d6d 43,0xb76d6d 43,0xb76d6d 43,0xb76d6d 46,0xba7575 100,0xFFFFFF 86,0xeedbdb 53,0xc38787 52,0xc28484 70,0xd9b2b2 35,0xac5959 36,0xae5b5b 21,0x9a3535 20,0x993333 19,0x983030 19,0x983030 19,0x983030 23,0x9d3a3a 61,0xce9b9b 52,0xc28484 69,0xd8afaf 44,0xb87070 100,0xFFFFFF 36,0xae5b5b 17,0x952b2b 15,0x932626 15,0x932626 15,0x932626 14,0x912323 14,0x912323 14,0x912323 14,0x912323 14,0x912323 14,0x912323 14,0x912323 14,0x912323 14,0x912323 14,0x912323 14,0x912323 15,0x932626 15,0x932626 15,0x932626 16,0x942828 16,0x942828 16,0x942828 16,0x942828 16,0x942828 17,0x952b2b 17,0x952b2b 18,0x972d2d 18,0x972d2d 18,0x972d2d 19,0x983030 19,0x983030 20,0x993333 20,0x993333 21,0x9a3535 23,0x9d3a3a 24,0x9e3d3d 26,0xa14242 84,0xebd6d6 99,0xfefcfc 64,0xd1a3a3 55,0xc68c8c 89,0xf1e2e2 100,0xFFFFFF 91,0xf4e8e8 38,0xb06060 27,0xa24444 15,0x932626 14,0x912323 13,0x902121 13,0x902121 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 13,0x902121 13,0x902121 13,0x902121 13,0x902121 14,0x912323 15,0x932626 15,0x932626 16,0x942828 17,0x952b2b 20,0x993333 33,0xaa5454 91,0xf4e8e8 87,0xefdddd 96,0xfaf4f4 47,0xbc7777 63,0xd0a0a0 83,0xead3d3 35,0xac5959 33,0xaa5454 34,0xab5656 41,0xb46868 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 67,0xd5aaaa 73,0xddbaba 54,0xc58989 42,0xb56b6b 36,0xae5b5b 35,0xac5959 34,0xab5656 33,0xaa5454 33,0xaa5454 33,0xaa5454 32,0xa85151 32,0xa85151 32,0xa85151 31,0xa74f4f 31,0xa74f4f 31,0xa74f4f 32,0xa85151 32,0xa85151 32,0xa85151 33,0xaa5454 33,0xaa5454 34,0xab5656 37,0xaf5e5e 56,0xc78e8e 43,0xb76d6d 39,0xb16363 62,0xcf9e9e 59,0xcb9696 61,0xce9b9b 62,0xcf9e9e 80,0xe6cccc 49,0xbe7c7c 89,0xf1e2e2 43,0xb76d6d 45,0xb97272 27,0xa24444 25,0xa03f3f 24,0x9e3d3d 24,0x9e3d3d 26,0xa14242 24,0x9e3d3d 21,0x9a3535 20,0x993333 19,0x983030 19,0x983030 19,0x983030 18,0x972d2d 17,0x952b2b 17,0x952b2b 16,0x942828 16,0x942828 15,0x932626 15,0x932626 14,0x912323 14,0x912323 13,0x902121 13,0x902121 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 10,0x8c1919 11,0x8e1c1c 16,0x942828 44,0xb87070 100,0xFFFFFF 14,0x912323 14,0x912323 67,0xd5aaaa 29,0xa54949 74,0xdebcbc 33,0xaa5454 46,0xba7575 68,0xd7adad 90,0xf3e5e5 88,0xf0e0e0 72,0xdcb7b7 57,0xc89191 63,0xd0a0a0 93,0xf7eded 39,0xb16363 36,0xae5b5b 37,0xaf5e5e 40,0xb36666 48,0xbd7a7a 100,0xFFFFFF 100,0xFFFFFF 84,0xebd6d6 52,0xc28484 47,0xbc7777 47,0xbc7777 46,0xba7575 47,0xbc7777 61,0xce9b9b 41,0xb46868 40,0xb36666 100,0xFFFFFF 64,0xd1a3a3 33,0xaa5454 30,0xa64c4c 30,0xa64c4c 83,0xead3d3 46,0xba7575 57,0xc89191 47,0xbc7777 55,0xc68c8c 53,0xc38787 47,0xbc7777 46,0xba7575 46,0xba7575 48,0xbd7a7a 48,0xbd7a7a 100,0xFFFFFF 75,0xe0bfbf 42,0xb56b6b 40,0xb36666 92,0xf5eaea 37,0xaf5e5e 35,0xac5959 35,0xac5959 33,0xaa5454 32,0xa85151 32,0xa85151 32,0xa85151 33,0xaa5454 34,0xab5656 35,0xac5959 36,0xae5b5b 37,0xaf5e5e 39,0xb16363 41,0xb46868 79,0xe5c9c9 51,0xc18282 100,0xFFFFFF 52,0xc28484 59,0xcb9696 69,0xd8afaf 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 64,0xd1a3a3 67,0xd5aaaa 69,0xd8afaf 94,0xf8efef 71,0xdab5b5 91,0xf4e8e8 57,0xc89191 63,0xd0a0a0 74,0xdebcbc 52,0xc28484 37,0xaf5e5e 37,0xaf5e5e 100,0xFFFFFF 49,0xbe7c7c 42,0xb56b6b 54,0xc58989 12,0x8f1e1e 11,0x8e1c1c 10,0x8c1919 9,0x8b1616 9,0x8b1616 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 + 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 7,0x881111 9,0x8b1616 10,0x8c1919 66,0xd4a8a8 100,0xFFFFFF 37,0xaf5e5e 39,0xb16363 48,0xbd7a7a 72,0xdcb7b7 58,0xca9393 100,0xFFFFFF 45,0xb97272 47,0xbc7777 100,0xFFFFFF 71,0xdab5b5 30,0xa64c4c 89,0xf1e2e2 77,0xe2c4c4 58,0xca9393 67,0xd5aaaa 73,0xddbaba 100,0xFFFFFF 57,0xc89191 48,0xbd7a7a 38,0xb06060 35,0xac5959 72,0xdcb7b7 76,0xe1c1c1 100,0xFFFFFF 100,0xFFFFFF 84,0xebd6d6 49,0xbe7c7c 25,0xa03f3f 18,0x972d2d 15,0x932626 13,0x902121 11,0x8e1c1c 11,0x8e1c1c 10,0x8c1919 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 10,0x8c1919 10,0x8c1919 10,0x8c1919 11,0x8e1c1c 11,0x8e1c1c 12,0x8f1e1e 12,0x8f1e1e 14,0x912323 24,0x9e3d3d 71,0xdab5b5 66,0xd4a8a8 100,0xFFFFFF 89,0xf1e2e2 62,0xcf9e9e 100,0xFFFFFF 37,0xaf5e5e 45,0xb97272 77,0xe2c4c4 48,0xbd7a7a 72,0xdcb7b7 55,0xc68c8c 54,0xc58989 53,0xc38787 51,0xc18282 100,0xFFFFFF 52,0xc28484 53,0xc38787 62,0xcf9e9e 85,0xecd8d8 100,0xFFFFFF 82,0xe8d1d1 78,0xe3c6c6 42,0xb56b6b 42,0xb56b6b 42,0xb56b6b 43,0xb76d6d 44,0xb87070 53,0xc38787 100,0xFFFFFF 70,0xd9b2b2 61,0xce9b9b 58,0xca9393 68,0xd7adad 41,0xb46868 59,0xcb9696 22,0x9c3838 19,0x983030 18,0x972d2d 18,0x972d2d 18,0x972d2d 19,0x983030 21,0x9a3535 25,0xa03f3f 100,0xFFFFFF 25,0xa03f3f 30,0xa64c4c 19,0x983030 16,0x942828 15,0x932626 15,0x932626 14,0x912323 14,0x912323 14,0x912323 14,0x912323 14,0x912323 14,0x912323 14,0x912323 14,0x912323 14,0x912323 14,0x912323 14,0x912323 14,0x912323 15,0x932626 15,0x932626 15,0x932626 15,0x932626 16,0x942828 16,0x942828 16,0x942828 16,0x942828 17,0x952b2b 17,0x952b2b 18,0x972d2d 18,0x972d2d 18,0x972d2d 19,0x983030 19,0x983030 20,0x993333 20,0x993333 21,0x9a3535 22,0x9c3838 23,0x9d3a3a 24,0x9e3d3d 29,0xa54949 40,0xb36666 43,0xb76d6d 82,0xe8d1d1 66,0xd4a8a8 100,0xFFFFFF 65,0xd3a5a5 42,0xb56b6b 21,0x9a3535 16,0x942828 14,0x912323 14,0x912323 13,0x902121 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 13,0x902121 13,0x902121 13,0x902121 13,0x902121 13,0x902121 14,0x912323 15,0x932626 16,0x942828 17,0x952b2b 18,0x972d2d 19,0x983030 24,0x9e3d3d 84,0xebd6d6 97,0xfcf7f7 66,0xd4a8a8 45,0xb97272 42,0xb56b6b 39,0xb16363 37,0xaf5e5e 44,0xb87070 38,0xb06060 68,0xd7adad 91,0xf4e8e8 100,0xFFFFFF 88,0xf0e0e0 86,0xeedbdb 49,0xbe7c7c 44,0xb87070 44,0xb87070 36,0xae5b5b 35,0xac5959 34,0xab5656 34,0xab5656 33,0xaa5454 33,0xaa5454 33,0xaa5454 32,0xa85151 32,0xa85151 32,0xa85151 32,0xa85151 32,0xa85151 32,0xa85151 33,0xaa5454 33,0xaa5454 33,0xaa5454 34,0xab5656 39,0xb16363 64,0xd1a3a3 100,0xFFFFFF 44,0xb87070 44,0xb87070 86,0xeedbdb 80,0xe6cccc 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 71,0xdab5b5 49,0xbe7c7c 36,0xae5b5b 32,0xa85151 29,0xa54949 27,0xa24444 26,0xa14242 26,0xa14242 100,0xFFFFFF 31,0xa74f4f 23,0x9d3a3a 21,0x9a3535 20,0x993333 19,0x983030 19,0x983030 18,0x972d2d 17,0x952b2b 17,0x952b2b 16,0x942828 15,0x932626 15,0x932626 14,0x912323 14,0x912323 13,0x902121 13,0x902121 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 10,0x8c1919 11,0x8e1c1c 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 14,0x912323 18,0x972d2d 24,0x9e3d3d 48,0xbd7a7a 57,0xc89191 100,0xFFFFFF 55,0xc68c8c 84,0xebd6d6 47,0xbc7777 43,0xb76d6d 100,0xFFFFFF 34,0xab5656 36,0xae5b5b 38,0xb06060 40,0xb36666 96,0xfaf4f4 97,0xfcf7f7 63,0xd0a0a0 73,0xddbaba 51,0xc18282 49,0xbe7c7c 49,0xbe7c7c 47,0xbc7777 44,0xb87070 41,0xb46868 38,0xb06060 38,0xb06060 37,0xaf5e5e 35,0xac5959 33,0xaa5454 32,0xa85151 33,0xaa5454 53,0xc38787 100,0xFFFFFF 80,0xe6cccc 70,0xd9b2b2 98,0xfdf9f9 51,0xc18282 48,0xbd7a7a 47,0xbc7777 48,0xbd7a7a 68,0xd7adad 66,0xd4a8a8 100,0xFFFFFF 90,0xf3e5e5 99,0xfefcfc 70,0xd9b2b2 65,0xd3a5a5 39,0xb16363 48,0xbd7a7a 40,0xb36666 35,0xac5959 32,0xa85151 32,0xa85151 32,0xa85151 33,0xaa5454 34,0xab5656 35,0xac5959 36,0xae5b5b 38,0xb06060 41,0xb46868 42,0xb56b6b 44,0xb87070 45,0xb97272 46,0xba7575 47,0xbc7777 49,0xbe7c7c 51,0xc18282 55,0xc68c8c 59,0xcb9696 58,0xca9393 60,0xcc9999 100,0xFFFFFF 74,0xdebcbc 94,0xf8efef 55,0xc68c8c 51,0xc18282 52,0xc28484 79,0xe5c9c9 100,0xFFFFFF 36,0xae5b5b 36,0xae5b5b 38,0xb06060 51,0xc18282 75,0xe0bfbf 100,0xFFFFFF 43,0xb76d6d 16,0x942828 10,0x8c1919 10,0x8c1919 9,0x8b1616 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 + 6,0x870f0f 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 10,0x8c1919 12,0x8f1e1e 15,0x932626 42,0xb56b6b 39,0xb16363 64,0xd1a3a3 100,0xFFFFFF 69,0xd8afaf 64,0xd1a3a3 87,0xefdddd 49,0xbe7c7c 44,0xb87070 39,0xb16363 36,0xae5b5b 33,0xaa5454 35,0xac5959 42,0xb56b6b 52,0xc28484 100,0xFFFFFF 53,0xc38787 50,0xc07f7f 63,0xd0a0a0 100,0xFFFFFF 36,0xae5b5b 35,0xac5959 38,0xb06060 76,0xe1c1c1 61,0xce9b9b 100,0xFFFFFF 100,0xFFFFFF 44,0xb87070 31,0xa74f4f 21,0x9a3535 18,0x972d2d 14,0x912323 12,0x8f1e1e 11,0x8e1c1c 11,0x8e1c1c 10,0x8c1919 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 11,0x8e1c1c 11,0x8e1c1c 12,0x8f1e1e 12,0x8f1e1e 13,0x902121 15,0x932626 20,0x993333 39,0xb16363 100,0xFFFFFF 71,0xdab5b5 51,0xc18282 47,0xbc7777 33,0xaa5454 39,0xb16363 38,0xb06060 100,0xFFFFFF 73,0xddbaba 57,0xc89191 58,0xca9393 63,0xd0a0a0 51,0xc18282 47,0xbc7777 46,0xba7575 47,0xbc7777 83,0xead3d3 100,0xFFFFFF 52,0xc28484 43,0xb76d6d 40,0xb36666 40,0xb36666 41,0xb46868 43,0xb76d6d 44,0xb87070 45,0xb97272 51,0xc18282 56,0xc78e8e 65,0xd3a5a5 100,0xFFFFFF 81,0xe7cece 100,0xFFFFFF 56,0xc78e8e 36,0xae5b5b 58,0xca9393 19,0x983030 18,0x972d2d 17,0x952b2b 17,0x952b2b 17,0x952b2b 17,0x952b2b 46,0xba7575 18,0x972d2d 18,0x972d2d 28,0xa34747 17,0x952b2b 15,0x932626 15,0x932626 14,0x912323 14,0x912323 14,0x912323 14,0x912323 14,0x912323 14,0x912323 14,0x912323 14,0x912323 14,0x912323 14,0x912323 14,0x912323 14,0x912323 14,0x912323 14,0x912323 15,0x932626 15,0x932626 15,0x932626 15,0x932626 16,0x942828 16,0x942828 16,0x942828 17,0x952b2b 17,0x952b2b 18,0x972d2d 18,0x972d2d 19,0x983030 19,0x983030 20,0x993333 20,0x993333 20,0x993333 21,0x9a3535 22,0x9c3838 23,0x9d3a3a 25,0xa03f3f 28,0xa34747 31,0xa74f4f 35,0xac5959 65,0xd3a5a5 48,0xbd7a7a 53,0xc38787 41,0xb46868 83,0xead3d3 100,0xFFFFFF 17,0x952b2b 15,0x932626 14,0x912323 13,0x902121 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 13,0x902121 13,0x902121 13,0x902121 13,0x902121 13,0x902121 14,0x912323 15,0x932626 17,0x952b2b 26,0xa14242 23,0x9d3a3a 21,0x9a3535 23,0x9d3a3a 28,0xa34747 36,0xae5b5b 42,0xb56b6b 44,0xb87070 44,0xb87070 100,0xFFFFFF 70,0xd9b2b2 50,0xc07f7f 43,0xb76d6d 59,0xcb9696 76,0xe1c1c1 90,0xf3e5e5 71,0xdab5b5 63,0xd0a0a0 87,0xefdddd 48,0xbd7a7a 39,0xb16363 37,0xaf5e5e 36,0xae5b5b 35,0xac5959 34,0xab5656 33,0xaa5454 33,0xaa5454 33,0xaa5454 33,0xaa5454 33,0xaa5454 33,0xaa5454 33,0xaa5454 33,0xaa5454 34,0xab5656 34,0xab5656 34,0xab5656 34,0xab5656 35,0xac5959 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 98,0xfdf9f9 53,0xc38787 100,0xFFFFFF 87,0xefdddd 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 65,0xd3a5a5 100,0xFFFFFF 86,0xeedbdb 100,0xFFFFFF 37,0xaf5e5e 32,0xa85151 29,0xa54949 34,0xab5656 90,0xf3e5e5 23,0x9d3a3a 22,0x9c3838 21,0x9a3535 20,0x993333 20,0x993333 19,0x983030 17,0x952b2b 17,0x952b2b 16,0x942828 15,0x932626 15,0x932626 14,0x912323 14,0x912323 13,0x902121 13,0x902121 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 10,0x8c1919 10,0x8c1919 10,0x8c1919 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 10,0x8c1919 10,0x8c1919 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 12,0x8f1e1e 13,0x902121 88,0xf0e0e0 19,0x983030 26,0xa14242 22,0x9c3838 55,0xc68c8c 28,0xa34747 37,0xaf5e5e 76,0xe1c1c1 30,0xa64c4c 29,0xa54949 78,0xe3c6c6 100,0xFFFFFF 39,0xb16363 49,0xbe7c7c 52,0xc28484 55,0xc68c8c 58,0xca9393 58,0xca9393 62,0xcf9e9e 63,0xd0a0a0 90,0xf3e5e5 93,0xf7eded 52,0xc28484 41,0xb46868 39,0xb16363 37,0xaf5e5e 36,0xae5b5b 35,0xac5959 34,0xab5656 34,0xab5656 38,0xb06060 91,0xf4e8e8 100,0xFFFFFF 90,0xf3e5e5 67,0xd5aaaa 61,0xce9b9b 94,0xf8efef 50,0xc07f7f 51,0xc18282 73,0xddbaba 56,0xc78e8e 90,0xf3e5e5 94,0xf8efef 83,0xead3d3 58,0xca9393 48,0xbd7a7a 45,0xb97272 75,0xe0bfbf 100,0xFFFFFF 44,0xb87070 36,0xae5b5b 32,0xa85151 31,0xa74f4f 31,0xa74f4f 33,0xaa5454 100,0xFFFFFF 37,0xaf5e5e 38,0xb06060 40,0xb36666 50,0xc07f7f 46,0xba7575 44,0xb87070 45,0xb97272 45,0xb97272 46,0xba7575 48,0xbd7a7a 55,0xc68c8c 57,0xc89191 57,0xc89191 56,0xc78e8e 69,0xd8afaf 100,0xFFFFFF 100,0xFFFFFF 98,0xfdf9f9 53,0xc38787 47,0xbc7777 100,0xFFFFFF 40,0xb36666 35,0xac5959 30,0xa64c4c 44,0xb87070 42,0xb56b6b 93,0xf7eded 90,0xf3e5e5 100,0xFFFFFF 43,0xb76d6d 18,0x972d2d 11,0x8e1c1c 9,0x8b1616 8,0x8a1414 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 + 12,0x8f1e1e 9,0x8b1616 7,0x881111 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 26,0xa14242 22,0x9c3838 18,0x972d2d 32,0xa85151 48,0xbd7a7a 71,0xdab5b5 85,0xecd8d8 95,0xf9f2f2 82,0xe8d1d1 74,0xdebcbc 100,0xFFFFFF 100,0xFFFFFF 42,0xb56b6b 35,0xac5959 34,0xab5656 34,0xab5656 35,0xac5959 38,0xb06060 42,0xb56b6b 46,0xba7575 46,0xba7575 41,0xb46868 38,0xb06060 31,0xa74f4f 54,0xc58989 41,0xb46868 47,0xbc7777 48,0xbd7a7a 73,0xddbaba 69,0xd8afaf 38,0xb06060 40,0xb36666 48,0xbd7a7a 51,0xc18282 100,0xFFFFFF 22,0x9c3838 13,0x902121 12,0x8f1e1e 11,0x8e1c1c 10,0x8c1919 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 11,0x8e1c1c 11,0x8e1c1c 12,0x8f1e1e 12,0x8f1e1e 13,0x902121 14,0x912323 17,0x952b2b 20,0x993333 50,0xc07f7f 30,0xa64c4c 85,0xecd8d8 45,0xb97272 30,0xa64c4c 33,0xaa5454 37,0xaf5e5e 71,0xdab5b5 64,0xd1a3a3 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 96,0xfaf4f4 45,0xb97272 43,0xb76d6d 47,0xbc7777 60,0xcc9999 45,0xb97272 41,0xb46868 38,0xb06060 38,0xb06060 39,0xb16363 42,0xb56b6b 44,0xb87070 45,0xb97272 46,0xba7575 50,0xc07f7f 72,0xdcb7b7 88,0xf0e0e0 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 82,0xe8d1d1 44,0xb87070 25,0xa03f3f 19,0x983030 17,0x952b2b 16,0x942828 16,0x942828 16,0x942828 16,0x942828 15,0x932626 16,0x942828 16,0x942828 17,0x952b2b 16,0x942828 14,0x912323 14,0x912323 14,0x912323 14,0x912323 14,0x912323 14,0x912323 14,0x912323 14,0x912323 14,0x912323 14,0x912323 14,0x912323 14,0x912323 14,0x912323 14,0x912323 14,0x912323 14,0x912323 15,0x932626 15,0x932626 15,0x932626 15,0x932626 16,0x942828 16,0x942828 17,0x952b2b 17,0x952b2b 17,0x952b2b 18,0x972d2d 19,0x983030 19,0x983030 19,0x983030 20,0x993333 20,0x993333 21,0x9a3535 22,0x9c3838 22,0x9c3838 23,0x9d3a3a 35,0xac5959 35,0xac5959 37,0xaf5e5e 43,0xb76d6d 42,0xb56b6b 42,0xb56b6b 100,0xFFFFFF 27,0xa24444 24,0x9e3d3d 35,0xac5959 30,0xa64c4c 21,0x9a3535 14,0x912323 13,0x902121 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 13,0x902121 13,0x902121 13,0x902121 13,0x902121 13,0x902121 14,0x912323 14,0x912323 16,0x942828 29,0xa54949 87,0xefdddd 30,0xa64c4c 26,0xa14242 25,0xa03f3f 30,0xa64c4c 41,0xb46868 48,0xbd7a7a 46,0xba7575 100,0xFFFFFF 100,0xFFFFFF 87,0xefdddd 50,0xc07f7f 48,0xbd7a7a 100,0xFFFFFF 96,0xfaf4f4 71,0xdab5b5 63,0xd0a0a0 68,0xd7adad 100,0xFFFFFF 100,0xFFFFFF 69,0xd8afaf 37,0xaf5e5e 36,0xae5b5b 36,0xae5b5b 34,0xab5656 34,0xab5656 33,0xaa5454 33,0xaa5454 33,0xaa5454 33,0xaa5454 34,0xab5656 34,0xab5656 36,0xae5b5b 39,0xb16363 36,0xae5b5b 35,0xac5959 35,0xac5959 36,0xae5b5b 100,0xFFFFFF 100,0xFFFFFF 95,0xf9f2f2 65,0xd3a5a5 60,0xcc9999 100,0xFFFFFF 88,0xf0e0e0 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 90,0xf3e5e5 100,0xFFFFFF 55,0xc68c8c 66,0xd4a8a8 100,0xFFFFFF 62,0xcf9e9e 51,0xc18282 69,0xd8afaf 35,0xac5959 73,0xddbaba 24,0x9e3d3d 23,0x9d3a3a 22,0x9c3838 21,0x9a3535 25,0xa03f3f 23,0x9d3a3a 19,0x983030 18,0x972d2d 17,0x952b2b 15,0x932626 15,0x932626 14,0x912323 13,0x902121 13,0x902121 13,0x902121 12,0x8f1e1e 12,0x8f1e1e 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 10,0x8c1919 10,0x8c1919 10,0x8c1919 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 9,0x8b1616 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 11,0x8e1c1c 11,0x8e1c1c 13,0x902121 13,0x902121 14,0x912323 39,0xb16363 17,0x952b2b 19,0x983030 24,0x9e3d3d 24,0x9e3d3d 24,0x9e3d3d 28,0xa34747 32,0xa85151 51,0xc18282 44,0xb87070 45,0xb97272 69,0xd8afaf 67,0xd5aaaa 62,0xcf9e9e 100,0xFFFFFF 100,0xFFFFFF 66,0xd4a8a8 100,0xFFFFFF 100,0xFFFFFF 76,0xe1c1c1 49,0xbe7c7c 53,0xc38787 37,0xaf5e5e 36,0xae5b5b 35,0xac5959 34,0xab5656 35,0xac5959 39,0xb16363 48,0xbd7a7a 73,0xddbaba 80,0xe6cccc 62,0xcf9e9e 57,0xc89191 55,0xc68c8c 56,0xc78e8e 63,0xd0a0a0 63,0xd0a0a0 59,0xcb9696 89,0xf1e2e2 74,0xdebcbc 81,0xe7cece 80,0xe6cccc 100,0xFFFFFF 48,0xbd7a7a 60,0xcc9999 66,0xd4a8a8 75,0xe0bfbf 87,0xefdddd 32,0xa85151 30,0xa64c4c 30,0xa64c4c 99,0xfefcfc 42,0xb56b6b 41,0xb46868 44,0xb87070 50,0xc07f7f 53,0xc38787 47,0xbc7777 46,0xba7575 45,0xb97272 44,0xb87070 46,0xba7575 51,0xc18282 97,0xfcf7f7 60,0xcc9999 61,0xce9b9b 100,0xFFFFFF 49,0xbe7c7c 51,0xc18282 100,0xFFFFFF 51,0xc18282 46,0xba7575 47,0xbc7777 81,0xe7cece 38,0xb06060 28,0xa34747 28,0xa34747 32,0xa85151 61,0xce9b9b 54,0xc58989 69,0xd8afaf 45,0xb97272 25,0xa03f3f 66,0xd4a8a8 14,0x912323 9,0x8b1616 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 + 37,0xaf5e5e 39,0xb16363 9,0x8b1616 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 9,0x8b1616 11,0x8e1c1c 56,0xc78e8e 30,0xa64c4c 32,0xa85151 100,0xFFFFFF 84,0xebd6d6 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 81,0xe7cece 65,0xd3a5a5 100,0xFFFFFF 45,0xb97272 44,0xb87070 34,0xab5656 33,0xaa5454 35,0xac5959 38,0xb06060 65,0xd3a5a5 48,0xbd7a7a 100,0xFFFFFF 34,0xab5656 33,0xaa5454 27,0xa24444 30,0xa64c4c 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 48,0xbd7a7a 34,0xab5656 38,0xb06060 100,0xFFFFFF 66,0xd4a8a8 100,0xFFFFFF 93,0xf7eded 78,0xe3c6c6 29,0xa54949 80,0xe6cccc 13,0x902121 11,0x8e1c1c 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 11,0x8e1c1c 11,0x8e1c1c 12,0x8f1e1e 13,0x902121 13,0x902121 14,0x912323 16,0x942828 17,0x952b2b 19,0x983030 50,0xc07f7f 26,0xa14242 25,0xa03f3f 100,0xFFFFFF 38,0xb06060 71,0xdab5b5 51,0xc18282 76,0xe1c1c1 92,0xf5eaea 87,0xefdddd 68,0xd7adad 55,0xc68c8c 44,0xb87070 41,0xb46868 66,0xd4a8a8 43,0xb76d6d 38,0xb06060 36,0xae5b5b 36,0xae5b5b 37,0xaf5e5e 40,0xb36666 64,0xd1a3a3 61,0xce9b9b 47,0xbc7777 47,0xbc7777 50,0xc07f7f 100,0xFFFFFF 100,0xFFFFFF 82,0xe8d1d1 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 39,0xb16363 33,0xaa5454 24,0x9e3d3d 17,0x952b2b 16,0x942828 16,0x942828 15,0x932626 15,0x932626 15,0x932626 15,0x932626 15,0x932626 14,0x912323 14,0x912323 14,0x912323 13,0x902121 13,0x902121 13,0x902121 13,0x902121 13,0x902121 13,0x902121 13,0x902121 13,0x902121 13,0x902121 14,0x912323 14,0x912323 14,0x912323 14,0x912323 14,0x912323 14,0x912323 14,0x912323 15,0x932626 15,0x932626 15,0x932626 16,0x942828 16,0x942828 17,0x952b2b 17,0x952b2b 18,0x972d2d 19,0x983030 19,0x983030 19,0x983030 20,0x993333 21,0x9a3535 21,0x9a3535 21,0x9a3535 22,0x9c3838 22,0x9c3838 23,0x9d3a3a 25,0xa03f3f 28,0xa34747 60,0xcc9999 75,0xe0bfbf 48,0xbd7a7a 71,0xdab5b5 43,0xb76d6d 24,0x9e3d3d 21,0x9a3535 100,0xFFFFFF 46,0xba7575 17,0x952b2b 14,0x912323 13,0x902121 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 13,0x902121 13,0x902121 13,0x902121 13,0x902121 13,0x902121 13,0x902121 14,0x912323 14,0x912323 16,0x942828 19,0x983030 20,0x993333 50,0xc07f7f 28,0xa34747 90,0xf3e5e5 34,0xab5656 84,0xebd6d6 53,0xc38787 87,0xefdddd 58,0xca9393 100,0xFFFFFF 70,0xd9b2b2 59,0xcb9696 54,0xc58989 53,0xc38787 55,0xc68c8c 56,0xc78e8e 59,0xcb9696 97,0xfcf7f7 69,0xd8afaf 69,0xd8afaf 51,0xc18282 39,0xb16363 42,0xb56b6b 39,0xb16363 37,0xaf5e5e 34,0xab5656 34,0xab5656 34,0xab5656 34,0xab5656 34,0xab5656 34,0xab5656 35,0xac5959 48,0xbd7a7a 53,0xc38787 99,0xfefcfc 39,0xb16363 37,0xaf5e5e 37,0xaf5e5e 41,0xb46868 80,0xe6cccc 80,0xe6cccc 64,0xd1a3a3 63,0xd0a0a0 80,0xe6cccc 100,0xFFFFFF 99,0xfefcfc 100,0xFFFFFF 100,0xFFFFFF 82,0xe8d1d1 79,0xe5c9c9 100,0xFFFFFF 94,0xf8efef 79,0xe5c9c9 39,0xb16363 36,0xae5b5b 81,0xe7cece 82,0xe8d1d1 33,0xaa5454 25,0xa03f3f 25,0xa03f3f 28,0xa34747 28,0xa34747 81,0xe7cece 33,0xaa5454 21,0x9a3535 20,0x993333 48,0xbd7a7a 17,0x952b2b 16,0x942828 15,0x932626 14,0x912323 13,0x902121 13,0x902121 12,0x8f1e1e 12,0x8f1e1e 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 11,0x8e1c1c 12,0x8f1e1e 12,0x8f1e1e 13,0x902121 14,0x912323 15,0x932626 17,0x952b2b 18,0x972d2d 44,0xb87070 63,0xd0a0a0 42,0xb56b6b 62,0xcf9e9e 50,0xc07f7f 50,0xc07f7f 95,0xf9f2f2 71,0xdab5b5 100,0xFFFFFF 98,0xfdf9f9 80,0xe6cccc 72,0xdcb7b7 69,0xd8afaf 73,0xddbaba 100,0xFFFFFF 49,0xbe7c7c 42,0xb56b6b 38,0xb06060 36,0xae5b5b 35,0xac5959 35,0xac5959 36,0xae5b5b 39,0xb16363 100,0xFFFFFF 64,0xd1a3a3 100,0xFFFFFF 57,0xc89191 57,0xc89191 58,0xca9393 88,0xf0e0e0 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 66,0xd4a8a8 66,0xd4a8a8 100,0xFFFFFF 59,0xcb9696 62,0xcf9e9e 52,0xc28484 100,0xFFFFFF 80,0xe6cccc 100,0xFFFFFF 74,0xdebcbc 58,0xca9393 28,0xa34747 28,0xa34747 41,0xb46868 36,0xae5b5b 38,0xb06060 61,0xce9b9b 68,0xd7adad 64,0xd1a3a3 50,0xc07f7f 100,0xFFFFFF 59,0xcb9696 43,0xb76d6d 42,0xb56b6b 42,0xb56b6b 100,0xFFFFFF 71,0xdab5b5 82,0xe8d1d1 100,0xFFFFFF 47,0xbc7777 100,0xFFFFFF 41,0xb46868 40,0xb36666 100,0xFFFFFF 50,0xc07f7f 73,0xddbaba 64,0xd1a3a3 24,0x9e3d3d 40,0xb36666 45,0xb97272 95,0xf9f2f2 27,0xa24444 33,0xaa5454 42,0xb56b6b 68,0xd7adad 14,0x912323 11,0x8e1c1c 9,0x8b1616 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 + 84,0xebd6d6 31,0xa74f4f 11,0x8e1c1c 10,0x8c1919 12,0x8f1e1e 11,0x8e1c1c 94,0xf8efef 9,0x8b1616 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 11,0x8e1c1c 14,0x912323 100,0xFFFFFF 39,0xb16363 67,0xd5aaaa 83,0xead3d3 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 85,0xecd8d8 74,0xdebcbc 56,0xc78e8e 100,0xFFFFFF 86,0xeedbdb 52,0xc28484 31,0xa74f4f 100,0xFFFFFF 55,0xc68c8c 70,0xd9b2b2 71,0xdab5b5 89,0xf1e2e2 36,0xae5b5b 24,0x9e3d3d 26,0xa14242 30,0xa64c4c 68,0xd7adad 91,0xf4e8e8 38,0xb06060 27,0xa24444 30,0xa64c4c 54,0xc58989 48,0xbd7a7a 66,0xd4a8a8 69,0xd8afaf 53,0xc38787 27,0xa24444 22,0x9c3838 69,0xd8afaf 13,0x902121 11,0x8e1c1c 11,0x8e1c1c 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 11,0x8e1c1c 11,0x8e1c1c 12,0x8f1e1e 12,0x8f1e1e 13,0x902121 14,0x912323 15,0x932626 16,0x942828 17,0x952b2b 18,0x972d2d 20,0x993333 21,0x9a3535 23,0x9d3a3a 100,0xFFFFFF 31,0xa74f4f 83,0xead3d3 47,0xbc7777 80,0xe6cccc 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 98,0xfdf9f9 83,0xead3d3 37,0xaf5e5e 38,0xb06060 46,0xba7575 37,0xaf5e5e 35,0xac5959 35,0xac5959 36,0xae5b5b 40,0xb36666 59,0xcb9696 100,0xFFFFFF 100,0xFFFFFF 57,0xc89191 54,0xc58989 56,0xc78e8e 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 65,0xd3a5a5 42,0xb56b6b 23,0x9d3a3a 18,0x972d2d 16,0x942828 16,0x942828 15,0x932626 15,0x932626 15,0x932626 14,0x912323 14,0x912323 14,0x912323 14,0x912323 13,0x902121 13,0x902121 13,0x902121 13,0x902121 13,0x902121 13,0x902121 13,0x902121 13,0x902121 13,0x902121 13,0x902121 13,0x902121 13,0x902121 13,0x902121 14,0x912323 14,0x912323 14,0x912323 14,0x912323 14,0x912323 15,0x932626 15,0x932626 15,0x932626 16,0x942828 16,0x942828 17,0x952b2b 17,0x952b2b 19,0x983030 21,0x9a3535 21,0x9a3535 22,0x9c3838 26,0xa14242 23,0x9d3a3a 23,0x9d3a3a 23,0x9d3a3a 23,0x9d3a3a 23,0x9d3a3a 24,0x9e3d3d 25,0xa03f3f 27,0xa24444 100,0xFFFFFF 100,0xFFFFFF 58,0xca9393 100,0xFFFFFF 71,0xdab5b5 26,0xa14242 19,0x983030 17,0x952b2b 17,0x952b2b 15,0x932626 14,0x912323 13,0x902121 13,0x902121 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 13,0x902121 13,0x902121 13,0x902121 13,0x902121 13,0x902121 13,0x902121 14,0x912323 14,0x912323 15,0x932626 16,0x942828 17,0x952b2b 18,0x972d2d 100,0xFFFFFF 44,0xb87070 56,0xc78e8e 39,0xb16363 100,0xFFFFFF 61,0xce9b9b 100,0xFFFFFF 69,0xd8afaf 67,0xd5aaaa 63,0xd0a0a0 58,0xca9393 55,0xc68c8c 54,0xc58989 53,0xc38787 54,0xc58989 100,0xFFFFFF 70,0xd9b2b2 52,0xc28484 68,0xd7adad 80,0xe6cccc 43,0xb76d6d 53,0xc38787 47,0xbc7777 37,0xaf5e5e 36,0xae5b5b 35,0xac5959 35,0xac5959 35,0xac5959 35,0xac5959 35,0xac5959 36,0xae5b5b 42,0xb56b6b 47,0xbc7777 50,0xc07f7f 98,0xfdf9f9 40,0xb36666 39,0xb16363 40,0xb36666 100,0xFFFFFF 51,0xc18282 56,0xc78e8e 67,0xd5aaaa 69,0xd8afaf 100,0xFFFFFF 91,0xf4e8e8 100,0xFFFFFF 93,0xf7eded 83,0xead3d3 100,0xFFFFFF 100,0xFFFFFF 45,0xb97272 54,0xc58989 36,0xae5b5b 34,0xab5656 33,0xaa5454 31,0xa74f4f 28,0xa34747 27,0xa24444 37,0xaf5e5e 100,0xFFFFFF 88,0xf0e0e0 32,0xa85151 27,0xa24444 100,0xFFFFFF 45,0xb97272 85,0xecd8d8 19,0x983030 17,0x952b2b 16,0x942828 14,0x912323 13,0x902121 13,0x902121 12,0x8f1e1e 12,0x8f1e1e 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 9,0x8b1616 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 11,0x8e1c1c 12,0x8f1e1e 12,0x8f1e1e 14,0x912323 14,0x912323 16,0x942828 16,0x942828 19,0x983030 22,0x9c3838 48,0xbd7a7a 87,0xefdddd 50,0xc07f7f 50,0xc07f7f 62,0xcf9e9e 73,0xddbaba 87,0xefdddd 100,0xFFFFFF 100,0xFFFFFF 84,0xebd6d6 100,0xFFFFFF 61,0xce9b9b 69,0xd8afaf 51,0xc18282 100,0xFFFFFF 58,0xca9393 36,0xae5b5b 34,0xab5656 35,0xac5959 36,0xae5b5b 37,0xaf5e5e 40,0xb36666 45,0xb97272 49,0xbe7c7c 58,0xca9393 58,0xca9393 60,0xcc9999 96,0xfaf4f4 100,0xFFFFFF 81,0xe7cece 71,0xdab5b5 69,0xd8afaf 70,0xd9b2b2 62,0xcf9e9e 58,0xca9393 56,0xc78e8e 55,0xc68c8c 58,0xca9393 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 91,0xf4e8e8 26,0xa14242 26,0xa14242 28,0xa34747 29,0xa54949 29,0xa54949 100,0xFFFFFF 100,0xFFFFFF 57,0xc89191 94,0xf8efef 84,0xebd6d6 82,0xe8d1d1 100,0xFFFFFF 36,0xae5b5b 38,0xb06060 52,0xc28484 81,0xe7cece 100,0xFFFFFF 59,0xcb9696 47,0xbc7777 38,0xb06060 37,0xaf5e5e 38,0xb06060 42,0xb56b6b 69,0xd8afaf 70,0xd9b2b2 69,0xd8afaf 20,0x993333 22,0x9c3838 100,0xFFFFFF 20,0x993333 88,0xf0e0e0 100,0xFFFFFF 53,0xc38787 97,0xfcf7f7 12,0x8f1e1e 10,0x8c1919 9,0x8b1616 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 + 71,0xdab5b5 16,0x942828 14,0x912323 46,0xba7575 100,0xFFFFFF 100,0xFFFFFF 15,0x932626 11,0x8e1c1c 10,0x8c1919 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 11,0x8e1c1c 14,0x912323 19,0x983030 53,0xc38787 52,0xc28484 100,0xFFFFFF 99,0xfefcfc 100,0xFFFFFF 100,0xFFFFFF 77,0xe2c4c4 100,0xFFFFFF 55,0xc68c8c 61,0xce9b9b 82,0xe8d1d1 100,0xFFFFFF 28,0xa34747 35,0xac5959 29,0xa54949 35,0xac5959 86,0xeedbdb 81,0xe7cece 25,0xa03f3f 21,0x9a3535 53,0xc38787 100,0xFFFFFF 26,0xa14242 25,0xa03f3f 22,0x9c3838 29,0xa54949 33,0xaa5454 48,0xbd7a7a 71,0xdab5b5 45,0xb97272 72,0xdcb7b7 42,0xb56b6b 46,0xba7575 18,0x972d2d 15,0x932626 13,0x902121 12,0x8f1e1e 11,0x8e1c1c 11,0x8e1c1c 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 11,0x8e1c1c 11,0x8e1c1c 12,0x8f1e1e 13,0x902121 13,0x902121 15,0x932626 15,0x932626 17,0x952b2b 17,0x952b2b 18,0x972d2d 19,0x983030 20,0x993333 22,0x9c3838 25,0xa03f3f 25,0xa03f3f 27,0xa24444 38,0xb06060 58,0xca9393 84,0xebd6d6 74,0xdebcbc 59,0xcb9696 63,0xd0a0a0 45,0xb97272 35,0xac5959 34,0xab5656 34,0xab5656 34,0xab5656 34,0xab5656 34,0xab5656 34,0xab5656 36,0xae5b5b 38,0xb06060 57,0xc89191 100,0xFFFFFF 100,0xFFFFFF 58,0xca9393 54,0xc58989 59,0xcb9696 68,0xd7adad 65,0xd3a5a5 60,0xcc9999 46,0xba7575 72,0xdcb7b7 32,0xa85151 18,0x972d2d 16,0x942828 15,0x932626 15,0x932626 14,0x912323 14,0x912323 14,0x912323 14,0x912323 13,0x902121 13,0x902121 13,0x902121 13,0x902121 13,0x902121 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 13,0x902121 13,0x902121 13,0x902121 13,0x902121 13,0x902121 13,0x902121 13,0x902121 13,0x902121 14,0x912323 14,0x912323 14,0x912323 14,0x912323 15,0x932626 15,0x932626 15,0x932626 16,0x942828 17,0x952b2b 18,0x972d2d 19,0x983030 21,0x9a3535 43,0xb76d6d 25,0xa03f3f 54,0xc58989 32,0xa85151 58,0xca9393 28,0xa34747 25,0xa03f3f 24,0x9e3d3d 24,0x9e3d3d 24,0x9e3d3d 25,0xa03f3f 52,0xc28484 33,0xaa5454 100,0xFFFFFF 67,0xd5aaaa 100,0xFFFFFF 97,0xfcf7f7 100,0xFFFFFF 18,0x972d2d 16,0x942828 15,0x932626 15,0x932626 14,0x912323 13,0x902121 13,0x902121 13,0x902121 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 13,0x902121 13,0x902121 13,0x902121 13,0x902121 13,0x902121 14,0x912323 14,0x912323 14,0x912323 15,0x932626 15,0x932626 16,0x942828 17,0x952b2b 27,0xa24444 100,0xFFFFFF 48,0xbd7a7a 57,0xc89191 68,0xd7adad 100,0xFFFFFF 79,0xe5c9c9 100,0xFFFFFF 81,0xe7cece 100,0xFFFFFF 74,0xdebcbc 58,0xca9393 83,0xead3d3 53,0xc38787 52,0xc28484 81,0xe7cece 50,0xc07f7f 47,0xbc7777 48,0xbd7a7a 52,0xc28484 50,0xc07f7f 52,0xc28484 100,0xFFFFFF 39,0xb16363 36,0xae5b5b 35,0xac5959 35,0xac5959 35,0xac5959 35,0xac5959 36,0xae5b5b 37,0xaf5e5e 38,0xb06060 41,0xb46868 47,0xbc7777 57,0xc89191 44,0xb87070 41,0xb46868 41,0xb46868 44,0xb87070 58,0xca9393 62,0xcf9e9e 100,0xFFFFFF 76,0xe1c1c1 73,0xddbaba 77,0xe2c4c4 89,0xf1e2e2 93,0xf7eded 66,0xd4a8a8 64,0xd1a3a3 54,0xc58989 44,0xb87070 38,0xb06060 35,0xac5959 33,0xaa5454 32,0xa85151 30,0xa64c4c 29,0xa54949 29,0xa54949 58,0xca9393 90,0xf3e5e5 57,0xc89191 43,0xb76d6d 81,0xe7cece 47,0xbc7777 39,0xb16363 45,0xb97272 97,0xfcf7f7 100,0xFFFFFF 70,0xd9b2b2 15,0x932626 14,0x912323 13,0x902121 12,0x8f1e1e 12,0x8f1e1e 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 9,0x8b1616 10,0x8c1919 10,0x8c1919 10,0x8c1919 11,0x8e1c1c 12,0x8f1e1e 12,0x8f1e1e 13,0x902121 14,0x912323 16,0x942828 16,0x942828 18,0x972d2d 20,0x993333 24,0x9e3d3d 37,0xaf5e5e 41,0xb46868 56,0xc78e8e 100,0xFFFFFF 83,0xead3d3 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 63,0xd0a0a0 57,0xc89191 100,0xFFFFFF 100,0xFFFFFF 66,0xd4a8a8 34,0xab5656 34,0xab5656 35,0xac5959 36,0xae5b5b 37,0xaf5e5e 63,0xd0a0a0 56,0xc78e8e 52,0xc28484 66,0xd4a8a8 60,0xcc9999 65,0xd3a5a5 72,0xdcb7b7 78,0xe3c6c6 89,0xf1e2e2 100,0xFFFFFF 80,0xe6cccc 100,0xFFFFFF 88,0xf0e0e0 95,0xf9f2f2 59,0xcb9696 54,0xc58989 58,0xca9393 73,0xddbaba 49,0xbe7c7c 69,0xd8afaf 28,0xa34747 26,0xa14242 24,0x9e3d3d 24,0x9e3d3d 26,0xa14242 27,0xa24444 31,0xa74f4f 38,0xb06060 90,0xf3e5e5 100,0xFFFFFF 100,0xFFFFFF 68,0xd7adad 98,0xfdf9f9 32,0xa85151 43,0xb76d6d 43,0xb76d6d 42,0xb56b6b 70,0xd9b2b2 54,0xc58989 40,0xb36666 36,0xae5b5b 36,0xae5b5b 37,0xaf5e5e 100,0xFFFFFF 32,0xa85151 71,0xdab5b5 24,0x9e3d3d 18,0x972d2d 17,0x952b2b 17,0x952b2b 18,0x972d2d 19,0x983030 22,0x9c3838 100,0xFFFFFF 69,0xd8afaf 13,0x902121 10,0x8c1919 9,0x8b1616 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 + 100,0xFFFFFF 100,0xFFFFFF 25,0xa03f3f 82,0xe8d1d1 93,0xf7eded 100,0xFFFFFF 56,0xc78e8e 97,0xfcf7f7 14,0x912323 11,0x8e1c1c 10,0x8c1919 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 10,0x8c1919 14,0x912323 21,0x9a3535 23,0x9d3a3a 66,0xd4a8a8 74,0xdebcbc 61,0xce9b9b 76,0xe1c1c1 100,0xFFFFFF 72,0xdcb7b7 84,0xebd6d6 100,0xFFFFFF 48,0xbd7a7a 65,0xd3a5a5 56,0xc78e8e 31,0xa74f4f 26,0xa14242 25,0xa03f3f 27,0xa24444 31,0xa74f4f 100,0xFFFFFF 39,0xb16363 19,0x983030 19,0x983030 45,0xb97272 100,0xFFFFFF 20,0x993333 19,0x983030 20,0x993333 99,0xfefcfc 24,0x9e3d3d 39,0xb16363 32,0xa85151 30,0xa64c4c 38,0xb06060 43,0xb76d6d 55,0xc68c8c 56,0xc78e8e 16,0x942828 13,0x902121 12,0x8f1e1e 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 11,0x8e1c1c 11,0x8e1c1c 12,0x8f1e1e 14,0x912323 14,0x912323 17,0x952b2b 21,0x9a3535 67,0xd5aaaa 23,0x9d3a3a 20,0x993333 19,0x983030 20,0x993333 20,0x993333 22,0x9c3838 23,0x9d3a3a 24,0x9e3d3d 25,0xa03f3f 28,0xa34747 79,0xe5c9c9 100,0xFFFFFF 51,0xc18282 38,0xb06060 45,0xb97272 35,0xac5959 34,0xab5656 33,0xaa5454 33,0xaa5454 32,0xa85151 33,0xaa5454 34,0xab5656 34,0xab5656 35,0xac5959 36,0xae5b5b 40,0xb36666 50,0xc07f7f 69,0xd8afaf 80,0xe6cccc 69,0xd8afaf 48,0xbd7a7a 100,0xFFFFFF 48,0xbd7a7a 49,0xbe7c7c 74,0xdebcbc 26,0xa14242 61,0xce9b9b 90,0xf3e5e5 16,0x942828 15,0x932626 14,0x912323 14,0x912323 14,0x912323 14,0x912323 13,0x902121 13,0x902121 13,0x902121 13,0x902121 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 13,0x902121 13,0x902121 13,0x902121 13,0x902121 13,0x902121 13,0x902121 14,0x912323 14,0x912323 14,0x912323 15,0x932626 15,0x932626 15,0x932626 16,0x942828 21,0x9a3535 21,0x9a3535 21,0x9a3535 35,0xac5959 74,0xdebcbc 50,0xc07f7f 100,0xFFFFFF 50,0xc07f7f 80,0xe6cccc 70,0xd9b2b2 36,0xae5b5b 25,0xa03f3f 25,0xa03f3f 25,0xa03f3f 27,0xa24444 32,0xa85151 39,0xb16363 42,0xb56b6b 47,0xbc7777 57,0xc89191 48,0xbd7a7a 24,0x9e3d3d 17,0x952b2b 16,0x942828 15,0x932626 14,0x912323 14,0x912323 13,0x902121 13,0x902121 13,0x902121 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 13,0x902121 13,0x902121 13,0x902121 13,0x902121 13,0x902121 14,0x912323 14,0x912323 14,0x912323 15,0x932626 15,0x932626 15,0x932626 16,0x942828 18,0x972d2d 21,0x9a3535 27,0xa24444 42,0xb56b6b 96,0xfaf4f4 74,0xdebcbc 92,0xf5eaea 100,0xFFFFFF 97,0xfcf7f7 88,0xf0e0e0 100,0xFFFFFF 72,0xdcb7b7 77,0xe2c4c4 100,0xFFFFFF 55,0xc68c8c 49,0xbe7c7c 48,0xbd7a7a 46,0xba7575 45,0xb97272 46,0xba7575 100,0xFFFFFF 62,0xcf9e9e 100,0xFFFFFF 58,0xca9393 38,0xb06060 37,0xaf5e5e 36,0xae5b5b 36,0xae5b5b 36,0xae5b5b 36,0xae5b5b 37,0xaf5e5e 37,0xaf5e5e 41,0xb46868 96,0xfaf4f4 51,0xc18282 100,0xFFFFFF 44,0xb87070 42,0xb56b6b 42,0xb56b6b 44,0xb87070 47,0xbc7777 100,0xFFFFFF 100,0xFFFFFF 97,0xfcf7f7 100,0xFFFFFF 67,0xd5aaaa 83,0xead3d3 97,0xfcf7f7 63,0xd0a0a0 65,0xd3a5a5 86,0xeedbdb 100,0xFFFFFF 39,0xb16363 35,0xac5959 33,0xaa5454 32,0xa85151 31,0xa74f4f 31,0xa74f4f 37,0xaf5e5e 38,0xb06060 46,0xba7575 50,0xc07f7f 73,0xddbaba 62,0xcf9e9e 94,0xf8efef 65,0xd3a5a5 55,0xc68c8c 38,0xb06060 25,0xa03f3f 19,0x983030 16,0x942828 15,0x932626 14,0x912323 13,0x902121 12,0x8f1e1e 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 9,0x8b1616 10,0x8c1919 10,0x8c1919 11,0x8e1c1c 11,0x8e1c1c 12,0x8f1e1e 13,0x902121 15,0x932626 17,0x952b2b 17,0x952b2b 18,0x972d2d 24,0x9e3d3d 38,0xb06060 30,0xa64c4c 48,0xbd7a7a 75,0xe0bfbf 62,0xcf9e9e 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 78,0xe3c6c6 100,0xFFFFFF 53,0xc38787 76,0xe1c1c1 82,0xe8d1d1 43,0xb76d6d 31,0xa74f4f 33,0xaa5454 36,0xae5b5b 37,0xaf5e5e 38,0xb06060 40,0xb36666 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 67,0xd5aaaa 100,0xFFFFFF 100,0xFFFFFF 84,0xebd6d6 93,0xf7eded 100,0xFFFFFF 92,0xf5eaea 88,0xf0e0e0 82,0xe8d1d1 74,0xdebcbc 100,0xFFFFFF 58,0xca9393 50,0xc07f7f 51,0xc18282 38,0xb06060 37,0xaf5e5e 37,0xaf5e5e 25,0xa03f3f 23,0x9d3a3a 24,0x9e3d3d 25,0xa03f3f 27,0xa24444 32,0xa85151 53,0xc38787 50,0xc07f7f 82,0xe8d1d1 100,0xFFFFFF 66,0xd4a8a8 45,0xb97272 27,0xa24444 48,0xbd7a7a 28,0xa34747 29,0xa54949 31,0xa74f4f 33,0xaa5454 34,0xab5656 35,0xac5959 34,0xab5656 33,0xaa5454 33,0xaa5454 27,0xa24444 31,0xa74f4f 23,0x9d3a3a 17,0x952b2b 16,0x942828 16,0x942828 17,0x952b2b 19,0x983030 21,0x9a3535 100,0xFFFFFF 20,0x993333 12,0x8f1e1e 10,0x8c1919 9,0x8b1616 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 + 80,0xe6cccc 45,0xb97272 34,0xab5656 51,0xc18282 55,0xc68c8c 36,0xae5b5b 100,0xFFFFFF 95,0xf9f2f2 18,0x972d2d 12,0x8f1e1e 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 11,0x8e1c1c 12,0x8f1e1e 15,0x932626 44,0xb87070 51,0xc18282 42,0xb56b6b 46,0xba7575 95,0xf9f2f2 58,0xca9393 68,0xd7adad 100,0xFFFFFF 50,0xc07f7f 45,0xb97272 45,0xb97272 35,0xac5959 29,0xa54949 23,0x9d3a3a 23,0x9d3a3a 59,0xcb9696 42,0xb56b6b 22,0x9c3838 19,0x983030 17,0x952b2b 17,0x952b2b 18,0x972d2d 19,0x983030 18,0x972d2d 18,0x972d2d 18,0x972d2d 19,0x983030 20,0x993333 21,0x9a3535 24,0x9e3d3d 56,0xc78e8e 100,0xFFFFFF 51,0xc18282 100,0xFFFFFF 79,0xe5c9c9 24,0x9e3d3d 14,0x912323 13,0x902121 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 12,0x8f1e1e 13,0x902121 100,0xFFFFFF 48,0xbd7a7a 59,0xcb9696 49,0xbe7c7c 37,0xaf5e5e 41,0xb46868 51,0xc18282 21,0x9a3535 21,0x9a3535 21,0x9a3535 22,0x9c3838 23,0x9d3a3a 24,0x9e3d3d 25,0xa03f3f 26,0xa14242 28,0xa34747 30,0xa64c4c 32,0xa85151 32,0xa85151 35,0xac5959 33,0xaa5454 33,0xaa5454 32,0xa85151 32,0xa85151 32,0xa85151 32,0xa85151 33,0xaa5454 34,0xab5656 35,0xac5959 37,0xaf5e5e 42,0xb56b6b 90,0xf3e5e5 100,0xFFFFFF 100,0xFFFFFF 53,0xc38787 37,0xaf5e5e 39,0xb16363 45,0xb97272 89,0xf1e2e2 100,0xFFFFFF 22,0x9c3838 34,0xab5656 19,0x983030 15,0x932626 14,0x912323 14,0x912323 14,0x912323 14,0x912323 13,0x902121 13,0x902121 13,0x902121 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 13,0x902121 13,0x902121 13,0x902121 13,0x902121 13,0x902121 13,0x902121 14,0x912323 14,0x912323 15,0x932626 15,0x932626 15,0x932626 17,0x952b2b 20,0x993333 40,0xb36666 25,0xa03f3f 79,0xe5c9c9 84,0xebd6d6 45,0xb97272 78,0xe3c6c6 54,0xc58989 32,0xa85151 34,0xab5656 96,0xfaf4f4 29,0xa54949 26,0xa14242 26,0xa14242 28,0xa34747 74,0xdebcbc 63,0xd0a0a0 51,0xc18282 42,0xb56b6b 74,0xdebcbc 30,0xa64c4c 23,0x9d3a3a 17,0x952b2b 16,0x942828 15,0x932626 14,0x912323 14,0x912323 14,0x912323 13,0x902121 13,0x902121 13,0x902121 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 13,0x902121 13,0x902121 13,0x902121 13,0x902121 13,0x902121 14,0x912323 14,0x912323 14,0x912323 14,0x912323 14,0x912323 15,0x932626 15,0x932626 15,0x932626 17,0x952b2b 22,0x9c3838 55,0xc68c8c 27,0xa24444 47,0xbc7777 60,0xcc9999 89,0xf1e2e2 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 80,0xe6cccc 75,0xe0bfbf 90,0xf3e5e5 100,0xFFFFFF 89,0xf1e2e2 49,0xbe7c7c 46,0xba7575 45,0xb97272 45,0xb97272 44,0xb87070 45,0xb97272 58,0xca9393 49,0xbe7c7c 40,0xb36666 38,0xb06060 37,0xaf5e5e 37,0xaf5e5e 37,0xaf5e5e 37,0xaf5e5e 96,0xfaf4f4 40,0xb36666 42,0xb56b6b 72,0xdcb7b7 100,0xFFFFFF 49,0xbe7c7c 46,0xba7575 44,0xb87070 43,0xb76d6d 43,0xb76d6d 44,0xb87070 46,0xba7575 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 94,0xf8efef 68,0xd7adad 60,0xcc9999 58,0xca9393 68,0xd7adad 67,0xd5aaaa 82,0xe8d1d1 81,0xe7cece 44,0xb87070 37,0xaf5e5e 40,0xb36666 35,0xac5959 32,0xa85151 33,0xaa5454 36,0xae5b5b 45,0xb97272 57,0xc89191 52,0xc28484 63,0xd0a0a0 77,0xe2c4c4 100,0xFFFFFF 100,0xFFFFFF 84,0xebd6d6 56,0xc78e8e 36,0xae5b5b 100,0xFFFFFF 24,0x9e3d3d 16,0x942828 15,0x932626 13,0x902121 12,0x8f1e1e 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 10,0x8c1919 11,0x8e1c1c 11,0x8e1c1c 14,0x912323 18,0x972d2d 100,0xFFFFFF 97,0xfcf7f7 20,0x993333 20,0x993333 22,0x9c3838 54,0xc58989 63,0xd0a0a0 38,0xb06060 44,0xb87070 100,0xFFFFFF 74,0xdebcbc 94,0xf8efef 100,0xFFFFFF 100,0xFFFFFF 89,0xf1e2e2 68,0xd7adad 56,0xc78e8e 47,0xbc7777 43,0xb76d6d 48,0xbd7a7a 30,0xa64c4c 29,0xa54949 100,0xFFFFFF 48,0xbd7a7a 39,0xb16363 39,0xb16363 41,0xb46868 52,0xc28484 100,0xFFFFFF 79,0xe5c9c9 69,0xd8afaf 100,0xFFFFFF 91,0xf4e8e8 97,0xfcf7f7 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 81,0xe7cece 76,0xe1c1c1 100,0xFFFFFF 62,0xcf9e9e 45,0xb97272 45,0xb97272 37,0xaf5e5e 32,0xa85151 26,0xa14242 23,0x9d3a3a 22,0x9c3838 23,0x9d3a3a 29,0xa54949 29,0xa54949 47,0xbc7777 100,0xFFFFFF 35,0xac5959 43,0xb76d6d 43,0xb76d6d 38,0xb06060 24,0x9e3d3d 24,0x9e3d3d 25,0xa03f3f 26,0xa14242 28,0xa34747 31,0xa74f4f 33,0xaa5454 34,0xab5656 35,0xac5959 35,0xac5959 33,0xaa5454 28,0xa34747 25,0xa03f3f 23,0x9d3a3a 35,0xac5959 16,0x942828 15,0x932626 15,0x932626 16,0x942828 99,0xfefcfc 32,0xa85151 96,0xfaf4f4 15,0x932626 13,0x902121 12,0x8f1e1e 10,0x8c1919 9,0x8b1616 7,0x881111 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 + 78,0xe3c6c6 60,0xcc9999 30,0xa64c4c 96,0xfaf4f4 100,0xFFFFFF 30,0xa64c4c 100,0xFFFFFF 52,0xc28484 88,0xf0e0e0 66,0xd4a8a8 13,0x902121 11,0x8e1c1c 10,0x8c1919 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 12,0x8f1e1e 14,0x912323 50,0xc07f7f 57,0xc89191 35,0xac5959 55,0xc68c8c 55,0xc68c8c 52,0xc28484 100,0xFFFFFF 100,0xFFFFFF 45,0xb97272 44,0xb87070 48,0xbd7a7a 51,0xc18282 100,0xFFFFFF 22,0x9c3838 21,0x9a3535 54,0xc58989 26,0xa14242 21,0x9a3535 17,0x952b2b 16,0x942828 16,0x942828 16,0x942828 16,0x942828 16,0x942828 17,0x952b2b 17,0x952b2b 18,0x972d2d 19,0x983030 19,0x983030 23,0x9d3a3a 24,0x9e3d3d 62,0xcf9e9e 43,0xb76d6d 63,0xd0a0a0 61,0xce9b9b 25,0xa03f3f 24,0x9e3d3d 15,0x932626 12,0x8f1e1e 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 12,0x8f1e1e 13,0x902121 15,0x932626 57,0xc89191 69,0xd8afaf 27,0xa24444 24,0x9e3d3d 28,0xa34747 100,0xFFFFFF 24,0x9e3d3d 22,0x9c3838 22,0x9c3838 22,0x9c3838 23,0x9d3a3a 24,0x9e3d3d 25,0xa03f3f 26,0xa14242 27,0xa24444 28,0xa34747 30,0xa64c4c 30,0xa64c4c 31,0xa74f4f 32,0xa85151 32,0xa85151 32,0xa85151 32,0xa85151 32,0xa85151 32,0xa85151 32,0xa85151 34,0xab5656 42,0xb56b6b 39,0xb16363 78,0xe3c6c6 100,0xFFFFFF 38,0xb06060 79,0xe5c9c9 30,0xa64c4c 35,0xac5959 39,0xb16363 55,0xc68c8c 81,0xe7cece 100,0xFFFFFF 22,0x9c3838 18,0x972d2d 16,0x942828 15,0x932626 14,0x912323 14,0x912323 14,0x912323 13,0x902121 13,0x902121 13,0x902121 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 13,0x902121 13,0x902121 13,0x902121 13,0x902121 13,0x902121 13,0x902121 14,0x912323 15,0x932626 15,0x932626 16,0x942828 17,0x952b2b 21,0x9a3535 79,0xe5c9c9 54,0xc58989 55,0xc68c8c 56,0xc78e8e 100,0xFFFFFF 63,0xd0a0a0 29,0xa54949 29,0xa54949 100,0xFFFFFF 42,0xb56b6b 30,0xa64c4c 28,0xa34747 28,0xa34747 34,0xab5656 37,0xaf5e5e 76,0xe1c1c1 100,0xFFFFFF 100,0xFFFFFF 24,0x9e3d3d 30,0xa64c4c 26,0xa14242 18,0x972d2d 15,0x932626 14,0x912323 14,0x912323 14,0x912323 14,0x912323 13,0x902121 13,0x902121 13,0x902121 13,0x902121 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 13,0x902121 13,0x902121 13,0x902121 13,0x902121 14,0x912323 14,0x912323 14,0x912323 14,0x912323 14,0x912323 14,0x912323 15,0x932626 15,0x932626 15,0x932626 16,0x942828 17,0x952b2b 21,0x9a3535 24,0x9e3d3d 41,0xb46868 52,0xc28484 68,0xd7adad 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 99,0xfefcfc 100,0xFFFFFF 74,0xdebcbc 82,0xe8d1d1 79,0xe5c9c9 100,0xFFFFFF 49,0xbe7c7c 46,0xba7575 45,0xb97272 44,0xb87070 43,0xb76d6d 43,0xb76d6d 42,0xb56b6b 41,0xb46868 40,0xb36666 39,0xb16363 38,0xb06060 38,0xb06060 38,0xb06060 39,0xb16363 51,0xc18282 46,0xba7575 70,0xd9b2b2 100,0xFFFFFF 100,0xFFFFFF 49,0xbe7c7c 46,0xba7575 45,0xb97272 44,0xb87070 45,0xb97272 45,0xb97272 47,0xbc7777 49,0xbe7c7c 80,0xe6cccc 59,0xcb9696 58,0xca9393 55,0xc68c8c 55,0xc68c8c 55,0xc68c8c 58,0xca9393 100,0xFFFFFF 100,0xFFFFFF 57,0xc89191 100,0xFFFFFF 46,0xba7575 48,0xbd7a7a 43,0xb76d6d 34,0xab5656 35,0xac5959 46,0xba7575 100,0xFFFFFF 82,0xe8d1d1 59,0xcb9696 100,0xFFFFFF 87,0xefdddd 100,0xFFFFFF 100,0xFFFFFF 99,0xfefcfc 93,0xf7eded 43,0xb76d6d 99,0xfefcfc 33,0xaa5454 22,0x9c3838 42,0xb56b6b 15,0x932626 12,0x8f1e1e 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 9,0x8b1616 10,0x8c1919 11,0x8e1c1c 12,0x8f1e1e 42,0xb56b6b 41,0xb46868 28,0xa34747 27,0xa24444 24,0x9e3d3d 22,0x9c3838 47,0xbc7777 65,0xd3a5a5 46,0xba7575 55,0xc68c8c 42,0xb56b6b 50,0xc07f7f 56,0xc78e8e 100,0xFFFFFF 78,0xe3c6c6 89,0xf1e2e2 92,0xf5eaea 60,0xcc9999 88,0xf0e0e0 45,0xb97272 41,0xb46868 32,0xa85151 26,0xa14242 26,0xa14242 30,0xa64c4c 100,0xFFFFFF 48,0xbd7a7a 49,0xbe7c7c 45,0xb97272 47,0xbc7777 100,0xFFFFFF 64,0xd1a3a3 77,0xe2c4c4 74,0xdebcbc 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 71,0xdab5b5 100,0xFFFFFF 55,0xc68c8c 45,0xb97272 42,0xb56b6b 100,0xFFFFFF 76,0xe1c1c1 48,0xbd7a7a 22,0x9c3838 20,0x993333 23,0x9d3a3a 36,0xae5b5b 76,0xe1c1c1 55,0xc68c8c 50,0xc07f7f 22,0x9c3838 23,0x9d3a3a 23,0x9d3a3a 20,0x993333 21,0x9a3535 23,0x9d3a3a 25,0xa03f3f 26,0xa14242 29,0xa54949 42,0xb56b6b 50,0xc07f7f 36,0xae5b5b 37,0xaf5e5e 77,0xe2c4c4 100,0xFFFFFF 100,0xFFFFFF 31,0xa74f4f 31,0xa74f4f 16,0x942828 14,0x912323 14,0x912323 14,0x912323 15,0x932626 75,0xe0bfbf 23,0x9d3a3a 19,0x983030 17,0x952b2b 17,0x952b2b 79,0xe5c9c9 49,0xbe7c7c 17,0x952b2b 8,0x8a1414 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 + 100,0xFFFFFF 45,0xb97272 24,0x9e3d3d 100,0xFFFFFF 18,0x972d2d 22,0x9c3838 19,0x983030 23,0x9d3a3a 35,0xac5959 52,0xc28484 14,0x912323 12,0x8f1e1e 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 12,0x8f1e1e 13,0x902121 15,0x932626 18,0x972d2d 22,0x9c3838 58,0xca9393 70,0xd9b2b2 89,0xf1e2e2 46,0xba7575 65,0xd3a5a5 39,0xb16363 40,0xb36666 45,0xb97272 63,0xd0a0a0 100,0xFFFFFF 100,0xFFFFFF 28,0xa34747 19,0x983030 19,0x983030 41,0xb46868 66,0xd4a8a8 16,0x942828 15,0x932626 15,0x932626 15,0x932626 15,0x932626 16,0x942828 16,0x942828 17,0x952b2b 17,0x952b2b 18,0x972d2d 19,0x983030 20,0x993333 22,0x9c3838 28,0xa34747 34,0xab5656 42,0xb56b6b 44,0xb87070 19,0x983030 16,0x942828 14,0x912323 13,0x902121 12,0x8f1e1e 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 13,0x902121 14,0x912323 22,0x9c3838 67,0xd5aaaa 20,0x993333 22,0x9c3838 35,0xac5959 40,0xb36666 25,0xa03f3f 23,0x9d3a3a 23,0x9d3a3a 23,0x9d3a3a 24,0x9e3d3d 25,0xa03f3f 27,0xa24444 27,0xa24444 28,0xa34747 29,0xa54949 30,0xa64c4c 30,0xa64c4c 30,0xa64c4c 31,0xa74f4f 31,0xa74f4f 31,0xa74f4f 31,0xa74f4f 31,0xa74f4f 31,0xa74f4f 32,0xa85151 37,0xaf5e5e 48,0xbd7a7a 74,0xdebcbc 36,0xae5b5b 29,0xa54949 28,0xa34747 27,0xa24444 28,0xa34747 38,0xb06060 100,0xFFFFFF 82,0xe8d1d1 100,0xFFFFFF 57,0xc89191 24,0x9e3d3d 17,0x952b2b 16,0x942828 15,0x932626 14,0x912323 14,0x912323 13,0x902121 13,0x902121 13,0x902121 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 13,0x902121 13,0x902121 13,0x902121 13,0x902121 13,0x902121 14,0x912323 15,0x932626 16,0x942828 17,0x952b2b 18,0x972d2d 62,0xcf9e9e 83,0xead3d3 87,0xefdddd 100,0xFFFFFF 40,0xb36666 33,0xaa5454 28,0xa34747 27,0xa24444 28,0xa34747 81,0xe7cece 35,0xac5959 31,0xa74f4f 31,0xa74f4f 100,0xFFFFFF 100,0xFFFFFF 50,0xc07f7f 50,0xc07f7f 100,0xFFFFFF 52,0xc28484 20,0x993333 19,0x983030 24,0x9e3d3d 18,0x972d2d 15,0x932626 14,0x912323 14,0x912323 14,0x912323 14,0x912323 13,0x902121 13,0x902121 13,0x902121 13,0x902121 13,0x902121 13,0x902121 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 13,0x902121 13,0x902121 13,0x902121 14,0x912323 14,0x912323 14,0x912323 14,0x912323 14,0x912323 14,0x912323 14,0x912323 14,0x912323 15,0x932626 15,0x932626 15,0x932626 15,0x932626 16,0x942828 17,0x952b2b 18,0x972d2d 20,0x993333 78,0xe3c6c6 41,0xb46868 58,0xca9393 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 90,0xf3e5e5 93,0xf7eded 68,0xd7adad 69,0xd8afaf 59,0xcb9696 58,0xca9393 56,0xc78e8e 55,0xc68c8c 44,0xb87070 43,0xb76d6d 43,0xb76d6d 42,0xb56b6b 41,0xb46868 41,0xb46868 40,0xb36666 39,0xb16363 39,0xb16363 39,0xb16363 58,0xca9393 44,0xb87070 100,0xFFFFFF 54,0xc58989 60,0xcc9999 67,0xd5aaaa 69,0xd8afaf 77,0xe2c4c4 48,0xbd7a7a 47,0xbc7777 47,0xbc7777 57,0xc89191 63,0xd0a0a0 48,0xbd7a7a 49,0xbe7c7c 51,0xc18282 53,0xc38787 54,0xc58989 53,0xc38787 53,0xc38787 54,0xc58989 57,0xc89191 69,0xd8afaf 80,0xe6cccc 48,0xbd7a7a 47,0xbc7777 72,0xdcb7b7 100,0xFFFFFF 41,0xb46868 36,0xae5b5b 37,0xaf5e5e 66,0xd4a8a8 100,0xFFFFFF 75,0xe0bfbf 61,0xce9b9b 70,0xd9b2b2 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 84,0xebd6d6 59,0xcb9696 42,0xb56b6b 30,0xa64c4c 23,0x9d3a3a 49,0xbe7c7c 19,0x983030 14,0x912323 13,0x902121 12,0x8f1e1e 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 9,0x8b1616 10,0x8c1919 14,0x912323 21,0x9a3535 49,0xbe7c7c 21,0x9a3535 21,0x9a3535 74,0xdebcbc 100,0xFFFFFF 46,0xba7575 55,0xc68c8c 94,0xf8efef 63,0xd0a0a0 32,0xa85151 100,0xFFFFFF 100,0xFFFFFF 91,0xf4e8e8 54,0xc58989 100,0xFFFFFF 46,0xba7575 100,0xFFFFFF 38,0xb06060 56,0xc78e8e 81,0xe7cece 48,0xbd7a7a 24,0x9e3d3d 26,0xa14242 28,0xa34747 34,0xab5656 100,0xFFFFFF 51,0xc18282 47,0xbc7777 47,0xbc7777 50,0xc07f7f 94,0xf8efef 100,0xFFFFFF 80,0xe6cccc 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 88,0xf0e0e0 92,0xf5eaea 64,0xd1a3a3 100,0xFFFFFF 43,0xb76d6d 43,0xb76d6d 61,0xce9b9b 87,0xefdddd 61,0xce9b9b 21,0x9a3535 18,0x972d2d 20,0x993333 40,0xb36666 24,0x9e3d3d 20,0x993333 18,0x972d2d 18,0x972d2d 17,0x952b2b 18,0x972d2d 18,0x972d2d 21,0x9a3535 29,0xa54949 29,0xa54949 28,0xa34747 29,0xa54949 61,0xce9b9b 40,0xb36666 38,0xb06060 43,0xb76d6d 47,0xbc7777 65,0xd3a5a5 51,0xc18282 51,0xc18282 100,0xFFFFFF 18,0x972d2d 14,0x912323 13,0x902121 13,0x902121 13,0x902121 23,0x9d3a3a 44,0xb87070 24,0x9e3d3d 25,0xa03f3f 36,0xae5b5b 100,0xFFFFFF 35,0xac5959 11,0x8e1c1c 8,0x8a1414 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 + 35,0xac5959 47,0xbc7777 20,0x993333 16,0x942828 15,0x932626 16,0x942828 18,0x972d2d 20,0x993333 82,0xe8d1d1 38,0xb06060 17,0x952b2b 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 13,0x902121 58,0xca9393 60,0xcc9999 82,0xe8d1d1 22,0x9c3838 25,0xa03f3f 31,0xa74f4f 100,0xFFFFFF 37,0xaf5e5e 35,0xac5959 35,0xac5959 38,0xb06060 64,0xd1a3a3 55,0xc68c8c 100,0xFFFFFF 73,0xddbaba 25,0xa03f3f 17,0x952b2b 16,0x942828 16,0x942828 15,0x932626 15,0x932626 14,0x912323 15,0x932626 15,0x932626 15,0x932626 15,0x932626 16,0x942828 17,0x952b2b 17,0x952b2b 18,0x972d2d 19,0x983030 20,0x993333 21,0x9a3535 24,0x9e3d3d 69,0xd8afaf 54,0xc58989 100,0xFFFFFF 36,0xae5b5b 15,0x932626 14,0x912323 13,0x902121 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 13,0x902121 13,0x902121 14,0x912323 15,0x932626 17,0x952b2b 18,0x972d2d 24,0x9e3d3d 97,0xfcf7f7 27,0xa24444 25,0xa03f3f 24,0x9e3d3d 24,0x9e3d3d 24,0x9e3d3d 27,0xa24444 100,0xFFFFFF 77,0xe2c4c4 34,0xab5656 29,0xa54949 29,0xa54949 30,0xa64c4c 30,0xa64c4c 30,0xa64c4c 31,0xa74f4f 31,0xa74f4f 31,0xa74f4f 30,0xa64c4c 30,0xa64c4c 30,0xa64c4c 31,0xa74f4f 35,0xac5959 52,0xc28484 37,0xaf5e5e 33,0xaa5454 28,0xa34747 26,0xa14242 25,0xa03f3f 26,0xa14242 27,0xa24444 28,0xa34747 47,0xbc7777 56,0xc78e8e 57,0xc89191 21,0x9a3535 17,0x952b2b 16,0x942828 15,0x932626 14,0x912323 14,0x912323 13,0x902121 13,0x902121 13,0x902121 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 13,0x902121 13,0x902121 13,0x902121 13,0x902121 14,0x912323 15,0x932626 18,0x972d2d 90,0xf3e5e5 20,0x993333 27,0xa24444 100,0xFFFFFF 75,0xe0bfbf 49,0xbe7c7c 33,0xaa5454 38,0xb06060 26,0xa14242 25,0xa03f3f 26,0xa14242 34,0xab5656 65,0xd3a5a5 100,0xFFFFFF 40,0xb36666 88,0xf0e0e0 78,0xe3c6c6 81,0xe7cece 36,0xae5b5b 49,0xbe7c7c 24,0x9e3d3d 18,0x972d2d 18,0x972d2d 17,0x952b2b 16,0x942828 15,0x932626 14,0x912323 14,0x912323 14,0x912323 14,0x912323 13,0x902121 13,0x902121 13,0x902121 13,0x902121 13,0x902121 13,0x902121 13,0x902121 13,0x902121 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 13,0x902121 13,0x902121 13,0x902121 13,0x902121 14,0x912323 15,0x932626 15,0x932626 14,0x912323 14,0x912323 14,0x912323 14,0x912323 15,0x932626 15,0x932626 15,0x932626 15,0x932626 16,0x942828 16,0x942828 16,0x942828 17,0x952b2b 18,0x972d2d 20,0x993333 24,0x9e3d3d 29,0xa54949 41,0xb46868 94,0xf8efef 84,0xebd6d6 98,0xfdf9f9 100,0xFFFFFF 87,0xefdddd 100,0xFFFFFF 65,0xd3a5a5 64,0xd1a3a3 58,0xca9393 53,0xc38787 50,0xc07f7f 46,0xba7575 44,0xb87070 43,0xb76d6d 42,0xb56b6b 42,0xb56b6b 41,0xb46868 41,0xb46868 40,0xb36666 40,0xb36666 40,0xb36666 41,0xb46868 76,0xe1c1c1 92,0xf5eaea 73,0xddbaba 90,0xf3e5e5 75,0xe0bfbf 81,0xe7cece 60,0xcc9999 55,0xc68c8c 51,0xc18282 100,0xFFFFFF 49,0xbe7c7c 54,0xc58989 98,0xfdf9f9 51,0xc18282 50,0xc07f7f 51,0xc18282 51,0xc18282 52,0xc28484 52,0xc28484 52,0xc28484 53,0xc38787 100,0xFFFFFF 55,0xc68c8c 48,0xbd7a7a 45,0xb97272 44,0xb87070 45,0xb97272 61,0xce9b9b 39,0xb16363 38,0xb06060 39,0xb16363 100,0xFFFFFF 63,0xd0a0a0 67,0xd5aaaa 73,0xddbaba 69,0xd8afaf 74,0xdebcbc 81,0xe7cece 85,0xecd8d8 76,0xe1c1c1 88,0xf0e0e0 74,0xdebcbc 33,0xaa5454 21,0x9a3535 18,0x972d2d 15,0x932626 14,0x912323 13,0x902121 12,0x8f1e1e 12,0x8f1e1e 11,0x8e1c1c 11,0x8e1c1c 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 9,0x8b1616 10,0x8c1919 13,0x902121 41,0xb46868 67,0xd5aaaa 23,0x9d3a3a 16,0x942828 16,0x942828 33,0xaa5454 22,0x9c3838 34,0xab5656 57,0xc89191 74,0xdebcbc 19,0x983030 26,0xa14242 100,0xFFFFFF 42,0xb56b6b 52,0xc28484 35,0xac5959 70,0xd9b2b2 25,0xa03f3f 25,0xa03f3f 50,0xc07f7f 49,0xbe7c7c 20,0x993333 24,0x9e3d3d 39,0xb16363 34,0xab5656 54,0xc58989 65,0xd3a5a5 100,0xFFFFFF 62,0xcf9e9e 46,0xba7575 49,0xbe7c7c 53,0xc38787 100,0xFFFFFF 77,0xe2c4c4 86,0xeedbdb 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 83,0xead3d3 73,0xddbaba 56,0xc78e8e 46,0xba7575 35,0xac5959 51,0xc18282 54,0xc58989 82,0xe8d1d1 59,0xcb9696 20,0x993333 16,0x942828 17,0x952b2b 29,0xa54949 43,0xb76d6d 34,0xab5656 17,0x952b2b 16,0x942828 16,0x942828 16,0x942828 17,0x952b2b 22,0x9c3838 100,0xFFFFFF 37,0xaf5e5e 31,0xa74f4f 55,0xc68c8c 100,0xFFFFFF 96,0xfaf4f4 43,0xb76d6d 73,0xddbaba 91,0xf4e8e8 62,0xcf9e9e 97,0xfcf7f7 100,0xFFFFFF 26,0xa14242 20,0x993333 13,0x902121 12,0x8f1e1e 11,0x8e1c1c 11,0x8e1c1c 13,0x902121 24,0x9e3d3d 85,0xecd8d8 39,0xb16363 92,0xf5eaea 24,0x9e3d3d 20,0x993333 11,0x8e1c1c 8,0x8a1414 7,0x881111 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 + 30,0xa64c4c 28,0xa34747 18,0x972d2d 14,0x912323 14,0x912323 15,0x932626 20,0x993333 72,0xdcb7b7 26,0xa14242 32,0xa85151 15,0x932626 13,0x902121 13,0x902121 13,0x902121 13,0x902121 14,0x912323 16,0x942828 22,0x9c3838 27,0xa24444 24,0x9e3d3d 26,0xa14242 28,0xa34747 31,0xa74f4f 32,0xa85151 33,0xaa5454 33,0xaa5454 37,0xaf5e5e 59,0xcb9696 46,0xba7575 43,0xb76d6d 74,0xdebcbc 72,0xdcb7b7 16,0x942828 15,0x932626 14,0x912323 14,0x912323 14,0x912323 14,0x912323 14,0x912323 14,0x912323 15,0x932626 15,0x932626 16,0x942828 16,0x942828 18,0x972d2d 19,0x983030 20,0x993333 21,0x9a3535 22,0x9c3838 24,0x9e3d3d 100,0xFFFFFF 44,0xb87070 56,0xc78e8e 100,0xFFFFFF 16,0x942828 13,0x902121 13,0x902121 13,0x902121 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 13,0x902121 13,0x902121 14,0x912323 15,0x932626 16,0x942828 18,0x972d2d 33,0xaa5454 66,0xd4a8a8 46,0xba7575 27,0xa24444 26,0xa14242 25,0xa03f3f 26,0xa14242 28,0xa34747 34,0xab5656 39,0xb16363 60,0xcc9999 32,0xa85151 30,0xa64c4c 30,0xa64c4c 30,0xa64c4c 31,0xa74f4f 31,0xa74f4f 31,0xa74f4f 30,0xa64c4c 30,0xa64c4c 30,0xa64c4c 30,0xa64c4c 29,0xa54949 30,0xa64c4c 39,0xb16363 54,0xc58989 47,0xbc7777 28,0xa34747 25,0xa03f3f 24,0x9e3d3d 24,0x9e3d3d 25,0xa03f3f 26,0xa14242 28,0xa34747 38,0xb06060 59,0xcb9696 19,0x983030 17,0x952b2b 16,0x942828 15,0x932626 14,0x912323 14,0x912323 13,0x902121 13,0x902121 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 13,0x902121 13,0x902121 13,0x902121 13,0x902121 14,0x912323 15,0x932626 100,0xFFFFFF 100,0xFFFFFF 24,0x9e3d3d 33,0xaa5454 100,0xFFFFFF 49,0xbe7c7c 65,0xd3a5a5 100,0xFFFFFF 27,0xa24444 25,0xa03f3f 24,0x9e3d3d 24,0x9e3d3d 25,0xa03f3f 32,0xa85151 100,0xFFFFFF 90,0xf3e5e5 66,0xd4a8a8 81,0xe7cece 85,0xecd8d8 24,0x9e3d3d 35,0xac5959 21,0x9a3535 18,0x972d2d 17,0x952b2b 16,0x942828 16,0x942828 15,0x932626 14,0x912323 14,0x912323 14,0x912323 14,0x912323 14,0x912323 13,0x902121 13,0x902121 13,0x902121 13,0x902121 13,0x902121 13,0x902121 13,0x902121 13,0x902121 13,0x902121 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 13,0x902121 13,0x902121 13,0x902121 13,0x902121 14,0x912323 15,0x932626 24,0x9e3d3d 18,0x972d2d 16,0x942828 16,0x942828 16,0x942828 16,0x942828 16,0x942828 16,0x942828 16,0x942828 16,0x942828 16,0x942828 16,0x942828 16,0x942828 17,0x952b2b 17,0x952b2b 18,0x972d2d 35,0xac5959 28,0xa34747 39,0xb16363 56,0xc78e8e 51,0xc18282 61,0xce9b9b 68,0xd7adad 72,0xdcb7b7 78,0xe3c6c6 100,0xFFFFFF 63,0xd0a0a0 65,0xd3a5a5 100,0xFFFFFF 61,0xce9b9b 100,0xFFFFFF 45,0xb97272 44,0xb87070 43,0xb76d6d 42,0xb56b6b 42,0xb56b6b 41,0xb46868 41,0xb46868 41,0xb46868 41,0xb46868 42,0xb56b6b 51,0xc18282 53,0xc38787 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 94,0xf8efef 89,0xf1e2e2 71,0xdab5b5 79,0xe5c9c9 100,0xFFFFFF 100,0xFFFFFF 79,0xe5c9c9 64,0xd1a3a3 99,0xfefcfc 53,0xc38787 51,0xc18282 51,0xc18282 52,0xc28484 52,0xc28484 51,0xc18282 51,0xc18282 51,0xc18282 52,0xc28484 57,0xc89191 49,0xbe7c7c 44,0xb87070 43,0xb76d6d 42,0xb56b6b 41,0xb46868 39,0xb16363 39,0xb16363 39,0xb16363 48,0xbd7a7a 46,0xba7575 47,0xbc7777 57,0xc89191 100,0xFFFFFF 100,0xFFFFFF 70,0xd9b2b2 64,0xd1a3a3 61,0xce9b9b 52,0xc28484 42,0xb56b6b 40,0xb36666 33,0xaa5454 21,0x9a3535 15,0x932626 14,0x912323 13,0x902121 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 11,0x8e1c1c 11,0x8e1c1c 10,0x8c1919 10,0x8c1919 10,0x8c1919 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 9,0x8b1616 11,0x8e1c1c 17,0x952b2b 43,0xb76d6d 55,0xc68c8c 16,0x942828 13,0x902121 12,0x8f1e1e 13,0x902121 14,0x912323 14,0x912323 14,0x912323 20,0x993333 23,0x9d3a3a 79,0xe5c9c9 70,0xd9b2b2 20,0x993333 26,0xa14242 49,0xbe7c7c 18,0x972d2d 50,0xc07f7f 19,0x983030 17,0x952b2b 17,0x952b2b 26,0xa14242 25,0xa03f3f 26,0xa14242 32,0xa85151 94,0xf8efef 83,0xead3d3 54,0xc58989 43,0xb76d6d 67,0xd5aaaa 61,0xce9b9b 60,0xcc9999 71,0xdab5b5 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 97,0xfcf7f7 52,0xc28484 74,0xdebcbc 29,0xa54949 28,0xa34747 33,0xaa5454 60,0xcc9999 29,0xa54949 16,0x942828 15,0x932626 15,0x932626 16,0x942828 32,0xa85151 16,0x942828 15,0x932626 15,0x932626 15,0x932626 16,0x942828 17,0x952b2b 21,0x9a3535 38,0xb06060 23,0x9d3a3a 100,0xFFFFFF 48,0xbd7a7a 64,0xd1a3a3 53,0xc38787 46,0xba7575 100,0xFFFFFF 67,0xd5aaaa 100,0xFFFFFF 99,0xfefcfc 100,0xFFFFFF 43,0xb76d6d 29,0xa54949 13,0x902121 11,0x8e1c1c 10,0x8c1919 10,0x8c1919 11,0x8e1c1c 14,0x912323 14,0x912323 20,0x993333 24,0x9e3d3d 11,0x8e1c1c 44,0xb87070 100,0xFFFFFF 8,0x8a1414 7,0x881111 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 + 42,0xb56b6b 19,0x983030 13,0x902121 12,0x8f1e1e 13,0x902121 15,0x932626 100,0xFFFFFF 25,0xa03f3f 84,0xebd6d6 19,0x983030 15,0x932626 14,0x912323 13,0x902121 13,0x902121 13,0x902121 15,0x932626 16,0x942828 100,0xFFFFFF 99,0xfefcfc 28,0xa34747 37,0xaf5e5e 33,0xaa5454 31,0xa74f4f 32,0xa85151 31,0xa74f4f 31,0xa74f4f 44,0xb87070 28,0xa34747 28,0xa34747 100,0xFFFFFF 41,0xb46868 17,0x952b2b 15,0x932626 14,0x912323 13,0x902121 13,0x902121 13,0x902121 13,0x902121 13,0x902121 14,0x912323 14,0x912323 15,0x932626 16,0x942828 17,0x952b2b 19,0x983030 100,0xFFFFFF 100,0xFFFFFF 31,0xa74f4f 24,0x9e3d3d 25,0xa03f3f 38,0xb06060 86,0xeedbdb 99,0xfefcfc 32,0xa85151 19,0x983030 14,0x912323 13,0x902121 13,0x902121 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 13,0x902121 13,0x902121 13,0x902121 14,0x912323 15,0x932626 16,0x942828 18,0x972d2d 59,0xcb9696 100,0xFFFFFF 100,0xFFFFFF 62,0xcf9e9e 73,0xddbaba 27,0xa24444 28,0xa34747 30,0xa64c4c 100,0xFFFFFF 58,0xca9393 79,0xe5c9c9 34,0xab5656 31,0xa74f4f 31,0xa74f4f 31,0xa74f4f 31,0xa74f4f 31,0xa74f4f 31,0xa74f4f 31,0xa74f4f 30,0xa64c4c 30,0xa64c4c 29,0xa54949 28,0xa34747 28,0xa34747 27,0xa24444 37,0xaf5e5e 27,0xa24444 25,0xa03f3f 23,0x9d3a3a 23,0x9d3a3a 23,0x9d3a3a 24,0x9e3d3d 25,0xa03f3f 28,0xa34747 36,0xae5b5b 32,0xa85151 20,0x993333 18,0x972d2d 17,0x952b2b 16,0x942828 15,0x932626 13,0x902121 13,0x902121 13,0x902121 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 13,0x902121 13,0x902121 13,0x902121 14,0x912323 15,0x932626 17,0x952b2b 68,0xd7adad 40,0xb36666 79,0xe5c9c9 45,0xb97272 42,0xb56b6b 38,0xb06060 91,0xf4e8e8 27,0xa24444 24,0x9e3d3d 23,0x9d3a3a 23,0x9d3a3a 23,0x9d3a3a 23,0x9d3a3a 25,0xa03f3f 33,0xaa5454 24,0x9e3d3d 57,0xc89191 22,0x9c3838 20,0x993333 20,0x993333 22,0x9c3838 17,0x952b2b 16,0x942828 16,0x942828 15,0x932626 15,0x932626 14,0x912323 14,0x912323 14,0x912323 14,0x912323 14,0x912323 13,0x902121 13,0x902121 13,0x902121 13,0x902121 13,0x902121 13,0x902121 13,0x902121 13,0x902121 13,0x902121 13,0x902121 13,0x902121 13,0x902121 13,0x902121 13,0x902121 13,0x902121 13,0x902121 13,0x902121 13,0x902121 13,0x902121 13,0x902121 13,0x902121 13,0x902121 14,0x912323 14,0x912323 15,0x932626 76,0xe1c1c1 100,0xFFFFFF 18,0x972d2d 17,0x952b2b 18,0x972d2d 20,0x993333 68,0xd7adad 17,0x952b2b 16,0x942828 16,0x942828 16,0x942828 16,0x942828 17,0x952b2b 17,0x952b2b 17,0x952b2b 18,0x972d2d 20,0x993333 21,0x9a3535 39,0xb16363 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 76,0xe1c1c1 70,0xd9b2b2 57,0xc89191 67,0xd5aaaa 79,0xe5c9c9 85,0xecd8d8 74,0xdebcbc 67,0xd5aaaa 48,0xbd7a7a 44,0xb87070 43,0xb76d6d 42,0xb56b6b 42,0xb56b6b 41,0xb46868 41,0xb46868 41,0xb46868 42,0xb56b6b 43,0xb76d6d 82,0xe8d1d1 86,0xeedbdb 96,0xfaf4f4 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 90,0xf3e5e5 76,0xe1c1c1 81,0xe7cece 100,0xFFFFFF 100,0xFFFFFF 63,0xd0a0a0 57,0xc89191 56,0xc78e8e 54,0xc58989 52,0xc28484 52,0xc28484 52,0xc28484 52,0xc28484 51,0xc18282 51,0xc18282 50,0xc07f7f 48,0xbd7a7a 47,0xbc7777 45,0xb97272 43,0xb76d6d 43,0xb76d6d 41,0xb46868 41,0xb46868 40,0xb36666 39,0xb16363 40,0xb36666 41,0xb46868 42,0xb56b6b 44,0xb87070 46,0xba7575 53,0xc38787 56,0xc78e8e 53,0xc38787 59,0xcb9696 100,0xFFFFFF 43,0xb76d6d 42,0xb56b6b 57,0xc89191 100,0xFFFFFF 57,0xc89191 22,0x9c3838 16,0x942828 13,0x902121 13,0x902121 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 11,0x8e1c1c 10,0x8c1919 10,0x8c1919 10,0x8c1919 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 10,0x8c1919 16,0x942828 21,0x9a3535 85,0xecd8d8 15,0x932626 11,0x8e1c1c 11,0x8e1c1c 10,0x8c1919 11,0x8e1c1c 11,0x8e1c1c 13,0x902121 51,0xc18282 18,0x972d2d 16,0x942828 14,0x912323 16,0x942828 20,0x993333 15,0x932626 14,0x912323 17,0x952b2b 15,0x932626 15,0x932626 15,0x932626 19,0x983030 21,0x9a3535 19,0x983030 22,0x9c3838 100,0xFFFFFF 30,0xa64c4c 31,0xa74f4f 43,0xb76d6d 67,0xd5aaaa 73,0xddbaba 57,0xc89191 64,0xd1a3a3 70,0xd9b2b2 75,0xe0bfbf 83,0xead3d3 100,0xFFFFFF 79,0xe5c9c9 100,0xFFFFFF 64,0xd1a3a3 57,0xc89191 44,0xb87070 43,0xb76d6d 24,0x9e3d3d 22,0x9c3838 26,0xa14242 43,0xb76d6d 16,0x942828 14,0x912323 14,0x912323 14,0x912323 14,0x912323 14,0x912323 14,0x912323 14,0x912323 14,0x912323 14,0x912323 15,0x932626 16,0x942828 18,0x972d2d 20,0x993333 19,0x983030 23,0x9d3a3a 46,0xba7575 100,0xFFFFFF 81,0xe7cece 45,0xb97272 51,0xc18282 100,0xFFFFFF 95,0xf9f2f2 100,0xFFFFFF 100,0xFFFFFF 74,0xdebcbc 20,0x993333 13,0x902121 10,0x8c1919 10,0x8c1919 9,0x8b1616 9,0x8b1616 9,0x8b1616 10,0x8c1919 39,0xb16363 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 7,0x881111 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 + 44,0xb87070 100,0xFFFFFF 11,0x8e1c1c 11,0x8e1c1c 12,0x8f1e1e 15,0x932626 47,0xbc7777 22,0x9c3838 19,0x983030 17,0x952b2b 15,0x932626 15,0x932626 14,0x912323 14,0x912323 15,0x932626 16,0x942828 18,0x972d2d 52,0xc28484 99,0xfefcfc 83,0xead3d3 38,0xb06060 34,0xab5656 33,0xaa5454 33,0xaa5454 31,0xa74f4f 29,0xa54949 26,0xa14242 24,0x9e3d3d 24,0x9e3d3d 29,0xa54949 22,0x9c3838 17,0x952b2b 15,0x932626 14,0x912323 13,0x902121 13,0x902121 13,0x902121 13,0x902121 13,0x902121 13,0x902121 14,0x912323 14,0x912323 16,0x942828 18,0x972d2d 91,0xf4e8e8 96,0xfaf4f4 100,0xFFFFFF 34,0xab5656 28,0xa34747 27,0xa24444 43,0xb76d6d 53,0xc38787 29,0xa54949 17,0x952b2b 15,0x932626 14,0x912323 13,0x902121 13,0x902121 13,0x902121 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 13,0x902121 13,0x902121 14,0x912323 14,0x912323 15,0x932626 17,0x952b2b 19,0x983030 59,0xcb9696 70,0xd9b2b2 49,0xbe7c7c 37,0xaf5e5e 32,0xa85151 34,0xab5656 49,0xbe7c7c 100,0xFFFFFF 48,0xbd7a7a 38,0xb06060 36,0xae5b5b 33,0xaa5454 32,0xa85151 32,0xa85151 32,0xa85151 32,0xa85151 32,0xa85151 32,0xa85151 31,0xa74f4f 30,0xa64c4c 30,0xa64c4c 29,0xa54949 28,0xa34747 27,0xa24444 26,0xa14242 25,0xa03f3f 24,0x9e3d3d 23,0x9d3a3a 22,0x9c3838 22,0x9c3838 22,0x9c3838 23,0x9d3a3a 27,0xa24444 40,0xb36666 48,0xbd7a7a 24,0x9e3d3d 21,0x9a3535 22,0x9c3838 34,0xab5656 40,0xb36666 16,0x942828 13,0x902121 13,0x902121 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 13,0x902121 13,0x902121 13,0x902121 14,0x912323 15,0x932626 17,0x952b2b 24,0x9e3d3d 53,0xc38787 75,0xe0bfbf 61,0xce9b9b 100,0xFFFFFF 33,0xaa5454 32,0xa85151 26,0xa14242 23,0x9d3a3a 23,0x9d3a3a 22,0x9c3838 22,0x9c3838 22,0x9c3838 22,0x9c3838 21,0x9a3535 21,0x9a3535 22,0x9c3838 19,0x983030 18,0x972d2d 18,0x972d2d 17,0x952b2b 16,0x942828 16,0x942828 16,0x942828 15,0x932626 15,0x932626 15,0x932626 14,0x912323 14,0x912323 14,0x912323 14,0x912323 13,0x902121 13,0x902121 13,0x902121 13,0x902121 13,0x902121 13,0x902121 13,0x902121 13,0x902121 13,0x902121 13,0x902121 13,0x902121 13,0x902121 13,0x902121 13,0x902121 13,0x902121 13,0x902121 13,0x902121 13,0x902121 13,0x902121 13,0x902121 13,0x902121 14,0x912323 14,0x912323 15,0x932626 16,0x942828 23,0x9d3a3a 29,0xa54949 21,0x9a3535 26,0xa14242 100,0xFFFFFF 30,0xa64c4c 22,0x9c3838 19,0x983030 19,0x983030 18,0x972d2d 17,0x952b2b 17,0x952b2b 17,0x952b2b 17,0x952b2b 18,0x972d2d 18,0x972d2d 19,0x983030 21,0x9a3535 22,0x9c3838 26,0xa14242 30,0xa64c4c 55,0xc68c8c 81,0xe7cece 51,0xc18282 52,0xc28484 58,0xca9393 87,0xefdddd 80,0xe6cccc 100,0xFFFFFF 95,0xf9f2f2 53,0xc38787 48,0xbd7a7a 43,0xb76d6d 42,0xb56b6b 42,0xb56b6b 42,0xb56b6b 42,0xb56b6b 42,0xb56b6b 42,0xb56b6b 44,0xb87070 45,0xb97272 49,0xbe7c7c 66,0xd4a8a8 90,0xf3e5e5 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 77,0xe2c4c4 78,0xe3c6c6 100,0xFFFFFF 100,0xFFFFFF 59,0xcb9696 56,0xc78e8e 55,0xc68c8c 54,0xc58989 53,0xc38787 53,0xc38787 53,0xc38787 53,0xc38787 52,0xc28484 51,0xc18282 50,0xc07f7f 48,0xbd7a7a 47,0xbc7777 45,0xb97272 44,0xb87070 43,0xb76d6d 41,0xb46868 41,0xb46868 41,0xb46868 40,0xb36666 40,0xb36666 40,0xb36666 41,0xb46868 41,0xb46868 43,0xb76d6d 48,0xbd7a7a 51,0xc18282 51,0xc18282 44,0xb87070 46,0xba7575 36,0xae5b5b 48,0xbd7a7a 53,0xc38787 65,0xd3a5a5 62,0xcf9e9e 23,0x9d3a3a 16,0x942828 14,0x912323 13,0x902121 13,0x902121 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 9,0x8b1616 9,0x8b1616 9,0x8b1616 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 10,0x8c1919 30,0xa64c4c 13,0x902121 12,0x8f1e1e 11,0x8e1c1c 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 11,0x8e1c1c 17,0x952b2b 16,0x942828 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 14,0x912323 13,0x902121 12,0x8f1e1e 13,0x902121 13,0x902121 14,0x912323 14,0x912323 15,0x932626 16,0x942828 17,0x952b2b 18,0x972d2d 21,0x9a3535 24,0x9e3d3d 27,0xa24444 31,0xa74f4f 77,0xe2c4c4 69,0xd8afaf 48,0xbd7a7a 66,0xd4a8a8 100,0xFFFFFF 67,0xd5aaaa 84,0xebd6d6 65,0xd3a5a5 94,0xf8efef 100,0xFFFFFF 96,0xfaf4f4 80,0xe6cccc 40,0xb36666 51,0xc18282 21,0x9a3535 20,0x993333 29,0xa54949 19,0x983030 15,0x932626 14,0x912323 13,0x902121 13,0x902121 13,0x902121 13,0x902121 13,0x902121 13,0x902121 14,0x912323 14,0x912323 14,0x912323 15,0x932626 16,0x942828 17,0x952b2b 18,0x972d2d 19,0x983030 22,0x9c3838 28,0xa34747 32,0xa85151 42,0xb56b6b 62,0xcf9e9e 60,0xcc9999 100,0xFFFFFF 89,0xf1e2e2 96,0xfaf4f4 38,0xb06060 100,0xFFFFFF 12,0x8f1e1e 10,0x8c1919 9,0x8b1616 9,0x8b1616 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 + 22,0x9c3838 11,0x8e1c1c 10,0x8c1919 10,0x8c1919 11,0x8e1c1c 13,0x902121 100,0xFFFFFF 36,0xae5b5b 20,0x993333 17,0x952b2b 17,0x952b2b 16,0x942828 16,0x942828 17,0x952b2b 62,0xcf9e9e 19,0x983030 20,0x993333 85,0xecd8d8 95,0xf9f2f2 47,0xbc7777 93,0xf7eded 36,0xae5b5b 40,0xb36666 100,0xFFFFFF 65,0xd3a5a5 35,0xac5959 25,0xa03f3f 23,0x9d3a3a 22,0x9c3838 41,0xb46868 98,0xfdf9f9 69,0xd8afaf 14,0x912323 13,0x902121 13,0x902121 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 13,0x902121 13,0x902121 14,0x912323 14,0x912323 21,0x9a3535 24,0x9e3d3d 79,0xe5c9c9 34,0xab5656 27,0xa24444 64,0xd1a3a3 32,0xa85151 100,0xFFFFFF 86,0xeedbdb 26,0xa14242 29,0xa54949 16,0x942828 15,0x932626 14,0x912323 14,0x912323 13,0x902121 13,0x902121 13,0x902121 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 13,0x902121 13,0x902121 13,0x902121 14,0x912323 14,0x912323 14,0x912323 15,0x932626 31,0xa74f4f 55,0xc68c8c 27,0xa24444 41,0xb46868 44,0xb87070 57,0xc89191 40,0xb36666 88,0xf0e0e0 86,0xeedbdb 50,0xc07f7f 100,0xFFFFFF 36,0xae5b5b 35,0xac5959 33,0xaa5454 33,0xaa5454 32,0xa85151 32,0xa85151 32,0xa85151 32,0xa85151 33,0xaa5454 66,0xd4a8a8 32,0xa85151 31,0xa74f4f 31,0xa74f4f 28,0xa34747 26,0xa14242 26,0xa14242 24,0x9e3d3d 24,0x9e3d3d 22,0x9c3838 22,0x9c3838 22,0x9c3838 22,0x9c3838 22,0x9c3838 29,0xa54949 57,0xc89191 28,0xa34747 25,0xa03f3f 24,0x9e3d3d 33,0xaa5454 76,0xe1c1c1 35,0xac5959 16,0x942828 13,0x902121 13,0x902121 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 13,0x902121 13,0x902121 14,0x912323 15,0x932626 17,0x952b2b 26,0xa14242 84,0xebd6d6 100,0xFFFFFF 88,0xf0e0e0 52,0xc28484 100,0xFFFFFF 31,0xa74f4f 25,0xa03f3f 23,0x9d3a3a 22,0x9c3838 22,0x9c3838 21,0x9a3535 21,0x9a3535 20,0x993333 20,0x993333 20,0x993333 19,0x983030 18,0x972d2d 18,0x972d2d 17,0x952b2b 17,0x952b2b 16,0x942828 16,0x942828 16,0x942828 15,0x932626 15,0x932626 15,0x932626 14,0x912323 14,0x912323 14,0x912323 14,0x912323 14,0x912323 13,0x902121 13,0x902121 13,0x902121 13,0x902121 13,0x902121 13,0x902121 13,0x902121 13,0x902121 13,0x902121 13,0x902121 13,0x902121 13,0x902121 13,0x902121 13,0x902121 13,0x902121 13,0x902121 13,0x902121 13,0x902121 13,0x902121 14,0x912323 14,0x912323 14,0x912323 15,0x932626 17,0x952b2b 100,0xFFFFFF 42,0xb56b6b 97,0xfcf7f7 94,0xf8efef 100,0xFFFFFF 52,0xc28484 98,0xfdf9f9 65,0xd3a5a5 35,0xac5959 20,0x993333 18,0x972d2d 18,0x972d2d 18,0x972d2d 18,0x972d2d 18,0x972d2d 19,0x983030 19,0x983030 20,0x993333 23,0x9d3a3a 44,0xb87070 36,0xae5b5b 39,0xb16363 64,0xd1a3a3 59,0xcb9696 49,0xbe7c7c 48,0xbd7a7a 51,0xc18282 78,0xe3c6c6 100,0xFFFFFF 75,0xe0bfbf 100,0xFFFFFF 42,0xb56b6b 41,0xb46868 41,0xb46868 41,0xb46868 42,0xb56b6b 42,0xb56b6b 42,0xb56b6b 43,0xb76d6d 49,0xbe7c7c 55,0xc68c8c 54,0xc58989 100,0xFFFFFF 100,0xFFFFFF 92,0xf5eaea 100,0xFFFFFF 89,0xf1e2e2 100,0xFFFFFF 75,0xe0bfbf 69,0xd8afaf 69,0xd8afaf 100,0xFFFFFF 63,0xd0a0a0 57,0xc89191 55,0xc68c8c 55,0xc68c8c 54,0xc58989 53,0xc38787 54,0xc58989 55,0xc68c8c 100,0xFFFFFF 57,0xc89191 58,0xca9393 59,0xcb9696 49,0xbe7c7c 46,0xba7575 45,0xb97272 45,0xb97272 42,0xb56b6b 41,0xb46868 41,0xb46868 40,0xb36666 39,0xb16363 39,0xb16363 40,0xb36666 42,0xb56b6b 44,0xb87070 49,0xbe7c7c 56,0xc78e8e 67,0xd5aaaa 65,0xd3a5a5 32,0xa85151 33,0xaa5454 62,0xcf9e9e 100,0xFFFFFF 37,0xaf5e5e 48,0xbd7a7a 100,0xFFFFFF 18,0x972d2d 15,0x932626 14,0x912323 14,0x912323 15,0x932626 14,0x912323 14,0x912323 11,0x8e1c1c 10,0x8c1919 10,0x8c1919 10,0x8c1919 9,0x8b1616 9,0x8b1616 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 10,0x8c1919 10,0x8c1919 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 10,0x8c1919 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 10,0x8c1919 10,0x8c1919 11,0x8e1c1c 11,0x8e1c1c 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 13,0x902121 14,0x912323 14,0x912323 16,0x942828 16,0x942828 18,0x972d2d 53,0xc38787 48,0xbd7a7a 28,0xa34747 31,0xa74f4f 34,0xab5656 40,0xb36666 40,0xb36666 42,0xb56b6b 48,0xbd7a7a 50,0xc07f7f 63,0xd0a0a0 54,0xc58989 55,0xc68c8c 51,0xc18282 40,0xb36666 33,0xaa5454 47,0xbc7777 94,0xf8efef 34,0xab5656 16,0x942828 73,0xddbaba 34,0xab5656 17,0x952b2b 13,0x902121 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 13,0x902121 13,0x902121 14,0x912323 14,0x912323 14,0x912323 15,0x932626 16,0x942828 17,0x952b2b 18,0x972d2d 21,0x9a3535 24,0x9e3d3d 27,0xa24444 52,0xc28484 100,0xFFFFFF 52,0xc28484 82,0xe8d1d1 60,0xcc9999 43,0xb76d6d 24,0x9e3d3d 29,0xa54949 14,0x912323 9,0x8b1616 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 + 10,0x8c1919 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 74,0xdebcbc 60,0xcc9999 49,0xbe7c7c 34,0xab5656 21,0x9a3535 20,0x993333 22,0x9c3838 18,0x972d2d 20,0x993333 54,0xc58989 25,0xa03f3f 23,0x9d3a3a 100,0xFFFFFF 100,0xFFFFFF 44,0xb87070 43,0xb76d6d 63,0xd0a0a0 48,0xbd7a7a 49,0xbe7c7c 79,0xe5c9c9 100,0xFFFFFF 56,0xc78e8e 23,0x9d3a3a 19,0x983030 18,0x972d2d 19,0x983030 16,0x942828 13,0x902121 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 13,0x902121 13,0x902121 15,0x932626 18,0x972d2d 85,0xecd8d8 71,0xdab5b5 100,0xFFFFFF 24,0x9e3d3d 24,0x9e3d3d 69,0xd8afaf 43,0xb76d6d 27,0xa24444 19,0x983030 17,0x952b2b 15,0x932626 15,0x932626 14,0x912323 14,0x912323 14,0x912323 13,0x902121 13,0x902121 13,0x902121 13,0x902121 13,0x902121 13,0x902121 13,0x902121 13,0x902121 13,0x902121 13,0x902121 14,0x912323 14,0x912323 14,0x912323 15,0x932626 16,0x942828 18,0x972d2d 57,0xc89191 35,0xac5959 55,0xc68c8c 58,0xca9393 87,0xefdddd 51,0xc18282 67,0xd5aaaa 66,0xd4a8a8 100,0xFFFFFF 39,0xb16363 36,0xae5b5b 34,0xab5656 34,0xab5656 33,0xaa5454 33,0xaa5454 33,0xaa5454 33,0xaa5454 33,0xaa5454 34,0xab5656 41,0xb46868 36,0xae5b5b 80,0xe6cccc 37,0xaf5e5e 32,0xa85151 28,0xa34747 26,0xa14242 24,0x9e3d3d 23,0x9d3a3a 22,0x9c3838 22,0x9c3838 21,0x9a3535 21,0x9a3535 21,0x9a3535 23,0x9d3a3a 100,0xFFFFFF 38,0xb06060 35,0xac5959 38,0xb06060 79,0xe5c9c9 31,0xa74f4f 27,0xa24444 16,0x942828 13,0x902121 12,0x8f1e1e 12,0x8f1e1e 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 12,0x8f1e1e 12,0x8f1e1e 13,0x902121 14,0x912323 14,0x912323 16,0x942828 17,0x952b2b 20,0x993333 48,0xbd7a7a 100,0xFFFFFF 100,0xFFFFFF 60,0xcc9999 68,0xd7adad 44,0xb87070 26,0xa14242 24,0x9e3d3d 22,0x9c3838 21,0x9a3535 21,0x9a3535 20,0x993333 20,0x993333 19,0x983030 19,0x983030 18,0x972d2d 18,0x972d2d 18,0x972d2d 17,0x952b2b 17,0x952b2b 16,0x942828 16,0x942828 16,0x942828 15,0x932626 15,0x932626 15,0x932626 15,0x932626 14,0x912323 14,0x912323 14,0x912323 14,0x912323 14,0x912323 13,0x902121 13,0x902121 13,0x902121 13,0x902121 13,0x902121 13,0x902121 13,0x902121 13,0x902121 13,0x902121 13,0x902121 13,0x902121 13,0x902121 13,0x902121 13,0x902121 13,0x902121 13,0x902121 13,0x902121 14,0x912323 14,0x912323 14,0x912323 14,0x912323 16,0x942828 28,0xa34747 29,0xa54949 68,0xd7adad 49,0xbe7c7c 45,0xb97272 82,0xe8d1d1 42,0xb56b6b 100,0xFFFFFF 56,0xc78e8e 57,0xc89191 23,0x9d3a3a 20,0x993333 18,0x972d2d 18,0x972d2d 18,0x972d2d 19,0x983030 19,0x983030 19,0x983030 20,0x993333 24,0x9e3d3d 31,0xa74f4f 33,0xaa5454 56,0xc78e8e 100,0xFFFFFF 100,0xFFFFFF 52,0xc28484 42,0xb56b6b 50,0xc07f7f 100,0xFFFFFF 64,0xd1a3a3 49,0xbe7c7c 40,0xb36666 40,0xb36666 41,0xb46868 41,0xb46868 41,0xb46868 42,0xb56b6b 42,0xb56b6b 43,0xb76d6d 44,0xb87070 45,0xb97272 48,0xbd7a7a 86,0xeedbdb 87,0xefdddd 74,0xdebcbc 77,0xe2c4c4 85,0xecd8d8 83,0xead3d3 77,0xe2c4c4 100,0xFFFFFF 67,0xd5aaaa 67,0xd5aaaa 79,0xe5c9c9 97,0xfcf7f7 58,0xca9393 56,0xc78e8e 56,0xc78e8e 56,0xc78e8e 56,0xc78e8e 56,0xc78e8e 78,0xe3c6c6 70,0xd9b2b2 82,0xe8d1d1 99,0xfefcfc 88,0xf0e0e0 59,0xcb9696 51,0xc18282 49,0xbe7c7c 100,0xFFFFFF 44,0xb87070 43,0xb76d6d 43,0xb76d6d 42,0xb56b6b 39,0xb16363 39,0xb16363 39,0xb16363 74,0xdebcbc 49,0xbe7c7c 63,0xd0a0a0 98,0xfdf9f9 100,0xFFFFFF 84,0xebd6d6 27,0xa24444 91,0xf4e8e8 29,0xa54949 26,0xa14242 36,0xae5b5b 64,0xd1a3a3 46,0xba7575 20,0x993333 16,0x942828 16,0x942828 17,0x952b2b 39,0xb16363 45,0xb97272 81,0xe7cece 12,0x8f1e1e 11,0x8e1c1c 10,0x8c1919 10,0x8c1919 9,0x8b1616 9,0x8b1616 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 11,0x8e1c1c 11,0x8e1c1c 12,0x8f1e1e 12,0x8f1e1e 13,0x902121 14,0x912323 15,0x932626 16,0x942828 16,0x942828 18,0x972d2d 24,0x9e3d3d 91,0xf4e8e8 34,0xab5656 47,0xbc7777 37,0xaf5e5e 37,0xaf5e5e 37,0xaf5e5e 43,0xb76d6d 53,0xc38787 42,0xb56b6b 65,0xd3a5a5 45,0xb97272 40,0xb36666 68,0xd7adad 28,0xa34747 34,0xab5656 32,0xa85151 75,0xe0bfbf 18,0x972d2d 14,0x912323 13,0x902121 14,0x912323 13,0x902121 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 13,0x902121 14,0x912323 14,0x912323 14,0x912323 15,0x932626 16,0x942828 16,0x942828 19,0x983030 63,0xd0a0a0 47,0xbc7777 29,0xa54949 37,0xaf5e5e 36,0xae5b5b 38,0xb06060 53,0xc38787 33,0xaa5454 42,0xb56b6b 84,0xebd6d6 12,0x8f1e1e 10,0x8c1919 8,0x8a1414 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 + 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 11,0x8e1c1c 17,0x952b2b 40,0xb36666 81,0xe7cece 100,0xFFFFFF 35,0xac5959 25,0xa03f3f 30,0xa64c4c 53,0xc38787 100,0xFFFFFF 25,0xa03f3f 26,0xa14242 53,0xc38787 100,0xFFFFFF 45,0xb97272 100,0xFFFFFF 100,0xFFFFFF 65,0xd3a5a5 53,0xc38787 55,0xc68c8c 68,0xd7adad 33,0xaa5454 100,0xFFFFFF 23,0x9d3a3a 16,0x942828 14,0x912323 13,0x902121 12,0x8f1e1e 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 13,0x902121 17,0x952b2b 20,0x993333 80,0xe6cccc 92,0xf5eaea 28,0xa34747 23,0x9d3a3a 22,0x9c3838 21,0x9a3535 20,0x993333 19,0x983030 17,0x952b2b 17,0x952b2b 15,0x932626 15,0x932626 14,0x912323 14,0x912323 14,0x912323 14,0x912323 13,0x902121 13,0x902121 13,0x902121 13,0x902121 13,0x902121 13,0x902121 13,0x902121 14,0x912323 14,0x912323 15,0x932626 15,0x932626 15,0x932626 16,0x942828 16,0x942828 19,0x983030 32,0xa85151 71,0xdab5b5 95,0xf9f2f2 94,0xf8efef 77,0xe2c4c4 56,0xc78e8e 55,0xc68c8c 66,0xd4a8a8 61,0xce9b9b 43,0xb76d6d 44,0xb87070 35,0xac5959 34,0xab5656 34,0xab5656 34,0xab5656 35,0xac5959 35,0xac5959 35,0xac5959 64,0xd1a3a3 100,0xFFFFFF 43,0xb76d6d 61,0xce9b9b 70,0xd9b2b2 45,0xb97272 60,0xcc9999 100,0xFFFFFF 25,0xa03f3f 24,0x9e3d3d 23,0x9d3a3a 21,0x9a3535 20,0x993333 20,0x993333 20,0x993333 19,0x983030 22,0x9c3838 88,0xf0e0e0 58,0xca9393 100,0xFFFFFF 48,0xbd7a7a 17,0x952b2b 33,0xaa5454 26,0xa14242 13,0x902121 12,0x8f1e1e 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 12,0x8f1e1e 13,0x902121 14,0x912323 17,0x952b2b 52,0xc28484 20,0x993333 21,0x9a3535 28,0xa34747 58,0xca9393 44,0xb87070 46,0xba7575 37,0xaf5e5e 38,0xb06060 100,0xFFFFFF 36,0xae5b5b 22,0x9c3838 21,0x9a3535 21,0x9a3535 20,0x993333 19,0x983030 19,0x983030 19,0x983030 18,0x972d2d 18,0x972d2d 17,0x952b2b 17,0x952b2b 17,0x952b2b 16,0x942828 16,0x942828 16,0x942828 15,0x932626 15,0x932626 15,0x932626 15,0x932626 14,0x912323 14,0x912323 14,0x912323 14,0x912323 14,0x912323 13,0x902121 13,0x902121 13,0x902121 13,0x902121 13,0x902121 13,0x902121 13,0x902121 13,0x902121 13,0x902121 13,0x902121 13,0x902121 13,0x902121 13,0x902121 13,0x902121 13,0x902121 14,0x912323 14,0x912323 14,0x912323 14,0x912323 14,0x912323 15,0x932626 16,0x942828 18,0x972d2d 43,0xb76d6d 100,0xFFFFFF 53,0xc38787 35,0xac5959 36,0xae5b5b 69,0xd8afaf 44,0xb87070 45,0xb97272 100,0xFFFFFF 41,0xb46868 100,0xFFFFFF 20,0x993333 19,0x983030 19,0x983030 19,0x983030 19,0x983030 20,0x993333 20,0x993333 22,0x9c3838 23,0x9d3a3a 25,0xa03f3f 42,0xb56b6b 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 36,0xae5b5b 45,0xb97272 36,0xae5b5b 37,0xaf5e5e 37,0xaf5e5e 38,0xb06060 39,0xb16363 40,0xb36666 41,0xb46868 41,0xb46868 42,0xb56b6b 43,0xb76d6d 43,0xb76d6d 44,0xb87070 45,0xb97272 47,0xbc7777 80,0xe6cccc 100,0xFFFFFF 84,0xebd6d6 71,0xdab5b5 98,0xfdf9f9 100,0xFFFFFF 100,0xFFFFFF 67,0xd5aaaa 65,0xd3a5a5 64,0xd1a3a3 64,0xd1a3a3 60,0xcc9999 58,0xca9393 57,0xc89191 57,0xc89191 61,0xce9b9b 87,0xefdddd 59,0xcb9696 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 77,0xe2c4c4 89,0xf1e2e2 62,0xcf9e9e 65,0xd3a5a5 47,0xbc7777 50,0xc07f7f 85,0xecd8d8 44,0xb87070 40,0xb36666 37,0xaf5e5e 37,0xaf5e5e 100,0xFFFFFF 41,0xb46868 36,0xae5b5b 43,0xb76d6d 53,0xc38787 100,0xFFFFFF 25,0xa03f3f 24,0x9e3d3d 24,0x9e3d3d 23,0x9d3a3a 24,0x9e3d3d 26,0xa14242 39,0xb16363 23,0x9d3a3a 18,0x972d2d 18,0x972d2d 44,0xb87070 83,0xead3d3 59,0xcb9696 100,0xFFFFFF 14,0x912323 11,0x8e1c1c 10,0x8c1919 9,0x8b1616 9,0x8b1616 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 9,0x8b1616 10,0x8c1919 10,0x8c1919 10,0x8c1919 11,0x8e1c1c 11,0x8e1c1c 12,0x8f1e1e 13,0x902121 14,0x912323 15,0x932626 16,0x942828 17,0x952b2b 18,0x972d2d 20,0x993333 44,0xb87070 68,0xd7adad 57,0xc89191 87,0xefdddd 48,0xbd7a7a 32,0xa85151 31,0xa74f4f 100,0xFFFFFF 28,0xa34747 30,0xa64c4c 40,0xb36666 49,0xbe7c7c 28,0xa34747 20,0x993333 20,0x993333 26,0xa14242 87,0xefdddd 14,0x912323 12,0x8f1e1e 12,0x8f1e1e 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 13,0x902121 13,0x902121 14,0x912323 15,0x932626 15,0x932626 16,0x942828 16,0x942828 18,0x972d2d 21,0x9a3535 100,0xFFFFFF 62,0xcf9e9e 41,0xb46868 40,0xb36666 32,0xa85151 33,0xaa5454 20,0x993333 23,0x9d3a3a 50,0xc07f7f 11,0x8e1c1c 9,0x8b1616 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 10,0x8c1919 47,0xbc7777 45,0xb97272 80,0xe6cccc 44,0xb87070 58,0xca9393 30,0xa64c4c 49,0xbe7c7c 54,0xc58989 63,0xd0a0a0 87,0xefdddd 29,0xa54949 67,0xd5aaaa 100,0xFFFFFF 50,0xc07f7f 76,0xe1c1c1 66,0xd4a8a8 100,0xFFFFFF 61,0xce9b9b 59,0xcb9696 43,0xb76d6d 43,0xb76d6d 69,0xd8afaf 84,0xebd6d6 16,0x942828 13,0x902121 12,0x8f1e1e 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 15,0x932626 57,0xc89191 88,0xf0e0e0 40,0xb36666 27,0xa24444 22,0x9c3838 21,0x9a3535 20,0x993333 19,0x983030 18,0x972d2d 17,0x952b2b 16,0x942828 16,0x942828 15,0x932626 15,0x932626 14,0x912323 14,0x912323 14,0x912323 14,0x912323 14,0x912323 14,0x912323 14,0x912323 14,0x912323 14,0x912323 15,0x932626 20,0x993333 16,0x942828 15,0x932626 15,0x932626 16,0x942828 16,0x942828 17,0x952b2b 20,0x993333 100,0xFFFFFF 73,0xddbaba 100,0xFFFFFF 100,0xFFFFFF 77,0xe2c4c4 100,0xFFFFFF 50,0xc07f7f 48,0xbd7a7a 48,0xbd7a7a 61,0xce9b9b 100,0xFFFFFF 37,0xaf5e5e 36,0xae5b5b 35,0xac5959 36,0xae5b5b 75,0xe0bfbf 41,0xb46868 37,0xaf5e5e 89,0xf1e2e2 100,0xFFFFFF 58,0xca9393 100,0xFFFFFF 100,0xFFFFFF 83,0xead3d3 42,0xb56b6b 31,0xa74f4f 26,0xa14242 26,0xa14242 25,0xa03f3f 21,0x9a3535 20,0x993333 20,0x993333 19,0x983030 18,0x972d2d 17,0x952b2b 18,0x972d2d 19,0x983030 18,0x972d2d 18,0x972d2d 15,0x932626 14,0x912323 13,0x902121 12,0x8f1e1e 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 12,0x8f1e1e 12,0x8f1e1e 15,0x932626 23,0x9d3a3a 24,0x9e3d3d 33,0xaa5454 23,0x9d3a3a 73,0xddbaba 100,0xFFFFFF 42,0xb56b6b 39,0xb16363 33,0xaa5454 31,0xa74f4f 33,0xaa5454 24,0x9e3d3d 22,0x9c3838 21,0x9a3535 20,0x993333 20,0x993333 19,0x983030 19,0x983030 18,0x972d2d 18,0x972d2d 18,0x972d2d 17,0x952b2b 17,0x952b2b 17,0x952b2b 16,0x942828 16,0x942828 16,0x942828 15,0x932626 15,0x932626 15,0x932626 15,0x932626 15,0x932626 14,0x912323 14,0x912323 14,0x912323 14,0x912323 14,0x912323 13,0x902121 13,0x902121 13,0x902121 13,0x902121 13,0x902121 13,0x902121 13,0x902121 13,0x902121 13,0x902121 13,0x902121 13,0x902121 13,0x902121 13,0x902121 14,0x912323 14,0x912323 14,0x912323 14,0x912323 14,0x912323 15,0x932626 15,0x932626 16,0x942828 17,0x952b2b 20,0x993333 100,0xFFFFFF 31,0xa74f4f 24,0x9e3d3d 24,0x9e3d3d 25,0xa03f3f 27,0xa24444 31,0xa74f4f 41,0xb46868 70,0xd9b2b2 26,0xa14242 21,0x9a3535 20,0x993333 20,0x993333 20,0x993333 20,0x993333 20,0x993333 21,0x9a3535 21,0x9a3535 23,0x9d3a3a 23,0x9d3a3a 25,0xa03f3f 28,0xa34747 30,0xa64c4c 31,0xa74f4f 32,0xa85151 34,0xab5656 34,0xab5656 35,0xac5959 36,0xae5b5b 38,0xb06060 39,0xb16363 41,0xb46868 41,0xb46868 42,0xb56b6b 42,0xb56b6b 43,0xb76d6d 43,0xb76d6d 44,0xb87070 45,0xb97272 46,0xba7575 49,0xbe7c7c 56,0xc78e8e 58,0xca9393 86,0xeedbdb 100,0xFFFFFF 100,0xFFFFFF 76,0xe1c1c1 65,0xd3a5a5 64,0xd1a3a3 63,0xd0a0a0 62,0xcf9e9e 61,0xce9b9b 60,0xcc9999 60,0xcc9999 61,0xce9b9b 80,0xe6cccc 86,0xeedbdb 63,0xd0a0a0 65,0xd3a5a5 77,0xe2c4c4 94,0xf8efef 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 55,0xc68c8c 53,0xc38787 51,0xc18282 84,0xebd6d6 71,0xdab5b5 100,0xFFFFFF 47,0xbc7777 38,0xb06060 35,0xac5959 34,0xab5656 33,0xaa5454 33,0xaa5454 36,0xae5b5b 55,0xc68c8c 25,0xa03f3f 23,0x9d3a3a 22,0x9c3838 21,0x9a3535 22,0x9c3838 23,0x9d3a3a 26,0xa14242 31,0xa74f4f 25,0xa03f3f 20,0x993333 20,0x993333 33,0xaa5454 40,0xb36666 87,0xefdddd 22,0x9c3838 17,0x952b2b 15,0x932626 11,0x8e1c1c 9,0x8b1616 9,0x8b1616 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 10,0x8c1919 10,0x8c1919 11,0x8e1c1c 11,0x8e1c1c 13,0x902121 14,0x912323 16,0x942828 17,0x952b2b 17,0x952b2b 18,0x972d2d 18,0x972d2d 21,0x9a3535 25,0xa03f3f 71,0xdab5b5 50,0xc07f7f 75,0xe0bfbf 59,0xcb9696 33,0xaa5454 68,0xd7adad 21,0x9a3535 21,0x9a3535 100,0xFFFFFF 54,0xc58989 84,0xebd6d6 86,0xeedbdb 16,0x942828 20,0x993333 22,0x9c3838 15,0x932626 12,0x8f1e1e 11,0x8e1c1c 11,0x8e1c1c 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 12,0x8f1e1e 12,0x8f1e1e 13,0x902121 13,0x902121 14,0x912323 15,0x932626 16,0x942828 16,0x942828 17,0x952b2b 18,0x972d2d 20,0x993333 29,0xa54949 73,0xddbaba 49,0xbe7c7c 65,0xd3a5a5 47,0xbc7777 19,0x983030 16,0x942828 100,0xFFFFFF 16,0x942828 11,0x8e1c1c 9,0x8b1616 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 11,0x8e1c1c 65,0xd3a5a5 63,0xd0a0a0 100,0xFFFFFF 37,0xaf5e5e 94,0xf8efef 48,0xbd7a7a 44,0xb87070 37,0xaf5e5e 34,0xab5656 34,0xab5656 100,0xFFFFFF 66,0xd4a8a8 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 88,0xf0e0e0 77,0xe2c4c4 100,0xFFFFFF 74,0xdebcbc 41,0xb46868 67,0xd5aaaa 47,0xbc7777 16,0x942828 13,0x902121 12,0x8f1e1e 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 12,0x8f1e1e 12,0x8f1e1e 14,0x912323 27,0xa24444 100,0xFFFFFF 52,0xc28484 59,0xcb9696 29,0xa54949 20,0x993333 20,0x993333 18,0x972d2d 18,0x972d2d 17,0x952b2b 16,0x942828 16,0x942828 15,0x932626 15,0x932626 14,0x912323 14,0x912323 14,0x912323 14,0x912323 14,0x912323 14,0x912323 14,0x912323 14,0x912323 15,0x932626 16,0x942828 52,0xc28484 19,0x983030 21,0x9a3535 18,0x972d2d 17,0x952b2b 17,0x952b2b 18,0x972d2d 20,0x993333 29,0xa54949 76,0xe1c1c1 100,0xFFFFFF 90,0xf3e5e5 70,0xd9b2b2 66,0xd4a8a8 50,0xc07f7f 46,0xba7575 45,0xb97272 46,0xba7575 41,0xb46868 38,0xb06060 37,0xaf5e5e 37,0xaf5e5e 38,0xb06060 42,0xb56b6b 53,0xc38787 41,0xb46868 44,0xb87070 56,0xc78e8e 66,0xd4a8a8 98,0xfdf9f9 100,0xFFFFFF 84,0xebd6d6 56,0xc78e8e 89,0xf1e2e2 100,0xFFFFFF 31,0xa74f4f 85,0xecd8d8 22,0x9c3838 20,0x993333 19,0x983030 18,0x972d2d 17,0x952b2b 16,0x942828 16,0x942828 15,0x932626 15,0x932626 14,0x912323 13,0x902121 13,0x902121 12,0x8f1e1e 12,0x8f1e1e 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 12,0x8f1e1e 13,0x902121 16,0x942828 17,0x952b2b 59,0xcb9696 45,0xb97272 48,0xbd7a7a 53,0xc38787 54,0xc58989 100,0xFFFFFF 44,0xb87070 34,0xab5656 27,0xa24444 24,0x9e3d3d 23,0x9d3a3a 21,0x9a3535 20,0x993333 20,0x993333 19,0x983030 19,0x983030 18,0x972d2d 18,0x972d2d 17,0x952b2b 17,0x952b2b 17,0x952b2b 17,0x952b2b 16,0x942828 16,0x942828 16,0x942828 15,0x932626 15,0x932626 15,0x932626 15,0x932626 15,0x932626 15,0x932626 14,0x912323 14,0x912323 14,0x912323 14,0x912323 14,0x912323 14,0x912323 13,0x902121 13,0x902121 13,0x902121 13,0x902121 13,0x902121 13,0x902121 13,0x902121 13,0x902121 13,0x902121 14,0x912323 14,0x912323 14,0x912323 14,0x912323 14,0x912323 14,0x912323 15,0x932626 15,0x932626 15,0x932626 16,0x942828 16,0x942828 18,0x972d2d 19,0x983030 20,0x993333 22,0x9c3838 23,0x9d3a3a 24,0x9e3d3d 26,0xa14242 28,0xa34747 34,0xab5656 63,0xd0a0a0 32,0xa85151 24,0x9e3d3d 21,0x9a3535 20,0x993333 20,0x993333 20,0x993333 21,0x9a3535 21,0x9a3535 21,0x9a3535 22,0x9c3838 23,0x9d3a3a 25,0xa03f3f 26,0xa14242 28,0xa34747 30,0xa64c4c 31,0xa74f4f 32,0xa85151 33,0xaa5454 35,0xac5959 36,0xae5b5b 40,0xb36666 43,0xb76d6d 43,0xb76d6d 42,0xb56b6b 43,0xb76d6d 43,0xb76d6d 43,0xb76d6d 43,0xb76d6d 44,0xb87070 46,0xba7575 47,0xbc7777 49,0xbe7c7c 51,0xc18282 54,0xc58989 57,0xc89191 59,0xcb9696 62,0xcf9e9e 63,0xd0a0a0 63,0xd0a0a0 64,0xd1a3a3 63,0xd0a0a0 63,0xd0a0a0 64,0xd1a3a3 100,0xFFFFFF 99,0xfefcfc 79,0xe5c9c9 100,0xFFFFFF 68,0xd7adad 65,0xd3a5a5 67,0xd5aaaa 94,0xf8efef 100,0xFFFFFF 91,0xf4e8e8 84,0xebd6d6 100,0xFFFFFF 100,0xFFFFFF 57,0xc89191 54,0xc58989 56,0xc78e8e 67,0xd5aaaa 98,0xfdf9f9 100,0xFFFFFF 100,0xFFFFFF 68,0xd7adad 34,0xab5656 32,0xa85151 31,0xa74f4f 31,0xa74f4f 58,0xca9393 32,0xa85151 26,0xa14242 22,0x9c3838 21,0x9a3535 21,0x9a3535 21,0x9a3535 22,0x9c3838 49,0xbe7c7c 30,0xa64c4c 24,0x9e3d3d 22,0x9c3838 59,0xcb9696 59,0xcb9696 65,0xd3a5a5 25,0xa03f3f 17,0x952b2b 55,0xc68c8c 18,0x972d2d 11,0x8e1c1c 9,0x8b1616 9,0x8b1616 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 9,0x8b1616 10,0x8c1919 11,0x8e1c1c 11,0x8e1c1c 16,0x942828 22,0x9c3838 43,0xb76d6d 100,0xFFFFFF 24,0x9e3d3d 19,0x983030 20,0x993333 24,0x9e3d3d 32,0xa85151 65,0xd3a5a5 62,0xcf9e9e 100,0xFFFFFF 82,0xe8d1d1 35,0xac5959 18,0x972d2d 17,0x952b2b 18,0x972d2d 21,0x9a3535 33,0xaa5454 77,0xe2c4c4 29,0xa54949 14,0x912323 13,0x902121 100,0xFFFFFF 32,0xa85151 11,0x8e1c1c 11,0x8e1c1c 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 11,0x8e1c1c 11,0x8e1c1c 12,0x8f1e1e 12,0x8f1e1e 13,0x902121 14,0x912323 15,0x932626 15,0x932626 16,0x942828 17,0x952b2b 18,0x972d2d 18,0x972d2d 22,0x9c3838 28,0xa34747 42,0xb56b6b 61,0xce9b9b 100,0xFFFFFF 70,0xd9b2b2 16,0x942828 13,0x902121 77,0xe2c4c4 51,0xc18282 15,0x932626 9,0x8b1616 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 9,0x8b1616 11,0x8e1c1c 16,0x942828 31,0xa74f4f 43,0xb76d6d 62,0xcf9e9e 100,0xFFFFFF 81,0xe7cece 42,0xb56b6b 34,0xab5656 35,0xac5959 40,0xb36666 53,0xc38787 61,0xce9b9b 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 98,0xfdf9f9 92,0xf5eaea 59,0xcb9696 32,0xa85151 24,0x9e3d3d 26,0xa14242 18,0x972d2d 14,0x912323 11,0x8e1c1c 11,0x8e1c1c 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 11,0x8e1c1c 11,0x8e1c1c 13,0x902121 16,0x942828 19,0x983030 34,0xab5656 40,0xb36666 32,0xa85151 25,0xa03f3f 21,0x9a3535 20,0x993333 18,0x972d2d 18,0x972d2d 17,0x952b2b 16,0x942828 16,0x942828 16,0x942828 15,0x932626 15,0x932626 14,0x912323 14,0x912323 14,0x912323 14,0x912323 14,0x912323 15,0x932626 15,0x932626 15,0x932626 19,0x983030 100,0xFFFFFF 53,0xc38787 45,0xb97272 71,0xdab5b5 19,0x983030 18,0x972d2d 19,0x983030 20,0x993333 27,0xa24444 44,0xb87070 88,0xf0e0e0 93,0xf7eded 65,0xd3a5a5 58,0xca9393 48,0xbd7a7a 44,0xb87070 43,0xb76d6d 42,0xb56b6b 40,0xb36666 39,0xb16363 40,0xb36666 95,0xf9f2f2 95,0xf9f2f2 95,0xf9f2f2 47,0xbc7777 44,0xb87070 45,0xb97272 100,0xFFFFFF 80,0xe6cccc 77,0xe2c4c4 88,0xf0e0e0 69,0xd8afaf 51,0xc18282 91,0xf4e8e8 36,0xae5b5b 42,0xb56b6b 28,0xa34747 24,0x9e3d3d 22,0x9c3838 22,0x9c3838 18,0x972d2d 17,0x952b2b 16,0x942828 15,0x932626 14,0x912323 14,0x912323 13,0x902121 13,0x902121 12,0x8f1e1e 12,0x8f1e1e 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 12,0x8f1e1e 13,0x902121 14,0x912323 15,0x932626 42,0xb56b6b 41,0xb46868 66,0xd4a8a8 78,0xe3c6c6 67,0xd5aaaa 58,0xca9393 47,0xbc7777 100,0xFFFFFF 77,0xe2c4c4 45,0xb97272 24,0x9e3d3d 22,0x9c3838 21,0x9a3535 20,0x993333 19,0x983030 19,0x983030 18,0x972d2d 18,0x972d2d 17,0x952b2b 17,0x952b2b 17,0x952b2b 17,0x952b2b 16,0x942828 16,0x942828 16,0x942828 15,0x932626 15,0x932626 15,0x932626 15,0x932626 15,0x932626 15,0x932626 15,0x932626 14,0x912323 14,0x912323 14,0x912323 14,0x912323 14,0x912323 14,0x912323 14,0x912323 13,0x902121 13,0x902121 13,0x902121 13,0x902121 13,0x902121 14,0x912323 14,0x912323 14,0x912323 14,0x912323 14,0x912323 14,0x912323 14,0x912323 15,0x932626 15,0x932626 15,0x932626 15,0x932626 16,0x942828 17,0x952b2b 18,0x972d2d 18,0x972d2d 20,0x993333 21,0x9a3535 23,0x9d3a3a 27,0xa24444 34,0xab5656 31,0xa74f4f 33,0xaa5454 67,0xd5aaaa 60,0xcc9999 23,0x9d3a3a 22,0x9c3838 21,0x9a3535 21,0x9a3535 21,0x9a3535 21,0x9a3535 21,0x9a3535 21,0x9a3535 22,0x9c3838 24,0x9e3d3d 25,0xa03f3f 27,0xa24444 30,0xa64c4c 31,0xa74f4f 32,0xa85151 33,0xaa5454 33,0xaa5454 35,0xac5959 40,0xb36666 73,0xddbaba 83,0xead3d3 73,0xddbaba 45,0xb97272 44,0xb87070 43,0xb76d6d 43,0xb76d6d 44,0xb87070 45,0xb97272 52,0xc28484 72,0xdcb7b7 82,0xe8d1d1 54,0xc58989 54,0xc58989 56,0xc78e8e 58,0xca9393 61,0xce9b9b 62,0xcf9e9e 63,0xd0a0a0 64,0xd1a3a3 64,0xd1a3a3 67,0xd5aaaa 72,0xdcb7b7 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 97,0xfcf7f7 71,0xdab5b5 87,0xefdddd 70,0xd9b2b2 72,0xdcb7b7 100,0xFFFFFF 76,0xe1c1c1 77,0xe2c4c4 100,0xFFFFFF 76,0xe1c1c1 67,0xd5aaaa 58,0xca9393 67,0xd5aaaa 100,0xFFFFFF 85,0xecd8d8 100,0xFFFFFF 100,0xFFFFFF 46,0xba7575 35,0xac5959 32,0xa85151 30,0xa64c4c 29,0xa54949 68,0xd7adad 100,0xFFFFFF 30,0xa64c4c 21,0x9a3535 20,0x993333 19,0x983030 20,0x993333 21,0x9a3535 100,0xFFFFFF 33,0xaa5454 38,0xb06060 57,0xc89191 96,0xfaf4f4 41,0xb46868 77,0xe2c4c4 27,0xa24444 13,0x902121 12,0x8f1e1e 11,0x8e1c1c 10,0x8c1919 9,0x8b1616 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 9,0x8b1616 11,0x8e1c1c 12,0x8f1e1e 66,0xd4a8a8 39,0xb16363 35,0xac5959 25,0xa03f3f 35,0xac5959 22,0x9c3838 23,0x9d3a3a 30,0xa64c4c 50,0xc07f7f 38,0xb06060 53,0xc38787 100,0xFFFFFF 54,0xc58989 19,0x983030 14,0x912323 15,0x932626 20,0x993333 22,0x9c3838 100,0xFFFFFF 18,0x972d2d 14,0x912323 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 13,0x902121 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 11,0x8e1c1c 11,0x8e1c1c 12,0x8f1e1e 13,0x902121 16,0x942828 17,0x952b2b 22,0x9c3838 19,0x983030 19,0x983030 19,0x983030 19,0x983030 22,0x9c3838 100,0xFFFFFF 87,0xefdddd 41,0xb46868 59,0xcb9696 42,0xb56b6b 13,0x902121 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 8,0x8a1414 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 8,0x8a1414 14,0x912323 17,0x952b2b 54,0xc58989 100,0xFFFFFF 95,0xf9f2f2 100,0xFFFFFF 63,0xd0a0a0 87,0xefdddd 31,0xa74f4f 35,0xac5959 38,0xb06060 100,0xFFFFFF 67,0xd5aaaa 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 75,0xe0bfbf 56,0xc78e8e 44,0xb87070 20,0x993333 20,0x993333 49,0xbe7c7c 96,0xfaf4f4 11,0x8e1c1c 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 12,0x8f1e1e 21,0x9a3535 28,0xa34747 52,0xc28484 69,0xd8afaf 42,0xb56b6b 92,0xf5eaea 24,0x9e3d3d 25,0xa03f3f 19,0x983030 18,0x972d2d 18,0x972d2d 17,0x952b2b 16,0x942828 16,0x942828 16,0x942828 15,0x932626 15,0x932626 15,0x932626 15,0x932626 15,0x932626 15,0x932626 15,0x932626 15,0x932626 16,0x942828 17,0x952b2b 24,0x9e3d3d 27,0xa24444 29,0xa54949 60,0xcc9999 31,0xa74f4f 20,0x993333 20,0x993333 20,0x993333 44,0xb87070 36,0xae5b5b 55,0xc68c8c 100,0xFFFFFF 77,0xe2c4c4 97,0xfcf7f7 52,0xc28484 44,0xb87070 43,0xb76d6d 42,0xb56b6b 42,0xb56b6b 45,0xb97272 69,0xd8afaf 87,0xefdddd 67,0xd5aaaa 62,0xcf9e9e 47,0xbc7777 46,0xba7575 47,0xbc7777 100,0xFFFFFF 79,0xe5c9c9 100,0xFFFFFF 64,0xd1a3a3 66,0xd4a8a8 100,0xFFFFFF 37,0xaf5e5e 34,0xab5656 31,0xa74f4f 28,0xa34747 100,0xFFFFFF 64,0xd1a3a3 27,0xa24444 20,0x993333 18,0x972d2d 16,0x942828 15,0x932626 14,0x912323 13,0x902121 13,0x902121 12,0x8f1e1e 12,0x8f1e1e 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 12,0x8f1e1e 12,0x8f1e1e 13,0x902121 14,0x912323 41,0xb46868 37,0xaf5e5e 100,0xFFFFFF 100,0xFFFFFF 80,0xe6cccc 67,0xd5aaaa 52,0xc28484 64,0xd1a3a3 55,0xc68c8c 61,0xce9b9b 27,0xa24444 49,0xbe7c7c 23,0x9d3a3a 20,0x993333 19,0x983030 19,0x983030 19,0x983030 18,0x972d2d 17,0x952b2b 17,0x952b2b 17,0x952b2b 17,0x952b2b 17,0x952b2b 16,0x942828 16,0x942828 15,0x932626 15,0x932626 15,0x932626 15,0x932626 15,0x932626 15,0x932626 15,0x932626 15,0x932626 15,0x932626 14,0x912323 14,0x912323 14,0x912323 14,0x912323 14,0x912323 14,0x912323 14,0x912323 14,0x912323 14,0x912323 14,0x912323 14,0x912323 14,0x912323 14,0x912323 14,0x912323 14,0x912323 15,0x932626 15,0x932626 15,0x932626 15,0x932626 15,0x932626 16,0x942828 16,0x942828 17,0x952b2b 17,0x952b2b 19,0x983030 20,0x993333 22,0x9c3838 31,0xa74f4f 56,0xc78e8e 37,0xaf5e5e 83,0xead3d3 65,0xd3a5a5 100,0xFFFFFF 98,0xfdf9f9 23,0x9d3a3a 22,0x9c3838 21,0x9a3535 21,0x9a3535 21,0x9a3535 21,0x9a3535 21,0x9a3535 22,0x9c3838 23,0x9d3a3a 25,0xa03f3f 65,0xd3a5a5 100,0xFFFFFF 55,0xc68c8c 100,0xFFFFFF 34,0xab5656 33,0xaa5454 34,0xab5656 35,0xac5959 81,0xe7cece 44,0xb87070 59,0xcb9696 100,0xFFFFFF 46,0xba7575 45,0xb97272 44,0xb87070 44,0xb87070 45,0xb97272 46,0xba7575 89,0xf1e2e2 54,0xc58989 84,0xebd6d6 58,0xca9393 56,0xc78e8e 57,0xc89191 100,0xFFFFFF 100,0xFFFFFF 64,0xd1a3a3 64,0xd1a3a3 65,0xd3a5a5 66,0xd4a8a8 69,0xd8afaf 79,0xe5c9c9 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 82,0xe8d1d1 100,0xFFFFFF 73,0xddbaba 74,0xdebcbc 74,0xdebcbc 87,0xefdddd 100,0xFFFFFF 66,0xd4a8a8 64,0xd1a3a3 61,0xce9b9b 61,0xce9b9b 71,0xdab5b5 100,0xFFFFFF 80,0xe6cccc 100,0xFFFFFF 91,0xf4e8e8 81,0xe7cece 100,0xFFFFFF 30,0xa64c4c 27,0xa24444 26,0xa14242 24,0x9e3d3d 22,0x9c3838 20,0x993333 19,0x983030 19,0x983030 19,0x983030 19,0x983030 21,0x9a3535 58,0xca9393 45,0xb97272 58,0xca9393 77,0xe2c4c4 44,0xb87070 25,0xa03f3f 14,0x912323 12,0x8f1e1e 11,0x8e1c1c 10,0x8c1919 9,0x8b1616 9,0x8b1616 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 11,0x8e1c1c 42,0xb56b6b 100,0xFFFFFF 52,0xc28484 23,0x9d3a3a 21,0x9a3535 45,0xb97272 38,0xb06060 72,0xdcb7b7 41,0xb46868 100,0xFFFFFF 100,0xFFFFFF 24,0x9e3d3d 100,0xFFFFFF 100,0xFFFFFF 13,0x902121 12,0x8f1e1e 15,0x932626 47,0xbc7777 49,0xbe7c7c 15,0x932626 12,0x8f1e1e 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 10,0x8c1919 10,0x8c1919 10,0x8c1919 11,0x8e1c1c 11,0x8e1c1c 13,0x902121 15,0x932626 22,0x9c3838 44,0xb87070 68,0xd7adad 100,0xFFFFFF 35,0xac5959 21,0x9a3535 21,0x9a3535 39,0xb16363 72,0xdcb7b7 100,0xFFFFFF 32,0xa85151 21,0x9a3535 25,0xa03f3f 11,0x8e1c1c 10,0x8c1919 9,0x8b1616 9,0x8b1616 8,0x8a1414 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 7,0x881111 9,0x8b1616 43,0xb76d6d 56,0xc78e8e 62,0xcf9e9e 46,0xba7575 100,0xFFFFFF 78,0xe3c6c6 54,0xc58989 34,0xab5656 26,0xa14242 100,0xFFFFFF 100,0xFFFFFF 47,0xbc7777 69,0xd8afaf 79,0xe5c9c9 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 67,0xd5aaaa 100,0xFFFFFF 42,0xb56b6b 74,0xdebcbc 14,0x912323 12,0x8f1e1e 11,0x8e1c1c 10,0x8c1919 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 10,0x8c1919 10,0x8c1919 10,0x8c1919 11,0x8e1c1c 13,0x902121 21,0x9a3535 98,0xfdf9f9 83,0xead3d3 48,0xbd7a7a 100,0xFFFFFF 35,0xac5959 39,0xb16363 20,0x993333 19,0x983030 19,0x983030 18,0x972d2d 17,0x952b2b 16,0x942828 16,0x942828 16,0x942828 16,0x942828 16,0x942828 16,0x942828 16,0x942828 16,0x942828 16,0x942828 16,0x942828 17,0x952b2b 18,0x972d2d 20,0x993333 24,0x9e3d3d 28,0xa34747 100,0xFFFFFF 39,0xb16363 21,0x9a3535 21,0x9a3535 21,0x9a3535 23,0x9d3a3a 60,0xcc9999 74,0xdebcbc 41,0xb46868 98,0xfdf9f9 81,0xe7cece 42,0xb56b6b 42,0xb56b6b 43,0xb76d6d 43,0xb76d6d 44,0xb87070 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 92,0xf5eaea 100,0xFFFFFF 59,0xcb9696 55,0xc68c8c 52,0xc28484 51,0xc18282 55,0xc68c8c 54,0xc58989 56,0xc78e8e 100,0xFFFFFF 80,0xe6cccc 39,0xb16363 36,0xae5b5b 32,0xa85151 91,0xf4e8e8 76,0xe1c1c1 67,0xd5aaaa 46,0xba7575 35,0xac5959 21,0x9a3535 17,0x952b2b 14,0x912323 14,0x912323 13,0x902121 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 11,0x8e1c1c 11,0x8e1c1c 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 12,0x8f1e1e 13,0x902121 14,0x912323 16,0x942828 23,0x9d3a3a 100,0xFFFFFF 100,0xFFFFFF 67,0xd5aaaa 75,0xe0bfbf 46,0xba7575 56,0xc78e8e 36,0xae5b5b 35,0xac5959 35,0xac5959 100,0xFFFFFF 22,0x9c3838 21,0x9a3535 20,0x993333 19,0x983030 19,0x983030 18,0x972d2d 18,0x972d2d 17,0x952b2b 17,0x952b2b 17,0x952b2b 17,0x952b2b 16,0x942828 16,0x942828 16,0x942828 15,0x932626 15,0x932626 15,0x932626 15,0x932626 15,0x932626 15,0x932626 15,0x932626 15,0x932626 15,0x932626 15,0x932626 14,0x912323 14,0x912323 14,0x912323 14,0x912323 14,0x912323 14,0x912323 14,0x912323 14,0x912323 14,0x912323 14,0x912323 14,0x912323 15,0x932626 15,0x932626 15,0x932626 15,0x932626 15,0x932626 15,0x932626 15,0x932626 16,0x942828 17,0x952b2b 17,0x952b2b 18,0x972d2d 19,0x983030 22,0x9c3838 29,0xa54949 77,0xe2c4c4 65,0xd3a5a5 32,0xa85151 100,0xFFFFFF 69,0xd8afaf 100,0xFFFFFF 25,0xa03f3f 23,0x9d3a3a 22,0x9c3838 22,0x9c3838 22,0x9c3838 21,0x9a3535 22,0x9c3838 22,0x9c3838 22,0x9c3838 24,0x9e3d3d 46,0xba7575 100,0xFFFFFF 42,0xb56b6b 37,0xaf5e5e 47,0xbc7777 36,0xae5b5b 35,0xac5959 35,0xac5959 36,0xae5b5b 38,0xb06060 41,0xb46868 63,0xd0a0a0 49,0xbe7c7c 47,0xbc7777 45,0xb97272 45,0xb97272 45,0xb97272 45,0xb97272 46,0xba7575 48,0xbd7a7a 51,0xc18282 79,0xe5c9c9 59,0xcb9696 58,0xca9393 59,0xcb9696 65,0xd3a5a5 81,0xe7cece 66,0xd4a8a8 65,0xd3a5a5 65,0xd3a5a5 67,0xd5aaaa 69,0xd8afaf 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 91,0xf4e8e8 88,0xf0e0e0 78,0xe3c6c6 76,0xe1c1c1 75,0xe0bfbf 74,0xdebcbc 73,0xddbaba 71,0xdab5b5 68,0xd7adad 65,0xd3a5a5 63,0xd0a0a0 62,0xcf9e9e 62,0xcf9e9e 63,0xd0a0a0 65,0xd3a5a5 85,0xecd8d8 100,0xFFFFFF 45,0xb97272 41,0xb46868 36,0xae5b5b 37,0xaf5e5e 29,0xa54949 25,0xa03f3f 23,0x9d3a3a 21,0x9a3535 20,0x993333 19,0x983030 18,0x972d2d 18,0x972d2d 17,0x952b2b 17,0x952b2b 18,0x972d2d 51,0xc18282 18,0x972d2d 100,0xFFFFFF 15,0x932626 30,0xa64c4c 12,0x8f1e1e 11,0x8e1c1c 10,0x8c1919 10,0x8c1919 9,0x8b1616 9,0x8b1616 8,0x8a1414 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 11,0x8e1c1c 42,0xb56b6b 64,0xd1a3a3 33,0xaa5454 21,0x9a3535 18,0x972d2d 18,0x972d2d 100,0xFFFFFF 29,0xa54949 18,0x972d2d 19,0x983030 14,0x912323 28,0xa34747 14,0x912323 12,0x8f1e1e 11,0x8e1c1c 11,0x8e1c1c 22,0x9c3838 100,0xFFFFFF 22,0x9c3838 14,0x912323 11,0x8e1c1c 10,0x8c1919 9,0x8b1616 9,0x8b1616 9,0x8b1616 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 10,0x8c1919 10,0x8c1919 11,0x8e1c1c 11,0x8e1c1c 14,0x912323 25,0xa03f3f 53,0xc38787 66,0xd4a8a8 31,0xa74f4f 26,0xa14242 33,0xaa5454 23,0x9d3a3a 23,0x9d3a3a 92,0xf5eaea 40,0xb36666 93,0xf7eded 33,0xaa5454 16,0x942828 77,0xe2c4c4 10,0x8c1919 9,0x8b1616 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 7,0x881111 9,0x8b1616 9,0x8b1616 11,0x8e1c1c 22,0x9c3838 100,0xFFFFFF 100,0xFFFFFF 25,0xa03f3f 21,0x9a3535 34,0xab5656 52,0xc28484 72,0xdcb7b7 44,0xb87070 100,0xFFFFFF 60,0xcc9999 71,0xdab5b5 80,0xe6cccc 71,0xdab5b5 51,0xc18282 50,0xc07f7f 64,0xd1a3a3 48,0xbd7a7a 14,0x912323 11,0x8e1c1c 10,0x8c1919 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 10,0x8c1919 10,0x8c1919 11,0x8e1c1c 12,0x8f1e1e 14,0x912323 32,0xa85151 100,0xFFFFFF 40,0xb36666 37,0xaf5e5e 29,0xa54949 26,0xa14242 24,0x9e3d3d 21,0x9a3535 86,0xeedbdb 43,0xb76d6d 18,0x972d2d 18,0x972d2d 17,0x952b2b 17,0x952b2b 19,0x983030 29,0xa54949 17,0x952b2b 17,0x952b2b 16,0x942828 16,0x942828 17,0x952b2b 18,0x972d2d 19,0x983030 24,0x9e3d3d 60,0xcc9999 33,0xaa5454 57,0xc89191 26,0xa14242 22,0x9c3838 22,0x9c3838 22,0x9c3838 24,0x9e3d3d 26,0xa14242 30,0xa64c4c 33,0xaa5454 36,0xae5b5b 38,0xb06060 41,0xb46868 42,0xb56b6b 43,0xb76d6d 44,0xb87070 48,0xbd7a7a 58,0xca9393 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 81,0xe7cece 65,0xd3a5a5 58,0xca9393 54,0xc58989 52,0xc28484 53,0xc38787 53,0xc38787 65,0xd3a5a5 51,0xc18282 46,0xba7575 100,0xFFFFFF 42,0xb56b6b 36,0xae5b5b 62,0xcf9e9e 58,0xca9393 65,0xd3a5a5 86,0xeedbdb 100,0xFFFFFF 43,0xb76d6d 26,0xa14242 15,0x932626 14,0x912323 13,0x902121 12,0x8f1e1e 12,0x8f1e1e 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 12,0x8f1e1e 13,0x902121 14,0x912323 15,0x932626 18,0x972d2d 27,0xa24444 50,0xc07f7f 83,0xead3d3 46,0xba7575 41,0xb46868 51,0xc18282 34,0xab5656 31,0xa74f4f 29,0xa54949 25,0xa03f3f 22,0x9c3838 21,0x9a3535 20,0x993333 20,0x993333 19,0x983030 19,0x983030 18,0x972d2d 17,0x952b2b 17,0x952b2b 17,0x952b2b 17,0x952b2b 17,0x952b2b 16,0x942828 16,0x942828 16,0x942828 15,0x932626 15,0x932626 15,0x932626 15,0x932626 15,0x932626 15,0x932626 15,0x932626 15,0x932626 15,0x932626 15,0x932626 15,0x932626 15,0x932626 15,0x932626 15,0x932626 15,0x932626 15,0x932626 15,0x932626 15,0x932626 15,0x932626 15,0x932626 15,0x932626 15,0x932626 15,0x932626 15,0x932626 15,0x932626 15,0x932626 16,0x942828 17,0x952b2b 17,0x952b2b 17,0x952b2b 20,0x993333 28,0xa34747 100,0xFFFFFF 92,0xf5eaea 43,0xb76d6d 100,0xFFFFFF 29,0xa54949 28,0xa34747 27,0xa24444 26,0xa14242 24,0x9e3d3d 23,0x9d3a3a 23,0x9d3a3a 22,0x9c3838 22,0x9c3838 22,0x9c3838 22,0x9c3838 22,0x9c3838 23,0x9d3a3a 24,0x9e3d3d 37,0xaf5e5e 90,0xf3e5e5 32,0xa85151 36,0xae5b5b 41,0xb46868 37,0xaf5e5e 36,0xae5b5b 36,0xae5b5b 37,0xaf5e5e 40,0xb36666 51,0xc18282 72,0xdcb7b7 50,0xc07f7f 47,0xbc7777 46,0xba7575 46,0xba7575 46,0xba7575 46,0xba7575 47,0xbc7777 48,0xbd7a7a 52,0xc28484 100,0xFFFFFF 86,0xeedbdb 64,0xd1a3a3 100,0xFFFFFF 100,0xFFFFFF 69,0xd8afaf 67,0xd5aaaa 67,0xd5aaaa 67,0xd5aaaa 74,0xdebcbc 74,0xdebcbc 75,0xe0bfbf 83,0xead3d3 100,0xFFFFFF 88,0xf0e0e0 87,0xefdddd 92,0xf5eaea 79,0xe5c9c9 77,0xe2c4c4 77,0xe2c4c4 78,0xe3c6c6 100,0xFFFFFF 100,0xFFFFFF 71,0xdab5b5 67,0xd5aaaa 64,0xd1a3a3 63,0xd0a0a0 62,0xcf9e9e 61,0xce9b9b 100,0xFFFFFF 59,0xcb9696 61,0xce9b9b 100,0xFFFFFF 42,0xb56b6b 91,0xf4e8e8 59,0xcb9696 71,0xdab5b5 40,0xb36666 25,0xa03f3f 21,0x9a3535 20,0x993333 19,0x983030 18,0x972d2d 17,0x952b2b 16,0x942828 16,0x942828 15,0x932626 14,0x912323 14,0x912323 13,0x902121 12,0x8f1e1e 12,0x8f1e1e 11,0x8e1c1c 10,0x8c1919 10,0x8c1919 9,0x8b1616 9,0x8b1616 9,0x8b1616 8,0x8a1414 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 11,0x8e1c1c 15,0x932626 96,0xfaf4f4 47,0xbc7777 28,0xa34747 17,0x952b2b 15,0x932626 14,0x912323 12,0x8f1e1e 12,0x8f1e1e 11,0x8e1c1c 11,0x8e1c1c 14,0x912323 11,0x8e1c1c 10,0x8c1919 10,0x8c1919 10,0x8c1919 11,0x8e1c1c 51,0xc18282 25,0xa03f3f 22,0x9c3838 10,0x8c1919 9,0x8b1616 9,0x8b1616 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 9,0x8b1616 10,0x8c1919 11,0x8e1c1c 12,0x8f1e1e 15,0x932626 100,0xFFFFFF 87,0xefdddd 37,0xaf5e5e 23,0x9d3a3a 23,0x9d3a3a 37,0xaf5e5e 29,0xa54949 58,0xca9393 50,0xc07f7f 61,0xce9b9b 25,0xa03f3f 13,0x902121 11,0x8e1c1c 10,0x8c1919 9,0x8b1616 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 7,0x881111 7,0x881111 8,0x8a1414 10,0x8c1919 11,0x8e1c1c 12,0x8f1e1e 13,0x902121 14,0x912323 17,0x952b2b 18,0x972d2d 23,0x9d3a3a 32,0xa85151 100,0xFFFFFF 55,0xc68c8c 61,0xce9b9b 66,0xd4a8a8 51,0xc18282 43,0xb76d6d 43,0xb76d6d 20,0x993333 55,0xc68c8c 12,0x8f1e1e 10,0x8c1919 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 10,0x8c1919 11,0x8e1c1c 12,0x8f1e1e 15,0x932626 18,0x972d2d 32,0xa85151 40,0xb36666 100,0xFFFFFF 42,0xb56b6b 76,0xe1c1c1 100,0xFFFFFF 57,0xc89191 29,0xa54949 41,0xb46868 19,0x983030 18,0x972d2d 18,0x972d2d 19,0x983030 29,0xa54949 71,0xdab5b5 29,0xa54949 18,0x972d2d 18,0x972d2d 18,0x972d2d 20,0x993333 30,0xa64c4c 100,0xFFFFFF 55,0xc68c8c 67,0xd5aaaa 28,0xa34747 26,0xa14242 24,0x9e3d3d 23,0x9d3a3a 23,0x9d3a3a 23,0x9d3a3a 100,0xFFFFFF 53,0xc38787 60,0xcc9999 34,0xab5656 35,0xac5959 61,0xce9b9b 48,0xbd7a7a 44,0xb87070 44,0xb87070 45,0xb97272 47,0xbc7777 100,0xFFFFFF 72,0xdcb7b7 100,0xFFFFFF 95,0xf9f2f2 68,0xd7adad 69,0xd8afaf 56,0xc78e8e 55,0xc68c8c 54,0xc58989 53,0xc38787 52,0xc28484 49,0xbe7c7c 47,0xbc7777 44,0xb87070 43,0xb76d6d 40,0xb36666 40,0xb36666 100,0xFFFFFF 63,0xd0a0a0 79,0xe5c9c9 100,0xFFFFFF 100,0xFFFFFF 46,0xba7575 98,0xfdf9f9 17,0x952b2b 14,0x912323 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 11,0x8e1c1c 11,0x8e1c1c 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 12,0x8f1e1e 13,0x902121 14,0x912323 16,0x942828 17,0x952b2b 21,0x9a3535 27,0xa24444 34,0xab5656 39,0xb16363 39,0xb16363 37,0xaf5e5e 33,0xaa5454 30,0xa64c4c 28,0xa34747 25,0xa03f3f 23,0x9d3a3a 22,0x9c3838 21,0x9a3535 21,0x9a3535 20,0x993333 20,0x993333 18,0x972d2d 18,0x972d2d 17,0x952b2b 17,0x952b2b 17,0x952b2b 17,0x952b2b 17,0x952b2b 16,0x942828 16,0x942828 16,0x942828 15,0x932626 15,0x932626 15,0x932626 15,0x932626 15,0x932626 15,0x932626 15,0x932626 15,0x932626 15,0x932626 15,0x932626 15,0x932626 16,0x942828 16,0x942828 16,0x942828 16,0x942828 15,0x932626 15,0x932626 15,0x932626 15,0x932626 15,0x932626 15,0x932626 15,0x932626 15,0x932626 15,0x932626 16,0x942828 17,0x952b2b 18,0x972d2d 18,0x972d2d 19,0x983030 21,0x9a3535 37,0xaf5e5e 42,0xb56b6b 61,0xce9b9b 92,0xf5eaea 31,0xa74f4f 28,0xa34747 27,0xa24444 26,0xa14242 25,0xa03f3f 24,0x9e3d3d 23,0x9d3a3a 23,0x9d3a3a 23,0x9d3a3a 23,0x9d3a3a 23,0x9d3a3a 23,0x9d3a3a 23,0x9d3a3a 23,0x9d3a3a 24,0x9e3d3d 26,0xa14242 28,0xa34747 29,0xa54949 43,0xb76d6d 62,0xcf9e9e 87,0xefdddd 39,0xb16363 75,0xe0bfbf 40,0xb36666 47,0xbc7777 82,0xe8d1d1 63,0xd0a0a0 54,0xc58989 49,0xbe7c7c 48,0xbd7a7a 53,0xc38787 47,0xbc7777 47,0xbc7777 48,0xbd7a7a 53,0xc38787 57,0xc89191 71,0xdab5b5 76,0xe1c1c1 96,0xfaf4f4 100,0xFFFFFF 100,0xFFFFFF 71,0xdab5b5 69,0xd8afaf 68,0xd7adad 69,0xd8afaf 72,0xdcb7b7 84,0xebd6d6 77,0xe2c4c4 80,0xe6cccc 84,0xebd6d6 86,0xeedbdb 85,0xecd8d8 83,0xead3d3 82,0xe8d1d1 82,0xe8d1d1 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 97,0xfcf7f7 68,0xd7adad 83,0xead3d3 65,0xd3a5a5 59,0xcb9696 57,0xc89191 54,0xc58989 53,0xc38787 62,0xcf9e9e 47,0xbc7777 100,0xFFFFFF 97,0xfcf7f7 100,0xFFFFFF 68,0xd7adad 30,0xa64c4c 23,0x9d3a3a 22,0x9c3838 20,0x993333 18,0x972d2d 17,0x952b2b 16,0x942828 15,0x932626 14,0x912323 14,0x912323 13,0x902121 12,0x8f1e1e 12,0x8f1e1e 11,0x8e1c1c 10,0x8c1919 10,0x8c1919 10,0x8c1919 9,0x8b1616 9,0x8b1616 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 9,0x8b1616 15,0x932626 17,0x952b2b 100,0xFFFFFF 73,0xddbaba 61,0xce9b9b 24,0x9e3d3d 15,0x932626 13,0x902121 11,0x8e1c1c 10,0x8c1919 10,0x8c1919 10,0x8c1919 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 10,0x8c1919 34,0xab5656 11,0x8e1c1c 9,0x8b1616 9,0x8b1616 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 9,0x8b1616 11,0x8e1c1c 41,0xb46868 17,0x952b2b 53,0xc38787 51,0xc18282 28,0xa34747 21,0x9a3535 20,0x993333 72,0xdcb7b7 38,0xb06060 31,0xa74f4f 20,0x993333 15,0x932626 13,0x902121 11,0x8e1c1c 10,0x8c1919 9,0x8b1616 8,0x8a1414 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 8,0x8a1414 9,0x8b1616 10,0x8c1919 11,0x8e1c1c 13,0x902121 14,0x912323 16,0x942828 33,0xaa5454 39,0xb16363 35,0xac5959 37,0xaf5e5e 100,0xFFFFFF 34,0xab5656 35,0xac5959 95,0xf9f2f2 21,0x9a3535 16,0x942828 23,0x9d3a3a 96,0xfaf4f4 10,0x8c1919 9,0x8b1616 9,0x8b1616 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 10,0x8c1919 100,0xFFFFFF 23,0x9d3a3a 22,0x9c3838 100,0xFFFFFF 86,0xeedbdb 62,0xcf9e9e 50,0xc07f7f 50,0xc07f7f 86,0xeedbdb 31,0xa74f4f 31,0xa74f4f 24,0x9e3d3d 21,0x9a3535 21,0x9a3535 26,0xa14242 23,0x9d3a3a 24,0x9e3d3d 29,0xa54949 36,0xae5b5b 19,0x983030 19,0x983030 20,0x993333 37,0xaf5e5e 94,0xf8efef 48,0xbd7a7a 56,0xc78e8e 52,0xc28484 28,0xa34747 26,0xa14242 25,0xa03f3f 24,0x9e3d3d 24,0x9e3d3d 24,0x9e3d3d 27,0xa24444 31,0xa74f4f 42,0xb56b6b 36,0xae5b5b 37,0xaf5e5e 46,0xba7575 51,0xc18282 45,0xb97272 45,0xb97272 50,0xc07f7f 77,0xe2c4c4 54,0xc58989 58,0xca9393 89,0xf1e2e2 66,0xd4a8a8 64,0xd1a3a3 61,0xce9b9b 58,0xca9393 69,0xd8afaf 57,0xc89191 84,0xebd6d6 68,0xd7adad 51,0xc18282 46,0xba7575 44,0xb87070 42,0xb56b6b 41,0xb46868 41,0xb46868 44,0xb87070 58,0xca9393 89,0xf1e2e2 100,0xFFFFFF 80,0xe6cccc 70,0xd9b2b2 24,0x9e3d3d 43,0xb76d6d 15,0x932626 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 11,0x8e1c1c 11,0x8e1c1c 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 11,0x8e1c1c 11,0x8e1c1c 12,0x8f1e1e 14,0x912323 23,0x9d3a3a 21,0x9a3535 19,0x983030 20,0x993333 60,0xcc9999 40,0xb36666 41,0xb46868 43,0xb76d6d 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 84,0xebd6d6 57,0xc89191 74,0xdebcbc 100,0xFFFFFF 23,0x9d3a3a 23,0x9d3a3a 38,0xb06060 33,0xaa5454 20,0x993333 18,0x972d2d 18,0x972d2d 18,0x972d2d 17,0x952b2b 17,0x952b2b 17,0x952b2b 17,0x952b2b 16,0x942828 16,0x942828 16,0x942828 16,0x942828 15,0x932626 15,0x932626 15,0x932626 15,0x932626 16,0x942828 16,0x942828 16,0x942828 16,0x942828 16,0x942828 17,0x952b2b 18,0x972d2d 22,0x9c3838 17,0x952b2b 16,0x942828 16,0x942828 16,0x942828 16,0x942828 16,0x942828 16,0x942828 16,0x942828 16,0x942828 16,0x942828 17,0x952b2b 100,0xFFFFFF 22,0x9c3838 20,0x993333 20,0x993333 40,0xb36666 82,0xe8d1d1 100,0xFFFFFF 51,0xc18282 39,0xb16363 100,0xFFFFFF 28,0xa34747 27,0xa24444 26,0xa14242 25,0xa03f3f 24,0x9e3d3d 24,0x9e3d3d 23,0x9d3a3a 23,0x9d3a3a 23,0x9d3a3a 23,0x9d3a3a 23,0x9d3a3a 23,0x9d3a3a 24,0x9e3d3d 24,0x9e3d3d 25,0xa03f3f 26,0xa14242 27,0xa24444 40,0xb36666 60,0xcc9999 59,0xcb9696 68,0xd7adad 48,0xbd7a7a 44,0xb87070 79,0xe5c9c9 100,0xFFFFFF 77,0xe2c4c4 100,0xFFFFFF 55,0xc68c8c 53,0xc38787 100,0xFFFFFF 50,0xc07f7f 49,0xbe7c7c 49,0xbe7c7c 51,0xc18282 89,0xf1e2e2 91,0xf4e8e8 99,0xfefcfc 90,0xf3e5e5 88,0xf0e0e0 100,0xFFFFFF 88,0xf0e0e0 84,0xebd6d6 70,0xd9b2b2 71,0xdab5b5 81,0xe7cece 100,0xFFFFFF 82,0xe8d1d1 100,0xFFFFFF 87,0xefdddd 87,0xefdddd 90,0xf3e5e5 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 88,0xf0e0e0 92,0xf5eaea 100,0xFFFFFF 100,0xFFFFFF 89,0xf1e2e2 76,0xe1c1c1 78,0xe3c6c6 94,0xf8efef 100,0xFFFFFF 86,0xeedbdb 55,0xc68c8c 53,0xc38787 51,0xc18282 50,0xc07f7f 49,0xbe7c7c 61,0xce9b9b 78,0xe3c6c6 82,0xe8d1d1 100,0xFFFFFF 65,0xd3a5a5 67,0xd5aaaa 31,0xa74f4f 22,0x9c3838 18,0x972d2d 17,0x952b2b 16,0x942828 15,0x932626 14,0x912323 13,0x902121 12,0x8f1e1e 12,0x8f1e1e 11,0x8e1c1c 11,0x8e1c1c 10,0x8c1919 10,0x8c1919 9,0x8b1616 9,0x8b1616 9,0x8b1616 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 9,0x8b1616 54,0xc58989 49,0xbe7c7c 41,0xb46868 100,0xFFFFFF 44,0xb87070 41,0xb46868 28,0xa34747 75,0xe0bfbf 11,0x8e1c1c 9,0x8b1616 9,0x8b1616 9,0x8b1616 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 9,0x8b1616 11,0x8e1c1c 15,0x932626 27,0xa24444 44,0xb87070 35,0xac5959 86,0xeedbdb 20,0x993333 18,0x972d2d 17,0x952b2b 16,0x942828 15,0x932626 14,0x912323 12,0x8f1e1e 11,0x8e1c1c 10,0x8c1919 10,0x8c1919 9,0x8b1616 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 8,0x8a1414 9,0x8b1616 11,0x8e1c1c 14,0x912323 15,0x932626 17,0x952b2b 22,0x9c3838 52,0xc28484 100,0xFFFFFF 32,0xa85151 93,0xf7eded 20,0x993333 65,0xd3a5a5 100,0xFFFFFF 90,0xf3e5e5 12,0x8f1e1e 13,0x902121 14,0x912323 9,0x8b1616 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 12,0x8f1e1e 13,0x902121 68,0xd7adad 43,0xb76d6d 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 42,0xb56b6b 44,0xb87070 34,0xab5656 27,0xa24444 26,0xa14242 68,0xd7adad 61,0xce9b9b 41,0xb46868 100,0xFFFFFF 35,0xac5959 36,0xae5b5b 28,0xa34747 21,0x9a3535 20,0x993333 24,0x9e3d3d 74,0xdebcbc 65,0xd3a5a5 53,0xc38787 42,0xb56b6b 45,0xb97272 29,0xa54949 26,0xa14242 26,0xa14242 25,0xa03f3f 25,0xa03f3f 25,0xa03f3f 26,0xa14242 30,0xa64c4c 100,0xFFFFFF 54,0xc58989 44,0xb87070 68,0xd7adad 49,0xbe7c7c 47,0xbc7777 47,0xbc7777 49,0xbe7c7c 96,0xfaf4f4 58,0xca9393 64,0xd1a3a3 64,0xd1a3a3 65,0xd3a5a5 65,0xd3a5a5 75,0xe0bfbf 74,0xdebcbc 85,0xecd8d8 64,0xd1a3a3 82,0xe8d1d1 100,0xFFFFFF 100,0xFFFFFF 52,0xc28484 49,0xbe7c7c 43,0xb76d6d 41,0xb46868 41,0xb46868 42,0xb56b6b 46,0xba7575 53,0xc38787 60,0xcc9999 100,0xFFFFFF 38,0xb06060 87,0xefdddd 16,0x942828 14,0x912323 13,0x902121 12,0x8f1e1e 12,0x8f1e1e 11,0x8e1c1c 11,0x8e1c1c 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 10,0x8c1919 10,0x8c1919 10,0x8c1919 11,0x8e1c1c 11,0x8e1c1c 12,0x8f1e1e 20,0x993333 82,0xe8d1d1 28,0xa34747 22,0x9c3838 22,0x9c3838 100,0xFFFFFF 56,0xc78e8e 49,0xbe7c7c 53,0xc38787 72,0xdcb7b7 100,0xFFFFFF 43,0xb76d6d 91,0xf4e8e8 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 31,0xa74f4f 26,0xa14242 44,0xb87070 64,0xd1a3a3 20,0x993333 19,0x983030 19,0x983030 18,0x972d2d 18,0x972d2d 18,0x972d2d 18,0x972d2d 18,0x972d2d 17,0x952b2b 17,0x952b2b 16,0x942828 16,0x942828 16,0x942828 16,0x942828 16,0x942828 16,0x942828 16,0x942828 16,0x942828 16,0x942828 16,0x942828 17,0x952b2b 18,0x972d2d 23,0x9d3a3a 35,0xac5959 19,0x983030 17,0x952b2b 16,0x942828 16,0x942828 16,0x942828 16,0x942828 16,0x942828 16,0x942828 17,0x952b2b 17,0x952b2b 18,0x972d2d 24,0x9e3d3d 30,0xa64c4c 51,0xc18282 23,0x9d3a3a 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 61,0xce9b9b 53,0xc38787 31,0xa74f4f 28,0xa34747 27,0xa24444 26,0xa14242 25,0xa03f3f 25,0xa03f3f 24,0x9e3d3d 24,0x9e3d3d 23,0x9d3a3a 23,0x9d3a3a 23,0x9d3a3a 23,0x9d3a3a 24,0x9e3d3d 24,0x9e3d3d 25,0xa03f3f 25,0xa03f3f 26,0xa14242 27,0xa24444 32,0xa85151 100,0xFFFFFF 100,0xFFFFFF 60,0xcc9999 49,0xbe7c7c 92,0xf5eaea 69,0xd8afaf 80,0xe6cccc 81,0xe7cece 100,0xFFFFFF 65,0xd3a5a5 69,0xd8afaf 100,0xFFFFFF 52,0xc28484 50,0xc07f7f 50,0xc07f7f 56,0xc78e8e 80,0xe6cccc 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 91,0xf4e8e8 79,0xe5c9c9 78,0xe3c6c6 74,0xdebcbc 73,0xddbaba 98,0xfdf9f9 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 93,0xf7eded 89,0xf1e2e2 89,0xf1e2e2 92,0xf5eaea 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 94,0xf8efef 97,0xfcf7f7 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 85,0xecd8d8 100,0xFFFFFF 100,0xFFFFFF 86,0xeedbdb 61,0xce9b9b 64,0xd1a3a3 51,0xc18282 50,0xc07f7f 50,0xc07f7f 51,0xc18282 54,0xc58989 63,0xd0a0a0 82,0xe8d1d1 100,0xFFFFFF 33,0xaa5454 71,0xdab5b5 22,0x9c3838 20,0x993333 19,0x983030 18,0x972d2d 15,0x932626 14,0x912323 13,0x902121 12,0x8f1e1e 11,0x8e1c1c 11,0x8e1c1c 10,0x8c1919 10,0x8c1919 10,0x8c1919 9,0x8b1616 9,0x8b1616 9,0x8b1616 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 9,0x8b1616 10,0x8c1919 20,0x993333 30,0xa64c4c 26,0xa14242 54,0xc58989 100,0xFFFFFF 25,0xa03f3f 10,0x8c1919 9,0x8b1616 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 10,0x8c1919 13,0x902121 41,0xb46868 95,0xf9f2f2 50,0xc07f7f 100,0xFFFFFF 21,0x9a3535 17,0x952b2b 17,0x952b2b 15,0x932626 14,0x912323 13,0x902121 12,0x8f1e1e 11,0x8e1c1c 10,0x8c1919 9,0x8b1616 9,0x8b1616 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 7,0x881111 8,0x8a1414 10,0x8c1919 31,0xa74f4f 47,0xbc7777 54,0xc58989 19,0x983030 33,0xaa5454 100,0xFFFFFF 100,0xFFFFFF 65,0xd3a5a5 15,0x932626 17,0x952b2b 21,0x9a3535 93,0xf7eded 81,0xe7cece 10,0x8c1919 9,0x8b1616 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 10,0x8c1919 11,0x8e1c1c 16,0x942828 61,0xce9b9b 97,0xfcf7f7 78,0xe3c6c6 61,0xce9b9b 39,0xb16363 36,0xae5b5b 32,0xa85151 32,0xa85151 32,0xa85151 60,0xcc9999 100,0xFFFFFF 100,0xFFFFFF 46,0xba7575 29,0xa54949 27,0xa24444 24,0x9e3d3d 23,0x9d3a3a 23,0x9d3a3a 79,0xe5c9c9 100,0xFFFFFF 100,0xFFFFFF 68,0xd7adad 50,0xc07f7f 40,0xb36666 31,0xa74f4f 28,0xa34747 28,0xa34747 28,0xa34747 26,0xa14242 26,0xa14242 28,0xa34747 79,0xe5c9c9 50,0xc07f7f 70,0xd9b2b2 73,0xddbaba 100,0xFFFFFF 88,0xf0e0e0 95,0xf9f2f2 49,0xbe7c7c 100,0xFFFFFF 100,0xFFFFFF 66,0xd4a8a8 82,0xe8d1d1 67,0xd5aaaa 66,0xd4a8a8 93,0xf7eded 100,0xFFFFFF 100,0xFFFFFF 85,0xecd8d8 71,0xdab5b5 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 56,0xc78e8e 50,0xc07f7f 80,0xe6cccc 42,0xb56b6b 39,0xb16363 85,0xecd8d8 52,0xc28484 79,0xe5c9c9 39,0xb16363 37,0xaf5e5e 53,0xc38787 91,0xf4e8e8 18,0x972d2d 14,0x912323 13,0x902121 12,0x8f1e1e 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 10,0x8c1919 10,0x8c1919 10,0x8c1919 11,0x8e1c1c 13,0x902121 22,0x9c3838 46,0xba7575 22,0x9c3838 31,0xa74f4f 68,0xd7adad 35,0xac5959 56,0xc78e8e 68,0xd7adad 67,0xd5aaaa 63,0xd0a0a0 53,0xc38787 49,0xbe7c7c 54,0xc58989 65,0xd3a5a5 60,0xcc9999 59,0xcb9696 36,0xae5b5b 77,0xe2c4c4 44,0xb87070 26,0xa14242 21,0x9a3535 20,0x993333 19,0x983030 19,0x983030 19,0x983030 18,0x972d2d 18,0x972d2d 19,0x983030 19,0x983030 20,0x993333 17,0x952b2b 17,0x952b2b 17,0x952b2b 16,0x942828 16,0x942828 16,0x942828 16,0x942828 16,0x942828 17,0x952b2b 17,0x952b2b 19,0x983030 31,0xa74f4f 51,0xc18282 25,0xa03f3f 23,0x9d3a3a 20,0x993333 19,0x983030 17,0x952b2b 17,0x952b2b 17,0x952b2b 17,0x952b2b 17,0x952b2b 17,0x952b2b 17,0x952b2b 19,0x983030 21,0x9a3535 42,0xb56b6b 27,0xa24444 25,0xa03f3f 100,0xFFFFFF 68,0xd7adad 100,0xFFFFFF 58,0xca9393 100,0xFFFFFF 37,0xaf5e5e 30,0xa64c4c 28,0xa34747 26,0xa14242 25,0xa03f3f 25,0xa03f3f 25,0xa03f3f 24,0x9e3d3d 24,0x9e3d3d 24,0x9e3d3d 24,0x9e3d3d 24,0x9e3d3d 24,0x9e3d3d 25,0xa03f3f 25,0xa03f3f 25,0xa03f3f 26,0xa14242 28,0xa34747 31,0xa74f4f 42,0xb56b6b 54,0xc58989 56,0xc78e8e 100,0xFFFFFF 76,0xe1c1c1 64,0xd1a3a3 66,0xd4a8a8 68,0xd7adad 64,0xd1a3a3 58,0xca9393 59,0xcb9696 58,0xca9393 52,0xc28484 51,0xc18282 51,0xc18282 61,0xce9b9b 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 91,0xf4e8e8 79,0xe5c9c9 76,0xe1c1c1 75,0xe0bfbf 75,0xe0bfbf 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 92,0xf5eaea 94,0xf8efef 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 99,0xfefcfc 97,0xfcf7f7 96,0xfaf4f4 92,0xf5eaea 87,0xefdddd 85,0xecd8d8 84,0xebd6d6 86,0xeedbdb 97,0xfcf7f7 72,0xdcb7b7 65,0xd3a5a5 58,0xca9393 57,0xc89191 79,0xe5c9c9 49,0xbe7c7c 50,0xc07f7f 59,0xcb9696 100,0xFFFFFF 46,0xba7575 32,0xa85151 29,0xa54949 27,0xa24444 26,0xa14242 83,0xead3d3 59,0xcb9696 21,0x9a3535 18,0x972d2d 19,0x983030 13,0x902121 13,0x902121 11,0x8e1c1c 11,0x8e1c1c 10,0x8c1919 10,0x8c1919 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 9,0x8b1616 10,0x8c1919 13,0x902121 17,0x952b2b 34,0xab5656 100,0xFFFFFF 17,0x952b2b 9,0x8b1616 8,0x8a1414 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 10,0x8c1919 12,0x8f1e1e 19,0x983030 54,0xc58989 41,0xb46868 32,0xa85151 75,0xe0bfbf 18,0x972d2d 17,0x952b2b 15,0x932626 14,0x912323 13,0x902121 12,0x8f1e1e 11,0x8e1c1c 10,0x8c1919 9,0x8b1616 9,0x8b1616 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 7,0x881111 8,0x8a1414 13,0x902121 38,0xb06060 19,0x983030 87,0xefdddd 64,0xd1a3a3 100,0xFFFFFF 31,0xa74f4f 44,0xb87070 16,0x942828 12,0x8f1e1e 84,0xebd6d6 100,0xFFFFFF 13,0x902121 10,0x8c1919 9,0x8b1616 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 10,0x8c1919 11,0x8e1c1c 14,0x912323 22,0x9c3838 100,0xFFFFFF 34,0xab5656 36,0xae5b5b 38,0xb06060 100,0xFFFFFF 61,0xce9b9b 42,0xb56b6b 87,0xefdddd 91,0xf4e8e8 71,0xdab5b5 33,0xaa5454 28,0xa34747 26,0xa14242 25,0xa03f3f 24,0x9e3d3d 27,0xa24444 84,0xebd6d6 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 58,0xca9393 93,0xf7eded 50,0xc07f7f 33,0xaa5454 37,0xaf5e5e 67,0xd5aaaa 28,0xa34747 28,0xa34747 29,0xa54949 100,0xFFFFFF 74,0xdebcbc 84,0xebd6d6 71,0xdab5b5 62,0xcf9e9e 58,0xca9393 54,0xc58989 52,0xc28484 81,0xe7cece 100,0xFFFFFF 89,0xf1e2e2 93,0xf7eded 70,0xd9b2b2 71,0xdab5b5 77,0xe2c4c4 100,0xFFFFFF 89,0xf1e2e2 83,0xead3d3 76,0xe1c1c1 75,0xe0bfbf 78,0xe3c6c6 70,0xd9b2b2 100,0xFFFFFF 81,0xe7cece 92,0xf5eaea 79,0xe5c9c9 36,0xae5b5b 100,0xFFFFFF 37,0xaf5e5e 58,0xca9393 28,0xa34747 35,0xac5959 32,0xa85151 53,0xc38787 18,0x972d2d 15,0x932626 14,0x912323 13,0x902121 12,0x8f1e1e 11,0x8e1c1c 11,0x8e1c1c 10,0x8c1919 10,0x8c1919 10,0x8c1919 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 10,0x8c1919 10,0x8c1919 12,0x8f1e1e 13,0x902121 14,0x912323 15,0x932626 27,0xa24444 73,0xddbaba 42,0xb56b6b 67,0xd5aaaa 100,0xFFFFFF 93,0xf7eded 87,0xefdddd 60,0xcc9999 50,0xc07f7f 54,0xc58989 86,0xeedbdb 100,0xFFFFFF 33,0xaa5454 31,0xa74f4f 100,0xFFFFFF 32,0xa85151 24,0x9e3d3d 21,0x9a3535 21,0x9a3535 20,0x993333 19,0x983030 19,0x983030 20,0x993333 20,0x993333 30,0xa64c4c 32,0xa85151 21,0x9a3535 18,0x972d2d 18,0x972d2d 17,0x952b2b 17,0x952b2b 17,0x952b2b 17,0x952b2b 17,0x952b2b 17,0x952b2b 17,0x952b2b 18,0x972d2d 19,0x983030 40,0xb36666 100,0xFFFFFF 47,0xbc7777 100,0xFFFFFF 39,0xb16363 21,0x9a3535 18,0x972d2d 18,0x972d2d 17,0x952b2b 17,0x952b2b 17,0x952b2b 17,0x952b2b 18,0x972d2d 20,0x993333 76,0xe1c1c1 47,0xbc7777 40,0xb36666 32,0xa85151 38,0xb06060 56,0xc78e8e 47,0xbc7777 51,0xc18282 43,0xb76d6d 44,0xb87070 37,0xaf5e5e 32,0xa85151 27,0xa24444 26,0xa14242 25,0xa03f3f 25,0xa03f3f 25,0xa03f3f 24,0x9e3d3d 24,0x9e3d3d 24,0x9e3d3d 24,0x9e3d3d 25,0xa03f3f 25,0xa03f3f 25,0xa03f3f 25,0xa03f3f 27,0xa24444 59,0xcb9696 100,0xFFFFFF 38,0xb06060 100,0xFFFFFF 62,0xcf9e9e 74,0xdebcbc 78,0xe3c6c6 68,0xd7adad 67,0xd5aaaa 63,0xd0a0a0 59,0xcb9696 57,0xc89191 56,0xc78e8e 54,0xc58989 53,0xc38787 53,0xc38787 53,0xc38787 56,0xc78e8e 94,0xf8efef 91,0xf4e8e8 100,0xFFFFFF 98,0xfdf9f9 100,0xFFFFFF 86,0xeedbdb 76,0xe1c1c1 76,0xe1c1c1 79,0xe5c9c9 90,0xf3e5e5 100,0xFFFFFF 100,0xFFFFFF 99,0xfefcfc 97,0xfcf7f7 99,0xfefcfc 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 93,0xf7eded 86,0xeedbdb 83,0xead3d3 84,0xebd6d6 80,0xe6cccc 100,0xFFFFFF 65,0xd3a5a5 100,0xFFFFFF 87,0xefdddd 100,0xFFFFFF 47,0xbc7777 46,0xba7575 79,0xe5c9c9 43,0xb76d6d 49,0xbe7c7c 58,0xca9393 30,0xa64c4c 30,0xa64c4c 37,0xaf5e5e 62,0xcf9e9e 83,0xead3d3 35,0xac5959 41,0xb46868 20,0x993333 15,0x932626 14,0x912323 11,0x8e1c1c 11,0x8e1c1c 10,0x8c1919 10,0x8c1919 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 8,0x8a1414 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 10,0x8c1919 36,0xae5b5b 100,0xFFFFFF 66,0xd4a8a8 12,0x8f1e1e 13,0x902121 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 9,0x8b1616 12,0x8f1e1e 37,0xaf5e5e 17,0x952b2b 32,0xa85151 40,0xb36666 41,0xb46868 76,0xe1c1c1 22,0x9c3838 72,0xdcb7b7 16,0x942828 15,0x932626 14,0x912323 13,0x902121 12,0x8f1e1e 11,0x8e1c1c 10,0x8c1919 9,0x8b1616 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 10,0x8c1919 17,0x952b2b 34,0xab5656 16,0x942828 13,0x902121 13,0x902121 13,0x902121 16,0x942828 11,0x8e1c1c 9,0x8b1616 10,0x8c1919 19,0x983030 100,0xFFFFFF 66,0xd4a8a8 9,0x8b1616 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 10,0x8c1919 11,0x8e1c1c 12,0x8f1e1e 15,0x932626 19,0x983030 30,0xa64c4c 42,0xb56b6b 100,0xFFFFFF 56,0xc78e8e 62,0xcf9e9e 49,0xbe7c7c 47,0xbc7777 50,0xc07f7f 47,0xbc7777 100,0xFFFFFF 71,0xdab5b5 27,0xa24444 27,0xa24444 39,0xb16363 30,0xa64c4c 43,0xb76d6d 80,0xe6cccc 59,0xcb9696 53,0xc38787 58,0xca9393 100,0xFFFFFF 60,0xcc9999 42,0xb56b6b 41,0xb46868 100,0xFFFFFF 30,0xa64c4c 29,0xa54949 31,0xa74f4f 70,0xd9b2b2 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 70,0xd9b2b2 56,0xc78e8e 54,0xc58989 54,0xc58989 71,0xdab5b5 100,0xFFFFFF 88,0xf0e0e0 77,0xe2c4c4 74,0xdebcbc 100,0xFFFFFF 100,0xFFFFFF 88,0xf0e0e0 87,0xefdddd 84,0xebd6d6 100,0xFFFFFF 100,0xFFFFFF 71,0xdab5b5 66,0xd4a8a8 63,0xd0a0a0 65,0xd3a5a5 100,0xFFFFFF 65,0xd3a5a5 35,0xac5959 32,0xa85151 40,0xb36666 27,0xa24444 23,0x9d3a3a 23,0x9d3a3a 24,0x9e3d3d 33,0xaa5454 20,0x993333 17,0x952b2b 17,0x952b2b 15,0x932626 12,0x8f1e1e 11,0x8e1c1c 10,0x8c1919 10,0x8c1919 10,0x8c1919 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 10,0x8c1919 11,0x8e1c1c 12,0x8f1e1e 12,0x8f1e1e 13,0x902121 15,0x932626 20,0x993333 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 76,0xe1c1c1 89,0xf1e2e2 43,0xb76d6d 43,0xb76d6d 77,0xe2c4c4 32,0xa85151 29,0xa54949 28,0xa34747 26,0xa14242 24,0x9e3d3d 23,0x9d3a3a 22,0x9c3838 22,0x9c3838 22,0x9c3838 21,0x9a3535 21,0x9a3535 22,0x9c3838 72,0xdcb7b7 48,0xbd7a7a 30,0xa64c4c 19,0x983030 18,0x972d2d 18,0x972d2d 17,0x952b2b 17,0x952b2b 17,0x952b2b 17,0x952b2b 17,0x952b2b 18,0x972d2d 18,0x972d2d 20,0x993333 23,0x9d3a3a 37,0xaf5e5e 61,0xce9b9b 44,0xb87070 68,0xd7adad 31,0xa74f4f 19,0x983030 18,0x972d2d 18,0x972d2d 18,0x972d2d 18,0x972d2d 18,0x972d2d 25,0xa03f3f 66,0xd4a8a8 49,0xbe7c7c 53,0xc38787 41,0xb46868 84,0xebd6d6 52,0xc28484 47,0xbc7777 45,0xb97272 43,0xb76d6d 38,0xb06060 37,0xaf5e5e 57,0xc89191 30,0xa64c4c 28,0xa34747 27,0xa24444 26,0xa14242 26,0xa14242 26,0xa14242 26,0xa14242 27,0xa24444 26,0xa14242 25,0xa03f3f 25,0xa03f3f 25,0xa03f3f 26,0xa14242 26,0xa14242 27,0xa24444 30,0xa64c4c 66,0xd4a8a8 53,0xc38787 66,0xd4a8a8 84,0xebd6d6 100,0xFFFFFF 100,0xFFFFFF 80,0xe6cccc 100,0xFFFFFF 93,0xf7eded 59,0xcb9696 57,0xc89191 55,0xc68c8c 54,0xc58989 53,0xc38787 53,0xc38787 53,0xc38787 56,0xc78e8e 100,0xFFFFFF 100,0xFFFFFF 86,0xeedbdb 84,0xebd6d6 100,0xFFFFFF 75,0xe0bfbf 75,0xe0bfbf 76,0xe1c1c1 78,0xe3c6c6 81,0xe7cece 89,0xf1e2e2 93,0xf7eded 97,0xfcf7f7 99,0xfefcfc 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 97,0xfcf7f7 100,0xFFFFFF 100,0xFFFFFF 79,0xe5c9c9 75,0xe0bfbf 73,0xddbaba 69,0xd8afaf 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 52,0xc28484 43,0xb76d6d 41,0xb46868 41,0xb46868 43,0xb76d6d 37,0xaf5e5e 33,0xaa5454 40,0xb36666 46,0xba7575 49,0xbe7c7c 81,0xe7cece 100,0xFFFFFF 56,0xc78e8e 50,0xc07f7f 29,0xa54949 21,0x9a3535 12,0x8f1e1e 11,0x8e1c1c 10,0x8c1919 10,0x8c1919 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 8,0x8a1414 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 9,0x8b1616 50,0xc07f7f 18,0x972d2d 10,0x8c1919 9,0x8b1616 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 9,0x8b1616 100,0xFFFFFF 16,0x942828 31,0xa74f4f 100,0xFFFFFF 66,0xd4a8a8 50,0xc07f7f 54,0xc58989 32,0xa85151 76,0xe1c1c1 19,0x983030 19,0x983030 19,0x983030 18,0x972d2d 52,0xc28484 16,0x942828 13,0x902121 10,0x8c1919 9,0x8b1616 7,0x881111 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 8,0x8a1414 30,0xa64c4c 60,0xcc9999 38,0xb06060 12,0x8f1e1e 9,0x8b1616 9,0x8b1616 9,0x8b1616 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 12,0x8f1e1e 10,0x8c1919 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 11,0x8e1c1c 15,0x932626 16,0x942828 18,0x972d2d 34,0xab5656 51,0xc18282 98,0xfdf9f9 64,0xd1a3a3 100,0xFFFFFF 63,0xd0a0a0 100,0xFFFFFF 41,0xb46868 38,0xb06060 47,0xbc7777 48,0xbd7a7a 29,0xa54949 29,0xa54949 41,0xb46868 37,0xaf5e5e 37,0xaf5e5e 100,0xFFFFFF 50,0xc07f7f 46,0xba7575 49,0xbe7c7c 44,0xb87070 38,0xb06060 37,0xaf5e5e 100,0xFFFFFF 34,0xab5656 31,0xa74f4f 30,0xa64c4c 33,0xaa5454 55,0xc68c8c 80,0xe6cccc 100,0xFFFFFF 77,0xe2c4c4 87,0xefdddd 57,0xc89191 55,0xc68c8c 56,0xc78e8e 83,0xead3d3 74,0xdebcbc 76,0xe1c1c1 77,0xe2c4c4 83,0xead3d3 100,0xFFFFFF 100,0xFFFFFF 92,0xf5eaea 97,0xfcf7f7 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 94,0xf8efef 76,0xe1c1c1 80,0xe6cccc 62,0xcf9e9e 100,0xFFFFFF 46,0xba7575 39,0xb16363 30,0xa64c4c 27,0xa24444 26,0xa14242 21,0x9a3535 21,0x9a3535 25,0xa03f3f 36,0xae5b5b 21,0x9a3535 21,0x9a3535 83,0xead3d3 26,0xa14242 13,0x902121 11,0x8e1c1c 10,0x8c1919 10,0x8c1919 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 10,0x8c1919 10,0x8c1919 11,0x8e1c1c 11,0x8e1c1c 12,0x8f1e1e 14,0x912323 35,0xac5959 57,0xc89191 51,0xc18282 95,0xf9f2f2 100,0xFFFFFF 75,0xe0bfbf 89,0xf1e2e2 58,0xca9393 40,0xb36666 40,0xb36666 91,0xf4e8e8 32,0xa85151 29,0xa54949 28,0xa34747 27,0xa24444 26,0xa14242 40,0xb36666 33,0xaa5454 55,0xc68c8c 27,0xa24444 23,0x9d3a3a 23,0x9d3a3a 24,0x9e3d3d 27,0xa24444 40,0xb36666 31,0xa74f4f 21,0x9a3535 19,0x983030 18,0x972d2d 18,0x972d2d 18,0x972d2d 18,0x972d2d 18,0x972d2d 18,0x972d2d 19,0x983030 19,0x983030 20,0x993333 22,0x9c3838 24,0x9e3d3d 26,0xa14242 32,0xa85151 89,0xf1e2e2 31,0xa74f4f 21,0x9a3535 19,0x983030 19,0x983030 19,0x983030 19,0x983030 19,0x983030 21,0x9a3535 39,0xb16363 34,0xab5656 53,0xc38787 87,0xefdddd 62,0xcf9e9e 97,0xfcf7f7 54,0xc58989 81,0xe7cece 43,0xb76d6d 38,0xb06060 35,0xac5959 32,0xa85151 30,0xa64c4c 28,0xa34747 27,0xa24444 27,0xa24444 27,0xa24444 28,0xa34747 100,0xFFFFFF 85,0xecd8d8 27,0xa24444 26,0xa14242 26,0xa14242 26,0xa14242 26,0xa14242 27,0xa24444 27,0xa24444 29,0xa54949 47,0xbc7777 55,0xc68c8c 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 89,0xf1e2e2 92,0xf5eaea 80,0xe6cccc 84,0xebd6d6 58,0xca9393 55,0xc68c8c 54,0xc58989 54,0xc58989 54,0xc58989 54,0xc58989 56,0xc78e8e 59,0xcb9696 95,0xf9f2f2 81,0xe7cece 85,0xecd8d8 69,0xd8afaf 72,0xdcb7b7 76,0xe1c1c1 77,0xe2c4c4 78,0xe3c6c6 100,0xFFFFFF 90,0xf3e5e5 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 73,0xddbaba 72,0xdcb7b7 76,0xe1c1c1 100,0xFFFFFF 100,0xFFFFFF 74,0xdebcbc 44,0xb87070 41,0xb46868 39,0xb16363 38,0xb06060 37,0xaf5e5e 39,0xb16363 100,0xFFFFFF 68,0xd7adad 100,0xFFFFFF 81,0xe7cece 100,0xFFFFFF 100,0xFFFFFF 59,0xcb9696 40,0xb36666 18,0x972d2d 13,0x902121 12,0x8f1e1e 11,0x8e1c1c 10,0x8c1919 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 8,0x8a1414 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 14,0x912323 14,0x912323 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 9,0x8b1616 11,0x8e1c1c 16,0x942828 56,0xc78e8e 100,0xFFFFFF 67,0xd5aaaa 38,0xb06060 30,0xa64c4c 28,0xa34747 100,0xFFFFFF 36,0xae5b5b 23,0x9d3a3a 66,0xd4a8a8 47,0xbc7777 35,0xac5959 100,0xFFFFFF 16,0x942828 11,0x8e1c1c 7,0x881111 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 7,0x881111 10,0x8c1919 16,0x942828 88,0xf0e0e0 55,0xc68c8c 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 9,0x8b1616 21,0x9a3535 100,0xFFFFFF 100,0xFFFFFF 21,0x9a3535 30,0xa64c4c 74,0xdebcbc 100,0xFFFFFF 95,0xf9f2f2 100,0xFFFFFF 69,0xd8afaf 80,0xe6cccc 44,0xb87070 37,0xaf5e5e 35,0xac5959 33,0xaa5454 32,0xa85151 100,0xFFFFFF 58,0xca9393 42,0xb56b6b 50,0xc07f7f 44,0xb87070 45,0xb97272 44,0xb87070 44,0xb87070 45,0xb97272 37,0xaf5e5e 36,0xae5b5b 34,0xab5656 33,0xaa5454 32,0xa85151 32,0xa85151 33,0xaa5454 36,0xae5b5b 45,0xb97272 66,0xd4a8a8 60,0xcc9999 100,0xFFFFFF 52,0xc28484 55,0xc68c8c 56,0xc78e8e 62,0xcf9e9e 69,0xd8afaf 80,0xe6cccc 79,0xe5c9c9 100,0xFFFFFF 96,0xfaf4f4 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 96,0xfaf4f4 89,0xf1e2e2 97,0xfcf7f7 100,0xFFFFFF 57,0xc89191 53,0xc38787 48,0xbd7a7a 100,0xFFFFFF 77,0xe2c4c4 25,0xa03f3f 22,0x9c3838 20,0x993333 19,0x983030 30,0xa64c4c 32,0xa85151 29,0xa54949 43,0xb76d6d 45,0xb97272 24,0x9e3d3d 14,0x912323 11,0x8e1c1c 10,0x8c1919 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 10,0x8c1919 10,0x8c1919 11,0x8e1c1c 11,0x8e1c1c 13,0x902121 15,0x932626 17,0x952b2b 28,0xa34747 100,0xFFFFFF 100,0xFFFFFF 51,0xc18282 90,0xf3e5e5 82,0xe8d1d1 39,0xb16363 37,0xaf5e5e 35,0xac5959 33,0xaa5454 31,0xa74f4f 44,0xb87070 30,0xa64c4c 39,0xb16363 69,0xd8afaf 91,0xf4e8e8 55,0xc68c8c 94,0xf8efef 94,0xf8efef 100,0xFFFFFF 73,0xddbaba 29,0xa54949 73,0xddbaba 100,0xFFFFFF 21,0x9a3535 20,0x993333 19,0x983030 19,0x983030 19,0x983030 19,0x983030 24,0x9e3d3d 20,0x993333 20,0x993333 21,0x9a3535 21,0x9a3535 23,0x9d3a3a 25,0xa03f3f 27,0xa24444 29,0xa54949 75,0xe0bfbf 79,0xe5c9c9 22,0x9c3838 20,0x993333 19,0x983030 19,0x983030 19,0x983030 20,0x993333 23,0x9d3a3a 100,0xFFFFFF 91,0xf4e8e8 100,0xFFFFFF 100,0xFFFFFF 83,0xead3d3 100,0xFFFFFF 66,0xd4a8a8 100,0xFFFFFF 64,0xd1a3a3 86,0xeedbdb 40,0xb36666 70,0xd9b2b2 35,0xac5959 31,0xa74f4f 31,0xa74f4f 28,0xa34747 28,0xa34747 33,0xaa5454 83,0xead3d3 46,0xba7575 30,0xa64c4c 28,0xa34747 27,0xa24444 27,0xa24444 27,0xa24444 27,0xa24444 28,0xa34747 37,0xaf5e5e 41,0xb46868 51,0xc18282 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 79,0xe5c9c9 100,0xFFFFFF 65,0xd3a5a5 61,0xce9b9b 56,0xc78e8e 54,0xc58989 54,0xc58989 54,0xc58989 54,0xc58989 55,0xc68c8c 57,0xc89191 59,0xcb9696 62,0xcf9e9e 65,0xd3a5a5 68,0xd7adad 100,0xFFFFFF 100,0xFFFFFF 79,0xe5c9c9 79,0xe5c9c9 83,0xead3d3 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 86,0xeedbdb 94,0xf8efef 100,0xFFFFFF 71,0xdab5b5 75,0xe0bfbf 100,0xFFFFFF 62,0xcf9e9e 56,0xc78e8e 53,0xc38787 42,0xb56b6b 39,0xb16363 38,0xb06060 37,0xaf5e5e 42,0xb56b6b 100,0xFFFFFF 53,0xc38787 63,0xd0a0a0 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 91,0xf4e8e8 43,0xb76d6d 44,0xb87070 16,0x942828 41,0xb46868 11,0x8e1c1c 10,0x8c1919 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 9,0x8b1616 12,0x8f1e1e 76,0xe1c1c1 31,0xa74f4f 95,0xf9f2f2 35,0xac5959 60,0xcc9999 93,0xf7eded 46,0xba7575 39,0xb16363 30,0xa64c4c 59,0xcb9696 100,0xFFFFFF 100,0xFFFFFF 44,0xb87070 16,0x942828 10,0x8c1919 8,0x8a1414 7,0x881111 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 6,0x870f0f 7,0x881111 70,0xd9b2b2 13,0x902121 10,0x8c1919 9,0x8b1616 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 10,0x8c1919 17,0x952b2b 20,0x993333 73,0xddbaba 40,0xb36666 100,0xFFFFFF 43,0xb76d6d 76,0xe1c1c1 100,0xFFFFFF 100,0xFFFFFF 74,0xdebcbc 57,0xc89191 95,0xf9f2f2 37,0xaf5e5e 35,0xac5959 34,0xab5656 74,0xdebcbc 100,0xFFFFFF 80,0xe6cccc 84,0xebd6d6 49,0xbe7c7c 46,0xba7575 46,0xba7575 45,0xb97272 42,0xb56b6b 39,0xb16363 37,0xaf5e5e 35,0xac5959 34,0xab5656 33,0xaa5454 32,0xa85151 32,0xa85151 33,0xaa5454 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 46,0xba7575 47,0xbc7777 64,0xd1a3a3 71,0xdab5b5 58,0xca9393 60,0xcc9999 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 89,0xf1e2e2 84,0xebd6d6 100,0xFFFFFF 81,0xe7cece 53,0xc38787 51,0xc18282 61,0xce9b9b 74,0xdebcbc 38,0xb06060 23,0x9d3a3a 19,0x983030 18,0x972d2d 17,0x952b2b 31,0xa74f4f 72,0xdcb7b7 24,0x9e3d3d 24,0x9e3d3d 14,0x912323 13,0x902121 10,0x8c1919 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 10,0x8c1919 10,0x8c1919 11,0x8e1c1c 11,0x8e1c1c 12,0x8f1e1e 13,0x902121 15,0x932626 17,0x952b2b 35,0xac5959 65,0xd3a5a5 37,0xaf5e5e 56,0xc78e8e 36,0xae5b5b 37,0xaf5e5e 38,0xb06060 40,0xb36666 55,0xc68c8c 81,0xe7cece 76,0xe1c1c1 36,0xae5b5b 55,0xc68c8c 91,0xf4e8e8 100,0xFFFFFF 100,0xFFFFFF 49,0xbe7c7c 76,0xe1c1c1 40,0xb36666 34,0xab5656 38,0xb06060 92,0xf5eaea 47,0xbc7777 22,0x9c3838 20,0x993333 20,0x993333 20,0x993333 20,0x993333 22,0x9c3838 30,0xa64c4c 23,0x9d3a3a 23,0x9d3a3a 38,0xb06060 34,0xab5656 48,0xbd7a7a 61,0xce9b9b 73,0xddbaba 32,0xa85151 69,0xd8afaf 59,0xcb9696 23,0x9d3a3a 21,0x9a3535 20,0x993333 20,0x993333 20,0x993333 23,0x9d3a3a 42,0xb56b6b 35,0xac5959 84,0xebd6d6 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 84,0xebd6d6 70,0xd9b2b2 72,0xdcb7b7 58,0xca9393 48,0xbd7a7a 64,0xd1a3a3 100,0xFFFFFF 100,0xFFFFFF 45,0xb97272 33,0xaa5454 31,0xa74f4f 30,0xa64c4c 32,0xa85151 61,0xce9b9b 94,0xf8efef 38,0xb06060 30,0xa64c4c 28,0xa34747 28,0xa34747 27,0xa24444 28,0xa34747 29,0xa54949 31,0xa74f4f 77,0xe2c4c4 63,0xd0a0a0 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 77,0xe2c4c4 77,0xe2c4c4 100,0xFFFFFF 100,0xFFFFFF 75,0xe0bfbf 54,0xc58989 53,0xc38787 54,0xc58989 54,0xc58989 55,0xc68c8c 56,0xc78e8e 59,0xcb9696 100,0xFFFFFF 72,0xdcb7b7 69,0xd8afaf 74,0xdebcbc 88,0xf0e0e0 82,0xe8d1d1 82,0xe8d1d1 84,0xebd6d6 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 99,0xfefcfc 96,0xfaf4f4 91,0xf4e8e8 100,0xFFFFFF 100,0xFFFFFF 68,0xd7adad 68,0xd7adad 66,0xd4a8a8 58,0xca9393 51,0xc18282 47,0xbc7777 43,0xb76d6d 40,0xb36666 38,0xb06060 38,0xb06060 39,0xb16363 42,0xb56b6b 70,0xd9b2b2 100,0xFFFFFF 77,0xe2c4c4 100,0xFFFFFF 74,0xdebcbc 52,0xc28484 29,0xa54949 22,0x9c3838 25,0xa03f3f 72,0xdcb7b7 12,0x8f1e1e 10,0x8c1919 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 9,0x8b1616 10,0x8c1919 12,0x8f1e1e 15,0x932626 39,0xb16363 100,0xFFFFFF 88,0xf0e0e0 100,0xFFFFFF 100,0xFFFFFF 37,0xaf5e5e 34,0xab5656 100,0xFFFFFF 72,0xdcb7b7 91,0xf4e8e8 100,0xFFFFFF 56,0xc78e8e 12,0x8f1e1e 9,0x8b1616 7,0x881111 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 6,0x870f0f 8,0x8a1414 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 8,0x8a1414 10,0x8c1919 11,0x8e1c1c 11,0x8e1c1c 15,0x932626 71,0xdab5b5 34,0xab5656 60,0xcc9999 87,0xefdddd 100,0xFFFFFF 100,0xFFFFFF 61,0xce9b9b 100,0xFFFFFF 35,0xac5959 34,0xab5656 36,0xae5b5b 46,0xba7575 73,0xddbaba 72,0xdcb7b7 58,0xca9393 51,0xc18282 52,0xc28484 50,0xc07f7f 59,0xcb9696 76,0xe1c1c1 100,0xFFFFFF 39,0xb16363 36,0xae5b5b 34,0xab5656 34,0xab5656 33,0xaa5454 33,0xaa5454 33,0xaa5454 35,0xac5959 36,0xae5b5b 38,0xb06060 44,0xb87070 47,0xbc7777 51,0xc18282 65,0xd3a5a5 65,0xd3a5a5 62,0xcf9e9e 100,0xFFFFFF 100,0xFFFFFF 89,0xf1e2e2 93,0xf7eded 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 80,0xe6cccc 74,0xdebcbc 100,0xFFFFFF 100,0xFFFFFF 48,0xbd7a7a 84,0xebd6d6 74,0xdebcbc 33,0xaa5454 100,0xFFFFFF 19,0x983030 17,0x952b2b 16,0x942828 15,0x932626 14,0x912323 14,0x912323 12,0x8f1e1e 11,0x8e1c1c 11,0x8e1c1c 10,0x8c1919 9,0x8b1616 9,0x8b1616 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 10,0x8c1919 10,0x8c1919 11,0x8e1c1c 12,0x8f1e1e 13,0x902121 14,0x912323 15,0x932626 18,0x972d2d 21,0x9a3535 26,0xa14242 30,0xa64c4c 71,0xdab5b5 39,0xb16363 40,0xb36666 89,0xf1e2e2 100,0xFFFFFF 64,0xd1a3a3 43,0xb76d6d 41,0xb46868 100,0xFFFFFF 84,0xebd6d6 100,0xFFFFFF 68,0xd7adad 41,0xb46868 79,0xe5c9c9 31,0xa74f4f 30,0xa64c4c 46,0xba7575 29,0xa54949 24,0x9e3d3d 22,0x9c3838 21,0x9a3535 21,0x9a3535 22,0x9c3838 30,0xa64c4c 100,0xFFFFFF 31,0xa74f4f 27,0xa24444 100,0xFFFFFF 73,0xddbaba 51,0xc18282 42,0xb56b6b 33,0xaa5454 100,0xFFFFFF 40,0xb36666 84,0xebd6d6 82,0xe8d1d1 22,0x9c3838 21,0x9a3535 21,0x9a3535 21,0x9a3535 21,0x9a3535 23,0x9d3a3a 100,0xFFFFFF 52,0xc28484 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 88,0xf0e0e0 89,0xf1e2e2 59,0xcb9696 56,0xc78e8e 62,0xcf9e9e 78,0xe3c6c6 100,0xFFFFFF 89,0xf1e2e2 71,0xdab5b5 100,0xFFFFFF 61,0xce9b9b 45,0xb97272 35,0xac5959 36,0xae5b5b 57,0xc89191 100,0xFFFFFF 36,0xae5b5b 29,0xa54949 28,0xa34747 28,0xa34747 29,0xa54949 29,0xa54949 31,0xa74f4f 34,0xab5656 41,0xb46868 61,0xce9b9b 100,0xFFFFFF 90,0xf3e5e5 87,0xefdddd 100,0xFFFFFF 72,0xdcb7b7 80,0xe6cccc 100,0xFFFFFF 100,0xFFFFFF 59,0xcb9696 53,0xc38787 53,0xc38787 54,0xc58989 55,0xc68c8c 55,0xc68c8c 56,0xc78e8e 64,0xd1a3a3 64,0xd1a3a3 100,0xFFFFFF 100,0xFFFFFF 97,0xfcf7f7 100,0xFFFFFF 96,0xfaf4f4 86,0xeedbdb 86,0xeedbdb 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 96,0xfaf4f4 94,0xf8efef 100,0xFFFFFF 100,0xFFFFFF 68,0xd7adad 63,0xd0a0a0 62,0xcf9e9e 60,0xcc9999 54,0xc58989 58,0xca9393 76,0xe1c1c1 100,0xFFFFFF 37,0xaf5e5e 37,0xaf5e5e 39,0xb16363 41,0xb46868 44,0xb87070 53,0xc38787 67,0xd5aaaa 61,0xce9b9b 54,0xc58989 44,0xb87070 37,0xaf5e5e 19,0x983030 16,0x942828 13,0x902121 11,0x8e1c1c 10,0x8c1919 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 10,0x8c1919 14,0x912323 16,0x942828 20,0x993333 42,0xb56b6b 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 72,0xdcb7b7 49,0xbe7c7c 56,0xc78e8e 50,0xc07f7f 76,0xe1c1c1 18,0x972d2d 17,0x952b2b 64,0xd1a3a3 8,0x8a1414 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 8,0x8a1414 9,0x8b1616 9,0x8b1616 11,0x8e1c1c 39,0xb16363 100,0xFFFFFF 30,0xa64c4c 40,0xb36666 94,0xf8efef 45,0xb97272 36,0xae5b5b 31,0xa74f4f 31,0xa74f4f 35,0xac5959 36,0xae5b5b 100,0xFFFFFF 48,0xbd7a7a 56,0xc78e8e 57,0xc89191 100,0xFFFFFF 100,0xFFFFFF 58,0xca9393 89,0xf1e2e2 100,0xFFFFFF 83,0xead3d3 51,0xc18282 38,0xb06060 35,0xac5959 34,0xab5656 33,0xaa5454 33,0xaa5454 33,0xaa5454 34,0xab5656 35,0xac5959 39,0xb16363 47,0xbc7777 53,0xc38787 56,0xc78e8e 85,0xecd8d8 71,0xdab5b5 66,0xd4a8a8 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 93,0xf7eded 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 97,0xfcf7f7 100,0xFFFFFF 73,0xddbaba 76,0xe1c1c1 88,0xf0e0e0 44,0xb87070 42,0xb56b6b 46,0xba7575 30,0xa64c4c 42,0xb56b6b 100,0xFFFFFF 18,0x972d2d 15,0x932626 13,0x902121 13,0x902121 12,0x8f1e1e 11,0x8e1c1c 11,0x8e1c1c 10,0x8c1919 9,0x8b1616 9,0x8b1616 9,0x8b1616 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 10,0x8c1919 10,0x8c1919 11,0x8e1c1c 12,0x8f1e1e 13,0x902121 14,0x912323 15,0x932626 17,0x952b2b 20,0x993333 30,0xa64c4c 40,0xb36666 100,0xFFFFFF 41,0xb46868 52,0xc28484 53,0xc38787 100,0xFFFFFF 66,0xd4a8a8 53,0xc38787 47,0xbc7777 98,0xfdf9f9 63,0xd0a0a0 56,0xc78e8e 73,0xddbaba 58,0xca9393 32,0xa85151 29,0xa54949 28,0xa34747 27,0xa24444 26,0xa14242 24,0x9e3d3d 23,0x9d3a3a 23,0x9d3a3a 27,0xa24444 33,0xaa5454 42,0xb56b6b 51,0xc18282 42,0xb56b6b 40,0xb36666 72,0xdcb7b7 64,0xd1a3a3 40,0xb36666 100,0xFFFFFF 30,0xa64c4c 30,0xa64c4c 33,0xaa5454 29,0xa54949 24,0x9e3d3d 23,0x9d3a3a 22,0x9c3838 22,0x9c3838 21,0x9a3535 22,0x9c3838 26,0xa14242 29,0xa54949 77,0xe2c4c4 65,0xd3a5a5 95,0xf9f2f2 100,0xFFFFFF 100,0xFFFFFF 79,0xe5c9c9 71,0xdab5b5 91,0xf4e8e8 56,0xc78e8e 57,0xc89191 63,0xd0a0a0 100,0xFFFFFF 100,0xFFFFFF 54,0xc58989 73,0xddbaba 51,0xc18282 55,0xc68c8c 52,0xc28484 40,0xb36666 44,0xb87070 100,0xFFFFFF 32,0xa85151 30,0xa64c4c 29,0xa54949 29,0xa54949 29,0xa54949 29,0xa54949 31,0xa74f4f 57,0xc89191 47,0xbc7777 68,0xd7adad 67,0xd5aaaa 81,0xe7cece 100,0xFFFFFF 66,0xd4a8a8 67,0xd5aaaa 100,0xFFFFFF 100,0xFFFFFF 86,0xeedbdb 52,0xc28484 51,0xc18282 52,0xc28484 54,0xc58989 55,0xc68c8c 55,0xc68c8c 57,0xc89191 58,0xca9393 60,0xcc9999 100,0xFFFFFF 90,0xf3e5e5 100,0xFFFFFF 98,0xfdf9f9 91,0xf4e8e8 88,0xf0e0e0 88,0xf0e0e0 94,0xf8efef 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 90,0xf3e5e5 100,0xFFFFFF 78,0xe3c6c6 85,0xecd8d8 63,0xd0a0a0 61,0xce9b9b 59,0xcb9696 93,0xf7eded 83,0xead3d3 89,0xf1e2e2 100,0xFFFFFF 36,0xae5b5b 36,0xae5b5b 48,0xbd7a7a 43,0xb76d6d 59,0xcb9696 51,0xc18282 48,0xbd7a7a 68,0xd7adad 100,0xFFFFFF 39,0xb16363 49,0xbe7c7c 32,0xa85151 15,0x932626 13,0x902121 11,0x8e1c1c 10,0x8c1919 10,0x8c1919 9,0x8b1616 9,0x8b1616 9,0x8b1616 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 23,0x9d3a3a 27,0xa24444 24,0x9e3d3d 29,0xa54949 40,0xb36666 51,0xc18282 92,0xf5eaea 100,0xFFFFFF 100,0xFFFFFF 31,0xa74f4f 78,0xe3c6c6 26,0xa14242 37,0xaf5e5e 100,0xFFFFFF 13,0x902121 14,0x912323 10,0x8c1919 7,0x881111 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 9,0x8b1616 12,0x8f1e1e 12,0x8f1e1e 88,0xf0e0e0 29,0xa54949 26,0xa14242 50,0xc07f7f 25,0xa03f3f 26,0xa14242 35,0xac5959 40,0xb36666 39,0xb16363 46,0xba7575 100,0xFFFFFF 60,0xcc9999 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 67,0xd5aaaa 68,0xd7adad 100,0xFFFFFF 50,0xc07f7f 45,0xb97272 100,0xFFFFFF 57,0xc89191 39,0xb16363 32,0xa85151 32,0xa85151 33,0xaa5454 34,0xab5656 35,0xac5959 37,0xaf5e5e 40,0xb36666 100,0xFFFFFF 89,0xf1e2e2 100,0xFFFFFF 88,0xf0e0e0 67,0xd5aaaa 68,0xd7adad 100,0xFFFFFF 94,0xf8efef 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 81,0xe7cece 66,0xd4a8a8 54,0xc58989 53,0xc38787 40,0xb36666 38,0xb06060 79,0xe5c9c9 54,0xc58989 49,0xbe7c7c 35,0xac5959 16,0x942828 13,0x902121 12,0x8f1e1e 11,0x8e1c1c 11,0x8e1c1c 10,0x8c1919 10,0x8c1919 9,0x8b1616 9,0x8b1616 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 10,0x8c1919 10,0x8c1919 11,0x8e1c1c 12,0x8f1e1e 15,0x932626 18,0x972d2d 17,0x952b2b 18,0x972d2d 19,0x983030 22,0x9c3838 100,0xFFFFFF 53,0xc38787 48,0xbd7a7a 100,0xFFFFFF 67,0xd5aaaa 60,0xcc9999 56,0xc78e8e 51,0xc18282 49,0xbe7c7c 48,0xbd7a7a 49,0xbe7c7c 55,0xc68c8c 76,0xe1c1c1 54,0xc58989 32,0xa85151 29,0xa54949 27,0xa24444 27,0xa24444 25,0xa03f3f 25,0xa03f3f 24,0x9e3d3d 25,0xa03f3f 36,0xae5b5b 46,0xba7575 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 50,0xc07f7f 48,0xbd7a7a 64,0xd1a3a3 100,0xFFFFFF 30,0xa64c4c 29,0xa54949 27,0xa24444 26,0xa14242 25,0xa03f3f 24,0x9e3d3d 23,0x9d3a3a 23,0x9d3a3a 22,0x9c3838 23,0x9d3a3a 24,0x9e3d3d 30,0xa64c4c 37,0xaf5e5e 53,0xc38787 92,0xf5eaea 79,0xe5c9c9 100,0xFFFFFF 76,0xe1c1c1 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 54,0xc58989 57,0xc89191 61,0xce9b9b 70,0xd9b2b2 70,0xd9b2b2 47,0xbc7777 49,0xbe7c7c 40,0xb36666 40,0xb36666 92,0xf5eaea 45,0xb97272 100,0xFFFFFF 100,0xFFFFFF 41,0xb46868 30,0xa64c4c 30,0xa64c4c 29,0xa54949 29,0xa54949 30,0xa64c4c 31,0xa74f4f 33,0xaa5454 75,0xe0bfbf 100,0xFFFFFF 49,0xbe7c7c 48,0xbd7a7a 100,0xFFFFFF 65,0xd3a5a5 59,0xcb9696 56,0xc78e8e 72,0xdcb7b7 51,0xc18282 49,0xbe7c7c 50,0xc07f7f 57,0xc89191 64,0xd1a3a3 56,0xc78e8e 57,0xc89191 57,0xc89191 58,0xca9393 60,0xcc9999 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 98,0xfdf9f9 88,0xf0e0e0 88,0xf0e0e0 90,0xf3e5e5 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 86,0xeedbdb 84,0xebd6d6 76,0xe1c1c1 72,0xdcb7b7 67,0xd5aaaa 60,0xcc9999 60,0xcc9999 64,0xd1a3a3 100,0xFFFFFF 100,0xFFFFFF 93,0xf7eded 33,0xaa5454 33,0xaa5454 70,0xd9b2b2 100,0xFFFFFF 69,0xd8afaf 97,0xfcf7f7 99,0xfefcfc 100,0xFFFFFF 35,0xac5959 43,0xb76d6d 75,0xe0bfbf 100,0xFFFFFF 28,0xa34747 13,0x902121 11,0x8e1c1c 11,0x8e1c1c 10,0x8c1919 10,0x8c1919 9,0x8b1616 9,0x8b1616 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 8,0x8a1414 12,0x8f1e1e 58,0xca9393 12,0x8f1e1e 32,0xa85151 15,0x932626 25,0xa03f3f 19,0x983030 16,0x942828 14,0x912323 14,0x912323 15,0x932626 20,0x993333 100,0xFFFFFF 95,0xf9f2f2 12,0x8f1e1e 8,0x8a1414 7,0x881111 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 10,0x8c1919 11,0x8e1c1c 12,0x8f1e1e 16,0x942828 16,0x942828 19,0x983030 37,0xaf5e5e 39,0xb16363 67,0xd5aaaa 46,0xba7575 85,0xecd8d8 81,0xe7cece 68,0xd7adad 100,0xFFFFFF 80,0xe6cccc 100,0xFFFFFF 73,0xddbaba 100,0xFFFFFF 59,0xcb9696 58,0xca9393 65,0xd3a5a5 66,0xd4a8a8 79,0xe5c9c9 35,0xac5959 32,0xa85151 32,0xa85151 33,0xaa5454 34,0xab5656 35,0xac5959 36,0xae5b5b 38,0xb06060 45,0xb97272 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 64,0xd1a3a3 69,0xd8afaf 72,0xdcb7b7 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 89,0xf1e2e2 82,0xe8d1d1 67,0xd5aaaa 61,0xce9b9b 90,0xf3e5e5 79,0xe5c9c9 39,0xb16363 39,0xb16363 47,0xbc7777 65,0xd3a5a5 100,0xFFFFFF 66,0xd4a8a8 78,0xe3c6c6 13,0x902121 12,0x8f1e1e 11,0x8e1c1c 10,0x8c1919 10,0x8c1919 9,0x8b1616 9,0x8b1616 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 9,0x8b1616 10,0x8c1919 10,0x8c1919 11,0x8e1c1c 15,0x932626 65,0xd3a5a5 38,0xb06060 48,0xbd7a7a 20,0x993333 20,0x993333 30,0xa64c4c 36,0xae5b5b 47,0xbc7777 54,0xc58989 73,0xddbaba 71,0xdab5b5 71,0xdab5b5 100,0xFFFFFF 100,0xFFFFFF 60,0xcc9999 48,0xbd7a7a 45,0xb97272 100,0xFFFFFF 42,0xb56b6b 47,0xbc7777 36,0xae5b5b 34,0xab5656 28,0xa34747 27,0xa24444 26,0xa14242 26,0xa14242 26,0xa14242 30,0xa64c4c 36,0xae5b5b 68,0xd7adad 100,0xFFFFFF 100,0xFFFFFF 75,0xe0bfbf 100,0xFFFFFF 46,0xba7575 39,0xb16363 68,0xd7adad 33,0xaa5454 28,0xa34747 27,0xa24444 26,0xa14242 25,0xa03f3f 24,0x9e3d3d 23,0x9d3a3a 23,0x9d3a3a 23,0x9d3a3a 23,0x9d3a3a 24,0x9e3d3d 27,0xa24444 88,0xf0e0e0 72,0xdcb7b7 54,0xc58989 57,0xc89191 64,0xd1a3a3 66,0xd4a8a8 99,0xfefcfc 72,0xdcb7b7 75,0xe0bfbf 50,0xc07f7f 97,0xfcf7f7 59,0xcb9696 77,0xe2c4c4 100,0xFFFFFF 41,0xb46868 40,0xb36666 38,0xb06060 38,0xb06060 39,0xb16363 67,0xd5aaaa 100,0xFFFFFF 36,0xae5b5b 32,0xa85151 31,0xa74f4f 30,0xa64c4c 30,0xa64c4c 30,0xa64c4c 31,0xa74f4f 31,0xa74f4f 32,0xa85151 34,0xab5656 37,0xaf5e5e 42,0xb56b6b 45,0xb97272 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 49,0xbe7c7c 100,0xFFFFFF 46,0xba7575 47,0xbc7777 50,0xc07f7f 100,0xFFFFFF 100,0xFFFFFF 59,0xcb9696 58,0xca9393 58,0xca9393 59,0xcb9696 61,0xce9b9b 100,0xFFFFFF 97,0xfcf7f7 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 85,0xecd8d8 88,0xf0e0e0 90,0xf3e5e5 93,0xf7eded 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 95,0xf9f2f2 85,0xecd8d8 82,0xe8d1d1 85,0xecd8d8 100,0xFFFFFF 100,0xFFFFFF 59,0xcb9696 59,0xcb9696 64,0xd1a3a3 72,0xdcb7b7 100,0xFFFFFF 42,0xb56b6b 32,0xa85151 30,0xa64c4c 31,0xa74f4f 33,0xaa5454 43,0xb76d6d 80,0xe6cccc 72,0xdcb7b7 28,0xa34747 34,0xab5656 72,0xdcb7b7 94,0xf8efef 45,0xb97272 22,0x9c3838 16,0x942828 12,0x8f1e1e 11,0x8e1c1c 10,0x8c1919 10,0x8c1919 9,0x8b1616 9,0x8b1616 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 16,0x942828 10,0x8c1919 9,0x8b1616 9,0x8b1616 10,0x8c1919 12,0x8f1e1e 10,0x8c1919 11,0x8e1c1c 11,0x8e1c1c 13,0x902121 15,0x932626 18,0x972d2d 51,0xc18282 17,0x952b2b 10,0x8c1919 7,0x881111 7,0x881111 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 9,0x8b1616 10,0x8c1919 10,0x8c1919 12,0x8f1e1e 13,0x902121 14,0x912323 17,0x952b2b 20,0x993333 100,0xFFFFFF 72,0xdcb7b7 46,0xba7575 49,0xbe7c7c 63,0xd0a0a0 73,0xddbaba 92,0xf5eaea 100,0xFFFFFF 100,0xFFFFFF 88,0xf0e0e0 90,0xf3e5e5 80,0xe6cccc 55,0xc68c8c 58,0xca9393 82,0xe8d1d1 100,0xFFFFFF 62,0xcf9e9e 30,0xa64c4c 31,0xa74f4f 37,0xaf5e5e 37,0xaf5e5e 36,0xae5b5b 37,0xaf5e5e 39,0xb16363 42,0xb56b6b 59,0xcb9696 100,0xFFFFFF 100,0xFFFFFF 58,0xca9393 100,0xFFFFFF 84,0xebd6d6 78,0xe3c6c6 81,0xe7cece 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 82,0xe8d1d1 87,0xefdddd 100,0xFFFFFF 60,0xcc9999 100,0xFFFFFF 100,0xFFFFFF 36,0xae5b5b 41,0xb46868 44,0xb87070 62,0xcf9e9e 100,0xFFFFFF 71,0xdab5b5 83,0xead3d3 14,0x912323 11,0x8e1c1c 10,0x8c1919 10,0x8c1919 10,0x8c1919 9,0x8b1616 9,0x8b1616 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 9,0x8b1616 10,0x8c1919 12,0x8f1e1e 74,0xdebcbc 36,0xae5b5b 21,0x9a3535 29,0xa54949 23,0x9d3a3a 24,0x9e3d3d 100,0xFFFFFF 33,0xaa5454 73,0xddbaba 82,0xe8d1d1 80,0xe6cccc 92,0xf5eaea 84,0xebd6d6 81,0xe7cece 67,0xd5aaaa 100,0xFFFFFF 82,0xe8d1d1 42,0xb56b6b 39,0xb16363 39,0xb16363 91,0xf4e8e8 54,0xc58989 34,0xab5656 29,0xa54949 28,0xa34747 28,0xa34747 37,0xaf5e5e 29,0xa54949 59,0xcb9696 62,0xcf9e9e 67,0xd5aaaa 90,0xf3e5e5 100,0xFFFFFF 100,0xFFFFFF 65,0xd3a5a5 55,0xc68c8c 37,0xaf5e5e 34,0xab5656 30,0xa64c4c 28,0xa34747 27,0xa24444 26,0xa14242 25,0xa03f3f 25,0xa03f3f 24,0x9e3d3d 24,0x9e3d3d 24,0x9e3d3d 24,0x9e3d3d 25,0xa03f3f 27,0xa24444 59,0xcb9696 68,0xd7adad 47,0xbc7777 100,0xFFFFFF 69,0xd8afaf 99,0xfefcfc 57,0xc89191 81,0xe7cece 50,0xc07f7f 48,0xbd7a7a 48,0xbd7a7a 49,0xbe7c7c 100,0xFFFFFF 46,0xba7575 39,0xb16363 38,0xb06060 37,0xaf5e5e 36,0xae5b5b 36,0xae5b5b 36,0xae5b5b 34,0xab5656 33,0xaa5454 32,0xa85151 31,0xa74f4f 31,0xa74f4f 31,0xa74f4f 31,0xa74f4f 31,0xa74f4f 31,0xa74f4f 32,0xa85151 34,0xab5656 46,0xba7575 45,0xb97272 73,0xddbaba 65,0xd3a5a5 100,0xFFFFFF 67,0xd5aaaa 44,0xb87070 43,0xb76d6d 45,0xb97272 45,0xb97272 49,0xbe7c7c 53,0xc38787 100,0xFFFFFF 62,0xcf9e9e 60,0xcc9999 100,0xFFFFFF 67,0xd5aaaa 62,0xcf9e9e 63,0xd0a0a0 100,0xFFFFFF 79,0xe5c9c9 100,0xFFFFFF 100,0xFFFFFF 81,0xe7cece 95,0xf9f2f2 94,0xf8efef 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 95,0xf9f2f2 81,0xe7cece 84,0xebd6d6 100,0xFFFFFF 100,0xFFFFFF 56,0xc78e8e 55,0xc68c8c 56,0xc78e8e 79,0xe5c9c9 52,0xc28484 57,0xc89191 33,0xaa5454 29,0xa54949 29,0xa54949 32,0xa85151 51,0xc18282 28,0xa34747 23,0x9d3a3a 27,0xa24444 26,0xa14242 25,0xa03f3f 33,0xaa5454 49,0xbe7c7c 61,0xce9b9b 14,0x912323 13,0x902121 12,0x8f1e1e 11,0x8e1c1c 10,0x8c1919 10,0x8c1919 9,0x8b1616 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 10,0x8c1919 14,0x912323 36,0xae5b5b 23,0x9d3a3a 100,0xFFFFFF 10,0x8c1919 8,0x8a1414 7,0x881111 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 9,0x8b1616 10,0x8c1919 12,0x8f1e1e 13,0x902121 14,0x912323 16,0x942828 18,0x972d2d 22,0x9c3838 68,0xd7adad 41,0xb46868 55,0xc68c8c 100,0xFFFFFF 82,0xe8d1d1 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 77,0xe2c4c4 100,0xFFFFFF 52,0xc28484 60,0xcc9999 66,0xd4a8a8 100,0xFFFFFF 30,0xa64c4c 28,0xa34747 30,0xa64c4c 40,0xb36666 41,0xb46868 38,0xb06060 42,0xb56b6b 100,0xFFFFFF 43,0xb76d6d 44,0xb87070 49,0xbe7c7c 50,0xc07f7f 70,0xd9b2b2 78,0xe3c6c6 100,0xFFFFFF 88,0xf0e0e0 100,0xFFFFFF 95,0xf9f2f2 90,0xf3e5e5 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 92,0xf5eaea 86,0xeedbdb 73,0xddbaba 71,0xdab5b5 59,0xcb9696 52,0xc28484 56,0xc78e8e 53,0xc38787 31,0xa74f4f 35,0xac5959 61,0xce9b9b 44,0xb87070 58,0xca9393 35,0xac5959 20,0x993333 20,0x993333 11,0x8e1c1c 10,0x8c1919 10,0x8c1919 9,0x8b1616 9,0x8b1616 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 10,0x8c1919 12,0x8f1e1e 17,0x952b2b 81,0xe7cece 17,0x952b2b 29,0xa54949 100,0xFFFFFF 63,0xd0a0a0 48,0xbd7a7a 39,0xb16363 51,0xc18282 68,0xd7adad 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 84,0xebd6d6 69,0xd8afaf 100,0xFFFFFF 100,0xFFFFFF 43,0xb76d6d 38,0xb06060 37,0xaf5e5e 36,0xae5b5b 34,0xab5656 32,0xa85151 30,0xa64c4c 30,0xa64c4c 31,0xa74f4f 37,0xaf5e5e 36,0xae5b5b 36,0xae5b5b 47,0xbc7777 100,0xFFFFFF 69,0xd8afaf 83,0xead3d3 100,0xFFFFFF 57,0xc89191 100,0xFFFFFF 74,0xdebcbc 35,0xac5959 29,0xa54949 28,0xa34747 27,0xa24444 26,0xa14242 25,0xa03f3f 25,0xa03f3f 25,0xa03f3f 25,0xa03f3f 25,0xa03f3f 27,0xa24444 28,0xa34747 28,0xa34747 31,0xa74f4f 36,0xae5b5b 89,0xf1e2e2 63,0xd0a0a0 100,0xFFFFFF 98,0xfdf9f9 99,0xfefcfc 49,0xbe7c7c 47,0xbc7777 46,0xba7575 47,0xbc7777 49,0xbe7c7c 55,0xc68c8c 43,0xb76d6d 39,0xb16363 37,0xaf5e5e 36,0xae5b5b 35,0xac5959 35,0xac5959 34,0xab5656 34,0xab5656 33,0xaa5454 32,0xa85151 31,0xa74f4f 31,0xa74f4f 31,0xa74f4f 31,0xa74f4f 31,0xa74f4f 31,0xa74f4f 32,0xa85151 34,0xab5656 51,0xc18282 40,0xb36666 38,0xb06060 59,0xcb9696 45,0xb97272 41,0xb46868 41,0xb46868 43,0xb76d6d 44,0xb87070 45,0xb97272 47,0xbc7777 49,0xbe7c7c 70,0xd9b2b2 73,0xddbaba 100,0xFFFFFF 85,0xecd8d8 100,0xFFFFFF 65,0xd3a5a5 65,0xd3a5a5 66,0xd4a8a8 73,0xddbaba 75,0xe0bfbf 75,0xe0bfbf 80,0xe6cccc 86,0xeedbdb 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 77,0xe2c4c4 100,0xFFFFFF 100,0xFFFFFF 91,0xf4e8e8 54,0xc58989 51,0xc18282 51,0xc18282 55,0xc68c8c 40,0xb36666 38,0xb06060 30,0xa64c4c 27,0xa24444 27,0xa24444 37,0xaf5e5e 27,0xa24444 22,0x9c3838 20,0x993333 20,0x993333 21,0x9a3535 21,0x9a3535 24,0x9e3d3d 34,0xab5656 76,0xe1c1c1 16,0x942828 13,0x902121 12,0x8f1e1e 12,0x8f1e1e 14,0x912323 11,0x8e1c1c 10,0x8c1919 9,0x8b1616 8,0x8a1414 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 10,0x8c1919 60,0xcc9999 22,0x9c3838 16,0x942828 12,0x8f1e1e 9,0x8b1616 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 8,0x8a1414 9,0x8b1616 9,0x8b1616 11,0x8e1c1c 14,0x912323 16,0x942828 16,0x942828 16,0x942828 20,0x993333 38,0xb06060 28,0xa34747 67,0xd5aaaa 100,0xFFFFFF 61,0xce9b9b 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 96,0xfaf4f4 73,0xddbaba 63,0xd0a0a0 48,0xbd7a7a 48,0xbd7a7a 38,0xb06060 69,0xd8afaf 26,0xa14242 26,0xa14242 28,0xa34747 33,0xaa5454 66,0xd4a8a8 49,0xbe7c7c 64,0xd1a3a3 48,0xbd7a7a 45,0xb97272 45,0xb97272 46,0xba7575 47,0xbc7777 50,0xc07f7f 91,0xf4e8e8 98,0xfdf9f9 78,0xe3c6c6 74,0xdebcbc 100,0xFFFFFF 88,0xf0e0e0 100,0xFFFFFF 93,0xf7eded 82,0xe8d1d1 100,0xFFFFFF 100,0xFFFFFF 71,0xdab5b5 100,0xFFFFFF 55,0xc68c8c 49,0xbe7c7c 43,0xb76d6d 33,0xaa5454 28,0xa34747 35,0xac5959 33,0xaa5454 28,0xa34747 100,0xFFFFFF 100,0xFFFFFF 19,0x983030 13,0x902121 11,0x8e1c1c 10,0x8c1919 10,0x8c1919 9,0x8b1616 9,0x8b1616 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 16,0x942828 25,0xa03f3f 36,0xae5b5b 14,0x912323 13,0x902121 17,0x952b2b 71,0xdab5b5 100,0xFFFFFF 33,0xaa5454 51,0xc18282 69,0xd8afaf 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 85,0xecd8d8 68,0xd7adad 63,0xd0a0a0 49,0xbe7c7c 42,0xb56b6b 38,0xb06060 37,0xaf5e5e 35,0xac5959 34,0xab5656 33,0xaa5454 93,0xf7eded 53,0xc38787 100,0xFFFFFF 44,0xb87070 38,0xb06060 37,0xaf5e5e 45,0xb97272 100,0xFFFFFF 66,0xd4a8a8 78,0xe3c6c6 54,0xc58989 59,0xcb9696 100,0xFFFFFF 100,0xFFFFFF 45,0xb97272 31,0xa74f4f 29,0xa54949 28,0xa34747 27,0xa24444 26,0xa14242 25,0xa03f3f 25,0xa03f3f 26,0xa14242 27,0xa24444 72,0xdcb7b7 76,0xe1c1c1 40,0xb36666 32,0xa85151 33,0xaa5454 38,0xb06060 54,0xc58989 81,0xe7cece 72,0xdcb7b7 100,0xFFFFFF 46,0xba7575 45,0xb97272 45,0xb97272 45,0xb97272 65,0xd3a5a5 52,0xc28484 65,0xd3a5a5 74,0xdebcbc 37,0xaf5e5e 35,0xac5959 35,0xac5959 35,0xac5959 34,0xab5656 33,0xaa5454 33,0xaa5454 32,0xa85151 32,0xa85151 31,0xa74f4f 31,0xa74f4f 31,0xa74f4f 31,0xa74f4f 31,0xa74f4f 32,0xa85151 33,0xaa5454 34,0xab5656 35,0xac5959 35,0xac5959 36,0xae5b5b 37,0xaf5e5e 38,0xb06060 40,0xb36666 49,0xbe7c7c 48,0xbd7a7a 47,0xbc7777 48,0xbd7a7a 51,0xc18282 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 71,0xdab5b5 68,0xd7adad 66,0xd4a8a8 65,0xd3a5a5 66,0xd4a8a8 67,0xd5aaaa 69,0xd8afaf 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 95,0xf9f2f2 97,0xfcf7f7 86,0xeedbdb 80,0xe6cccc 73,0xddbaba 74,0xdebcbc 66,0xd4a8a8 63,0xd0a0a0 100,0xFFFFFF 50,0xc07f7f 49,0xbe7c7c 46,0xba7575 42,0xb56b6b 43,0xb76d6d 100,0xFFFFFF 26,0xa14242 24,0x9e3d3d 100,0xFFFFFF 54,0xc58989 20,0x993333 19,0x983030 19,0x983030 19,0x983030 21,0x9a3535 23,0x9d3a3a 27,0xa24444 47,0xbc7777 16,0x942828 14,0x912323 14,0x912323 29,0xa54949 30,0xa64c4c 57,0xc89191 21,0x9a3535 9,0x8b1616 8,0x8a1414 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 25,0xa03f3f 42,0xb56b6b 49,0xbe7c7c 41,0xb46868 10,0x8c1919 7,0x881111 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 9,0x8b1616 11,0x8e1c1c 20,0x993333 87,0xefdddd 88,0xf0e0e0 20,0x993333 18,0x972d2d 20,0x993333 49,0xbe7c7c 78,0xe3c6c6 36,0xae5b5b 45,0xb97272 86,0xeedbdb 73,0xddbaba 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 83,0xead3d3 86,0xeedbdb 100,0xFFFFFF 45,0xb97272 41,0xb46868 35,0xac5959 35,0xac5959 24,0x9e3d3d 24,0x9e3d3d 25,0xa03f3f 27,0xa24444 32,0xa85151 100,0xFFFFFF 59,0xcb9696 50,0xc07f7f 47,0xbc7777 44,0xb87070 44,0xb87070 47,0xbc7777 50,0xc07f7f 54,0xc58989 57,0xc89191 59,0xcb9696 61,0xce9b9b 66,0xd4a8a8 70,0xd9b2b2 71,0xdab5b5 89,0xf1e2e2 100,0xFFFFFF 68,0xd7adad 63,0xd0a0a0 96,0xfaf4f4 100,0xFFFFFF 62,0xcf9e9e 49,0xbe7c7c 63,0xd0a0a0 95,0xf9f2f2 24,0x9e3d3d 100,0xFFFFFF 21,0x9a3535 22,0x9c3838 25,0xa03f3f 44,0xb87070 24,0x9e3d3d 12,0x8f1e1e 11,0x8e1c1c 10,0x8c1919 9,0x8b1616 9,0x8b1616 9,0x8b1616 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 10,0x8c1919 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 13,0x902121 16,0x942828 17,0x952b2b 22,0x9c3838 33,0xaa5454 100,0xFFFFFF 77,0xe2c4c4 99,0xfefcfc 90,0xf3e5e5 100,0xFFFFFF 91,0xf4e8e8 59,0xcb9696 100,0xFFFFFF 71,0xdab5b5 38,0xb06060 36,0xae5b5b 35,0xac5959 35,0xac5959 38,0xb06060 62,0xcf9e9e 85,0xecd8d8 64,0xd1a3a3 54,0xc58989 40,0xb36666 41,0xb46868 42,0xb56b6b 51,0xc18282 50,0xc07f7f 50,0xc07f7f 50,0xc07f7f 56,0xc78e8e 100,0xFFFFFF 55,0xc68c8c 100,0xFFFFFF 38,0xb06060 32,0xa85151 100,0xFFFFFF 30,0xa64c4c 27,0xa24444 27,0xa24444 26,0xa14242 27,0xa24444 28,0xa34747 31,0xa74f4f 38,0xb06060 100,0xFFFFFF 35,0xac5959 35,0xac5959 36,0xae5b5b 38,0xb06060 41,0xb46868 44,0xb87070 45,0xb97272 45,0xb97272 44,0xb87070 44,0xb87070 44,0xb87070 44,0xb87070 53,0xc38787 46,0xba7575 39,0xb16363 36,0xae5b5b 35,0xac5959 35,0xac5959 34,0xab5656 34,0xab5656 33,0xaa5454 33,0xaa5454 32,0xa85151 32,0xa85151 32,0xa85151 31,0xa74f4f 31,0xa74f4f 31,0xa74f4f 32,0xa85151 32,0xa85151 33,0xaa5454 33,0xaa5454 34,0xab5656 34,0xab5656 35,0xac5959 36,0xae5b5b 37,0xaf5e5e 73,0xddbaba 54,0xc58989 68,0xd7adad 49,0xbe7c7c 51,0xc18282 68,0xd7adad 61,0xce9b9b 100,0xFFFFFF 77,0xe2c4c4 71,0xdab5b5 68,0xd7adad 67,0xd5aaaa 66,0xd4a8a8 66,0xd4a8a8 67,0xd5aaaa 67,0xd5aaaa 70,0xd9b2b2 72,0xdcb7b7 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 96,0xfaf4f4 93,0xf7eded 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 92,0xf5eaea 91,0xf4e8e8 86,0xeedbdb 75,0xe0bfbf 71,0xdab5b5 69,0xd8afaf 65,0xd3a5a5 60,0xcc9999 54,0xc58989 50,0xc07f7f 48,0xbd7a7a 47,0xbc7777 100,0xFFFFFF 100,0xFFFFFF 69,0xd8afaf 35,0xac5959 22,0x9c3838 20,0x993333 20,0x993333 18,0x972d2d 18,0x972d2d 18,0x972d2d 19,0x983030 20,0x993333 48,0xbd7a7a 30,0xa64c4c 100,0xFFFFFF 17,0x952b2b 16,0x942828 18,0x972d2d 81,0xe7cece 100,0xFFFFFF 99,0xfefcfc 13,0x902121 10,0x8c1919 9,0x8b1616 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 8,0x8a1414 53,0xc38787 61,0xce9b9b 100,0xFFFFFF 58,0xca9393 20,0x993333 7,0x881111 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 10,0x8c1919 15,0x932626 69,0xd8afaf 22,0x9c3838 28,0xa34747 23,0x9d3a3a 22,0x9c3838 31,0xa74f4f 45,0xb97272 46,0xba7575 37,0xaf5e5e 40,0xb36666 48,0xbd7a7a 54,0xc58989 67,0xd5aaaa 75,0xe0bfbf 74,0xdebcbc 90,0xf3e5e5 53,0xc38787 63,0xd0a0a0 58,0xca9393 80,0xe6cccc 54,0xc58989 28,0xa34747 22,0x9c3838 23,0x9d3a3a 25,0xa03f3f 27,0xa24444 78,0xe3c6c6 61,0xce9b9b 59,0xcb9696 91,0xf4e8e8 85,0xecd8d8 83,0xead3d3 43,0xb76d6d 54,0xc58989 65,0xd3a5a5 59,0xcb9696 57,0xc89191 57,0xc89191 60,0xcc9999 100,0xFFFFFF 70,0xd9b2b2 65,0xd3a5a5 69,0xd8afaf 100,0xFFFFFF 66,0xd4a8a8 59,0xcb9696 59,0xcb9696 76,0xe1c1c1 42,0xb56b6b 48,0xbd7a7a 79,0xe5c9c9 88,0xf0e0e0 21,0x9a3535 19,0x983030 18,0x972d2d 20,0x993333 23,0x9d3a3a 100,0xFFFFFF 16,0x942828 13,0x902121 11,0x8e1c1c 10,0x8c1919 9,0x8b1616 9,0x8b1616 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 10,0x8c1919 10,0x8c1919 11,0x8e1c1c 11,0x8e1c1c 12,0x8f1e1e 20,0x993333 24,0x9e3d3d 58,0xca9393 42,0xb56b6b 53,0xc38787 60,0xcc9999 58,0xca9393 100,0xFFFFFF 49,0xbe7c7c 100,0xFFFFFF 100,0xFFFFFF 63,0xd0a0a0 35,0xac5959 35,0xac5959 36,0xae5b5b 38,0xb06060 44,0xb87070 83,0xead3d3 100,0xFFFFFF 72,0xdcb7b7 100,0xFFFFFF 100,0xFFFFFF 60,0xcc9999 45,0xb97272 45,0xb97272 46,0xba7575 47,0xbc7777 49,0xbe7c7c 54,0xc58989 60,0xcc9999 47,0xbc7777 43,0xb76d6d 73,0xddbaba 37,0xaf5e5e 100,0xFFFFFF 32,0xa85151 28,0xa34747 27,0xa24444 27,0xa24444 27,0xa24444 29,0xa54949 34,0xab5656 64,0xd1a3a3 39,0xb16363 37,0xaf5e5e 36,0xae5b5b 38,0xb06060 39,0xb16363 41,0xb46868 42,0xb56b6b 43,0xb76d6d 44,0xb87070 44,0xb87070 43,0xb76d6d 43,0xb76d6d 42,0xb56b6b 41,0xb46868 39,0xb16363 38,0xb06060 37,0xaf5e5e 36,0xae5b5b 35,0xac5959 34,0xab5656 34,0xab5656 33,0xaa5454 33,0xaa5454 33,0xaa5454 32,0xa85151 32,0xa85151 32,0xa85151 32,0xa85151 32,0xa85151 32,0xa85151 32,0xa85151 32,0xa85151 33,0xaa5454 33,0xaa5454 34,0xab5656 34,0xab5656 35,0xac5959 37,0xaf5e5e 100,0xFFFFFF 46,0xba7575 51,0xc18282 88,0xf0e0e0 74,0xdebcbc 78,0xe3c6c6 100,0xFFFFFF 81,0xe7cece 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 70,0xd9b2b2 66,0xd4a8a8 65,0xd3a5a5 66,0xd4a8a8 68,0xd7adad 69,0xd8afaf 71,0xdab5b5 74,0xdebcbc 86,0xeedbdb 100,0xFFFFFF 84,0xebd6d6 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 98,0xfdf9f9 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 89,0xf1e2e2 91,0xf4e8e8 100,0xFFFFFF 100,0xFFFFFF 80,0xe6cccc 70,0xd9b2b2 70,0xd9b2b2 100,0xFFFFFF 84,0xebd6d6 64,0xd1a3a3 50,0xc07f7f 47,0xbc7777 49,0xbe7c7c 86,0xeedbdb 94,0xf8efef 100,0xFFFFFF 56,0xc78e8e 22,0x9c3838 19,0x983030 18,0x972d2d 17,0x952b2b 17,0x952b2b 17,0x952b2b 18,0x972d2d 25,0xa03f3f 34,0xab5656 25,0xa03f3f 21,0x9a3535 19,0x983030 19,0x983030 32,0xa85151 46,0xba7575 48,0xbd7a7a 64,0xd1a3a3 18,0x972d2d 10,0x8c1919 9,0x8b1616 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 8,0x8a1414 10,0x8c1919 12,0x8f1e1e 32,0xa85151 8,0x8a1414 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 9,0x8b1616 51,0xc18282 59,0xcb9696 19,0x983030 15,0x932626 27,0xa24444 43,0xb76d6d 56,0xc78e8e 72,0xdcb7b7 82,0xe8d1d1 35,0xac5959 34,0xab5656 91,0xf4e8e8 65,0xd3a5a5 91,0xf4e8e8 99,0xfefcfc 92,0xf5eaea 44,0xb87070 79,0xe5c9c9 28,0xa34747 77,0xe2c4c4 60,0xcc9999 100,0xFFFFFF 31,0xa74f4f 19,0x983030 41,0xb46868 100,0xFFFFFF 31,0xa74f4f 61,0xce9b9b 49,0xbe7c7c 100,0xFFFFFF 96,0xfaf4f4 58,0xca9393 45,0xb97272 36,0xae5b5b 41,0xb46868 100,0xFFFFFF 75,0xe0bfbf 84,0xebd6d6 52,0xc28484 54,0xc58989 100,0xFFFFFF 95,0xf9f2f2 100,0xFFFFFF 67,0xd5aaaa 52,0xc28484 59,0xcb9696 99,0xfefcfc 100,0xFFFFFF 42,0xb56b6b 39,0xb16363 44,0xb87070 32,0xa85151 34,0xab5656 25,0xa03f3f 17,0x952b2b 17,0x952b2b 19,0x983030 30,0xa64c4c 25,0xa03f3f 17,0x952b2b 16,0x942828 100,0xFFFFFF 11,0x8e1c1c 9,0x8b1616 9,0x8b1616 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 9,0x8b1616 10,0x8c1919 10,0x8c1919 12,0x8f1e1e 31,0xa74f4f 16,0x942828 100,0xFFFFFF 21,0x9a3535 63,0xd0a0a0 51,0xc18282 100,0xFFFFFF 57,0xc89191 47,0xbc7777 39,0xb16363 40,0xb36666 32,0xa85151 34,0xab5656 36,0xae5b5b 37,0xaf5e5e 38,0xb06060 76,0xe1c1c1 67,0xd5aaaa 79,0xe5c9c9 65,0xd3a5a5 100,0xFFFFFF 52,0xc28484 48,0xbd7a7a 46,0xba7575 46,0xba7575 45,0xb97272 45,0xb97272 49,0xbe7c7c 51,0xc18282 41,0xb46868 39,0xb16363 39,0xb16363 100,0xFFFFFF 43,0xb76d6d 62,0xcf9e9e 31,0xa74f4f 29,0xa54949 28,0xa34747 29,0xa54949 31,0xa74f4f 33,0xaa5454 99,0xfefcfc 63,0xd0a0a0 42,0xb56b6b 38,0xb06060 39,0xb16363 77,0xe2c4c4 70,0xd9b2b2 43,0xb76d6d 43,0xb76d6d 43,0xb76d6d 44,0xb87070 44,0xb87070 43,0xb76d6d 43,0xb76d6d 41,0xb46868 40,0xb36666 39,0xb16363 38,0xb06060 37,0xaf5e5e 36,0xae5b5b 35,0xac5959 35,0xac5959 34,0xab5656 33,0xaa5454 33,0xaa5454 33,0xaa5454 33,0xaa5454 32,0xa85151 32,0xa85151 32,0xa85151 32,0xa85151 32,0xa85151 32,0xa85151 32,0xa85151 33,0xaa5454 33,0xaa5454 33,0xaa5454 34,0xab5656 34,0xab5656 37,0xaf5e5e 51,0xc18282 89,0xf1e2e2 41,0xb46868 88,0xf0e0e0 100,0xFFFFFF 65,0xd3a5a5 83,0xead3d3 100,0xFFFFFF 100,0xFFFFFF 94,0xf8efef 87,0xefdddd 100,0xFFFFFF 73,0xddbaba 63,0xd0a0a0 71,0xdab5b5 70,0xd9b2b2 71,0xdab5b5 100,0xFFFFFF 76,0xe1c1c1 77,0xe2c4c4 79,0xe5c9c9 80,0xe6cccc 82,0xe8d1d1 85,0xecd8d8 89,0xf1e2e2 91,0xf4e8e8 91,0xf4e8e8 96,0xfaf4f4 100,0xFFFFFF 100,0xFFFFFF 93,0xf7eded 100,0xFFFFFF 83,0xead3d3 88,0xf0e0e0 100,0xFFFFFF 100,0xFFFFFF 73,0xddbaba 68,0xd7adad 71,0xdab5b5 100,0xFFFFFF 100,0xFFFFFF 97,0xfcf7f7 50,0xc07f7f 46,0xba7575 49,0xbe7c7c 53,0xc38787 61,0xce9b9b 83,0xead3d3 43,0xb76d6d 23,0x9d3a3a 19,0x983030 18,0x972d2d 17,0x952b2b 16,0x942828 16,0x942828 16,0x942828 22,0x9c3838 57,0xc89191 26,0xa14242 23,0x9d3a3a 22,0x9c3838 100,0xFFFFFF 48,0xbd7a7a 100,0xFFFFFF 100,0xFFFFFF 18,0x972d2d 28,0xa34747 16,0x942828 9,0x8b1616 8,0x8a1414 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 11,0x8e1c1c 74,0xdebcbc 7,0x881111 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 9,0x8b1616 12,0x8f1e1e 28,0xa34747 46,0xba7575 13,0x902121 12,0x8f1e1e 13,0x902121 17,0x952b2b 41,0xb46868 30,0xa64c4c 19,0x983030 18,0x972d2d 53,0xc38787 58,0xca9393 38,0xb06060 58,0xca9393 30,0xa64c4c 43,0xb76d6d 75,0xe0bfbf 21,0x9a3535 24,0x9e3d3d 80,0xe6cccc 63,0xd0a0a0 17,0x952b2b 17,0x952b2b 51,0xc18282 25,0xa03f3f 71,0xdab5b5 100,0xFFFFFF 30,0xa64c4c 75,0xe0bfbf 76,0xe1c1c1 71,0xdab5b5 62,0xcf9e9e 100,0xFFFFFF 52,0xc28484 70,0xd9b2b2 100,0xFFFFFF 70,0xd9b2b2 47,0xbc7777 51,0xc18282 97,0xfcf7f7 95,0xf9f2f2 76,0xe1c1c1 48,0xbd7a7a 50,0xc07f7f 96,0xfaf4f4 94,0xf8efef 79,0xe5c9c9 41,0xb46868 37,0xaf5e5e 35,0xac5959 29,0xa54949 25,0xa03f3f 19,0x983030 16,0x942828 16,0x942828 20,0x993333 100,0xFFFFFF 23,0x9d3a3a 24,0x9e3d3d 61,0xce9b9b 68,0xd7adad 12,0x8f1e1e 9,0x8b1616 9,0x8b1616 8,0x8a1414 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 10,0x8c1919 12,0x8f1e1e 12,0x8f1e1e 13,0x902121 47,0xbc7777 22,0x9c3838 20,0x993333 26,0xa14242 76,0xe1c1c1 72,0xdcb7b7 27,0xa24444 28,0xa34747 30,0xa64c4c 100,0xFFFFFF 37,0xaf5e5e 37,0xaf5e5e 41,0xb46868 45,0xb97272 52,0xc28484 100,0xFFFFFF 59,0xcb9696 58,0xca9393 52,0xc28484 49,0xbe7c7c 47,0xbc7777 48,0xbd7a7a 46,0xba7575 44,0xb87070 42,0xb56b6b 41,0xb46868 39,0xb16363 37,0xaf5e5e 37,0xaf5e5e 64,0xd1a3a3 66,0xd4a8a8 36,0xae5b5b 31,0xa74f4f 30,0xa64c4c 29,0xa54949 30,0xa64c4c 100,0xFFFFFF 41,0xb46868 50,0xc07f7f 58,0xca9393 48,0xbd7a7a 43,0xb76d6d 44,0xb87070 100,0xFFFFFF 59,0xcb9696 46,0xba7575 44,0xb87070 44,0xb87070 44,0xb87070 44,0xb87070 44,0xb87070 43,0xb76d6d 43,0xb76d6d 41,0xb46868 39,0xb16363 39,0xb16363 37,0xaf5e5e 37,0xaf5e5e 36,0xae5b5b 36,0xae5b5b 34,0xab5656 34,0xab5656 33,0xaa5454 33,0xaa5454 33,0xaa5454 32,0xa85151 32,0xa85151 32,0xa85151 32,0xa85151 32,0xa85151 32,0xa85151 32,0xa85151 33,0xaa5454 33,0xaa5454 33,0xaa5454 33,0xaa5454 34,0xab5656 35,0xac5959 37,0xaf5e5e 38,0xb06060 38,0xb06060 40,0xb36666 44,0xb87070 53,0xc38787 85,0xecd8d8 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 90,0xf3e5e5 100,0xFFFFFF 63,0xd0a0a0 60,0xcc9999 75,0xe0bfbf 82,0xe8d1d1 76,0xe1c1c1 85,0xecd8d8 79,0xe5c9c9 78,0xe3c6c6 78,0xe3c6c6 79,0xe5c9c9 81,0xe7cece 100,0xFFFFFF 90,0xf3e5e5 90,0xf3e5e5 89,0xf1e2e2 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 94,0xf8efef 82,0xe8d1d1 81,0xe7cece 100,0xFFFFFF 76,0xe1c1c1 100,0xFFFFFF 64,0xd1a3a3 69,0xd8afaf 100,0xFFFFFF 82,0xe8d1d1 93,0xf7eded 72,0xdcb7b7 43,0xb76d6d 44,0xb87070 51,0xc18282 90,0xf3e5e5 85,0xecd8d8 40,0xb36666 79,0xe5c9c9 25,0xa03f3f 21,0x9a3535 18,0x972d2d 16,0x942828 15,0x932626 15,0x932626 15,0x932626 17,0x952b2b 47,0xbc7777 44,0xb87070 54,0xc58989 50,0xc07f7f 41,0xb46868 65,0xd3a5a5 100,0xFFFFFF 15,0x932626 14,0x912323 100,0xFFFFFF 18,0x972d2d 10,0x8c1919 8,0x8a1414 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 15,0x932626 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 7,0x881111 9,0x8b1616 20,0x993333 49,0xbe7c7c 39,0xb16363 10,0x8c1919 9,0x8b1616 10,0x8c1919 72,0xdcb7b7 11,0x8e1c1c 12,0x8f1e1e 13,0x902121 18,0x972d2d 22,0x9c3838 80,0xe6cccc 72,0xdcb7b7 18,0x972d2d 22,0x9c3838 61,0xce9b9b 59,0xcb9696 17,0x952b2b 25,0xa03f3f 17,0x952b2b 15,0x932626 14,0x912323 15,0x932626 63,0xd0a0a0 77,0xe2c4c4 18,0x972d2d 18,0x972d2d 28,0xa34747 73,0xddbaba 82,0xe8d1d1 26,0xa14242 25,0xa03f3f 89,0xf1e2e2 30,0xa64c4c 96,0xfaf4f4 76,0xe1c1c1 49,0xbe7c7c 41,0xb46868 76,0xe1c1c1 40,0xb36666 42,0xb56b6b 46,0xba7575 47,0xbc7777 43,0xb76d6d 40,0xb36666 100,0xFFFFFF 36,0xae5b5b 36,0xae5b5b 37,0xaf5e5e 44,0xb87070 57,0xc89191 97,0xfcf7f7 23,0x9d3a3a 15,0x932626 14,0x912323 14,0x912323 22,0x9c3838 100,0xFFFFFF 59,0xcb9696 100,0xFFFFFF 23,0x9d3a3a 11,0x8e1c1c 9,0x8b1616 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 10,0x8c1919 11,0x8e1c1c 11,0x8e1c1c 13,0x902121 14,0x912323 16,0x942828 54,0xc58989 20,0x993333 21,0x9a3535 24,0x9e3d3d 27,0xa24444 30,0xa64c4c 55,0xc68c8c 40,0xb36666 39,0xb16363 43,0xb76d6d 53,0xc38787 94,0xf8efef 57,0xc89191 58,0xca9393 57,0xc89191 55,0xc68c8c 53,0xc38787 53,0xc38787 58,0xca9393 55,0xc68c8c 47,0xbc7777 41,0xb46868 39,0xb16363 38,0xb06060 37,0xaf5e5e 36,0xae5b5b 35,0xac5959 34,0xab5656 33,0xaa5454 32,0xa85151 31,0xa74f4f 31,0xa74f4f 34,0xab5656 42,0xb56b6b 99,0xfefcfc 100,0xFFFFFF 100,0xFFFFFF 58,0xca9393 100,0xFFFFFF 72,0xdcb7b7 52,0xc28484 48,0xbd7a7a 46,0xba7575 45,0xb97272 45,0xb97272 45,0xb97272 46,0xba7575 54,0xc58989 47,0xbc7777 60,0xcc9999 100,0xFFFFFF 44,0xb87070 44,0xb87070 39,0xb16363 38,0xb06060 39,0xb16363 48,0xbd7a7a 36,0xae5b5b 34,0xab5656 34,0xab5656 33,0xaa5454 33,0xaa5454 33,0xaa5454 32,0xa85151 32,0xa85151 32,0xa85151 32,0xa85151 32,0xa85151 32,0xa85151 32,0xa85151 33,0xaa5454 33,0xaa5454 33,0xaa5454 34,0xab5656 35,0xac5959 36,0xae5b5b 36,0xae5b5b 37,0xaf5e5e 39,0xb16363 51,0xc18282 94,0xf8efef 78,0xe3c6c6 100,0xFFFFFF 100,0xFFFFFF 94,0xf8efef 76,0xe1c1c1 68,0xd7adad 59,0xcb9696 57,0xc89191 60,0xcc9999 72,0xdcb7b7 100,0xFFFFFF 100,0xFFFFFF 83,0xead3d3 82,0xe8d1d1 77,0xe2c4c4 100,0xFFFFFF 86,0xeedbdb 100,0xFFFFFF 94,0xf8efef 100,0xFFFFFF 86,0xeedbdb 82,0xe8d1d1 100,0xFFFFFF 100,0xFFFFFF 79,0xe5c9c9 79,0xe5c9c9 79,0xe5c9c9 74,0xdebcbc 70,0xd9b2b2 79,0xe5c9c9 61,0xce9b9b 61,0xce9b9b 68,0xd7adad 71,0xdab5b5 75,0xe0bfbf 48,0xbd7a7a 41,0xb46868 40,0xb36666 41,0xb46868 75,0xe0bfbf 42,0xb56b6b 31,0xa74f4f 31,0xa74f4f 51,0xc18282 60,0xcc9999 20,0x993333 16,0x942828 15,0x932626 15,0x932626 14,0x912323 14,0x912323 16,0x942828 100,0xFFFFFF 33,0xaa5454 70,0xd9b2b2 35,0xac5959 23,0x9d3a3a 22,0x9c3838 12,0x8f1e1e 11,0x8e1c1c 11,0x8e1c1c 10,0x8c1919 9,0x8b1616 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 26,0xa14242 10,0x8c1919 9,0x8b1616 11,0x8e1c1c 9,0x8b1616 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 10,0x8c1919 15,0x932626 21,0x9a3535 100,0xFFFFFF 19,0x983030 24,0x9e3d3d 15,0x932626 30,0xa64c4c 16,0x942828 13,0x902121 13,0x902121 19,0x983030 15,0x932626 13,0x902121 13,0x902121 14,0x912323 17,0x952b2b 16,0x942828 16,0x942828 16,0x942828 17,0x952b2b 18,0x972d2d 20,0x993333 22,0x9c3838 24,0x9e3d3d 26,0xa14242 28,0xa34747 30,0xa64c4c 34,0xab5656 37,0xaf5e5e 37,0xaf5e5e 36,0xae5b5b 38,0xb06060 95,0xf9f2f2 50,0xc07f7f 58,0xca9393 56,0xc78e8e 32,0xa85151 29,0xa54949 31,0xa74f4f 91,0xf4e8e8 39,0xb16363 51,0xc18282 60,0xcc9999 100,0xFFFFFF 29,0xa54949 15,0x932626 13,0x902121 12,0x8f1e1e 12,0x8f1e1e 13,0x902121 19,0x983030 12,0x8f1e1e 19,0x983030 12,0x8f1e1e 9,0x8b1616 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 9,0x8b1616 10,0x8c1919 11,0x8e1c1c 11,0x8e1c1c 12,0x8f1e1e 13,0x902121 13,0x902121 15,0x932626 16,0x942828 18,0x972d2d 39,0xb16363 32,0xa85151 100,0xFFFFFF 80,0xe6cccc 50,0xc07f7f 43,0xb76d6d 100,0xFFFFFF 100,0xFFFFFF 72,0xdcb7b7 61,0xce9b9b 61,0xce9b9b 100,0xFFFFFF 100,0xFFFFFF 73,0xddbaba 58,0xca9393 71,0xdab5b5 100,0xFFFFFF 100,0xFFFFFF 49,0xbe7c7c 39,0xb16363 38,0xb06060 36,0xae5b5b 35,0xac5959 35,0xac5959 34,0xab5656 33,0xaa5454 32,0xa85151 32,0xa85151 33,0xaa5454 38,0xb06060 66,0xd4a8a8 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 68,0xd7adad 71,0xdab5b5 100,0xFFFFFF 51,0xc18282 48,0xbd7a7a 47,0xbc7777 46,0xba7575 46,0xba7575 46,0xba7575 47,0xbc7777 100,0xFFFFFF 55,0xc68c8c 90,0xf3e5e5 94,0xf8efef 72,0xdcb7b7 49,0xbe7c7c 44,0xb87070 41,0xb46868 42,0xb56b6b 100,0xFFFFFF 37,0xaf5e5e 35,0xac5959 35,0xac5959 34,0xab5656 34,0xab5656 33,0xaa5454 32,0xa85151 32,0xa85151 31,0xa74f4f 31,0xa74f4f 31,0xa74f4f 32,0xa85151 32,0xa85151 33,0xaa5454 33,0xaa5454 33,0xaa5454 34,0xab5656 35,0xac5959 35,0xac5959 36,0xae5b5b 37,0xaf5e5e 38,0xb06060 39,0xb16363 43,0xb76d6d 65,0xd3a5a5 100,0xFFFFFF 76,0xe1c1c1 65,0xd3a5a5 86,0xeedbdb 100,0xFFFFFF 55,0xc68c8c 57,0xc89191 59,0xcb9696 100,0xFFFFFF 81,0xe7cece 94,0xf8efef 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 71,0xdab5b5 73,0xddbaba 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 76,0xe1c1c1 100,0xFFFFFF 73,0xddbaba 82,0xe8d1d1 81,0xe7cece 88,0xf0e0e0 100,0xFFFFFF 100,0xFFFFFF 61,0xce9b9b 59,0xcb9696 59,0xcb9696 65,0xd3a5a5 52,0xc28484 52,0xc28484 47,0xbc7777 40,0xb36666 39,0xb16363 39,0xb16363 53,0xc38787 36,0xae5b5b 29,0xa54949 27,0xa24444 67,0xd5aaaa 21,0x9a3535 18,0x972d2d 16,0x942828 15,0x932626 14,0x912323 13,0x902121 13,0x902121 13,0x902121 13,0x902121 16,0x942828 14,0x912323 13,0x902121 50,0xc07f7f 12,0x8f1e1e 10,0x8c1919 9,0x8b1616 9,0x8b1616 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 11,0x8e1c1c 42,0xb56b6b 12,0x8f1e1e 10,0x8c1919 10,0x8c1919 11,0x8e1c1c 23,0x9d3a3a 12,0x8f1e1e 11,0x8e1c1c 11,0x8e1c1c 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 13,0x902121 14,0x912323 15,0x932626 15,0x932626 16,0x942828 17,0x952b2b 22,0x9c3838 34,0xab5656 26,0xa14242 26,0xa14242 29,0xa54949 32,0xa85151 33,0xaa5454 34,0xab5656 35,0xac5959 35,0xac5959 38,0xb06060 44,0xb87070 94,0xf8efef 75,0xe0bfbf 93,0xf7eded 29,0xa54949 26,0xa14242 29,0xa54949 56,0xc78e8e 100,0xFFFFFF 100,0xFFFFFF 84,0xebd6d6 100,0xFFFFFF 66,0xd4a8a8 15,0x932626 12,0x8f1e1e 11,0x8e1c1c 11,0x8e1c1c 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 9,0x8b1616 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 9,0x8b1616 10,0x8c1919 10,0x8c1919 11,0x8e1c1c 11,0x8e1c1c 13,0x902121 13,0x902121 14,0x912323 15,0x932626 17,0x952b2b 23,0x9d3a3a 68,0xd7adad 53,0xc38787 67,0xd5aaaa 50,0xc07f7f 47,0xbc7777 69,0xd8afaf 93,0xf7eded 71,0xdab5b5 65,0xd3a5a5 75,0xe0bfbf 78,0xe3c6c6 83,0xead3d3 82,0xe8d1d1 65,0xd3a5a5 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 42,0xb56b6b 41,0xb46868 36,0xae5b5b 35,0xac5959 34,0xab5656 34,0xab5656 33,0xaa5454 33,0xaa5454 33,0xaa5454 35,0xac5959 67,0xd5aaaa 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 90,0xf3e5e5 96,0xfaf4f4 64,0xd1a3a3 62,0xcf9e9e 57,0xc89191 50,0xc07f7f 48,0xbd7a7a 48,0xbd7a7a 52,0xc28484 49,0xbe7c7c 51,0xc18282 100,0xFFFFFF 71,0xdab5b5 100,0xFFFFFF 100,0xFFFFFF 99,0xfefcfc 68,0xd7adad 96,0xfaf4f4 100,0xFFFFFF 89,0xf1e2e2 91,0xf4e8e8 38,0xb06060 37,0xaf5e5e 36,0xae5b5b 35,0xac5959 36,0xae5b5b 35,0xac5959 32,0xa85151 31,0xa74f4f 31,0xa74f4f 31,0xa74f4f 31,0xa74f4f 31,0xa74f4f 32,0xa85151 32,0xa85151 33,0xaa5454 33,0xaa5454 34,0xab5656 35,0xac5959 35,0xac5959 36,0xae5b5b 37,0xaf5e5e 38,0xb06060 39,0xb16363 41,0xb46868 43,0xb76d6d 82,0xe8d1d1 64,0xd1a3a3 56,0xc78e8e 94,0xf8efef 59,0xcb9696 52,0xc28484 76,0xe1c1c1 64,0xd1a3a3 91,0xf4e8e8 82,0xe8d1d1 100,0xFFFFFF 100,0xFFFFFF 91,0xf4e8e8 76,0xe1c1c1 67,0xd5aaaa 72,0xdcb7b7 99,0xfefcfc 100,0xFFFFFF 100,0xFFFFFF 82,0xe8d1d1 71,0xdab5b5 69,0xd8afaf 71,0xdab5b5 75,0xe0bfbf 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 70,0xd9b2b2 61,0xce9b9b 58,0xca9393 57,0xc89191 54,0xc58989 50,0xc07f7f 46,0xba7575 44,0xb87070 39,0xb16363 37,0xaf5e5e 37,0xaf5e5e 39,0xb16363 38,0xb06060 29,0xa54949 27,0xa24444 24,0x9e3d3d 21,0x9a3535 19,0x983030 17,0x952b2b 15,0x932626 13,0x902121 13,0x902121 12,0x8f1e1e 12,0x8f1e1e 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 10,0x8c1919 9,0x8b1616 8,0x8a1414 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 9,0x8b1616 11,0x8e1c1c 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 11,0x8e1c1c 11,0x8e1c1c 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 13,0x902121 14,0x912323 14,0x912323 15,0x932626 18,0x972d2d 91,0xf4e8e8 30,0xa64c4c 30,0xa64c4c 28,0xa34747 32,0xa85151 48,0xbd7a7a 35,0xac5959 35,0xac5959 35,0xac5959 33,0xaa5454 43,0xb76d6d 31,0xa74f4f 35,0xac5959 49,0xbe7c7c 40,0xb36666 21,0x9a3535 63,0xd0a0a0 37,0xaf5e5e 83,0xead3d3 100,0xFFFFFF 53,0xc38787 71,0xdab5b5 100,0xFFFFFF 100,0xFFFFFF 21,0x9a3535 11,0x8e1c1c 10,0x8c1919 10,0x8c1919 9,0x8b1616 9,0x8b1616 9,0x8b1616 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 9,0x8b1616 10,0x8c1919 11,0x8e1c1c 12,0x8f1e1e 13,0x902121 14,0x912323 15,0x932626 15,0x932626 17,0x952b2b 18,0x972d2d 22,0x9c3838 100,0xFFFFFF 100,0xFFFFFF 96,0xfaf4f4 48,0xbd7a7a 53,0xc38787 63,0xd0a0a0 70,0xd9b2b2 100,0xFFFFFF 97,0xfcf7f7 81,0xe7cece 79,0xe5c9c9 72,0xdcb7b7 68,0xd7adad 68,0xd7adad 78,0xe3c6c6 92,0xf5eaea 51,0xc18282 54,0xc58989 47,0xbc7777 36,0xae5b5b 35,0xac5959 35,0xac5959 34,0xab5656 33,0xaa5454 33,0xaa5454 34,0xab5656 36,0xae5b5b 41,0xb46868 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 59,0xcb9696 58,0xca9393 63,0xd0a0a0 51,0xc18282 49,0xbe7c7c 50,0xc07f7f 54,0xc58989 76,0xe1c1c1 53,0xc38787 68,0xd7adad 79,0xe5c9c9 100,0xFFFFFF 100,0xFFFFFF 89,0xf1e2e2 100,0xFFFFFF 65,0xd3a5a5 49,0xbe7c7c 50,0xc07f7f 47,0xbc7777 40,0xb36666 40,0xb36666 91,0xf4e8e8 47,0xbc7777 43,0xb76d6d 36,0xae5b5b 32,0xa85151 31,0xa74f4f 31,0xa74f4f 31,0xa74f4f 31,0xa74f4f 31,0xa74f4f 32,0xa85151 32,0xa85151 33,0xaa5454 34,0xab5656 34,0xab5656 35,0xac5959 35,0xac5959 36,0xae5b5b 37,0xaf5e5e 38,0xb06060 39,0xb16363 40,0xb36666 41,0xb46868 44,0xb87070 45,0xb97272 74,0xdebcbc 48,0xbd7a7a 47,0xbc7777 49,0xbe7c7c 97,0xfcf7f7 53,0xc38787 56,0xc78e8e 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 80,0xe6cccc 100,0xFFFFFF 63,0xd0a0a0 69,0xd8afaf 63,0xd0a0a0 65,0xd3a5a5 67,0xd5aaaa 68,0xd7adad 68,0xd7adad 68,0xd7adad 71,0xdab5b5 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 57,0xc89191 58,0xca9393 60,0xcc9999 100,0xFFFFFF 64,0xd1a3a3 65,0xd3a5a5 41,0xb46868 38,0xb06060 37,0xaf5e5e 36,0xae5b5b 35,0xac5959 32,0xa85151 31,0xa74f4f 32,0xa85151 32,0xa85151 100,0xFFFFFF 89,0xf1e2e2 22,0x9c3838 16,0x942828 13,0x902121 12,0x8f1e1e 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 10,0x8c1919 10,0x8c1919 10,0x8c1919 9,0x8b1616 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 11,0x8e1c1c 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 13,0x902121 14,0x912323 14,0x912323 15,0x932626 18,0x972d2d 71,0xdab5b5 23,0x9d3a3a 47,0xbc7777 37,0xaf5e5e 71,0xdab5b5 40,0xb36666 37,0xaf5e5e 37,0xaf5e5e 100,0xFFFFFF 38,0xb06060 28,0xa34747 26,0xa14242 30,0xa64c4c 28,0xa34747 19,0x983030 18,0x972d2d 24,0x9e3d3d 21,0x9a3535 23,0x9d3a3a 28,0xa34747 44,0xb87070 48,0xbd7a7a 57,0xc89191 54,0xc58989 13,0x902121 10,0x8c1919 10,0x8c1919 9,0x8b1616 9,0x8b1616 8,0x8a1414 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 10,0x8c1919 10,0x8c1919 11,0x8e1c1c 12,0x8f1e1e 14,0x912323 14,0x912323 15,0x932626 16,0x942828 17,0x952b2b 18,0x972d2d 21,0x9a3535 25,0xa03f3f 40,0xb36666 40,0xb36666 52,0xc28484 54,0xc58989 100,0xFFFFFF 76,0xe1c1c1 97,0xfcf7f7 96,0xfaf4f4 100,0xFFFFFF 100,0xFFFFFF 83,0xead3d3 85,0xecd8d8 64,0xd1a3a3 62,0xcf9e9e 95,0xf9f2f2 48,0xbd7a7a 45,0xb97272 41,0xb46868 37,0xaf5e5e 36,0xae5b5b 34,0xab5656 34,0xab5656 34,0xab5656 34,0xab5656 35,0xac5959 57,0xc89191 79,0xe5c9c9 100,0xFFFFFF 65,0xd3a5a5 86,0xeedbdb 100,0xFFFFFF 95,0xf9f2f2 57,0xc89191 56,0xc78e8e 54,0xc58989 53,0xc38787 53,0xc38787 57,0xc89191 80,0xe6cccc 59,0xcb9696 57,0xc89191 61,0xce9b9b 100,0xFFFFFF 83,0xead3d3 100,0xFFFFFF 78,0xe3c6c6 83,0xead3d3 52,0xc28484 47,0xbc7777 45,0xb97272 43,0xb76d6d 43,0xb76d6d 100,0xFFFFFF 99,0xfefcfc 55,0xc68c8c 48,0xbd7a7a 35,0xac5959 33,0xaa5454 31,0xa74f4f 31,0xa74f4f 30,0xa64c4c 30,0xa64c4c 31,0xa74f4f 32,0xa85151 33,0xaa5454 34,0xab5656 34,0xab5656 35,0xac5959 35,0xac5959 36,0xae5b5b 37,0xaf5e5e 39,0xb16363 41,0xb46868 40,0xb36666 41,0xb46868 42,0xb56b6b 43,0xb76d6d 44,0xb87070 46,0xba7575 46,0xba7575 46,0xba7575 47,0xbc7777 50,0xc07f7f 49,0xbe7c7c 50,0xc07f7f 53,0xc38787 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 60,0xcc9999 59,0xcb9696 61,0xce9b9b 60,0xcc9999 61,0xce9b9b 64,0xd1a3a3 67,0xd5aaaa 68,0xd7adad 67,0xd5aaaa 64,0xd1a3a3 63,0xd0a0a0 62,0xcf9e9e 100,0xFFFFFF 62,0xcf9e9e 53,0xc38787 56,0xc78e8e 59,0xcb9696 63,0xd0a0a0 75,0xe0bfbf 73,0xddbaba 75,0xe0bfbf 88,0xf0e0e0 38,0xb06060 36,0xae5b5b 35,0xac5959 35,0xac5959 39,0xb16363 100,0xFFFFFF 52,0xc28484 44,0xb87070 48,0xbd7a7a 39,0xb16363 23,0x9d3a3a 17,0x952b2b 14,0x912323 12,0x8f1e1e 11,0x8e1c1c 11,0x8e1c1c 10,0x8c1919 10,0x8c1919 9,0x8b1616 9,0x8b1616 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 10,0x8c1919 10,0x8c1919 11,0x8e1c1c 11,0x8e1c1c 12,0x8f1e1e 12,0x8f1e1e 13,0x902121 14,0x912323 14,0x912323 15,0x932626 16,0x942828 18,0x972d2d 20,0x993333 72,0xdcb7b7 71,0xdab5b5 59,0xcb9696 63,0xd0a0a0 41,0xb46868 100,0xFFFFFF 81,0xe7cece 100,0xFFFFFF 35,0xac5959 24,0x9e3d3d 65,0xd3a5a5 93,0xf7eded 17,0x952b2b 16,0x942828 17,0x952b2b 18,0x972d2d 20,0x993333 59,0xcb9696 52,0xc28484 83,0xead3d3 21,0x9a3535 40,0xb36666 14,0x912323 10,0x8c1919 9,0x8b1616 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 10,0x8c1919 10,0x8c1919 14,0x912323 14,0x912323 21,0x9a3535 26,0xa14242 22,0x9c3838 17,0x952b2b 18,0x972d2d 20,0x993333 31,0xa74f4f 28,0xa34747 30,0xa64c4c 65,0xd3a5a5 68,0xd7adad 59,0xcb9696 89,0xf1e2e2 83,0xead3d3 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 90,0xf3e5e5 100,0xFFFFFF 71,0xdab5b5 58,0xca9393 55,0xc68c8c 51,0xc18282 60,0xcc9999 100,0xFFFFFF 53,0xc38787 38,0xb06060 34,0xab5656 34,0xab5656 34,0xab5656 34,0xab5656 35,0xac5959 36,0xae5b5b 41,0xb46868 100,0xFFFFFF 94,0xf8efef 72,0xdcb7b7 95,0xf9f2f2 57,0xc89191 56,0xc78e8e 56,0xc78e8e 55,0xc68c8c 63,0xd0a0a0 100,0xFFFFFF 100,0xFFFFFF 71,0xdab5b5 61,0xce9b9b 100,0xFFFFFF 61,0xce9b9b 76,0xe1c1c1 70,0xd9b2b2 70,0xd9b2b2 100,0xFFFFFF 93,0xf7eded 57,0xc89191 50,0xc07f7f 46,0xba7575 46,0xba7575 78,0xe3c6c6 60,0xcc9999 66,0xd4a8a8 56,0xc78e8e 57,0xc89191 100,0xFFFFFF 35,0xac5959 31,0xa74f4f 30,0xa64c4c 29,0xa54949 30,0xa64c4c 30,0xa64c4c 33,0xaa5454 40,0xb36666 41,0xb46868 36,0xae5b5b 36,0xae5b5b 36,0xae5b5b 37,0xaf5e5e 38,0xb06060 78,0xe3c6c6 83,0xead3d3 52,0xc28484 43,0xb76d6d 43,0xb76d6d 43,0xb76d6d 43,0xb76d6d 44,0xb87070 45,0xb97272 45,0xb97272 45,0xb97272 47,0xbc7777 48,0xbd7a7a 49,0xbe7c7c 51,0xc18282 53,0xc38787 55,0xc68c8c 56,0xc78e8e 57,0xc89191 57,0xc89191 57,0xc89191 59,0xcb9696 61,0xce9b9b 74,0xdebcbc 70,0xd9b2b2 70,0xd9b2b2 80,0xe6cccc 94,0xf8efef 59,0xcb9696 100,0xFFFFFF 56,0xc78e8e 51,0xc18282 51,0xc18282 100,0xFFFFFF 63,0xd0a0a0 65,0xd3a5a5 93,0xf7eded 100,0xFFFFFF 71,0xdab5b5 39,0xb16363 36,0xae5b5b 35,0xac5959 36,0xae5b5b 37,0xaf5e5e 52,0xc28484 100,0xFFFFFF 62,0xcf9e9e 50,0xc07f7f 92,0xf5eaea 50,0xc07f7f 37,0xaf5e5e 100,0xFFFFFF 23,0x9d3a3a 13,0x902121 11,0x8e1c1c 10,0x8c1919 10,0x8c1919 9,0x8b1616 9,0x8b1616 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 10,0x8c1919 10,0x8c1919 11,0x8e1c1c 11,0x8e1c1c 12,0x8f1e1e 13,0x902121 13,0x902121 14,0x912323 14,0x912323 15,0x932626 16,0x942828 17,0x952b2b 19,0x983030 86,0xeedbdb 100,0xFFFFFF 100,0xFFFFFF 47,0xbc7777 89,0xf1e2e2 100,0xFFFFFF 57,0xc89191 55,0xc68c8c 43,0xb76d6d 51,0xc18282 18,0x972d2d 16,0x942828 15,0x932626 15,0x932626 16,0x942828 17,0x952b2b 19,0x983030 22,0x9c3838 40,0xb36666 100,0xFFFFFF 17,0x952b2b 13,0x902121 12,0x8f1e1e 9,0x8b1616 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 10,0x8c1919 11,0x8e1c1c 18,0x972d2d 32,0xa85151 42,0xb56b6b 40,0xb36666 50,0xc07f7f 19,0x983030 19,0x983030 21,0x9a3535 100,0xFFFFFF 33,0xaa5454 33,0xaa5454 58,0xca9393 100,0xFFFFFF 60,0xcc9999 71,0xdab5b5 94,0xf8efef 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 80,0xe6cccc 68,0xd7adad 58,0xca9393 56,0xc78e8e 100,0xFFFFFF 76,0xe1c1c1 83,0xead3d3 52,0xc28484 35,0xac5959 33,0xaa5454 33,0xaa5454 34,0xab5656 34,0xab5656 35,0xac5959 36,0xae5b5b 38,0xb06060 41,0xb46868 45,0xb97272 48,0xbd7a7a 51,0xc18282 54,0xc58989 55,0xc68c8c 56,0xc78e8e 100,0xFFFFFF 67,0xd5aaaa 100,0xFFFFFF 100,0xFFFFFF 92,0xf5eaea 89,0xf1e2e2 84,0xebd6d6 65,0xd3a5a5 65,0xd3a5a5 66,0xd4a8a8 67,0xd5aaaa 77,0xe2c4c4 62,0xcf9e9e 62,0xcf9e9e 61,0xce9b9b 49,0xbe7c7c 49,0xbe7c7c 100,0xFFFFFF 84,0xebd6d6 67,0xd5aaaa 100,0xFFFFFF 69,0xd8afaf 53,0xc38787 44,0xb87070 31,0xa74f4f 29,0xa54949 29,0xa54949 29,0xa54949 30,0xa64c4c 58,0xca9393 93,0xf7eded 53,0xc38787 98,0xfdf9f9 38,0xb06060 37,0xaf5e5e 38,0xb06060 39,0xb16363 43,0xb76d6d 100,0xFFFFFF 100,0xFFFFFF 44,0xb87070 44,0xb87070 43,0xb76d6d 44,0xb87070 44,0xb87070 44,0xb87070 45,0xb97272 45,0xb97272 46,0xba7575 47,0xbc7777 49,0xbe7c7c 52,0xc28484 54,0xc58989 55,0xc68c8c 55,0xc68c8c 56,0xc78e8e 56,0xc78e8e 57,0xc89191 59,0xcb9696 61,0xce9b9b 100,0xFFFFFF 96,0xfaf4f4 100,0xFFFFFF 88,0xf0e0e0 100,0xFFFFFF 100,0xFFFFFF 52,0xc28484 51,0xc18282 49,0xbe7c7c 49,0xbe7c7c 51,0xc18282 94,0xf8efef 97,0xfcf7f7 81,0xe7cece 100,0xFFFFFF 64,0xd1a3a3 37,0xaf5e5e 34,0xab5656 35,0xac5959 36,0xae5b5b 37,0xaf5e5e 41,0xb46868 50,0xc07f7f 57,0xc89191 90,0xf3e5e5 72,0xdcb7b7 85,0xecd8d8 100,0xFFFFFF 29,0xa54949 18,0x972d2d 13,0x902121 11,0x8e1c1c 10,0x8c1919 9,0x8b1616 9,0x8b1616 9,0x8b1616 8,0x8a1414 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 10,0x8c1919 11,0x8e1c1c 11,0x8e1c1c 13,0x902121 13,0x902121 14,0x912323 14,0x912323 15,0x932626 16,0x942828 16,0x942828 17,0x952b2b 20,0x993333 23,0x9d3a3a 31,0xa74f4f 39,0xb16363 49,0xbe7c7c 62,0xcf9e9e 72,0xdcb7b7 100,0xFFFFFF 62,0xcf9e9e 72,0xdcb7b7 60,0xcc9999 16,0x942828 14,0x912323 14,0x912323 14,0x912323 16,0x942828 18,0x972d2d 20,0x993333 22,0x9c3838 53,0xc38787 22,0x9c3838 13,0x902121 10,0x8c1919 10,0x8c1919 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 8,0x8a1414 11,0x8e1c1c 23,0x9d3a3a 30,0xa64c4c 51,0xc18282 25,0xa03f3f 22,0x9c3838 28,0xa34747 22,0x9c3838 22,0x9c3838 30,0xa64c4c 93,0xf7eded 88,0xf0e0e0 39,0xb16363 38,0xb06060 91,0xf4e8e8 83,0xead3d3 72,0xdcb7b7 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 77,0xe2c4c4 100,0xFFFFFF 56,0xc78e8e 56,0xc78e8e 61,0xce9b9b 91,0xf4e8e8 100,0xFFFFFF 43,0xb76d6d 33,0xaa5454 32,0xa85151 33,0xaa5454 34,0xab5656 35,0xac5959 35,0xac5959 36,0xae5b5b 39,0xb16363 100,0xFFFFFF 47,0xbc7777 48,0xbd7a7a 100,0xFFFFFF 100,0xFFFFFF 57,0xc89191 57,0xc89191 59,0xcb9696 100,0xFFFFFF 100,0xFFFFFF 91,0xf4e8e8 81,0xe7cece 75,0xe0bfbf 69,0xd8afaf 67,0xd5aaaa 66,0xd4a8a8 65,0xd3a5a5 64,0xd1a3a3 100,0xFFFFFF 58,0xca9393 57,0xc89191 55,0xc68c8c 51,0xc18282 55,0xc68c8c 100,0xFFFFFF 77,0xe2c4c4 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 87,0xefdddd 31,0xa74f4f 28,0xa34747 28,0xa34747 28,0xa34747 30,0xa64c4c 65,0xd3a5a5 44,0xb87070 42,0xb56b6b 43,0xb76d6d 39,0xb16363 40,0xb36666 41,0xb46868 45,0xb97272 99,0xfefcfc 51,0xc18282 48,0xbd7a7a 45,0xb97272 45,0xb97272 44,0xb87070 44,0xb87070 43,0xb76d6d 43,0xb76d6d 44,0xb87070 45,0xb97272 46,0xba7575 47,0xbc7777 50,0xc07f7f 62,0xcf9e9e 74,0xdebcbc 56,0xc78e8e 56,0xc78e8e 56,0xc78e8e 55,0xc68c8c 55,0xc68c8c 68,0xd7adad 80,0xe6cccc 100,0xFFFFFF 88,0xf0e0e0 91,0xf4e8e8 100,0xFFFFFF 100,0xFFFFFF 68,0xd7adad 50,0xc07f7f 47,0xbc7777 47,0xbc7777 48,0xbd7a7a 88,0xf0e0e0 55,0xc68c8c 45,0xb97272 61,0xce9b9b 42,0xb56b6b 34,0xab5656 32,0xa85151 33,0xaa5454 36,0xae5b5b 37,0xaf5e5e 38,0xb06060 44,0xb87070 76,0xe1c1c1 70,0xd9b2b2 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 80,0xe6cccc 45,0xb97272 56,0xc78e8e 17,0x952b2b 13,0x902121 10,0x8c1919 9,0x8b1616 9,0x8b1616 8,0x8a1414 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 10,0x8c1919 11,0x8e1c1c 13,0x902121 14,0x912323 16,0x942828 16,0x942828 15,0x932626 16,0x942828 16,0x942828 17,0x952b2b 19,0x983030 33,0xaa5454 34,0xab5656 28,0xa34747 70,0xd9b2b2 61,0xce9b9b 100,0xFFFFFF 96,0xfaf4f4 100,0xFFFFFF 83,0xead3d3 54,0xc58989 21,0x9a3535 19,0x983030 13,0x902121 13,0x902121 14,0x912323 16,0x942828 100,0xFFFFFF 36,0xae5b5b 28,0xa34747 63,0xd0a0a0 14,0x912323 11,0x8e1c1c 10,0x8c1919 9,0x8b1616 8,0x8a1414 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 8,0x8a1414 10,0x8c1919 24,0x9e3d3d 51,0xc18282 33,0xaa5454 19,0x983030 17,0x952b2b 48,0xbd7a7a 100,0xFFFFFF 75,0xe0bfbf 77,0xe2c4c4 85,0xecd8d8 100,0xFFFFFF 73,0xddbaba 36,0xae5b5b 41,0xb46868 49,0xbe7c7c 73,0xddbaba 100,0xFFFFFF 95,0xf9f2f2 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 81,0xe7cece 68,0xd7adad 60,0xcc9999 49,0xbe7c7c 50,0xc07f7f 100,0xFFFFFF 100,0xFFFFFF 98,0xfdf9f9 74,0xdebcbc 31,0xa74f4f 31,0xa74f4f 33,0xaa5454 34,0xab5656 35,0xac5959 35,0xac5959 37,0xaf5e5e 54,0xc58989 45,0xb97272 51,0xc18282 51,0xc18282 100,0xFFFFFF 61,0xce9b9b 59,0xcb9696 60,0xcc9999 100,0xFFFFFF 67,0xd5aaaa 73,0xddbaba 79,0xe5c9c9 77,0xe2c4c4 74,0xdebcbc 71,0xdab5b5 74,0xdebcbc 69,0xd8afaf 69,0xd8afaf 64,0xd1a3a3 59,0xcb9696 57,0xc89191 55,0xc68c8c 54,0xc58989 53,0xc38787 56,0xc78e8e 100,0xFFFFFF 71,0xdab5b5 83,0xead3d3 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 37,0xaf5e5e 30,0xa64c4c 27,0xa24444 27,0xa24444 27,0xa24444 29,0xa54949 43,0xb76d6d 48,0xbd7a7a 35,0xac5959 88,0xf0e0e0 54,0xc58989 100,0xFFFFFF 47,0xbc7777 100,0xFFFFFF 70,0xd9b2b2 50,0xc07f7f 47,0xbc7777 46,0xba7575 45,0xb97272 45,0xb97272 45,0xb97272 43,0xb76d6d 43,0xb76d6d 43,0xb76d6d 100,0xFFFFFF 56,0xc78e8e 49,0xbe7c7c 51,0xc18282 100,0xFFFFFF 60,0xcc9999 57,0xc89191 57,0xc89191 100,0xFFFFFF 55,0xc68c8c 52,0xc28484 91,0xf4e8e8 52,0xc28484 54,0xc58989 66,0xd4a8a8 97,0xfcf7f7 100,0xFFFFFF 100,0xFFFFFF 51,0xc18282 49,0xbe7c7c 47,0xbc7777 46,0xba7575 45,0xb97272 89,0xf1e2e2 40,0xb36666 39,0xb16363 100,0xFFFFFF 32,0xa85151 30,0xa64c4c 30,0xa64c4c 34,0xab5656 52,0xc28484 40,0xb36666 39,0xb16363 42,0xb56b6b 100,0xFFFFFF 80,0xe6cccc 76,0xe1c1c1 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 54,0xc58989 23,0x9d3a3a 100,0xFFFFFF 13,0x902121 10,0x8c1919 9,0x8b1616 9,0x8b1616 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 12,0x8f1e1e 13,0x902121 17,0x952b2b 21,0x9a3535 67,0xd5aaaa 100,0xFFFFFF 21,0x9a3535 17,0x952b2b 17,0x952b2b 18,0x972d2d 19,0x983030 24,0x9e3d3d 66,0xd4a8a8 68,0xd7adad 38,0xb06060 48,0xbd7a7a 74,0xdebcbc 100,0xFFFFFF 100,0xFFFFFF 78,0xe3c6c6 37,0xaf5e5e 63,0xd0a0a0 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 13,0x902121 58,0xca9393 38,0xb06060 22,0x9c3838 20,0x993333 15,0x932626 12,0x8f1e1e 11,0x8e1c1c 10,0x8c1919 9,0x8b1616 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 8,0x8a1414 10,0x8c1919 13,0x902121 66,0xd4a8a8 39,0xb16363 19,0x983030 15,0x932626 15,0x932626 19,0x983030 100,0xFFFFFF 34,0xab5656 88,0xf0e0e0 100,0xFFFFFF 52,0xc28484 29,0xa54949 100,0xFFFFFF 100,0xFFFFFF 58,0xca9393 62,0xcf9e9e 73,0xddbaba 90,0xf3e5e5 98,0xfdf9f9 75,0xe0bfbf 68,0xd7adad 68,0xd7adad 100,0xFFFFFF 45,0xb97272 100,0xFFFFFF 39,0xb16363 53,0xc38787 32,0xa85151 29,0xa54949 29,0xa54949 31,0xa74f4f 44,0xb87070 38,0xb06060 36,0xae5b5b 37,0xaf5e5e 37,0xaf5e5e 39,0xb16363 43,0xb76d6d 100,0xFFFFFF 60,0xcc9999 100,0xFFFFFF 65,0xd3a5a5 62,0xcf9e9e 61,0xce9b9b 100,0xFFFFFF 73,0xddbaba 95,0xf9f2f2 78,0xe3c6c6 79,0xe5c9c9 90,0xf3e5e5 89,0xf1e2e2 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 63,0xd0a0a0 76,0xe1c1c1 56,0xc78e8e 55,0xc68c8c 54,0xc58989 55,0xc68c8c 57,0xc89191 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 91,0xf4e8e8 59,0xcb9696 100,0xFFFFFF 29,0xa54949 27,0xa24444 26,0xa14242 26,0xa14242 26,0xa14242 31,0xa74f4f 91,0xf4e8e8 32,0xa85151 31,0xa74f4f 75,0xe0bfbf 68,0xd7adad 100,0xFFFFFF 68,0xd7adad 66,0xd4a8a8 59,0xcb9696 49,0xbe7c7c 48,0xbd7a7a 52,0xc28484 48,0xbd7a7a 55,0xc68c8c 45,0xb97272 41,0xb46868 41,0xb46868 100,0xFFFFFF 100,0xFFFFFF 60,0xcc9999 62,0xcf9e9e 100,0xFFFFFF 100,0xFFFFFF 61,0xce9b9b 66,0xd4a8a8 90,0xf3e5e5 100,0xFFFFFF 50,0xc07f7f 48,0xbd7a7a 48,0xbd7a7a 51,0xc18282 84,0xebd6d6 62,0xcf9e9e 100,0xFFFFFF 100,0xFFFFFF 46,0xba7575 45,0xb97272 46,0xba7575 45,0xb97272 45,0xb97272 41,0xb46868 37,0xaf5e5e 36,0xae5b5b 40,0xb36666 30,0xa64c4c 28,0xa34747 28,0xa34747 70,0xd9b2b2 36,0xae5b5b 47,0xbc7777 46,0xba7575 46,0xba7575 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 68,0xd7adad 46,0xba7575 61,0xce9b9b 17,0x952b2b 12,0x8f1e1e 10,0x8c1919 9,0x8b1616 9,0x8b1616 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 9,0x8b1616 10,0x8c1919 14,0x912323 19,0x983030 94,0xf8efef 59,0xcb9696 100,0xFFFFFF 30,0xa64c4c 100,0xFFFFFF 20,0x993333 19,0x983030 19,0x983030 21,0x9a3535 38,0xb06060 56,0xc78e8e 40,0xb36666 37,0xaf5e5e 39,0xb16363 49,0xbe7c7c 60,0xcc9999 100,0xFFFFFF 44,0xb87070 75,0xe0bfbf 19,0x983030 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 12,0x8f1e1e 25,0xa03f3f 92,0xf5eaea 20,0x993333 17,0x952b2b 15,0x932626 13,0x902121 11,0x8e1c1c 9,0x8b1616 9,0x8b1616 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 10,0x8c1919 13,0x902121 17,0x952b2b 51,0xc18282 50,0xc07f7f 13,0x902121 12,0x8f1e1e 12,0x8f1e1e 14,0x912323 21,0x9a3535 41,0xb46868 66,0xd4a8a8 83,0xead3d3 20,0x993333 22,0x9c3838 28,0xa34747 55,0xc68c8c 47,0xbc7777 77,0xe2c4c4 56,0xc78e8e 62,0xcf9e9e 89,0xf1e2e2 54,0xc58989 49,0xbe7c7c 41,0xb46868 44,0xb87070 43,0xb76d6d 34,0xab5656 40,0xb36666 28,0xa34747 26,0xa14242 27,0xa24444 56,0xc78e8e 40,0xb36666 100,0xFFFFFF 38,0xb06060 37,0xaf5e5e 38,0xb06060 39,0xb16363 47,0xbc7777 82,0xe8d1d1 88,0xf0e0e0 77,0xe2c4c4 71,0xdab5b5 66,0xd4a8a8 70,0xd9b2b2 100,0xFFFFFF 100,0xFFFFFF 84,0xebd6d6 81,0xe7cece 85,0xecd8d8 100,0xFFFFFF 100,0xFFFFFF 86,0xeedbdb 87,0xefdddd 100,0xFFFFFF 100,0xFFFFFF 72,0xdcb7b7 74,0xdebcbc 58,0xca9393 57,0xc89191 53,0xc38787 54,0xc58989 56,0xc78e8e 61,0xce9b9b 66,0xd4a8a8 96,0xfaf4f4 65,0xd3a5a5 46,0xba7575 33,0xaa5454 29,0xa54949 25,0xa03f3f 25,0xa03f3f 25,0xa03f3f 25,0xa03f3f 30,0xa64c4c 29,0xa54949 28,0xa34747 28,0xa34747 33,0xaa5454 48,0xbd7a7a 100,0xFFFFFF 95,0xf9f2f2 59,0xcb9696 55,0xc68c8c 52,0xc28484 56,0xc78e8e 100,0xFFFFFF 58,0xca9393 73,0xddbaba 92,0xf5eaea 41,0xb46868 39,0xb16363 100,0xFFFFFF 43,0xb76d6d 43,0xb76d6d 100,0xFFFFFF 81,0xe7cece 67,0xd5aaaa 100,0xFFFFFF 77,0xe2c4c4 99,0xfefcfc 83,0xead3d3 54,0xc58989 46,0xba7575 47,0xbc7777 56,0xc78e8e 77,0xe2c4c4 43,0xb76d6d 42,0xb56b6b 42,0xb56b6b 43,0xb76d6d 45,0xb97272 46,0xba7575 47,0xbc7777 55,0xc68c8c 100,0xFFFFFF 54,0xc58989 34,0xab5656 28,0xa34747 26,0xa14242 26,0xa14242 27,0xa24444 29,0xa54949 32,0xa85151 100,0xFFFFFF 67,0xd5aaaa 49,0xbe7c7c 47,0xbc7777 51,0xc18282 59,0xcb9696 63,0xd0a0a0 100,0xFFFFFF 53,0xc38787 34,0xab5656 52,0xc28484 37,0xaf5e5e 12,0x8f1e1e 10,0x8c1919 9,0x8b1616 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 10,0x8c1919 11,0x8e1c1c 32,0xa85151 54,0xc58989 39,0xb16363 73,0xddbaba 22,0x9c3838 23,0x9d3a3a 36,0xae5b5b 23,0x9d3a3a 20,0x993333 22,0x9c3838 39,0xb16363 31,0xa74f4f 52,0xc28484 79,0xe5c9c9 83,0xead3d3 30,0xa64c4c 79,0xe5c9c9 34,0xab5656 34,0xab5656 21,0x9a3535 16,0x942828 11,0x8e1c1c 10,0x8c1919 10,0x8c1919 10,0x8c1919 11,0x8e1c1c 15,0x932626 41,0xb46868 85,0xecd8d8 22,0x9c3838 35,0xac5959 39,0xb16363 89,0xf1e2e2 10,0x8c1919 9,0x8b1616 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 10,0x8c1919 29,0xa54949 34,0xab5656 90,0xf3e5e5 21,0x9a3535 11,0x8e1c1c 10,0x8c1919 11,0x8e1c1c 11,0x8e1c1c 16,0x942828 14,0x912323 14,0x912323 15,0x932626 17,0x952b2b 19,0x983030 100,0xFFFFFF 43,0xb76d6d 39,0xb16363 72,0xdcb7b7 39,0xb16363 73,0xddbaba 43,0xb76d6d 100,0xFFFFFF 31,0xa74f4f 39,0xb16363 50,0xc07f7f 65,0xd3a5a5 80,0xe6cccc 25,0xa03f3f 24,0x9e3d3d 25,0xa03f3f 26,0xa14242 30,0xa64c4c 33,0xaa5454 100,0xFFFFFF 41,0xb46868 41,0xb46868 44,0xb87070 41,0xb46868 47,0xbc7777 100,0xFFFFFF 100,0xFFFFFF 82,0xe8d1d1 69,0xd8afaf 67,0xd5aaaa 74,0xdebcbc 100,0xFFFFFF 94,0xf8efef 88,0xf0e0e0 98,0xfdf9f9 94,0xf8efef 99,0xfefcfc 100,0xFFFFFF 91,0xf4e8e8 88,0xf0e0e0 89,0xf1e2e2 87,0xefdddd 100,0xFFFFFF 70,0xd9b2b2 93,0xf7eded 100,0xFFFFFF 52,0xc28484 52,0xc28484 79,0xe5c9c9 80,0xe6cccc 100,0xFFFFFF 48,0xbd7a7a 51,0xc18282 100,0xFFFFFF 31,0xa74f4f 26,0xa14242 25,0xa03f3f 24,0x9e3d3d 24,0x9e3d3d 24,0x9e3d3d 24,0x9e3d3d 26,0xa14242 26,0xa14242 27,0xa24444 29,0xa54949 42,0xb56b6b 81,0xe7cece 76,0xe1c1c1 57,0xc89191 56,0xc78e8e 68,0xd7adad 100,0xFFFFFF 66,0xd4a8a8 64,0xd1a3a3 92,0xf5eaea 100,0xFFFFFF 100,0xFFFFFF 37,0xaf5e5e 36,0xae5b5b 37,0xaf5e5e 39,0xb16363 45,0xb97272 58,0xca9393 71,0xdab5b5 100,0xFFFFFF 97,0xfcf7f7 100,0xFFFFFF 76,0xe1c1c1 61,0xce9b9b 45,0xb97272 43,0xb76d6d 52,0xc28484 43,0xb76d6d 39,0xb16363 39,0xb16363 40,0xb36666 44,0xb87070 48,0xbd7a7a 47,0xbc7777 50,0xc07f7f 58,0xca9393 69,0xd8afaf 56,0xc78e8e 100,0xFFFFFF 27,0xa24444 25,0xa03f3f 25,0xa03f3f 27,0xa24444 29,0xa54949 55,0xc68c8c 69,0xd8afaf 97,0xfcf7f7 69,0xd8afaf 42,0xb56b6b 45,0xb97272 96,0xfaf4f4 48,0xbd7a7a 43,0xb76d6d 100,0xFFFFFF 24,0x9e3d3d 22,0x9c3838 39,0xb16363 14,0x912323 12,0x8f1e1e 10,0x8c1919 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 17,0x952b2b 17,0x952b2b 49,0xbe7c7c 71,0xdab5b5 47,0xbc7777 24,0x9e3d3d 19,0x983030 21,0x9a3535 34,0xab5656 25,0xa03f3f 25,0xa03f3f 31,0xa74f4f 52,0xc28484 38,0xb06060 100,0xFFFFFF 100,0xFFFFFF 39,0xb16363 18,0x972d2d 18,0x972d2d 33,0xaa5454 100,0xFFFFFF 14,0x912323 25,0xa03f3f 10,0x8c1919 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 12,0x8f1e1e 36,0xae5b5b 35,0xac5959 53,0xc38787 36,0xae5b5b 100,0xFFFFFF 35,0xac5959 12,0x8f1e1e 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 8,0x8a1414 11,0x8e1c1c 17,0x952b2b 10,0x8c1919 11,0x8e1c1c 11,0x8e1c1c 10,0x8c1919 9,0x8b1616 9,0x8b1616 9,0x8b1616 10,0x8c1919 11,0x8e1c1c 11,0x8e1c1c 14,0x912323 40,0xb36666 22,0x9c3838 34,0xab5656 94,0xf8efef 53,0xc38787 67,0xd5aaaa 55,0xc68c8c 100,0xFFFFFF 74,0xdebcbc 36,0xae5b5b 23,0x9d3a3a 29,0xa54949 79,0xe5c9c9 100,0xFFFFFF 78,0xe3c6c6 22,0x9c3838 23,0x9d3a3a 24,0x9e3d3d 26,0xa14242 28,0xa34747 78,0xe3c6c6 62,0xcf9e9e 100,0xFFFFFF 100,0xFFFFFF 81,0xe7cece 44,0xb87070 46,0xba7575 63,0xd0a0a0 79,0xe5c9c9 100,0xFFFFFF 67,0xd5aaaa 68,0xd7adad 71,0xdab5b5 81,0xe7cece 88,0xf0e0e0 92,0xf5eaea 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 84,0xebd6d6 79,0xe5c9c9 75,0xe0bfbf 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 52,0xc28484 48,0xbd7a7a 50,0xc07f7f 50,0xc07f7f 100,0xFFFFFF 39,0xb16363 38,0xb06060 41,0xb46868 31,0xa74f4f 27,0xa24444 24,0x9e3d3d 23,0x9d3a3a 23,0x9d3a3a 23,0x9d3a3a 23,0x9d3a3a 24,0x9e3d3d 25,0xa03f3f 26,0xa14242 28,0xa34747 31,0xa74f4f 36,0xae5b5b 43,0xb76d6d 100,0xFFFFFF 58,0xca9393 68,0xd7adad 78,0xe3c6c6 70,0xd9b2b2 66,0xd4a8a8 72,0xdcb7b7 52,0xc28484 44,0xb87070 35,0xac5959 35,0xac5959 36,0xae5b5b 39,0xb16363 53,0xc38787 55,0xc68c8c 78,0xe3c6c6 100,0xFFFFFF 100,0xFFFFFF 88,0xf0e0e0 63,0xd0a0a0 100,0xFFFFFF 58,0xca9393 39,0xb16363 40,0xb36666 40,0xb36666 38,0xb06060 38,0xb06060 39,0xb16363 100,0xFFFFFF 57,0xc89191 50,0xc07f7f 52,0xc28484 91,0xf4e8e8 100,0xFFFFFF 100,0xFFFFFF 43,0xb76d6d 25,0xa03f3f 23,0x9d3a3a 24,0x9e3d3d 57,0xc89191 33,0xaa5454 42,0xb56b6b 86,0xeedbdb 100,0xFFFFFF 70,0xd9b2b2 34,0xab5656 34,0xab5656 74,0xdebcbc 38,0xb06060 38,0xb06060 31,0xa74f4f 42,0xb56b6b 18,0x972d2d 28,0xa34747 86,0xeedbdb 24,0x9e3d3d 10,0x8c1919 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 9,0x8b1616 11,0x8e1c1c 27,0xa24444 57,0xc89191 37,0xaf5e5e 35,0xac5959 21,0x9a3535 18,0x972d2d 18,0x972d2d 100,0xFFFFFF 70,0xd9b2b2 66,0xd4a8a8 40,0xb36666 100,0xFFFFFF 42,0xb56b6b 31,0xa74f4f 100,0xFFFFFF 100,0xFFFFFF 14,0x912323 39,0xb16363 46,0xba7575 13,0x902121 10,0x8c1919 9,0x8b1616 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 10,0x8c1919 15,0x932626 83,0xead3d3 78,0xe3c6c6 19,0x983030 69,0xd8afaf 52,0xc28484 10,0x8c1919 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 10,0x8c1919 11,0x8e1c1c 15,0x932626 23,0x9d3a3a 25,0xa03f3f 86,0xeedbdb 52,0xc28484 19,0x983030 18,0x972d2d 24,0x9e3d3d 43,0xb76d6d 71,0xdab5b5 19,0x983030 49,0xbe7c7c 32,0xa85151 58,0xca9393 92,0xf5eaea 20,0x993333 20,0x993333 22,0x9c3838 28,0xa34747 27,0xa24444 31,0xa74f4f 33,0xaa5454 100,0xFFFFFF 61,0xce9b9b 50,0xc07f7f 47,0xbc7777 45,0xb97272 46,0xba7575 51,0xc18282 80,0xe6cccc 59,0xcb9696 100,0xFFFFFF 70,0xd9b2b2 73,0xddbaba 100,0xFFFFFF 97,0xfcf7f7 97,0xfcf7f7 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 81,0xe7cece 76,0xe1c1c1 77,0xe2c4c4 88,0xf0e0e0 80,0xe6cccc 50,0xc07f7f 46,0xba7575 45,0xb97272 47,0xbc7777 47,0xbc7777 36,0xae5b5b 34,0xab5656 94,0xf8efef 36,0xae5b5b 48,0xbd7a7a 24,0x9e3d3d 23,0x9d3a3a 23,0x9d3a3a 23,0x9d3a3a 23,0x9d3a3a 24,0x9e3d3d 25,0xa03f3f 26,0xa14242 32,0xa85151 100,0xFFFFFF 36,0xae5b5b 41,0xb46868 81,0xe7cece 66,0xd4a8a8 100,0xFFFFFF 100,0xFFFFFF 98,0xfdf9f9 100,0xFFFFFF 56,0xc78e8e 49,0xbe7c7c 52,0xc28484 33,0xaa5454 33,0xaa5454 58,0xca9393 41,0xb46868 67,0xd5aaaa 100,0xFFFFFF 69,0xd8afaf 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 48,0xbd7a7a 55,0xc68c8c 40,0xb36666 37,0xaf5e5e 36,0xae5b5b 36,0xae5b5b 36,0xae5b5b 37,0xaf5e5e 38,0xb06060 40,0xb36666 54,0xc58989 100,0xFFFFFF 57,0xc89191 69,0xd8afaf 100,0xFFFFFF 100,0xFFFFFF 46,0xba7575 23,0x9d3a3a 21,0x9a3535 23,0x9d3a3a 59,0xcb9696 27,0xa24444 25,0xa03f3f 24,0x9e3d3d 25,0xa03f3f 24,0x9e3d3d 26,0xa14242 29,0xa54949 40,0xb36666 39,0xb16363 53,0xc38787 39,0xb16363 21,0x9a3535 15,0x932626 14,0x912323 16,0x942828 11,0x8e1c1c 9,0x8b1616 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 9,0x8b1616 11,0x8e1c1c 80,0xe6cccc 83,0xead3d3 71,0xdab5b5 57,0xc89191 19,0x983030 17,0x952b2b 16,0x942828 15,0x932626 16,0x942828 17,0x952b2b 19,0x983030 17,0x952b2b 14,0x912323 78,0xe3c6c6 13,0x902121 11,0x8e1c1c 11,0x8e1c1c 66,0xd4a8a8 22,0x9c3838 10,0x8c1919 9,0x8b1616 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 14,0x912323 10,0x8c1919 11,0x8e1c1c 12,0x8f1e1e 80,0xe6cccc 11,0x8e1c1c 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 10,0x8c1919 12,0x8f1e1e 47,0xbc7777 14,0x912323 12,0x8f1e1e 12,0x8f1e1e 13,0x902121 79,0xe5c9c9 19,0x983030 16,0x942828 15,0x932626 15,0x932626 66,0xd4a8a8 19,0x983030 17,0x952b2b 17,0x952b2b 17,0x952b2b 18,0x972d2d 100,0xFFFFFF 100,0xFFFFFF 31,0xa74f4f 100,0xFFFFFF 41,0xb46868 56,0xc78e8e 75,0xe0bfbf 54,0xc58989 48,0xbd7a7a 46,0xba7575 46,0xba7575 47,0xbc7777 99,0xfefcfc 63,0xd0a0a0 88,0xf0e0e0 80,0xe6cccc 76,0xe1c1c1 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 98,0xfdf9f9 100,0xFFFFFF 78,0xe3c6c6 100,0xFFFFFF 84,0xebd6d6 59,0xcb9696 55,0xc68c8c 45,0xb97272 43,0xb76d6d 43,0xb76d6d 100,0xFFFFFF 35,0xac5959 32,0xa85151 30,0xa64c4c 27,0xa24444 24,0x9e3d3d 22,0x9c3838 21,0x9a3535 22,0x9c3838 22,0x9c3838 23,0x9d3a3a 24,0x9e3d3d 25,0xa03f3f 26,0xa14242 29,0xa54949 74,0xdebcbc 41,0xb46868 43,0xb76d6d 100,0xFFFFFF 84,0xebd6d6 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 80,0xe6cccc 90,0xf3e5e5 60,0xcc9999 100,0xFFFFFF 30,0xa64c4c 32,0xa85151 39,0xb16363 38,0xb06060 44,0xb87070 35,0xac5959 45,0xb97272 61,0xce9b9b 62,0xcf9e9e 100,0xFFFFFF 41,0xb46868 58,0xca9393 38,0xb06060 36,0xae5b5b 35,0xac5959 35,0xac5959 35,0xac5959 36,0xae5b5b 38,0xb06060 39,0xb16363 50,0xc07f7f 81,0xe7cece 100,0xFFFFFF 97,0xfcf7f7 99,0xfefcfc 100,0xFFFFFF 29,0xa54949 20,0x993333 19,0x983030 20,0x993333 62,0xcf9e9e 100,0xFFFFFF 20,0x993333 19,0x983030 20,0x993333 21,0x9a3535 54,0xc58989 32,0xa85151 71,0xdab5b5 100,0xFFFFFF 84,0xebd6d6 82,0xe8d1d1 49,0xbe7c7c 14,0x912323 12,0x8f1e1e 10,0x8c1919 10,0x8c1919 9,0x8b1616 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 7,0x881111 8,0x8a1414 9,0x8b1616 11,0x8e1c1c 100,0xFFFFFF 81,0xe7cece 62,0xcf9e9e 51,0xc18282 22,0x9c3838 16,0x942828 15,0x932626 14,0x912323 13,0x902121 12,0x8f1e1e 12,0x8f1e1e 11,0x8e1c1c 11,0x8e1c1c 68,0xd7adad 10,0x8c1919 9,0x8b1616 9,0x8b1616 11,0x8e1c1c 100,0xFFFFFF 9,0x8b1616 8,0x8a1414 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 9,0x8b1616 10,0x8c1919 99,0xfefcfc 11,0x8e1c1c 8,0x8a1414 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 12,0x8f1e1e 12,0x8f1e1e 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 14,0x912323 41,0xb46868 13,0x902121 13,0x902121 13,0x902121 97,0xfcf7f7 17,0x952b2b 15,0x932626 15,0x932626 15,0x932626 17,0x952b2b 69,0xd8afaf 24,0x9e3d3d 31,0xa74f4f 100,0xFFFFFF 46,0xba7575 73,0xddbaba 83,0xead3d3 99,0xfefcfc 73,0xddbaba 45,0xb97272 46,0xba7575 47,0xbc7777 50,0xc07f7f 58,0xca9393 100,0xFFFFFF 86,0xeedbdb 80,0xe6cccc 85,0xecd8d8 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 97,0xfcf7f7 100,0xFFFFFF 100,0xFFFFFF 67,0xd5aaaa 100,0xFFFFFF 56,0xc78e8e 50,0xc07f7f 45,0xb97272 43,0xb76d6d 41,0xb46868 39,0xb16363 38,0xb06060 62,0xcf9e9e 100,0xFFFFFF 26,0xa14242 23,0x9d3a3a 21,0x9a3535 21,0x9a3535 21,0x9a3535 22,0x9c3838 23,0x9d3a3a 25,0xa03f3f 26,0xa14242 27,0xa24444 30,0xa64c4c 100,0xFFFFFF 78,0xe3c6c6 47,0xbc7777 47,0xbc7777 66,0xd4a8a8 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 51,0xc18282 70,0xd9b2b2 36,0xae5b5b 27,0xa24444 28,0xa34747 66,0xd4a8a8 30,0xa64c4c 29,0xa54949 30,0xa64c4c 32,0xa85151 38,0xb06060 35,0xac5959 75,0xe0bfbf 35,0xac5959 35,0xac5959 35,0xac5959 35,0xac5959 35,0xac5959 35,0xac5959 35,0xac5959 36,0xae5b5b 43,0xb76d6d 43,0xb76d6d 89,0xf1e2e2 66,0xd4a8a8 36,0xae5b5b 41,0xb46868 47,0xbc7777 29,0xa54949 24,0x9e3d3d 19,0x983030 18,0x972d2d 18,0x972d2d 19,0x983030 21,0x9a3535 18,0x972d2d 18,0x972d2d 19,0x983030 20,0x993333 100,0xFFFFFF 44,0xb87070 83,0xead3d3 94,0xf8efef 59,0xcb9696 100,0xFFFFFF 48,0xbd7a7a 25,0xa03f3f 11,0x8e1c1c 10,0x8c1919 9,0x8b1616 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 7,0x881111 8,0x8a1414 11,0x8e1c1c 13,0x902121 15,0x932626 28,0xa34747 36,0xae5b5b 29,0xa54949 22,0x9c3838 17,0x952b2b 15,0x932626 13,0x902121 12,0x8f1e1e 11,0x8e1c1c 10,0x8c1919 10,0x8c1919 9,0x8b1616 9,0x8b1616 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 9,0x8b1616 8,0x8a1414 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 12,0x8f1e1e 12,0x8f1e1e 13,0x902121 14,0x912323 14,0x912323 14,0x912323 16,0x942828 43,0xb76d6d 21,0x9a3535 19,0x983030 22,0x9c3838 37,0xaf5e5e 81,0xe7cece 100,0xFFFFFF 61,0xce9b9b 72,0xdcb7b7 41,0xb46868 68,0xd7adad 50,0xc07f7f 51,0xc18282 56,0xc78e8e 100,0xFFFFFF 100,0xFFFFFF 79,0xe5c9c9 83,0xead3d3 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 97,0xfcf7f7 86,0xeedbdb 77,0xe2c4c4 66,0xd4a8a8 64,0xd1a3a3 100,0xFFFFFF 75,0xe0bfbf 100,0xFFFFFF 42,0xb56b6b 42,0xb56b6b 48,0xbd7a7a 100,0xFFFFFF 48,0xbd7a7a 67,0xd5aaaa 78,0xe3c6c6 23,0x9d3a3a 20,0x993333 20,0x993333 20,0x993333 22,0x9c3838 100,0xFFFFFF 49,0xbe7c7c 56,0xc78e8e 29,0xa54949 44,0xb87070 43,0xb76d6d 100,0xFFFFFF 67,0xd5aaaa 38,0xb06060 100,0xFFFFFF 100,0xFFFFFF 72,0xdcb7b7 89,0xf1e2e2 45,0xb97272 86,0xeedbdb 45,0xb97272 26,0xa14242 25,0xa03f3f 25,0xa03f3f 27,0xa24444 27,0xa24444 27,0xa24444 27,0xa24444 29,0xa54949 29,0xa54949 31,0xa74f4f 32,0xa85151 33,0xaa5454 33,0xaa5454 34,0xab5656 34,0xab5656 34,0xab5656 34,0xab5656 34,0xab5656 34,0xab5656 75,0xe0bfbf 38,0xb06060 31,0xa74f4f 29,0xa54949 34,0xab5656 100,0xFFFFFF 100,0xFFFFFF 24,0x9e3d3d 20,0x993333 17,0x952b2b 17,0x952b2b 17,0x952b2b 16,0x942828 17,0x952b2b 17,0x952b2b 17,0x952b2b 17,0x952b2b 18,0x972d2d 20,0x993333 21,0x9a3535 25,0xa03f3f 32,0xa85151 95,0xf9f2f2 55,0xc68c8c 48,0xbd7a7a 14,0x912323 11,0x8e1c1c 9,0x8b1616 9,0x8b1616 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 7,0x881111 12,0x8f1e1e 52,0xc28484 53,0xc38787 20,0x993333 67,0xd5aaaa 50,0xc07f7f 100,0xFFFFFF 85,0xecd8d8 64,0xd1a3a3 19,0x983030 13,0x902121 11,0x8e1c1c 11,0x8e1c1c 10,0x8c1919 9,0x8b1616 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 10,0x8c1919 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 12,0x8f1e1e 13,0x902121 13,0x902121 13,0x902121 14,0x912323 16,0x942828 16,0x942828 17,0x952b2b 19,0x983030 21,0x9a3535 69,0xd8afaf 85,0xecd8d8 67,0xd5aaaa 36,0xae5b5b 37,0xaf5e5e 43,0xb76d6d 68,0xd7adad 91,0xf4e8e8 57,0xc89191 68,0xd7adad 66,0xd4a8a8 76,0xe1c1c1 95,0xf9f2f2 93,0xf7eded 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 86,0xeedbdb 100,0xFFFFFF 63,0xd0a0a0 66,0xd4a8a8 100,0xFFFFFF 100,0xFFFFFF 41,0xb46868 41,0xb46868 43,0xb76d6d 49,0xbe7c7c 62,0xcf9e9e 100,0xFFFFFF 77,0xe2c4c4 30,0xa64c4c 22,0x9c3838 19,0x983030 19,0x983030 19,0x983030 22,0x9c3838 51,0xc18282 32,0xa85151 37,0xaf5e5e 100,0xFFFFFF 100,0xFFFFFF 92,0xf5eaea 82,0xe8d1d1 62,0xcf9e9e 25,0xa03f3f 30,0xa64c4c 67,0xd5aaaa 31,0xa74f4f 90,0xf3e5e5 100,0xFFFFFF 23,0x9d3a3a 23,0x9d3a3a 23,0x9d3a3a 23,0x9d3a3a 23,0x9d3a3a 24,0x9e3d3d 25,0xa03f3f 26,0xa14242 27,0xa24444 28,0xa34747 29,0xa54949 30,0xa64c4c 31,0xa74f4f 33,0xaa5454 33,0xaa5454 33,0xaa5454 34,0xab5656 34,0xab5656 33,0xaa5454 33,0xaa5454 32,0xa85151 38,0xb06060 99,0xfefcfc 30,0xa64c4c 27,0xa24444 27,0xa24444 30,0xa64c4c 77,0xe2c4c4 21,0x9a3535 18,0x972d2d 17,0x952b2b 16,0x942828 16,0x942828 15,0x932626 15,0x932626 16,0x942828 16,0x942828 17,0x952b2b 17,0x952b2b 19,0x983030 20,0x993333 69,0xd8afaf 36,0xae5b5b 43,0xb76d6d 40,0xb36666 18,0x972d2d 100,0xFFFFFF 11,0x8e1c1c 9,0x8b1616 9,0x8b1616 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 8,0x8a1414 10,0x8c1919 16,0x942828 100,0xFFFFFF 58,0xca9393 92,0xf5eaea 61,0xce9b9b 47,0xbc7777 27,0xa24444 24,0x9e3d3d 66,0xd4a8a8 13,0x902121 10,0x8c1919 9,0x8b1616 9,0x8b1616 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 10,0x8c1919 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 12,0x8f1e1e 12,0x8f1e1e 13,0x902121 13,0x902121 14,0x912323 15,0x932626 16,0x942828 17,0x952b2b 17,0x952b2b 19,0x983030 21,0x9a3535 23,0x9d3a3a 27,0xa24444 32,0xa85151 43,0xb76d6d 51,0xc18282 70,0xd9b2b2 62,0xcf9e9e 58,0xca9393 58,0xca9393 62,0xcf9e9e 90,0xf3e5e5 100,0xFFFFFF 92,0xf5eaea 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 97,0xfcf7f7 100,0xFFFFFF 77,0xe2c4c4 74,0xdebcbc 57,0xc89191 57,0xc89191 52,0xc28484 45,0xb97272 36,0xae5b5b 100,0xFFFFFF 45,0xb97272 54,0xc58989 77,0xe2c4c4 97,0xfcf7f7 87,0xefdddd 63,0xd0a0a0 22,0x9c3838 18,0x972d2d 18,0x972d2d 18,0x972d2d 27,0xa24444 48,0xbd7a7a 28,0xa34747 26,0xa14242 27,0xa24444 59,0xcb9696 22,0x9c3838 21,0x9a3535 20,0x993333 25,0xa03f3f 100,0xFFFFFF 25,0xa03f3f 25,0xa03f3f 22,0x9c3838 20,0x993333 21,0x9a3535 21,0x9a3535 21,0x9a3535 22,0x9c3838 23,0x9d3a3a 24,0x9e3d3d 25,0xa03f3f 25,0xa03f3f 27,0xa24444 28,0xa34747 30,0xa64c4c 31,0xa74f4f 32,0xa85151 33,0xaa5454 33,0xaa5454 34,0xab5656 34,0xab5656 34,0xab5656 33,0xaa5454 33,0xaa5454 31,0xa74f4f 29,0xa54949 28,0xa34747 26,0xa14242 25,0xa03f3f 26,0xa14242 100,0xFFFFFF 37,0xaf5e5e 22,0x9c3838 18,0x972d2d 16,0x942828 15,0x932626 15,0x932626 15,0x932626 15,0x932626 15,0x932626 16,0x942828 17,0x952b2b 17,0x952b2b 18,0x972d2d 19,0x983030 22,0x9c3838 29,0xa54949 58,0xca9393 100,0xFFFFFF 15,0x932626 12,0x8f1e1e 10,0x8c1919 9,0x8b1616 9,0x8b1616 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 7,0x881111 8,0x8a1414 9,0x8b1616 17,0x952b2b 76,0xe1c1c1 100,0xFFFFFF 56,0xc78e8e 36,0xae5b5b 39,0xb16363 47,0xbc7777 89,0xf1e2e2 95,0xf9f2f2 12,0x8f1e1e 9,0x8b1616 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 10,0x8c1919 10,0x8c1919 11,0x8e1c1c 11,0x8e1c1c 12,0x8f1e1e 12,0x8f1e1e 13,0x902121 13,0x902121 14,0x912323 15,0x932626 15,0x932626 16,0x942828 17,0x952b2b 19,0x983030 22,0x9c3838 23,0x9d3a3a 25,0xa03f3f 28,0xa34747 31,0xa74f4f 70,0xd9b2b2 100,0xFFFFFF 79,0xe5c9c9 100,0xFFFFFF 100,0xFFFFFF 63,0xd0a0a0 68,0xd7adad 72,0xdcb7b7 77,0xe2c4c4 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 99,0xfefcfc 100,0xFFFFFF 89,0xf1e2e2 100,0xFFFFFF 83,0xead3d3 74,0xdebcbc 72,0xdcb7b7 54,0xc58989 51,0xc18282 43,0xb76d6d 39,0xb16363 33,0xaa5454 37,0xaf5e5e 71,0xdab5b5 54,0xc58989 82,0xe8d1d1 100,0xFFFFFF 95,0xf9f2f2 78,0xe3c6c6 19,0x983030 17,0x952b2b 17,0x952b2b 17,0x952b2b 22,0x9c3838 48,0xbd7a7a 31,0xa74f4f 24,0x9e3d3d 21,0x9a3535 19,0x983030 18,0x972d2d 17,0x952b2b 18,0x972d2d 19,0x983030 54,0xc58989 18,0x972d2d 18,0x972d2d 18,0x972d2d 19,0x983030 19,0x983030 20,0x993333 21,0x9a3535 22,0x9c3838 23,0x9d3a3a 24,0x9e3d3d 25,0xa03f3f 25,0xa03f3f 27,0xa24444 30,0xa64c4c 39,0xb16363 51,0xc18282 35,0xac5959 34,0xab5656 34,0xab5656 34,0xab5656 35,0xac5959 35,0xac5959 35,0xac5959 34,0xab5656 32,0xa85151 29,0xa54949 27,0xa24444 25,0xa03f3f 24,0x9e3d3d 24,0x9e3d3d 53,0xc38787 81,0xe7cece 46,0xba7575 25,0xa03f3f 16,0x942828 15,0x932626 15,0x932626 15,0x932626 15,0x932626 15,0x932626 16,0x942828 16,0x942828 18,0x972d2d 19,0x983030 20,0x993333 21,0x9a3535 36,0xae5b5b 43,0xb76d6d 23,0x9d3a3a 15,0x932626 11,0x8e1c1c 10,0x8c1919 9,0x8b1616 9,0x8b1616 8,0x8a1414 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 7,0x881111 8,0x8a1414 11,0x8e1c1c 69,0xd8afaf 21,0x9a3535 48,0xbd7a7a 100,0xFFFFFF 41,0xb46868 100,0xFFFFFF 100,0xFFFFFF 38,0xb06060 13,0x902121 9,0x8b1616 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 9,0x8b1616 10,0x8c1919 10,0x8c1919 11,0x8e1c1c 11,0x8e1c1c 12,0x8f1e1e 12,0x8f1e1e 13,0x902121 13,0x902121 14,0x912323 15,0x932626 15,0x932626 16,0x942828 18,0x972d2d 100,0xFFFFFF 89,0xf1e2e2 29,0xa54949 26,0xa14242 27,0xa24444 30,0xa64c4c 100,0xFFFFFF 90,0xf3e5e5 68,0xd7adad 48,0xbd7a7a 51,0xc18282 97,0xfcf7f7 93,0xf7eded 68,0xd7adad 75,0xe0bfbf 82,0xe8d1d1 85,0xecd8d8 97,0xfcf7f7 85,0xecd8d8 100,0xFFFFFF 83,0xead3d3 76,0xe1c1c1 67,0xd5aaaa 100,0xFFFFFF 100,0xFFFFFF 51,0xc18282 54,0xc58989 71,0xdab5b5 32,0xa85151 33,0xaa5454 100,0xFFFFFF 89,0xf1e2e2 41,0xb46868 99,0xfefcfc 87,0xefdddd 58,0xca9393 25,0xa03f3f 20,0x993333 16,0x942828 16,0x942828 16,0x942828 17,0x952b2b 35,0xac5959 100,0xFFFFFF 37,0xaf5e5e 48,0xbd7a7a 18,0x972d2d 17,0x952b2b 16,0x942828 16,0x942828 16,0x942828 16,0x942828 17,0x952b2b 17,0x952b2b 17,0x952b2b 18,0x972d2d 19,0x983030 20,0x993333 22,0x9c3838 23,0x9d3a3a 24,0x9e3d3d 25,0xa03f3f 25,0xa03f3f 26,0xa14242 27,0xa24444 81,0xe7cece 40,0xb36666 43,0xb76d6d 43,0xb76d6d 35,0xac5959 35,0xac5959 35,0xac5959 35,0xac5959 37,0xaf5e5e 48,0xbd7a7a 100,0xFFFFFF 62,0xcf9e9e 62,0xcf9e9e 29,0xa54949 27,0xa24444 23,0x9d3a3a 22,0x9c3838 20,0x993333 21,0x9a3535 19,0x983030 17,0x952b2b 14,0x912323 14,0x912323 14,0x912323 14,0x912323 14,0x912323 15,0x932626 15,0x932626 16,0x942828 19,0x983030 25,0xa03f3f 24,0x9e3d3d 23,0x9d3a3a 67,0xd5aaaa 100,0xFFFFFF 17,0x952b2b 13,0x902121 11,0x8e1c1c 10,0x8c1919 10,0x8c1919 9,0x8b1616 8,0x8a1414 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 7,0x881111 7,0x881111 9,0x8b1616 10,0x8c1919 12,0x8f1e1e 15,0x932626 25,0xa03f3f 38,0xb06060 59,0xcb9696 63,0xd0a0a0 37,0xaf5e5e 35,0xac5959 9,0x8b1616 7,0x881111 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 10,0x8c1919 10,0x8c1919 11,0x8e1c1c 11,0x8e1c1c 12,0x8f1e1e 12,0x8f1e1e 13,0x902121 14,0x912323 14,0x912323 15,0x932626 15,0x932626 16,0x942828 18,0x972d2d 100,0xFFFFFF 29,0xa54949 31,0xa74f4f 29,0xa54949 46,0xba7575 32,0xa85151 33,0xaa5454 37,0xaf5e5e 41,0xb46868 42,0xb56b6b 85,0xecd8d8 85,0xecd8d8 100,0xFFFFFF 60,0xcc9999 77,0xe2c4c4 100,0xFFFFFF 71,0xdab5b5 100,0xFFFFFF 74,0xdebcbc 76,0xe1c1c1 100,0xFFFFFF 100,0xFFFFFF 62,0xcf9e9e 55,0xc68c8c 47,0xbc7777 46,0xba7575 100,0xFFFFFF 74,0xdebcbc 27,0xa24444 24,0x9e3d3d 25,0xa03f3f 25,0xa03f3f 41,0xb46868 45,0xb97272 35,0xac5959 27,0xa24444 20,0x993333 16,0x942828 15,0x932626 15,0x932626 15,0x932626 16,0x942828 20,0x993333 100,0xFFFFFF 100,0xFFFFFF 99,0xfefcfc 20,0x993333 16,0x942828 16,0x942828 15,0x932626 15,0x932626 15,0x932626 16,0x942828 16,0x942828 17,0x952b2b 17,0x952b2b 18,0x972d2d 21,0x9a3535 100,0xFFFFFF 36,0xae5b5b 34,0xab5656 26,0xa14242 26,0xa14242 27,0xa24444 28,0xa34747 30,0xa64c4c 36,0xae5b5b 45,0xb97272 39,0xb16363 36,0xae5b5b 36,0xae5b5b 36,0xae5b5b 37,0xaf5e5e 39,0xb16363 90,0xf3e5e5 100,0xFFFFFF 100,0xFFFFFF 64,0xd1a3a3 54,0xc58989 59,0xcb9696 25,0xa03f3f 22,0x9c3838 19,0x983030 17,0x952b2b 16,0x942828 15,0x932626 14,0x912323 13,0x902121 13,0x902121 13,0x902121 14,0x912323 14,0x912323 15,0x932626 18,0x972d2d 52,0xc28484 72,0xdcb7b7 32,0xa85151 28,0xa34747 61,0xce9b9b 55,0xc68c8c 15,0x932626 13,0x902121 12,0x8f1e1e 11,0x8e1c1c 10,0x8c1919 10,0x8c1919 9,0x8b1616 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 7,0x881111 8,0x8a1414 10,0x8c1919 12,0x8f1e1e 14,0x912323 19,0x983030 32,0xa85151 35,0xac5959 26,0xa14242 76,0xe1c1c1 10,0x8c1919 8,0x8a1414 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 10,0x8c1919 10,0x8c1919 11,0x8e1c1c 12,0x8f1e1e 12,0x8f1e1e 13,0x902121 14,0x912323 14,0x912323 15,0x932626 15,0x932626 16,0x942828 16,0x942828 18,0x972d2d 20,0x993333 100,0xFFFFFF 92,0xf5eaea 33,0xaa5454 39,0xb16363 100,0xFFFFFF 35,0xac5959 35,0xac5959 37,0xaf5e5e 38,0xb06060 40,0xb36666 44,0xb87070 50,0xc07f7f 51,0xc18282 53,0xc38787 58,0xca9393 61,0xce9b9b 64,0xd1a3a3 75,0xe0bfbf 68,0xd7adad 58,0xca9393 64,0xd1a3a3 100,0xFFFFFF 100,0xFFFFFF 42,0xb56b6b 42,0xb56b6b 37,0xaf5e5e 36,0xae5b5b 24,0x9e3d3d 21,0x9a3535 21,0x9a3535 23,0x9d3a3a 27,0xa24444 78,0xe3c6c6 55,0xc68c8c 20,0x993333 29,0xa54949 15,0x932626 14,0x912323 14,0x912323 14,0x912323 14,0x912323 15,0x932626 18,0x972d2d 28,0xa34747 21,0x9a3535 16,0x942828 15,0x932626 15,0x932626 15,0x932626 15,0x932626 15,0x932626 15,0x932626 16,0x942828 16,0x942828 17,0x952b2b 19,0x983030 35,0xac5959 61,0xce9b9b 34,0xab5656 41,0xb46868 29,0xa54949 27,0xa24444 27,0xa24444 29,0xa54949 33,0xaa5454 100,0xFFFFFF 43,0xb76d6d 39,0xb16363 37,0xaf5e5e 37,0xaf5e5e 38,0xb06060 76,0xe1c1c1 42,0xb56b6b 49,0xbe7c7c 86,0xeedbdb 100,0xFFFFFF 70,0xd9b2b2 39,0xb16363 35,0xac5959 100,0xFFFFFF 55,0xc68c8c 76,0xe1c1c1 17,0x952b2b 15,0x932626 14,0x912323 13,0x902121 13,0x902121 13,0x902121 13,0x902121 13,0x902121 14,0x912323 15,0x932626 71,0xdab5b5 45,0xb97272 27,0xa24444 25,0xa03f3f 100,0xFFFFFF 30,0xa64c4c 17,0x952b2b 14,0x912323 13,0x902121 12,0x8f1e1e 12,0x8f1e1e 11,0x8e1c1c 10,0x8c1919 10,0x8c1919 8,0x8a1414 8,0x8a1414 8,0x8a1414 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 7,0x881111 8,0x8a1414 11,0x8e1c1c 100,0xFFFFFF 87,0xefdddd 20,0x993333 62,0xcf9e9e 69,0xd8afaf 14,0x912323 87,0xefdddd 10,0x8c1919 8,0x8a1414 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 10,0x8c1919 10,0x8c1919 12,0x8f1e1e 13,0x902121 15,0x932626 17,0x952b2b 16,0x942828 16,0x942828 16,0x942828 16,0x942828 16,0x942828 17,0x952b2b 18,0x972d2d 19,0x983030 35,0xac5959 64,0xd1a3a3 71,0xdab5b5 43,0xb76d6d 38,0xb06060 37,0xaf5e5e 36,0xae5b5b 35,0xac5959 37,0xaf5e5e 40,0xb36666 78,0xe3c6c6 48,0xbd7a7a 47,0xbc7777 53,0xc38787 63,0xd0a0a0 85,0xecd8d8 54,0xc58989 82,0xe8d1d1 88,0xf0e0e0 50,0xc07f7f 74,0xdebcbc 100,0xFFFFFF 47,0xbc7777 39,0xb16363 39,0xb16363 33,0xaa5454 27,0xa24444 21,0x9a3535 19,0x983030 21,0x9a3535 25,0xa03f3f 28,0xa34747 100,0xFFFFFF 27,0xa24444 15,0x932626 14,0x912323 13,0x902121 13,0x902121 13,0x902121 13,0x902121 14,0x912323 14,0x912323 16,0x942828 18,0x972d2d 15,0x932626 14,0x912323 14,0x912323 14,0x912323 14,0x912323 14,0x912323 15,0x932626 15,0x932626 15,0x932626 16,0x942828 16,0x942828 43,0xb76d6d 70,0xd9b2b2 33,0xaa5454 28,0xa34747 37,0xaf5e5e 31,0xa74f4f 29,0xa54949 100,0xFFFFFF 32,0xa85151 49,0xbe7c7c 74,0xdebcbc 47,0xbc7777 41,0xb46868 41,0xb46868 39,0xb16363 39,0xb16363 47,0xbc7777 49,0xbe7c7c 48,0xbd7a7a 64,0xd1a3a3 57,0xc89191 78,0xe3c6c6 53,0xc38787 41,0xb46868 93,0xf7eded 100,0xFFFFFF 33,0xaa5454 18,0x972d2d 15,0x932626 14,0x912323 13,0x902121 13,0x902121 12,0x8f1e1e 12,0x8f1e1e 13,0x902121 13,0x902121 15,0x932626 21,0x9a3535 53,0xc38787 29,0xa54949 22,0x9c3838 20,0x993333 18,0x972d2d 16,0x942828 15,0x932626 14,0x912323 14,0x912323 14,0x912323 18,0x972d2d 15,0x932626 22,0x9c3838 10,0x8c1919 9,0x8b1616 8,0x8a1414 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 7,0x881111 9,0x8b1616 96,0xfaf4f4 22,0x9c3838 27,0xa24444 64,0xd1a3a3 18,0x972d2d 13,0x902121 10,0x8c1919 40,0xb36666 10,0x8c1919 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 10,0x8c1919 11,0x8e1c1c 15,0x932626 18,0x972d2d 62,0xcf9e9e 32,0xa85151 57,0xc89191 72,0xdcb7b7 18,0x972d2d 17,0x952b2b 17,0x952b2b 17,0x952b2b 19,0x983030 21,0x9a3535 27,0xa24444 97,0xfcf7f7 67,0xd5aaaa 48,0xbd7a7a 41,0xb46868 40,0xb36666 42,0xb56b6b 33,0xaa5454 100,0xFFFFFF 100,0xFFFFFF 67,0xd5aaaa 64,0xd1a3a3 45,0xb97272 42,0xb56b6b 82,0xe8d1d1 87,0xefdddd 44,0xb87070 43,0xb76d6d 55,0xc68c8c 53,0xc38787 55,0xc68c8c 100,0xFFFFFF 34,0xab5656 41,0xb46868 47,0xbc7777 73,0xddbaba 61,0xce9b9b 20,0x993333 18,0x972d2d 21,0x9a3535 31,0xa74f4f 26,0xa14242 19,0x983030 16,0x942828 14,0x912323 13,0x902121 13,0x902121 13,0x902121 13,0x902121 13,0x902121 13,0x902121 13,0x902121 13,0x902121 13,0x902121 14,0x912323 14,0x912323 14,0x912323 14,0x912323 14,0x912323 14,0x912323 14,0x912323 14,0x912323 15,0x932626 16,0x942828 16,0x942828 21,0x9a3535 95,0xf9f2f2 30,0xa64c4c 24,0x9e3d3d 100,0xFFFFFF 100,0xFFFFFF 37,0xaf5e5e 55,0xc68c8c 37,0xaf5e5e 81,0xe7cece 94,0xf8efef 97,0xfcf7f7 65,0xd3a5a5 100,0xFFFFFF 41,0xb46868 44,0xb87070 67,0xd5aaaa 56,0xc78e8e 73,0xddbaba 56,0xc78e8e 55,0xc68c8c 51,0xc18282 46,0xba7575 44,0xb87070 46,0xba7575 80,0xe6cccc 60,0xcc9999 19,0x983030 16,0x942828 14,0x912323 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 15,0x932626 66,0xd4a8a8 66,0xd4a8a8 100,0xFFFFFF 25,0xa03f3f 20,0x993333 18,0x972d2d 16,0x942828 16,0x942828 16,0x942828 16,0x942828 27,0xa24444 44,0xb87070 60,0xcc9999 21,0x9a3535 16,0x942828 10,0x8c1919 9,0x8b1616 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 9,0x8b1616 100,0xFFFFFF 57,0xc89191 12,0x8f1e1e 10,0x8c1919 9,0x8b1616 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 8,0x8a1414 10,0x8c1919 12,0x8f1e1e 13,0x902121 31,0xa74f4f 77,0xe2c4c4 86,0xeedbdb 34,0xab5656 33,0xaa5454 46,0xba7575 42,0xb56b6b 18,0x972d2d 18,0x972d2d 19,0x983030 57,0xc89191 48,0xbd7a7a 27,0xa24444 37,0xaf5e5e 47,0xbc7777 68,0xd7adad 100,0xFFFFFF 50,0xc07f7f 100,0xFFFFFF 32,0xa85151 29,0xa54949 31,0xa74f4f 75,0xe0bfbf 100,0xFFFFFF 81,0xe7cece 50,0xc07f7f 35,0xac5959 39,0xb16363 39,0xb16363 39,0xb16363 53,0xc38787 64,0xd1a3a3 64,0xd1a3a3 28,0xa34747 33,0xaa5454 62,0xcf9e9e 84,0xebd6d6 100,0xFFFFFF 53,0xc38787 18,0x972d2d 16,0x942828 17,0x952b2b 46,0xba7575 25,0xa03f3f 33,0xaa5454 16,0x942828 14,0x912323 13,0x902121 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 13,0x902121 13,0x902121 13,0x902121 13,0x902121 13,0x902121 13,0x902121 14,0x912323 14,0x912323 14,0x912323 15,0x932626 17,0x952b2b 64,0xd1a3a3 62,0xcf9e9e 88,0xf0e0e0 22,0x9c3838 22,0x9c3838 31,0xa74f4f 100,0xFFFFFF 50,0xc07f7f 57,0xc89191 100,0xFFFFFF 57,0xc89191 54,0xc58989 48,0xbd7a7a 45,0xb97272 43,0xb76d6d 68,0xd7adad 100,0xFFFFFF 78,0xe3c6c6 100,0xFFFFFF 60,0xcc9999 100,0xFFFFFF 100,0xFFFFFF 57,0xc89191 100,0xFFFFFF 36,0xae5b5b 31,0xa74f4f 25,0xa03f3f 25,0xa03f3f 24,0x9e3d3d 13,0x902121 12,0x8f1e1e 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 12,0x8f1e1e 13,0x902121 16,0x942828 43,0xb76d6d 37,0xaf5e5e 38,0xb06060 27,0xa24444 20,0x993333 26,0xa14242 18,0x972d2d 23,0x9d3a3a 24,0x9e3d3d 90,0xf3e5e5 100,0xFFFFFF 100,0xFFFFFF 34,0xab5656 22,0x9c3838 93,0xf7eded 12,0x8f1e1e 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 8,0x8a1414 11,0x8e1c1c 83,0xead3d3 26,0xa14242 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 9,0x8b1616 11,0x8e1c1c 19,0x983030 18,0x972d2d 64,0xd1a3a3 54,0xc58989 32,0xa85151 23,0x9d3a3a 23,0x9d3a3a 29,0xa54949 58,0xca9393 20,0x993333 19,0x983030 21,0x9a3535 26,0xa14242 33,0xaa5454 30,0xa64c4c 100,0xFFFFFF 61,0xce9b9b 100,0xFFFFFF 69,0xd8afaf 60,0xcc9999 58,0xca9393 55,0xc68c8c 25,0xa03f3f 33,0xaa5454 56,0xc78e8e 27,0xa24444 25,0xa03f3f 28,0xa34747 33,0xaa5454 37,0xaf5e5e 38,0xb06060 35,0xac5959 31,0xa74f4f 49,0xbe7c7c 22,0x9c3838 23,0x9d3a3a 25,0xa03f3f 40,0xb36666 100,0xFFFFFF 94,0xf8efef 37,0xaf5e5e 16,0x942828 14,0x912323 14,0x912323 18,0x972d2d 100,0xFFFFFF 49,0xbe7c7c 20,0x993333 13,0x902121 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 11,0x8e1c1c 11,0x8e1c1c 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 13,0x902121 13,0x902121 13,0x902121 13,0x902121 13,0x902121 14,0x912323 14,0x912323 14,0x912323 16,0x942828 19,0x983030 21,0x9a3535 23,0x9d3a3a 19,0x983030 19,0x983030 22,0x9c3838 100,0xFFFFFF 42,0xb56b6b 66,0xd4a8a8 100,0xFFFFFF 100,0xFFFFFF 77,0xe2c4c4 47,0xbc7777 46,0xba7575 46,0xba7575 59,0xcb9696 82,0xe8d1d1 72,0xdcb7b7 67,0xd5aaaa 100,0xFFFFFF 87,0xefdddd 77,0xe2c4c4 67,0xd5aaaa 100,0xFFFFFF 59,0xcb9696 28,0xa34747 21,0x9a3535 17,0x952b2b 14,0x912323 12,0x8f1e1e 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 12,0x8f1e1e 30,0xa64c4c 35,0xac5959 89,0xf1e2e2 46,0xba7575 30,0xa64c4c 100,0xFFFFFF 32,0xa85151 25,0xa03f3f 62,0xcf9e9e 45,0xb97272 59,0xcb9696 100,0xFFFFFF 59,0xcb9696 76,0xe1c1c1 15,0x932626 11,0x8e1c1c 9,0x8b1616 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 + 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 7,0x881111 29,0xa54949 15,0x932626 14,0x912323 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 9,0x8b1616 10,0x8c1919 55,0xc68c8c 38,0xb06060 39,0xb16363 44,0xb87070 22,0x9c3838 20,0x993333 21,0x9a3535 32,0xa85151 24,0x9e3d3d 22,0x9c3838 23,0x9d3a3a 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 38,0xb06060 100,0xFFFFFF 62,0xcf9e9e 90,0xf3e5e5 100,0xFFFFFF 74,0xdebcbc 47,0xbc7777 97,0xfcf7f7 20,0x993333 100,0xFFFFFF 19,0x983030 19,0x983030 28,0xa34747 35,0xac5959 40,0xb36666 42,0xb56b6b 100,0xFFFFFF 97,0xfcf7f7 29,0xa54949 26,0xa14242 19,0x983030 19,0x983030 21,0x9a3535 29,0xa54949 45,0xb97272 27,0xa24444 26,0xa14242 13,0x902121 13,0x902121 12,0x8f1e1e 13,0x902121 14,0x912323 22,0x9c3838 13,0x902121 12,0x8f1e1e 12,0x8f1e1e 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 13,0x902121 13,0x902121 13,0x902121 13,0x902121 13,0x902121 14,0x912323 14,0x912323 15,0x932626 16,0x942828 16,0x942828 17,0x952b2b 18,0x972d2d 18,0x972d2d 20,0x993333 91,0xf4e8e8 62,0xcf9e9e 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 80,0xe6cccc 61,0xce9b9b 45,0xb97272 47,0xbc7777 50,0xc07f7f 58,0xca9393 74,0xdebcbc 71,0xdab5b5 87,0xefdddd 100,0xFFFFFF 100,0xFFFFFF 86,0xeedbdb 68,0xd7adad 51,0xc18282 39,0xb16363 45,0xb97272 58,0xca9393 13,0x902121 12,0x8f1e1e 11,0x8e1c1c 11,0x8e1c1c 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 11,0x8e1c1c 12,0x8f1e1e 100,0xFFFFFF 30,0xa64c4c 37,0xaf5e5e 100,0xFFFFFF 48,0xbd7a7a 100,0xFFFFFF 60,0xcc9999 48,0xbd7a7a 70,0xd9b2b2 33,0xaa5454 56,0xc78e8e 29,0xa54949 55,0xc68c8c 65,0xd3a5a5 10,0x8c1919 8,0x8a1414 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 1,0x810202 + 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 8,0x8a1414 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 9,0x8b1616 11,0x8e1c1c 48,0xbd7a7a 100,0xFFFFFF 100,0xFFFFFF 28,0xa34747 21,0x9a3535 18,0x972d2d 18,0x972d2d 100,0xFFFFFF 100,0xFFFFFF 78,0xe3c6c6 100,0xFFFFFF 74,0xdebcbc 73,0xddbaba 86,0xeedbdb 86,0xeedbdb 39,0xb16363 80,0xe6cccc 83,0xead3d3 100,0xFFFFFF 77,0xe2c4c4 52,0xc28484 47,0xbc7777 17,0x952b2b 16,0x942828 17,0x952b2b 17,0x952b2b 20,0x993333 23,0x9d3a3a 100,0xFFFFFF 50,0xc07f7f 73,0xddbaba 94,0xf8efef 100,0xFFFFFF 18,0x972d2d 17,0x952b2b 18,0x972d2d 22,0x9c3838 27,0xa24444 68,0xd7adad 16,0x942828 21,0x9a3535 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 13,0x902121 13,0x902121 13,0x902121 13,0x902121 13,0x902121 14,0x912323 14,0x912323 15,0x932626 16,0x942828 16,0x942828 17,0x952b2b 17,0x952b2b 18,0x972d2d 22,0x9c3838 37,0xaf5e5e 94,0xf8efef 100,0xFFFFFF 67,0xd5aaaa 100,0xFFFFFF 56,0xc78e8e 44,0xb87070 47,0xbc7777 50,0xc07f7f 94,0xf8efef 100,0xFFFFFF 78,0xe3c6c6 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 55,0xc68c8c 41,0xb46868 55,0xc68c8c 28,0xa34747 13,0x902121 12,0x8f1e1e 11,0x8e1c1c 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 11,0x8e1c1c 13,0x902121 18,0x972d2d 30,0xa64c4c 100,0xFFFFFF 62,0xcf9e9e 36,0xae5b5b 55,0xc68c8c 85,0xecd8d8 100,0xFFFFFF 29,0xa54949 21,0x9a3535 21,0x9a3535 33,0xaa5454 69,0xd8afaf 10,0x8c1919 8,0x8a1414 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 1,0x810202 1,0x810202 + 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 8,0x8a1414 9,0x8b1616 12,0x8f1e1e 13,0x902121 23,0x9d3a3a 56,0xc78e8e 42,0xb56b6b 45,0xb97272 20,0x993333 16,0x942828 16,0x942828 16,0x942828 25,0xa03f3f 50,0xc07f7f 80,0xe6cccc 64,0xd1a3a3 63,0xd0a0a0 100,0xFFFFFF 100,0xFFFFFF 36,0xae5b5b 44,0xb87070 53,0xc38787 62,0xcf9e9e 100,0xFFFFFF 52,0xc28484 16,0x942828 14,0x912323 15,0x932626 16,0x942828 17,0x952b2b 19,0x983030 22,0x9c3838 29,0xa54949 78,0xe3c6c6 100,0xFFFFFF 100,0xFFFFFF 92,0xf5eaea 15,0x932626 15,0x932626 23,0x9d3a3a 27,0xa24444 40,0xb36666 15,0x932626 13,0x902121 12,0x8f1e1e 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 13,0x902121 13,0x902121 13,0x902121 13,0x902121 13,0x902121 14,0x912323 14,0x912323 15,0x932626 15,0x932626 16,0x942828 16,0x942828 17,0x952b2b 17,0x952b2b 19,0x983030 22,0x9c3838 26,0xa14242 100,0xFFFFFF 74,0xdebcbc 47,0xbc7777 37,0xaf5e5e 48,0xbd7a7a 51,0xc18282 52,0xc28484 100,0xFFFFFF 100,0xFFFFFF 81,0xe7cece 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 86,0xeedbdb 58,0xca9393 33,0xaa5454 24,0x9e3d3d 29,0xa54949 63,0xd0a0a0 12,0x8f1e1e 10,0x8c1919 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 10,0x8c1919 12,0x8f1e1e 17,0x952b2b 18,0x972d2d 64,0xd1a3a3 100,0xFFFFFF 100,0xFFFFFF 62,0xcf9e9e 100,0xFFFFFF 52,0xc28484 100,0xFFFFFF 14,0x912323 16,0x942828 22,0x9c3838 16,0x942828 10,0x8c1919 8,0x8a1414 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 1,0x810202 1,0x810202 1,0x810202 + 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 19,0x983030 64,0xd1a3a3 100,0xFFFFFF 19,0x983030 46,0xba7575 37,0xaf5e5e 27,0xa24444 20,0x993333 16,0x942828 14,0x912323 14,0x912323 13,0x902121 25,0xa03f3f 16,0x942828 17,0x952b2b 55,0xc68c8c 100,0xFFFFFF 16,0x942828 18,0x972d2d 34,0xab5656 69,0xd8afaf 22,0x9c3838 27,0xa24444 78,0xe3c6c6 13,0x902121 13,0x902121 14,0x912323 16,0x942828 18,0x972d2d 19,0x983030 22,0x9c3838 62,0xcf9e9e 40,0xb36666 89,0xf1e2e2 90,0xf3e5e5 18,0x972d2d 13,0x902121 13,0x902121 18,0x972d2d 28,0xa34747 19,0x983030 15,0x932626 12,0x8f1e1e 11,0x8e1c1c 11,0x8e1c1c 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 13,0x902121 13,0x902121 13,0x902121 13,0x902121 14,0x912323 14,0x912323 15,0x932626 15,0x932626 15,0x932626 16,0x942828 17,0x952b2b 17,0x952b2b 19,0x983030 20,0x993333 22,0x9c3838 24,0x9e3d3d 27,0xa24444 31,0xa74f4f 40,0xb36666 44,0xb87070 100,0xFFFFFF 59,0xcb9696 58,0xca9393 100,0xFFFFFF 100,0xFFFFFF 93,0xf7eded 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 77,0xe2c4c4 81,0xe7cece 74,0xdebcbc 20,0x993333 18,0x972d2d 15,0x932626 11,0x8e1c1c 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 10,0x8c1919 10,0x8c1919 12,0x8f1e1e 14,0x912323 18,0x972d2d 50,0xc07f7f 22,0x9c3838 16,0x942828 12,0x8f1e1e 12,0x8f1e1e 100,0xFFFFFF 20,0x993333 14,0x912323 11,0x8e1c1c 8,0x8a1414 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 1,0x810202 1,0x810202 1,0x810202 + 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 9,0x8b1616 11,0x8e1c1c 54,0xc58989 43,0xb76d6d 65,0xd3a5a5 58,0xca9393 100,0xFFFFFF 53,0xc38787 23,0x9d3a3a 14,0x912323 13,0x902121 12,0x8f1e1e 11,0x8e1c1c 11,0x8e1c1c 14,0x912323 12,0x8f1e1e 11,0x8e1c1c 13,0x902121 43,0xb76d6d 67,0xd5aaaa 15,0x932626 18,0x972d2d 12,0x8f1e1e 11,0x8e1c1c 11,0x8e1c1c 12,0x8f1e1e 14,0x912323 31,0xa74f4f 67,0xd5aaaa 25,0xa03f3f 26,0xa14242 80,0xe6cccc 94,0xf8efef 20,0x993333 33,0xaa5454 12,0x8f1e1e 11,0x8e1c1c 12,0x8f1e1e 13,0x902121 100,0xFFFFFF 38,0xb06060 43,0xb76d6d 12,0x8f1e1e 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 13,0x902121 13,0x902121 13,0x902121 13,0x902121 14,0x912323 14,0x912323 15,0x932626 15,0x932626 15,0x932626 16,0x942828 17,0x952b2b 18,0x972d2d 19,0x983030 20,0x993333 22,0x9c3838 24,0x9e3d3d 25,0xa03f3f 33,0xaa5454 36,0xae5b5b 60,0xcc9999 100,0xFFFFFF 91,0xf4e8e8 56,0xc78e8e 61,0xce9b9b 69,0xd8afaf 77,0xe2c4c4 86,0xeedbdb 93,0xf7eded 81,0xe7cece 64,0xd1a3a3 100,0xFFFFFF 42,0xb56b6b 62,0xcf9e9e 14,0x912323 12,0x8f1e1e 10,0x8c1919 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 10,0x8c1919 72,0xdcb7b7 18,0x972d2d 16,0x942828 11,0x8e1c1c 10,0x8c1919 10,0x8c1919 10,0x8c1919 52,0xc28484 43,0xb76d6d 37,0xaf5e5e 45,0xb97272 9,0x8b1616 7,0x881111 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 1,0x810202 1,0x810202 1,0x810202 1,0x810202 + 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 8,0x8a1414 9,0x8b1616 12,0x8f1e1e 25,0xa03f3f 100,0xFFFFFF 100,0xFFFFFF 39,0xb16363 29,0xa54949 22,0x9c3838 16,0x942828 12,0x8f1e1e 11,0x8e1c1c 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 11,0x8e1c1c 100,0xFFFFFF 13,0x902121 11,0x8e1c1c 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 11,0x8e1c1c 14,0x912323 58,0xca9393 22,0x9c3838 100,0xFFFFFF 67,0xd5aaaa 17,0x952b2b 13,0x902121 14,0x912323 12,0x8f1e1e 11,0x8e1c1c 10,0x8c1919 10,0x8c1919 10,0x8c1919 12,0x8f1e1e 92,0xf5eaea 12,0x8f1e1e 10,0x8c1919 10,0x8c1919 10,0x8c1919 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 13,0x902121 13,0x902121 13,0x902121 13,0x902121 14,0x912323 14,0x912323 15,0x932626 15,0x932626 15,0x932626 16,0x942828 16,0x942828 18,0x972d2d 25,0xa03f3f 50,0xc07f7f 41,0xb46868 26,0xa14242 26,0xa14242 28,0xa34747 30,0xa64c4c 46,0xba7575 100,0xFFFFFF 62,0xcf9e9e 49,0xbe7c7c 100,0xFFFFFF 100,0xFFFFFF 67,0xd5aaaa 99,0xfefcfc 65,0xd3a5a5 100,0xFFFFFF 51,0xc18282 36,0xae5b5b 100,0xFFFFFF 56,0xc78e8e 44,0xb87070 11,0x8e1c1c 10,0x8c1919 9,0x8b1616 9,0x8b1616 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 11,0x8e1c1c 21,0x9a3535 9,0x8b1616 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 88,0xf0e0e0 14,0x912323 32,0xa85151 8,0x8a1414 7,0x881111 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 + 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 8,0x8a1414 10,0x8c1919 13,0x902121 48,0xbd7a7a 40,0xb36666 33,0xaa5454 64,0xd1a3a3 64,0xd1a3a3 32,0xa85151 13,0x902121 10,0x8c1919 10,0x8c1919 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 11,0x8e1c1c 10,0x8c1919 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 10,0x8c1919 10,0x8c1919 17,0x952b2b 55,0xc68c8c 22,0x9c3838 17,0x952b2b 14,0x912323 12,0x8f1e1e 11,0x8e1c1c 10,0x8c1919 10,0x8c1919 9,0x8b1616 9,0x8b1616 9,0x8b1616 10,0x8c1919 10,0x8c1919 12,0x8f1e1e 10,0x8c1919 10,0x8c1919 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 13,0x902121 13,0x902121 13,0x902121 14,0x912323 14,0x912323 14,0x912323 15,0x932626 15,0x932626 15,0x932626 16,0x942828 16,0x942828 31,0xa74f4f 39,0xb16363 30,0xa64c4c 37,0xaf5e5e 29,0xa54949 27,0xa24444 29,0xa54949 31,0xa74f4f 33,0xaa5454 38,0xb06060 42,0xb56b6b 81,0xe7cece 100,0xFFFFFF 59,0xcb9696 52,0xc28484 58,0xca9393 56,0xc78e8e 45,0xb97272 56,0xc78e8e 30,0xa64c4c 21,0x9a3535 43,0xb76d6d 15,0x932626 11,0x8e1c1c 10,0x8c1919 9,0x8b1616 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 10,0x8c1919 8,0x8a1414 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 + 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 8,0x8a1414 9,0x8b1616 10,0x8c1919 13,0x902121 19,0x983030 61,0xce9b9b 57,0xc89191 100,0xFFFFFF 49,0xbe7c7c 13,0x902121 10,0x8c1919 9,0x8b1616 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 10,0x8c1919 12,0x8f1e1e 30,0xa64c4c 44,0xb87070 23,0x9d3a3a 15,0x932626 11,0x8e1c1c 10,0x8c1919 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 13,0x902121 13,0x902121 13,0x902121 14,0x912323 14,0x912323 14,0x912323 15,0x932626 15,0x932626 15,0x932626 16,0x942828 17,0x952b2b 18,0x972d2d 29,0xa54949 24,0x9e3d3d 47,0xbc7777 31,0xa74f4f 30,0xa64c4c 46,0xba7575 100,0xFFFFFF 35,0xac5959 35,0xac5959 37,0xaf5e5e 38,0xb06060 41,0xb46868 48,0xbd7a7a 46,0xba7575 47,0xbc7777 90,0xf3e5e5 38,0xb06060 33,0xaa5454 32,0xa85151 17,0x952b2b 30,0xa64c4c 36,0xae5b5b 14,0x912323 9,0x8b1616 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 + 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 8,0x8a1414 9,0x8b1616 11,0x8e1c1c 13,0x902121 16,0x942828 63,0xd0a0a0 52,0xc28484 54,0xc58989 37,0xaf5e5e 60,0xcc9999 9,0x8b1616 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 12,0x8f1e1e 18,0x972d2d 67,0xd5aaaa 52,0xc28484 39,0xb16363 10,0x8c1919 9,0x8b1616 9,0x8b1616 9,0x8b1616 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 11,0x8e1c1c 11,0x8e1c1c 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 13,0x902121 13,0x902121 14,0x912323 14,0x912323 14,0x912323 15,0x932626 15,0x932626 15,0x932626 15,0x932626 16,0x942828 17,0x952b2b 18,0x972d2d 19,0x983030 21,0x9a3535 98,0xfdf9f9 45,0xb97272 44,0xb87070 84,0xebd6d6 40,0xb36666 37,0xaf5e5e 36,0xae5b5b 35,0xac5959 40,0xb36666 47,0xbc7777 59,0xcb9696 65,0xd3a5a5 30,0xa64c4c 32,0xa85151 39,0xb16363 62,0xcf9e9e 28,0xa34747 14,0x912323 13,0x902121 15,0x932626 12,0x8f1e1e 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 + 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 9,0x8b1616 22,0x9c3838 25,0xa03f3f 20,0x993333 33,0xaa5454 54,0xc58989 18,0x972d2d 100,0xFFFFFF 10,0x8c1919 8,0x8a1414 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 10,0x8c1919 15,0x932626 35,0xac5959 16,0x942828 9,0x8b1616 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 11,0x8e1c1c 11,0x8e1c1c 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 13,0x902121 13,0x902121 14,0x912323 14,0x912323 14,0x912323 15,0x932626 15,0x932626 15,0x932626 15,0x932626 16,0x942828 16,0x942828 17,0x952b2b 18,0x972d2d 19,0x983030 23,0x9d3a3a 32,0xa85151 68,0xd7adad 60,0xcc9999 99,0xfefcfc 40,0xb36666 39,0xb16363 40,0xb36666 100,0xFFFFFF 30,0xa64c4c 30,0xa64c4c 55,0xc68c8c 29,0xa54949 25,0xa03f3f 35,0xac5959 54,0xc58989 93,0xf7eded 63,0xd0a0a0 14,0x912323 11,0x8e1c1c 10,0x8c1919 9,0x8b1616 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 + 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 12,0x8f1e1e 42,0xb56b6b 16,0x942828 20,0x993333 16,0x942828 50,0xc07f7f 14,0x912323 100,0xFFFFFF 9,0x8b1616 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 9,0x8b1616 84,0xebd6d6 11,0x8e1c1c 9,0x8b1616 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 11,0x8e1c1c 11,0x8e1c1c 12,0x8f1e1e 12,0x8f1e1e 13,0x902121 14,0x912323 14,0x912323 14,0x912323 14,0x912323 15,0x932626 15,0x932626 16,0x942828 16,0x942828 16,0x942828 16,0x942828 17,0x952b2b 17,0x952b2b 18,0x972d2d 19,0x983030 21,0x9a3535 38,0xb06060 100,0xFFFFFF 63,0xd0a0a0 48,0xbd7a7a 46,0xba7575 85,0xecd8d8 57,0xc89191 100,0xFFFFFF 100,0xFFFFFF 26,0xa14242 25,0xa03f3f 19,0x983030 19,0x983030 21,0x9a3535 28,0xa34747 40,0xb36666 23,0x9d3a3a 12,0x8f1e1e 10,0x8c1919 9,0x8b1616 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 + 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 9,0x8b1616 18,0x972d2d 98,0xfdf9f9 10,0x8c1919 9,0x8b1616 8,0x8a1414 9,0x8b1616 9,0x8b1616 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 9,0x8b1616 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 11,0x8e1c1c 12,0x8f1e1e 12,0x8f1e1e 13,0x902121 14,0x912323 18,0x972d2d 16,0x942828 16,0x942828 18,0x972d2d 17,0x952b2b 16,0x942828 16,0x942828 16,0x942828 17,0x952b2b 17,0x952b2b 17,0x952b2b 17,0x952b2b 18,0x972d2d 20,0x993333 22,0x9c3838 25,0xa03f3f 95,0xf9f2f2 88,0xf0e0e0 48,0xbd7a7a 100,0xFFFFFF 71,0xdab5b5 59,0xcb9696 49,0xbe7c7c 89,0xf1e2e2 21,0x9a3535 18,0x972d2d 16,0x942828 17,0x952b2b 19,0x983030 23,0x9d3a3a 61,0xce9b9b 14,0x912323 11,0x8e1c1c 9,0x8b1616 9,0x8b1616 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 + 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 7,0x881111 10,0x8c1919 13,0x902121 100,0xFFFFFF 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 9,0x8b1616 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 11,0x8e1c1c 13,0x902121 13,0x902121 14,0x912323 16,0x942828 36,0xae5b5b 19,0x983030 67,0xd5aaaa 31,0xa74f4f 20,0x993333 19,0x983030 18,0x972d2d 17,0x952b2b 17,0x952b2b 17,0x952b2b 17,0x952b2b 18,0x972d2d 20,0x993333 99,0xfefcfc 48,0xbd7a7a 27,0xa24444 52,0xc28484 53,0xc38787 57,0xc89191 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 69,0xd8afaf 100,0xFFFFFF 20,0x993333 15,0x932626 15,0x932626 16,0x942828 25,0xa03f3f 25,0xa03f3f 100,0xFFFFFF 12,0x8f1e1e 10,0x8c1919 9,0x8b1616 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 + 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 10,0x8c1919 10,0x8c1919 10,0x8c1919 11,0x8e1c1c 13,0x902121 68,0xd7adad 16,0x942828 16,0x942828 28,0xa34747 35,0xac5959 31,0xa74f4f 100,0xFFFFFF 51,0xc18282 88,0xf0e0e0 37,0xaf5e5e 21,0x9a3535 18,0x972d2d 18,0x972d2d 18,0x972d2d 18,0x972d2d 19,0x983030 20,0x993333 23,0x9d3a3a 35,0xac5959 30,0xa64c4c 31,0xa74f4f 99,0xfefcfc 78,0xe3c6c6 78,0xe3c6c6 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 61,0xce9b9b 16,0x942828 13,0x902121 13,0x902121 16,0x942828 87,0xefdddd 21,0x9a3535 15,0x932626 12,0x8f1e1e 10,0x8c1919 9,0x8b1616 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 + 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 10,0x8c1919 10,0x8c1919 10,0x8c1919 11,0x8e1c1c 13,0x902121 19,0x983030 21,0x9a3535 35,0xac5959 100,0xFFFFFF 76,0xe1c1c1 43,0xb76d6d 54,0xc58989 38,0xb06060 100,0xFFFFFF 49,0xbe7c7c 68,0xd7adad 22,0x9c3838 19,0x983030 19,0x983030 19,0x983030 19,0x983030 21,0x9a3535 33,0xaa5454 49,0xbe7c7c 54,0xc58989 39,0xb16363 38,0xb06060 78,0xe3c6c6 95,0xf9f2f2 86,0xeedbdb 83,0xead3d3 51,0xc18282 22,0x9c3838 14,0x912323 12,0x8f1e1e 12,0x8f1e1e 14,0x912323 80,0xe6cccc 28,0xa34747 62,0xcf9e9e 100,0xFFFFFF 12,0x8f1e1e 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 + 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 10,0x8c1919 10,0x8c1919 11,0x8e1c1c 12,0x8f1e1e 14,0x912323 100,0xFFFFFF 30,0xa64c4c 32,0xa85151 56,0xc78e8e 54,0xc58989 35,0xac5959 100,0xFFFFFF 27,0xa24444 27,0xa24444 29,0xa54949 77,0xe2c4c4 37,0xaf5e5e 20,0x993333 20,0x993333 20,0x993333 22,0x9c3838 24,0x9e3d3d 72,0xdcb7b7 74,0xdebcbc 100,0xFFFFFF 41,0xb46868 37,0xaf5e5e 43,0xb76d6d 52,0xc28484 100,0xFFFFFF 47,0xbc7777 46,0xba7575 50,0xc07f7f 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 16,0x942828 32,0xa85151 82,0xe8d1d1 30,0xa64c4c 11,0x8e1c1c 8,0x8a1414 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 + 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 10,0x8c1919 11,0x8e1c1c 12,0x8f1e1e 13,0x902121 16,0x942828 55,0xc68c8c 100,0xFFFFFF 74,0xdebcbc 40,0xb36666 100,0xFFFFFF 29,0xa54949 26,0xa14242 24,0x9e3d3d 24,0x9e3d3d 28,0xa34747 34,0xab5656 28,0xa34747 22,0x9c3838 21,0x9a3535 21,0x9a3535 24,0x9e3d3d 100,0xFFFFFF 30,0xa64c4c 44,0xb87070 55,0xc68c8c 65,0xd3a5a5 57,0xc89191 30,0xa64c4c 25,0xa03f3f 34,0xab5656 64,0xd1a3a3 16,0x942828 32,0xa85151 10,0x8c1919 10,0x8c1919 10,0x8c1919 10,0x8c1919 11,0x8e1c1c 14,0x912323 11,0x8e1c1c 48,0xbd7a7a 18,0x972d2d 8,0x8a1414 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 + 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 11,0x8e1c1c 16,0x942828 49,0xbe7c7c 15,0x932626 18,0x972d2d 75,0xe0bfbf 100,0xFFFFFF 100,0xFFFFFF 35,0xac5959 57,0xc89191 25,0xa03f3f 22,0x9c3838 22,0x9c3838 23,0x9d3a3a 47,0xbc7777 31,0xa74f4f 25,0xa03f3f 23,0x9d3a3a 23,0x9d3a3a 26,0xa14242 44,0xb87070 74,0xdebcbc 39,0xb16363 74,0xdebcbc 77,0xe2c4c4 100,0xFFFFFF 39,0xb16363 19,0x983030 18,0x972d2d 22,0x9c3838 100,0xFFFFFF 12,0x8f1e1e 10,0x8c1919 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 8,0x8a1414 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 + 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 11,0x8e1c1c 81,0xe7cece 100,0xFFFFFF 19,0x983030 21,0x9a3535 44,0xb87070 59,0xcb9696 51,0xc18282 100,0xFFFFFF 24,0x9e3d3d 21,0x9a3535 20,0x993333 20,0x993333 22,0x9c3838 70,0xd9b2b2 31,0xa74f4f 27,0xa24444 27,0xa24444 27,0xa24444 37,0xaf5e5e 44,0xb87070 52,0xc28484 45,0xb97272 43,0xb76d6d 57,0xc89191 100,0xFFFFFF 27,0xa24444 15,0x932626 16,0x942828 31,0xa74f4f 14,0x912323 11,0x8e1c1c 9,0x8b1616 9,0x8b1616 9,0x8b1616 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 + 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 10,0x8c1919 12,0x8f1e1e 60,0xcc9999 30,0xa64c4c 85,0xecd8d8 38,0xb06060 39,0xb16363 75,0xe0bfbf 56,0xc78e8e 23,0x9d3a3a 20,0x993333 19,0x983030 19,0x983030 19,0x983030 26,0xa14242 64,0xd1a3a3 51,0xc18282 67,0xd5aaaa 85,0xecd8d8 47,0xbc7777 44,0xb87070 95,0xf9f2f2 78,0xe3c6c6 55,0xc68c8c 39,0xb16363 22,0x9c3838 14,0x912323 12,0x8f1e1e 13,0x902121 41,0xb46868 43,0xb76d6d 10,0x8c1919 9,0x8b1616 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 + 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 10,0x8c1919 13,0x902121 81,0xe7cece 52,0xc28484 53,0xc38787 59,0xcb9696 45,0xb97272 31,0xa74f4f 53,0xc38787 62,0xcf9e9e 19,0x983030 18,0x972d2d 18,0x972d2d 18,0x972d2d 20,0x993333 21,0x9a3535 39,0xb16363 77,0xe2c4c4 56,0xc78e8e 100,0xFFFFFF 28,0xa34747 45,0xb97272 53,0xc38787 17,0x952b2b 36,0xae5b5b 13,0x902121 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 12,0x8f1e1e 9,0x8b1616 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 + 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 10,0x8c1919 10,0x8c1919 13,0x902121 53,0xc38787 100,0xFFFFFF 100,0xFFFFFF 65,0xd3a5a5 88,0xf0e0e0 32,0xa85151 24,0x9e3d3d 21,0x9a3535 19,0x983030 18,0x972d2d 17,0x952b2b 17,0x952b2b 17,0x952b2b 17,0x952b2b 18,0x972d2d 18,0x972d2d 24,0x9e3d3d 17,0x952b2b 51,0xc18282 16,0x942828 13,0x902121 13,0x902121 77,0xe2c4c4 12,0x8f1e1e 10,0x8c1919 10,0x8c1919 10,0x8c1919 9,0x8b1616 9,0x8b1616 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 + 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 9,0x8b1616 10,0x8c1919 11,0x8e1c1c 12,0x8f1e1e 29,0xa54949 82,0xe8d1d1 100,0xFFFFFF 66,0xd4a8a8 49,0xbe7c7c 75,0xe0bfbf 100,0xFFFFFF 20,0x993333 19,0x983030 17,0x952b2b 17,0x952b2b 16,0x942828 16,0x942828 15,0x932626 15,0x932626 15,0x932626 14,0x912323 14,0x912323 14,0x912323 13,0x902121 12,0x8f1e1e 11,0x8e1c1c 11,0x8e1c1c 10,0x8c1919 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 + 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 8,0x8a1414 9,0x8b1616 9,0x8b1616 11,0x8e1c1c 12,0x8f1e1e 13,0x902121 20,0x993333 54,0xc58989 59,0xcb9696 54,0xc58989 46,0xba7575 85,0xecd8d8 62,0xcf9e9e 23,0x9d3a3a 19,0x983030 17,0x952b2b 16,0x942828 16,0x942828 15,0x932626 15,0x932626 14,0x912323 13,0x902121 13,0x902121 13,0x902121 12,0x8f1e1e 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 10,0x8c1919 9,0x8b1616 9,0x8b1616 9,0x8b1616 9,0x8b1616 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 + 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 8,0x8a1414 9,0x8b1616 12,0x8f1e1e 73,0xddbaba 66,0xd4a8a8 15,0x932626 17,0x952b2b 25,0xa03f3f 33,0xaa5454 38,0xb06060 38,0xb06060 34,0xab5656 30,0xa64c4c 32,0xa85151 21,0x9a3535 17,0x952b2b 16,0x942828 16,0x942828 15,0x932626 14,0x912323 14,0x912323 13,0x902121 13,0x902121 12,0x8f1e1e 11,0x8e1c1c 11,0x8e1c1c 11,0x8e1c1c 10,0x8c1919 10,0x8c1919 9,0x8b1616 9,0x8b1616 9,0x8b1616 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 + 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 8,0x8a1414 23,0x9d3a3a 19,0x983030 38,0xb06060 33,0xaa5454 19,0x983030 19,0x983030 98,0xfdf9f9 42,0xb56b6b 38,0xb06060 36,0xae5b5b 30,0xa64c4c 26,0xa14242 23,0x9d3a3a 19,0x983030 18,0x972d2d 16,0x942828 15,0x932626 14,0x912323 14,0x912323 14,0x912323 13,0x902121 12,0x8f1e1e 12,0x8f1e1e 11,0x8e1c1c 11,0x8e1c1c 10,0x8c1919 10,0x8c1919 9,0x8b1616 9,0x8b1616 9,0x8b1616 8,0x8a1414 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 + 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 9,0x8b1616 14,0x912323 12,0x8f1e1e 34,0xab5656 28,0xa34747 31,0xa74f4f 58,0xca9393 48,0xbd7a7a 49,0xbe7c7c 94,0xf8efef 42,0xb56b6b 100,0xFFFFFF 31,0xa74f4f 21,0x9a3535 18,0x972d2d 17,0x952b2b 16,0x942828 14,0x912323 14,0x912323 14,0x912323 13,0x902121 12,0x8f1e1e 12,0x8f1e1e 11,0x8e1c1c 11,0x8e1c1c 10,0x8c1919 10,0x8c1919 9,0x8b1616 9,0x8b1616 8,0x8a1414 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 + 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 8,0x8a1414 9,0x8b1616 10,0x8c1919 20,0x993333 100,0xFFFFFF 39,0xb16363 61,0xce9b9b 73,0xddbaba 64,0xd1a3a3 55,0xc68c8c 51,0xc18282 80,0xe6cccc 100,0xFFFFFF 37,0xaf5e5e 21,0x9a3535 55,0xc68c8c 25,0xa03f3f 15,0x932626 14,0x912323 14,0x912323 13,0x902121 12,0x8f1e1e 12,0x8f1e1e 11,0x8e1c1c 11,0x8e1c1c 10,0x8c1919 10,0x8c1919 9,0x8b1616 9,0x8b1616 8,0x8a1414 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 + 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 8,0x8a1414 8,0x8a1414 9,0x8b1616 12,0x8f1e1e 17,0x952b2b 89,0xf1e2e2 76,0xe1c1c1 100,0xFFFFFF 100,0xFFFFFF 61,0xce9b9b 47,0xbc7777 49,0xbe7c7c 100,0xFFFFFF 71,0xdab5b5 35,0xac5959 61,0xce9b9b 18,0x972d2d 16,0x942828 15,0x932626 14,0x912323 13,0x902121 12,0x8f1e1e 12,0x8f1e1e 12,0x8f1e1e 11,0x8e1c1c 10,0x8c1919 10,0x8c1919 9,0x8b1616 9,0x8b1616 8,0x8a1414 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 + 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 8,0x8a1414 8,0x8a1414 9,0x8b1616 87,0xefdddd 86,0xeedbdb 43,0xb76d6d 72,0xdcb7b7 100,0xFFFFFF 100,0xFFFFFF 75,0xe0bfbf 100,0xFFFFFF 40,0xb36666 64,0xd1a3a3 28,0xa34747 27,0xa24444 23,0x9d3a3a 19,0x983030 17,0x952b2b 16,0x942828 16,0x942828 18,0x972d2d 14,0x912323 13,0x902121 12,0x8f1e1e 12,0x8f1e1e 11,0x8e1c1c 10,0x8c1919 10,0x8c1919 9,0x8b1616 8,0x8a1414 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 + 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 10,0x8c1919 12,0x8f1e1e 43,0xb76d6d 43,0xb76d6d 60,0xcc9999 100,0xFFFFFF 69,0xd8afaf 39,0xb16363 36,0xae5b5b 55,0xc68c8c 28,0xa34747 25,0xa03f3f 23,0x9d3a3a 25,0xa03f3f 59,0xcb9696 20,0x993333 20,0x993333 79,0xe5c9c9 15,0x932626 14,0x912323 14,0x912323 54,0xc58989 12,0x8f1e1e 11,0x8e1c1c 10,0x8c1919 9,0x8b1616 8,0x8a1414 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 + 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 9,0x8b1616 10,0x8c1919 13,0x902121 18,0x972d2d 58,0xca9393 37,0xaf5e5e 100,0xFFFFFF 35,0xac5959 35,0xac5959 33,0xaa5454 33,0xaa5454 35,0xac5959 87,0xefdddd 100,0xFFFFFF 92,0xf5eaea 60,0xcc9999 31,0xa74f4f 48,0xbd7a7a 18,0x972d2d 24,0x9e3d3d 30,0xa64c4c 27,0xa24444 14,0x912323 12,0x8f1e1e 13,0x902121 12,0x8f1e1e 9,0x8b1616 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 + 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 9,0x8b1616 10,0x8c1919 12,0x8f1e1e 14,0x912323 17,0x952b2b 23,0x9d3a3a 28,0xa34747 35,0xac5959 36,0xae5b5b 54,0xc58989 100,0xFFFFFF 41,0xb46868 40,0xb36666 58,0xca9393 57,0xc89191 31,0xa74f4f 25,0xa03f3f 22,0x9c3838 46,0xba7575 100,0xFFFFFF 36,0xae5b5b 22,0x9c3838 77,0xe2c4c4 53,0xc38787 22,0x9c3838 18,0x972d2d 10,0x8c1919 9,0x8b1616 8,0x8a1414 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 + 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 8,0x8a1414 9,0x8b1616 10,0x8c1919 11,0x8e1c1c 12,0x8f1e1e 14,0x912323 16,0x942828 83,0xead3d3 34,0xab5656 41,0xb46868 41,0xb46868 49,0xbe7c7c 58,0xca9393 50,0xc07f7f 45,0xb97272 45,0xb97272 82,0xe8d1d1 68,0xd7adad 29,0xa54949 26,0xa14242 57,0xc89191 45,0xb97272 39,0xb16363 97,0xfcf7f7 40,0xb36666 37,0xaf5e5e 18,0x972d2d 14,0x912323 11,0x8e1c1c 10,0x8c1919 9,0x8b1616 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 + 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 8,0x8a1414 10,0x8c1919 24,0x9e3d3d 26,0xa14242 15,0x932626 15,0x932626 16,0x942828 20,0x993333 100,0xFFFFFF 47,0xbc7777 100,0xFFFFFF 72,0xdcb7b7 63,0xd0a0a0 81,0xe7cece 100,0xFFFFFF 45,0xb97272 36,0xae5b5b 35,0xac5959 30,0xa64c4c 39,0xb16363 100,0xFFFFFF 46,0xba7575 59,0xcb9696 100,0xFFFFFF 99,0xfefcfc 49,0xbe7c7c 32,0xa85151 100,0xFFFFFF 90,0xf3e5e5 12,0x8f1e1e 11,0x8e1c1c 8,0x8a1414 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 + 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 10,0x8c1919 15,0x932626 70,0xd9b2b2 28,0xa34747 70,0xd9b2b2 17,0x952b2b 18,0x972d2d 100,0xFFFFFF 32,0xa85151 53,0xc38787 78,0xe3c6c6 100,0xFFFFFF 83,0xead3d3 72,0xdcb7b7 68,0xd7adad 63,0xd0a0a0 39,0xb16363 34,0xab5656 32,0xa85151 45,0xb97272 100,0xFFFFFF 57,0xc89191 77,0xe2c4c4 100,0xFFFFFF 100,0xFFFFFF 73,0xddbaba 100,0xFFFFFF 60,0xcc9999 22,0x9c3838 24,0x9e3d3d 12,0x8f1e1e 8,0x8a1414 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 9,0x8b1616 83,0xead3d3 29,0xa54949 17,0x952b2b 26,0xa14242 20,0x993333 23,0x9d3a3a 64,0xd1a3a3 33,0xaa5454 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 90,0xf3e5e5 64,0xd1a3a3 52,0xc28484 74,0xdebcbc 33,0xaa5454 33,0xaa5454 36,0xae5b5b 49,0xbe7c7c 100,0xFFFFFF 86,0xeedbdb 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 48,0xbd7a7a 32,0xa85151 16,0x942828 13,0x902121 9,0x8b1616 8,0x8a1414 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 7,0x881111 8,0x8a1414 10,0x8c1919 18,0x972d2d 100,0xFFFFFF 13,0x902121 20,0x993333 59,0xcb9696 40,0xb36666 99,0xfefcfc 37,0xaf5e5e 42,0xb56b6b 73,0xddbaba 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 100,0xFFFFFF 62,0xcf9e9e 100,0xFFFFFF 29,0xa54949 38,0xb06060 36,0xae5b5b 56,0xc78e8e 100,0xFFFFFF 89,0xf1e2e2 89,0xf1e2e2 100,0xFFFFFF 63,0xd0a0a0 44,0xb87070 31,0xa74f4f 27,0xa24444 12,0x8f1e1e 9,0x8b1616 8,0x8a1414 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 8,0x8a1414 83,0xead3d3 40,0xb36666 40,0xb36666 11,0x8e1c1c 10,0x8c1919 13,0x902121 36,0xae5b5b 69,0xd8afaf 23,0x9d3a3a 100,0xFFFFFF 71,0xdab5b5 75,0xe0bfbf 73,0xddbaba 59,0xcb9696 100,0xFFFFFF 39,0xb16363 100,0xFFFFFF 25,0xa03f3f 30,0xa64c4c 68,0xd7adad 45,0xb97272 47,0xbc7777 57,0xc89191 62,0xcf9e9e 62,0xcf9e9e 59,0xcb9696 41,0xb46868 41,0xb46868 100,0xFFFFFF 37,0xaf5e5e 9,0x8b1616 8,0x8a1414 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 8,0x8a1414 8,0x8a1414 9,0x8b1616 9,0x8b1616 8,0x8a1414 9,0x8b1616 10,0x8c1919 12,0x8f1e1e 16,0x942828 22,0x9c3838 40,0xb36666 59,0xcb9696 38,0xb06060 38,0xb06060 47,0xbc7777 100,0xFFFFFF 20,0x993333 26,0xa14242 81,0xe7cece 67,0xd5aaaa 76,0xe1c1c1 40,0xb36666 100,0xFFFFFF 47,0xbc7777 43,0xb76d6d 82,0xe8d1d1 25,0xa03f3f 39,0xb16363 34,0xab5656 39,0xb16363 10,0x8c1919 8,0x8a1414 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 9,0x8b1616 11,0x8e1c1c 25,0xa03f3f 42,0xb56b6b 90,0xf3e5e5 17,0x952b2b 53,0xc38787 17,0x952b2b 30,0xa64c4c 17,0x952b2b 16,0x942828 61,0xce9b9b 20,0x993333 34,0xab5656 30,0xa64c4c 29,0xa54949 34,0xab5656 36,0xae5b5b 44,0xb87070 42,0xb56b6b 18,0x972d2d 17,0x952b2b 20,0x993333 27,0xa24444 11,0x8e1c1c 9,0x8b1616 7,0x881111 7,0x881111 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 7,0x881111 8,0x8a1414 9,0x8b1616 44,0xb87070 11,0x8e1c1c 10,0x8c1919 14,0x912323 13,0x902121 12,0x8f1e1e 16,0x942828 13,0x902121 13,0x902121 15,0x932626 15,0x932626 17,0x952b2b 37,0xaf5e5e 27,0xa24444 47,0xbc7777 36,0xae5b5b 100,0xFFFFFF 22,0x9c3838 15,0x932626 15,0x932626 73,0xddbaba 17,0x952b2b 42,0xb56b6b 20,0x993333 8,0x8a1414 7,0x881111 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 8,0x8a1414 9,0x8b1616 9,0x8b1616 9,0x8b1616 10,0x8c1919 10,0x8c1919 10,0x8c1919 11,0x8e1c1c 12,0x8f1e1e 13,0x902121 14,0x912323 15,0x932626 22,0x9c3838 51,0xc18282 52,0xc28484 100,0xFFFFFF 92,0xf5eaea 37,0xaf5e5e 13,0x902121 12,0x8f1e1e 90,0xf3e5e5 100,0xFFFFFF 80,0xe6cccc 22,0x9c3838 8,0x8a1414 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 8,0x8a1414 8,0x8a1414 8,0x8a1414 8,0x8a1414 9,0x8b1616 10,0x8c1919 11,0x8e1c1c 12,0x8f1e1e 13,0x902121 14,0x912323 15,0x932626 17,0x952b2b 22,0x9c3838 38,0xb06060 100,0xFFFFFF 100,0xFFFFFF 44,0xb87070 14,0x912323 10,0x8c1919 9,0x8b1616 11,0x8e1c1c 9,0x8b1616 9,0x8b1616 8,0x8a1414 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 8,0x8a1414 8,0x8a1414 9,0x8b1616 10,0x8c1919 11,0x8e1c1c 12,0x8f1e1e 13,0x902121 15,0x932626 16,0x942828 17,0x952b2b 53,0xc38787 33,0xaa5454 100,0xFFFFFF 62,0xcf9e9e 21,0x9a3535 11,0x8e1c1c 8,0x8a1414 8,0x8a1414 7,0x881111 7,0x881111 7,0x881111 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 8,0x8a1414 9,0x8b1616 9,0x8b1616 11,0x8e1c1c 100,0xFFFFFF 100,0xFFFFFF 28,0xa34747 18,0x972d2d 18,0x972d2d 34,0xab5656 80,0xe6cccc 29,0xa54949 19,0x983030 100,0xFFFFFF 9,0x8b1616 8,0x8a1414 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 8,0x8a1414 9,0x8b1616 10,0x8c1919 23,0x9d3a3a 100,0xFFFFFF 51,0xc18282 25,0xa03f3f 23,0x9d3a3a 24,0x9e3d3d 44,0xb87070 57,0xc89191 21,0x9a3535 15,0x932626 75,0xe0bfbf 8,0x8a1414 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 9,0x8b1616 11,0x8e1c1c 100,0xFFFFFF 56,0xc78e8e 21,0x9a3535 20,0x993333 52,0xc28484 100,0xFFFFFF 47,0xbc7777 49,0xbe7c7c 10,0x8c1919 9,0x8b1616 8,0x8a1414 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 9,0x8b1616 100,0xFFFFFF 36,0xae5b5b 97,0xfcf7f7 22,0x9c3838 16,0x942828 14,0x912323 12,0x8f1e1e 11,0x8e1c1c 10,0x8c1919 8,0x8a1414 8,0x8a1414 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 7,0x881111 7,0x881111 9,0x8b1616 100,0xFFFFFF 100,0xFFFFFF 48,0xbd7a7a 27,0xa24444 15,0x932626 13,0x902121 11,0x8e1c1c 10,0x8c1919 9,0x8b1616 8,0x8a1414 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 7,0x881111 9,0x8b1616 12,0x8f1e1e 32,0xa85151 36,0xae5b5b 43,0xb76d6d 28,0xa34747 16,0x942828 13,0x902121 10,0x8c1919 8,0x8a1414 7,0x881111 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 7,0x881111 16,0x942828 37,0xaf5e5e 37,0xaf5e5e 65,0xd3a5a5 58,0xca9393 39,0xb16363 46,0xba7575 43,0xb76d6d 13,0x902121 8,0x8a1414 7,0x881111 6,0x870f0f 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 8,0x8a1414 10,0x8c1919 20,0x993333 69,0xd8afaf 52,0xc28484 34,0xab5656 100,0xFFFFFF 93,0xf7eded 19,0x983030 9,0x8b1616 7,0x881111 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 7,0x881111 7,0x881111 10,0x8c1919 14,0x912323 14,0x912323 17,0x952b2b 28,0xa34747 34,0xab5656 21,0x9a3535 9,0x8b1616 7,0x881111 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 7,0x881111 7,0x881111 9,0x8b1616 11,0x8e1c1c 16,0x942828 28,0xa34747 64,0xd1a3a3 10,0x8c1919 9,0x8b1616 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 7,0x881111 8,0x8a1414 50,0xc07f7f 21,0x9a3535 17,0x952b2b 10,0x8c1919 7,0x881111 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 8,0x8a1414 96,0xfaf4f4 25,0xa03f3f 10,0x8c1919 7,0x881111 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 6,0x870f0f 9,0x8b1616 30,0xa64c4c 14,0x912323 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 6,0x870f0f 7,0x881111 11,0x8e1c1c 6,0x870f0f 6,0x870f0f 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 5,0x860c0c 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 4,0x850a0a 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 3,0x830707 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 2,0x820505 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 + 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 1,0x810202 diff --git a/maps/test_maps/mars.fdf b/maps/test_maps/mars.fdf new file mode 100644 index 0000000..2537902 --- /dev/null +++ b/maps/test_maps/mars.fdf @@ -0,0 +1,116 @@ +9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 10 9 9 9 9 10 9 9 9 8 6 8 9 9 11 10 9 10 9 9 9 10 9 9 9 9 9 9 9 10 10 9 10 10 9 10 9 9 10 10 9 9 10 9 9 10 9 9 9 9 9 9 9 9 8 10 9 9 9 9 9 10 9 9 9 9 10 9 10 10 10 9 9 9 9 9 9 10 10 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 6 10 9 9 9 +9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 10 9 9 9 9 9 10 9 9 9 8 8 10 10 11 11 9 9 9 9 9 9 10 9 9 9 9 9 9 10 9 9 9 10 10 10 10 9 9 10 10 9 9 9 9 9 9 8 10 10 9 9 9 9 8 9 10 9 9 9 9 9 10 10 9 10 10 9 9 10 9 10 9 9 10 10 9 10 9 10 9 10 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 10 9 9 9 +9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 10 9 9 9 9 9 9 10 10 9 9 9 9 9 11 10 9 9 9 9 9 9 9 9 10 9 10 9 9 9 9 10 10 9 10 10 10 10 9 10 7 9 9 9 9 9 9 9 9 9 9 10 9 10 9 9 7 10 10 9 9 10 9 9 9 10 9 9 10 9 9 10 10 10 8 10 10 9 9 10 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 +9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 10 10 9 9 10 9 9 9 9 10 9 9 10 9 9 9 9 9 9 9 9 9 10 9 9 9 10 9 9 9 9 9 9 10 10 9 10 10 10 10 9 9 6 11 10 10 9 9 10 10 8 9 9 9 9 9 9 8 9 10 9 9 9 10 9 10 10 9 10 9 9 9 9 10 10 9 9 10 10 9 10 9 9 9 9 9 9 9 9 9 9 9 9 9 10 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 +9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 10 9 9 9 9 9 9 9 10 10 9 10 9 9 9 9 9 8 9 9 9 9 9 9 9 10 10 9 10 10 9 9 10 10 10 10 10 10 10 9 9 8 12 10 9 9 10 10 9 8 9 9 9 9 9 8 8 10 9 9 9 9 10 9 9 10 9 9 10 9 9 9 10 9 9 9 10 9 9 9 9 9 9 9 9 9 9 9 9 9 10 9 9 10 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 10 9 8 9 9 9 10 +9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 10 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 10 9 9 9 9 9 9 9 10 9 9 9 9 9 9 9 9 8 10 8 10 8 10 9 9 9 9 10 10 9 10 10 9 9 9 10 10 10 10 8 9 10 8 10 10 10 9 10 10 10 8 8 9 9 9 9 9 9 7 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 10 9 9 10 9 9 10 9 9 9 9 9 10 9 10 10 9 9 9 9 10 10 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 10 9 9 9 9 9 10 9 9 9 9 9 9 9 9 9 9 9 10 10 +9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 10 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 8 9 9 9 9 9 9 9 9 9 9 10 9 9 9 9 9 10 9 9 9 9 9 9 10 8 10 9 9 9 9 10 10 10 10 10 9 10 10 10 10 10 9 7 8 10 6 11 10 9 8 10 9 9 8 10 9 9 9 9 8 10 6 10 9 9 9 9 10 9 9 10 9 9 9 9 9 10 9 9 9 10 9 9 10 9 9 9 9 9 9 9 9 9 9 10 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 10 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 10 10 10 +9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 10 9 9 9 9 10 9 9 10 9 10 9 10 9 9 9 9 9 9 8 10 9 9 9 9 10 10 10 10 10 10 10 10 10 9 10 9 9 11 10 7 11 10 9 8 10 9 9 9 10 9 9 8 9 8 8 7 10 8 10 9 10 9 9 9 9 9 9 10 9 10 10 9 9 9 10 9 10 9 9 9 9 9 9 9 9 9 10 9 10 9 9 9 9 9 9 9 9 9 9 9 8 10 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 10 10 10 10 +9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 10 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 10 9 9 9 10 9 9 10 9 9 10 9 10 9 10 9 10 9 9 10 9 8 10 9 9 9 10 10 10 10 10 10 10 10 9 10 10 10 7 10 10 8 9 10 9 9 9 10 9 8 9 9 9 10 8 9 9 6 8 10 9 10 9 9 9 9 10 9 9 10 9 9 10 10 10 9 10 9 9 9 9 9 9 9 9 9 9 9 10 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 10 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 10 10 10 10 10 +9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 10 10 9 9 10 9 9 9 10 9 10 9 9 10 9 9 9 9 9 8 10 9 8 10 9 9 9 10 10 10 10 10 9 10 10 9 10 10 8 7 11 9 7 8 10 9 8 10 10 9 8 9 9 9 9 9 8 8 8 8 9 10 9 9 9 9 10 9 9 9 9 9 10 9 10 9 9 10 9 9 10 9 9 9 9 9 9 9 10 9 9 10 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 10 9 9 9 9 9 9 9 10 9 10 10 10 10 9 9 +9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 10 9 9 9 9 10 9 9 9 9 10 9 10 9 9 9 9 9 10 9 9 9 10 9 9 9 9 9 10 9 8 10 9 9 9 9 10 10 10 10 9 10 10 9 10 10 10 10 10 9 8 10 10 9 7 10 10 8 8 10 9 9 9 9 8 9 6 9 10 10 9 9 9 10 9 9 10 9 9 9 10 9 9 9 9 9 9 10 9 9 9 9 9 9 9 9 9 9 10 9 9 9 10 10 9 9 9 9 10 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 10 9 9 9 9 9 9 9 10 10 9 10 9 9 +9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 10 9 9 9 9 10 9 10 10 9 9 10 9 10 10 10 9 9 10 9 10 9 9 8 9 9 9 10 9 9 9 9 9 9 10 9 9 10 10 10 10 10 10 9 10 10 9 10 10 9 10 9 9 9 8 9 8 8 11 9 9 9 9 8 9 9 9 9 9 6 10 11 10 9 9 9 9 9 9 9 9 9 9 10 9 9 9 10 9 10 9 9 9 9 9 10 9 9 9 9 9 10 10 9 9 9 9 9 9 9 9 10 9 9 8 9 9 9 9 9 9 9 9 9 9 10 10 9 10 10 9 9 9 9 9 9 10 9 9 9 9 9 9 +9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 10 9 9 9 9 9 9 9 9 9 10 10 9 9 9 9 10 9 10 10 10 9 10 10 9 10 9 8 8 10 9 9 9 9 9 10 9 9 10 10 9 9 10 10 10 10 10 9 9 10 10 9 10 10 9 10 9 9 8 8 9 8 10 10 8 9 9 8 9 9 9 9 9 9 7 9 11 9 9 9 9 9 9 9 9 10 9 9 10 9 9 9 10 9 10 10 9 9 9 9 10 9 9 9 9 10 10 10 9 9 9 9 9 9 9 10 9 7 9 9 9 9 9 9 9 9 9 9 9 10 10 10 9 10 9 9 9 9 9 10 9 9 9 9 9 9 9 9 +9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 10 9 9 9 10 10 9 9 9 9 10 9 9 9 9 9 9 9 10 9 10 9 9 9 9 10 9 7 10 9 9 9 9 10 9 9 9 9 10 9 9 9 10 10 10 10 10 9 9 10 10 9 10 9 9 10 8 9 7 8 9 10 10 10 8 9 8 8 9 9 9 8 9 8 7 10 11 9 9 9 9 9 9 9 9 9 10 10 9 9 10 9 9 10 9 9 9 9 9 9 9 9 9 9 9 10 10 9 9 9 10 9 9 9 9 10 9 8 10 9 9 9 9 9 9 9 9 9 9 10 9 10 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 +9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 10 9 9 10 9 10 9 9 9 9 9 9 10 9 9 9 9 10 9 10 7 7 9 9 9 10 10 9 9 9 9 10 10 9 7 11 9 9 9 9 10 9 8 9 9 10 9 9 10 9 10 10 10 10 9 10 10 10 9 10 9 9 10 8 10 7 10 9 10 10 9 9 9 8 8 10 9 9 9 9 9 7 10 10 9 9 9 9 10 9 9 9 9 9 10 9 9 10 10 9 10 9 9 9 9 10 10 9 9 9 10 9 10 9 9 10 9 9 10 9 9 9 9 7 4 9 9 9 9 9 9 9 9 9 10 9 9 9 9 9 9 9 9 9 9 9 9 8 7 5 6 6 7 5 4 +9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 10 9 9 9 9 10 9 9 9 9 9 9 9 9 9 10 10 9 10 9 7 10 11 9 10 10 10 9 9 9 9 10 10 9 8 11 9 9 9 9 10 9 8 11 9 10 9 9 10 9 10 10 10 10 9 10 10 9 10 10 9 9 9 9 9 5 8 9 10 9 8 9 8 8 9 8 9 9 9 8 9 7 10 9 9 9 9 9 10 9 9 9 9 9 9 9 9 10 9 9 9 9 9 9 10 9 9 9 9 9 9 9 9 9 10 9 9 10 10 9 9 9 9 6 6 10 9 9 9 9 9 9 9 9 10 9 9 10 10 9 9 9 9 9 9 5 5 9 10 11 11 11 9 10 8 +9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 10 9 9 9 9 9 9 9 9 9 9 10 10 9 9 9 9 9 9 9 9 9 10 10 9 10 9 9 10 10 9 10 9 9 9 9 9 10 10 9 9 9 11 9 9 10 9 10 8 8 11 9 10 9 9 10 10 10 10 9 10 9 10 10 9 10 10 9 10 8 10 8 4 9 9 7 6 5 5 6 7 8 9 9 9 9 8 9 6 10 9 9 9 9 9 9 9 9 9 9 10 9 9 9 10 10 10 9 9 9 9 9 9 9 9 9 9 9 9 9 9 10 9 9 10 9 9 9 8 8 4 7 10 10 9 9 10 9 9 9 9 9 10 10 10 10 9 9 9 9 8 8 10 12 11 10 10 10 10 9 9 9 +9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 10 9 9 9 9 9 9 9 10 9 9 9 9 9 9 10 9 9 9 10 9 9 9 9 9 8 10 9 10 9 9 10 9 10 9 10 9 10 9 9 9 9 9 9 9 6 9 11 9 10 9 9 10 9 10 10 10 10 9 10 10 10 10 9 9 10 8 10 8 5 12 11 10 9 9 11 10 11 10 9 9 8 8 9 9 7 10 9 9 9 9 9 9 9 9 10 9 10 9 9 9 9 10 9 9 9 10 9 10 9 9 9 10 9 9 9 9 9 9 9 8 9 8 8 8 9 10 5 8 10 10 9 9 9 9 9 9 10 10 9 9 9 9 9 9 9 9 9 11 10 9 9 9 9 9 9 9 9 9 +9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 10 10 9 9 10 10 9 9 9 9 9 10 10 10 10 9 10 9 9 10 9 9 9 10 9 10 9 9 10 10 10 9 10 9 9 7 9 9 9 9 9 9 6 10 10 10 10 9 10 10 9 10 10 9 9 9 11 10 10 9 10 9 8 7 7 6 6 12 9 9 9 9 9 9 10 9 9 10 10 9 10 8 9 9 9 9 10 9 9 9 9 9 9 10 9 10 9 10 9 10 9 9 9 9 9 9 9 9 9 9 9 9 9 8 9 10 9 9 9 10 10 9 9 8 2 8 11 9 9 9 9 9 9 9 10 9 9 9 10 9 9 9 9 9 10 10 10 9 9 9 9 9 9 9 9 9 +9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 10 9 10 10 10 10 9 10 10 10 9 9 9 10 9 9 10 10 10 10 9 9 9 10 9 9 9 9 10 9 10 9 8 10 10 9 9 9 10 9 7 11 9 9 9 9 7 7 11 10 8 7 9 10 10 10 10 10 9 9 10 10 9 10 9 9 9 8 10 10 8 9 12 9 9 9 9 9 9 8 9 9 9 9 8 10 7 10 9 9 9 9 9 9 9 9 9 9 10 10 10 9 10 10 9 9 9 10 9 10 9 9 8 10 10 9 9 9 9 10 9 9 9 9 10 9 9 10 8 3 10 12 10 10 10 9 9 9 10 9 9 9 10 10 9 9 9 9 10 10 9 9 9 9 9 9 9 9 9 9 10 +9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 10 10 9 9 9 9 9 10 9 9 9 9 10 9 9 10 10 10 10 9 10 10 10 9 9 9 10 9 9 9 9 9 10 9 9 9 8 10 9 9 10 9 9 9 9 10 9 9 9 8 6 9 12 9 5 9 10 9 10 10 10 10 10 9 11 10 9 9 9 9 9 8 10 10 6 6 10 9 9 9 9 9 9 9 9 9 9 9 9 9 6 10 9 9 9 9 9 9 9 9 9 10 10 10 9 9 10 9 9 9 9 10 9 10 9 9 10 9 9 9 9 9 10 9 9 9 9 9 9 8 7 9 8 2 10 11 8 9 9 9 9 9 9 9 10 9 9 9 9 9 9 9 10 10 9 9 9 9 9 9 9 9 10 10 10 +9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 10 10 9 9 9 10 10 9 9 10 9 9 10 9 9 9 10 10 10 7 7 10 9 9 9 9 9 10 9 9 9 8 10 10 9 10 9 9 10 9 9 10 9 9 9 8 9 9 9 9 7 9 9 11 9 9 11 10 9 10 10 10 10 9 9 10 10 9 9 9 9 8 10 9 10 5 6 12 8 8 9 9 9 9 9 9 9 9 9 9 7 6 11 9 9 9 9 10 9 9 10 9 10 10 9 9 9 10 9 9 8 8 10 9 9 9 10 9 9 9 9 9 9 9 8 8 8 8 7 4 2 2 2 3 1 10 10 10 9 9 9 9 9 9 9 9 9 9 9 9 6 8 10 10 9 9 9 9 9 9 9 10 10 9 9 9 +9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 10 10 9 9 9 9 9 9 9 9 9 9 9 10 10 9 9 9 10 9 9 10 9 10 10 10 10 10 7 11 10 10 10 10 9 9 9 9 9 9 8 10 9 9 9 9 9 10 9 9 10 10 9 8 4 9 8 4 6 6 10 9 10 9 10 9 10 9 10 10 9 9 9 10 10 10 9 9 9 8 8 10 9 10 6 7 13 10 9 10 9 9 9 9 9 9 8 9 9 5 10 10 9 9 9 9 9 9 9 9 9 10 10 9 9 10 10 9 9 6 8 10 9 9 10 10 9 9 9 9 9 10 9 10 9 8 5 5 7 8 10 6 3 5 13 11 9 9 9 9 9 9 9 9 9 9 8 6 6 3 8 10 9 9 9 9 9 9 7 8 7 8 9 7 8 +9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 10 10 9 9 9 9 9 9 9 9 8 10 9 9 10 9 9 9 9 9 10 9 9 6 7 12 9 7 12 9 11 8 10 10 10 9 9 9 10 9 10 9 10 10 10 10 9 9 10 8 9 9 9 9 7 4 12 9 9 9 9 9 9 9 9 8 9 9 9 7 11 10 9 9 9 9 9 9 10 9 10 10 9 10 9 9 9 8 8 2 9 10 9 9 9 9 9 9 9 9 10 10 9 9 9 7 11 12 11 12 9 3 8 11 13 9 9 9 9 9 9 9 9 10 10 9 7 5 3 3 10 9 9 9 9 9 9 8 3 6 3 6 5 2 4 +9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 10 9 9 10 8 9 9 9 9 9 10 9 9 9 9 10 9 9 9 9 8 9 9 9 8 10 10 10 10 10 10 10 10 9 10 9 9 7 10 11 9 10 10 8 11 7 9 10 9 9 9 8 11 10 10 9 9 10 10 9 9 10 9 8 9 9 10 9 7 6 12 9 9 9 9 9 9 9 9 8 9 9 7 6 11 9 9 9 9 9 9 9 9 9 10 10 9 10 9 10 9 7 3 4 11 11 9 9 9 9 9 9 9 10 8 9 9 9 9 10 9 9 9 8 7 2 7 9 11 8 8 7 4 7 9 9 9 10 9 9 8 5 4 7 10 10 9 9 9 9 9 6 5 3 4 7 3 4 3 +9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 10 9 10 10 9 9 10 9 9 10 9 10 9 9 9 9 9 9 9 9 9 10 10 9 9 9 7 10 8 7 5 9 10 10 10 9 9 9 10 10 9 9 9 6 9 10 9 10 9 5 8 4 9 10 9 9 10 9 10 10 10 10 10 10 9 8 9 10 9 8 8 9 10 9 6 4 9 9 9 9 9 9 9 9 9 9 9 9 8 10 10 9 9 10 9 9 9 9 9 9 10 10 9 9 9 9 8 7 4 8 13 10 9 9 9 9 9 9 10 10 10 10 9 9 9 9 9 6 5 3 4 1 4 8 9 3 2 2 1 5 5 9 9 9 9 3 4 6 3 12 10 10 10 9 9 7 9 6 2 6 7 7 4 6 3 +9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 10 9 10 9 9 9 9 9 9 9 9 10 9 9 9 9 9 9 9 9 9 10 9 9 9 9 5 7 8 10 8 10 10 10 10 10 8 10 9 9 9 8 4 3 10 9 9 9 7 8 8 8 12 10 9 9 10 10 10 10 10 9 10 9 9 8 10 9 9 7 8 9 9 8 5 5 12 10 9 9 9 9 9 9 8 10 9 9 8 10 10 9 9 10 9 9 9 9 9 10 10 9 9 9 10 9 9 8 4 6 12 10 9 9 9 9 9 9 10 10 9 9 9 9 8 6 2 2 2 2 1 3 2 8 10 5 2 1 2 6 5 9 7 4 7 2 7 2 4 10 11 10 10 9 4 2 6 4 4 4 5 6 3 6 5 +9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 10 9 10 10 10 9 9 9 9 10 9 9 9 9 9 9 9 10 10 9 8 9 8 9 9 8 6 11 12 10 8 6 10 9 10 9 9 9 9 9 8 3 5 9 10 8 7 4 5 11 10 10 9 10 9 8 9 10 9 10 9 9 10 8 8 9 10 9 8 6 9 9 7 4 3 11 9 6 8 9 9 9 8 9 9 10 9 9 7 10 9 9 9 9 9 9 9 9 9 9 10 9 9 9 9 9 9 9 4 4 8 8 4 5 5 4 4 3 5 6 7 9 7 4 4 5 7 8 10 9 7 5 3 8 7 3 2 6 6 8 7 8 2 6 6 1 3 5 8 13 12 9 6 4 1 4 7 6 7 4 9 10 10 10 9 +9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 10 9 9 9 9 9 9 9 9 10 10 9 10 10 9 9 9 9 10 9 8 9 8 8 9 10 10 10 10 9 9 11 10 10 9 9 8 11 10 8 3 7 12 10 10 9 9 9 10 9 4 9 12 12 12 10 9 6 11 11 10 9 5 10 10 8 10 10 9 10 9 10 10 4 5 8 9 7 7 9 11 11 6 5 12 13 8 4 10 9 9 9 8 10 10 9 9 8 5 11 9 9 9 9 9 9 9 9 9 10 10 9 9 10 9 9 10 6 1 4 10 4 1 2 3 4 3 3 2 1 2 4 4 8 11 11 8 11 13 10 10 6 4 7 5 5 7 7 8 9 11 5 5 5 4 1 5 7 10 10 7 4 1 1 2 5 4 4 6 7 10 10 11 11 13 +9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 10 10 9 9 9 9 9 9 9 9 10 9 9 10 10 9 9 9 10 9 10 10 9 9 11 10 10 10 10 10 9 9 10 10 10 10 10 8 10 10 8 2 10 11 9 10 10 10 9 10 8 7 12 9 9 9 9 9 6 11 10 10 10 5 4 7 8 11 10 9 10 10 10 10 8 8 8 7 6 10 10 10 9 5 8 12 9 8 5 12 10 9 9 9 10 10 9 9 7 6 12 9 9 9 9 9 9 9 9 10 10 10 10 10 10 9 9 9 2 2 8 7 2 7 10 12 13 13 11 10 8 6 3 3 2 3 5 7 10 9 10 4 2 4 8 8 9 8 9 9 9 5 5 4 4 4 6 9 12 12 8 5 1 2 4 7 8 8 11 14 8 8 9 11 12 11 +9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 10 9 9 9 9 9 9 9 9 9 9 9 9 10 9 9 9 9 9 8 9 10 9 9 9 9 10 10 10 10 9 9 10 9 9 10 9 9 8 5 4 9 8 5 4 11 12 10 9 10 9 9 8 4 10 10 9 10 10 7 9 8 10 9 10 10 4 5 8 6 9 10 9 10 9 9 10 9 9 10 4 9 11 10 9 8 3 11 10 9 7 6 13 9 9 9 9 10 9 9 6 6 6 8 9 9 9 9 9 9 9 9 10 8 8 9 10 9 9 9 8 1 4 9 9 12 13 13 14 12 11 9 11 7 10 12 12 9 8 6 2 6 8 8 3 2 4 9 11 11 11 11 8 8 8 8 5 7 8 10 13 14 9 7 8 7 8 9 10 9 9 13 14 9 8 11 11 7 5 +9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 10 10 9 9 8 10 10 9 10 9 9 9 9 9 6 5 9 10 6 9 9 10 9 9 9 7 4 8 12 12 7 3 10 14 12 9 9 9 9 9 6 7 12 10 9 9 9 7 11 9 10 11 12 10 6 6 10 10 10 7 8 9 10 9 9 9 9 7 3 10 8 7 9 5 7 13 9 8 3 11 11 9 9 7 8 10 9 7 4 8 4 7 9 9 9 9 9 9 9 10 9 7 11 9 9 9 9 9 6 0 6 8 12 14 14 12 11 9 10 9 9 7 9 11 10 5 10 10 8 8 4 1 0 0 6 12 13 10 9 10 4 9 9 9 9 9 10 13 14 13 6 5 10 12 12 13 9 6 9 12 10 9 4 5 2 1 5 +9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 11 10 9 9 9 10 9 10 9 10 9 9 9 9 5 11 10 8 9 10 8 9 9 9 7 5 10 12 10 10 6 7 12 12 9 10 10 8 9 6 8 11 10 9 9 9 8 9 10 10 10 11 10 10 9 6 9 13 12 3 4 8 9 9 9 9 9 9 8 9 8 11 10 7 11 10 7 3 9 11 9 9 8 7 11 10 8 6 11 11 9 8 12 10 9 9 9 9 10 9 9 10 8 9 9 9 9 8 2 2 8 11 14 13 10 9 8 8 6 5 2 5 2 3 2 3 9 10 8 9 9 8 4 4 8 13 14 9 10 4 6 9 9 9 10 9 13 14 14 11 5 3 8 9 11 11 3 3 7 8 7 3 0 2 3 3 5 +9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 10 11 10 9 9 9 10 10 10 9 10 10 10 9 7 8 11 10 10 9 7 7 8 7 6 7 12 11 10 10 10 7 8 11 11 9 9 9 9 9 4 11 10 9 9 9 9 7 10 10 10 10 10 10 10 9 5 9 11 11 7 10 7 5 4 6 8 10 9 9 6 12 11 8 9 10 9 4 6 12 9 9 9 8 6 9 7 6 11 10 9 9 6 13 10 9 9 9 10 9 9 9 9 10 9 9 9 9 5 0 5 11 13 8 7 8 7 5 2 1 1 1 2 2 4 6 7 9 5 1 1 3 4 4 4 9 13 11 5 3 3 8 10 8 9 9 9 13 11 10 7 2 3 3 3 4 2 1 2 6 8 7 4 5 5 4 5 6 +9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 10 10 9 9 9 9 10 10 9 9 9 9 10 9 7 11 10 10 9 10 9 9 8 3 7 9 10 10 9 10 10 9 7 11 11 9 10 10 10 9 9 12 8 8 8 9 9 6 11 8 9 10 10 10 9 9 7 9 10 11 9 6 5 5 5 9 5 7 8 6 7 9 5 6 6 10 9 3 10 12 9 9 9 5 3 7 7 12 10 9 9 9 8 11 9 9 10 9 10 9 9 9 10 10 9 9 9 8 1 1 7 12 10 6 6 2 2 2 2 6 5 7 9 10 10 10 10 10 8 6 5 2 1 2 3 11 14 9 7 6 10 11 6 4 8 9 10 13 7 7 2 1 1 2 4 4 2 2 6 11 13 13 12 12 11 10 11 12 +9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 10 9 9 9 9 9 9 9 9 10 10 10 10 9 9 10 10 9 9 9 9 10 9 7 11 10 9 10 10 10 10 10 8 9 9 9 9 9 9 9 9 7 10 10 10 9 10 9 9 9 9 8 8 10 10 9 7 10 7 9 8 10 9 6 9 11 10 9 12 10 9 6 10 13 11 7 6 4 7 10 6 5 2 7 10 6 7 12 8 8 9 8 5 9 13 12 10 9 9 9 9 8 7 10 10 9 9 9 9 9 10 10 9 9 9 9 6 0 4 9 13 10 13 11 9 6 4 8 10 11 13 13 11 12 12 10 10 9 9 9 8 8 7 7 9 7 5 4 11 6 1 1 5 9 9 9 8 5 8 3 3 1 5 8 10 12 12 12 13 14 10 10 14 12 12 12 13 +9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 10 9 9 9 8 9 10 10 10 9 9 9 10 10 9 9 9 9 10 9 7 11 10 9 10 10 9 8 9 7 6 9 8 9 9 9 9 9 8 10 10 9 9 9 9 9 9 8 6 6 5 5 6 9 7 9 9 8 7 4 8 12 10 10 9 11 10 9 5 10 11 9 9 7 8 12 10 9 7 7 9 5 6 12 10 8 5 4 3 2 5 5 8 9 9 9 9 9 7 2 8 9 9 10 9 10 9 10 9 9 10 9 6 6 0 6 12 11 11 13 10 5 5 8 11 13 13 14 10 7 12 9 11 7 10 10 10 12 9 9 11 12 11 3 4 7 0 2 6 9 9 10 10 8 9 6 2 1 5 9 11 13 10 9 10 12 11 5 11 13 10 11 7 10 +9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 8 9 10 10 10 9 9 9 10 9 9 9 9 9 9 9 7 11 9 9 9 10 9 9 9 4 7 9 11 9 7 8 9 9 6 8 9 8 8 8 8 7 5 3 3 5 6 5 3 7 7 8 8 3 4 6 11 9 8 9 9 9 7 5 3 8 10 10 9 5 8 13 9 7 5 8 10 7 13 10 9 7 3 3 6 9 10 8 7 9 9 10 9 9 3 3 11 10 9 9 9 10 10 9 9 9 10 8 5 5 2 8 13 10 13 12 9 7 4 11 13 13 11 12 5 9 10 10 7 9 7 10 12 12 3 9 12 12 4 4 8 6 1 5 8 10 10 10 9 9 9 6 4 7 9 10 13 7 6 7 5 5 6 5 11 12 10 7 7 11 +9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 7 9 10 10 10 9 9 9 10 10 9 9 9 9 9 8 8 11 10 9 9 9 9 9 8 4 11 13 9 7 5 6 6 7 2 6 10 9 9 7 6 5 5 7 12 12 10 11 10 10 10 7 3 5 10 12 12 8 8 8 8 9 4 4 3 6 8 4 3 2 10 6 6 7 5 5 8 9 13 9 9 5 2 10 14 13 11 9 10 5 5 6 8 8 2 5 13 10 10 9 10 10 9 9 9 8 9 8 5 4 3 11 13 11 13 10 10 4 7 13 11 11 10 12 9 10 10 12 7 9 5 11 12 4 3 13 13 10 5 8 9 5 1 7 8 10 10 9 9 9 9 8 8 8 9 9 9 5 6 7 6 4 7 3 3 2 4 6 6 11 +9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 8 9 11 10 9 9 9 9 10 10 9 9 9 9 9 8 8 10 9 9 9 10 9 8 6 9 12 10 8 8 10 8 9 6 4 12 11 10 10 10 9 9 11 13 12 10 10 11 9 12 11 7 4 10 12 13 13 12 12 11 10 10 4 6 5 6 5 7 6 7 4 5 9 8 4 6 11 10 10 9 9 5 7 14 10 7 9 9 11 11 10 8 5 5 2 9 11 4 7 9 9 10 9 9 8 5 10 7 3 3 7 13 12 12 13 8 5 2 11 12 10 10 10 11 10 11 10 12 10 10 7 12 9 2 6 13 13 8 4 5 10 6 5 7 9 10 9 9 9 9 9 9 10 10 9 9 9 7 7 6 5 6 6 6 5 6 7 3 5 7 +9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 10 9 7 8 9 11 9 9 9 9 9 10 9 9 9 10 10 10 8 9 10 9 8 8 7 4 4 9 12 10 10 9 9 9 9 12 10 6 13 9 9 9 9 10 11 9 11 10 10 10 10 9 12 10 8 9 11 13 14 10 10 9 10 10 9 6 3 5 9 13 12 11 8 7 11 12 9 9 10 5 8 8 8 6 3 12 12 10 10 5 9 10 10 9 9 10 8 4 12 7 4 8 10 9 9 9 8 3 6 10 5 1 7 10 12 6 9 9 2 4 6 13 11 10 10 10 11 11 10 10 11 10 10 6 10 7 4 5 14 10 3 7 9 10 4 5 7 9 9 9 9 9 9 9 9 9 10 8 9 10 8 9 9 8 9 8 6 7 6 6 5 9 2 +9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 10 8 8 9 10 11 10 9 9 9 10 9 9 9 9 9 9 8 4 8 9 7 7 6 4 7 8 10 12 10 9 8 7 9 11 11 9 8 12 10 9 9 8 9 10 7 10 9 9 10 10 10 10 9 9 9 9 13 10 9 8 7 8 8 8 5 4 9 12 14 10 9 4 7 13 12 9 10 5 9 9 5 2 2 7 11 10 9 9 6 10 10 9 9 9 10 10 7 12 7 5 11 11 9 9 9 3 5 12 10 2 4 8 11 12 7 7 6 7 11 13 13 10 10 10 11 11 11 10 10 10 10 10 7 11 4 2 11 8 2 6 7 5 4 1 5 9 9 10 9 9 9 10 9 10 9 10 9 10 10 9 9 9 8 9 8 8 7 7 4 7 6 1 +9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 10 8 9 10 11 9 9 9 9 10 9 9 9 9 10 9 5 5 12 10 10 11 10 10 12 10 11 12 9 8 8 9 10 10 10 10 10 9 10 8 9 10 9 9 9 10 8 9 10 10 9 9 9 9 7 8 9 6 6 2 2 3 4 4 6 12 10 12 13 11 11 8 6 13 11 10 9 4 7 7 5 1 3 4 7 7 9 9 7 8 6 6 8 8 9 9 4 10 9 2 9 12 10 9 7 1 9 10 4 3 9 9 11 11 3 7 12 13 11 12 11 11 10 10 11 10 10 10 10 10 10 10 9 3 3 9 10 1 4 7 3 0 1 2 6 9 9 9 9 9 9 9 8 9 9 8 8 11 12 11 10 10 9 10 10 11 11 8 7 8 5 7 +9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 10 9 7 9 9 10 10 9 8 9 9 9 9 9 9 8 6 9 12 12 11 10 9 9 9 9 9 10 9 8 9 10 10 10 10 9 9 9 9 8 8 10 9 10 9 9 10 9 9 11 10 10 9 10 10 6 3 6 4 1 3 7 8 6 3 7 9 9 8 10 9 9 8 6 12 10 10 10 5 9 7 4 6 9 8 7 6 9 6 3 1 1 1 1 4 7 6 2 11 9 2 9 13 10 10 8 1 9 8 2 7 11 7 10 7 3 11 13 9 5 12 11 10 10 11 10 8 10 10 10 9 9 8 6 2 8 12 4 5 6 8 4 2 5 6 9 9 8 8 9 9 9 9 8 9 9 9 10 13 11 9 12 12 11 13 11 12 11 11 11 11 10 10 +9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 10 8 8 9 11 9 9 8 9 10 9 9 9 7 6 10 10 10 10 9 8 8 10 9 9 10 9 9 11 10 10 9 9 9 9 9 9 9 9 5 10 9 9 9 9 10 10 9 11 10 9 8 8 8 5 4 7 9 7 8 10 7 6 6 11 6 5 5 6 8 9 7 8 11 10 10 10 9 10 8 7 9 9 9 9 9 5 2 2 1 2 6 5 3 2 2 6 13 9 6 10 13 10 10 8 5 8 5 4 9 5 4 8 3 10 14 9 2 9 12 10 10 10 10 3 6 9 9 9 4 1 1 1 1 6 3 1 2 4 9 7 7 10 10 10 9 10 10 10 9 9 9 9 10 9 9 11 11 6 6 8 8 5 9 9 12 13 13 13 10 10 10 +9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 10 10 10 9 7 10 11 9 8 8 10 10 7 5 5 7 12 10 9 9 8 9 10 10 10 9 9 9 9 8 11 10 9 9 9 9 9 9 9 9 9 5 11 9 9 9 9 9 9 8 8 6 2 2 4 4 7 5 11 11 6 11 9 8 10 12 12 9 8 4 6 4 4 4 8 8 10 10 9 9 9 9 10 9 10 11 11 11 8 2 2 6 8 9 9 10 9 8 12 10 8 11 10 12 10 10 8 2 4 6 10 9 6 5 4 7 12 13 6 2 12 11 10 8 6 3 2 10 12 10 5 1 4 5 6 6 8 7 6 7 7 7 9 10 12 7 10 10 10 8 8 9 9 10 10 9 10 10 9 8 7 7 7 4 5 6 4 5 8 7 7 6 7 7 +9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 10 10 10 10 10 9 7 10 10 9 7 10 8 5 4 9 12 11 10 9 10 10 10 10 10 9 9 9 9 9 9 8 9 9 9 9 9 9 9 8 9 10 9 5 9 9 8 5 5 6 7 6 6 3 4 8 10 11 11 11 12 12 11 12 12 11 12 12 11 11 11 9 10 9 8 6 6 9 11 9 9 9 9 9 9 9 10 10 13 14 8 4 8 9 9 9 10 12 14 14 13 6 9 12 9 11 10 9 4 3 8 11 13 4 6 7 5 8 11 6 1 4 11 7 5 1 1 2 8 14 12 9 1 3 7 7 9 9 9 8 7 10 10 11 8 13 12 7 4 2 3 2 3 5 8 8 9 9 9 8 10 11 10 9 10 9 10 10 8 9 8 3 2 2 2 5 +9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 10 10 9 10 10 10 7 6 9 10 7 8 10 5 8 12 12 10 10 10 9 9 9 9 9 9 9 9 9 9 9 9 7 6 9 9 9 9 9 8 9 9 9 8 5 7 10 7 6 7 9 10 9 10 5 8 11 13 13 10 9 9 9 9 9 10 11 11 10 11 11 10 10 10 10 12 10 8 11 11 9 9 9 10 10 8 9 9 11 12 11 8 6 7 10 9 9 13 14 14 10 10 7 12 10 9 10 10 6 2 3 7 9 5 2 7 9 9 9 8 3 2 8 12 3 3 2 4 9 14 13 11 8 1 5 7 9 12 13 10 7 8 9 5 3 5 13 7 1 2 7 9 8 8 10 10 10 10 10 10 11 12 11 9 10 12 13 13 14 12 13 12 7 10 10 10 10 +9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 10 10 10 9 10 10 8 4 10 10 10 6 9 7 10 11 11 10 10 10 9 9 9 9 9 9 9 9 9 9 9 9 9 8 6 10 9 9 8 8 10 9 8 8 8 8 10 11 9 7 8 10 10 11 11 8 9 13 12 9 9 9 9 8 8 8 10 9 9 9 10 10 11 11 10 10 10 7 6 9 7 8 8 8 8 8 6 4 9 11 9 9 8 5 9 7 7 10 13 9 9 8 6 8 11 10 10 10 8 4 2 6 8 8 6 6 10 11 8 9 9 7 7 9 6 2 4 7 10 12 13 8 4 3 3 7 11 12 13 13 9 4 7 8 6 4 7 6 1 1 6 6 7 8 8 10 9 9 10 11 9 11 13 12 10 10 12 14 13 13 8 13 12 6 12 12 10 13 +9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 10 9 9 9 10 10 9 10 10 6 8 11 11 6 6 5 9 11 10 10 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 6 10 10 8 9 9 9 8 8 8 9 9 8 9 10 11 10 9 11 9 9 8 9 8 10 9 9 8 9 8 8 7 5 9 9 9 9 9 9 9 9 9 9 8 6 9 10 11 10 4 4 6 5 7 13 9 9 9 8 8 5 2 8 11 10 6 4 5 6 12 11 10 10 8 6 5 2 8 9 9 10 9 6 6 5 9 9 9 9 10 9 8 10 12 12 12 8 2 3 3 8 10 10 9 12 12 4 5 6 10 9 7 6 4 1 3 5 7 8 7 8 10 8 7 11 10 8 11 13 11 5 8 12 11 8 9 10 10 9 5 12 5 11 10 +9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 10 9 9 10 9 9 9 9 10 9 6 10 10 10 6 7 9 12 11 10 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 8 7 9 10 9 8 7 8 8 9 9 10 11 11 10 10 9 9 12 8 3 6 8 8 10 8 3 3 5 7 8 8 7 9 9 9 9 9 9 9 9 9 9 9 6 7 10 12 8 4 8 6 4 9 10 9 10 9 8 9 2 3 9 12 12 11 10 7 10 12 10 10 8 2 1 2 4 9 9 10 11 9 7 7 8 9 9 9 10 11 11 11 14 14 11 13 11 8 7 9 12 6 7 9 11 9 2 4 7 10 6 2 5 7 3 4 6 7 8 8 7 10 9 10 12 7 8 11 12 8 5 8 10 7 5 6 8 8 9 9 9 3 9 5 +9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 10 9 8 6 9 9 10 8 10 6 12 12 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 8 5 9 9 7 7 9 10 10 10 10 9 9 9 10 10 9 9 9 6 9 12 11 10 11 9 5 8 7 5 5 3 3 4 7 8 8 9 9 9 9 9 9 9 8 3 9 10 9 6 9 10 10 10 10 9 8 8 9 6 1 5 12 14 13 9 12 13 12 6 9 8 4 1 6 7 10 12 10 12 13 10 9 7 9 10 9 9 10 12 13 14 15 13 9 12 7 9 10 11 13 8 9 9 12 5 3 8 5 1 0 2 7 8 8 9 10 10 9 9 9 10 9 10 11 6 8 11 11 9 7 8 10 11 11 10 6 6 6 7 8 7 9 9 +9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 8 8 10 8 8 8 9 9 6 9 9 8 10 12 10 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 8 9 6 5 7 8 9 11 10 9 8 6 6 8 9 9 8 9 9 7 3 9 10 10 9 7 5 8 9 11 12 12 8 8 9 5 3 4 4 6 7 7 7 8 7 3 2 7 5 5 4 4 6 5 6 7 7 6 7 3 1 3 10 13 14 11 7 13 13 4 3 6 1 2 6 8 11 12 12 11 12 13 7 3 6 11 12 10 10 12 13 14 14 14 12 9 6 4 10 12 13 11 9 9 10 9 3 8 10 5 2 5 7 10 10 10 11 11 9 7 9 9 9 9 10 9 8 9 12 12 10 8 10 10 12 11 10 6 8 6 6 7 9 8 10 +9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 10 9 8 9 9 9 8 9 10 8 7 10 10 9 10 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 8 9 9 8 3 6 11 11 11 9 8 6 5 5 8 10 9 8 8 7 7 3 3 10 9 9 6 2 6 10 9 10 10 11 10 10 8 10 10 7 9 8 7 7 9 8 7 6 7 12 12 11 6 6 7 8 6 6 9 6 4 4 7 10 12 13 12 10 10 11 9 2 8 7 9 11 10 11 12 13 10 8 12 6 1 7 8 11 13 9 10 12 14 14 13 10 10 8 2 8 13 14 11 11 8 4 3 1 2 9 5 1 4 7 10 12 7 10 9 9 7 4 8 9 9 9 10 10 11 12 12 10 9 10 11 10 11 10 9 6 6 7 8 7 4 4 3 +9 9 9 9 9 9 9 9 9 9 9 10 9 9 9 8 9 9 9 9 9 9 9 8 9 10 10 9 9 11 8 6 10 7 6 9 10 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 8 9 9 5 4 5 10 13 10 8 6 6 7 4 9 11 12 10 10 10 10 7 8 11 13 10 9 6 6 12 12 10 10 9 9 8 9 10 11 11 12 13 12 11 11 10 9 10 10 10 12 12 10 10 11 9 7 9 11 13 10 7 9 11 13 14 13 10 10 10 10 7 4 9 10 7 6 4 9 13 12 9 10 6 2 7 12 9 12 13 8 6 12 12 9 10 9 10 4 3 11 11 9 9 10 5 4 2 4 6 6 1 3 7 9 11 13 10 8 8 9 8 8 8 10 9 10 10 10 11 7 7 9 10 10 12 12 12 12 12 10 12 10 12 12 10 10 11 +9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 10 10 10 10 11 10 8 10 10 8 9 10 9 9 9 9 9 9 9 9 9 9 9 9 9 9 8 8 9 6 4 6 9 10 11 9 8 9 8 11 10 12 12 11 9 9 9 9 9 10 10 11 10 10 10 9 11 11 9 9 9 9 9 9 9 9 6 8 9 9 9 9 9 9 9 9 9 9 10 10 9 10 10 10 8 9 8 7 3 5 7 10 13 10 10 10 10 9 10 8 7 10 6 9 5 5 12 13 11 9 5 2 6 12 10 7 13 11 4 5 12 12 13 10 10 8 2 8 12 10 9 8 9 5 2 3 8 7 6 4 6 9 9 10 11 10 5 9 8 9 9 7 9 9 10 10 10 11 9 10 11 10 10 12 9 9 11 8 9 9 10 9 10 9 9 10 +9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 10 9 9 9 9 10 10 10 10 9 10 9 8 9 10 10 9 10 11 9 9 9 9 9 9 9 9 9 9 9 8 7 8 9 7 5 7 10 11 11 10 11 11 10 11 10 9 9 9 9 9 9 9 9 9 9 9 9 10 10 10 9 10 10 9 9 9 9 9 9 9 9 9 11 9 9 9 9 9 9 9 9 9 9 9 9 9 9 10 9 8 3 8 10 9 7 2 6 9 9 9 10 9 10 10 9 9 10 6 8 8 11 14 10 9 6 4 8 13 13 10 10 11 9 4 3 11 14 11 9 10 3 6 13 12 11 11 8 6 4 1 4 8 6 7 8 10 9 9 10 11 5 3 5 8 10 6 11 9 9 10 10 11 12 12 12 13 11 12 12 10 10 10 9 11 10 9 9 9 9 9 9 +9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 10 9 9 9 9 9 9 10 10 9 10 9 9 9 9 7 10 10 9 10 10 10 9 9 9 9 9 9 9 9 9 8 8 7 8 9 9 6 7 10 12 12 11 11 11 10 9 9 9 9 9 9 9 9 8 9 9 9 9 9 9 10 10 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 2 8 10 10 7 9 13 11 7 7 8 9 10 10 10 9 9 4 4 10 12 9 4 3 2 6 12 12 10 9 9 8 5 4 4 13 13 9 9 7 2 12 12 9 9 10 11 7 2 2 7 8 8 9 10 10 12 10 11 8 7 5 8 10 6 11 8 4 9 11 12 9 11 8 10 13 12 12 12 8 12 12 10 11 9 9 9 9 9 9 9 +9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 10 9 9 10 9 9 10 9 9 9 10 9 10 9 7 9 11 10 9 9 9 9 10 9 9 9 9 9 9 9 9 8 9 9 9 8 7 8 10 12 11 10 10 10 10 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 7 11 12 9 7 7 11 12 11 11 10 10 10 9 9 8 9 7 6 7 7 3 4 7 9 11 12 10 9 9 6 2 2 4 3 8 11 9 9 3 4 10 10 9 9 8 8 6 3 6 9 9 10 10 11 13 14 7 8 7 8 8 8 6 4 5 2 6 9 12 7 8 11 11 13 12 11 8 7 11 13 10 9 10 9 9 9 9 9 9 9 +9 9 9 9 9 9 9 9 9 10 9 9 9 9 7 10 9 9 10 9 9 9 9 10 9 9 8 7 6 7 10 10 9 8 10 9 9 9 9 9 9 9 9 9 9 8 9 9 9 8 6 8 10 11 9 10 10 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 7 7 7 9 10 10 11 9 5 10 13 11 10 10 10 10 9 9 9 9 9 6 5 5 11 10 10 13 9 8 6 6 4 4 2 5 10 12 7 8 9 8 4 1 6 11 12 9 8 8 9 7 7 5 9 9 10 10 12 13 13 6 7 7 8 8 8 8 8 7 7 9 12 11 7 8 11 13 13 12 9 9 9 12 12 9 9 9 9 9 9 9 9 9 9 +9 9 9 9 9 9 9 9 9 9 9 10 9 8 8 10 9 10 9 8 8 9 10 9 8 9 9 8 9 10 9 9 9 9 10 9 9 9 9 9 9 10 10 9 8 8 9 9 7 6 8 5 10 10 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 7 5 6 9 9 9 9 9 5 10 11 9 9 9 10 9 9 10 8 5 5 5 10 9 9 10 11 13 6 4 4 4 6 9 9 12 14 12 5 6 6 1 2 6 11 13 12 9 8 8 7 8 9 7 10 12 12 10 13 14 12 6 6 8 8 10 9 8 8 8 9 10 10 10 8 11 12 11 12 9 10 10 11 12 11 8 8 9 9 9 9 9 9 9 9 +9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 10 9 9 8 9 9 10 9 10 10 11 10 9 10 9 9 10 9 8 9 8 8 9 9 9 9 10 9 8 8 9 8 7 8 7 4 7 12 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 8 9 9 9 9 9 9 9 9 10 9 9 9 12 12 10 9 8 9 9 7 8 9 9 9 9 9 10 9 5 5 10 12 11 8 9 9 11 12 4 2 8 11 13 12 10 11 9 8 4 3 4 9 12 13 13 8 4 4 4 4 8 9 6 3 6 12 11 12 12 10 6 5 8 8 7 7 8 7 8 9 10 10 10 10 10 9 10 10 10 8 10 9 11 10 8 5 5 5 6 8 8 8 9 9 9 +9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 8 9 9 10 10 10 10 10 9 9 9 9 10 10 10 9 9 10 9 9 9 9 9 10 9 8 8 9 8 8 9 6 2 6 9 10 8 9 10 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 6 5 8 9 9 9 9 9 9 9 9 8 5 6 7 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 7 5 11 10 9 9 9 8 3 8 11 14 11 7 9 8 9 6 8 4 4 8 13 12 10 8 9 7 5 5 9 6 10 7 4 3 2 3 3 4 3 6 4 3 5 9 11 8 8 8 9 3 3 1 1 3 5 8 8 9 10 9 10 11 11 10 9 9 10 8 7 6 7 8 8 8 6 6 7 8 5 4 5 7 9 8 +9 9 9 9 9 9 9 9 9 9 9 9 8 8 8 9 9 9 10 11 10 10 9 9 9 8 9 9 9 10 9 10 8 10 9 9 8 8 9 9 8 7 8 8 8 8 7 6 5 5 9 11 13 11 10 9 9 9 9 10 10 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 5 8 11 9 9 9 9 9 9 9 9 8 8 10 10 10 9 9 9 9 9 9 9 9 9 9 9 9 9 6 9 9 9 8 6 9 9 9 9 3 5 11 12 9 6 10 9 7 4 6 11 8 2 7 10 10 8 7 5 2 3 10 7 2 4 6 5 7 8 9 9 9 10 12 9 11 11 13 10 8 7 6 5 2 3 2 4 8 7 7 8 10 10 11 10 10 10 10 10 10 10 9 8 9 8 10 8 8 6 9 8 6 7 8 8 9 9 7 +9 9 9 9 9 9 9 9 10 9 9 8 8 9 9 9 9 10 10 10 9 9 9 9 9 8 9 9 10 10 9 9 9 10 9 9 8 9 10 8 6 8 8 6 7 9 9 9 10 11 13 13 11 9 9 8 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 8 11 11 9 9 9 9 9 9 9 9 9 9 11 11 10 10 10 10 10 9 8 9 9 10 9 9 9 9 7 10 9 8 8 4 10 9 7 9 6 12 13 9 7 10 9 7 6 9 11 6 2 4 8 9 8 7 3 2 6 9 7 2 0 4 11 13 14 12 11 12 12 13 11 9 8 5 3 2 2 1 3 3 3 4 7 6 8 7 9 11 12 11 9 8 9 10 10 9 9 9 9 9 9 9 9 7 8 8 9 8 8 9 9 9 9 7 5 +9 9 9 9 9 9 9 9 10 9 8 9 9 9 9 9 10 10 9 9 10 9 9 9 9 9 9 9 9 8 9 9 10 9 9 9 9 8 8 7 8 9 9 10 11 12 11 10 11 10 10 9 9 9 9 7 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 10 9 9 9 9 9 9 10 9 9 9 9 9 8 9 8 10 6 7 9 8 11 6 4 8 9 10 9 8 9 7 7 8 9 12 9 6 7 8 8 9 7 4 3 7 11 11 6 4 5 7 12 14 13 8 5 4 5 6 6 7 4 1 3 6 7 5 5 7 7 6 6 8 8 9 12 12 8 7 7 9 9 10 10 9 9 9 9 9 9 9 8 8 7 9 9 9 9 10 11 10 11 11 8 +9 9 9 9 9 9 9 9 9 8 9 9 9 9 9 10 10 9 10 10 9 9 9 9 9 9 9 9 8 9 9 9 10 10 10 9 7 7 9 10 10 10 11 10 10 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 10 10 10 10 10 9 9 9 8 8 10 6 9 10 9 9 10 9 11 8 9 9 7 6 7 10 11 10 8 9 9 10 6 6 9 10 11 9 11 12 11 3 5 7 8 12 9 5 1 1 3 6 2 2 1 2 5 7 8 9 6 10 11 10 9 10 10 11 12 11 8 8 9 8 9 10 10 9 9 9 9 9 9 9 9 9 9 9 9 9 11 11 8 12 12 11 10 11 +9 9 9 9 9 9 9 9 8 9 9 9 9 9 10 9 9 10 10 9 9 9 9 9 9 9 8 9 9 9 9 9 9 9 9 6 8 9 11 11 10 10 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 10 10 10 10 10 10 10 10 10 10 9 9 9 7 10 9 9 7 10 9 9 9 10 10 10 8 6 2 7 11 11 9 8 8 9 9 9 7 7 9 9 10 11 8 7 6 2 2 5 7 8 4 4 6 8 9 10 9 8 5 6 8 9 11 8 10 11 9 9 11 12 10 8 11 11 11 11 11 9 9 9 10 9 9 9 9 9 9 9 9 9 9 9 10 11 11 10 9 12 10 8 10 9 +9 9 9 9 9 9 9 9 9 9 9 9 9 10 9 10 10 10 9 9 9 9 9 9 9 9 9 9 9 9 9 9 8 7 5 8 9 11 11 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 10 10 10 10 10 10 9 9 9 9 9 9 9 9 9 9 9 7 8 9 9 9 9 9 8 3 2 7 13 10 10 9 8 9 9 9 9 9 7 2 6 11 9 2 3 2 2 7 10 11 11 13 12 11 11 13 8 9 11 9 9 12 14 13 13 13 12 11 11 10 6 6 11 13 13 11 8 9 8 10 9 8 9 9 10 9 9 9 10 9 9 9 10 10 10 10 8 9 11 9 9 9 9 +9 9 9 9 9 9 9 9 9 9 9 9 9 9 10 10 10 9 9 9 9 9 9 9 9 9 9 9 9 9 9 8 6 6 10 10 11 10 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 8 9 9 9 9 9 9 9 9 9 9 9 9 9 10 9 10 10 10 9 9 9 10 9 9 9 9 9 9 9 9 9 9 9 7 8 10 9 9 9 9 9 4 8 12 12 9 9 8 9 9 8 8 9 9 4 2 7 10 6 4 7 9 10 13 14 12 8 12 11 8 12 12 7 9 8 5 13 14 12 10 10 9 9 9 9 5 7 12 12 12 9 8 7 8 8 9 5 8 9 10 9 9 10 10 9 9 9 9 10 10 11 11 9 9 10 9 9 9 9 +9 9 9 9 9 9 9 9 9 9 9 9 9 11 10 9 9 9 9 9 9 9 9 9 9 8 9 9 9 8 8 6 7 10 10 11 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 7 10 9 9 9 9 9 9 9 9 9 9 9 9 10 9 10 10 9 9 9 10 10 10 9 9 9 9 9 9 9 9 9 9 8 8 10 9 9 9 9 9 8 11 11 9 9 9 9 9 8 9 9 9 9 8 5 10 13 10 11 13 10 7 10 8 9 6 9 8 7 7 8 7 2 6 12 13 11 10 9 9 9 8 9 9 9 11 10 9 9 9 9 9 10 8 5 6 9 9 9 9 10 10 9 10 9 10 10 10 10 11 11 12 12 11 9 9 10 9 +9 9 9 9 9 9 9 9 9 9 9 9 10 10 9 9 9 10 9 9 9 9 9 9 8 9 8 8 8 9 6 8 10 11 10 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 7 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 10 10 10 9 9 9 9 10 9 9 9 9 9 9 9 9 9 9 9 8 8 9 9 9 9 9 9 9 9 4 6 8 9 9 8 9 9 9 9 9 7 6 12 12 13 10 5 3 5 10 13 10 8 10 8 5 4 2 1 1 8 10 10 9 9 9 9 8 8 9 9 9 9 9 9 9 9 9 9 8 3 3 6 9 10 10 9 10 10 10 10 10 10 10 9 10 11 12 12 10 9 9 9 9 9 +9 9 9 9 9 9 9 9 9 9 9 10 10 9 9 9 9 9 9 9 9 9 8 8 9 8 6 8 9 7 8 9 10 10 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 10 9 9 9 9 9 9 9 10 9 9 9 9 10 9 10 10 10 9 9 9 9 9 9 9 9 8 9 9 9 9 9 9 9 9 8 9 10 9 9 9 9 9 8 3 9 12 9 9 9 9 9 9 9 8 5 9 11 10 10 8 4 9 11 13 12 9 9 9 7 9 9 6 6 6 9 11 10 9 9 9 9 8 9 9 9 9 9 9 9 9 9 9 9 8 3 4 7 9 10 10 10 11 9 11 10 11 10 9 9 10 10 9 12 9 9 9 9 9 9 +9 9 9 9 9 9 9 9 9 9 10 10 9 9 9 9 10 9 9 9 9 8 8 9 6 5 8 9 8 8 10 11 10 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 10 9 9 9 9 9 10 10 10 10 9 9 9 9 9 10 9 9 8 9 9 9 9 9 9 9 9 9 9 8 9 10 9 9 9 9 8 2 8 12 9 9 9 8 9 8 8 7 8 12 10 9 8 5 4 13 12 8 9 9 9 9 9 8 10 8 8 9 9 12 11 9 9 9 9 9 9 9 9 9 9 9 8 9 9 8 9 8 3 3 8 9 10 11 11 12 12 11 10 10 8 9 9 9 10 11 13 10 10 9 9 9 9 +9 9 9 9 9 9 9 9 9 10 10 9 10 9 9 9 9 9 9 9 8 9 7 3 6 9 10 9 9 11 10 9 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 10 10 10 10 10 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 7 3 9 11 8 6 6 7 6 4 8 9 10 10 9 8 5 3 10 12 9 6 10 9 9 9 9 9 7 8 8 9 10 13 12 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 3 5 8 9 9 11 11 12 11 9 6 8 8 8 9 10 11 12 11 10 8 8 9 9 9 +9 9 9 9 9 9 9 9 10 9 9 9 9 9 9 9 9 9 9 8 8 8 5 5 10 11 10 10 10 10 9 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 10 10 10 10 9 9 10 10 10 10 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 8 8 9 8 8 9 8 2 9 13 8 5 9 10 9 9 10 6 9 8 8 5 4 8 13 10 9 8 10 9 9 9 9 9 9 9 5 9 12 11 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 5 3 8 9 10 11 10 9 7 5 6 7 8 8 9 10 12 12 11 9 8 9 9 9 9 +9 9 9 9 9 9 9 9 10 10 9 9 9 9 9 9 9 9 7 8 8 8 4 8 13 10 9 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 10 10 10 10 10 10 10 10 10 10 10 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 8 4 1 2 6 6 2 11 12 9 9 10 10 10 10 10 9 7 4 3 7 12 12 10 10 9 9 10 10 10 9 9 9 9 8 6 5 8 10 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 7 3 9 9 10 9 8 8 7 6 7 8 8 9 9 11 12 13 12 9 9 9 9 9 9 +9 9 9 9 9 9 9 9 9 10 10 9 9 9 9 9 9 8 8 9 9 6 6 13 10 8 8 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 10 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 10 10 10 9 10 10 10 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 6 1 6 6 3 1 5 12 11 9 9 8 11 10 9 9 9 8 6 7 13 10 9 9 9 9 9 9 9 9 9 9 9 9 7 2 6 12 11 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 6 5 8 8 9 9 9 8 8 8 8 8 9 9 11 12 12 13 11 9 9 9 9 9 9 +9 9 9 9 9 9 9 9 10 9 9 9 9 9 9 9 8 7 10 9 9 6 11 10 8 8 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 10 10 10 9 9 10 9 9 8 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 7 2 3 6 8 8 7 11 13 9 9 9 8 10 9 9 9 9 8 4 9 12 9 9 9 9 9 9 9 9 9 9 9 9 9 5 4 12 13 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 6 7 7 8 8 9 9 9 9 9 9 9 9 10 12 12 12 11 10 9 9 9 9 9 9 +9 9 9 9 9 9 9 9 10 9 9 9 9 9 9 9 7 10 9 9 9 10 10 8 8 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 10 7 6 8 9 9 9 9 9 9 9 10 10 9 9 10 10 10 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 6 8 8 10 10 11 13 12 9 9 9 8 10 10 9 9 9 7 2 11 11 10 9 9 9 9 9 9 9 9 9 9 9 6 3 11 13 10 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 8 7 7 8 9 10 9 9 10 10 10 10 10 11 11 13 13 10 9 9 9 9 9 9 9 +9 9 9 9 9 9 9 9 10 9 10 9 9 9 8 7 7 10 9 9 9 9 8 8 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 7 4 7 9 10 9 9 9 9 9 9 10 9 10 10 10 10 10 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 8 8 10 10 13 11 11 11 9 9 9 9 9 9 9 9 9 7 2 12 12 9 9 9 10 9 9 9 9 9 8 9 5 3 11 13 10 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 10 11 10 11 11 11 11 12 12 13 12 10 9 9 9 10 10 9 9 9 +9 9 9 9 9 9 9 9 10 9 9 9 9 8 9 8 10 10 9 9 9 8 8 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 7 7 9 12 10 9 9 9 9 9 9 10 9 9 10 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 8 7 10 12 12 4 8 10 9 9 9 9 9 9 9 9 9 4 4 13 12 9 9 9 9 9 9 9 9 7 2 3 4 12 13 10 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 8 9 10 10 9 11 10 11 12 12 13 13 13 12 8 8 9 9 9 9 9 9 9 9 +9 9 9 9 9 9 9 9 9 9 9 9 9 9 7 10 10 9 9 9 9 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 10 10 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 12 13 10 9 9 9 10 9 10 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 11 10 9 7 8 12 9 9 9 9 9 9 9 9 9 4 4 13 11 9 9 9 9 9 9 9 8 2 3 9 12 13 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 10 9 9 9 9 9 10 12 12 12 13 13 11 10 10 9 9 9 9 9 9 9 9 8 8 8 +9 9 9 9 9 9 9 10 9 9 9 9 9 7 9 10 9 9 9 9 9 9 9 8 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 10 9 9 10 9 10 10 10 10 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 10 9 9 9 7 6 7 8 9 9 9 9 9 9 9 3 6 13 10 9 9 9 9 8 5 7 3 8 13 13 12 10 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 10 9 9 9 9 10 9 9 10 10 9 10 10 10 9 9 9 9 9 9 9 9 10 8 7 6 5 +9 9 9 9 9 9 9 10 9 10 9 9 9 8 9 9 9 9 9 8 8 8 9 7 10 9 9 9 9 9 9 9 9 9 9 9 10 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 10 10 10 9 9 9 9 9 9 9 9 10 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 5 2 4 5 8 9 9 9 9 9 9 4 9 12 9 9 9 5 5 2 6 6 9 12 10 10 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 10 8 7 5 6 6 +9 9 9 9 9 9 10 10 9 9 9 9 9 9 9 9 9 9 9 9 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 10 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 10 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 4 5 9 8 7 9 9 9 9 9 9 4 7 9 5 7 5 0 2 6 11 12 11 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 10 9 9 9 10 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 10 8 7 7 5 8 7 +9 9 9 9 9 9 10 9 9 9 9 9 9 8 9 10 10 9 9 9 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 4 7 12 12 12 10 6 7 9 9 7 2 6 8 7 8 3 3 9 13 13 10 10 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 10 10 7 8 5 5 9 8 +9 9 9 9 9 9 10 10 10 9 9 9 8 8 10 9 9 9 9 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 8 10 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 10 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 10 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 4 9 13 10 10 9 4 6 8 6 1 4 12 13 12 11 7 6 14 14 10 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 10 9 7 6 4 8 9 8 +9 9 9 9 9 10 10 10 9 9 9 9 8 9 10 9 9 9 8 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 10 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 10 9 9 10 10 9 9 9 9 9 9 9 9 9 10 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 4 11 11 9 9 9 6 8 10 2 8 12 13 10 9 8 3 6 12 10 9 9 9 9 8 7 8 9 9 9 9 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 10 9 8 5 6 9 9 9 +9 9 9 9 10 10 9 9 9 9 9 9 9 10 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 10 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 10 10 9 9 9 10 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 8 6 11 9 9 9 9 8 9 4 5 12 11 10 9 9 5 5 10 10 9 9 9 9 9 6 8 11 10 10 10 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 10 9 7 4 8 9 9 9 +9 9 9 9 10 9 9 9 9 9 9 9 8 10 8 9 9 8 9 8 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 10 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 10 10 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 8 10 9 9 9 9 9 9 8 2 8 12 10 6 3 2 1 10 7 7 9 10 9 9 9 9 10 11 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 10 9 9 7 4 8 9 9 9 +9 9 9 9 10 9 9 9 9 9 9 9 8 9 8 9 8 9 8 8 9 9 9 9 9 9 9 9 9 9 9 9 10 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 10 9 9 9 9 9 9 9 9 9 9 9 9 9 10 10 9 9 9 10 9 9 9 9 9 9 10 9 9 9 9 9 9 9 10 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 10 9 9 9 9 9 9 7 2 10 12 3 1 3 4 8 13 5 8 12 9 9 9 9 6 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 5 9 9 9 9 +9 9 9 9 10 9 9 9 9 9 9 8 8 8 8 9 9 8 8 9 9 9 9 9 9 9 9 9 9 9 10 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 10 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 10 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 7 5 13 10 3 7 9 11 13 13 3 10 13 10 9 9 9 9 10 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 6 8 9 9 9 +9 9 9 9 9 9 9 9 9 9 9 8 9 7 5 8 9 8 8 9 9 9 9 9 9 9 9 9 9 10 10 7 10 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 10 10 10 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 6 8 12 9 6 9 12 14 12 10 7 10 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 10 8 8 9 10 10 +9 9 9 10 9 9 9 9 9 9 9 8 9 8 4 6 7 8 8 9 9 9 9 9 9 9 9 10 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 10 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 7 7 10 9 8 7 13 11 9 9 9 4 6 11 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 8 8 8 10 10 +9 9 9 10 9 9 10 10 10 9 8 9 8 9 7 3 7 10 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 10 10 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 10 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 10 9 9 9 9 9 8 8 10 7 6 11 10 9 9 9 9 4 6 12 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 11 11 +9 9 9 10 9 9 9 9 10 8 10 9 9 9 8 9 11 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 10 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 8 9 9 9 9 9 7 7 3 12 10 9 9 9 9 9 8 6 11 11 9 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 +9 9 10 10 9 9 9 9 9 9 9 9 9 7 8 8 8 9 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 10 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 8 3 10 12 9 9 9 9 9 9 9 8 10 11 8 6 10 10 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 8 +9 9 10 9 10 9 9 9 10 9 9 8 8 7 9 8 8 9 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 10 10 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 10 9 9 9 10 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 8 5 12 10 9 9 9 9 9 9 9 9 7 7 2 7 10 10 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 +9 8 10 9 10 9 8 9 9 9 8 9 6 10 9 8 8 9 9 7 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 10 10 10 9 9 9 9 10 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 5 4 6 9 9 9 9 9 9 9 9 7 5 6 13 10 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 +9 6 11 9 10 9 8 9 9 9 9 9 8 9 8 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 10 10 9 9 9 9 9 9 9 9 10 9 9 9 9 9 9 9 9 9 9 9 6 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 4 3 7 8 9 9 9 9 9 9 8 5 9 11 11 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 +9 7 9 9 9 9 7 9 9 9 8 8 8 8 8 8 9 9 9 9 9 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 7 6 10 9 9 9 9 9 9 9 10 10 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 4 4 9 9 9 9 9 9 9 9 7 8 11 9 9 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 +8 5 10 9 9 9 8 10 9 9 9 8 8 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 10 11 9 9 9 9 9 9 9 9 10 9 9 9 9 9 10 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 7 7 10 9 8 9 8 9 9 6 5 11 9 9 9 9 10 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 +8 9 11 9 9 9 8 10 9 9 8 7 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 10 10 9 9 9 9 9 9 10 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 10 8 6 9 8 6 8 5 6 12 10 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 +8 9 10 9 9 9 8 9 8 8 9 9 9 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 8 8 10 10 10 8 9 10 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 10 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 6 8 5 2 3 9 11 10 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 +8 9 9 9 9 9 8 9 9 9 9 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 10 10 10 9 9 9 10 10 10 9 9 9 9 9 9 9 9 9 10 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 10 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 8 9 9 9 5 5 6 10 13 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 +8 10 10 9 9 9 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 10 9 10 10 10 9 9 9 10 10 9 9 9 9 9 9 9 9 10 9 9 9 8 10 9 9 9 9 9 9 9 9 9 9 9 9 9 9 10 10 10 10 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 8 10 9 6 10 13 13 10 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 +8 9 9 9 9 9 9 9 10 10 9 9 8 10 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 10 9 9 9 9 9 10 10 10 10 10 9 9 9 9 9 9 9 9 9 9 9 9 10 10 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 7 7 10 9 9 11 11 11 10 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 +9 9 9 9 8 10 10 9 9 10 9 10 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 10 10 10 10 10 9 9 9 9 8 9 9 9 9 9 9 8 9 9 9 9 9 9 10 9 9 9 9 9 9 9 9 9 9 9 9 9 9 10 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 11 9 9 9 9 8 6 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 +9 9 9 9 8 10 9 9 9 10 9 9 9 9 9 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 10 10 10 10 10 9 9 9 9 7 9 9 9 9 9 9 9 9 10 9 9 10 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 10 9 10 10 10 9 9 10 9 9 9 10 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 10 9 9 9 9 9 8 9 9 11 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 8 9 9 9 9 9 9 9 9 9 9 9 9 +9 9 9 9 9 9 9 9 8 9 8 8 8 9 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 10 10 10 10 10 9 9 9 9 9 8 10 9 9 9 9 9 9 9 9 9 9 10 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 10 10 9 9 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 7 10 9 9 9 9 9 9 9 10 9 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 +9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 8 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 10 10 10 10 10 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 7 10 10 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 8 10 9 9 9 9 9 9 9 9 10 9 7 6 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 +9 9 9 9 9 10 10 10 10 10 10 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 10 9 10 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 10 10 10 10 9 9 9 9 9 9 9 9 9 9 9 9 10 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 10 9 9 9 9 9 9 8 10 10 9 4 8 11 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 +9 9 9 9 9 9 10 9 9 9 9 9 9 8 9 9 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 8 10 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 10 10 10 9 9 9 9 9 9 9 9 9 9 9 9 9 10 10 9 9 9 9 10 10 10 9 9 9 9 9 10 10 9 9 10 10 10 9 9 9 10 10 9 9 9 9 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 8 9 10 9 9 9 9 11 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 +9 9 9 9 9 9 9 9 9 9 9 9 8 9 10 9 8 8 9 8 9 9 9 9 9 9 9 9 9 9 9 8 9 9 9 9 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 10 10 10 9 9 9 9 9 9 9 9 9 9 9 9 9 10 9 9 9 9 10 10 10 9 9 9 9 9 10 10 9 9 9 10 10 9 9 9 10 10 10 10 9 9 9 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 8 9 9 9 9 9 9 9 9 8 10 9 9 9 9 8 9 10 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 +9 9 9 9 9 9 9 9 9 9 8 9 8 9 8 9 8 9 10 9 9 9 9 9 9 9 9 9 9 9 9 9 10 9 9 9 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 8 9 9 9 9 9 9 9 9 9 9 9 10 10 9 9 9 10 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 10 9 9 9 9 9 9 9 9 9 10 10 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 8 7 10 9 9 9 9 9 9 8 10 9 9 9 9 9 9 8 10 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 diff --git a/maps/test_maps/pentenegpos.fdf b/maps/test_maps/pentenegpos.fdf new file mode 100644 index 0000000..bb1c6b2 --- /dev/null +++ b/maps/test_maps/pentenegpos.fdf @@ -0,0 +1,9 @@ +-10 -9 -8 -7 -6 -5 -4 -3 -2 -1 0 1 2 3 4 5 6 7 8 9 10 +-10 -9 -8 -7 -6 -5 -4 -3 -2 -1 0 1 2 3 4 5 6 7 8 9 10 +-10 -9 -8 -7 -6 -5 -4 -3 -2 -1 0 1 2 3 4 5 6 7 8 9 10 +-10 -9 -8 -7 -6 -5 -4 -3 -2 -1 0 1 2 3 4 5 6 7 8 9 10 +-10 -9 -8 -7 -6 -5 -4 -3 -2 -1 0 1 2 3 4 5 6 7 8 9 10 +-10 -9 -8 -7 -6 -5 -4 -3 -2 -1 0 1 2 3 4 5 6 7 8 9 10 +-10 -9 -8 -7 -6 -5 -4 -3 -2 -1 0 1 2 3 4 5 6 7 8 9 10 +-10 -9 -8 -7 -6 -5 -4 -3 -2 -1 0 1 2 3 4 5 6 7 8 9 10 +-10 -9 -8 -7 -6 -5 -4 -3 -2 -1 0 1 2 3 4 5 6 7 8 9 10 diff --git a/maps/test_maps/plat.fdf b/maps/test_maps/plat.fdf new file mode 100644 index 0000000..209dd9a --- /dev/null +++ b/maps/test_maps/plat.fdf @@ -0,0 +1,14 @@ +0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 \ No newline at end of file diff --git a/maps/test_maps/pnp_flat.fdf b/maps/test_maps/pnp_flat.fdf new file mode 100644 index 0000000..afb2e29 --- /dev/null +++ b/maps/test_maps/pnp_flat.fdf @@ -0,0 +1,9 @@ +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 diff --git a/maps/test_maps/pylone.fdf b/maps/test_maps/pylone.fdf new file mode 100644 index 0000000..b09ecd0 --- /dev/null +++ b/maps/test_maps/pylone.fdf @@ -0,0 +1,47 @@ +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 +0 0 0 0 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 0 0 0 0 +0 0 0 0 1 2 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 2 1 0 0 0 0 +0 0 0 0 1 2 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 2 1 0 0 0 0 +0 0 0 0 1 2 3 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 3 2 1 0 0 0 0 +0 0 0 0 1 2 3 4 5 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 5 4 3 2 1 0 0 0 0 +0 0 0 0 1 2 3 4 5 6 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 6 5 4 3 2 1 0 0 0 0 +0 0 0 0 1 2 3 4 5 6 7 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 7 6 5 4 3 2 1 0 0 0 0 +0 0 0 0 1 2 3 4 5 6 7 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 7 6 5 4 3 2 1 0 0 0 0 +0 0 0 0 1 2 3 4 5 6 7 6 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 6 7 6 5 4 3 2 1 0 0 0 0 +0 0 0 0 1 2 3 4 5 6 7 6 5 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 5 6 7 6 5 4 3 2 1 0 0 0 0 +0 0 0 0 1 2 3 4 5 6 7 6 5 4 3 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 3 4 5 6 7 6 5 4 3 2 1 0 0 0 0 +0 0 0 0 1 2 3 4 5 6 7 6 5 4 3 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 3 4 5 6 7 6 5 4 3 2 1 0 0 0 0 +0 0 0 0 1 2 3 4 5 6 7 6 5 4 3 2 1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 1 2 3 4 5 6 7 6 5 4 3 2 1 0 0 0 0 +0 0 0 0 1 2 3 4 5 6 7 6 5 4 3 2 1 -1 -2 -1 -1 -1 -1 -1 -2 -2 -2 -2 -2 -2 -1 1 2 3 4 5 6 7 6 5 4 3 2 1 0 0 0 0 +0 0 0 0 1 2 3 4 5 6 7 6 5 4 3 2 1 -1 -2 -3 -3 -3 -3 -3 -3 -3 -3 -3 -3 -2 -1 1 2 3 4 5 6 7 6 5 4 3 2 1 0 0 0 0 +0 0 0 0 1 2 3 4 5 6 7 6 5 4 3 2 1 -1 -2 -3 -4 -4 -4 -4 -4 -4 -4 -4 -3 -2 -1 1 2 3 4 5 6 7 6 5 4 3 2 1 0 0 0 +0 0 0 0 1 2 3 4 5 6 7 6 5 4 3 2 1 -1 -2 -3 -4 -5 -5 -5 -5 -5 -5 -4 -3 -2 -1 1 2 3 4 5 6 7 6 5 4 3 2 1 0 0 0 0 +0 0 0 0 1 2 3 4 5 6 7 6 5 4 3 2 1 -1 -2 -3 -4 -5 -6 -6 -6 -6 -5 -4 -3 -2 -1 1 2 3 4 5 6 7 6 5 4 3 2 1 0 0 0 0 +0 0 0 0 1 2 3 4 5 6 7 6 5 4 3 2 1 -1 -2 -3 -4 -5 -6 -7 -7 -6 -5 -4 -3 -2 -1 1 2 3 4 5 6 7 6 5 4 3 2 1 0 0 0 0 +0 0 0 0 1 2 3 4 5 6 7 6 5 4 3 2 1 -1 -2 -3 -4 -5 -6 -7 -7 -6 -5 -4 -3 -2 -1 1 2 3 4 5 6 7 6 5 4 3 2 1 0 0 0 0 +0 0 0 0 1 2 3 4 5 6 7 6 5 4 3 2 1 -1 -2 -3 -4 -5 -6 -6 -6 -6 -5 -4 -3 -2 -1 1 2 3 4 5 6 7 6 5 4 3 2 1 0 0 0 0 +0 0 0 0 1 2 3 4 5 6 7 6 5 4 3 2 1 -1 -2 -3 -4 -5 -5 -5 -5 -5 -5 -4 -3 -2 -1 1 2 3 4 5 6 7 6 5 4 3 2 1 0 0 0 0 +0 0 0 0 1 2 3 4 5 6 7 6 5 4 3 2 1 -1 -2 -3 -4 -4 -4 -4 -4 -4 -4 -4 -3 -2 -1 1 2 3 4 5 6 7 6 5 4 3 2 1 0 0 0 0 +0 0 0 0 1 2 3 4 5 6 7 6 5 4 3 2 1 -1 -2 -3 -3 -3 -3 -3 -3 -3 -3 -3 -3 -2 -1 1 2 3 4 5 6 7 6 5 4 3 2 1 0 0 0 0 +0 0 0 0 1 2 3 4 5 6 7 6 5 4 3 2 1 -1 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -1 1 2 3 4 5 6 7 6 5 4 3 2 1 0 0 0 0 +0 0 0 0 1 2 3 4 5 6 7 6 5 4 3 2 1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 1 2 3 4 5 6 7 6 5 4 3 2 1 0 0 0 0 +0 0 0 0 1 2 3 4 5 6 7 6 5 4 3 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 3 4 5 6 7 6 5 4 3 2 1 0 0 0 0 +0 0 0 0 1 2 3 4 5 6 7 6 5 4 3 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 3 4 5 6 7 6 5 4 3 2 1 0 0 0 0 +0 0 0 0 1 2 3 4 5 6 7 6 5 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 5 6 7 6 5 4 3 2 1 0 0 0 0 +0 0 0 0 1 2 3 4 5 6 7 6 5 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 6 7 6 5 4 3 2 1 0 0 0 0 +0 0 0 0 1 2 3 4 5 6 7 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 7 6 5 4 3 2 1 0 0 0 0 +0 0 0 0 1 2 3 4 5 6 7 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 7 6 5 4 3 2 1 0 0 0 0 +0 0 0 0 1 2 3 4 5 6 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 6 5 4 3 2 1 0 0 0 0 +0 0 0 0 1 2 3 4 5 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 5 4 3 2 1 0 0 0 0 +0 0 0 0 1 2 3 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 3 2 1 0 0 0 0 +0 0 0 0 1 2 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 2 1 0 0 0 0 +0 0 0 0 1 2 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 2 1 0 0 0 0 +0 0 0 0 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 0 0 0 0 +0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 diff --git a/maps/test_maps/pyra.fdf b/maps/test_maps/pyra.fdf new file mode 100644 index 0000000..af64cf3 --- /dev/null +++ b/maps/test_maps/pyra.fdf @@ -0,0 +1,27 @@ + 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +-1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 +-2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -1 0 1 2 2 2 2 2 2 2 2 2 2 2 2 +-3 -3 -3 -3 -3 -3 -3 -3 -3 -3 -3 -2 -1 0 1 2 3 3 3 3 3 3 3 3 3 3 3 +-4 -4 -4 -4 -4 -4 -4 -4 -4 -4 -3 -2 -1 0 1 2 3 4 4 4 4 4 4 4 4 4 4 +-5 -5 -5 -5 -5 -5 -5 -5 -5 -4 -3 -2 -1 0 1 2 3 4 5 5 5 5 5 5 5 5 5 +-6 -6 -6 -6 -6 -6 -6 -6 -5 -4 -3 -2 -1 0 1 2 3 4 5 6 6 6 6 6 6 6 6 +-7 -7 -7 -7 -7 -7 -7 -6 -5 -4 -3 -2 -1 0 1 2 3 4 5 6 7 7 7 7 7 7 7 +-8 -8 -8 -8 -8 -8 -7 -6 -5 -4 -3 -2 -1 0 1 2 3 4 5 6 7 8 8 8 8 8 8 +-9 -9 -9 -9 -9 -8 -7 -6 -5 -4 -3 -2 -1 0 1 2 3 4 5 6 7 8 9 9 9 9 9 +-10 -10 -10 -10 -9 -8 -7 -6 -5 -4 -3 -2 -1 0 1 2 3 4 5 6 7 8 9 10 10 10 10 +-11 -11 -11 -10 -9 -8 -7 -6 -5 -4 -3 -2 -1 0 1 2 3 4 5 6 7 8 9 10 11 11 11 +-12 -12 -11 -10 -9 -8 -7 -6 -5 -4 -3 -2 -1 0 1 2 3 4 5 6 7 8 9 10 11 12 12 +-13 -12 -11 -10 -9 -8 -7 -6 -5 -4 -3 -2 -1 0 1 2 3 4 5 6 7 8 9 10 11 12 13 +-13 -12 -11 -10 -9 -8 -7 -6 -5 -4 -3 -2 -1 0 1 2 3 4 5 6 7 8 9 10 11 12 12 +-13 -12 -11 -10 -9 -8 -7 -6 -5 -4 -3 -2 -1 0 1 2 3 4 5 6 7 8 9 10 11 11 11 +-13 -12 -11 -10 -9 -8 -7 -6 -5 -4 -3 -2 -1 0 1 2 3 4 5 6 7 8 9 10 10 10 10 +-13 -12 -11 -10 -9 -8 -7 -6 -5 -4 -3 -2 -1 0 1 2 3 4 5 6 7 8 9 9 9 9 9 +-13 -12 -11 -10 -9 -8 -7 -6 -5 -4 -3 -2 -1 0 1 2 3 4 5 6 7 8 8 8 8 8 8 +-13 -12 -11 -10 -9 -8 -7 -6 -5 -4 -3 -2 -1 0 1 2 3 4 5 6 7 7 7 7 7 7 7 +-13 -12 -11 -10 -9 -8 -7 -6 -5 -4 -3 -2 -1 0 1 2 3 4 5 6 6 6 6 6 6 6 6 +-13 -12 -11 -10 -9 -8 -7 -6 -5 -4 -3 -2 -1 0 1 2 3 4 5 5 5 5 5 5 5 5 5 +-13 -12 -11 -10 -9 -8 -7 -6 -4 -4 -3 -2 -1 0 1 2 3 4 4 4 4 4 4 4 4 4 4 +-13 -12 -11 -10 -9 -8 -7 -6 -5 -4 -3 -2 -1 0 1 2 3 3 3 3 3 3 3 3 3 3 3 +-13 -12 -11 -10 -9 -8 -7 -6 -5 -4 -3 -2 -1 0 1 2 2 2 2 2 2 2 2 2 2 2 2 +-13 -12 -11 -10 -9 -8 -7 -6 -5 -4 -3 -2 -1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 + 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 diff --git a/maps/test_maps/pyramide.fdf b/maps/test_maps/pyramide.fdf new file mode 100644 index 0000000..4750db0 --- /dev/null +++ b/maps/test_maps/pyramide.fdf @@ -0,0 +1,34 @@ +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 +0 0 0 0 0 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 0 0 0 0 0 +0 0 0 0 0 1 2 3 3 3 3 3 3 3 3 3 3 3 3 3 2 1 0 0 0 0 0 +0 0 0 0 0 1 2 3 4 4 4 4 4 4 4 4 4 4 4 3 2 1 0 0 0 0 0 +0 0 0 0 0 1 2 3 4 4 4 4 4 4 4 4 4 4 4 3 2 1 0 0 0 0 0 +0 0 0 0 0 1 2 3 4 4 4 4 4 4 4 4 4 4 4 3 2 1 0 0 0 0 0 +0 0 0 0 0 1 2 3 4 4 4 4 4 4 4 4 4 4 4 3 2 1 0 0 0 0 0 +0 0 0 0 0 1 2 3 4 4 4 4 4 4 4 4 4 4 4 3 2 1 0 0 0 0 0 +0 0 0 0 0 1 2 3 4 5 5 5 5 5 5 5 5 5 4 3 2 1 0 0 0 0 0 +0 0 0 0 0 1 2 3 4 5 6 6 6 6 6 6 6 5 4 3 2 1 0 0 0 0 0 +0 0 0 0 0 1 2 3 4 5 6 7 7 7 7 7 6 5 4 3 2 1 0 0 0 0 0 +0 0 0 0 0 1 2 3 4 5 6 7 8,0xFFFFFF 8,0xFFFFFF 8,0xFFFFFF 7 6 5 4 3 2 1 0 0 0 0 0 +0 0 0 0 0 1 2 3 4 5 6 7 8,0xFFFFFF 8,0xFFFFFF 8,0xFFFFFF 7 6 5 4 3 2 1 0 0 0 0 0 +0 0 0 0 0 1 2 3 4 5 6 7 8,0xFFFFFF 8,0xFFFFFF 8,0xFFFFFF 7 6 5 4 3 2 1 0 0 0 0 0 +0 0 0 0 0 1 2 3 4 5 6 7 8,0xFFFFFF 8,0xFFFFFF 8,0xFFFFFF 7 6 5 4 3 2 1 0 0 0 0 0 +0 0 0 0 0 1 2 3 4 5 6 7 8,0xFFFFFF 9,0xFFFFFF 8,0xFFFFFF 7 6 5 4 3 2 1 0 0 0 0 0 +0 0 0 0 0 1 2 3 4 5 6 7 8,0xFFFFFF 8,0xFFFFFF 8,0xFFFFFF 7 6 5 4 3 2 1 0 0 0 0 0 +0 0 0 0 0 1 2 3 4 5 6 7 7 7 7 7 6 5 4 3 2 1 0 0 0 0 0 +0 0 0 0 0 1 2 3 4 5 6 6 6 6 6 6 6 5 4 3 2 1 0 0 0 0 0 +0 0 0 0 0 1 2 3 4 5 5 5 5 5 5 5 5 5 4 3 2 1 0 0 0 0 0 +0 0 0 0 0 1 2 3 4 4 4 4 4 4 4 4 4 4 4 3 2 1 0 0 0 0 0 +0 0 0 0 0 1 2 3 3 3 3 3 3 3 3 3 3 3 3 3 2 1 0 0 0 0 0 +0 0 0 0 0 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 0 0 0 0 0 +0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 \ No newline at end of file diff --git a/maps/test_maps/t1.fdf b/maps/test_maps/t1.fdf new file mode 100644 index 0000000..5b7beda --- /dev/null +++ b/maps/test_maps/t1.fdf @@ -0,0 +1,200 @@ + 0,0xff 0,0xff 1,0xff 0,0xff 5,0xff00 3,0xff 5,0xff00 6,0xff00 7,0xff00 11,0xff00 6,0xff00 9,0xff00 12,0xff00 17,0xff00 17,0xff00 16,0xff00 16,0xff00 17,0xff00 19,0xff00 19,0xff00 19,0xff00 23,0xff00 21,0xff00 24,0xff00 23,0xff00 27,0xff00 22,0xff00 26,0xff00 24,0xff00 28,0xff00 29,0xff00 30,0xff00 32,0xff00 36,0xff00 32,0xff00 30,0xff00 32,0xff00 33,0xff00 49,0x802020 50,0x802020 56,0x802020 55,0x802020 52,0x802020 53,0x802020 56,0x802020 51,0x802020 54,0x802020 58,0x802020 59,0x802020 53,0x802020 57,0x802020 49,0x802020 42,0x802020 49,0x802020 59,0x802020 58,0x802020 64,0x802020 61,0x802020 61,0x802020 50,0x802020 59,0x802020 60,0x802020 49,0x802020 82,0xffffff 75,0xffffff 83,0xffffff 70,0xffffff 59,0x802020 95,0xffffff 91,0xffffff 75,0xffffff 65,0x802020 68,0x802020 68,0x802020 61,0x802020 75,0xffffff 98,0xffffff 84,0xffffff 101,0xffffff 81,0xffffff 104,0xffffff 100,0xffffff 101,0xffffff 93,0xffffff 73,0xffffff 95,0xffffff 77,0xffffff 66,0x802020 93,0xffffff 106,0xffffff 89,0xffffff 79,0xffffff 94,0xffffff 72,0xffffff 77,0xffffff 107,0xffffff 128,0xffffff 116,0xffffff 105,0xffffff 89,0xffffff 78,0xffffff 67,0x802020 75,0xffffff 94,0xffffff 105,0xffffff 119,0xffffff 101,0xffffff 111,0xffffff 111,0xffffff 102,0xffffff 121,0xffffff 136,0xffffff 118,0xffffff 127,0xffffff 97,0xffffff 92,0xffffff 108,0xffffff 113,0xffffff 100,0xffffff 88,0xffffff 88,0xffffff 101,0xffffff 97,0xffffff 105,0xffffff 106,0xffffff 114,0xffffff 137,0xffffff 129,0xffffff 136,0xffffff 141,0xffffff 142,0xffffff 161,0xffffff 142,0xffffff 131,0xffffff 156,0xffffff 136,0xffffff 109,0xffffff 111,0xffffff 124,0xffffff 153,0xffffff 152,0xffffff 142,0xffffff 144,0xffffff 142,0xffffff 155,0xffffff 158,0xffffff 144,0xffffff 129,0xffffff 145,0xffffff 140,0xffffff 172,0xffffff 146,0xffffff 121,0xffffff 133,0xffffff 163,0xffffff 165,0xffffff 148,0xffffff 125,0xffffff 135,0xffffff 161,0xffffff 165,0xffffff 136,0xffffff 145,0xffffff 176,0xffffff 151,0xffffff 186,0xffffff 175,0xffffff 162,0xffffff 157,0xffffff 164,0xffffff 154,0xffffff 177,0xffffff 200,0xffffff 189,0xffffff 182,0xffffff 165,0xffffff 163,0xffffff 176,0xffffff 176,0xffffff 209,0xffffff 210,0xffffff 192,0xffffff 155,0xffffff 168,0xffffff 175,0xffffff 185,0xffffff 187,0xffffff 166,0xffffff 183,0xffffff 208,0xffffff 193,0xffffff 199,0xffffff 161,0xffffff 166,0xffffff 172,0xffffff 188,0xffffff 185,0xffffff 179,0xffffff 194,0xffffff 200,0xffffff + 1,0xff 0,0xff 2,0xff 2,0xff 3,0xff 3,0xff 3,0xff 3,0xff 5,0xff00 10,0xff00 11,0xff00 13,0xff00 14,0xff00 13,0xff00 18,0xff00 13,0xff00 12,0xff00 13,0xff00 17,0xff00 19,0xff00 18,0xff00 22,0xff00 21,0xff00 26,0xff00 24,0xff00 24,0xff00 23,0xff00 24,0xff00 26,0xff00 31,0xff00 29,0xff00 27,0xff00 32,0xff00 33,0xff00 31,0xff00 47,0x802020 47,0x802020 49,0x802020 50,0x802020 56,0x802020 55,0x802020 49,0x802020 51,0x802020 56,0x802020 59,0x802020 47,0x802020 49,0x802020 46,0x802020 52,0x802020 53,0x802020 54,0x802020 51,0x802020 57,0x802020 54,0x802020 49,0x802020 49,0x802020 47,0x802020 50,0x802020 49,0x802020 42,0x802020 49,0x802020 53,0x802020 49,0x802020 66,0x802020 68,0x802020 77,0xffffff 67,0x802020 46,0x802020 78,0xffffff 56,0x802020 71,0xffffff 58,0x802020 67,0x802020 56,0x802020 49,0x802020 70,0xffffff 86,0xffffff 87,0xffffff 103,0xffffff 96,0xffffff 86,0xffffff 68,0x802020 80,0xffffff 60,0x802020 78,0xffffff 103,0xffffff 85,0xffffff 87,0xffffff 90,0xffffff 97,0xffffff 101,0xffffff 85,0xffffff 97,0xffffff 91,0xffffff 85,0xffffff 103,0xffffff 125,0xffffff 134,0xffffff 104,0xffffff 82,0xffffff 60,0x802020 58,0x802020 57,0x802020 87,0xffffff 110,0xffffff 132,0xffffff 115,0xffffff 109,0xffffff 95,0xffffff 118,0xffffff 134,0xffffff 108,0xffffff 115,0xffffff 86,0xffffff 91,0xffffff 96,0xffffff 94,0xffffff 101,0xffffff 122,0xffffff 108,0xffffff 82,0xffffff 62,0x802020 71,0xffffff 95,0xffffff 103,0xffffff 113,0xffffff 121,0xffffff 108,0xffffff 122,0xffffff 111,0xffffff 113,0xffffff 125,0xffffff 116,0xffffff 122,0xffffff 147,0xffffff 139,0xffffff 121,0xffffff 119,0xffffff 162,0xffffff 184,0xffffff 169,0xffffff 164,0xffffff 151,0xffffff 132,0xffffff 156,0xffffff 137,0xffffff 149,0xffffff 134,0xffffff 155,0xffffff 174,0xffffff 177,0xffffff 137,0xffffff 141,0xffffff 152,0xffffff 168,0xffffff 139,0xffffff 148,0xffffff 107,0xffffff 112,0xffffff 137,0xffffff 143,0xffffff 172,0xffffff 165,0xffffff 161,0xffffff 153,0xffffff 157,0xffffff 148,0xffffff 169,0xffffff 160,0xffffff 171,0xffffff 148,0xffffff 176,0xffffff 174,0xffffff 182,0xffffff 171,0xffffff 167,0xffffff 187,0xffffff 187,0xffffff 164,0xffffff 166,0xffffff 174,0xffffff 171,0xffffff 163,0xffffff 168,0xffffff 179,0xffffff 174,0xffffff 163,0xffffff 176,0xffffff 168,0xffffff 175,0xffffff 184,0xffffff 182,0xffffff 160,0xffffff 169,0xffffff 183,0xffffff 206,0xffffff 193,0xffffff 170,0xffffff 196,0xffffff 202,0xffffff + 0,0xff 0,0xff 1,0xff 2,0xff 2,0xff 1,0xff 3,0xff 1,0xff 8,0xff00 12,0xff00 10,0xff00 11,0xff00 12,0xff00 15,0xff00 13,0xff00 10,0xff00 10,0xff00 16,0xff00 17,0xff00 19,0xff00 19,0xff00 22,0xff00 17,0xff00 21,0xff00 18,0xff00 19,0xff00 23,0xff00 25,0xff00 27,0xff00 34,0xff00 32,0xff00 29,0xff00 32,0xff00 29,0xff00 32,0xff00 36,0xff00 41,0x802020 55,0x802020 56,0x802020 48,0x802020 52,0x802020 54,0x802020 53,0x802020 67,0x802020 62,0x802020 57,0x802020 52,0x802020 51,0x802020 62,0x802020 56,0x802020 56,0x802020 54,0x802020 46,0x802020 45,0x802020 41,0x802020 53,0x802020 43,0x802020 36,0xff00 42,0x802020 33,0xff00 42,0x802020 45,0x802020 53,0x802020 61,0x802020 70,0xffffff 72,0xffffff 59,0x802020 45,0x802020 58,0x802020 48,0x802020 53,0x802020 56,0x802020 86,0xffffff 82,0xffffff 71,0xffffff 96,0xffffff 81,0xffffff 90,0xffffff 90,0xffffff 82,0xffffff 94,0xffffff 79,0xffffff 93,0xffffff 84,0xffffff 82,0xffffff 106,0xffffff 99,0xffffff 83,0xffffff 111,0xffffff 116,0xffffff 100,0xffffff 88,0xffffff 91,0xffffff 104,0xffffff 83,0xffffff 122,0xffffff 131,0xffffff 90,0xffffff 79,0xffffff 68,0x802020 68,0x802020 97,0xffffff 96,0xffffff 120,0xffffff 124,0xffffff 140,0xffffff 104,0xffffff 102,0xffffff 133,0xffffff 142,0xffffff 125,0xffffff 115,0xffffff 81,0xffffff 79,0xffffff 114,0xffffff 92,0xffffff 127,0xffffff 121,0xffffff 102,0xffffff 80,0xffffff 87,0xffffff 91,0xffffff 92,0xffffff 124,0xffffff 135,0xffffff 137,0xffffff 124,0xffffff 129,0xffffff 129,0xffffff 98,0xffffff 119,0xffffff 120,0xffffff 121,0xffffff 134,0xffffff 125,0xffffff 119,0xffffff 117,0xffffff 151,0xffffff 183,0xffffff 195,0xffffff 172,0xffffff 151,0xffffff 149,0xffffff 102,0xffffff 122,0xffffff 124,0xffffff 160,0xffffff 161,0xffffff 164,0xffffff 187,0xffffff 181,0xffffff 163,0xffffff 160,0xffffff 134,0xffffff 115,0xffffff 97,0xffffff 98,0xffffff 98,0xffffff 108,0xffffff 145,0xffffff 165,0xffffff 168,0xffffff 131,0xffffff 141,0xffffff 167,0xffffff 177,0xffffff 164,0xffffff 158,0xffffff 169,0xffffff 159,0xffffff 182,0xffffff 183,0xffffff 171,0xffffff 196,0xffffff 168,0xffffff 175,0xffffff 193,0xffffff 183,0xffffff 144,0xffffff 173,0xffffff 179,0xffffff 162,0xffffff 183,0xffffff 194,0xffffff 187,0xffffff 198,0xffffff 191,0xffffff 176,0xffffff 166,0xffffff 156,0xffffff 166,0xffffff 170,0xffffff 144,0xffffff 153,0xffffff 170,0xffffff 175,0xffffff 168,0xffffff 182,0xffffff 192,0xffffff 198,0xffffff + 1,0xff 1,0xff 1,0xff 3,0xff 2,0xff 3,0xff 5,0xff00 5,0xff00 7,0xff00 12,0xff00 13,0xff00 12,0xff00 8,0xff00 13,0xff00 9,0xff00 12,0xff00 13,0xff00 12,0xff00 15,0xff00 18,0xff00 17,0xff00 20,0xff00 21,0xff00 19,0xff00 21,0xff00 18,0xff00 25,0xff00 27,0xff00 29,0xff00 30,0xff00 29,0xff00 29,0xff00 30,0xff00 29,0xff00 35,0xff00 46,0x802020 42,0x802020 57,0x802020 62,0x802020 59,0x802020 63,0x802020 57,0x802020 65,0x802020 77,0xffffff 69,0x802020 59,0x802020 57,0x802020 55,0x802020 52,0x802020 50,0x802020 39,0xff00 42,0x802020 38,0xff00 42,0x802020 34,0xff00 43,0x802020 36,0xff00 32,0xff00 36,0xff00 41,0x802020 43,0x802020 39,0xff00 49,0x802020 62,0x802020 62,0x802020 65,0x802020 47,0x802020 52,0x802020 61,0x802020 48,0x802020 57,0x802020 50,0x802020 65,0x802020 76,0xffffff 65,0x802020 83,0xffffff 71,0xffffff 83,0xffffff 97,0xffffff 109,0xffffff 94,0xffffff 98,0xffffff 86,0xffffff 119,0xffffff 107,0xffffff 113,0xffffff 79,0xffffff 90,0xffffff 135,0xffffff 116,0xffffff 103,0xffffff 115,0xffffff 120,0xffffff 105,0xffffff 110,0xffffff 92,0xffffff 104,0xffffff 61,0x802020 74,0xffffff 98,0xffffff 82,0xffffff 92,0xffffff 111,0xffffff 127,0xffffff 122,0xffffff 136,0xffffff 88,0xffffff 119,0xffffff 152,0xffffff 137,0xffffff 123,0xffffff 93,0xffffff 63,0x802020 88,0xffffff 129,0xffffff 120,0xffffff 140,0xffffff 112,0xffffff 104,0xffffff 86,0xffffff 120,0xffffff 133,0xffffff 136,0xffffff 161,0xffffff 166,0xffffff 158,0xffffff 145,0xffffff 134,0xffffff 134,0xffffff 137,0xffffff 133,0xffffff 152,0xffffff 147,0xffffff 135,0xffffff 137,0xffffff 142,0xffffff 118,0xffffff 159,0xffffff 178,0xffffff 168,0xffffff 159,0xffffff 149,0xffffff 139,0xffffff 109,0xffffff 117,0xffffff 140,0xffffff 188,0xffffff 185,0xffffff 193,0xffffff 192,0xffffff 172,0xffffff 162,0xffffff 128,0xffffff 147,0xffffff 124,0xffffff 87,0xffffff 99,0xffffff 122,0xffffff 110,0xffffff 152,0xffffff 145,0xffffff 173,0xffffff 139,0xffffff 169,0xffffff 157,0xffffff 157,0xffffff 173,0xffffff 191,0xffffff 203,0xffffff 199,0xffffff 196,0xffffff 199,0xffffff 168,0xffffff 183,0xffffff 175,0xffffff 170,0xffffff 164,0xffffff 148,0xffffff 157,0xffffff 206,0xffffff 195,0xffffff 191,0xffffff 205,0xffffff 193,0xffffff 175,0xffffff 160,0xffffff 165,0xffffff 176,0xffffff 165,0xffffff 134,0xffffff 142,0xffffff 137,0xffffff 142,0xffffff 144,0xffffff 171,0xffffff 175,0xffffff 157,0xffffff 175,0xffffff 174,0xffffff 197,0xffffff + 1,0xff 1,0xff 1,0xff 3,0xff 3,0xff 2,0xff 4,0xff 5,0xff00 3,0xff 8,0xff00 13,0xff00 12,0xff00 10,0xff00 13,0xff00 10,0xff00 12,0xff00 13,0xff00 11,0xff00 11,0xff00 13,0xff00 16,0xff00 21,0xff00 18,0xff00 19,0xff00 21,0xff00 21,0xff00 23,0xff00 25,0xff00 24,0xff00 25,0xff00 26,0xff00 30,0xff00 32,0xff00 37,0xff00 50,0x802020 55,0x802020 53,0x802020 59,0x802020 61,0x802020 55,0x802020 57,0x802020 56,0x802020 88,0xffffff 73,0xffffff 52,0x802020 54,0x802020 46,0x802020 38,0xff00 40,0x802020 43,0x802020 39,0xff00 40,0x802020 35,0xff00 36,0xff00 28,0xff00 41,0x802020 33,0xff00 30,0xff00 36,0xff00 38,0xff00 46,0x802020 41,0x802020 45,0x802020 61,0x802020 51,0x802020 55,0x802020 40,0x802020 50,0x802020 43,0x802020 42,0x802020 52,0x802020 62,0x802020 71,0xffffff 61,0x802020 66,0x802020 56,0x802020 80,0xffffff 82,0xffffff 96,0xffffff 107,0xffffff 110,0xffffff 111,0xffffff 88,0xffffff 106,0xffffff 92,0xffffff 98,0xffffff 114,0xffffff 116,0xffffff 106,0xffffff 119,0xffffff 118,0xffffff 100,0xffffff 122,0xffffff 102,0xffffff 99,0xffffff 75,0xffffff 95,0xffffff 94,0xffffff 82,0xffffff 121,0xffffff 104,0xffffff 111,0xffffff 118,0xffffff 117,0xffffff 126,0xffffff 121,0xffffff 103,0xffffff 111,0xffffff 142,0xffffff 113,0xffffff 87,0xffffff 64,0x802020 78,0xffffff 87,0xffffff 125,0xffffff 108,0xffffff 107,0xffffff 116,0xffffff 140,0xffffff 131,0xffffff 139,0xffffff 131,0xffffff 145,0xffffff 155,0xffffff 145,0xffffff 167,0xffffff 158,0xffffff 128,0xffffff 120,0xffffff 131,0xffffff 121,0xffffff 132,0xffffff 132,0xffffff 167,0xffffff 151,0xffffff 141,0xffffff 142,0xffffff 133,0xffffff 152,0xffffff 176,0xffffff 176,0xffffff 152,0xffffff 111,0xffffff 90,0xffffff 106,0xffffff 146,0xffffff 172,0xffffff 168,0xffffff 182,0xffffff 174,0xffffff 144,0xffffff 128,0xffffff 121,0xffffff 145,0xffffff 115,0xffffff 97,0xffffff 101,0xffffff 116,0xffffff 126,0xffffff 172,0xffffff 146,0xffffff 148,0xffffff 150,0xffffff 157,0xffffff 144,0xffffff 168,0xffffff 165,0xffffff 166,0xffffff 165,0xffffff 167,0xffffff 180,0xffffff 207,0xffffff 189,0xffffff 170,0xffffff 194,0xffffff 192,0xffffff 184,0xffffff 177,0xffffff 184,0xffffff 186,0xffffff 192,0xffffff 198,0xffffff 199,0xffffff 179,0xffffff 155,0xffffff 145,0xffffff 160,0xffffff 173,0xffffff 179,0xffffff 160,0xffffff 142,0xffffff 157,0xffffff 136,0xffffff 170,0xffffff 156,0xffffff 185,0xffffff 162,0xffffff 163,0xffffff 166,0xffffff 196,0xffffff + 2,0xff 3,0xff 3,0xff 3,0xff 2,0xff 1,0xff 4,0xff 2,0xff 3,0xff 9,0xff00 9,0xff00 13,0xff00 12,0xff00 15,0xff00 12,0xff00 12,0xff00 12,0xff00 9,0xff00 9,0xff00 15,0xff00 14,0xff00 15,0xff00 15,0xff00 15,0xff00 19,0xff00 20,0xff00 28,0xff00 28,0xff00 31,0xff00 40,0x802020 43,0x802020 46,0x802020 44,0x802020 52,0x802020 49,0x802020 62,0x802020 54,0x802020 56,0x802020 54,0x802020 51,0x802020 60,0x802020 65,0x802020 69,0x802020 65,0x802020 55,0x802020 51,0x802020 41,0x802020 41,0x802020 39,0xff00 42,0x802020 35,0xff00 36,0xff00 34,0xff00 29,0xff00 25,0xff00 42,0x802020 38,0xff00 43,0x802020 46,0x802020 48,0x802020 42,0x802020 53,0x802020 50,0x802020 45,0x802020 45,0x802020 42,0x802020 48,0x802020 57,0x802020 56,0x802020 77,0xffffff 78,0xffffff 92,0xffffff 79,0xffffff 80,0xffffff 76,0xffffff 75,0xffffff 75,0xffffff 95,0xffffff 129,0xffffff 121,0xffffff 103,0xffffff 109,0xffffff 112,0xffffff 114,0xffffff 115,0xffffff 122,0xffffff 130,0xffffff 108,0xffffff 106,0xffffff 112,0xffffff 84,0xffffff 98,0xffffff 128,0xffffff 111,0xffffff 102,0xffffff 76,0xffffff 78,0xffffff 98,0xffffff 83,0xffffff 109,0xffffff 104,0xffffff 129,0xffffff 115,0xffffff 134,0xffffff 117,0xffffff 111,0xffffff 122,0xffffff 119,0xffffff 137,0xffffff 94,0xffffff 69,0x802020 92,0xffffff 91,0xffffff 75,0xffffff 112,0xffffff 86,0xffffff 92,0xffffff 106,0xffffff 130,0xffffff 128,0xffffff 153,0xffffff 120,0xffffff 132,0xffffff 133,0xffffff 138,0xffffff 127,0xffffff 128,0xffffff 128,0xffffff 112,0xffffff 115,0xffffff 107,0xffffff 129,0xffffff 137,0xffffff 162,0xffffff 110,0xffffff 112,0xffffff 125,0xffffff 121,0xffffff 134,0xffffff 140,0xffffff 146,0xffffff 101,0xffffff 95,0xffffff 120,0xffffff 143,0xffffff 154,0xffffff 164,0xffffff 131,0xffffff 145,0xffffff 146,0xffffff 157,0xffffff 137,0xffffff 123,0xffffff 106,0xffffff 95,0xffffff 125,0xffffff 122,0xffffff 130,0xffffff 123,0xffffff 118,0xffffff 114,0xffffff 124,0xffffff 138,0xffffff 149,0xffffff 170,0xffffff 186,0xffffff 173,0xffffff 153,0xffffff 167,0xffffff 166,0xffffff 198,0xffffff 173,0xffffff 181,0xffffff 194,0xffffff 207,0xffffff 192,0xffffff 171,0xffffff 177,0xffffff 165,0xffffff 182,0xffffff 191,0xffffff 203,0xffffff 201,0xffffff 183,0xffffff 150,0xffffff 137,0xffffff 157,0xffffff 178,0xffffff 174,0xffffff 155,0xffffff 166,0xffffff 170,0xffffff 149,0xffffff 160,0xffffff 154,0xffffff 158,0xffffff 151,0xffffff 169,0xffffff 172,0xffffff 198,0xffffff + 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 2,0xff 3,0xff 1,0xff 3,0xff 8,0xff00 9,0xff00 8,0xff00 5,0xff00 7,0xff00 8,0xff00 12,0xff00 6,0xff00 7,0xff00 14,0xff00 13,0xff00 10,0xff00 9,0xff00 12,0xff00 16,0xff00 18,0xff00 22,0xff00 27,0xff00 26,0xff00 33,0xff00 46,0x802020 48,0x802020 44,0x802020 55,0x802020 56,0x802020 42,0x802020 45,0x802020 42,0x802020 43,0x802020 43,0x802020 53,0x802020 55,0x802020 57,0x802020 59,0x802020 48,0x802020 50,0x802020 39,0xff00 35,0xff00 37,0xff00 35,0xff00 41,0x802020 36,0xff00 38,0xff00 35,0xff00 33,0xff00 33,0xff00 35,0xff00 32,0xff00 33,0xff00 43,0x802020 50,0x802020 55,0x802020 55,0x802020 46,0x802020 36,0xff00 48,0x802020 41,0x802020 43,0x802020 52,0x802020 66,0x802020 62,0x802020 64,0x802020 82,0xffffff 73,0xffffff 97,0xffffff 74,0xffffff 77,0xffffff 69,0x802020 80,0xffffff 90,0xffffff 91,0xffffff 105,0xffffff 125,0xffffff 108,0xffffff 103,0xffffff 130,0xffffff 111,0xffffff 105,0xffffff 126,0xffffff 102,0xffffff 106,0xffffff 92,0xffffff 117,0xffffff 135,0xffffff 95,0xffffff 73,0xffffff 54,0x802020 51,0x802020 71,0xffffff 64,0x802020 91,0xffffff 106,0xffffff 95,0xffffff 88,0xffffff 111,0xffffff 113,0xffffff 103,0xffffff 126,0xffffff 100,0xffffff 109,0xffffff 67,0x802020 70,0xffffff 71,0xffffff 81,0xffffff 56,0x802020 84,0xffffff 105,0xffffff 82,0xffffff 122,0xffffff 147,0xffffff 161,0xffffff 156,0xffffff 153,0xffffff 159,0xffffff 138,0xffffff 144,0xffffff 149,0xffffff 131,0xffffff 147,0xffffff 137,0xffffff 121,0xffffff 103,0xffffff 132,0xffffff 151,0xffffff 148,0xffffff 104,0xffffff 104,0xffffff 118,0xffffff 135,0xffffff 143,0xffffff 130,0xffffff 103,0xffffff 87,0xffffff 78,0xffffff 97,0xffffff 121,0xffffff 150,0xffffff 137,0xffffff 127,0xffffff 165,0xffffff 156,0xffffff 141,0xffffff 90,0xffffff 87,0xffffff 81,0xffffff 99,0xffffff 146,0xffffff 149,0xffffff 134,0xffffff 125,0xffffff 115,0xffffff 104,0xffffff 138,0xffffff 165,0xffffff 158,0xffffff 182,0xffffff 195,0xffffff 166,0xffffff 153,0xffffff 151,0xffffff 160,0xffffff 183,0xffffff 165,0xffffff 191,0xffffff 205,0xffffff 215,0xffffff 208,0xffffff 187,0xffffff 177,0xffffff 169,0xffffff 204,0xffffff 202,0xffffff 213,0xffffff 199,0xffffff 154,0xffffff 123,0xffffff 132,0xffffff 137,0xffffff 165,0xffffff 169,0xffffff 156,0xffffff 186,0xffffff 186,0xffffff 187,0xffffff 192,0xffffff 182,0xffffff 186,0xffffff 169,0xffffff 179,0xffffff 205,0xffffff 194,0xffffff + 1,0xff 0,0xff 0,0xff 0,0xff 1,0xff 1,0xff 1,0xff 0,0xff 3,0xff 4,0xff 5,0xff00 9,0xff00 9,0xff00 9,0xff00 11,0xff00 13,0xff00 8,0xff00 7,0xff00 15,0xff00 10,0xff00 12,0xff00 11,0xff00 16,0xff00 20,0xff00 25,0xff00 30,0xff00 34,0xff00 41,0x802020 41,0x802020 51,0x802020 40,0x802020 43,0x802020 39,0xff00 42,0x802020 42,0x802020 43,0x802020 40,0x802020 43,0x802020 47,0x802020 56,0x802020 48,0x802020 48,0x802020 53,0x802020 43,0x802020 45,0x802020 36,0xff00 31,0xff00 35,0xff00 34,0xff00 37,0xff00 36,0xff00 35,0xff00 37,0xff00 35,0xff00 33,0xff00 37,0xff00 36,0xff00 50,0x802020 50,0x802020 51,0x802020 59,0x802020 50,0x802020 45,0x802020 50,0x802020 49,0x802020 42,0x802020 44,0x802020 43,0x802020 55,0x802020 62,0x802020 88,0xffffff 79,0xffffff 90,0xffffff 87,0xffffff 68,0x802020 70,0xffffff 83,0xffffff 95,0xffffff 76,0xffffff 82,0xffffff 112,0xffffff 123,0xffffff 122,0xffffff 115,0xffffff 101,0xffffff 97,0xffffff 105,0xffffff 106,0xffffff 86,0xffffff 121,0xffffff 125,0xffffff 132,0xffffff 104,0xffffff 74,0xffffff 64,0x802020 48,0x802020 58,0x802020 77,0xffffff 65,0x802020 102,0xffffff 117,0xffffff 128,0xffffff 117,0xffffff 104,0xffffff 107,0xffffff 119,0xffffff 131,0xffffff 90,0xffffff 95,0xffffff 63,0x802020 65,0x802020 71,0xffffff 65,0x802020 65,0x802020 87,0xffffff 114,0xffffff 104,0xffffff 149,0xffffff 145,0xffffff 123,0xffffff 133,0xffffff 152,0xffffff 158,0xffffff 163,0xffffff 156,0xffffff 127,0xffffff 146,0xffffff 162,0xffffff 135,0xffffff 100,0xffffff 110,0xffffff 115,0xffffff 139,0xffffff 120,0xffffff 109,0xffffff 126,0xffffff 107,0xffffff 132,0xffffff 157,0xffffff 128,0xffffff 104,0xffffff 109,0xffffff 84,0xffffff 105,0xffffff 113,0xffffff 146,0xffffff 154,0xffffff 126,0xffffff 155,0xffffff 121,0xffffff 110,0xffffff 71,0xffffff 81,0xffffff 77,0xffffff 94,0xffffff 107,0xffffff 118,0xffffff 116,0xffffff 122,0xffffff 131,0xffffff 124,0xffffff 137,0xffffff 173,0xffffff 166,0xffffff 161,0xffffff 175,0xffffff 189,0xffffff 165,0xffffff 186,0xffffff 199,0xffffff 192,0xffffff 220,0xffffff 229,0xffffff 232,0xffffff 217,0xffffff 220,0xffffff 197,0xffffff 194,0xffffff 192,0xffffff 204,0xffffff 207,0xffffff 184,0xffffff 181,0xffffff 123,0xffffff 97,0xffffff 119,0xffffff 155,0xffffff 166,0xffffff 170,0xffffff 153,0xffffff 180,0xffffff 219,0xffffff 210,0xffffff 190,0xffffff 188,0xffffff 183,0xffffff 156,0xffffff 153,0xffffff 177,0xffffff 196,0xffffff + 0,0xff 1,0xff 0,0xff 1,0xff 1,0xff 1,0xff 1,0xff 1,0xff 4,0xff 4,0xff 5,0xff00 11,0xff00 9,0xff00 6,0xff00 9,0xff00 15,0xff00 12,0xff00 11,0xff00 10,0xff00 5,0xff00 7,0xff00 10,0xff00 15,0xff00 23,0xff00 26,0xff00 26,0xff00 40,0x802020 41,0x802020 37,0xff00 38,0xff00 34,0xff00 42,0x802020 39,0xff00 37,0xff00 35,0xff00 36,0xff00 48,0x802020 55,0x802020 52,0x802020 53,0x802020 54,0x802020 46,0x802020 39,0xff00 42,0x802020 35,0xff00 30,0xff00 33,0xff00 37,0xff00 36,0xff00 33,0xff00 32,0xff00 34,0xff00 34,0xff00 33,0xff00 34,0xff00 39,0xff00 36,0xff00 38,0xff00 44,0x802020 55,0x802020 46,0x802020 35,0xff00 41,0x802020 37,0xff00 44,0x802020 43,0x802020 45,0x802020 50,0x802020 55,0x802020 84,0xffffff 74,0xffffff 69,0x802020 67,0x802020 54,0x802020 72,0xffffff 89,0xffffff 98,0xffffff 70,0xffffff 96,0xffffff 96,0xffffff 85,0xffffff 103,0xffffff 122,0xffffff 120,0xffffff 112,0xffffff 126,0xffffff 115,0xffffff 102,0xffffff 76,0xffffff 115,0xffffff 100,0xffffff 101,0xffffff 107,0xffffff 81,0xffffff 71,0xffffff 90,0xffffff 93,0xffffff 80,0xffffff 83,0xffffff 122,0xffffff 124,0xffffff 129,0xffffff 88,0xffffff 100,0xffffff 83,0xffffff 105,0xffffff 104,0xffffff 68,0x802020 82,0xffffff 55,0x802020 54,0x802020 73,0xffffff 88,0xffffff 101,0xffffff 132,0xffffff 137,0xffffff 135,0xffffff 129,0xffffff 152,0xffffff 163,0xffffff 166,0xffffff 169,0xffffff 180,0xffffff 181,0xffffff 164,0xffffff 157,0xffffff 149,0xffffff 142,0xffffff 145,0xffffff 108,0xffffff 133,0xffffff 153,0xffffff 156,0xffffff 138,0xffffff 135,0xffffff 141,0xffffff 120,0xffffff 140,0xffffff 163,0xffffff 131,0xffffff 131,0xffffff 115,0xffffff 107,0xffffff 136,0xffffff 137,0xffffff 144,0xffffff 117,0xffffff 102,0xffffff 128,0xffffff 123,0xffffff 90,0xffffff 109,0xffffff 108,0xffffff 101,0xffffff 91,0xffffff 112,0xffffff 130,0xffffff 108,0xffffff 129,0xffffff 117,0xffffff 141,0xffffff 163,0xffffff 162,0xffffff 186,0xffffff 160,0xffffff 181,0xffffff 210,0xffffff 188,0xffffff 177,0xffffff 177,0xffffff 182,0xffffff 216,0xffffff 252,0xffffff 231,0xffffff 216,0xffffff 215,0xffffff 193,0xffffff 191,0xffffff 200,0xffffff 174,0xffffff 158,0xffffff 158,0xffffff 158,0xffffff 125,0xffffff 135,0xffffff 125,0xffffff 181,0xffffff 190,0xffffff 197,0xffffff 204,0xffffff 219,0xffffff 215,0xffffff 212,0xffffff 215,0xffffff 207,0xffffff 179,0xffffff 188,0xffffff 185,0xffffff 200,0xffffff 196,0xffffff + 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 4,0xff 5,0xff00 8,0xff00 6,0xff00 6,0xff00 9,0xff00 6,0xff00 8,0xff00 11,0xff00 10,0xff00 7,0xff00 12,0xff00 9,0xff00 12,0xff00 14,0xff00 19,0xff00 26,0xff00 28,0xff00 31,0xff00 38,0xff00 36,0xff00 39,0xff00 35,0xff00 36,0xff00 36,0xff00 38,0xff00 35,0xff00 36,0xff00 41,0x802020 60,0x802020 58,0x802020 48,0x802020 56,0x802020 42,0x802020 40,0x802020 39,0xff00 36,0xff00 33,0xff00 28,0xff00 30,0xff00 29,0xff00 30,0xff00 28,0xff00 26,0xff00 26,0xff00 27,0xff00 28,0xff00 31,0xff00 35,0xff00 32,0xff00 48,0x802020 51,0x802020 43,0x802020 40,0x802020 34,0xff00 37,0xff00 54,0x802020 55,0x802020 61,0x802020 62,0x802020 62,0x802020 59,0x802020 94,0xffffff 70,0xffffff 68,0x802020 52,0x802020 58,0x802020 98,0xffffff 92,0xffffff 70,0xffffff 54,0x802020 85,0xffffff 93,0xffffff 106,0xffffff 126,0xffffff 129,0xffffff 116,0xffffff 127,0xffffff 104,0xffffff 122,0xffffff 110,0xffffff 123,0xffffff 122,0xffffff 123,0xffffff 109,0xffffff 79,0xffffff 62,0x802020 93,0xffffff 90,0xffffff 91,0xffffff 106,0xffffff 108,0xffffff 110,0xffffff 125,0xffffff 96,0xffffff 72,0xffffff 94,0xffffff 114,0xffffff 110,0xffffff 92,0xffffff 89,0xffffff 70,0xffffff 66,0x802020 70,0xffffff 76,0xffffff 118,0xffffff 118,0xffffff 131,0xffffff 118,0xffffff 107,0xffffff 121,0xffffff 149,0xffffff 142,0xffffff 162,0xffffff 182,0xffffff 158,0xffffff 179,0xffffff 152,0xffffff 128,0xffffff 148,0xffffff 123,0xffffff 144,0xffffff 104,0xffffff 122,0xffffff 155,0xffffff 151,0xffffff 140,0xffffff 158,0xffffff 152,0xffffff 121,0xffffff 150,0xffffff 131,0xffffff 121,0xffffff 125,0xffffff 92,0xffffff 117,0xffffff 127,0xffffff 135,0xffffff 142,0xffffff 149,0xffffff 148,0xffffff 147,0xffffff 128,0xffffff 117,0xffffff 97,0xffffff 89,0xffffff 64,0x802020 71,0xffffff 101,0xffffff 95,0xffffff 104,0xffffff 109,0xffffff 136,0xffffff 171,0xffffff 181,0xffffff 182,0xffffff 182,0xffffff 168,0xffffff 215,0xffffff 204,0xffffff 187,0xffffff 155,0xffffff 181,0xffffff 214,0xffffff 215,0xffffff 226,0xffffff 196,0xffffff 205,0xffffff 199,0xffffff 189,0xffffff 181,0xffffff 204,0xffffff 162,0xffffff 159,0xffffff 175,0xffffff 154,0xffffff 160,0xffffff 172,0xffffff 161,0xffffff 190,0xffffff 207,0xffffff 207,0xffffff 199,0xffffff 212,0xffffff 196,0xffffff 221,0xffffff 227,0xffffff 216,0xffffff 178,0xffffff 201,0xffffff 171,0xffffff 172,0xffffff 195,0xffffff + 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 2,0xff 6,0xff00 7,0xff00 6,0xff00 10,0xff00 8,0xff00 9,0xff00 5,0xff00 5,0xff00 10,0xff00 8,0xff00 7,0xff00 10,0xff00 9,0xff00 9,0xff00 15,0xff00 16,0xff00 22,0xff00 27,0xff00 34,0xff00 34,0xff00 32,0xff00 41,0x802020 37,0xff00 35,0xff00 31,0xff00 33,0xff00 45,0x802020 50,0x802020 55,0x802020 54,0x802020 48,0x802020 54,0x802020 44,0x802020 38,0xff00 36,0xff00 34,0xff00 28,0xff00 26,0xff00 27,0xff00 27,0xff00 31,0xff00 28,0xff00 29,0xff00 24,0xff00 22,0xff00 27,0xff00 28,0xff00 32,0xff00 31,0xff00 36,0xff00 35,0xff00 43,0x802020 39,0xff00 34,0xff00 37,0xff00 45,0x802020 46,0x802020 51,0x802020 46,0x802020 50,0x802020 59,0x802020 66,0x802020 66,0x802020 53,0x802020 51,0x802020 51,0x802020 59,0x802020 84,0xffffff 66,0x802020 58,0x802020 65,0x802020 76,0xffffff 87,0xffffff 90,0xffffff 123,0xffffff 98,0xffffff 97,0xffffff 109,0xffffff 124,0xffffff 112,0xffffff 112,0xffffff 98,0xffffff 116,0xffffff 122,0xffffff 90,0xffffff 79,0xffffff 65,0x802020 113,0xffffff 100,0xffffff 91,0xffffff 94,0xffffff 99,0xffffff 101,0xffffff 99,0xffffff 61,0x802020 76,0xffffff 94,0xffffff 119,0xffffff 77,0xffffff 82,0xffffff 95,0xffffff 71,0xffffff 74,0xffffff 76,0xffffff 113,0xffffff 121,0xffffff 120,0xffffff 139,0xffffff 122,0xffffff 126,0xffffff 123,0xffffff 176,0xffffff 174,0xffffff 191,0xffffff 186,0xffffff 167,0xffffff 173,0xffffff 137,0xffffff 119,0xffffff 115,0xffffff 107,0xffffff 137,0xffffff 100,0xffffff 112,0xffffff 147,0xffffff 168,0xffffff 138,0xffffff 166,0xffffff 130,0xffffff 141,0xffffff 148,0xffffff 127,0xffffff 113,0xffffff 92,0xffffff 107,0xffffff 90,0xffffff 113,0xffffff 145,0xffffff 148,0xffffff 133,0xffffff 102,0xffffff 101,0xffffff 89,0xffffff 94,0xffffff 63,0x802020 80,0xffffff 55,0x802020 94,0xffffff 115,0xffffff 131,0xffffff 151,0xffffff 156,0xffffff 156,0xffffff 173,0xffffff 194,0xffffff 176,0xffffff 199,0xffffff 187,0xffffff 200,0xffffff 212,0xffffff 212,0xffffff 192,0xffffff 215,0xffffff 225,0xffffff 223,0xffffff 188,0xffffff 181,0xffffff 192,0xffffff 196,0xffffff 194,0xffffff 195,0xffffff 200,0xffffff 148,0xffffff 168,0xffffff 143,0xffffff 161,0xffffff 172,0xffffff 167,0xffffff 177,0xffffff 184,0xffffff 179,0xffffff 195,0xffffff 179,0xffffff 200,0xffffff 206,0xffffff 214,0xffffff 232,0xffffff 189,0xffffff 190,0xffffff 197,0xffffff 189,0xffffff 173,0xffffff 193,0xffffff + 0,0xff 1,0xff 1,0xff 0,0xff 1,0xff 2,0xff 2,0xff 9,0xff00 9,0xff00 5,0xff00 5,0xff00 5,0xff00 3,0xff 1,0xff 6,0xff00 7,0xff00 9,0xff00 12,0xff00 12,0xff00 8,0xff00 9,0xff00 12,0xff00 17,0xff00 27,0xff00 29,0xff00 38,0xff00 37,0xff00 35,0xff00 37,0xff00 36,0xff00 34,0xff00 28,0xff00 31,0xff00 36,0xff00 47,0x802020 50,0x802020 41,0x802020 37,0xff00 44,0x802020 37,0xff00 30,0xff00 31,0xff00 31,0xff00 25,0xff00 27,0xff00 26,0xff00 24,0xff00 25,0xff00 27,0xff00 29,0xff00 24,0xff00 27,0xff00 30,0xff00 27,0xff00 34,0xff00 31,0xff00 32,0xff00 41,0x802020 40,0x802020 33,0xff00 32,0xff00 43,0x802020 56,0x802020 54,0x802020 57,0x802020 52,0x802020 50,0x802020 63,0x802020 58,0x802020 55,0x802020 47,0x802020 58,0x802020 49,0x802020 58,0x802020 68,0x802020 92,0xffffff 75,0xffffff 72,0xffffff 62,0x802020 87,0xffffff 74,0xffffff 104,0xffffff 134,0xffffff 128,0xffffff 135,0xffffff 120,0xffffff 99,0xffffff 105,0xffffff 103,0xffffff 142,0xffffff 121,0xffffff 105,0xffffff 92,0xffffff 73,0xffffff 90,0xffffff 101,0xffffff 73,0xffffff 73,0xffffff 67,0x802020 84,0xffffff 67,0x802020 47,0x802020 72,0xffffff 96,0xffffff 113,0xffffff 102,0xffffff 90,0xffffff 72,0xffffff 63,0x802020 63,0x802020 92,0xffffff 90,0xffffff 92,0xffffff 110,0xffffff 128,0xffffff 125,0xffffff 133,0xffffff 142,0xffffff 181,0xffffff 161,0xffffff 160,0xffffff 164,0xffffff 172,0xffffff 168,0xffffff 118,0xffffff 140,0xffffff 126,0xffffff 114,0xffffff 119,0xffffff 139,0xffffff 138,0xffffff 161,0xffffff 153,0xffffff 137,0xffffff 154,0xffffff 139,0xffffff 149,0xffffff 136,0xffffff 113,0xffffff 113,0xffffff 77,0xffffff 111,0xffffff 123,0xffffff 126,0xffffff 132,0xffffff 99,0xffffff 93,0xffffff 69,0x802020 79,0xffffff 94,0xffffff 94,0xffffff 70,0xffffff 64,0x802020 92,0xffffff 105,0xffffff 144,0xffffff 165,0xffffff 179,0xffffff 177,0xffffff 155,0xffffff 165,0xffffff 171,0xffffff 183,0xffffff 227,0xffffff 207,0xffffff 222,0xffffff 202,0xffffff 230,0xffffff 212,0xffffff 223,0xffffff 192,0xffffff 210,0xffffff 209,0xffffff 210,0xffffff 217,0xffffff 202,0xffffff 201,0xffffff 165,0xffffff 178,0xffffff 172,0xffffff 152,0xffffff 136,0xffffff 179,0xffffff 156,0xffffff 146,0xffffff 175,0xffffff 186,0xffffff 174,0xffffff 190,0xffffff 194,0xffffff 187,0xffffff 202,0xffffff 214,0xffffff 205,0xffffff 208,0xffffff 191,0xffffff 176,0xffffff 178,0xffffff 199,0xffffff 192,0xffffff + 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 1,0xff 0,0xff 5,0xff00 7,0xff00 4,0xff 4,0xff 4,0xff 2,0xff 3,0xff 6,0xff00 4,0xff 8,0xff00 12,0xff00 12,0xff00 11,0xff00 13,0xff00 19,0xff00 24,0xff00 27,0xff00 28,0xff00 36,0xff00 31,0xff00 34,0xff00 34,0xff00 38,0xff00 34,0xff00 34,0xff00 38,0xff00 52,0x802020 50,0x802020 41,0x802020 50,0x802020 41,0x802020 39,0xff00 29,0xff00 30,0xff00 30,0xff00 26,0xff00 23,0xff00 22,0xff00 24,0xff00 25,0xff00 26,0xff00 26,0xff00 32,0xff00 30,0xff00 30,0xff00 28,0xff00 25,0xff00 31,0xff00 31,0xff00 32,0xff00 32,0xff00 42,0x802020 48,0x802020 51,0x802020 58,0x802020 62,0x802020 54,0x802020 48,0x802020 39,0xff00 44,0x802020 55,0x802020 54,0x802020 51,0x802020 41,0x802020 56,0x802020 51,0x802020 84,0xffffff 80,0xffffff 74,0xffffff 53,0x802020 49,0x802020 72,0xffffff 72,0xffffff 76,0xffffff 92,0xffffff 116,0xffffff 99,0xffffff 113,0xffffff 120,0xffffff 115,0xffffff 106,0xffffff 133,0xffffff 163,0xffffff 136,0xffffff 107,0xffffff 79,0xffffff 54,0x802020 77,0xffffff 63,0x802020 46,0x802020 70,0xffffff 69,0x802020 111,0xffffff 92,0xffffff 83,0xffffff 90,0xffffff 88,0xffffff 95,0xffffff 93,0xffffff 71,0xffffff 54,0x802020 81,0xffffff 85,0xffffff 112,0xffffff 100,0xffffff 133,0xffffff 138,0xffffff 127,0xffffff 149,0xffffff 125,0xffffff 164,0xffffff 163,0xffffff 167,0xffffff 158,0xffffff 180,0xffffff 165,0xffffff 111,0xffffff 97,0xffffff 121,0xffffff 110,0xffffff 94,0xffffff 120,0xffffff 121,0xffffff 127,0xffffff 141,0xffffff 123,0xffffff 102,0xffffff 116,0xffffff 114,0xffffff 112,0xffffff 126,0xffffff 98,0xffffff 109,0xffffff 120,0xffffff 154,0xffffff 157,0xffffff 146,0xffffff 128,0xffffff 92,0xffffff 85,0xffffff 67,0x802020 82,0xffffff 88,0xffffff 90,0xffffff 70,0xffffff 106,0xffffff 123,0xffffff 149,0xffffff 187,0xffffff 182,0xffffff 161,0xffffff 174,0xffffff 143,0xffffff 180,0xffffff 162,0xffffff 185,0xffffff 208,0xffffff 226,0xffffff 198,0xffffff 182,0xffffff 212,0xffffff 184,0xffffff 199,0xffffff 193,0xffffff 204,0xffffff 177,0xffffff 191,0xffffff 180,0xffffff 176,0xffffff 154,0xffffff 155,0xffffff 171,0xffffff 151,0xffffff 150,0xffffff 137,0xffffff 178,0xffffff 172,0xffffff 162,0xffffff 166,0xffffff 175,0xffffff 199,0xffffff 188,0xffffff 201,0xffffff 205,0xffffff 205,0xffffff 193,0xffffff 206,0xffffff 173,0xffffff 175,0xffffff 172,0xffffff 185,0xffffff 180,0xffffff 191,0xffffff + 0,0xff 0,0xff 1,0xff 1,0xff 0,0xff 0,0xff 2,0xff 4,0xff 7,0xff00 5,0xff00 4,0xff 2,0xff 1,0xff 4,0xff 3,0xff 3,0xff 8,0xff00 11,0xff00 8,0xff00 13,0xff00 11,0xff00 18,0xff00 25,0xff00 31,0xff00 30,0xff00 35,0xff00 32,0xff00 35,0xff00 32,0xff00 36,0xff00 34,0xff00 35,0xff00 47,0x802020 59,0x802020 56,0x802020 48,0x802020 43,0x802020 38,0xff00 32,0xff00 27,0xff00 29,0xff00 23,0xff00 24,0xff00 20,0xff00 19,0xff00 19,0xff00 22,0xff00 27,0xff00 27,0xff00 26,0xff00 28,0xff00 26,0xff00 29,0xff00 28,0xff00 32,0xff00 34,0xff00 35,0xff00 39,0xff00 44,0x802020 41,0x802020 47,0x802020 52,0x802020 49,0x802020 41,0x802020 46,0x802020 48,0x802020 42,0x802020 44,0x802020 46,0x802020 53,0x802020 45,0x802020 60,0x802020 83,0xffffff 78,0xffffff 71,0xffffff 54,0x802020 42,0x802020 72,0xffffff 82,0xffffff 70,0xffffff 99,0xffffff 106,0xffffff 106,0xffffff 125,0xffffff 132,0xffffff 121,0xffffff 127,0xffffff 126,0xffffff 138,0xffffff 145,0xffffff 89,0xffffff 80,0xffffff 63,0x802020 65,0x802020 63,0x802020 67,0x802020 79,0xffffff 72,0xffffff 79,0xffffff 101,0xffffff 113,0xffffff 106,0xffffff 86,0xffffff 108,0xffffff 83,0xffffff 80,0xffffff 68,0x802020 100,0xffffff 110,0xffffff 96,0xffffff 153,0xffffff 147,0xffffff 151,0xffffff 138,0xffffff 113,0xffffff 147,0xffffff 173,0xffffff 176,0xffffff 162,0xffffff 170,0xffffff 169,0xffffff 186,0xffffff 164,0xffffff 126,0xffffff 96,0xffffff 106,0xffffff 89,0xffffff 115,0xffffff 125,0xffffff 113,0xffffff 112,0xffffff 147,0xffffff 126,0xffffff 131,0xffffff 127,0xffffff 108,0xffffff 102,0xffffff 99,0xffffff 112,0xffffff 88,0xffffff 118,0xffffff 145,0xffffff 165,0xffffff 132,0xffffff 112,0xffffff 72,0xffffff 77,0xffffff 69,0x802020 79,0xffffff 100,0xffffff 98,0xffffff 94,0xffffff 120,0xffffff 151,0xffffff 197,0xffffff 205,0xffffff 196,0xffffff 177,0xffffff 184,0xffffff 189,0xffffff 200,0xffffff 179,0xffffff 231,0xffffff 230,0xffffff 207,0xffffff 204,0xffffff 197,0xffffff 204,0xffffff 206,0xffffff 195,0xffffff 175,0xffffff 199,0xffffff 181,0xffffff 193,0xffffff 185,0xffffff 165,0xffffff 173,0xffffff 146,0xffffff 176,0xffffff 158,0xffffff 137,0xffffff 144,0xffffff 176,0xffffff 167,0xffffff 161,0xffffff 162,0xffffff 183,0xffffff 226,0xffffff 209,0xffffff 212,0xffffff 233,0xffffff 223,0xffffff 202,0xffffff 183,0xffffff 182,0xffffff 208,0xffffff 197,0xffffff 197,0xffffff 174,0xffffff 187,0xffffff + 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 1,0xff 1,0xff 3,0xff 1,0xff 2,0xff 1,0xff 0,0xff 2,0xff 0,0xff 1,0xff 5,0xff00 9,0xff00 6,0xff00 11,0xff00 12,0xff00 19,0xff00 26,0xff00 29,0xff00 35,0xff00 34,0xff00 34,0xff00 41,0x802020 41,0x802020 43,0x802020 48,0x802020 50,0x802020 47,0x802020 48,0x802020 47,0x802020 39,0xff00 34,0xff00 34,0xff00 26,0xff00 26,0xff00 19,0xff00 18,0xff00 22,0xff00 16,0xff00 16,0xff00 19,0xff00 21,0xff00 28,0xff00 25,0xff00 23,0xff00 29,0xff00 24,0xff00 28,0xff00 32,0xff00 30,0xff00 37,0xff00 38,0xff00 38,0xff00 49,0x802020 41,0x802020 38,0xff00 47,0x802020 41,0x802020 47,0x802020 42,0x802020 37,0xff00 43,0x802020 49,0x802020 48,0x802020 52,0x802020 45,0x802020 56,0x802020 99,0xffffff 95,0xffffff 77,0xffffff 81,0xffffff 78,0xffffff 100,0xffffff 106,0xffffff 114,0xffffff 134,0xffffff 138,0xffffff 132,0xffffff 131,0xffffff 118,0xffffff 98,0xffffff 104,0xffffff 116,0xffffff 117,0xffffff 140,0xffffff 114,0xffffff 92,0xffffff 70,0xffffff 61,0x802020 59,0x802020 60,0x802020 60,0x802020 62,0x802020 96,0xffffff 112,0xffffff 103,0xffffff 108,0xffffff 97,0xffffff 109,0xffffff 72,0xffffff 95,0xffffff 85,0xffffff 139,0xffffff 142,0xffffff 137,0xffffff 156,0xffffff 118,0xffffff 132,0xffffff 131,0xffffff 121,0xffffff 127,0xffffff 146,0xffffff 157,0xffffff 144,0xffffff 139,0xffffff 141,0xffffff 151,0xffffff 133,0xffffff 104,0xffffff 77,0xffffff 94,0xffffff 106,0xffffff 135,0xffffff 136,0xffffff 130,0xffffff 109,0xffffff 136,0xffffff 128,0xffffff 139,0xffffff 127,0xffffff 104,0xffffff 125,0xffffff 110,0xffffff 133,0xffffff 116,0xffffff 119,0xffffff 131,0xffffff 129,0xffffff 87,0xffffff 78,0xffffff 63,0x802020 101,0xffffff 101,0xffffff 93,0xffffff 129,0xffffff 110,0xffffff 105,0xffffff 117,0xffffff 148,0xffffff 178,0xffffff 192,0xffffff 186,0xffffff 174,0xffffff 178,0xffffff 177,0xffffff 196,0xffffff 200,0xffffff 226,0xffffff 202,0xffffff 212,0xffffff 185,0xffffff 185,0xffffff 189,0xffffff 216,0xffffff 180,0xffffff 166,0xffffff 187,0xffffff 203,0xffffff 182,0xffffff 173,0xffffff 171,0xffffff 180,0xffffff 163,0xffffff 158,0xffffff 171,0xffffff 160,0xffffff 156,0xffffff 173,0xffffff 188,0xffffff 187,0xffffff 202,0xffffff 223,0xffffff 215,0xffffff 222,0xffffff 188,0xffffff 215,0xffffff 201,0xffffff 203,0xffffff 191,0xffffff 211,0xffffff 212,0xffffff 197,0xffffff 214,0xffffff 199,0xffffff 186,0xffffff + 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 1,0xff 1,0xff 2,0xff 0,0xff 0,0xff 1,0xff 4,0xff 5,0xff00 5,0xff00 6,0xff00 8,0xff00 11,0xff00 14,0xff00 18,0xff00 21,0xff00 24,0xff00 31,0xff00 31,0xff00 35,0xff00 31,0xff00 46,0x802020 52,0x802020 45,0x802020 41,0x802020 38,0xff00 44,0x802020 39,0xff00 39,0xff00 36,0xff00 34,0xff00 31,0xff00 30,0xff00 21,0xff00 22,0xff00 14,0xff00 18,0xff00 14,0xff00 11,0xff00 14,0xff00 17,0xff00 20,0xff00 28,0xff00 25,0xff00 24,0xff00 30,0xff00 25,0xff00 27,0xff00 44,0x802020 43,0x802020 40,0x802020 37,0xff00 42,0x802020 45,0x802020 51,0x802020 47,0x802020 51,0x802020 41,0x802020 54,0x802020 50,0x802020 42,0x802020 43,0x802020 43,0x802020 38,0xff00 42,0x802020 49,0x802020 58,0x802020 106,0xffffff 88,0xffffff 75,0xffffff 69,0x802020 69,0x802020 96,0xffffff 124,0xffffff 97,0xffffff 106,0xffffff 118,0xffffff 140,0xffffff 127,0xffffff 101,0xffffff 94,0xffffff 133,0xffffff 117,0xffffff 112,0xffffff 121,0xffffff 76,0xffffff 86,0xffffff 76,0xffffff 65,0x802020 66,0x802020 65,0x802020 64,0x802020 85,0xffffff 82,0xffffff 111,0xffffff 80,0xffffff 103,0xffffff 94,0xffffff 102,0xffffff 77,0xffffff 91,0xffffff 97,0xffffff 150,0xffffff 127,0xffffff 155,0xffffff 140,0xffffff 123,0xffffff 147,0xffffff 145,0xffffff 149,0xffffff 155,0xffffff 153,0xffffff 138,0xffffff 150,0xffffff 153,0xffffff 136,0xffffff 144,0xffffff 110,0xffffff 95,0xffffff 110,0xffffff 110,0xffffff 145,0xffffff 137,0xffffff 136,0xffffff 115,0xffffff 100,0xffffff 106,0xffffff 97,0xffffff 104,0xffffff 120,0xffffff 105,0xffffff 102,0xffffff 101,0xffffff 120,0xffffff 126,0xffffff 115,0xffffff 146,0xffffff 123,0xffffff 112,0xffffff 99,0xffffff 84,0xffffff 103,0xffffff 130,0xffffff 123,0xffffff 125,0xffffff 99,0xffffff 103,0xffffff 145,0xffffff 136,0xffffff 165,0xffffff 175,0xffffff 179,0xffffff 166,0xffffff 160,0xffffff 178,0xffffff 194,0xffffff 204,0xffffff 223,0xffffff 202,0xffffff 198,0xffffff 167,0xffffff 164,0xffffff 177,0xffffff 164,0xffffff 158,0xffffff 143,0xffffff 159,0xffffff 158,0xffffff 163,0xffffff 192,0xffffff 200,0xffffff 183,0xffffff 166,0xffffff 169,0xffffff 184,0xffffff 178,0xffffff 165,0xffffff 198,0xffffff 195,0xffffff 198,0xffffff 210,0xffffff 189,0xffffff 189,0xffffff 200,0xffffff 218,0xffffff 224,0xffffff 216,0xffffff 201,0xffffff 181,0xffffff 189,0xffffff 185,0xffffff 192,0xffffff 211,0xffffff 186,0xffffff 188,0xffffff + 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 3,0xff 8,0xff00 7,0xff00 6,0xff00 7,0xff00 9,0xff00 10,0xff00 16,0xff00 24,0xff00 25,0xff00 27,0xff00 29,0xff00 33,0xff00 35,0xff00 38,0xff00 44,0x802020 53,0x802020 42,0x802020 35,0xff00 36,0xff00 42,0x802020 38,0xff00 35,0xff00 35,0xff00 32,0xff00 25,0xff00 21,0xff00 15,0xff00 15,0xff00 13,0xff00 18,0xff00 14,0xff00 11,0xff00 13,0xff00 18,0xff00 22,0xff00 27,0xff00 25,0xff00 25,0xff00 29,0xff00 25,0xff00 31,0xff00 39,0xff00 39,0xff00 50,0x802020 42,0x802020 41,0x802020 45,0x802020 47,0x802020 46,0x802020 57,0x802020 52,0x802020 51,0x802020 43,0x802020 33,0xff00 41,0x802020 35,0xff00 33,0xff00 47,0x802020 58,0x802020 64,0x802020 89,0xffffff 69,0x802020 65,0x802020 60,0x802020 63,0x802020 90,0xffffff 108,0xffffff 119,0xffffff 150,0xffffff 146,0xffffff 149,0xffffff 113,0xffffff 117,0xffffff 102,0xffffff 94,0xffffff 90,0xffffff 109,0xffffff 95,0xffffff 64,0x802020 77,0xffffff 66,0x802020 48,0x802020 77,0xffffff 89,0xffffff 86,0xffffff 78,0xffffff 103,0xffffff 77,0xffffff 83,0xffffff 112,0xffffff 79,0xffffff 103,0xffffff 79,0xffffff 124,0xffffff 120,0xffffff 149,0xffffff 123,0xffffff 145,0xffffff 141,0xffffff 151,0xffffff 163,0xffffff 135,0xffffff 146,0xffffff 181,0xffffff 183,0xffffff 166,0xffffff 155,0xffffff 132,0xffffff 142,0xffffff 121,0xffffff 127,0xffffff 106,0xffffff 103,0xffffff 125,0xffffff 160,0xffffff 145,0xffffff 137,0xffffff 94,0xffffff 124,0xffffff 106,0xffffff 108,0xffffff 86,0xffffff 94,0xffffff 91,0xffffff 96,0xffffff 80,0xffffff 110,0xffffff 121,0xffffff 108,0xffffff 104,0xffffff 101,0xffffff 82,0xffffff 86,0xffffff 97,0xffffff 138,0xffffff 128,0xffffff 99,0xffffff 114,0xffffff 97,0xffffff 118,0xffffff 176,0xffffff 163,0xffffff 185,0xffffff 176,0xffffff 175,0xffffff 185,0xffffff 179,0xffffff 175,0xffffff 183,0xffffff 206,0xffffff 191,0xffffff 193,0xffffff 188,0xffffff 171,0xffffff 198,0xffffff 184,0xffffff 143,0xffffff 126,0xffffff 127,0xffffff 154,0xffffff 171,0xffffff 150,0xffffff 166,0xffffff 175,0xffffff 157,0xffffff 171,0xffffff 187,0xffffff 207,0xffffff 182,0xffffff 180,0xffffff 177,0xffffff 182,0xffffff 178,0xffffff 189,0xffffff 215,0xffffff 213,0xffffff 195,0xffffff 187,0xffffff 202,0xffffff 207,0xffffff 182,0xffffff 208,0xffffff 197,0xffffff 208,0xffffff 221,0xffffff 224,0xffffff 207,0xffffff 188,0xffffff + 1,0xff 0,0xff 1,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 2,0xff 4,0xff 4,0xff 4,0xff 3,0xff 8,0xff00 9,0xff00 13,0xff00 22,0xff00 28,0xff00 29,0xff00 29,0xff00 29,0xff00 32,0xff00 32,0xff00 35,0xff00 37,0xff00 37,0xff00 41,0x802020 38,0xff00 37,0xff00 37,0xff00 31,0xff00 29,0xff00 31,0xff00 22,0xff00 20,0xff00 17,0xff00 9,0xff00 12,0xff00 7,0xff00 10,0xff00 11,0xff00 11,0xff00 20,0xff00 21,0xff00 20,0xff00 26,0xff00 26,0xff00 29,0xff00 28,0xff00 29,0xff00 37,0xff00 47,0x802020 44,0x802020 40,0x802020 41,0x802020 38,0xff00 37,0xff00 45,0x802020 37,0xff00 49,0x802020 39,0xff00 43,0x802020 39,0xff00 33,0xff00 43,0x802020 41,0x802020 48,0x802020 55,0x802020 61,0x802020 64,0x802020 61,0x802020 74,0xffffff 68,0x802020 68,0x802020 60,0x802020 82,0xffffff 110,0xffffff 156,0xffffff 147,0xffffff 152,0xffffff 152,0xffffff 115,0xffffff 123,0xffffff 110,0xffffff 93,0xffffff 101,0xffffff 74,0xffffff 80,0xffffff 68,0x802020 67,0x802020 58,0x802020 95,0xffffff 100,0xffffff 81,0xffffff 63,0x802020 73,0xffffff 82,0xffffff 72,0xffffff 97,0xffffff 93,0xffffff 99,0xffffff 89,0xffffff 112,0xffffff 133,0xffffff 146,0xffffff 136,0xffffff 143,0xffffff 141,0xffffff 137,0xffffff 181,0xffffff 170,0xffffff 146,0xffffff 194,0xffffff 194,0xffffff 180,0xffffff 166,0xffffff 154,0xffffff 144,0xffffff 136,0xffffff 112,0xffffff 120,0xffffff 119,0xffffff 126,0xffffff 130,0xffffff 136,0xffffff 153,0xffffff 117,0xffffff 80,0xffffff 108,0xffffff 102,0xffffff 95,0xffffff 73,0xffffff 77,0xffffff 86,0xffffff 100,0xffffff 85,0xffffff 108,0xffffff 132,0xffffff 119,0xffffff 114,0xffffff 89,0xffffff 64,0x802020 92,0xffffff 100,0xffffff 122,0xffffff 141,0xffffff 116,0xffffff 94,0xffffff 102,0xffffff 135,0xffffff 191,0xffffff 196,0xffffff 188,0xffffff 201,0xffffff 203,0xffffff 200,0xffffff 168,0xffffff 154,0xffffff 174,0xffffff 168,0xffffff 174,0xffffff 182,0xffffff 194,0xffffff 190,0xffffff 171,0xffffff 186,0xffffff 145,0xffffff 134,0xffffff 160,0xffffff 164,0xffffff 166,0xffffff 173,0xffffff 189,0xffffff 179,0xffffff 177,0xffffff 208,0xffffff 205,0xffffff 207,0xffffff 183,0xffffff 173,0xffffff 189,0xffffff 186,0xffffff 161,0xffffff 189,0xffffff 198,0xffffff 211,0xffffff 194,0xffffff 193,0xffffff 206,0xffffff 176,0xffffff 181,0xffffff 189,0xffffff 187,0xffffff 211,0xffffff 200,0xffffff 211,0xffffff 178,0xffffff 186,0xffffff + 0,0xff 2,0xff 2,0xff 1,0xff 0,0xff 1,0xff 0,0xff 1,0xff 0,0xff 1,0xff 4,0xff 7,0xff00 7,0xff00 8,0xff00 6,0xff00 6,0xff00 11,0xff00 22,0xff00 28,0xff00 31,0xff00 32,0xff00 31,0xff00 27,0xff00 30,0xff00 34,0xff00 36,0xff00 36,0xff00 35,0xff00 37,0xff00 38,0xff00 33,0xff00 31,0xff00 29,0xff00 26,0xff00 24,0xff00 20,0xff00 20,0xff00 15,0xff00 8,0xff00 12,0xff00 11,0xff00 10,0xff00 9,0xff00 16,0xff00 21,0xff00 17,0xff00 21,0xff00 24,0xff00 25,0xff00 32,0xff00 29,0xff00 34,0xff00 38,0xff00 47,0x802020 41,0x802020 38,0xff00 52,0x802020 46,0x802020 49,0x802020 43,0x802020 36,0xff00 46,0x802020 42,0x802020 39,0xff00 39,0xff00 43,0x802020 41,0x802020 81,0xffffff 75,0xffffff 91,0xffffff 83,0xffffff 70,0xffffff 67,0x802020 65,0x802020 54,0x802020 60,0x802020 64,0x802020 78,0xffffff 97,0xffffff 123,0xffffff 130,0xffffff 135,0xffffff 111,0xffffff 97,0xffffff 101,0xffffff 103,0xffffff 97,0xffffff 112,0xffffff 77,0xffffff 69,0x802020 63,0x802020 62,0x802020 56,0x802020 84,0xffffff 82,0xffffff 78,0xffffff 60,0x802020 54,0x802020 76,0xffffff 67,0x802020 101,0xffffff 111,0xffffff 115,0xffffff 95,0xffffff 131,0xffffff 119,0xffffff 123,0xffffff 141,0xffffff 170,0xffffff 152,0xffffff 159,0xffffff 148,0xffffff 165,0xffffff 183,0xffffff 197,0xffffff 166,0xffffff 163,0xffffff 143,0xffffff 126,0xffffff 112,0xffffff 124,0xffffff 91,0xffffff 112,0xffffff 109,0xffffff 129,0xffffff 129,0xffffff 159,0xffffff 140,0xffffff 105,0xffffff 77,0xffffff 85,0xffffff 86,0xffffff 97,0xffffff 72,0xffffff 61,0x802020 89,0xffffff 92,0xffffff 103,0xffffff 115,0xffffff 130,0xffffff 82,0xffffff 74,0xffffff 74,0xffffff 98,0xffffff 86,0xffffff 115,0xffffff 144,0xffffff 127,0xffffff 120,0xffffff 103,0xffffff 136,0xffffff 160,0xffffff 184,0xffffff 177,0xffffff 188,0xffffff 211,0xffffff 192,0xffffff 178,0xffffff 161,0xffffff 159,0xffffff 176,0xffffff 170,0xffffff 150,0xffffff 159,0xffffff 161,0xffffff 164,0xffffff 141,0xffffff 154,0xffffff 137,0xffffff 146,0xffffff 177,0xffffff 164,0xffffff 194,0xffffff 185,0xffffff 172,0xffffff 199,0xffffff 202,0xffffff 214,0xffffff 210,0xffffff 182,0xffffff 187,0xffffff 169,0xffffff 178,0xffffff 197,0xffffff 189,0xffffff 202,0xffffff 186,0xffffff 191,0xffffff 210,0xffffff 193,0xffffff 174,0xffffff 173,0xffffff 189,0xffffff 194,0xffffff 181,0xffffff 212,0xffffff 185,0xffffff 207,0xffffff 181,0xffffff 182,0xffffff + 1,0xff 1,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 8,0xff00 6,0xff00 10,0xff00 9,0xff00 5,0xff00 7,0xff00 15,0xff00 28,0xff00 30,0xff00 31,0xff00 33,0xff00 33,0xff00 30,0xff00 31,0xff00 35,0xff00 34,0xff00 33,0xff00 30,0xff00 33,0xff00 30,0xff00 28,0xff00 26,0xff00 29,0xff00 23,0xff00 17,0xff00 13,0xff00 14,0xff00 16,0xff00 11,0xff00 10,0xff00 8,0xff00 10,0xff00 18,0xff00 21,0xff00 24,0xff00 21,0xff00 23,0xff00 26,0xff00 26,0xff00 33,0xff00 31,0xff00 31,0xff00 34,0xff00 37,0xff00 34,0xff00 41,0x802020 46,0x802020 44,0x802020 56,0x802020 50,0x802020 45,0x802020 41,0x802020 36,0xff00 40,0x802020 56,0x802020 58,0x802020 55,0x802020 54,0x802020 48,0x802020 70,0xffffff 79,0xffffff 61,0x802020 54,0x802020 72,0xffffff 64,0x802020 68,0x802020 68,0x802020 98,0xffffff 111,0xffffff 105,0xffffff 120,0xffffff 139,0xffffff 113,0xffffff 93,0xffffff 116,0xffffff 83,0xffffff 97,0xffffff 106,0xffffff 71,0xffffff 70,0xffffff 66,0x802020 67,0x802020 64,0x802020 65,0x802020 56,0x802020 74,0xffffff 54,0x802020 57,0x802020 67,0x802020 86,0xffffff 73,0xffffff 95,0xffffff 115,0xffffff 93,0xffffff 134,0xffffff 135,0xffffff 119,0xffffff 131,0xffffff 168,0xffffff 180,0xffffff 169,0xffffff 188,0xffffff 187,0xffffff 184,0xffffff 186,0xffffff 144,0xffffff 154,0xffffff 125,0xffffff 106,0xffffff 99,0xffffff 119,0xffffff 91,0xffffff 96,0xffffff 112,0xffffff 115,0xffffff 118,0xffffff 128,0xffffff 118,0xffffff 76,0xffffff 57,0x802020 79,0xffffff 113,0xffffff 102,0xffffff 96,0xffffff 85,0xffffff 89,0xffffff 94,0xffffff 100,0xffffff 105,0xffffff 88,0xffffff 67,0x802020 92,0xffffff 73,0xffffff 112,0xffffff 118,0xffffff 121,0xffffff 153,0xffffff 137,0xffffff 150,0xffffff 152,0xffffff 165,0xffffff 151,0xffffff 171,0xffffff 197,0xffffff 179,0xffffff 201,0xffffff 178,0xffffff 159,0xffffff 168,0xffffff 170,0xffffff 150,0xffffff 132,0xffffff 124,0xffffff 135,0xffffff 147,0xffffff 144,0xffffff 148,0xffffff 122,0xffffff 139,0xffffff 163,0xffffff 161,0xffffff 171,0xffffff 177,0xffffff 208,0xffffff 196,0xffffff 195,0xffffff 210,0xffffff 223,0xffffff 196,0xffffff 180,0xffffff 176,0xffffff 142,0xffffff 159,0xffffff 189,0xffffff 188,0xffffff 210,0xffffff 177,0xffffff 210,0xffffff 207,0xffffff 179,0xffffff 184,0xffffff 180,0xffffff 211,0xffffff 203,0xffffff 180,0xffffff 203,0xffffff 207,0xffffff 181,0xffffff 192,0xffffff 182,0xffffff + 1,0xff 2,0xff 1,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 4,0xff 8,0xff00 11,0xff00 11,0xff00 13,0xff00 17,0xff00 25,0xff00 33,0xff00 34,0xff00 33,0xff00 33,0xff00 31,0xff00 27,0xff00 33,0xff00 32,0xff00 30,0xff00 29,0xff00 26,0xff00 27,0xff00 30,0xff00 25,0xff00 25,0xff00 25,0xff00 15,0xff00 14,0xff00 15,0xff00 14,0xff00 16,0xff00 10,0xff00 8,0xff00 11,0xff00 17,0xff00 24,0xff00 26,0xff00 25,0xff00 20,0xff00 27,0xff00 28,0xff00 25,0xff00 30,0xff00 34,0xff00 35,0xff00 33,0xff00 39,0xff00 39,0xff00 45,0x802020 58,0x802020 52,0x802020 64,0x802020 54,0x802020 49,0x802020 50,0x802020 51,0x802020 51,0x802020 49,0x802020 58,0x802020 43,0x802020 41,0x802020 34,0xff00 70,0xffffff 67,0x802020 59,0x802020 45,0x802020 55,0x802020 88,0xffffff 81,0xffffff 99,0xffffff 99,0xffffff 120,0xffffff 112,0xffffff 141,0xffffff 120,0xffffff 107,0xffffff 85,0xffffff 82,0xffffff 66,0x802020 67,0x802020 78,0xffffff 92,0xffffff 72,0xffffff 68,0x802020 57,0x802020 64,0x802020 60,0x802020 60,0x802020 74,0xffffff 68,0x802020 67,0x802020 83,0xffffff 97,0xffffff 75,0xffffff 105,0xffffff 110,0xffffff 126,0xffffff 118,0xffffff 138,0xffffff 144,0xffffff 145,0xffffff 159,0xffffff 165,0xffffff 180,0xffffff 183,0xffffff 186,0xffffff 155,0xffffff 154,0xffffff 136,0xffffff 124,0xffffff 99,0xffffff 99,0xffffff 93,0xffffff 94,0xffffff 97,0xffffff 79,0xffffff 112,0xffffff 129,0xffffff 140,0xffffff 117,0xffffff 89,0xffffff 69,0x802020 94,0xffffff 85,0xffffff 91,0xffffff 94,0xffffff 99,0xffffff 71,0xffffff 90,0xffffff 77,0xffffff 104,0xffffff 110,0xffffff 73,0xffffff 65,0x802020 74,0xffffff 66,0x802020 104,0xffffff 125,0xffffff 111,0xffffff 143,0xffffff 184,0xffffff 184,0xffffff 170,0xffffff 163,0xffffff 168,0xffffff 151,0xffffff 167,0xffffff 188,0xffffff 183,0xffffff 194,0xffffff 184,0xffffff 187,0xffffff 175,0xffffff 142,0xffffff 133,0xffffff 120,0xffffff 158,0xffffff 157,0xffffff 147,0xffffff 137,0xffffff 108,0xffffff 133,0xffffff 174,0xffffff 180,0xffffff 168,0xffffff 198,0xffffff 216,0xffffff 181,0xffffff 197,0xffffff 176,0xffffff 187,0xffffff 177,0xffffff 154,0xffffff 165,0xffffff 149,0xffffff 166,0xffffff 210,0xffffff 189,0xffffff 219,0xffffff 187,0xffffff 209,0xffffff 175,0xffffff 177,0xffffff 211,0xffffff 212,0xffffff 216,0xffffff 179,0xffffff 164,0xffffff 196,0xffffff 185,0xffffff 158,0xffffff 175,0xffffff 183,0xffffff + 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 8,0xff00 9,0xff00 13,0xff00 14,0xff00 18,0xff00 25,0xff00 31,0xff00 32,0xff00 35,0xff00 30,0xff00 29,0xff00 28,0xff00 31,0xff00 30,0xff00 33,0xff00 28,0xff00 26,0xff00 28,0xff00 26,0xff00 26,0xff00 23,0xff00 22,0xff00 18,0xff00 8,0xff00 10,0xff00 13,0xff00 10,0xff00 14,0xff00 8,0xff00 7,0xff00 11,0xff00 15,0xff00 18,0xff00 21,0xff00 24,0xff00 21,0xff00 30,0xff00 29,0xff00 31,0xff00 32,0xff00 31,0xff00 31,0xff00 33,0xff00 38,0xff00 52,0x802020 55,0x802020 52,0x802020 66,0x802020 64,0x802020 50,0x802020 44,0x802020 36,0xff00 43,0x802020 49,0x802020 49,0x802020 46,0x802020 36,0xff00 38,0xff00 44,0x802020 59,0x802020 70,0xffffff 60,0x802020 53,0x802020 56,0x802020 72,0xffffff 82,0xffffff 78,0xffffff 93,0xffffff 132,0xffffff 104,0xffffff 119,0xffffff 100,0xffffff 90,0xffffff 58,0x802020 75,0xffffff 68,0x802020 59,0x802020 58,0x802020 74,0xffffff 60,0x802020 59,0x802020 56,0x802020 57,0x802020 55,0x802020 46,0x802020 53,0x802020 76,0xffffff 72,0xffffff 83,0xffffff 96,0xffffff 120,0xffffff 133,0xffffff 138,0xffffff 137,0xffffff 110,0xffffff 134,0xffffff 164,0xffffff 173,0xffffff 165,0xffffff 168,0xffffff 173,0xffffff 166,0xffffff 161,0xffffff 130,0xffffff 156,0xffffff 123,0xffffff 99,0xffffff 63,0x802020 78,0xffffff 107,0xffffff 93,0xffffff 89,0xffffff 82,0xffffff 99,0xffffff 92,0xffffff 104,0xffffff 106,0xffffff 78,0xffffff 88,0xffffff 97,0xffffff 93,0xffffff 110,0xffffff 85,0xffffff 70,0xffffff 58,0x802020 74,0xffffff 80,0xffffff 76,0xffffff 84,0xffffff 65,0x802020 93,0xffffff 84,0xffffff 98,0xffffff 132,0xffffff 116,0xffffff 149,0xffffff 155,0xffffff 155,0xffffff 168,0xffffff 159,0xffffff 149,0xffffff 143,0xffffff 158,0xffffff 169,0xffffff 202,0xffffff 190,0xffffff 179,0xffffff 163,0xffffff 187,0xffffff 153,0xffffff 120,0xffffff 146,0xffffff 131,0xffffff 125,0xffffff 118,0xffffff 129,0xffffff 153,0xffffff 127,0xffffff 152,0xffffff 202,0xffffff 197,0xffffff 203,0xffffff 195,0xffffff 205,0xffffff 180,0xffffff 201,0xffffff 162,0xffffff 161,0xffffff 173,0xffffff 158,0xffffff 183,0xffffff 153,0xffffff 185,0xffffff 224,0xffffff 215,0xffffff 223,0xffffff 207,0xffffff 199,0xffffff 155,0xffffff 186,0xffffff 239,0xffffff 224,0xffffff 210,0xffffff 178,0xffffff 168,0xffffff 194,0xffffff 186,0xffffff 151,0xffffff 191,0xffffff 182,0xffffff + 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 2,0xff 1,0xff 8,0xff00 10,0xff00 9,0xff00 15,0xff00 18,0xff00 22,0xff00 25,0xff00 31,0xff00 34,0xff00 31,0xff00 24,0xff00 27,0xff00 29,0xff00 33,0xff00 31,0xff00 26,0xff00 25,0xff00 25,0xff00 25,0xff00 23,0xff00 17,0xff00 16,0xff00 18,0xff00 10,0xff00 8,0xff00 14,0xff00 13,0xff00 8,0xff00 8,0xff00 3,0xff 5,0xff00 11,0xff00 14,0xff00 19,0xff00 20,0xff00 21,0xff00 25,0xff00 27,0xff00 29,0xff00 31,0xff00 30,0xff00 30,0xff00 33,0xff00 39,0xff00 47,0x802020 48,0x802020 50,0x802020 55,0x802020 60,0x802020 51,0x802020 39,0xff00 37,0xff00 47,0x802020 41,0x802020 54,0x802020 44,0x802020 35,0xff00 42,0x802020 51,0x802020 62,0x802020 63,0x802020 63,0x802020 53,0x802020 42,0x802020 73,0xffffff 76,0xffffff 74,0xffffff 100,0xffffff 133,0xffffff 142,0xffffff 111,0xffffff 74,0xffffff 71,0xffffff 72,0xffffff 61,0x802020 60,0x802020 55,0x802020 85,0xffffff 84,0xffffff 79,0xffffff 68,0x802020 62,0x802020 59,0x802020 59,0x802020 48,0x802020 58,0x802020 82,0xffffff 87,0xffffff 108,0xffffff 100,0xffffff 109,0xffffff 164,0xffffff 164,0xffffff 151,0xffffff 146,0xffffff 117,0xffffff 154,0xffffff 154,0xffffff 177,0xffffff 189,0xffffff 189,0xffffff 189,0xffffff 157,0xffffff 159,0xffffff 159,0xffffff 152,0xffffff 115,0xffffff 74,0xffffff 62,0x802020 92,0xffffff 121,0xffffff 93,0xffffff 88,0xffffff 69,0x802020 80,0xffffff 92,0xffffff 82,0xffffff 72,0xffffff 76,0xffffff 65,0x802020 93,0xffffff 81,0xffffff 83,0xffffff 104,0xffffff 100,0xffffff 89,0xffffff 100,0xffffff 99,0xffffff 72,0xffffff 62,0x802020 59,0x802020 73,0xffffff 80,0xffffff 119,0xffffff 136,0xffffff 131,0xffffff 160,0xffffff 161,0xffffff 169,0xffffff 181,0xffffff 181,0xffffff 159,0xffffff 154,0xffffff 184,0xffffff 182,0xffffff 163,0xffffff 170,0xffffff 173,0xffffff 179,0xffffff 198,0xffffff 170,0xffffff 144,0xffffff 135,0xffffff 131,0xffffff 153,0xffffff 142,0xffffff 124,0xffffff 145,0xffffff 151,0xffffff 159,0xffffff 198,0xffffff 215,0xffffff 213,0xffffff 214,0xffffff 211,0xffffff 174,0xffffff 208,0xffffff 185,0xffffff 169,0xffffff 178,0xffffff 151,0xffffff 167,0xffffff 186,0xffffff 188,0xffffff 214,0xffffff 207,0xffffff 209,0xffffff 191,0xffffff 187,0xffffff 186,0xffffff 208,0xffffff 239,0xffffff 223,0xffffff 178,0xffffff 148,0xffffff 164,0xffffff 157,0xffffff 146,0xffffff 155,0xffffff 207,0xffffff 182,0xffffff + 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 2,0xff 4,0xff 9,0xff00 14,0xff00 12,0xff00 16,0xff00 20,0xff00 28,0xff00 30,0xff00 35,0xff00 33,0xff00 27,0xff00 27,0xff00 24,0xff00 29,0xff00 26,0xff00 28,0xff00 27,0xff00 24,0xff00 23,0xff00 23,0xff00 18,0xff00 10,0xff00 12,0xff00 11,0xff00 5,0xff00 7,0xff00 8,0xff00 9,0xff00 6,0xff00 8,0xff00 10,0xff00 13,0xff00 18,0xff00 19,0xff00 23,0xff00 24,0xff00 22,0xff00 27,0xff00 25,0xff00 27,0xff00 34,0xff00 32,0xff00 36,0xff00 36,0xff00 38,0xff00 58,0x802020 57,0x802020 54,0x802020 47,0x802020 48,0x802020 38,0xff00 30,0xff00 40,0x802020 37,0xff00 36,0xff00 45,0x802020 37,0xff00 37,0xff00 57,0x802020 57,0x802020 52,0x802020 54,0x802020 58,0x802020 49,0x802020 50,0x802020 65,0x802020 69,0x802020 79,0xffffff 110,0xffffff 105,0xffffff 123,0xffffff 108,0xffffff 80,0xffffff 75,0xffffff 61,0x802020 53,0x802020 60,0x802020 61,0x802020 55,0x802020 75,0xffffff 63,0x802020 68,0x802020 69,0x802020 60,0x802020 45,0x802020 45,0x802020 93,0xffffff 86,0xffffff 95,0xffffff 123,0xffffff 124,0xffffff 114,0xffffff 141,0xffffff 139,0xffffff 148,0xffffff 117,0xffffff 131,0xffffff 160,0xffffff 188,0xffffff 198,0xffffff 184,0xffffff 192,0xffffff 177,0xffffff 177,0xffffff 172,0xffffff 162,0xffffff 131,0xffffff 79,0xffffff 84,0xffffff 93,0xffffff 97,0xffffff 105,0xffffff 95,0xffffff 77,0xffffff 54,0x802020 60,0x802020 91,0xffffff 74,0xffffff 88,0xffffff 96,0xffffff 71,0xffffff 95,0xffffff 79,0xffffff 81,0xffffff 107,0xffffff 86,0xffffff 78,0xffffff 88,0xffffff 80,0xffffff 51,0x802020 74,0xffffff 89,0xffffff 112,0xffffff 111,0xffffff 145,0xffffff 134,0xffffff 120,0xffffff 131,0xffffff 153,0xffffff 138,0xffffff 150,0xffffff 162,0xffffff 181,0xffffff 176,0xffffff 182,0xffffff 169,0xffffff 174,0xffffff 194,0xffffff 204,0xffffff 196,0xffffff 174,0xffffff 150,0xffffff 174,0xffffff 167,0xffffff 151,0xffffff 134,0xffffff 137,0xffffff 133,0xffffff 170,0xffffff 153,0xffffff 173,0xffffff 226,0xffffff 208,0xffffff 187,0xffffff 190,0xffffff 201,0xffffff 154,0xffffff 184,0xffffff 191,0xffffff 156,0xffffff 154,0xffffff 156,0xffffff 176,0xffffff 186,0xffffff 195,0xffffff 228,0xffffff 196,0xffffff 197,0xffffff 187,0xffffff 219,0xffffff 217,0xffffff 203,0xffffff 201,0xffffff 196,0xffffff 160,0xffffff 149,0xffffff 141,0xffffff 137,0xffffff 151,0xffffff 200,0xffffff 200,0xffffff 180,0xffffff + 0,0xff 1,0xff 1,0xff 0,0xff 1,0xff 1,0xff 1,0xff 3,0xff 6,0xff00 13,0xff00 13,0xff00 15,0xff00 17,0xff00 25,0xff00 28,0xff00 29,0xff00 34,0xff00 27,0xff00 23,0xff00 19,0xff00 19,0xff00 23,0xff00 25,0xff00 23,0xff00 24,0xff00 23,0xff00 21,0xff00 19,0xff00 11,0xff00 9,0xff00 5,0xff00 7,0xff00 2,0xff 3,0xff 4,0xff 4,0xff 4,0xff 4,0xff 9,0xff00 16,0xff00 20,0xff00 20,0xff00 18,0xff00 20,0xff00 25,0xff00 25,0xff00 29,0xff00 34,0xff00 35,0xff00 39,0xff00 42,0x802020 41,0x802020 53,0x802020 54,0x802020 47,0x802020 57,0x802020 54,0x802020 45,0x802020 39,0xff00 40,0x802020 41,0x802020 42,0x802020 51,0x802020 49,0x802020 49,0x802020 52,0x802020 49,0x802020 53,0x802020 46,0x802020 54,0x802020 46,0x802020 40,0x802020 50,0x802020 56,0x802020 85,0xffffff 98,0xffffff 118,0xffffff 114,0xffffff 109,0xffffff 105,0xffffff 77,0xffffff 64,0x802020 53,0x802020 53,0x802020 65,0x802020 62,0x802020 55,0x802020 69,0x802020 61,0x802020 55,0x802020 72,0xffffff 64,0x802020 52,0x802020 55,0x802020 82,0xffffff 85,0xffffff 108,0xffffff 100,0xffffff 128,0xffffff 157,0xffffff 167,0xffffff 155,0xffffff 140,0xffffff 141,0xffffff 156,0xffffff 188,0xffffff 176,0xffffff 205,0xffffff 176,0xffffff 184,0xffffff 151,0xffffff 175,0xffffff 125,0xffffff 100,0xffffff 89,0xffffff 65,0x802020 75,0xffffff 114,0xffffff 123,0xffffff 116,0xffffff 89,0xffffff 69,0x802020 63,0x802020 82,0xffffff 80,0xffffff 68,0x802020 76,0xffffff 65,0x802020 53,0x802020 80,0xffffff 68,0x802020 70,0xffffff 86,0xffffff 82,0xffffff 77,0xffffff 77,0xffffff 68,0x802020 67,0x802020 102,0xffffff 98,0xffffff 125,0xffffff 145,0xffffff 136,0xffffff 121,0xffffff 156,0xffffff 144,0xffffff 131,0xffffff 120,0xffffff 142,0xffffff 142,0xffffff 167,0xffffff 156,0xffffff 151,0xffffff 161,0xffffff 199,0xffffff 200,0xffffff 181,0xffffff 184,0xffffff 167,0xffffff 167,0xffffff 152,0xffffff 176,0xffffff 155,0xffffff 136,0xffffff 114,0xffffff 140,0xffffff 181,0xffffff 171,0xffffff 221,0xffffff 236,0xffffff 214,0xffffff 198,0xffffff 218,0xffffff 201,0xffffff 176,0xffffff 189,0xffffff 160,0xffffff 148,0xffffff 160,0xffffff 157,0xffffff 203,0xffffff 189,0xffffff 202,0xffffff 204,0xffffff 197,0xffffff 175,0xffffff 185,0xffffff 207,0xffffff 204,0xffffff 190,0xffffff 163,0xffffff 173,0xffffff 175,0xffffff 166,0xffffff 179,0xffffff 170,0xffffff 169,0xffffff 209,0xffffff 183,0xffffff 176,0xffffff + 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 2,0xff 8,0xff00 13,0xff00 15,0xff00 18,0xff00 22,0xff00 27,0xff00 25,0xff00 25,0xff00 24,0xff00 22,0xff00 19,0xff00 21,0xff00 17,0xff00 21,0xff00 25,0xff00 22,0xff00 25,0xff00 20,0xff00 19,0xff00 12,0xff00 5,0xff00 4,0xff 2,0xff 3,0xff 1,0xff 5,0xff00 5,0xff00 6,0xff00 6,0xff00 6,0xff00 15,0xff00 22,0xff00 22,0xff00 19,0xff00 15,0xff00 19,0xff00 25,0xff00 22,0xff00 27,0xff00 30,0xff00 33,0xff00 35,0xff00 52,0x802020 56,0x802020 53,0x802020 47,0x802020 55,0x802020 48,0x802020 45,0x802020 39,0xff00 38,0xff00 37,0xff00 41,0x802020 40,0x802020 47,0x802020 47,0x802020 40,0x802020 51,0x802020 41,0x802020 53,0x802020 54,0x802020 46,0x802020 55,0x802020 56,0x802020 56,0x802020 50,0x802020 92,0xffffff 88,0xffffff 115,0xffffff 131,0xffffff 111,0xffffff 79,0xffffff 62,0x802020 55,0x802020 49,0x802020 63,0x802020 66,0x802020 56,0x802020 84,0xffffff 82,0xffffff 94,0xffffff 84,0xffffff 106,0xffffff 95,0xffffff 85,0xffffff 81,0xffffff 72,0xffffff 108,0xffffff 126,0xffffff 106,0xffffff 130,0xffffff 151,0xffffff 140,0xffffff 151,0xffffff 155,0xffffff 186,0xffffff 184,0xffffff 192,0xffffff 176,0xffffff 201,0xffffff 150,0xffffff 140,0xffffff 123,0xffffff 140,0xffffff 116,0xffffff 72,0xffffff 63,0x802020 53,0x802020 75,0xffffff 105,0xffffff 122,0xffffff 117,0xffffff 70,0xffffff 66,0x802020 57,0x802020 69,0x802020 77,0xffffff 60,0x802020 60,0x802020 61,0x802020 45,0x802020 73,0xffffff 57,0x802020 64,0x802020 95,0xffffff 83,0xffffff 74,0xffffff 63,0x802020 63,0x802020 74,0xffffff 132,0xffffff 124,0xffffff 110,0xffffff 108,0xffffff 121,0xffffff 141,0xffffff 148,0xffffff 110,0xffffff 127,0xffffff 116,0xffffff 141,0xffffff 134,0xffffff 132,0xffffff 135,0xffffff 129,0xffffff 145,0xffffff 169,0xffffff 188,0xffffff 164,0xffffff 144,0xffffff 124,0xffffff 127,0xffffff 138,0xffffff 157,0xffffff 127,0xffffff 108,0xffffff 130,0xffffff 177,0xffffff 203,0xffffff 201,0xffffff 238,0xffffff 244,0xffffff 216,0xffffff 194,0xffffff 171,0xffffff 155,0xffffff 149,0xffffff 166,0xffffff 136,0xffffff 119,0xffffff 132,0xffffff 149,0xffffff 175,0xffffff 165,0xffffff 189,0xffffff 197,0xffffff 194,0xffffff 189,0xffffff 188,0xffffff 189,0xffffff 168,0xffffff 170,0xffffff 159,0xffffff 153,0xffffff 171,0xffffff 180,0xffffff 168,0xffffff 182,0xffffff 168,0xffffff 218,0xffffff 189,0xffffff 176,0xffffff + 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 3,0xff 6,0xff00 14,0xff00 15,0xff00 15,0xff00 23,0xff00 25,0xff00 25,0xff00 18,0xff00 20,0xff00 21,0xff00 17,0xff00 19,0xff00 16,0xff00 18,0xff00 16,0xff00 19,0xff00 18,0xff00 20,0xff00 12,0xff00 9,0xff00 8,0xff00 4,0xff 4,0xff 2,0xff 4,0xff 3,0xff 4,0xff 7,0xff00 8,0xff00 11,0xff00 13,0xff00 14,0xff00 17,0xff00 21,0xff00 16,0xff00 20,0xff00 22,0xff00 24,0xff00 27,0xff00 27,0xff00 30,0xff00 30,0xff00 42,0x802020 58,0x802020 55,0x802020 56,0x802020 51,0x802020 44,0x802020 39,0xff00 45,0x802020 39,0xff00 41,0x802020 47,0x802020 47,0x802020 50,0x802020 44,0x802020 52,0x802020 41,0x802020 54,0x802020 41,0x802020 42,0x802020 40,0x802020 45,0x802020 57,0x802020 59,0x802020 56,0x802020 46,0x802020 74,0xffffff 79,0xffffff 116,0xffffff 107,0xffffff 80,0xffffff 59,0x802020 57,0x802020 81,0xffffff 84,0xffffff 97,0xffffff 84,0xffffff 73,0xffffff 92,0xffffff 83,0xffffff 78,0xffffff 102,0xffffff 112,0xffffff 109,0xffffff 88,0xffffff 98,0xffffff 92,0xffffff 90,0xffffff 106,0xffffff 126,0xffffff 124,0xffffff 158,0xffffff 145,0xffffff 182,0xffffff 186,0xffffff 193,0xffffff 189,0xffffff 191,0xffffff 167,0xffffff 158,0xffffff 134,0xffffff 138,0xffffff 111,0xffffff 100,0xffffff 90,0xffffff 56,0x802020 60,0x802020 51,0x802020 75,0xffffff 92,0xffffff 124,0xffffff 81,0xffffff 73,0xffffff 65,0x802020 65,0x802020 60,0x802020 73,0xffffff 69,0x802020 63,0x802020 67,0x802020 60,0x802020 61,0x802020 61,0x802020 69,0x802020 70,0xffffff 71,0xffffff 60,0x802020 58,0x802020 83,0xffffff 115,0xffffff 133,0xffffff 107,0xffffff 130,0xffffff 119,0xffffff 153,0xffffff 146,0xffffff 138,0xffffff 92,0xffffff 105,0xffffff 109,0xffffff 143,0xffffff 103,0xffffff 113,0xffffff 141,0xffffff 114,0xffffff 129,0xffffff 149,0xffffff 156,0xffffff 152,0xffffff 148,0xffffff 130,0xffffff 149,0xffffff 123,0xffffff 157,0xffffff 113,0xffffff 108,0xffffff 159,0xffffff 180,0xffffff 199,0xffffff 207,0xffffff 240,0xffffff 207,0xffffff 170,0xffffff 160,0xffffff 158,0xffffff 158,0xffffff 141,0xffffff 145,0xffffff 103,0xffffff 99,0xffffff 120,0xffffff 156,0xffffff 210,0xffffff 206,0xffffff 209,0xffffff 223,0xffffff 202,0xffffff 193,0xffffff 198,0xffffff 177,0xffffff 174,0xffffff 164,0xffffff 169,0xffffff 177,0xffffff 154,0xffffff 155,0xffffff 175,0xffffff 175,0xffffff 187,0xffffff 208,0xffffff 160,0xffffff 176,0xffffff + 0,0xff 0,0xff 0,0xff 0,0xff 2,0xff 1,0xff 5,0xff00 9,0xff00 11,0xff00 16,0xff00 16,0xff00 23,0xff00 23,0xff00 19,0xff00 19,0xff00 20,0xff00 17,0xff00 11,0xff00 14,0xff00 11,0xff00 15,0xff00 21,0xff00 20,0xff00 17,0xff00 15,0xff00 11,0xff00 6,0xff00 6,0xff00 3,0xff 3,0xff 0,0xff 3,0xff 1,0xff 3,0xff 5,0xff00 7,0xff00 11,0xff00 14,0xff00 14,0xff00 15,0xff00 14,0xff00 16,0xff00 25,0xff00 25,0xff00 24,0xff00 27,0xff00 27,0xff00 41,0x802020 47,0x802020 54,0x802020 54,0x802020 43,0x802020 46,0x802020 39,0xff00 35,0xff00 31,0xff00 42,0x802020 39,0xff00 44,0x802020 54,0x802020 45,0x802020 44,0x802020 42,0x802020 38,0xff00 41,0x802020 46,0x802020 37,0xff00 50,0x802020 57,0x802020 74,0xffffff 74,0xffffff 81,0xffffff 78,0xffffff 82,0xffffff 71,0xffffff 97,0xffffff 86,0xffffff 92,0xffffff 67,0x802020 62,0x802020 62,0x802020 76,0xffffff 64,0x802020 93,0xffffff 75,0xffffff 77,0xffffff 90,0xffffff 95,0xffffff 100,0xffffff 97,0xffffff 86,0xffffff 92,0xffffff 63,0x802020 73,0xffffff 99,0xffffff 99,0xffffff 124,0xffffff 152,0xffffff 148,0xffffff 166,0xffffff 150,0xffffff 195,0xffffff 196,0xffffff 206,0xffffff 185,0xffffff 147,0xffffff 147,0xffffff 150,0xffffff 128,0xffffff 105,0xffffff 103,0xffffff 103,0xffffff 82,0xffffff 67,0x802020 60,0x802020 91,0xffffff 101,0xffffff 116,0xffffff 104,0xffffff 99,0xffffff 70,0xffffff 68,0x802020 57,0x802020 85,0xffffff 81,0xffffff 83,0xffffff 74,0xffffff 67,0x802020 61,0x802020 52,0x802020 53,0x802020 66,0x802020 87,0xffffff 76,0xffffff 64,0x802020 52,0x802020 82,0xffffff 94,0xffffff 119,0xffffff 137,0xffffff 127,0xffffff 145,0xffffff 138,0xffffff 119,0xffffff 134,0xffffff 89,0xffffff 108,0xffffff 122,0xffffff 122,0xffffff 106,0xffffff 143,0xffffff 140,0xffffff 133,0xffffff 149,0xffffff 179,0xffffff 162,0xffffff 129,0xffffff 157,0xffffff 128,0xffffff 131,0xffffff 121,0xffffff 164,0xffffff 146,0xffffff 160,0xffffff 203,0xffffff 201,0xffffff 224,0xffffff 208,0xffffff 214,0xffffff 170,0xffffff 150,0xffffff 148,0xffffff 164,0xffffff 133,0xffffff 139,0xffffff 125,0xffffff 127,0xffffff 120,0xffffff 172,0xffffff 201,0xffffff 210,0xffffff 203,0xffffff 211,0xffffff 208,0xffffff 179,0xffffff 170,0xffffff 187,0xffffff 186,0xffffff 189,0xffffff 179,0xffffff 180,0xffffff 170,0xffffff 167,0xffffff 154,0xffffff 186,0xffffff 185,0xffffff 196,0xffffff 182,0xffffff 148,0xffffff 176,0xffffff + 0,0xff 0,0xff 1,0xff 0,0xff 1,0xff 5,0xff00 12,0xff00 13,0xff00 17,0xff00 17,0xff00 21,0xff00 20,0xff00 20,0xff00 15,0xff00 19,0xff00 17,0xff00 14,0xff00 15,0xff00 15,0xff00 14,0xff00 17,0xff00 18,0xff00 19,0xff00 15,0xff00 8,0xff00 8,0xff00 5,0xff00 4,0xff 2,0xff 1,0xff 1,0xff 4,0xff 3,0xff 4,0xff 6,0xff00 11,0xff00 12,0xff00 14,0xff00 15,0xff00 17,0xff00 21,0xff00 24,0xff00 27,0xff00 25,0xff00 31,0xff00 34,0xff00 35,0xff00 42,0x802020 44,0x802020 59,0x802020 46,0x802020 41,0x802020 38,0xff00 36,0xff00 37,0xff00 37,0xff00 42,0x802020 39,0xff00 41,0x802020 43,0x802020 46,0x802020 40,0x802020 34,0xff00 34,0xff00 36,0xff00 51,0x802020 41,0x802020 56,0x802020 80,0xffffff 97,0xffffff 97,0xffffff 105,0xffffff 109,0xffffff 96,0xffffff 101,0xffffff 109,0xffffff 77,0xffffff 78,0xffffff 75,0xffffff 71,0xffffff 77,0xffffff 86,0xffffff 92,0xffffff 98,0xffffff 99,0xffffff 98,0xffffff 103,0xffffff 80,0xffffff 82,0xffffff 108,0xffffff 72,0xffffff 67,0x802020 82,0xffffff 77,0xffffff 80,0xffffff 110,0xffffff 145,0xffffff 156,0xffffff 174,0xffffff 189,0xffffff 180,0xffffff 185,0xffffff 220,0xffffff 197,0xffffff 141,0xffffff 132,0xffffff 140,0xffffff 152,0xffffff 119,0xffffff 80,0xffffff 101,0xffffff 72,0xffffff 62,0x802020 51,0x802020 84,0xffffff 95,0xffffff 112,0xffffff 113,0xffffff 72,0xffffff 70,0xffffff 50,0x802020 49,0x802020 51,0x802020 90,0xffffff 101,0xffffff 85,0xffffff 71,0xffffff 65,0x802020 69,0x802020 74,0xffffff 91,0xffffff 95,0xffffff 97,0xffffff 72,0xffffff 62,0x802020 58,0x802020 84,0xffffff 89,0xffffff 110,0xffffff 144,0xffffff 124,0xffffff 141,0xffffff 116,0xffffff 108,0xffffff 118,0xffffff 110,0xffffff 106,0xffffff 137,0xffffff 136,0xffffff 140,0xffffff 169,0xffffff 159,0xffffff 150,0xffffff 148,0xffffff 162,0xffffff 118,0xffffff 112,0xffffff 133,0xffffff 156,0xffffff 144,0xffffff 136,0xffffff 136,0xffffff 141,0xffffff 174,0xffffff 183,0xffffff 195,0xffffff 203,0xffffff 215,0xffffff 205,0xffffff 153,0xffffff 151,0xffffff 164,0xffffff 134,0xffffff 128,0xffffff 120,0xffffff 139,0xffffff 130,0xffffff 172,0xffffff 213,0xffffff 229,0xffffff 226,0xffffff 211,0xffffff 223,0xffffff 190,0xffffff 165,0xffffff 177,0xffffff 165,0xffffff 174,0xffffff 179,0xffffff 185,0xffffff 174,0xffffff 162,0xffffff 195,0xffffff 177,0xffffff 176,0xffffff 183,0xffffff 184,0xffffff 181,0xffffff 148,0xffffff 173,0xffffff + 0,0xff 0,0xff 0,0xff 1,0xff 2,0xff 9,0xff00 11,0xff00 18,0xff00 17,0xff00 16,0xff00 19,0xff00 14,0xff00 17,0xff00 20,0xff00 20,0xff00 15,0xff00 12,0xff00 12,0xff00 15,0xff00 15,0xff00 14,0xff00 13,0xff00 14,0xff00 9,0xff00 4,0xff 5,0xff00 2,0xff 2,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 5,0xff00 8,0xff00 10,0xff00 16,0xff00 14,0xff00 19,0xff00 20,0xff00 26,0xff00 23,0xff00 28,0xff00 34,0xff00 38,0xff00 43,0x802020 45,0x802020 41,0x802020 46,0x802020 37,0xff00 35,0xff00 38,0xff00 32,0xff00 32,0xff00 34,0xff00 52,0x802020 49,0x802020 50,0x802020 49,0x802020 43,0x802020 39,0xff00 34,0xff00 43,0x802020 45,0x802020 43,0x802020 56,0x802020 58,0x802020 107,0xffffff 117,0xffffff 100,0xffffff 107,0xffffff 111,0xffffff 105,0xffffff 96,0xffffff 102,0xffffff 79,0xffffff 89,0xffffff 92,0xffffff 98,0xffffff 100,0xffffff 79,0xffffff 104,0xffffff 84,0xffffff 63,0x802020 73,0xffffff 78,0xffffff 64,0x802020 66,0x802020 79,0xffffff 68,0x802020 64,0x802020 67,0x802020 61,0x802020 84,0xffffff 128,0xffffff 171,0xffffff 162,0xffffff 172,0xffffff 167,0xffffff 175,0xffffff 194,0xffffff 178,0xffffff 178,0xffffff 124,0xffffff 136,0xffffff 113,0xffffff 137,0xffffff 106,0xffffff 81,0xffffff 88,0xffffff 65,0x802020 52,0x802020 85,0xffffff 114,0xffffff 121,0xffffff 116,0xffffff 72,0xffffff 73,0xffffff 59,0x802020 40,0x802020 46,0x802020 56,0x802020 64,0x802020 83,0xffffff 66,0x802020 63,0x802020 68,0x802020 66,0x802020 67,0x802020 67,0x802020 81,0xffffff 79,0xffffff 67,0x802020 56,0x802020 69,0x802020 80,0xffffff 113,0xffffff 133,0xffffff 135,0xffffff 105,0xffffff 104,0xffffff 89,0xffffff 106,0xffffff 129,0xffffff 133,0xffffff 145,0xffffff 153,0xffffff 135,0xffffff 163,0xffffff 148,0xffffff 171,0xffffff 159,0xffffff 135,0xffffff 139,0xffffff 128,0xffffff 134,0xffffff 163,0xffffff 153,0xffffff 149,0xffffff 129,0xffffff 155,0xffffff 143,0xffffff 144,0xffffff 164,0xffffff 189,0xffffff 205,0xffffff 180,0xffffff 158,0xffffff 144,0xffffff 145,0xffffff 128,0xffffff 140,0xffffff 127,0xffffff 137,0xffffff 164,0xffffff 170,0xffffff 220,0xffffff 224,0xffffff 208,0xffffff 193,0xffffff 210,0xffffff 191,0xffffff 173,0xffffff 182,0xffffff 161,0xffffff 152,0xffffff 187,0xffffff 187,0xffffff 175,0xffffff 150,0xffffff 156,0xffffff 186,0xffffff 156,0xffffff 162,0xffffff 177,0xffffff 153,0xffffff 168,0xffffff 171,0xffffff 172,0xffffff + 0,0xff 0,0xff 3,0xff 4,0xff 6,0xff00 11,0xff00 12,0xff00 17,0xff00 18,0xff00 15,0xff00 14,0xff00 15,0xff00 16,0xff00 20,0xff00 21,0xff00 17,0xff00 15,0xff00 15,0xff00 13,0xff00 12,0xff00 11,0xff00 7,0xff00 6,0xff00 2,0xff 0,0xff 0,0xff 0,0xff 1,0xff 1,0xff 1,0xff 1,0xff 1,0xff 0,0xff 0,0xff 5,0xff00 8,0xff00 16,0xff00 17,0xff00 14,0xff00 18,0xff00 21,0xff00 27,0xff00 26,0xff00 27,0xff00 29,0xff00 40,0x802020 37,0xff00 40,0x802020 37,0xff00 38,0xff00 36,0xff00 31,0xff00 33,0xff00 33,0xff00 34,0xff00 52,0x802020 55,0x802020 53,0x802020 41,0x802020 47,0x802020 42,0x802020 36,0xff00 31,0xff00 36,0xff00 37,0xff00 34,0xff00 45,0x802020 85,0xffffff 129,0xffffff 113,0xffffff 127,0xffffff 118,0xffffff 103,0xffffff 84,0xffffff 71,0xffffff 91,0xffffff 63,0x802020 79,0xffffff 114,0xffffff 118,0xffffff 93,0xffffff 68,0x802020 66,0x802020 73,0xffffff 58,0x802020 68,0x802020 59,0x802020 55,0x802020 48,0x802020 70,0xffffff 62,0x802020 69,0x802020 57,0x802020 81,0xffffff 97,0xffffff 158,0xffffff 169,0xffffff 170,0xffffff 161,0xffffff 156,0xffffff 183,0xffffff 172,0xffffff 159,0xffffff 125,0xffffff 123,0xffffff 153,0xffffff 125,0xffffff 103,0xffffff 97,0xffffff 71,0xffffff 69,0x802020 61,0x802020 65,0x802020 104,0xffffff 98,0xffffff 115,0xffffff 91,0xffffff 53,0x802020 53,0x802020 44,0x802020 42,0x802020 42,0x802020 50,0x802020 54,0x802020 62,0x802020 55,0x802020 50,0x802020 57,0x802020 54,0x802020 45,0x802020 72,0xffffff 88,0xffffff 81,0xffffff 65,0x802020 58,0x802020 99,0xffffff 82,0xffffff 107,0xffffff 104,0xffffff 99,0xffffff 69,0x802020 75,0xffffff 86,0xffffff 124,0xffffff 141,0xffffff 141,0xffffff 124,0xffffff 120,0xffffff 135,0xffffff 167,0xffffff 141,0xffffff 168,0xffffff 140,0xffffff 133,0xffffff 125,0xffffff 140,0xffffff 133,0xffffff 147,0xffffff 168,0xffffff 143,0xffffff 159,0xffffff 158,0xffffff 142,0xffffff 143,0xffffff 176,0xffffff 201,0xffffff 199,0xffffff 177,0xffffff 132,0xffffff 116,0xffffff 122,0xffffff 129,0xffffff 129,0xffffff 125,0xffffff 142,0xffffff 185,0xffffff 199,0xffffff 224,0xffffff 225,0xffffff 195,0xffffff 190,0xffffff 199,0xffffff 179,0xffffff 163,0xffffff 142,0xffffff 139,0xffffff 166,0xffffff 151,0xffffff 161,0xffffff 158,0xffffff 175,0xffffff 171,0xffffff 170,0xffffff 174,0xffffff 158,0xffffff 159,0xffffff 150,0xffffff 174,0xffffff 180,0xffffff 172,0xffffff + 1,0xff 0,0xff 7,0xff00 6,0xff00 7,0xff00 14,0xff00 15,0xff00 17,0xff00 15,0xff00 13,0xff00 12,0xff00 14,0xff00 19,0xff00 21,0xff00 16,0xff00 14,0xff00 17,0xff00 13,0xff00 15,0xff00 13,0xff00 9,0xff00 5,0xff00 4,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 3,0xff 9,0xff00 11,0xff00 12,0xff00 16,0xff00 21,0xff00 26,0xff00 25,0xff00 27,0xff00 26,0xff00 27,0xff00 34,0xff00 34,0xff00 34,0xff00 36,0xff00 34,0xff00 31,0xff00 41,0x802020 47,0x802020 48,0x802020 50,0x802020 55,0x802020 40,0x802020 44,0x802020 38,0xff00 39,0xff00 40,0x802020 34,0xff00 29,0xff00 32,0xff00 33,0xff00 38,0xff00 57,0x802020 104,0xffffff 91,0xffffff 94,0xffffff 107,0xffffff 94,0xffffff 80,0xffffff 66,0x802020 52,0x802020 76,0xffffff 58,0x802020 71,0xffffff 96,0xffffff 92,0xffffff 77,0xffffff 53,0x802020 81,0xffffff 74,0xffffff 59,0x802020 50,0x802020 52,0x802020 47,0x802020 53,0x802020 53,0x802020 41,0x802020 70,0xffffff 86,0xffffff 96,0xffffff 155,0xffffff 200,0xffffff 198,0xffffff 185,0xffffff 157,0xffffff 165,0xffffff 154,0xffffff 170,0xffffff 135,0xffffff 129,0xffffff 118,0xffffff 141,0xffffff 95,0xffffff 112,0xffffff 80,0xffffff 58,0x802020 61,0x802020 65,0x802020 57,0x802020 81,0xffffff 81,0xffffff 80,0xffffff 71,0xffffff 41,0x802020 47,0x802020 40,0x802020 47,0x802020 52,0x802020 48,0x802020 55,0x802020 65,0x802020 56,0x802020 49,0x802020 54,0x802020 54,0x802020 51,0x802020 67,0x802020 79,0xffffff 82,0xffffff 68,0x802020 79,0xffffff 93,0xffffff 107,0xffffff 105,0xffffff 73,0xffffff 72,0xffffff 55,0x802020 85,0xffffff 110,0xffffff 148,0xffffff 134,0xffffff 141,0xffffff 139,0xffffff 146,0xffffff 142,0xffffff 163,0xffffff 142,0xffffff 160,0xffffff 138,0xffffff 107,0xffffff 129,0xffffff 165,0xffffff 151,0xffffff 140,0xffffff 183,0xffffff 165,0xffffff 191,0xffffff 180,0xffffff 163,0xffffff 154,0xffffff 190,0xffffff 191,0xffffff 158,0xffffff 161,0xffffff 151,0xffffff 146,0xffffff 146,0xffffff 129,0xffffff 167,0xffffff 158,0xffffff 157,0xffffff 192,0xffffff 198,0xffffff 235,0xffffff 211,0xffffff 206,0xffffff 199,0xffffff 172,0xffffff 165,0xffffff 156,0xffffff 113,0xffffff 117,0xffffff 131,0xffffff 143,0xffffff 151,0xffffff 186,0xffffff 175,0xffffff 160,0xffffff 135,0xffffff 124,0xffffff 124,0xffffff 126,0xffffff 130,0xffffff 161,0xffffff 177,0xffffff 172,0xffffff + 3,0xff 4,0xff 7,0xff00 10,0xff00 11,0xff00 11,0xff00 17,0xff00 17,0xff00 11,0xff00 10,0xff00 13,0xff00 14,0xff00 20,0xff00 19,0xff00 11,0xff00 12,0xff00 11,0xff00 10,0xff00 13,0xff00 9,0xff00 4,0xff 3,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 1,0xff 5,0xff00 14,0xff00 13,0xff00 14,0xff00 17,0xff00 21,0xff00 25,0xff00 24,0xff00 22,0xff00 26,0xff00 32,0xff00 38,0xff00 36,0xff00 32,0xff00 33,0xff00 28,0xff00 41,0x802020 49,0x802020 40,0x802020 34,0xff00 40,0x802020 45,0x802020 36,0xff00 36,0xff00 36,0xff00 35,0xff00 38,0xff00 32,0xff00 44,0x802020 49,0x802020 54,0x802020 60,0x802020 70,0xffffff 111,0xffffff 114,0xffffff 112,0xffffff 121,0xffffff 112,0xffffff 94,0xffffff 94,0xffffff 83,0xffffff 75,0xffffff 83,0xffffff 90,0xffffff 104,0xffffff 87,0xffffff 71,0xffffff 68,0x802020 66,0x802020 64,0x802020 51,0x802020 53,0x802020 49,0x802020 52,0x802020 59,0x802020 57,0x802020 101,0xffffff 116,0xffffff 136,0xffffff 171,0xffffff 209,0xffffff 230,0xffffff 212,0xffffff 190,0xffffff 188,0xffffff 192,0xffffff 184,0xffffff 168,0xffffff 137,0xffffff 100,0xffffff 99,0xffffff 110,0xffffff 99,0xffffff 92,0xffffff 67,0x802020 56,0x802020 57,0x802020 63,0x802020 50,0x802020 72,0xffffff 63,0x802020 70,0xffffff 49,0x802020 35,0xff00 46,0x802020 39,0xff00 53,0x802020 41,0x802020 44,0x802020 49,0x802020 59,0x802020 55,0x802020 53,0x802020 90,0xffffff 81,0xffffff 97,0xffffff 99,0xffffff 92,0xffffff 86,0xffffff 81,0xffffff 84,0xffffff 86,0xffffff 119,0xffffff 90,0xffffff 81,0xffffff 103,0xffffff 104,0xffffff 114,0xffffff 108,0xffffff 130,0xffffff 136,0xffffff 171,0xffffff 156,0xffffff 174,0xffffff 163,0xffffff 149,0xffffff 155,0xffffff 144,0xffffff 108,0xffffff 124,0xffffff 128,0xffffff 131,0xffffff 145,0xffffff 133,0xffffff 157,0xffffff 182,0xffffff 161,0xffffff 152,0xffffff 144,0xffffff 162,0xffffff 177,0xffffff 152,0xffffff 158,0xffffff 134,0xffffff 149,0xffffff 147,0xffffff 152,0xffffff 155,0xffffff 168,0xffffff 153,0xffffff 173,0xffffff 169,0xffffff 169,0xffffff 185,0xffffff 166,0xffffff 161,0xffffff 154,0xffffff 137,0xffffff 142,0xffffff 145,0xffffff 89,0xffffff 107,0xffffff 127,0xffffff 172,0xffffff 188,0xffffff 190,0xffffff 179,0xffffff 162,0xffffff 130,0xffffff 108,0xffffff 138,0xffffff 136,0xffffff 146,0xffffff 157,0xffffff 175,0xffffff 170,0xffffff + 3,0xff 4,0xff 3,0xff 8,0xff00 10,0xff00 17,0xff00 18,0xff00 13,0xff00 9,0xff00 6,0xff00 11,0xff00 14,0xff00 18,0xff00 17,0xff00 10,0xff00 10,0xff00 6,0xff00 5,0xff00 5,0xff00 6,0xff00 3,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 2,0xff 1,0xff 8,0xff00 13,0xff00 12,0xff00 18,0xff00 16,0xff00 22,0xff00 25,0xff00 25,0xff00 29,0xff00 32,0xff00 33,0xff00 33,0xff00 32,0xff00 27,0xff00 30,0xff00 30,0xff00 38,0xff00 38,0xff00 36,0xff00 37,0xff00 39,0xff00 37,0xff00 28,0xff00 29,0xff00 31,0xff00 32,0xff00 35,0xff00 36,0xff00 53,0x802020 86,0xffffff 80,0xffffff 79,0xffffff 76,0xffffff 117,0xffffff 129,0xffffff 115,0xffffff 96,0xffffff 90,0xffffff 84,0xffffff 59,0x802020 74,0xffffff 65,0x802020 81,0xffffff 71,0xffffff 67,0x802020 70,0xffffff 69,0x802020 65,0x802020 62,0x802020 56,0x802020 53,0x802020 57,0x802020 48,0x802020 51,0x802020 51,0x802020 59,0x802020 94,0xffffff 137,0xffffff 167,0xffffff 198,0xffffff 222,0xffffff 210,0xffffff 211,0xffffff 170,0xffffff 160,0xffffff 174,0xffffff 160,0xffffff 131,0xffffff 116,0xffffff 115,0xffffff 95,0xffffff 100,0xffffff 72,0xffffff 82,0xffffff 60,0x802020 50,0x802020 60,0x802020 61,0x802020 57,0x802020 66,0x802020 54,0x802020 65,0x802020 44,0x802020 54,0x802020 55,0x802020 49,0x802020 41,0x802020 37,0xff00 47,0x802020 51,0x802020 58,0x802020 55,0x802020 59,0x802020 93,0xffffff 107,0xffffff 102,0xffffff 81,0xffffff 104,0xffffff 101,0xffffff 82,0xffffff 72,0xffffff 68,0x802020 90,0xffffff 107,0xffffff 129,0xffffff 138,0xffffff 145,0xffffff 150,0xffffff 145,0xffffff 152,0xffffff 166,0xffffff 171,0xffffff 180,0xffffff 175,0xffffff 183,0xffffff 167,0xffffff 148,0xffffff 136,0xffffff 130,0xffffff 122,0xffffff 146,0xffffff 120,0xffffff 141,0xffffff 137,0xffffff 149,0xffffff 162,0xffffff 181,0xffffff 162,0xffffff 179,0xffffff 170,0xffffff 155,0xffffff 127,0xffffff 130,0xffffff 137,0xffffff 169,0xffffff 179,0xffffff 167,0xffffff 137,0xffffff 145,0xffffff 161,0xffffff 182,0xffffff 166,0xffffff 184,0xffffff 197,0xffffff 167,0xffffff 131,0xffffff 118,0xffffff 129,0xffffff 143,0xffffff 140,0xffffff 124,0xffffff 135,0xffffff 165,0xffffff 169,0xffffff 185,0xffffff 182,0xffffff 141,0xffffff 136,0xffffff 149,0xffffff 131,0xffffff 137,0xffffff 133,0xffffff 151,0xffffff 144,0xffffff 159,0xffffff 168,0xffffff + 2,0xff 2,0xff 1,0xff 6,0xff00 8,0xff00 10,0xff00 9,0xff00 7,0xff00 7,0xff00 9,0xff00 11,0xff00 15,0xff00 14,0xff00 7,0xff00 6,0xff00 5,0xff00 2,0xff 1,0xff 1,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 6,0xff00 12,0xff00 18,0xff00 20,0xff00 23,0xff00 25,0xff00 26,0xff00 24,0xff00 27,0xff00 29,0xff00 32,0xff00 34,0xff00 30,0xff00 26,0xff00 32,0xff00 33,0xff00 32,0xff00 32,0xff00 35,0xff00 38,0xff00 33,0xff00 31,0xff00 32,0xff00 30,0xff00 32,0xff00 37,0xff00 40,0x802020 44,0x802020 64,0x802020 81,0xffffff 76,0xffffff 89,0xffffff 86,0xffffff 91,0xffffff 110,0xffffff 86,0xffffff 81,0xffffff 58,0x802020 70,0xffffff 55,0x802020 65,0x802020 61,0x802020 66,0x802020 69,0x802020 60,0x802020 59,0x802020 67,0x802020 62,0x802020 67,0x802020 57,0x802020 52,0x802020 64,0x802020 58,0x802020 52,0x802020 85,0xffffff 75,0xffffff 118,0xffffff 154,0xffffff 193,0xffffff 221,0xffffff 219,0xffffff 172,0xffffff 161,0xffffff 153,0xffffff 160,0xffffff 153,0xffffff 136,0xffffff 99,0xffffff 100,0xffffff 87,0xffffff 79,0xffffff 93,0xffffff 72,0xffffff 57,0x802020 52,0x802020 45,0x802020 58,0x802020 55,0x802020 56,0x802020 58,0x802020 54,0x802020 47,0x802020 40,0x802020 56,0x802020 46,0x802020 41,0x802020 51,0x802020 50,0x802020 45,0x802020 51,0x802020 77,0xffffff 79,0xffffff 90,0xffffff 105,0xffffff 110,0xffffff 101,0xffffff 114,0xffffff 102,0xffffff 120,0xffffff 92,0xffffff 72,0xffffff 64,0x802020 110,0xffffff 117,0xffffff 143,0xffffff 136,0xffffff 164,0xffffff 173,0xffffff 164,0xffffff 148,0xffffff 190,0xffffff 188,0xffffff 163,0xffffff 142,0xffffff 142,0xffffff 131,0xffffff 130,0xffffff 138,0xffffff 148,0xffffff 130,0xffffff 125,0xffffff 96,0xffffff 112,0xffffff 132,0xffffff 151,0xffffff 148,0xffffff 157,0xffffff 145,0xffffff 167,0xffffff 169,0xffffff 125,0xffffff 129,0xffffff 128,0xffffff 154,0xffffff 184,0xffffff 180,0xffffff 146,0xffffff 141,0xffffff 146,0xffffff 191,0xffffff 180,0xffffff 179,0xffffff 190,0xffffff 178,0xffffff 174,0xffffff 137,0xffffff 121,0xffffff 149,0xffffff 164,0xffffff 152,0xffffff 139,0xffffff 145,0xffffff 177,0xffffff 192,0xffffff 196,0xffffff 170,0xffffff 164,0xffffff 151,0xffffff 176,0xffffff 159,0xffffff 156,0xffffff 160,0xffffff 160,0xffffff 135,0xffffff 140,0xffffff 168,0xffffff + 1,0xff 0,0xff 2,0xff 5,0xff00 4,0xff 6,0xff00 4,0xff 4,0xff 5,0xff00 9,0xff00 9,0xff00 13,0xff00 8,0xff00 3,0xff 4,0xff 1,0xff 2,0xff 2,0xff 2,0xff 1,0xff 1,0xff 1,0xff 0,0xff 2,0xff 2,0xff 1,0xff 1,0xff 1,0xff 1,0xff 0,0xff 1,0xff 2,0xff 7,0xff00 8,0xff00 14,0xff00 18,0xff00 18,0xff00 19,0xff00 19,0xff00 22,0xff00 24,0xff00 26,0xff00 26,0xff00 28,0xff00 32,0xff00 31,0xff00 28,0xff00 25,0xff00 32,0xff00 33,0xff00 35,0xff00 35,0xff00 33,0xff00 31,0xff00 29,0xff00 28,0xff00 34,0xff00 33,0xff00 34,0xff00 46,0x802020 43,0x802020 45,0x802020 80,0xffffff 84,0xffffff 90,0xffffff 84,0xffffff 78,0xffffff 110,0xffffff 95,0xffffff 65,0x802020 75,0xffffff 68,0x802020 73,0xffffff 59,0x802020 56,0x802020 58,0x802020 65,0x802020 60,0x802020 46,0x802020 49,0x802020 58,0x802020 48,0x802020 48,0x802020 50,0x802020 85,0xffffff 93,0xffffff 76,0xffffff 88,0xffffff 114,0xffffff 106,0xffffff 134,0xffffff 191,0xffffff 189,0xffffff 189,0xffffff 199,0xffffff 193,0xffffff 183,0xffffff 164,0xffffff 140,0xffffff 151,0xffffff 103,0xffffff 78,0xffffff 68,0x802020 80,0xffffff 65,0x802020 77,0xffffff 59,0x802020 61,0x802020 47,0x802020 58,0x802020 55,0x802020 54,0x802020 43,0x802020 44,0x802020 47,0x802020 51,0x802020 42,0x802020 43,0x802020 49,0x802020 42,0x802020 37,0xff00 41,0x802020 52,0x802020 48,0x802020 66,0x802020 94,0xffffff 113,0xffffff 127,0xffffff 104,0xffffff 105,0xffffff 134,0xffffff 114,0xffffff 82,0xffffff 60,0x802020 77,0xffffff 72,0xffffff 108,0xffffff 118,0xffffff 124,0xffffff 155,0xffffff 137,0xffffff 154,0xffffff 135,0xffffff 141,0xffffff 172,0xffffff 169,0xffffff 152,0xffffff 127,0xffffff 158,0xffffff 128,0xffffff 125,0xffffff 129,0xffffff 133,0xffffff 84,0xffffff 86,0xffffff 98,0xffffff 141,0xffffff 123,0xffffff 131,0xffffff 156,0xffffff 165,0xffffff 161,0xffffff 145,0xffffff 142,0xffffff 123,0xffffff 108,0xffffff 128,0xffffff 161,0xffffff 172,0xffffff 171,0xffffff 166,0xffffff 164,0xffffff 148,0xffffff 188,0xffffff 168,0xffffff 163,0xffffff 170,0xffffff 152,0xffffff 163,0xffffff 141,0xffffff 137,0xffffff 143,0xffffff 151,0xffffff 150,0xffffff 124,0xffffff 158,0xffffff 156,0xffffff 182,0xffffff 174,0xffffff 134,0xffffff 129,0xffffff 129,0xffffff 137,0xffffff 131,0xffffff 136,0xffffff 148,0xffffff 168,0xffffff 160,0xffffff 163,0xffffff 168,0xffffff + 0,0xff 1,0xff 1,0xff 2,0xff 4,0xff 8,0xff00 7,0xff00 6,0xff00 9,0xff00 11,0xff00 7,0xff00 7,0xff00 4,0xff 2,0xff 3,0xff 0,0xff 2,0xff 1,0xff 2,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 2,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 2,0xff 11,0xff00 14,0xff00 14,0xff00 18,0xff00 16,0xff00 21,0xff00 18,0xff00 23,0xff00 26,0xff00 24,0xff00 27,0xff00 25,0xff00 31,0xff00 26,0xff00 25,0xff00 28,0xff00 28,0xff00 33,0xff00 35,0xff00 32,0xff00 29,0xff00 26,0xff00 29,0xff00 25,0xff00 29,0xff00 32,0xff00 32,0xff00 36,0xff00 45,0x802020 65,0x802020 82,0xffffff 68,0x802020 57,0x802020 74,0xffffff 57,0x802020 87,0xffffff 59,0x802020 71,0xffffff 75,0xffffff 62,0x802020 59,0x802020 57,0x802020 60,0x802020 55,0x802020 51,0x802020 54,0x802020 49,0x802020 49,0x802020 63,0x802020 66,0x802020 71,0xffffff 81,0xffffff 87,0xffffff 83,0xffffff 79,0xffffff 104,0xffffff 123,0xffffff 141,0xffffff 157,0xffffff 189,0xffffff 176,0xffffff 160,0xffffff 174,0xffffff 190,0xffffff 147,0xffffff 155,0xffffff 153,0xffffff 145,0xffffff 105,0xffffff 73,0xffffff 56,0x802020 61,0x802020 61,0x802020 65,0x802020 64,0x802020 51,0x802020 50,0x802020 61,0x802020 50,0x802020 47,0x802020 39,0xff00 32,0xff00 41,0x802020 39,0xff00 46,0x802020 49,0x802020 42,0x802020 38,0xff00 39,0xff00 45,0x802020 55,0x802020 52,0x802020 57,0x802020 96,0xffffff 86,0xffffff 97,0xffffff 100,0xffffff 87,0xffffff 120,0xffffff 119,0xffffff 76,0xffffff 55,0x802020 61,0x802020 74,0xffffff 106,0xffffff 99,0xffffff 131,0xffffff 118,0xffffff 130,0xffffff 127,0xffffff 135,0xffffff 127,0xffffff 162,0xffffff 185,0xffffff 157,0xffffff 116,0xffffff 133,0xffffff 127,0xffffff 109,0xffffff 120,0xffffff 110,0xffffff 106,0xffffff 98,0xffffff 118,0xffffff 108,0xffffff 123,0xffffff 161,0xffffff 164,0xffffff 165,0xffffff 155,0xffffff 135,0xffffff 102,0xffffff 100,0xffffff 113,0xffffff 146,0xffffff 166,0xffffff 172,0xffffff 169,0xffffff 164,0xffffff 169,0xffffff 184,0xffffff 177,0xffffff 152,0xffffff 184,0xffffff 164,0xffffff 153,0xffffff 178,0xffffff 147,0xffffff 127,0xffffff 132,0xffffff 131,0xffffff 151,0xffffff 154,0xffffff 159,0xffffff 181,0xffffff 160,0xffffff 149,0xffffff 122,0xffffff 146,0xffffff 132,0xffffff 141,0xffffff 145,0xffffff 157,0xffffff 167,0xffffff 177,0xffffff 172,0xffffff 141,0xffffff 166,0xffffff + 0,0xff 2,0xff 1,0xff 3,0xff 2,0xff 6,0xff00 4,0xff 8,0xff00 5,0xff00 7,0xff00 5,0xff00 5,0xff00 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 1,0xff 1,0xff 0,0xff 4,0xff 10,0xff00 14,0xff00 16,0xff00 16,0xff00 20,0xff00 22,0xff00 19,0xff00 20,0xff00 22,0xff00 25,0xff00 29,0xff00 27,0xff00 29,0xff00 21,0xff00 21,0xff00 26,0xff00 32,0xff00 31,0xff00 36,0xff00 31,0xff00 26,0xff00 24,0xff00 24,0xff00 28,0xff00 32,0xff00 38,0xff00 48,0x802020 55,0x802020 60,0x802020 69,0x802020 59,0x802020 49,0x802020 72,0xffffff 76,0xffffff 69,0x802020 68,0x802020 64,0x802020 70,0xffffff 76,0xffffff 68,0x802020 60,0x802020 66,0x802020 63,0x802020 54,0x802020 51,0x802020 58,0x802020 45,0x802020 60,0x802020 57,0x802020 62,0x802020 64,0x802020 90,0xffffff 71,0xffffff 94,0xffffff 96,0xffffff 130,0xffffff 155,0xffffff 152,0xffffff 163,0xffffff 175,0xffffff 174,0xffffff 150,0xffffff 136,0xffffff 139,0xffffff 126,0xffffff 155,0xffffff 156,0xffffff 114,0xffffff 81,0xffffff 69,0x802020 47,0x802020 58,0x802020 65,0x802020 56,0x802020 57,0x802020 50,0x802020 52,0x802020 47,0x802020 52,0x802020 42,0x802020 36,0xff00 36,0xff00 42,0x802020 39,0xff00 37,0xff00 35,0xff00 41,0x802020 36,0xff00 39,0xff00 41,0x802020 52,0x802020 65,0x802020 73,0xffffff 86,0xffffff 70,0xffffff 89,0xffffff 87,0xffffff 103,0xffffff 93,0xffffff 86,0xffffff 61,0x802020 77,0xffffff 104,0xffffff 128,0xffffff 138,0xffffff 142,0xffffff 144,0xffffff 126,0xffffff 124,0xffffff 148,0xffffff 167,0xffffff 168,0xffffff 176,0xffffff 157,0xffffff 119,0xffffff 85,0xffffff 87,0xffffff 92,0xffffff 85,0xffffff 92,0xffffff 97,0xffffff 104,0xffffff 89,0xffffff 90,0xffffff 106,0xffffff 121,0xffffff 136,0xffffff 149,0xffffff 157,0xffffff 143,0xffffff 101,0xffffff 100,0xffffff 123,0xffffff 135,0xffffff 129,0xffffff 154,0xffffff 175,0xffffff 161,0xffffff 178,0xffffff 164,0xffffff 177,0xffffff 152,0xffffff 159,0xffffff 180,0xffffff 165,0xffffff 158,0xffffff 194,0xffffff 163,0xffffff 151,0xffffff 139,0xffffff 145,0xffffff 131,0xffffff 137,0xffffff 141,0xffffff 174,0xffffff 127,0xffffff 140,0xffffff 104,0xffffff 108,0xffffff 114,0xffffff 121,0xffffff 134,0xffffff 138,0xffffff 156,0xffffff 152,0xffffff 173,0xffffff 147,0xffffff 164,0xffffff + 0,0xff 2,0xff 0,0xff 1,0xff 4,0xff 8,0xff00 9,0xff00 10,0xff00 7,0xff00 6,0xff00 3,0xff 1,0xff 0,0xff 1,0xff 0,0xff 0,0xff 1,0xff 1,0xff 0,0xff 0,0xff 1,0xff 0,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 1,0xff 2,0xff 3,0xff 8,0xff00 15,0xff00 19,0xff00 19,0xff00 25,0xff00 24,0xff00 21,0xff00 22,0xff00 25,0xff00 24,0xff00 25,0xff00 24,0xff00 24,0xff00 20,0xff00 22,0xff00 26,0xff00 29,0xff00 29,0xff00 26,0xff00 23,0xff00 24,0xff00 25,0xff00 26,0xff00 26,0xff00 31,0xff00 40,0x802020 57,0x802020 55,0x802020 67,0x802020 66,0x802020 59,0x802020 44,0x802020 57,0x802020 63,0x802020 74,0xffffff 101,0xffffff 93,0xffffff 77,0xffffff 68,0x802020 62,0x802020 55,0x802020 59,0x802020 59,0x802020 52,0x802020 44,0x802020 50,0x802020 43,0x802020 58,0x802020 72,0xffffff 78,0xffffff 76,0xffffff 117,0xffffff 105,0xffffff 111,0xffffff 107,0xffffff 138,0xffffff 134,0xffffff 150,0xffffff 131,0xffffff 143,0xffffff 160,0xffffff 138,0xffffff 130,0xffffff 142,0xffffff 107,0xffffff 109,0xffffff 105,0xffffff 94,0xffffff 75,0xffffff 51,0x802020 50,0x802020 60,0x802020 56,0x802020 46,0x802020 53,0x802020 48,0x802020 57,0x802020 44,0x802020 39,0xff00 34,0xff00 33,0xff00 36,0xff00 37,0xff00 32,0xff00 31,0xff00 32,0xff00 36,0xff00 31,0xff00 35,0xff00 43,0x802020 46,0x802020 57,0x802020 60,0x802020 81,0xffffff 102,0xffffff 110,0xffffff 107,0xffffff 92,0xffffff 85,0xffffff 96,0xffffff 105,0xffffff 104,0xffffff 112,0xffffff 132,0xffffff 139,0xffffff 170,0xffffff 161,0xffffff 130,0xffffff 136,0xffffff 159,0xffffff 155,0xffffff 188,0xffffff 182,0xffffff 153,0xffffff 107,0xffffff 87,0xffffff 98,0xffffff 106,0xffffff 81,0xffffff 86,0xffffff 96,0xffffff 101,0xffffff 109,0xffffff 88,0xffffff 101,0xffffff 113,0xffffff 128,0xffffff 133,0xffffff 136,0xffffff 121,0xffffff 87,0xffffff 113,0xffffff 129,0xffffff 142,0xffffff 149,0xffffff 169,0xffffff 162,0xffffff 155,0xffffff 169,0xffffff 173,0xffffff 168,0xffffff 129,0xffffff 145,0xffffff 166,0xffffff 165,0xffffff 177,0xffffff 183,0xffffff 127,0xffffff 125,0xffffff 104,0xffffff 117,0xffffff 104,0xffffff 124,0xffffff 159,0xffffff 163,0xffffff 109,0xffffff 142,0xffffff 117,0xffffff 107,0xffffff 139,0xffffff 119,0xffffff 153,0xffffff 165,0xffffff 150,0xffffff 122,0xffffff 141,0xffffff 143,0xffffff 162,0xffffff + 0,0xff 0,0xff 0,0xff 4,0xff 6,0xff00 5,0xff00 9,0xff00 7,0xff00 6,0xff00 4,0xff 2,0xff 0,0xff 0,0xff 0,0xff 1,0xff 1,0xff 0,0xff 2,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 1,0xff 1,0xff 1,0xff 1,0xff 4,0xff 6,0xff00 9,0xff00 14,0xff00 16,0xff00 22,0xff00 28,0xff00 27,0xff00 24,0xff00 21,0xff00 26,0xff00 26,0xff00 23,0xff00 25,0xff00 25,0xff00 20,0xff00 21,0xff00 28,0xff00 31,0xff00 27,0xff00 23,0xff00 21,0xff00 23,0xff00 27,0xff00 24,0xff00 26,0xff00 32,0xff00 52,0x802020 67,0x802020 82,0xffffff 77,0xffffff 69,0x802020 58,0x802020 46,0x802020 63,0x802020 64,0x802020 106,0xffffff 96,0xffffff 81,0xffffff 53,0x802020 75,0xffffff 65,0x802020 50,0x802020 50,0x802020 57,0x802020 42,0x802020 46,0x802020 59,0x802020 50,0x802020 69,0x802020 69,0x802020 59,0x802020 87,0xffffff 117,0xffffff 118,0xffffff 114,0xffffff 98,0xffffff 123,0xffffff 143,0xffffff 147,0xffffff 123,0xffffff 135,0xffffff 150,0xffffff 126,0xffffff 125,0xffffff 137,0xffffff 139,0xffffff 132,0xffffff 117,0xffffff 82,0xffffff 54,0x802020 46,0x802020 53,0x802020 56,0x802020 46,0x802020 46,0x802020 56,0x802020 44,0x802020 45,0x802020 39,0xff00 35,0xff00 32,0xff00 37,0xff00 38,0xff00 34,0xff00 30,0xff00 28,0xff00 30,0xff00 37,0xff00 33,0xff00 39,0xff00 42,0x802020 54,0x802020 48,0x802020 70,0xffffff 85,0xffffff 98,0xffffff 102,0xffffff 114,0xffffff 111,0xffffff 114,0xffffff 102,0xffffff 101,0xffffff 113,0xffffff 126,0xffffff 163,0xffffff 150,0xffffff 172,0xffffff 157,0xffffff 108,0xffffff 131,0xffffff 153,0xffffff 164,0xffffff 195,0xffffff 167,0xffffff 150,0xffffff 111,0xffffff 108,0xffffff 100,0xffffff 117,0xffffff 83,0xffffff 106,0xffffff 95,0xffffff 106,0xffffff 110,0xffffff 87,0xffffff 124,0xffffff 120,0xffffff 106,0xffffff 97,0xffffff 109,0xffffff 100,0xffffff 88,0xffffff 112,0xffffff 122,0xffffff 161,0xffffff 175,0xffffff 157,0xffffff 161,0xffffff 171,0xffffff 177,0xffffff 162,0xffffff 165,0xffffff 131,0xffffff 146,0xffffff 174,0xffffff 165,0xffffff 167,0xffffff 150,0xffffff 124,0xffffff 121,0xffffff 110,0xffffff 89,0xffffff 108,0xffffff 140,0xffffff 136,0xffffff 162,0xffffff 138,0xffffff 141,0xffffff 151,0xffffff 139,0xffffff 154,0xffffff 132,0xffffff 159,0xffffff 147,0xffffff 138,0xffffff 110,0xffffff 139,0xffffff 156,0xffffff 163,0xffffff + 1,0xff 1,0xff 0,0xff 2,0xff 4,0xff 2,0xff 6,0xff00 4,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 1,0xff 2,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 1,0xff 0,0xff 0,0xff 1,0xff 8,0xff00 9,0xff00 14,0xff00 19,0xff00 19,0xff00 18,0xff00 22,0xff00 22,0xff00 23,0xff00 26,0xff00 25,0xff00 24,0xff00 19,0xff00 19,0xff00 20,0xff00 19,0xff00 24,0xff00 30,0xff00 27,0xff00 28,0xff00 27,0xff00 25,0xff00 23,0xff00 26,0xff00 26,0xff00 29,0xff00 37,0xff00 55,0x802020 73,0xffffff 62,0x802020 58,0x802020 59,0x802020 64,0x802020 83,0xffffff 90,0xffffff 88,0xffffff 116,0xffffff 81,0xffffff 69,0x802020 54,0x802020 60,0x802020 55,0x802020 43,0x802020 41,0x802020 52,0x802020 55,0x802020 52,0x802020 56,0x802020 62,0x802020 62,0x802020 53,0x802020 72,0xffffff 68,0x802020 91,0xffffff 108,0xffffff 100,0xffffff 101,0xffffff 145,0xffffff 157,0xffffff 149,0xffffff 134,0xffffff 149,0xffffff 137,0xffffff 149,0xffffff 135,0xffffff 112,0xffffff 122,0xffffff 80,0xffffff 78,0xffffff 52,0x802020 40,0x802020 47,0x802020 43,0x802020 43,0x802020 36,0xff00 33,0xff00 40,0x802020 40,0x802020 39,0xff00 36,0xff00 31,0xff00 33,0xff00 38,0xff00 35,0xff00 33,0xff00 31,0xff00 29,0xff00 30,0xff00 33,0xff00 35,0xff00 46,0x802020 51,0x802020 47,0x802020 50,0x802020 64,0x802020 98,0xffffff 81,0xffffff 110,0xffffff 115,0xffffff 107,0xffffff 116,0xffffff 100,0xffffff 129,0xffffff 141,0xffffff 169,0xffffff 177,0xffffff 145,0xffffff 167,0xffffff 119,0xffffff 111,0xffffff 102,0xffffff 123,0xffffff 139,0xffffff 151,0xffffff 122,0xffffff 128,0xffffff 111,0xffffff 91,0xffffff 67,0x802020 85,0xffffff 58,0x802020 83,0xffffff 79,0xffffff 71,0xffffff 80,0xffffff 101,0xffffff 109,0xffffff 125,0xffffff 115,0xffffff 94,0xffffff 107,0xffffff 85,0xffffff 103,0xffffff 135,0xffffff 142,0xffffff 192,0xffffff 183,0xffffff 172,0xffffff 175,0xffffff 150,0xffffff 163,0xffffff 152,0xffffff 132,0xffffff 149,0xffffff 156,0xffffff 152,0xffffff 149,0xffffff 137,0xffffff 144,0xffffff 123,0xffffff 104,0xffffff 129,0xffffff 108,0xffffff 150,0xffffff 160,0xffffff 147,0xffffff 177,0xffffff 166,0xffffff 159,0xffffff 136,0xffffff 113,0xffffff 137,0xffffff 166,0xffffff 152,0xffffff 156,0xffffff 123,0xffffff 100,0xffffff 141,0xffffff 140,0xffffff 162,0xffffff + 0,0xff 0,0xff 0,0xff 1,0xff 1,0xff 1,0xff 2,0xff 1,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 2,0xff 2,0xff 1,0xff 1,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 1,0xff 1,0xff 1,0xff 0,0xff 0,0xff 2,0xff 4,0xff 12,0xff00 13,0xff00 19,0xff00 19,0xff00 17,0xff00 16,0xff00 22,0xff00 22,0xff00 27,0xff00 28,0xff00 25,0xff00 24,0xff00 22,0xff00 20,0xff00 24,0xff00 24,0xff00 24,0xff00 25,0xff00 25,0xff00 24,0xff00 26,0xff00 20,0xff00 24,0xff00 27,0xff00 31,0xff00 35,0xff00 52,0x802020 62,0x802020 66,0x802020 58,0x802020 77,0xffffff 83,0xffffff 104,0xffffff 101,0xffffff 72,0xffffff 75,0xffffff 80,0xffffff 55,0x802020 50,0x802020 42,0x802020 49,0x802020 43,0x802020 42,0x802020 40,0x802020 51,0x802020 56,0x802020 46,0x802020 55,0x802020 53,0x802020 59,0x802020 63,0x802020 66,0x802020 57,0x802020 83,0xffffff 121,0xffffff 108,0xffffff 108,0xffffff 137,0xffffff 163,0xffffff 146,0xffffff 130,0xffffff 146,0xffffff 127,0xffffff 143,0xffffff 132,0xffffff 115,0xffffff 85,0xffffff 66,0x802020 64,0x802020 47,0x802020 49,0x802020 45,0x802020 37,0xff00 36,0xff00 31,0xff00 44,0x802020 43,0x802020 41,0x802020 37,0xff00 35,0xff00 28,0xff00 33,0xff00 34,0xff00 35,0xff00 32,0xff00 32,0xff00 36,0xff00 37,0xff00 41,0x802020 47,0x802020 52,0x802020 42,0x802020 40,0x802020 52,0x802020 61,0x802020 74,0xffffff 71,0xffffff 112,0xffffff 100,0xffffff 105,0xffffff 95,0xffffff 123,0xffffff 149,0xffffff 140,0xffffff 153,0xffffff 152,0xffffff 150,0xffffff 163,0xffffff 125,0xffffff 132,0xffffff 139,0xffffff 153,0xffffff 135,0xffffff 153,0xffffff 122,0xffffff 98,0xffffff 110,0xffffff 88,0xffffff 70,0xffffff 65,0x802020 58,0x802020 103,0xffffff 78,0xffffff 91,0xffffff 95,0xffffff 126,0xffffff 136,0xffffff 118,0xffffff 124,0xffffff 122,0xffffff 118,0xffffff 102,0xffffff 110,0xffffff 161,0xffffff 189,0xffffff 192,0xffffff 190,0xffffff 171,0xffffff 142,0xffffff 149,0xffffff 146,0xffffff 150,0xffffff 111,0xffffff 121,0xffffff 123,0xffffff 132,0xffffff 159,0xffffff 139,0xffffff 132,0xffffff 112,0xffffff 125,0xffffff 129,0xffffff 144,0xffffff 168,0xffffff 171,0xffffff 163,0xffffff 137,0xffffff 144,0xffffff 163,0xffffff 158,0xffffff 135,0xffffff 137,0xffffff 162,0xffffff 146,0xffffff 137,0xffffff 98,0xffffff 109,0xffffff 130,0xffffff 146,0xffffff 159,0xffffff + 0,0xff 0,0xff 1,0xff 1,0xff 0,0xff 2,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 1,0xff 1,0xff 0,0xff 1,0xff 2,0xff 1,0xff 0,0xff 0,0xff 1,0xff 4,0xff 4,0xff 8,0xff00 11,0xff00 15,0xff00 17,0xff00 16,0xff00 14,0xff00 21,0xff00 19,0xff00 19,0xff00 20,0xff00 21,0xff00 21,0xff00 22,0xff00 25,0xff00 26,0xff00 26,0xff00 26,0xff00 25,0xff00 24,0xff00 29,0xff00 28,0xff00 28,0xff00 31,0xff00 36,0xff00 41,0x802020 50,0x802020 57,0x802020 61,0x802020 69,0x802020 68,0x802020 82,0xffffff 78,0xffffff 108,0xffffff 86,0xffffff 65,0x802020 56,0x802020 55,0x802020 39,0xff00 41,0x802020 38,0xff00 51,0x802020 47,0x802020 40,0x802020 37,0xff00 50,0x802020 53,0x802020 46,0x802020 51,0x802020 48,0x802020 49,0x802020 75,0xffffff 81,0xffffff 89,0xffffff 92,0xffffff 142,0xffffff 132,0xffffff 118,0xffffff 137,0xffffff 133,0xffffff 146,0xffffff 133,0xffffff 120,0xffffff 131,0xffffff 115,0xffffff 103,0xffffff 90,0xffffff 65,0x802020 50,0x802020 50,0x802020 41,0x802020 48,0x802020 43,0x802020 35,0xff00 34,0xff00 31,0xff00 37,0xff00 36,0xff00 37,0xff00 35,0xff00 33,0xff00 27,0xff00 32,0xff00 33,0xff00 33,0xff00 39,0xff00 41,0x802020 49,0x802020 47,0x802020 43,0x802020 41,0x802020 44,0x802020 44,0x802020 54,0x802020 53,0x802020 68,0x802020 59,0x802020 88,0xffffff 91,0xffffff 97,0xffffff 91,0xffffff 94,0xffffff 127,0xffffff 128,0xffffff 127,0xffffff 163,0xffffff 138,0xffffff 130,0xffffff 115,0xffffff 113,0xffffff 128,0xffffff 134,0xffffff 142,0xffffff 143,0xffffff 125,0xffffff 97,0xffffff 112,0xffffff 88,0xffffff 79,0xffffff 66,0x802020 60,0x802020 64,0x802020 109,0xffffff 104,0xffffff 107,0xffffff 108,0xffffff 110,0xffffff 112,0xffffff 89,0xffffff 81,0xffffff 81,0xffffff 91,0xffffff 112,0xffffff 158,0xffffff 189,0xffffff 186,0xffffff 184,0xffffff 150,0xffffff 144,0xffffff 162,0xffffff 166,0xffffff 152,0xffffff 145,0xffffff 107,0xffffff 128,0xffffff 101,0xffffff 118,0xffffff 132,0xffffff 153,0xffffff 134,0xffffff 114,0xffffff 146,0xffffff 143,0xffffff 168,0xffffff 148,0xffffff 136,0xffffff 136,0xffffff 128,0xffffff 145,0xffffff 150,0xffffff 161,0xffffff 124,0xffffff 132,0xffffff 161,0xffffff 153,0xffffff 120,0xffffff 94,0xffffff 97,0xffffff 129,0xffffff 145,0xffffff 158,0xffffff + 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 1,0xff 1,0xff 0,0xff 0,0xff 2,0xff 2,0xff 2,0xff 2,0xff 1,0xff 0,0xff 1,0xff 4,0xff 8,0xff00 6,0xff00 9,0xff00 16,0xff00 15,0xff00 12,0xff00 15,0xff00 21,0xff00 18,0xff00 17,0xff00 22,0xff00 22,0xff00 23,0xff00 22,0xff00 21,0xff00 26,0xff00 23,0xff00 21,0xff00 23,0xff00 23,0xff00 27,0xff00 28,0xff00 32,0xff00 38,0xff00 41,0x802020 53,0x802020 85,0xffffff 74,0xffffff 104,0xffffff 108,0xffffff 111,0xffffff 111,0xffffff 107,0xffffff 93,0xffffff 70,0xffffff 55,0x802020 39,0xff00 41,0x802020 33,0xff00 34,0xff00 36,0xff00 36,0xff00 41,0x802020 38,0xff00 48,0x802020 55,0x802020 42,0x802020 36,0xff00 42,0x802020 44,0x802020 58,0x802020 71,0xffffff 66,0x802020 87,0xffffff 86,0xffffff 106,0xffffff 108,0xffffff 98,0xffffff 123,0xffffff 119,0xffffff 149,0xffffff 110,0xffffff 101,0xffffff 114,0xffffff 84,0xffffff 71,0xffffff 75,0xffffff 45,0x802020 45,0x802020 42,0x802020 52,0x802020 49,0x802020 41,0x802020 34,0xff00 34,0xff00 33,0xff00 32,0xff00 31,0xff00 32,0xff00 32,0xff00 26,0xff00 24,0xff00 26,0xff00 29,0xff00 31,0xff00 40,0x802020 48,0x802020 48,0x802020 43,0x802020 38,0xff00 39,0xff00 49,0x802020 50,0x802020 52,0x802020 50,0x802020 59,0x802020 70,0xffffff 69,0x802020 70,0xffffff 97,0xffffff 100,0xffffff 133,0xffffff 149,0xffffff 125,0xffffff 123,0xffffff 137,0xffffff 142,0xffffff 113,0xffffff 109,0xffffff 112,0xffffff 105,0xffffff 120,0xffffff 139,0xffffff 107,0xffffff 107,0xffffff 105,0xffffff 77,0xffffff 92,0xffffff 83,0xffffff 101,0xffffff 101,0xffffff 94,0xffffff 91,0xffffff 108,0xffffff 93,0xffffff 106,0xffffff 81,0xffffff 78,0xffffff 61,0x802020 82,0xffffff 106,0xffffff 129,0xffffff 145,0xffffff 190,0xffffff 201,0xffffff 197,0xffffff 171,0xffffff 132,0xffffff 138,0xffffff 156,0xffffff 181,0xffffff 174,0xffffff 152,0xffffff 126,0xffffff 102,0xffffff 119,0xffffff 119,0xffffff 123,0xffffff 150,0xffffff 131,0xffffff 131,0xffffff 133,0xffffff 147,0xffffff 145,0xffffff 131,0xffffff 122,0xffffff 159,0xffffff 163,0xffffff 154,0xffffff 146,0xffffff 167,0xffffff 137,0xffffff 121,0xffffff 155,0xffffff 152,0xffffff 107,0xffffff 110,0xffffff 118,0xffffff 138,0xffffff 143,0xffffff 160,0xffffff + 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 1,0xff 0,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 1,0xff 2,0xff 2,0xff 2,0xff 2,0xff 0,0xff 0,0xff 0,0xff 1,0xff 7,0xff00 4,0xff 11,0xff00 13,0xff00 8,0xff00 9,0xff00 11,0xff00 14,0xff00 12,0xff00 15,0xff00 21,0xff00 19,0xff00 17,0xff00 19,0xff00 24,0xff00 22,0xff00 23,0xff00 20,0xff00 24,0xff00 23,0xff00 30,0xff00 28,0xff00 31,0xff00 38,0xff00 46,0x802020 55,0x802020 89,0xffffff 90,0xffffff 80,0xffffff 105,0xffffff 128,0xffffff 127,0xffffff 97,0xffffff 69,0x802020 64,0x802020 46,0x802020 34,0xff00 33,0xff00 34,0xff00 33,0xff00 33,0xff00 38,0xff00 43,0x802020 40,0x802020 38,0xff00 47,0x802020 39,0xff00 36,0xff00 47,0x802020 50,0x802020 56,0x802020 65,0x802020 70,0xffffff 87,0xffffff 83,0xffffff 97,0xffffff 79,0xffffff 86,0xffffff 94,0xffffff 114,0xffffff 153,0xffffff 124,0xffffff 123,0xffffff 111,0xffffff 77,0xffffff 69,0x802020 66,0x802020 54,0x802020 47,0x802020 46,0x802020 47,0x802020 39,0xff00 33,0xff00 28,0xff00 29,0xff00 30,0xff00 27,0xff00 28,0xff00 30,0xff00 28,0xff00 27,0xff00 25,0xff00 25,0xff00 30,0xff00 29,0xff00 47,0x802020 53,0x802020 46,0x802020 40,0x802020 51,0x802020 48,0x802020 61,0x802020 55,0x802020 58,0x802020 62,0x802020 91,0xffffff 92,0xffffff 86,0xffffff 93,0xffffff 88,0xffffff 100,0xffffff 125,0xffffff 146,0xffffff 103,0xffffff 110,0xffffff 116,0xffffff 120,0xffffff 100,0xffffff 89,0xffffff 115,0xffffff 85,0xffffff 101,0xffffff 127,0xffffff 116,0xffffff 79,0xffffff 84,0xffffff 84,0xffffff 85,0xffffff 112,0xffffff 104,0xffffff 113,0xffffff 105,0xffffff 112,0xffffff 119,0xffffff 105,0xffffff 85,0xffffff 51,0x802020 71,0xffffff 70,0xffffff 99,0xffffff 114,0xffffff 136,0xffffff 193,0xffffff 201,0xffffff 202,0xffffff 186,0xffffff 145,0xffffff 147,0xffffff 148,0xffffff 177,0xffffff 151,0xffffff 141,0xffffff 145,0xffffff 105,0xffffff 114,0xffffff 138,0xffffff 110,0xffffff 113,0xffffff 141,0xffffff 137,0xffffff 162,0xffffff 167,0xffffff 162,0xffffff 160,0xffffff 139,0xffffff 125,0xffffff 144,0xffffff 139,0xffffff 122,0xffffff 139,0xffffff 156,0xffffff 135,0xffffff 107,0xffffff 113,0xffffff 112,0xffffff 84,0xffffff 107,0xffffff 109,0xffffff 126,0xffffff 131,0xffffff 156,0xffffff + 0,0xff 0,0xff 1,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 1,0xff 1,0xff 1,0xff 2,0xff 2,0xff 1,0xff 0,0xff 0,0xff 1,0xff 0,0xff 2,0xff 2,0xff 4,0xff 3,0xff 7,0xff00 12,0xff00 7,0xff00 12,0xff00 9,0xff00 13,0xff00 12,0xff00 17,0xff00 14,0xff00 14,0xff00 17,0xff00 22,0xff00 20,0xff00 19,0xff00 19,0xff00 20,0xff00 20,0xff00 21,0xff00 27,0xff00 32,0xff00 38,0xff00 39,0xff00 51,0x802020 62,0x802020 65,0x802020 76,0xffffff 67,0x802020 82,0xffffff 91,0xffffff 93,0xffffff 87,0xffffff 66,0x802020 50,0x802020 40,0x802020 33,0xff00 30,0xff00 31,0xff00 31,0xff00 35,0xff00 35,0xff00 37,0xff00 41,0x802020 49,0x802020 49,0x802020 42,0x802020 49,0x802020 55,0x802020 52,0x802020 52,0x802020 66,0x802020 57,0x802020 82,0xffffff 101,0xffffff 115,0xffffff 89,0xffffff 131,0xffffff 130,0xffffff 137,0xffffff 114,0xffffff 119,0xffffff 107,0xffffff 82,0xffffff 67,0x802020 69,0x802020 61,0x802020 41,0x802020 43,0x802020 42,0x802020 41,0x802020 36,0xff00 32,0xff00 30,0xff00 29,0xff00 24,0xff00 23,0xff00 22,0xff00 22,0xff00 23,0xff00 25,0xff00 25,0xff00 29,0xff00 27,0xff00 30,0xff00 48,0x802020 55,0x802020 44,0x802020 45,0x802020 41,0x802020 51,0x802020 65,0x802020 54,0x802020 78,0xffffff 80,0xffffff 101,0xffffff 81,0xffffff 91,0xffffff 89,0xffffff 73,0xffffff 103,0xffffff 130,0xffffff 101,0xffffff 75,0xffffff 92,0xffffff 107,0xffffff 107,0xffffff 89,0xffffff 72,0xffffff 85,0xffffff 102,0xffffff 92,0xffffff 106,0xffffff 108,0xffffff 71,0xffffff 113,0xffffff 110,0xffffff 125,0xffffff 124,0xffffff 105,0xffffff 126,0xffffff 99,0xffffff 86,0xffffff 104,0xffffff 94,0xffffff 68,0x802020 66,0x802020 68,0x802020 91,0xffffff 135,0xffffff 146,0xffffff 155,0xffffff 209,0xffffff 210,0xffffff 184,0xffffff 166,0xffffff 139,0xffffff 162,0xffffff 180,0xffffff 187,0xffffff 160,0xffffff 149,0xffffff 109,0xffffff 99,0xffffff 97,0xffffff 116,0xffffff 138,0xffffff 123,0xffffff 155,0xffffff 122,0xffffff 138,0xffffff 141,0xffffff 126,0xffffff 119,0xffffff 112,0xffffff 110,0xffffff 134,0xffffff 120,0xffffff 114,0xffffff 111,0xffffff 124,0xffffff 136,0xffffff 103,0xffffff 84,0xffffff 102,0xffffff 82,0xffffff 129,0xffffff 121,0xffffff 151,0xffffff 155,0xffffff 155,0xffffff + 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 1,0xff 1,0xff 0,0xff 1,0xff 0,0xff 0,0xff 1,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 2,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 2,0xff 4,0xff 8,0xff00 7,0xff00 13,0xff00 10,0xff00 10,0xff00 10,0xff00 9,0xff00 12,0xff00 11,0xff00 13,0xff00 13,0xff00 19,0xff00 19,0xff00 18,0xff00 15,0xff00 15,0xff00 17,0xff00 20,0xff00 23,0xff00 31,0xff00 31,0xff00 38,0xff00 33,0xff00 44,0x802020 52,0x802020 62,0x802020 99,0xffffff 89,0xffffff 76,0xffffff 75,0xffffff 71,0xffffff 77,0xffffff 53,0x802020 40,0x802020 36,0xff00 33,0xff00 32,0xff00 32,0xff00 31,0xff00 31,0xff00 32,0xff00 35,0xff00 33,0xff00 40,0x802020 36,0xff00 43,0x802020 45,0x802020 46,0x802020 39,0xff00 40,0x802020 71,0xffffff 65,0x802020 60,0x802020 89,0xffffff 98,0xffffff 95,0xffffff 138,0xffffff 132,0xffffff 143,0xffffff 137,0xffffff 121,0xffffff 76,0xffffff 61,0x802020 59,0x802020 62,0x802020 51,0x802020 36,0xff00 38,0xff00 38,0xff00 34,0xff00 36,0xff00 30,0xff00 23,0xff00 24,0xff00 18,0xff00 18,0xff00 22,0xff00 24,0xff00 23,0xff00 26,0xff00 32,0xff00 33,0xff00 31,0xff00 43,0x802020 51,0x802020 49,0x802020 54,0x802020 56,0x802020 56,0x802020 67,0x802020 76,0xffffff 74,0xffffff 76,0xffffff 90,0xffffff 97,0xffffff 86,0xffffff 90,0xffffff 109,0xffffff 81,0xffffff 102,0xffffff 98,0xffffff 80,0xffffff 106,0xffffff 93,0xffffff 83,0xffffff 68,0x802020 73,0xffffff 101,0xffffff 104,0xffffff 111,0xffffff 99,0xffffff 80,0xffffff 88,0xffffff 107,0xffffff 116,0xffffff 135,0xffffff 122,0xffffff 124,0xffffff 86,0xffffff 113,0xffffff 74,0xffffff 79,0xffffff 67,0x802020 77,0xffffff 59,0x802020 77,0xffffff 82,0xffffff 135,0xffffff 153,0xffffff 160,0xffffff 191,0xffffff 220,0xffffff 209,0xffffff 187,0xffffff 157,0xffffff 146,0xffffff 153,0xffffff 150,0xffffff 142,0xffffff 148,0xffffff 146,0xffffff 134,0xffffff 111,0xffffff 91,0xffffff 117,0xffffff 143,0xffffff 159,0xffffff 162,0xffffff 150,0xffffff 161,0xffffff 140,0xffffff 124,0xffffff 136,0xffffff 121,0xffffff 132,0xffffff 134,0xffffff 142,0xffffff 123,0xffffff 108,0xffffff 137,0xffffff 114,0xffffff 80,0xffffff 68,0x802020 82,0xffffff 96,0xffffff 125,0xffffff 151,0xffffff 182,0xffffff 165,0xffffff 158,0xffffff + 1,0xff 0,0xff 0,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 2,0xff 1,0xff 1,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 2,0xff 5,0xff00 7,0xff00 11,0xff00 10,0xff00 6,0xff00 8,0xff00 12,0xff00 11,0xff00 10,0xff00 16,0xff00 15,0xff00 18,0xff00 21,0xff00 19,0xff00 14,0xff00 15,0xff00 18,0xff00 23,0xff00 25,0xff00 25,0xff00 32,0xff00 35,0xff00 37,0xff00 48,0x802020 48,0x802020 57,0x802020 78,0xffffff 115,0xffffff 99,0xffffff 70,0xffffff 64,0x802020 68,0x802020 64,0x802020 48,0x802020 39,0xff00 32,0xff00 30,0xff00 33,0xff00 28,0xff00 28,0xff00 29,0xff00 33,0xff00 33,0xff00 34,0xff00 38,0xff00 36,0xff00 40,0x802020 41,0x802020 41,0x802020 50,0x802020 62,0x802020 68,0x802020 82,0xffffff 88,0xffffff 115,0xffffff 110,0xffffff 104,0xffffff 119,0xffffff 121,0xffffff 124,0xffffff 147,0xffffff 112,0xffffff 76,0xffffff 65,0x802020 55,0x802020 46,0x802020 38,0xff00 34,0xff00 40,0x802020 38,0xff00 36,0xff00 32,0xff00 25,0xff00 26,0xff00 23,0xff00 16,0xff00 16,0xff00 21,0xff00 26,0xff00 25,0xff00 24,0xff00 29,0xff00 31,0xff00 30,0xff00 38,0xff00 49,0x802020 56,0x802020 52,0x802020 56,0x802020 67,0x802020 74,0xffffff 79,0xffffff 76,0xffffff 69,0x802020 112,0xffffff 98,0xffffff 119,0xffffff 106,0xffffff 90,0xffffff 79,0xffffff 115,0xffffff 91,0xffffff 115,0xffffff 107,0xffffff 85,0xffffff 87,0xffffff 115,0xffffff 115,0xffffff 113,0xffffff 120,0xffffff 119,0xffffff 98,0xffffff 86,0xffffff 125,0xffffff 121,0xffffff 129,0xffffff 122,0xffffff 137,0xffffff 124,0xffffff 97,0xffffff 90,0xffffff 76,0xffffff 76,0xffffff 63,0x802020 64,0x802020 68,0x802020 124,0xffffff 134,0xffffff 156,0xffffff 139,0xffffff 156,0xffffff 189,0xffffff 223,0xffffff 201,0xffffff 181,0xffffff 149,0xffffff 149,0xffffff 133,0xffffff 138,0xffffff 163,0xffffff 144,0xffffff 142,0xffffff 105,0xffffff 120,0xffffff 131,0xffffff 152,0xffffff 166,0xffffff 152,0xffffff 148,0xffffff 149,0xffffff 175,0xffffff 142,0xffffff 132,0xffffff 142,0xffffff 133,0xffffff 111,0xffffff 120,0xffffff 143,0xffffff 128,0xffffff 118,0xffffff 109,0xffffff 92,0xffffff 75,0xffffff 83,0xffffff 119,0xffffff 115,0xffffff 141,0xffffff 180,0xffffff 179,0xffffff 148,0xffffff 155,0xffffff + 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 3,0xff 2,0xff 3,0xff 4,0xff 6,0xff00 5,0xff00 9,0xff00 9,0xff00 7,0xff00 10,0xff00 15,0xff00 17,0xff00 18,0xff00 22,0xff00 18,0xff00 14,0xff00 18,0xff00 20,0xff00 26,0xff00 27,0xff00 28,0xff00 33,0xff00 32,0xff00 46,0x802020 56,0x802020 53,0x802020 49,0x802020 59,0x802020 74,0xffffff 78,0xffffff 70,0xffffff 56,0x802020 64,0x802020 47,0x802020 40,0x802020 34,0xff00 26,0xff00 27,0xff00 26,0xff00 26,0xff00 25,0xff00 31,0xff00 33,0xff00 28,0xff00 32,0xff00 36,0xff00 35,0xff00 33,0xff00 34,0xff00 41,0x802020 61,0x802020 57,0x802020 47,0x802020 73,0xffffff 101,0xffffff 112,0xffffff 107,0xffffff 95,0xffffff 96,0xffffff 102,0xffffff 97,0xffffff 120,0xffffff 82,0xffffff 67,0x802020 51,0x802020 38,0xff00 42,0x802020 37,0xff00 35,0xff00 39,0xff00 36,0xff00 33,0xff00 25,0xff00 22,0xff00 21,0xff00 18,0xff00 19,0xff00 22,0xff00 26,0xff00 28,0xff00 27,0xff00 24,0xff00 27,0xff00 34,0xff00 37,0xff00 39,0xff00 52,0x802020 66,0x802020 58,0x802020 76,0xffffff 89,0xffffff 92,0xffffff 89,0xffffff 91,0xffffff 74,0xffffff 88,0xffffff 92,0xffffff 102,0xffffff 102,0xffffff 101,0xffffff 88,0xffffff 130,0xffffff 124,0xffffff 111,0xffffff 80,0xffffff 71,0xffffff 83,0xffffff 96,0xffffff 115,0xffffff 95,0xffffff 82,0xffffff 86,0xffffff 82,0xffffff 110,0xffffff 104,0xffffff 122,0xffffff 142,0xffffff 136,0xffffff 128,0xffffff 125,0xffffff 111,0xffffff 79,0xffffff 63,0x802020 76,0xffffff 67,0x802020 64,0x802020 111,0xffffff 130,0xffffff 133,0xffffff 171,0xffffff 165,0xffffff 164,0xffffff 189,0xffffff 205,0xffffff 172,0xffffff 150,0xffffff 149,0xffffff 146,0xffffff 109,0xffffff 132,0xffffff 133,0xffffff 115,0xffffff 108,0xffffff 119,0xffffff 110,0xffffff 141,0xffffff 161,0xffffff 139,0xffffff 161,0xffffff 151,0xffffff 147,0xffffff 158,0xffffff 125,0xffffff 124,0xffffff 147,0xffffff 150,0xffffff 127,0xffffff 108,0xffffff 145,0xffffff 121,0xffffff 86,0xffffff 73,0xffffff 80,0xffffff 59,0x802020 80,0xffffff 116,0xffffff 108,0xffffff 135,0xffffff 173,0xffffff 173,0xffffff 145,0xffffff 154,0xffffff + 0,0xff 1,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 1,0xff 0,0xff 4,0xff 3,0xff 2,0xff 3,0xff 4,0xff 4,0xff 4,0xff 7,0xff00 3,0xff 8,0xff00 13,0xff00 16,0xff00 22,0xff00 20,0xff00 20,0xff00 17,0xff00 21,0xff00 23,0xff00 27,0xff00 30,0xff00 31,0xff00 36,0xff00 40,0x802020 52,0x802020 67,0x802020 86,0xffffff 89,0xffffff 84,0xffffff 75,0xffffff 62,0x802020 52,0x802020 49,0x802020 53,0x802020 38,0xff00 31,0xff00 29,0xff00 29,0xff00 28,0xff00 24,0xff00 28,0xff00 25,0xff00 32,0xff00 28,0xff00 29,0xff00 33,0xff00 31,0xff00 29,0xff00 30,0xff00 36,0xff00 56,0x802020 58,0x802020 91,0xffffff 91,0xffffff 110,0xffffff 104,0xffffff 101,0xffffff 87,0xffffff 115,0xffffff 127,0xffffff 110,0xffffff 90,0xffffff 112,0xffffff 79,0xffffff 64,0x802020 43,0x802020 34,0xff00 37,0xff00 39,0xff00 36,0xff00 34,0xff00 33,0xff00 28,0xff00 20,0xff00 22,0xff00 19,0xff00 21,0xff00 20,0xff00 25,0xff00 30,0xff00 28,0xff00 29,0xff00 25,0xff00 28,0xff00 46,0x802020 41,0x802020 58,0x802020 63,0x802020 61,0x802020 56,0x802020 70,0xffffff 66,0x802020 58,0x802020 74,0xffffff 88,0xffffff 68,0x802020 96,0xffffff 82,0xffffff 109,0xffffff 108,0xffffff 127,0xffffff 134,0xffffff 144,0xffffff 114,0xffffff 90,0xffffff 68,0x802020 54,0x802020 83,0xffffff 100,0xffffff 115,0xffffff 74,0xffffff 67,0x802020 94,0xffffff 83,0xffffff 105,0xffffff 125,0xffffff 133,0xffffff 131,0xffffff 113,0xffffff 104,0xffffff 116,0xffffff 127,0xffffff 102,0xffffff 92,0xffffff 87,0xffffff 103,0xffffff 91,0xffffff 113,0xffffff 138,0xffffff 152,0xffffff 153,0xffffff 141,0xffffff 161,0xffffff 169,0xffffff 167,0xffffff 124,0xffffff 122,0xffffff 123,0xffffff 139,0xffffff 96,0xffffff 105,0xffffff 107,0xffffff 120,0xffffff 96,0xffffff 129,0xffffff 128,0xffffff 128,0xffffff 142,0xffffff 127,0xffffff 142,0xffffff 136,0xffffff 142,0xffffff 141,0xffffff 133,0xffffff 112,0xffffff 128,0xffffff 148,0xffffff 142,0xffffff 124,0xffffff 106,0xffffff 84,0xffffff 60,0x802020 72,0xffffff 65,0x802020 58,0x802020 99,0xffffff 120,0xffffff 159,0xffffff 171,0xffffff 171,0xffffff 149,0xffffff 129,0xffffff 153,0xffffff + 0,0xff 2,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 1,0xff 0,0xff 1,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 1,0xff 1,0xff 2,0xff 2,0xff 5,0xff00 4,0xff 4,0xff 3,0xff 4,0xff 12,0xff00 15,0xff00 20,0xff00 18,0xff00 23,0xff00 23,0xff00 20,0xff00 17,0xff00 20,0xff00 26,0xff00 32,0xff00 35,0xff00 35,0xff00 37,0xff00 71,0xffffff 82,0xffffff 95,0xffffff 102,0xffffff 78,0xffffff 60,0x802020 55,0x802020 47,0x802020 52,0x802020 45,0x802020 33,0xff00 28,0xff00 27,0xff00 27,0xff00 24,0xff00 24,0xff00 25,0xff00 28,0xff00 29,0xff00 24,0xff00 28,0xff00 34,0xff00 34,0xff00 31,0xff00 42,0x802020 49,0x802020 47,0x802020 76,0xffffff 72,0xffffff 104,0xffffff 121,0xffffff 124,0xffffff 125,0xffffff 101,0xffffff 125,0xffffff 124,0xffffff 93,0xffffff 91,0xffffff 91,0xffffff 64,0x802020 61,0x802020 40,0x802020 33,0xff00 39,0xff00 37,0xff00 35,0xff00 32,0xff00 24,0xff00 21,0xff00 14,0xff00 16,0xff00 17,0xff00 17,0xff00 21,0xff00 20,0xff00 24,0xff00 26,0xff00 31,0xff00 27,0xff00 28,0xff00 43,0x802020 55,0x802020 55,0x802020 50,0x802020 42,0x802020 43,0x802020 71,0xffffff 64,0x802020 54,0x802020 86,0xffffff 80,0xffffff 105,0xffffff 99,0xffffff 92,0xffffff 140,0xffffff 140,0xffffff 149,0xffffff 128,0xffffff 128,0xffffff 93,0xffffff 67,0x802020 65,0x802020 58,0x802020 98,0xffffff 90,0xffffff 113,0xffffff 71,0xffffff 58,0x802020 75,0xffffff 62,0x802020 92,0xffffff 105,0xffffff 110,0xffffff 128,0xffffff 83,0xffffff 98,0xffffff 133,0xffffff 104,0xffffff 95,0xffffff 73,0xffffff 59,0x802020 74,0xffffff 93,0xffffff 140,0xffffff 131,0xffffff 156,0xffffff 172,0xffffff 144,0xffffff 153,0xffffff 156,0xffffff 131,0xffffff 118,0xffffff 137,0xffffff 116,0xffffff 135,0xffffff 121,0xffffff 107,0xffffff 85,0xffffff 103,0xffffff 136,0xffffff 143,0xffffff 121,0xffffff 135,0xffffff 173,0xffffff 157,0xffffff 146,0xffffff 135,0xffffff 144,0xffffff 120,0xffffff 121,0xffffff 99,0xffffff 128,0xffffff 162,0xffffff 142,0xffffff 125,0xffffff 92,0xffffff 68,0x802020 58,0x802020 74,0xffffff 61,0x802020 94,0xffffff 105,0xffffff 157,0xffffff 183,0xffffff 168,0xffffff 171,0xffffff 173,0xffffff 158,0xffffff 152,0xffffff + 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 1,0xff 0,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 1,0xff 2,0xff 4,0xff 4,0xff 9,0xff00 9,0xff00 16,0xff00 21,0xff00 21,0xff00 22,0xff00 23,0xff00 21,0xff00 17,0xff00 17,0xff00 18,0xff00 25,0xff00 30,0xff00 30,0xff00 32,0xff00 38,0xff00 87,0xffffff 110,0xffffff 99,0xffffff 104,0xffffff 70,0xffffff 52,0x802020 51,0x802020 41,0x802020 43,0x802020 34,0xff00 32,0xff00 25,0xff00 25,0xff00 23,0xff00 24,0xff00 23,0xff00 30,0xff00 30,0xff00 29,0xff00 34,0xff00 39,0xff00 41,0x802020 43,0x802020 76,0xffffff 81,0xffffff 76,0xffffff 70,0xffffff 106,0xffffff 116,0xffffff 113,0xffffff 126,0xffffff 134,0xffffff 139,0xffffff 129,0xffffff 152,0xffffff 134,0xffffff 96,0xffffff 99,0xffffff 76,0xffffff 51,0x802020 48,0x802020 37,0xff00 35,0xff00 36,0xff00 34,0xff00 33,0xff00 25,0xff00 15,0xff00 14,0xff00 9,0xff00 12,0xff00 13,0xff00 15,0xff00 22,0xff00 19,0xff00 26,0xff00 26,0xff00 29,0xff00 36,0xff00 44,0x802020 43,0x802020 53,0x802020 40,0x802020 46,0x802020 50,0x802020 53,0x802020 101,0xffffff 93,0xffffff 96,0xffffff 105,0xffffff 111,0xffffff 115,0xffffff 113,0xffffff 100,0xffffff 142,0xffffff 135,0xffffff 141,0xffffff 109,0xffffff 118,0xffffff 86,0xffffff 63,0x802020 47,0x802020 78,0xffffff 83,0xffffff 93,0xffffff 97,0xffffff 74,0xffffff 61,0x802020 60,0x802020 82,0xffffff 129,0xffffff 140,0xffffff 128,0xffffff 111,0xffffff 100,0xffffff 85,0xffffff 96,0xffffff 81,0xffffff 88,0xffffff 65,0x802020 90,0xffffff 85,0xffffff 88,0xffffff 134,0xffffff 140,0xffffff 157,0xffffff 174,0xffffff 163,0xffffff 135,0xffffff 137,0xffffff 103,0xffffff 121,0xffffff 112,0xffffff 86,0xffffff 98,0xffffff 88,0xffffff 103,0xffffff 110,0xffffff 114,0xffffff 110,0xffffff 121,0xffffff 111,0xffffff 124,0xffffff 152,0xffffff 125,0xffffff 129,0xffffff 104,0xffffff 100,0xffffff 101,0xffffff 98,0xffffff 92,0xffffff 124,0xffffff 127,0xffffff 127,0xffffff 101,0xffffff 68,0x802020 62,0x802020 104,0xffffff 102,0xffffff 90,0xffffff 105,0xffffff 153,0xffffff 156,0xffffff 173,0xffffff 170,0xffffff 161,0xffffff 149,0xffffff 139,0xffffff 149,0xffffff + 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 3,0xff 4,0xff 11,0xff00 13,0xff00 17,0xff00 23,0xff00 20,0xff00 24,0xff00 25,0xff00 21,0xff00 20,0xff00 17,0xff00 23,0xff00 25,0xff00 32,0xff00 39,0xff00 67,0x802020 76,0xffffff 112,0xffffff 94,0xffffff 64,0x802020 75,0xffffff 58,0x802020 40,0x802020 41,0x802020 32,0xff00 40,0x802020 33,0xff00 31,0xff00 24,0xff00 24,0xff00 26,0xff00 28,0xff00 26,0xff00 27,0xff00 30,0xff00 28,0xff00 36,0xff00 40,0x802020 38,0xff00 34,0xff00 70,0xffffff 66,0x802020 66,0x802020 67,0x802020 93,0xffffff 122,0xffffff 94,0xffffff 125,0xffffff 129,0xffffff 132,0xffffff 132,0xffffff 130,0xffffff 108,0xffffff 90,0xffffff 79,0xffffff 66,0x802020 41,0x802020 38,0xff00 34,0xff00 35,0xff00 34,0xff00 28,0xff00 24,0xff00 20,0xff00 14,0xff00 14,0xff00 10,0xff00 15,0xff00 14,0xff00 21,0xff00 24,0xff00 23,0xff00 24,0xff00 31,0xff00 35,0xff00 35,0xff00 53,0x802020 47,0x802020 40,0x802020 41,0x802020 38,0xff00 51,0x802020 56,0x802020 97,0xffffff 102,0xffffff 101,0xffffff 105,0xffffff 107,0xffffff 105,0xffffff 124,0xffffff 108,0xffffff 112,0xffffff 92,0xffffff 89,0xffffff 77,0xffffff 94,0xffffff 80,0xffffff 68,0x802020 62,0x802020 65,0x802020 77,0xffffff 122,0xffffff 107,0xffffff 73,0xffffff 63,0x802020 95,0xffffff 117,0xffffff 130,0xffffff 138,0xffffff 139,0xffffff 113,0xffffff 89,0xffffff 74,0xffffff 81,0xffffff 67,0x802020 64,0x802020 79,0xffffff 119,0xffffff 129,0xffffff 132,0xffffff 148,0xffffff 145,0xffffff 160,0xffffff 176,0xffffff 165,0xffffff 134,0xffffff 154,0xffffff 134,0xffffff 120,0xffffff 98,0xffffff 77,0xffffff 90,0xffffff 108,0xffffff 110,0xffffff 139,0xffffff 121,0xffffff 107,0xffffff 143,0xffffff 137,0xffffff 145,0xffffff 125,0xffffff 97,0xffffff 107,0xffffff 76,0xffffff 80,0xffffff 80,0xffffff 89,0xffffff 115,0xffffff 146,0xffffff 120,0xffffff 112,0xffffff 110,0xffffff 71,0xffffff 73,0xffffff 127,0xffffff 124,0xffffff 110,0xffffff 126,0xffffff 171,0xffffff 171,0xffffff 194,0xffffff 182,0xffffff 146,0xffffff 160,0xffffff 126,0xffffff 151,0xffffff + 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 1,0xff 3,0xff 4,0xff 7,0xff00 8,0xff00 15,0xff00 18,0xff00 22,0xff00 22,0xff00 16,0xff00 19,0xff00 16,0xff00 16,0xff00 19,0xff00 27,0xff00 35,0xff00 43,0x802020 47,0x802020 44,0x802020 89,0xffffff 106,0xffffff 96,0xffffff 91,0xffffff 70,0xffffff 58,0x802020 50,0x802020 36,0xff00 35,0xff00 34,0xff00 33,0xff00 29,0xff00 26,0xff00 22,0xff00 20,0xff00 24,0xff00 28,0xff00 28,0xff00 29,0xff00 31,0xff00 33,0xff00 33,0xff00 36,0xff00 37,0xff00 50,0x802020 65,0x802020 67,0x802020 70,0xffffff 91,0xffffff 128,0xffffff 129,0xffffff 120,0xffffff 115,0xffffff 123,0xffffff 139,0xffffff 130,0xffffff 133,0xffffff 102,0xffffff 76,0xffffff 67,0x802020 49,0x802020 40,0x802020 33,0xff00 28,0xff00 27,0xff00 28,0xff00 26,0xff00 23,0xff00 17,0xff00 11,0xff00 10,0xff00 11,0xff00 14,0xff00 19,0xff00 18,0xff00 22,0xff00 21,0xff00 23,0xff00 43,0x802020 48,0x802020 51,0x802020 56,0x802020 43,0x802020 36,0xff00 48,0x802020 56,0x802020 61,0x802020 76,0xffffff 75,0xffffff 85,0xffffff 112,0xffffff 112,0xffffff 88,0xffffff 113,0xffffff 83,0xffffff 90,0xffffff 87,0xffffff 93,0xffffff 84,0xffffff 84,0xffffff 76,0xffffff 69,0x802020 65,0x802020 62,0x802020 64,0x802020 82,0xffffff 124,0xffffff 80,0xffffff 52,0x802020 73,0xffffff 108,0xffffff 137,0xffffff 141,0xffffff 110,0xffffff 115,0xffffff 108,0xffffff 85,0xffffff 66,0x802020 60,0x802020 83,0xffffff 117,0xffffff 125,0xffffff 148,0xffffff 147,0xffffff 147,0xffffff 149,0xffffff 165,0xffffff 149,0xffffff 138,0xffffff 144,0xffffff 166,0xffffff 162,0xffffff 148,0xffffff 117,0xffffff 105,0xffffff 87,0xffffff 78,0xffffff 111,0xffffff 99,0xffffff 114,0xffffff 99,0xffffff 98,0xffffff 123,0xffffff 122,0xffffff 133,0xffffff 129,0xffffff 91,0xffffff 79,0xffffff 67,0x802020 70,0xffffff 79,0xffffff 82,0xffffff 98,0xffffff 126,0xffffff 116,0xffffff 84,0xffffff 93,0xffffff 96,0xffffff 95,0xffffff 103,0xffffff 101,0xffffff 121,0xffffff 162,0xffffff 156,0xffffff 166,0xffffff 157,0xffffff 160,0xffffff 146,0xffffff 130,0xffffff 116,0xffffff 149,0xffffff + 0,0xff 0,0xff 0,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 1,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 2,0xff 1,0xff 2,0xff 6,0xff00 6,0xff00 6,0xff00 8,0xff00 7,0xff00 12,0xff00 13,0xff00 15,0xff00 17,0xff00 16,0xff00 14,0xff00 12,0xff00 13,0xff00 19,0xff00 24,0xff00 27,0xff00 31,0xff00 48,0x802020 40,0x802020 74,0xffffff 73,0xffffff 84,0xffffff 77,0xffffff 63,0x802020 56,0x802020 47,0x802020 35,0xff00 29,0xff00 29,0xff00 32,0xff00 33,0xff00 30,0xff00 25,0xff00 23,0xff00 21,0xff00 21,0xff00 26,0xff00 24,0xff00 29,0xff00 28,0xff00 30,0xff00 31,0xff00 36,0xff00 38,0xff00 57,0x802020 62,0x802020 96,0xffffff 77,0xffffff 117,0xffffff 128,0xffffff 110,0xffffff 122,0xffffff 112,0xffffff 123,0xffffff 112,0xffffff 120,0xffffff 135,0xffffff 109,0xffffff 73,0xffffff 55,0x802020 40,0x802020 29,0xff00 27,0xff00 26,0xff00 23,0xff00 23,0xff00 19,0xff00 17,0xff00 16,0xff00 12,0xff00 13,0xff00 13,0xff00 16,0xff00 17,0xff00 23,0xff00 24,0xff00 26,0xff00 27,0xff00 38,0xff00 38,0xff00 45,0x802020 48,0x802020 38,0xff00 36,0xff00 46,0x802020 63,0x802020 53,0x802020 58,0x802020 80,0xffffff 68,0x802020 102,0xffffff 111,0xffffff 117,0xffffff 98,0xffffff 73,0xffffff 87,0xffffff 78,0xffffff 69,0x802020 54,0x802020 72,0xffffff 61,0x802020 61,0x802020 69,0x802020 83,0xffffff 81,0xffffff 93,0xffffff 80,0xffffff 78,0xffffff 91,0xffffff 87,0xffffff 118,0xffffff 120,0xffffff 133,0xffffff 100,0xffffff 118,0xffffff 93,0xffffff 66,0x802020 67,0x802020 90,0xffffff 96,0xffffff 150,0xffffff 135,0xffffff 128,0xffffff 145,0xffffff 152,0xffffff 132,0xffffff 156,0xffffff 148,0xffffff 158,0xffffff 182,0xffffff 193,0xffffff 172,0xffffff 140,0xffffff 115,0xffffff 101,0xffffff 85,0xffffff 117,0xffffff 127,0xffffff 120,0xffffff 118,0xffffff 100,0xffffff 94,0xffffff 106,0xffffff 102,0xffffff 130,0xffffff 116,0xffffff 103,0xffffff 72,0xffffff 71,0xffffff 69,0x802020 113,0xffffff 102,0xffffff 117,0xffffff 98,0xffffff 120,0xffffff 87,0xffffff 105,0xffffff 104,0xffffff 90,0xffffff 99,0xffffff 91,0xffffff 127,0xffffff 152,0xffffff 166,0xffffff 179,0xffffff 161,0xffffff 127,0xffffff 106,0xffffff 110,0xffffff 125,0xffffff 146,0xffffff + 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 1,0xff 2,0xff 3,0xff 2,0xff 5,0xff00 12,0xff00 13,0xff00 16,0xff00 16,0xff00 18,0xff00 17,0xff00 12,0xff00 8,0xff00 8,0xff00 12,0xff00 19,0xff00 24,0xff00 31,0xff00 45,0x802020 46,0x802020 38,0xff00 55,0x802020 71,0xffffff 71,0xffffff 73,0xffffff 55,0x802020 47,0x802020 38,0xff00 34,0xff00 33,0xff00 33,0xff00 32,0xff00 32,0xff00 28,0xff00 21,0xff00 19,0xff00 20,0xff00 27,0xff00 28,0xff00 24,0xff00 31,0xff00 32,0xff00 30,0xff00 43,0x802020 47,0x802020 48,0x802020 59,0x802020 63,0x802020 107,0xffffff 85,0xffffff 109,0xffffff 124,0xffffff 84,0xffffff 87,0xffffff 94,0xffffff 106,0xffffff 126,0xffffff 119,0xffffff 87,0xffffff 73,0xffffff 52,0x802020 39,0xff00 31,0xff00 28,0xff00 28,0xff00 23,0xff00 20,0xff00 21,0xff00 13,0xff00 12,0xff00 16,0xff00 14,0xff00 10,0xff00 15,0xff00 15,0xff00 20,0xff00 21,0xff00 23,0xff00 31,0xff00 35,0xff00 37,0xff00 33,0xff00 37,0xff00 37,0xff00 41,0x802020 54,0x802020 55,0x802020 51,0x802020 54,0x802020 49,0x802020 57,0x802020 72,0xffffff 111,0xffffff 120,0xffffff 113,0xffffff 78,0xffffff 62,0x802020 89,0xffffff 73,0xffffff 55,0x802020 47,0x802020 60,0x802020 60,0x802020 54,0x802020 80,0xffffff 87,0xffffff 75,0xffffff 77,0xffffff 68,0x802020 79,0xffffff 77,0xffffff 82,0xffffff 124,0xffffff 95,0xffffff 98,0xffffff 105,0xffffff 116,0xffffff 73,0xffffff 69,0x802020 60,0x802020 79,0xffffff 104,0xffffff 121,0xffffff 113,0xffffff 127,0xffffff 123,0xffffff 137,0xffffff 136,0xffffff 157,0xffffff 163,0xffffff 166,0xffffff 159,0xffffff 184,0xffffff 151,0xffffff 141,0xffffff 119,0xffffff 99,0xffffff 113,0xffffff 108,0xffffff 107,0xffffff 116,0xffffff 95,0xffffff 117,0xffffff 92,0xffffff 105,0xffffff 124,0xffffff 117,0xffffff 82,0xffffff 66,0x802020 70,0xffffff 92,0xffffff 70,0xffffff 121,0xffffff 91,0xffffff 116,0xffffff 93,0xffffff 122,0xffffff 111,0xffffff 112,0xffffff 103,0xffffff 108,0xffffff 92,0xffffff 109,0xffffff 153,0xffffff 136,0xffffff 170,0xffffff 134,0xffffff 108,0xffffff 93,0xffffff 97,0xffffff 106,0xffffff 126,0xffffff 147,0xffffff + 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 1,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 2,0xff 3,0xff 2,0xff 10,0xff00 15,0xff00 12,0xff00 13,0xff00 10,0xff00 10,0xff00 7,0xff00 6,0xff00 6,0xff00 7,0xff00 14,0xff00 21,0xff00 25,0xff00 26,0xff00 41,0x802020 42,0x802020 49,0x802020 58,0x802020 56,0x802020 56,0x802020 59,0x802020 42,0x802020 37,0xff00 32,0xff00 30,0xff00 28,0xff00 32,0xff00 30,0xff00 28,0xff00 21,0xff00 22,0xff00 24,0xff00 23,0xff00 24,0xff00 27,0xff00 26,0xff00 37,0xff00 37,0xff00 37,0xff00 61,0x802020 62,0x802020 87,0xffffff 81,0xffffff 95,0xffffff 129,0xffffff 104,0xffffff 126,0xffffff 110,0xffffff 71,0xffffff 70,0xffffff 93,0xffffff 128,0xffffff 125,0xffffff 121,0xffffff 77,0xffffff 54,0x802020 41,0x802020 35,0xff00 32,0xff00 27,0xff00 22,0xff00 19,0xff00 17,0xff00 17,0xff00 11,0xff00 13,0xff00 13,0xff00 15,0xff00 11,0xff00 15,0xff00 16,0xff00 17,0xff00 18,0xff00 21,0xff00 25,0xff00 40,0x802020 44,0x802020 46,0x802020 50,0x802020 47,0x802020 40,0x802020 48,0x802020 45,0x802020 53,0x802020 56,0x802020 63,0x802020 65,0x802020 56,0x802020 89,0xffffff 79,0xffffff 80,0xffffff 53,0x802020 71,0xffffff 78,0xffffff 68,0x802020 54,0x802020 59,0x802020 63,0x802020 60,0x802020 66,0x802020 95,0xffffff 90,0xffffff 73,0xffffff 64,0x802020 59,0x802020 101,0xffffff 85,0xffffff 83,0xffffff 93,0xffffff 94,0xffffff 105,0xffffff 87,0xffffff 107,0xffffff 70,0xffffff 64,0x802020 59,0x802020 77,0xffffff 91,0xffffff 123,0xffffff 112,0xffffff 135,0xffffff 138,0xffffff 170,0xffffff 155,0xffffff 130,0xffffff 146,0xffffff 158,0xffffff 146,0xffffff 133,0xffffff 117,0xffffff 113,0xffffff 134,0xffffff 106,0xffffff 94,0xffffff 88,0xffffff 108,0xffffff 108,0xffffff 84,0xffffff 106,0xffffff 80,0xffffff 112,0xffffff 112,0xffffff 83,0xffffff 59,0x802020 55,0x802020 54,0x802020 79,0xffffff 62,0x802020 102,0xffffff 83,0xffffff 97,0xffffff 101,0xffffff 103,0xffffff 113,0xffffff 95,0xffffff 93,0xffffff 79,0xffffff 95,0xffffff 119,0xffffff 132,0xffffff 145,0xffffff 155,0xffffff 132,0xffffff 97,0xffffff 124,0xffffff 137,0xffffff 140,0xffffff 139,0xffffff 144,0xffffff + 0,0xff 0,0xff 0,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 1,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 1,0xff 0,0xff 0,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 3,0xff 3,0xff 2,0xff 11,0xff00 10,0xff00 10,0xff00 9,0xff00 7,0xff00 7,0xff00 4,0xff 4,0xff 10,0xff00 19,0xff00 26,0xff00 33,0xff00 39,0xff00 49,0x802020 54,0x802020 52,0x802020 49,0x802020 66,0x802020 63,0x802020 61,0x802020 49,0x802020 34,0xff00 28,0xff00 26,0xff00 23,0xff00 25,0xff00 25,0xff00 26,0xff00 23,0xff00 22,0xff00 22,0xff00 22,0xff00 27,0xff00 28,0xff00 30,0xff00 29,0xff00 35,0xff00 45,0x802020 69,0x802020 85,0xffffff 118,0xffffff 127,0xffffff 126,0xffffff 131,0xffffff 127,0xffffff 127,0xffffff 121,0xffffff 87,0xffffff 93,0xffffff 78,0xffffff 93,0xffffff 99,0xffffff 104,0xffffff 94,0xffffff 51,0x802020 42,0x802020 30,0xff00 27,0xff00 22,0xff00 21,0xff00 22,0xff00 17,0xff00 12,0xff00 10,0xff00 6,0xff00 7,0xff00 10,0xff00 13,0xff00 17,0xff00 18,0xff00 19,0xff00 19,0xff00 21,0xff00 27,0xff00 38,0xff00 45,0x802020 44,0x802020 52,0x802020 43,0x802020 40,0x802020 45,0x802020 53,0x802020 55,0x802020 57,0x802020 53,0x802020 61,0x802020 72,0xffffff 69,0x802020 107,0xffffff 80,0xffffff 100,0xffffff 79,0xffffff 77,0xffffff 80,0xffffff 67,0x802020 59,0x802020 61,0x802020 50,0x802020 58,0x802020 93,0xffffff 77,0xffffff 74,0xffffff 70,0xffffff 65,0x802020 59,0x802020 97,0xffffff 77,0xffffff 70,0xffffff 88,0xffffff 102,0xffffff 93,0xffffff 72,0xffffff 78,0xffffff 55,0x802020 57,0x802020 57,0x802020 86,0xffffff 103,0xffffff 108,0xffffff 109,0xffffff 145,0xffffff 132,0xffffff 167,0xffffff 124,0xffffff 116,0xffffff 150,0xffffff 137,0xffffff 161,0xffffff 150,0xffffff 133,0xffffff 125,0xffffff 96,0xffffff 84,0xffffff 91,0xffffff 107,0xffffff 119,0xffffff 89,0xffffff 92,0xffffff 72,0xffffff 58,0x802020 84,0xffffff 93,0xffffff 64,0x802020 49,0x802020 50,0x802020 43,0x802020 73,0xffffff 63,0x802020 84,0xffffff 63,0x802020 74,0xffffff 80,0xffffff 70,0xffffff 79,0xffffff 77,0xffffff 87,0xffffff 111,0xffffff 110,0xffffff 147,0xffffff 142,0xffffff 147,0xffffff 147,0xffffff 130,0xffffff 116,0xffffff 158,0xffffff 145,0xffffff 123,0xffffff 129,0xffffff 143,0xffffff + 1,0xff 1,0xff 1,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 1,0xff 0,0xff 3,0xff 2,0xff 3,0xff 6,0xff00 5,0xff00 9,0xff00 5,0xff00 9,0xff00 8,0xff00 7,0xff00 13,0xff00 19,0xff00 23,0xff00 42,0x802020 48,0x802020 45,0x802020 59,0x802020 52,0x802020 46,0x802020 47,0x802020 57,0x802020 48,0x802020 44,0x802020 36,0xff00 32,0xff00 29,0xff00 25,0xff00 25,0xff00 25,0xff00 21,0xff00 21,0xff00 22,0xff00 22,0xff00 22,0xff00 22,0xff00 26,0xff00 30,0xff00 38,0xff00 48,0x802020 55,0x802020 59,0x802020 69,0x802020 73,0xffffff 100,0xffffff 125,0xffffff 104,0xffffff 98,0xffffff 97,0xffffff 107,0xffffff 118,0xffffff 105,0xffffff 114,0xffffff 88,0xffffff 105,0xffffff 73,0xffffff 90,0xffffff 65,0x802020 40,0x802020 33,0xff00 25,0xff00 24,0xff00 19,0xff00 16,0xff00 15,0xff00 12,0xff00 9,0xff00 7,0xff00 4,0xff 7,0xff00 13,0xff00 14,0xff00 20,0xff00 18,0xff00 20,0xff00 19,0xff00 25,0xff00 29,0xff00 38,0xff00 36,0xff00 41,0x802020 58,0x802020 48,0x802020 51,0x802020 56,0x802020 58,0x802020 67,0x802020 64,0x802020 67,0x802020 65,0x802020 91,0xffffff 75,0xffffff 82,0xffffff 74,0xffffff 81,0xffffff 55,0x802020 80,0xffffff 76,0xffffff 55,0x802020 54,0x802020 61,0x802020 46,0x802020 53,0x802020 59,0x802020 71,0xffffff 55,0x802020 57,0x802020 57,0x802020 92,0xffffff 87,0xffffff 60,0x802020 63,0x802020 76,0xffffff 70,0xffffff 85,0xffffff 79,0xffffff 75,0xffffff 57,0x802020 51,0x802020 81,0xffffff 113,0xffffff 101,0xffffff 101,0xffffff 122,0xffffff 158,0xffffff 145,0xffffff 159,0xffffff 153,0xffffff 167,0xffffff 170,0xffffff 161,0xffffff 160,0xffffff 138,0xffffff 120,0xffffff 111,0xffffff 77,0xffffff 107,0xffffff 114,0xffffff 101,0xffffff 122,0xffffff 118,0xffffff 105,0xffffff 92,0xffffff 80,0xffffff 74,0xffffff 70,0xffffff 51,0x802020 55,0x802020 52,0x802020 41,0x802020 56,0x802020 71,0xffffff 72,0xffffff 69,0x802020 67,0x802020 60,0x802020 85,0xffffff 98,0xffffff 99,0xffffff 84,0xffffff 106,0xffffff 131,0xffffff 173,0xffffff 153,0xffffff 165,0xffffff 157,0xffffff 138,0xffffff 122,0xffffff 170,0xffffff 138,0xffffff 134,0xffffff 119,0xffffff 145,0xffffff + 0,0xff 0,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 1,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 3,0xff 4,0xff 4,0xff 5,0xff00 12,0xff00 12,0xff00 16,0xff00 23,0xff00 28,0xff00 40,0x802020 47,0x802020 40,0x802020 52,0x802020 61,0x802020 48,0x802020 41,0x802020 47,0x802020 48,0x802020 44,0x802020 35,0xff00 29,0xff00 29,0xff00 31,0xff00 28,0xff00 27,0xff00 23,0xff00 17,0xff00 18,0xff00 17,0xff00 19,0xff00 22,0xff00 25,0xff00 42,0x802020 47,0x802020 51,0x802020 53,0x802020 48,0x802020 55,0x802020 60,0x802020 65,0x802020 95,0xffffff 108,0xffffff 110,0xffffff 90,0xffffff 124,0xffffff 105,0xffffff 126,0xffffff 109,0xffffff 90,0xffffff 75,0xffffff 97,0xffffff 75,0xffffff 60,0x802020 45,0x802020 33,0xff00 26,0xff00 21,0xff00 15,0xff00 12,0xff00 13,0xff00 9,0xff00 10,0xff00 7,0xff00 4,0xff 8,0xff00 8,0xff00 13,0xff00 13,0xff00 17,0xff00 14,0xff00 17,0xff00 22,0xff00 30,0xff00 31,0xff00 33,0xff00 32,0xff00 35,0xff00 48,0x802020 37,0xff00 43,0x802020 56,0x802020 50,0x802020 63,0x802020 57,0x802020 85,0xffffff 79,0xffffff 70,0xffffff 93,0xffffff 105,0xffffff 96,0xffffff 75,0xffffff 54,0x802020 71,0xffffff 61,0x802020 56,0x802020 59,0x802020 52,0x802020 43,0x802020 55,0x802020 65,0x802020 70,0xffffff 52,0x802020 61,0x802020 53,0x802020 89,0xffffff 74,0xffffff 50,0x802020 78,0xffffff 86,0xffffff 78,0xffffff 72,0xffffff 62,0x802020 55,0x802020 53,0x802020 45,0x802020 84,0xffffff 119,0xffffff 90,0xffffff 118,0xffffff 130,0xffffff 138,0xffffff 157,0xffffff 136,0xffffff 133,0xffffff 137,0xffffff 151,0xffffff 131,0xffffff 132,0xffffff 106,0xffffff 96,0xffffff 85,0xffffff 60,0x802020 89,0xffffff 95,0xffffff 108,0xffffff 74,0xffffff 77,0xffffff 86,0xffffff 70,0xffffff 68,0x802020 63,0x802020 55,0x802020 38,0xff00 45,0x802020 52,0x802020 56,0x802020 57,0x802020 61,0x802020 56,0x802020 61,0x802020 64,0x802020 98,0xffffff 105,0xffffff 102,0xffffff 78,0xffffff 106,0xffffff 120,0xffffff 164,0xffffff 167,0xffffff 123,0xffffff 123,0xffffff 123,0xffffff 103,0xffffff 113,0xffffff 128,0xffffff 122,0xffffff 113,0xffffff 107,0xffffff 145,0xffffff + 1,0xff 1,0xff 1,0xff 0,0xff 0,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 2,0xff 6,0xff00 7,0xff00 5,0xff00 5,0xff00 4,0xff 10,0xff00 16,0xff00 16,0xff00 23,0xff00 29,0xff00 42,0x802020 44,0x802020 48,0x802020 46,0x802020 60,0x802020 43,0x802020 56,0x802020 53,0x802020 41,0x802020 35,0xff00 31,0xff00 27,0xff00 28,0xff00 28,0xff00 25,0xff00 24,0xff00 22,0xff00 20,0xff00 20,0xff00 25,0xff00 28,0xff00 33,0xff00 43,0x802020 55,0x802020 54,0x802020 56,0x802020 76,0xffffff 83,0xffffff 82,0xffffff 72,0xffffff 90,0xffffff 107,0xffffff 109,0xffffff 107,0xffffff 90,0xffffff 119,0xffffff 90,0xffffff 92,0xffffff 95,0xffffff 71,0xffffff 63,0x802020 75,0xffffff 57,0x802020 45,0x802020 38,0xff00 26,0xff00 18,0xff00 19,0xff00 13,0xff00 6,0xff00 8,0xff00 4,0xff 6,0xff00 4,0xff 3,0xff 3,0xff 7,0xff00 10,0xff00 13,0xff00 14,0xff00 19,0xff00 22,0xff00 22,0xff00 29,0xff00 24,0xff00 26,0xff00 27,0xff00 30,0xff00 46,0x802020 39,0xff00 58,0x802020 60,0x802020 51,0x802020 73,0xffffff 67,0x802020 76,0xffffff 83,0xffffff 74,0xffffff 85,0xffffff 100,0xffffff 97,0xffffff 71,0xffffff 62,0x802020 60,0x802020 59,0x802020 56,0x802020 50,0x802020 56,0x802020 45,0x802020 59,0x802020 66,0x802020 59,0x802020 62,0x802020 57,0x802020 63,0x802020 68,0x802020 59,0x802020 48,0x802020 62,0x802020 60,0x802020 77,0xffffff 62,0x802020 59,0x802020 58,0x802020 49,0x802020 58,0x802020 68,0x802020 101,0xffffff 122,0xffffff 138,0xffffff 127,0xffffff 143,0xffffff 117,0xffffff 124,0xffffff 119,0xffffff 111,0xffffff 113,0xffffff 92,0xffffff 96,0xffffff 88,0xffffff 98,0xffffff 72,0xffffff 61,0x802020 79,0xffffff 71,0xffffff 88,0xffffff 67,0x802020 62,0x802020 64,0x802020 55,0x802020 55,0x802020 53,0x802020 45,0x802020 38,0xff00 48,0x802020 65,0x802020 66,0x802020 58,0x802020 89,0xffffff 89,0xffffff 94,0xffffff 99,0xffffff 96,0xffffff 106,0xffffff 79,0xffffff 97,0xffffff 134,0xffffff 115,0xffffff 149,0xffffff 155,0xffffff 130,0xffffff 105,0xffffff 113,0xffffff 106,0xffffff 107,0xffffff 105,0xffffff 131,0xffffff 97,0xffffff 106,0xffffff 143,0xffffff + 0,0xff 1,0xff 1,0xff 0,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 2,0xff 4,0xff 5,0xff00 7,0xff00 9,0xff00 6,0xff00 11,0xff00 11,0xff00 17,0xff00 18,0xff00 18,0xff00 27,0xff00 34,0xff00 36,0xff00 34,0xff00 45,0x802020 48,0x802020 54,0x802020 55,0x802020 54,0x802020 44,0x802020 34,0xff00 30,0xff00 29,0xff00 27,0xff00 23,0xff00 25,0xff00 21,0xff00 25,0xff00 22,0xff00 20,0xff00 28,0xff00 33,0xff00 37,0xff00 54,0x802020 64,0x802020 69,0x802020 65,0x802020 82,0xffffff 78,0xffffff 94,0xffffff 106,0xffffff 88,0xffffff 77,0xffffff 104,0xffffff 107,0xffffff 94,0xffffff 71,0xffffff 99,0xffffff 65,0x802020 85,0xffffff 72,0xffffff 70,0xffffff 64,0x802020 54,0x802020 47,0x802020 33,0xff00 24,0xff00 19,0xff00 20,0xff00 16,0xff00 8,0xff00 4,0xff 7,0xff00 7,0xff00 5,0xff00 4,0xff 4,0xff 4,0xff 9,0xff00 9,0xff00 14,0xff00 15,0xff00 16,0xff00 19,0xff00 22,0xff00 23,0xff00 25,0xff00 27,0xff00 25,0xff00 31,0xff00 53,0x802020 43,0x802020 50,0x802020 48,0x802020 55,0x802020 66,0x802020 94,0xffffff 79,0xffffff 69,0x802020 64,0x802020 57,0x802020 70,0xffffff 91,0xffffff 70,0xffffff 62,0x802020 50,0x802020 52,0x802020 58,0x802020 60,0x802020 62,0x802020 54,0x802020 62,0x802020 55,0x802020 58,0x802020 60,0x802020 62,0x802020 59,0x802020 53,0x802020 50,0x802020 57,0x802020 75,0xffffff 93,0xffffff 80,0xffffff 70,0xffffff 64,0x802020 64,0x802020 80,0xffffff 77,0xffffff 95,0xffffff 108,0xffffff 135,0xffffff 131,0xffffff 112,0xffffff 143,0xffffff 100,0xffffff 100,0xffffff 99,0xffffff 110,0xffffff 85,0xffffff 91,0xffffff 84,0xffffff 94,0xffffff 106,0xffffff 71,0xffffff 57,0x802020 92,0xffffff 71,0xffffff 67,0x802020 67,0x802020 52,0x802020 55,0x802020 49,0x802020 56,0x802020 51,0x802020 81,0xffffff 78,0xffffff 76,0xffffff 79,0xffffff 96,0xffffff 92,0xffffff 79,0xffffff 98,0xffffff 90,0xffffff 115,0xffffff 107,0xffffff 95,0xffffff 79,0xffffff 117,0xffffff 129,0xffffff 133,0xffffff 133,0xffffff 106,0xffffff 94,0xffffff 80,0xffffff 102,0xffffff 116,0xffffff 107,0xffffff 133,0xffffff 136,0xffffff 130,0xffffff 126,0xffffff 141,0xffffff + 0,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 2,0xff 2,0xff 2,0xff 1,0xff 0,0xff 0,0xff 1,0xff 0,0xff 2,0xff 2,0xff 4,0xff 8,0xff00 6,0xff00 6,0xff00 7,0xff00 4,0xff 8,0xff00 10,0xff00 17,0xff00 24,0xff00 25,0xff00 29,0xff00 34,0xff00 32,0xff00 36,0xff00 37,0xff00 45,0x802020 59,0x802020 49,0x802020 43,0x802020 37,0xff00 29,0xff00 32,0xff00 29,0xff00 26,0xff00 19,0xff00 18,0xff00 17,0xff00 20,0xff00 20,0xff00 26,0xff00 30,0xff00 45,0x802020 45,0x802020 58,0x802020 58,0x802020 59,0x802020 62,0x802020 65,0x802020 51,0x802020 72,0xffffff 71,0xffffff 78,0xffffff 69,0x802020 93,0xffffff 93,0xffffff 100,0xffffff 92,0xffffff 100,0xffffff 94,0xffffff 76,0xffffff 70,0xffffff 52,0x802020 45,0x802020 46,0x802020 36,0xff00 21,0xff00 16,0xff00 15,0xff00 12,0xff00 9,0xff00 5,0xff00 4,0xff 3,0xff 5,0xff00 2,0xff 2,0xff 3,0xff 5,0xff00 11,0xff00 16,0xff00 17,0xff00 17,0xff00 21,0xff00 20,0xff00 26,0xff00 26,0xff00 27,0xff00 24,0xff00 27,0xff00 31,0xff00 39,0xff00 41,0x802020 49,0x802020 40,0x802020 46,0x802020 52,0x802020 84,0xffffff 98,0xffffff 72,0xffffff 58,0x802020 53,0x802020 80,0xffffff 78,0xffffff 57,0x802020 49,0x802020 57,0x802020 55,0x802020 50,0x802020 48,0x802020 50,0x802020 58,0x802020 50,0x802020 58,0x802020 56,0x802020 56,0x802020 51,0x802020 59,0x802020 51,0x802020 50,0x802020 64,0x802020 66,0x802020 76,0xffffff 73,0xffffff 67,0x802020 60,0x802020 61,0x802020 69,0x802020 103,0xffffff 115,0xffffff 113,0xffffff 139,0xffffff 121,0xffffff 102,0xffffff 124,0xffffff 122,0xffffff 106,0xffffff 117,0xffffff 123,0xffffff 102,0xffffff 88,0xffffff 110,0xffffff 92,0xffffff 87,0xffffff 56,0x802020 62,0x802020 58,0x802020 73,0xffffff 62,0x802020 60,0x802020 49,0x802020 41,0x802020 42,0x802020 52,0x802020 48,0x802020 87,0xffffff 108,0xffffff 101,0xffffff 103,0xffffff 106,0xffffff 75,0xffffff 67,0x802020 97,0xffffff 115,0xffffff 119,0xffffff 102,0xffffff 75,0xffffff 106,0xffffff 123,0xffffff 143,0xffffff 117,0xffffff 123,0xffffff 114,0xffffff 99,0xffffff 94,0xffffff 93,0xffffff 95,0xffffff 116,0xffffff 124,0xffffff 137,0xffffff 138,0xffffff 140,0xffffff 142,0xffffff + 1,0xff 0,0xff 1,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 1,0xff 0,0xff 2,0xff 2,0xff 2,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 3,0xff 2,0xff 0,0xff 5,0xff00 7,0xff00 6,0xff00 6,0xff00 9,0xff00 11,0xff00 16,0xff00 23,0xff00 27,0xff00 28,0xff00 34,0xff00 36,0xff00 35,0xff00 46,0x802020 55,0x802020 55,0x802020 61,0x802020 45,0x802020 40,0x802020 36,0xff00 32,0xff00 29,0xff00 24,0xff00 21,0xff00 13,0xff00 15,0xff00 20,0xff00 22,0xff00 24,0xff00 27,0xff00 32,0xff00 46,0x802020 60,0x802020 58,0x802020 60,0x802020 54,0x802020 59,0x802020 59,0x802020 63,0x802020 58,0x802020 59,0x802020 68,0x802020 66,0x802020 75,0xffffff 84,0xffffff 85,0xffffff 109,0xffffff 86,0xffffff 84,0xffffff 64,0x802020 57,0x802020 42,0x802020 38,0xff00 32,0xff00 22,0xff00 17,0xff00 13,0xff00 13,0xff00 13,0xff00 8,0xff00 5,0xff00 4,0xff 3,0xff 4,0xff 3,0xff 2,0xff 4,0xff 9,0xff00 10,0xff00 17,0xff00 19,0xff00 21,0xff00 21,0xff00 25,0xff00 27,0xff00 24,0xff00 27,0xff00 26,0xff00 30,0xff00 38,0xff00 53,0x802020 50,0x802020 55,0x802020 48,0x802020 52,0x802020 94,0xffffff 88,0xffffff 84,0xffffff 56,0x802020 61,0x802020 60,0x802020 75,0xffffff 56,0x802020 46,0x802020 53,0x802020 46,0x802020 54,0x802020 50,0x802020 44,0x802020 57,0x802020 48,0x802020 46,0x802020 44,0x802020 51,0x802020 59,0x802020 64,0x802020 60,0x802020 57,0x802020 54,0x802020 77,0xffffff 72,0xffffff 65,0x802020 91,0xffffff 73,0xffffff 97,0xffffff 99,0xffffff 107,0xffffff 119,0xffffff 151,0xffffff 146,0xffffff 144,0xffffff 108,0xffffff 110,0xffffff 126,0xffffff 136,0xffffff 125,0xffffff 115,0xffffff 87,0xffffff 97,0xffffff 88,0xffffff 96,0xffffff 66,0x802020 56,0x802020 46,0x802020 54,0x802020 67,0x802020 68,0x802020 62,0x802020 46,0x802020 40,0x802020 32,0xff00 42,0x802020 45,0x802020 51,0x802020 103,0xffffff 116,0xffffff 126,0xffffff 114,0xffffff 86,0xffffff 78,0xffffff 81,0xffffff 105,0xffffff 118,0xffffff 115,0xffffff 106,0xffffff 97,0xffffff 102,0xffffff 126,0xffffff 146,0xffffff 131,0xffffff 105,0xffffff 115,0xffffff 72,0xffffff 95,0xffffff 80,0xffffff 81,0xffffff 114,0xffffff 150,0xffffff 142,0xffffff 127,0xffffff 157,0xffffff 140,0xffffff + 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 1,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 2,0xff 3,0xff 2,0xff 6,0xff00 11,0xff00 14,0xff00 24,0xff00 27,0xff00 30,0xff00 34,0xff00 40,0x802020 43,0x802020 50,0x802020 57,0x802020 51,0x802020 53,0x802020 45,0x802020 38,0xff00 40,0x802020 35,0xff00 29,0xff00 21,0xff00 21,0xff00 14,0xff00 16,0xff00 16,0xff00 23,0xff00 24,0xff00 26,0xff00 33,0xff00 33,0xff00 81,0xffffff 70,0xffffff 66,0x802020 59,0x802020 65,0x802020 58,0x802020 51,0x802020 61,0x802020 45,0x802020 51,0x802020 57,0x802020 64,0x802020 91,0xffffff 116,0xffffff 100,0xffffff 83,0xffffff 66,0x802020 58,0x802020 47,0x802020 44,0x802020 38,0xff00 29,0xff00 24,0xff00 17,0xff00 14,0xff00 15,0xff00 11,0xff00 6,0xff00 4,0xff 4,0xff 4,0xff 4,0xff 3,0xff 2,0xff 7,0xff00 8,0xff00 8,0xff00 8,0xff00 13,0xff00 17,0xff00 20,0xff00 23,0xff00 23,0xff00 25,0xff00 25,0xff00 29,0xff00 28,0xff00 44,0x802020 41,0x802020 48,0x802020 46,0x802020 52,0x802020 46,0x802020 48,0x802020 63,0x802020 73,0xffffff 73,0xffffff 52,0x802020 69,0x802020 62,0x802020 58,0x802020 53,0x802020 52,0x802020 53,0x802020 42,0x802020 56,0x802020 46,0x802020 39,0xff00 50,0x802020 38,0xff00 45,0x802020 50,0x802020 47,0x802020 51,0x802020 63,0x802020 59,0x802020 54,0x802020 81,0xffffff 95,0xffffff 76,0xffffff 103,0xffffff 110,0xffffff 112,0xffffff 108,0xffffff 130,0xffffff 145,0xffffff 147,0xffffff 149,0xffffff 154,0xffffff 145,0xffffff 99,0xffffff 104,0xffffff 116,0xffffff 104,0xffffff 110,0xffffff 106,0xffffff 90,0xffffff 70,0xffffff 91,0xffffff 76,0xffffff 55,0x802020 57,0x802020 48,0x802020 64,0x802020 66,0x802020 65,0x802020 47,0x802020 37,0xff00 33,0xff00 45,0x802020 59,0x802020 62,0x802020 91,0xffffff 85,0xffffff 114,0xffffff 98,0xffffff 98,0xffffff 69,0x802020 59,0x802020 86,0xffffff 106,0xffffff 112,0xffffff 138,0xffffff 123,0xffffff 96,0xffffff 112,0xffffff 137,0xffffff 114,0xffffff 120,0xffffff 109,0xffffff 89,0xffffff 77,0xffffff 95,0xffffff 117,0xffffff 138,0xffffff 149,0xffffff 163,0xffffff 157,0xffffff 134,0xffffff 142,0xffffff 137,0xffffff + 1,0xff 0,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 1,0xff 1,0xff 2,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 2,0xff 1,0xff 3,0xff 6,0xff00 6,0xff00 9,0xff00 12,0xff00 20,0xff00 25,0xff00 30,0xff00 33,0xff00 33,0xff00 32,0xff00 35,0xff00 51,0x802020 54,0x802020 58,0x802020 54,0x802020 43,0x802020 35,0xff00 32,0xff00 34,0xff00 30,0xff00 23,0xff00 19,0xff00 15,0xff00 15,0xff00 16,0xff00 19,0xff00 27,0xff00 38,0xff00 41,0x802020 51,0x802020 53,0x802020 66,0x802020 66,0x802020 62,0x802020 57,0x802020 66,0x802020 50,0x802020 47,0x802020 56,0x802020 49,0x802020 55,0x802020 57,0x802020 50,0x802020 75,0xffffff 84,0xffffff 83,0xffffff 62,0x802020 61,0x802020 53,0x802020 43,0x802020 37,0xff00 33,0xff00 23,0xff00 21,0xff00 12,0xff00 12,0xff00 12,0xff00 8,0xff00 4,0xff 3,0xff 2,0xff 4,0xff 3,0xff 3,0xff 2,0xff 2,0xff 6,0xff00 13,0xff00 12,0xff00 14,0xff00 15,0xff00 19,0xff00 26,0xff00 25,0xff00 30,0xff00 32,0xff00 33,0xff00 32,0xff00 39,0xff00 45,0x802020 51,0x802020 45,0x802020 41,0x802020 49,0x802020 50,0x802020 53,0x802020 58,0x802020 61,0x802020 64,0x802020 61,0x802020 61,0x802020 56,0x802020 49,0x802020 48,0x802020 55,0x802020 48,0x802020 45,0x802020 37,0xff00 30,0xff00 40,0x802020 42,0x802020 47,0x802020 50,0x802020 43,0x802020 45,0x802020 52,0x802020 55,0x802020 51,0x802020 57,0x802020 82,0xffffff 113,0xffffff 105,0xffffff 94,0xffffff 106,0xffffff 137,0xffffff 137,0xffffff 144,0xffffff 148,0xffffff 176,0xffffff 156,0xffffff 138,0xffffff 92,0xffffff 88,0xffffff 86,0xffffff 81,0xffffff 108,0xffffff 87,0xffffff 94,0xffffff 71,0xffffff 88,0xffffff 68,0x802020 45,0x802020 49,0x802020 50,0x802020 53,0x802020 54,0x802020 50,0x802020 56,0x802020 51,0x802020 52,0x802020 83,0xffffff 94,0xffffff 98,0xffffff 104,0xffffff 100,0xffffff 102,0xffffff 86,0xffffff 77,0xffffff 60,0x802020 71,0xffffff 90,0xffffff 116,0xffffff 112,0xffffff 115,0xffffff 77,0xffffff 79,0xffffff 95,0xffffff 97,0xffffff 108,0xffffff 132,0xffffff 110,0xffffff 96,0xffffff 77,0xffffff 92,0xffffff 120,0xffffff 118,0xffffff 134,0xffffff 157,0xffffff 123,0xffffff 128,0xffffff 141,0xffffff 135,0xffffff + 0,0xff 0,0xff 0,0xff 2,0xff 1,0xff 0,0xff 0,0xff 0,0xff 1,0xff 1,0xff 2,0xff 1,0xff 0,0xff 1,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 2,0xff 2,0xff 1,0xff 5,0xff00 11,0xff00 10,0xff00 16,0xff00 17,0xff00 27,0xff00 29,0xff00 32,0xff00 37,0xff00 37,0xff00 37,0xff00 37,0xff00 56,0x802020 51,0x802020 53,0x802020 44,0x802020 35,0xff00 31,0xff00 26,0xff00 28,0xff00 25,0xff00 22,0xff00 17,0xff00 14,0xff00 13,0xff00 20,0xff00 26,0xff00 29,0xff00 40,0x802020 52,0x802020 59,0x802020 65,0x802020 68,0x802020 57,0x802020 69,0x802020 60,0x802020 53,0x802020 51,0x802020 50,0x802020 65,0x802020 62,0x802020 66,0x802020 68,0x802020 63,0x802020 58,0x802020 57,0x802020 80,0xffffff 59,0x802020 47,0x802020 38,0xff00 40,0x802020 33,0xff00 26,0xff00 16,0xff00 16,0xff00 8,0xff00 9,0xff00 11,0xff00 7,0xff00 4,0xff 4,0xff 3,0xff 2,0xff 3,0xff 4,0xff 3,0xff 4,0xff 11,0xff00 14,0xff00 16,0xff00 18,0xff00 18,0xff00 21,0xff00 30,0xff00 28,0xff00 34,0xff00 32,0xff00 33,0xff00 39,0xff00 40,0x802020 45,0x802020 43,0x802020 35,0xff00 46,0x802020 48,0x802020 53,0x802020 55,0x802020 56,0x802020 67,0x802020 56,0x802020 60,0x802020 54,0x802020 57,0x802020 54,0x802020 43,0x802020 45,0x802020 44,0x802020 41,0x802020 36,0xff00 29,0xff00 36,0xff00 45,0x802020 49,0x802020 40,0x802020 35,0xff00 41,0x802020 54,0x802020 49,0x802020 40,0x802020 46,0x802020 77,0xffffff 88,0xffffff 100,0xffffff 112,0xffffff 106,0xffffff 154,0xffffff 162,0xffffff 153,0xffffff 163,0xffffff 167,0xffffff 125,0xffffff 104,0xffffff 93,0xffffff 95,0xffffff 81,0xffffff 64,0x802020 90,0xffffff 92,0xffffff 86,0xffffff 66,0x802020 65,0x802020 62,0x802020 41,0x802020 39,0xff00 45,0x802020 61,0x802020 52,0x802020 54,0x802020 44,0x802020 75,0xffffff 80,0xffffff 88,0xffffff 88,0xffffff 123,0xffffff 129,0xffffff 114,0xffffff 126,0xffffff 102,0xffffff 75,0xffffff 64,0x802020 85,0xffffff 119,0xffffff 130,0xffffff 103,0xffffff 106,0xffffff 109,0xffffff 122,0xffffff 120,0xffffff 103,0xffffff 121,0xffffff 93,0xffffff 102,0xffffff 70,0xffffff 79,0xffffff 101,0xffffff 113,0xffffff 137,0xffffff 116,0xffffff 123,0xffffff 135,0xffffff 149,0xffffff 162,0xffffff 137,0xffffff + 1,0xff 0,0xff 1,0xff 1,0xff 0,0xff 1,0xff 0,0xff 0,0xff 1,0xff 0,0xff 2,0xff 0,0xff 0,0xff 0,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 2,0xff 0,0xff 3,0xff 4,0xff 6,0xff00 10,0xff00 18,0xff00 19,0xff00 27,0xff00 27,0xff00 34,0xff00 32,0xff00 30,0xff00 31,0xff00 45,0x802020 53,0x802020 53,0x802020 45,0x802020 34,0xff00 26,0xff00 23,0xff00 24,0xff00 23,0xff00 21,0xff00 19,0xff00 15,0xff00 12,0xff00 16,0xff00 20,0xff00 28,0xff00 33,0xff00 50,0x802020 57,0x802020 66,0x802020 55,0x802020 62,0x802020 46,0x802020 56,0x802020 61,0x802020 45,0x802020 57,0x802020 60,0x802020 63,0x802020 64,0x802020 58,0x802020 60,0x802020 56,0x802020 57,0x802020 58,0x802020 62,0x802020 43,0x802020 43,0x802020 38,0xff00 32,0xff00 21,0xff00 16,0xff00 15,0xff00 12,0xff00 5,0xff00 11,0xff00 8,0xff00 3,0xff 2,0xff 1,0xff 1,0xff 0,0xff 1,0xff 4,0xff 5,0xff00 6,0xff00 15,0xff00 13,0xff00 19,0xff00 20,0xff00 20,0xff00 30,0xff00 34,0xff00 34,0xff00 35,0xff00 31,0xff00 39,0xff00 39,0xff00 44,0x802020 44,0x802020 38,0xff00 39,0xff00 49,0x802020 48,0x802020 50,0x802020 53,0x802020 59,0x802020 64,0x802020 64,0x802020 62,0x802020 66,0x802020 65,0x802020 58,0x802020 58,0x802020 55,0x802020 51,0x802020 40,0x802020 39,0xff00 44,0x802020 45,0x802020 49,0x802020 51,0x802020 47,0x802020 42,0x802020 50,0x802020 50,0x802020 54,0x802020 55,0x802020 58,0x802020 61,0x802020 88,0xffffff 126,0xffffff 145,0xffffff 152,0xffffff 176,0xffffff 152,0xffffff 162,0xffffff 160,0xffffff 149,0xffffff 97,0xffffff 92,0xffffff 67,0x802020 76,0xffffff 70,0xffffff 89,0xffffff 99,0xffffff 89,0xffffff 76,0xffffff 66,0x802020 50,0x802020 49,0x802020 46,0x802020 56,0x802020 72,0xffffff 73,0xffffff 69,0x802020 69,0x802020 73,0xffffff 78,0xffffff 71,0xffffff 81,0xffffff 97,0xffffff 116,0xffffff 102,0xffffff 84,0xffffff 100,0xffffff 86,0xffffff 65,0x802020 75,0xffffff 113,0xffffff 129,0xffffff 100,0xffffff 111,0xffffff 123,0xffffff 126,0xffffff 133,0xffffff 135,0xffffff 126,0xffffff 105,0xffffff 110,0xffffff 81,0xffffff 100,0xffffff 91,0xffffff 94,0xffffff 104,0xffffff 131,0xffffff 117,0xffffff 115,0xffffff 132,0xffffff 137,0xffffff 158,0xffffff 134,0xffffff + 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 1,0xff 1,0xff 0,0xff 0,0xff 2,0xff 1,0xff 2,0xff 8,0xff00 14,0xff00 16,0xff00 17,0xff00 17,0xff00 22,0xff00 25,0xff00 32,0xff00 33,0xff00 33,0xff00 32,0xff00 34,0xff00 43,0x802020 46,0x802020 34,0xff00 31,0xff00 26,0xff00 24,0xff00 22,0xff00 18,0xff00 15,0xff00 18,0xff00 16,0xff00 18,0xff00 20,0xff00 29,0xff00 38,0xff00 51,0x802020 52,0x802020 67,0x802020 59,0x802020 53,0x802020 52,0x802020 43,0x802020 55,0x802020 58,0x802020 64,0x802020 67,0x802020 64,0x802020 51,0x802020 50,0x802020 53,0x802020 50,0x802020 61,0x802020 56,0x802020 58,0x802020 43,0x802020 33,0xff00 40,0x802020 34,0xff00 24,0xff00 13,0xff00 10,0xff00 6,0xff00 6,0xff00 8,0xff00 5,0xff00 4,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 6,0xff00 7,0xff00 12,0xff00 14,0xff00 19,0xff00 19,0xff00 23,0xff00 24,0xff00 30,0xff00 33,0xff00 38,0xff00 36,0xff00 32,0xff00 33,0xff00 35,0xff00 44,0x802020 41,0x802020 39,0xff00 36,0xff00 43,0x802020 44,0x802020 52,0x802020 54,0x802020 55,0x802020 52,0x802020 58,0x802020 69,0x802020 59,0x802020 62,0x802020 46,0x802020 49,0x802020 50,0x802020 43,0x802020 47,0x802020 43,0x802020 51,0x802020 49,0x802020 60,0x802020 53,0x802020 51,0x802020 52,0x802020 57,0x802020 49,0x802020 47,0x802020 53,0x802020 55,0x802020 61,0x802020 84,0xffffff 121,0xffffff 164,0xffffff 187,0xffffff 182,0xffffff 150,0xffffff 162,0xffffff 137,0xffffff 107,0xffffff 88,0xffffff 83,0xffffff 63,0x802020 95,0xffffff 73,0xffffff 93,0xffffff 73,0xffffff 62,0x802020 70,0xffffff 66,0x802020 52,0x802020 53,0x802020 49,0x802020 61,0x802020 59,0x802020 65,0x802020 76,0xffffff 67,0x802020 59,0x802020 96,0xffffff 79,0xffffff 93,0xffffff 73,0xffffff 83,0xffffff 87,0xffffff 62,0x802020 77,0xffffff 78,0xffffff 66,0x802020 91,0xffffff 98,0xffffff 120,0xffffff 108,0xffffff 109,0xffffff 122,0xffffff 105,0xffffff 122,0xffffff 145,0xffffff 118,0xffffff 91,0xffffff 79,0xffffff 99,0xffffff 73,0xffffff 65,0x802020 90,0xffffff 111,0xffffff 116,0xffffff 119,0xffffff 141,0xffffff 122,0xffffff 145,0xffffff 137,0xffffff 136,0xffffff + 1,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 2,0xff 4,0xff 12,0xff00 16,0xff00 18,0xff00 17,0xff00 23,0xff00 24,0xff00 28,0xff00 31,0xff00 35,0xff00 35,0xff00 31,0xff00 32,0xff00 38,0xff00 37,0xff00 40,0x802020 31,0xff00 27,0xff00 22,0xff00 18,0xff00 18,0xff00 15,0xff00 18,0xff00 21,0xff00 23,0xff00 26,0xff00 31,0xff00 38,0xff00 43,0x802020 65,0x802020 63,0x802020 59,0x802020 52,0x802020 47,0x802020 47,0x802020 45,0x802020 59,0x802020 56,0x802020 66,0x802020 60,0x802020 61,0x802020 44,0x802020 41,0x802020 44,0x802020 50,0x802020 50,0x802020 42,0x802020 46,0x802020 34,0xff00 32,0xff00 33,0xff00 27,0xff00 17,0xff00 12,0xff00 8,0xff00 4,0xff 6,0xff00 7,0xff00 4,0xff 3,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 2,0xff 11,0xff00 13,0xff00 14,0xff00 19,0xff00 21,0xff00 20,0xff00 25,0xff00 25,0xff00 29,0xff00 35,0xff00 33,0xff00 36,0xff00 33,0xff00 29,0xff00 29,0xff00 43,0x802020 39,0xff00 32,0xff00 32,0xff00 32,0xff00 41,0x802020 50,0x802020 52,0x802020 50,0x802020 43,0x802020 50,0x802020 53,0x802020 48,0x802020 51,0x802020 41,0x802020 45,0x802020 38,0xff00 40,0x802020 47,0x802020 41,0x802020 41,0x802020 46,0x802020 64,0x802020 50,0x802020 56,0x802020 60,0x802020 50,0x802020 59,0x802020 55,0x802020 83,0xffffff 78,0xffffff 98,0xffffff 119,0xffffff 146,0xffffff 171,0xffffff 177,0xffffff 161,0xffffff 146,0xffffff 160,0xffffff 119,0xffffff 124,0xffffff 114,0xffffff 107,0xffffff 104,0xffffff 109,0xffffff 99,0xffffff 80,0xffffff 61,0x802020 65,0x802020 68,0x802020 63,0x802020 61,0x802020 59,0x802020 52,0x802020 60,0x802020 55,0x802020 67,0x802020 78,0xffffff 74,0xffffff 72,0xffffff 72,0xffffff 74,0xffffff 69,0x802020 55,0x802020 56,0x802020 75,0xffffff 67,0x802020 67,0x802020 66,0x802020 60,0x802020 104,0xffffff 121,0xffffff 107,0xffffff 139,0xffffff 140,0xffffff 124,0xffffff 109,0xffffff 132,0xffffff 130,0xffffff 106,0xffffff 76,0xffffff 85,0xffffff 97,0xffffff 82,0xffffff 91,0xffffff 120,0xffffff 136,0xffffff 131,0xffffff 118,0xffffff 136,0xffffff 128,0xffffff 136,0xffffff 156,0xffffff 133,0xffffff + 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 2,0xff 1,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 1,0xff 1,0xff 1,0xff 2,0xff 3,0xff 3,0xff 11,0xff00 19,0xff00 20,0xff00 19,0xff00 26,0xff00 27,0xff00 26,0xff00 31,0xff00 33,0xff00 35,0xff00 29,0xff00 35,0xff00 34,0xff00 32,0xff00 35,0xff00 30,0xff00 24,0xff00 20,0xff00 17,0xff00 15,0xff00 19,0xff00 22,0xff00 21,0xff00 25,0xff00 35,0xff00 42,0x802020 48,0x802020 54,0x802020 65,0x802020 57,0x802020 67,0x802020 60,0x802020 52,0x802020 47,0x802020 51,0x802020 59,0x802020 68,0x802020 68,0x802020 55,0x802020 50,0x802020 44,0x802020 48,0x802020 59,0x802020 58,0x802020 49,0x802020 41,0x802020 36,0xff00 30,0xff00 26,0xff00 29,0xff00 22,0xff00 11,0xff00 5,0xff00 2,0xff 1,0xff 6,0xff00 5,0xff00 2,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 4,0xff 6,0xff00 13,0xff00 9,0xff00 13,0xff00 20,0xff00 18,0xff00 19,0xff00 23,0xff00 29,0xff00 29,0xff00 32,0xff00 36,0xff00 35,0xff00 31,0xff00 30,0xff00 32,0xff00 36,0xff00 34,0xff00 32,0xff00 33,0xff00 30,0xff00 35,0xff00 45,0x802020 43,0x802020 49,0x802020 47,0x802020 51,0x802020 59,0x802020 52,0x802020 41,0x802020 40,0x802020 38,0xff00 34,0xff00 37,0xff00 43,0x802020 35,0xff00 47,0x802020 41,0x802020 52,0x802020 47,0x802020 50,0x802020 62,0x802020 58,0x802020 50,0x802020 71,0xffffff 102,0xffffff 113,0xffffff 118,0xffffff 147,0xffffff 166,0xffffff 162,0xffffff 142,0xffffff 155,0xffffff 158,0xffffff 146,0xffffff 91,0xffffff 109,0xffffff 107,0xffffff 73,0xffffff 73,0xffffff 83,0xffffff 73,0xffffff 72,0xffffff 61,0x802020 67,0x802020 53,0x802020 50,0x802020 53,0x802020 50,0x802020 60,0x802020 62,0x802020 67,0x802020 62,0x802020 77,0xffffff 65,0x802020 71,0xffffff 62,0x802020 59,0x802020 60,0x802020 52,0x802020 53,0x802020 58,0x802020 60,0x802020 63,0x802020 61,0x802020 75,0xffffff 127,0xffffff 114,0xffffff 129,0xffffff 162,0xffffff 149,0xffffff 142,0xffffff 116,0xffffff 108,0xffffff 99,0xffffff 88,0xffffff 83,0xffffff 98,0xffffff 83,0xffffff 82,0xffffff 115,0xffffff 97,0xffffff 103,0xffffff 119,0xffffff 119,0xffffff 112,0xffffff 113,0xffffff 140,0xffffff 156,0xffffff 134,0xffffff + 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 2,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 8,0xff00 9,0xff00 15,0xff00 18,0xff00 20,0xff00 18,0xff00 23,0xff00 27,0xff00 23,0xff00 27,0xff00 29,0xff00 29,0xff00 27,0xff00 28,0xff00 30,0xff00 29,0xff00 29,0xff00 19,0xff00 16,0xff00 15,0xff00 15,0xff00 20,0xff00 19,0xff00 26,0xff00 33,0xff00 40,0x802020 40,0x802020 41,0x802020 61,0x802020 64,0x802020 69,0x802020 55,0x802020 52,0x802020 54,0x802020 44,0x802020 47,0x802020 53,0x802020 52,0x802020 50,0x802020 52,0x802020 44,0x802020 41,0x802020 37,0xff00 45,0x802020 49,0x802020 58,0x802020 40,0x802020 36,0xff00 31,0xff00 23,0xff00 21,0xff00 22,0xff00 12,0xff00 8,0xff00 3,0xff 1,0xff 3,0xff 4,0xff 1,0xff 2,0xff 1,0xff 1,0xff 0,0xff 1,0xff 0,0xff 2,0xff 6,0xff00 8,0xff00 9,0xff00 16,0xff00 23,0xff00 21,0xff00 18,0xff00 26,0xff00 31,0xff00 32,0xff00 34,0xff00 34,0xff00 27,0xff00 24,0xff00 25,0xff00 27,0xff00 27,0xff00 27,0xff00 29,0xff00 34,0xff00 30,0xff00 36,0xff00 43,0x802020 46,0x802020 44,0x802020 38,0xff00 42,0x802020 48,0x802020 42,0x802020 34,0xff00 32,0xff00 32,0xff00 32,0xff00 35,0xff00 37,0xff00 37,0xff00 43,0x802020 50,0x802020 42,0x802020 48,0x802020 84,0xffffff 82,0xffffff 71,0xffffff 79,0xffffff 71,0xffffff 89,0xffffff 117,0xffffff 108,0xffffff 133,0xffffff 155,0xffffff 179,0xffffff 149,0xffffff 134,0xffffff 140,0xffffff 105,0xffffff 77,0xffffff 104,0xffffff 101,0xffffff 72,0xffffff 67,0x802020 61,0x802020 52,0x802020 50,0x802020 48,0x802020 52,0x802020 48,0x802020 52,0x802020 49,0x802020 81,0xffffff 71,0xffffff 70,0xffffff 61,0x802020 62,0x802020 56,0x802020 53,0x802020 59,0x802020 53,0x802020 53,0x802020 63,0x802020 52,0x802020 50,0x802020 55,0x802020 67,0x802020 67,0x802020 58,0x802020 88,0xffffff 91,0xffffff 105,0xffffff 118,0xffffff 158,0xffffff 162,0xffffff 150,0xffffff 125,0xffffff 132,0xffffff 124,0xffffff 107,0xffffff 86,0xffffff 84,0xffffff 96,0xffffff 104,0xffffff 83,0xffffff 89,0xffffff 119,0xffffff 115,0xffffff 131,0xffffff 143,0xffffff 150,0xffffff 141,0xffffff 142,0xffffff 132,0xffffff + 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 1,0xff 2,0xff 1,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 4,0xff 9,0xff00 14,0xff00 14,0xff00 14,0xff00 16,0xff00 17,0xff00 22,0xff00 29,0xff00 26,0xff00 27,0xff00 26,0xff00 28,0xff00 26,0xff00 26,0xff00 25,0xff00 21,0xff00 21,0xff00 13,0xff00 15,0xff00 17,0xff00 19,0xff00 25,0xff00 27,0xff00 39,0xff00 46,0x802020 41,0x802020 53,0x802020 55,0x802020 53,0x802020 89,0xffffff 71,0xffffff 56,0x802020 59,0x802020 61,0x802020 52,0x802020 46,0x802020 51,0x802020 61,0x802020 54,0x802020 47,0x802020 37,0xff00 37,0xff00 30,0xff00 41,0x802020 38,0xff00 48,0x802020 38,0xff00 34,0xff00 26,0xff00 21,0xff00 17,0xff00 17,0xff00 8,0xff00 3,0xff 0,0xff 0,0xff 3,0xff 4,0xff 2,0xff 1,0xff 0,0xff 0,0xff 0,0xff 1,0xff 6,0xff00 8,0xff00 10,0xff00 11,0xff00 12,0xff00 22,0xff00 25,0xff00 24,0xff00 25,0xff00 28,0xff00 31,0xff00 25,0xff00 26,0xff00 26,0xff00 26,0xff00 24,0xff00 20,0xff00 22,0xff00 23,0xff00 26,0xff00 28,0xff00 30,0xff00 31,0xff00 31,0xff00 47,0x802020 43,0x802020 37,0xff00 36,0xff00 43,0x802020 39,0xff00 35,0xff00 31,0xff00 34,0xff00 34,0xff00 40,0x802020 40,0x802020 41,0x802020 39,0xff00 42,0x802020 49,0x802020 41,0x802020 60,0x802020 72,0xffffff 105,0xffffff 80,0xffffff 71,0xffffff 98,0xffffff 98,0xffffff 113,0xffffff 144,0xffffff 164,0xffffff 183,0xffffff 172,0xffffff 149,0xffffff 105,0xffffff 91,0xffffff 80,0xffffff 69,0x802020 101,0xffffff 87,0xffffff 66,0x802020 55,0x802020 49,0x802020 53,0x802020 42,0x802020 52,0x802020 53,0x802020 47,0x802020 48,0x802020 46,0x802020 75,0xffffff 68,0x802020 48,0x802020 47,0x802020 50,0x802020 58,0x802020 57,0x802020 61,0x802020 55,0x802020 59,0x802020 64,0x802020 47,0x802020 58,0x802020 54,0x802020 59,0x802020 63,0x802020 58,0x802020 69,0x802020 86,0xffffff 108,0xffffff 137,0xffffff 148,0xffffff 160,0xffffff 121,0xffffff 122,0xffffff 125,0xffffff 106,0xffffff 113,0xffffff 84,0xffffff 80,0xffffff 87,0xffffff 92,0xffffff 99,0xffffff 111,0xffffff 127,0xffffff 101,0xffffff 132,0xffffff 142,0xffffff 117,0xffffff 124,0xffffff 144,0xffffff 128,0xffffff + 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 1,0xff 1,0xff 0,0xff 1,0xff 0,0xff 1,0xff 1,0xff 1,0xff 1,0xff 0,0xff 0,0xff 1,0xff 0,0xff 1,0xff 9,0xff00 8,0xff00 14,0xff00 11,0xff00 17,0xff00 21,0xff00 22,0xff00 21,0xff00 26,0xff00 29,0xff00 26,0xff00 25,0xff00 22,0xff00 24,0xff00 23,0xff00 22,0xff00 22,0xff00 18,0xff00 15,0xff00 13,0xff00 16,0xff00 23,0xff00 33,0xff00 36,0xff00 47,0x802020 47,0x802020 61,0x802020 83,0xffffff 81,0xffffff 81,0xffffff 84,0xffffff 61,0x802020 60,0x802020 50,0x802020 47,0x802020 39,0xff00 40,0x802020 45,0x802020 51,0x802020 51,0x802020 45,0x802020 38,0xff00 33,0xff00 35,0xff00 38,0xff00 33,0xff00 42,0x802020 34,0xff00 28,0xff00 22,0xff00 18,0xff00 17,0xff00 14,0xff00 5,0xff00 1,0xff 1,0xff 1,0xff 0,0xff 0,0xff 1,0xff 1,0xff 0,0xff 0,0xff 1,0xff 2,0xff 4,0xff 8,0xff00 6,0xff00 10,0xff00 18,0xff00 20,0xff00 20,0xff00 20,0xff00 20,0xff00 20,0xff00 21,0xff00 20,0xff00 20,0xff00 23,0xff00 26,0xff00 22,0xff00 19,0xff00 18,0xff00 21,0xff00 27,0xff00 31,0xff00 33,0xff00 30,0xff00 27,0xff00 41,0x802020 35,0xff00 36,0xff00 34,0xff00 38,0xff00 34,0xff00 30,0xff00 29,0xff00 36,0xff00 32,0xff00 40,0x802020 36,0xff00 34,0xff00 36,0xff00 38,0xff00 39,0xff00 38,0xff00 49,0x802020 89,0xffffff 104,0xffffff 103,0xffffff 98,0xffffff 94,0xffffff 122,0xffffff 163,0xffffff 166,0xffffff 156,0xffffff 147,0xffffff 126,0xffffff 96,0xffffff 83,0xffffff 83,0xffffff 59,0x802020 58,0x802020 94,0xffffff 69,0x802020 48,0x802020 41,0x802020 48,0x802020 47,0x802020 45,0x802020 58,0x802020 46,0x802020 50,0x802020 57,0x802020 56,0x802020 62,0x802020 64,0x802020 49,0x802020 53,0x802020 50,0x802020 61,0x802020 61,0x802020 67,0x802020 62,0x802020 68,0x802020 60,0x802020 48,0x802020 52,0x802020 58,0x802020 51,0x802020 53,0x802020 72,0xffffff 69,0x802020 104,0xffffff 122,0xffffff 128,0xffffff 147,0xffffff 123,0xffffff 127,0xffffff 106,0xffffff 98,0xffffff 70,0xffffff 80,0xffffff 66,0x802020 73,0xffffff 81,0xffffff 101,0xffffff 105,0xffffff 143,0xffffff 152,0xffffff 140,0xffffff 131,0xffffff 122,0xffffff 137,0xffffff 124,0xffffff 134,0xffffff 127,0xffffff + 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 1,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 3,0xff 6,0xff00 12,0xff00 12,0xff00 19,0xff00 15,0xff00 18,0xff00 22,0xff00 22,0xff00 24,0xff00 20,0xff00 21,0xff00 19,0xff00 22,0xff00 24,0xff00 23,0xff00 19,0xff00 17,0xff00 12,0xff00 11,0xff00 18,0xff00 28,0xff00 29,0xff00 33,0xff00 42,0x802020 57,0x802020 68,0x802020 60,0x802020 73,0xffffff 98,0xffffff 72,0xffffff 62,0x802020 45,0x802020 37,0xff00 41,0x802020 47,0x802020 48,0x802020 47,0x802020 45,0x802020 45,0x802020 35,0xff00 40,0x802020 36,0xff00 35,0xff00 39,0xff00 36,0xff00 35,0xff00 28,0xff00 24,0xff00 16,0xff00 11,0xff00 12,0xff00 8,0xff00 2,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 2,0xff 3,0xff 6,0xff00 9,0xff00 5,0xff00 10,0xff00 19,0xff00 20,0xff00 14,0xff00 15,0xff00 16,0xff00 20,0xff00 17,0xff00 17,0xff00 23,0xff00 20,0xff00 20,0xff00 20,0xff00 23,0xff00 24,0xff00 25,0xff00 27,0xff00 25,0xff00 28,0xff00 28,0xff00 30,0xff00 33,0xff00 34,0xff00 34,0xff00 37,0xff00 34,0xff00 34,0xff00 28,0xff00 30,0xff00 32,0xff00 31,0xff00 40,0x802020 34,0xff00 37,0xff00 35,0xff00 36,0xff00 48,0x802020 64,0x802020 89,0xffffff 105,0xffffff 86,0xffffff 88,0xffffff 96,0xffffff 97,0xffffff 145,0xffffff 160,0xffffff 132,0xffffff 144,0xffffff 109,0xffffff 102,0xffffff 62,0x802020 74,0xffffff 66,0x802020 43,0x802020 43,0x802020 75,0xffffff 53,0x802020 34,0xff00 41,0x802020 43,0x802020 36,0xff00 45,0x802020 54,0x802020 41,0x802020 38,0xff00 47,0x802020 47,0x802020 52,0x802020 55,0x802020 48,0x802020 62,0x802020 59,0x802020 51,0x802020 55,0x802020 62,0x802020 56,0x802020 69,0x802020 54,0x802020 44,0x802020 51,0x802020 52,0x802020 56,0x802020 66,0x802020 67,0x802020 77,0xffffff 91,0xffffff 105,0xffffff 133,0xffffff 139,0xffffff 86,0xffffff 97,0xffffff 87,0xffffff 97,0xffffff 78,0xffffff 77,0xffffff 72,0xffffff 78,0xffffff 107,0xffffff 124,0xffffff 105,0xffffff 156,0xffffff 141,0xffffff 116,0xffffff 127,0xffffff 90,0xffffff 99,0xffffff 98,0xffffff 114,0xffffff 130,0xffffff + 0,0xff 0,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 1,0xff 3,0xff 8,0xff00 12,0xff00 15,0xff00 14,0xff00 13,0xff00 20,0xff00 18,0xff00 16,0xff00 16,0xff00 17,0xff00 23,0xff00 19,0xff00 24,0xff00 24,0xff00 21,0xff00 16,0xff00 10,0xff00 10,0xff00 13,0xff00 17,0xff00 25,0xff00 27,0xff00 32,0xff00 37,0xff00 74,0xffffff 70,0xffffff 63,0x802020 95,0xffffff 80,0xffffff 57,0x802020 48,0x802020 35,0xff00 33,0xff00 44,0x802020 43,0x802020 54,0x802020 51,0x802020 40,0x802020 39,0xff00 37,0xff00 35,0xff00 33,0xff00 36,0xff00 38,0xff00 32,0xff00 28,0xff00 21,0xff00 16,0xff00 14,0xff00 7,0xff00 8,0xff00 2,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 2,0xff 4,0xff 5,0xff00 9,0xff00 8,0xff00 10,0xff00 19,0xff00 13,0xff00 13,0xff00 16,0xff00 18,0xff00 21,0xff00 16,0xff00 17,0xff00 20,0xff00 15,0xff00 17,0xff00 20,0xff00 23,0xff00 21,0xff00 25,0xff00 26,0xff00 21,0xff00 26,0xff00 27,0xff00 29,0xff00 34,0xff00 35,0xff00 32,0xff00 33,0xff00 31,0xff00 33,0xff00 32,0xff00 30,0xff00 34,0xff00 34,0xff00 38,0xff00 33,0xff00 34,0xff00 31,0xff00 44,0x802020 48,0x802020 58,0x802020 68,0x802020 86,0xffffff 78,0xffffff 82,0xffffff 123,0xffffff 132,0xffffff 124,0xffffff 152,0xffffff 108,0xffffff 132,0xffffff 112,0xffffff 89,0xffffff 59,0x802020 59,0x802020 61,0x802020 51,0x802020 56,0x802020 59,0x802020 41,0x802020 37,0xff00 36,0xff00 34,0xff00 46,0x802020 49,0x802020 44,0x802020 37,0xff00 36,0xff00 37,0xff00 48,0x802020 41,0x802020 45,0x802020 53,0x802020 51,0x802020 48,0x802020 54,0x802020 60,0x802020 49,0x802020 44,0x802020 53,0x802020 51,0x802020 49,0x802020 55,0x802020 47,0x802020 52,0x802020 71,0xffffff 99,0xffffff 122,0xffffff 121,0xffffff 115,0xffffff 127,0xffffff 107,0xffffff 64,0x802020 73,0xffffff 62,0x802020 70,0xffffff 63,0x802020 63,0x802020 53,0x802020 85,0xffffff 128,0xffffff 123,0xffffff 138,0xffffff 130,0xffffff 148,0xffffff 115,0xffffff 113,0xffffff 95,0xffffff 80,0xffffff 103,0xffffff 139,0xffffff 127,0xffffff + 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 3,0xff 6,0xff00 6,0xff00 6,0xff00 6,0xff00 7,0xff00 12,0xff00 12,0xff00 16,0xff00 16,0xff00 14,0xff00 17,0xff00 11,0xff00 13,0xff00 18,0xff00 21,0xff00 23,0xff00 19,0xff00 19,0xff00 20,0xff00 19,0xff00 14,0xff00 6,0xff00 9,0xff00 16,0xff00 25,0xff00 32,0xff00 35,0xff00 46,0x802020 69,0x802020 89,0xffffff 81,0xffffff 78,0xffffff 75,0xffffff 61,0x802020 61,0x802020 54,0x802020 43,0x802020 41,0x802020 48,0x802020 51,0x802020 51,0x802020 40,0x802020 35,0xff00 33,0xff00 31,0xff00 34,0xff00 33,0xff00 35,0xff00 30,0xff00 26,0xff00 25,0xff00 18,0xff00 12,0xff00 8,0xff00 2,0xff 5,0xff00 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 6,0xff00 6,0xff00 5,0xff00 5,0xff00 11,0xff00 19,0xff00 14,0xff00 10,0xff00 12,0xff00 12,0xff00 15,0xff00 17,0xff00 19,0xff00 18,0xff00 17,0xff00 16,0xff00 22,0xff00 22,0xff00 22,0xff00 22,0xff00 20,0xff00 21,0xff00 26,0xff00 27,0xff00 26,0xff00 29,0xff00 32,0xff00 29,0xff00 35,0xff00 31,0xff00 35,0xff00 31,0xff00 31,0xff00 32,0xff00 33,0xff00 38,0xff00 34,0xff00 33,0xff00 40,0x802020 50,0x802020 41,0x802020 43,0x802020 49,0x802020 72,0xffffff 90,0xffffff 78,0xffffff 111,0xffffff 116,0xffffff 122,0xffffff 145,0xffffff 98,0xffffff 110,0xffffff 82,0xffffff 62,0x802020 47,0x802020 53,0x802020 51,0x802020 53,0x802020 48,0x802020 42,0x802020 40,0x802020 36,0xff00 35,0xff00 37,0xff00 36,0xff00 45,0x802020 40,0x802020 37,0xff00 32,0xff00 49,0x802020 46,0x802020 40,0x802020 51,0x802020 52,0x802020 40,0x802020 45,0x802020 39,0xff00 40,0x802020 40,0x802020 51,0x802020 48,0x802020 45,0x802020 43,0x802020 44,0x802020 44,0x802020 47,0x802020 82,0xffffff 110,0xffffff 113,0xffffff 111,0xffffff 121,0xffffff 97,0xffffff 78,0xffffff 50,0x802020 56,0x802020 56,0x802020 67,0x802020 95,0xffffff 80,0xffffff 94,0xffffff 117,0xffffff 110,0xffffff 116,0xffffff 95,0xffffff 102,0xffffff 116,0xffffff 96,0xffffff 83,0xffffff 59,0x802020 72,0xffffff 97,0xffffff 109,0xffffff 125,0xffffff + 1,0xff 1,0xff 1,0xff 0,0xff 1,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 2,0xff 1,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 1,0xff 5,0xff00 6,0xff00 9,0xff00 10,0xff00 8,0xff00 11,0xff00 14,0xff00 15,0xff00 11,0xff00 13,0xff00 13,0xff00 14,0xff00 15,0xff00 20,0xff00 23,0xff00 20,0xff00 18,0xff00 16,0xff00 14,0xff00 11,0xff00 11,0xff00 8,0xff00 16,0xff00 29,0xff00 39,0xff00 49,0x802020 58,0x802020 63,0x802020 64,0x802020 91,0xffffff 82,0xffffff 73,0xffffff 57,0x802020 52,0x802020 49,0x802020 45,0x802020 35,0xff00 35,0xff00 42,0x802020 39,0xff00 48,0x802020 40,0x802020 37,0xff00 35,0xff00 32,0xff00 28,0xff00 27,0xff00 28,0xff00 22,0xff00 22,0xff00 23,0xff00 16,0xff00 10,0xff00 6,0xff00 3,0xff 3,0xff 1,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 5,0xff00 9,0xff00 7,0xff00 7,0xff00 8,0xff00 15,0xff00 16,0xff00 14,0xff00 10,0xff00 12,0xff00 16,0xff00 16,0xff00 15,0xff00 19,0xff00 17,0xff00 19,0xff00 15,0xff00 17,0xff00 20,0xff00 21,0xff00 21,0xff00 20,0xff00 26,0xff00 29,0xff00 30,0xff00 27,0xff00 25,0xff00 30,0xff00 32,0xff00 32,0xff00 34,0xff00 37,0xff00 33,0xff00 34,0xff00 31,0xff00 36,0xff00 39,0xff00 46,0x802020 44,0x802020 45,0x802020 60,0x802020 56,0x802020 58,0x802020 88,0xffffff 93,0xffffff 76,0xffffff 61,0x802020 90,0xffffff 118,0xffffff 126,0xffffff 114,0xffffff 99,0xffffff 92,0xffffff 58,0x802020 50,0x802020 39,0xff00 42,0x802020 52,0x802020 45,0x802020 45,0x802020 40,0x802020 38,0xff00 34,0xff00 30,0xff00 31,0xff00 28,0xff00 41,0x802020 38,0xff00 32,0xff00 35,0xff00 47,0x802020 51,0x802020 46,0x802020 52,0x802020 44,0x802020 34,0xff00 42,0x802020 35,0xff00 34,0xff00 37,0xff00 53,0x802020 46,0x802020 40,0x802020 39,0xff00 34,0xff00 71,0xffffff 93,0xffffff 92,0xffffff 118,0xffffff 97,0xffffff 117,0xffffff 108,0xffffff 83,0xffffff 74,0xffffff 57,0x802020 58,0x802020 88,0xffffff 88,0xffffff 99,0xffffff 109,0xffffff 106,0xffffff 101,0xffffff 96,0xffffff 102,0xffffff 85,0xffffff 93,0xffffff 95,0xffffff 106,0xffffff 76,0xffffff 66,0x802020 86,0xffffff 96,0xffffff 103,0xffffff 127,0xffffff + 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 4,0xff 7,0xff00 8,0xff00 10,0xff00 6,0xff00 9,0xff00 11,0xff00 15,0xff00 16,0xff00 11,0xff00 11,0xff00 14,0xff00 16,0xff00 15,0xff00 23,0xff00 21,0xff00 15,0xff00 16,0xff00 10,0xff00 9,0xff00 12,0xff00 13,0xff00 20,0xff00 36,0xff00 40,0x802020 54,0x802020 57,0x802020 88,0xffffff 95,0xffffff 89,0xffffff 81,0xffffff 67,0x802020 62,0x802020 57,0x802020 45,0x802020 39,0xff00 40,0x802020 36,0xff00 33,0xff00 35,0xff00 31,0xff00 40,0x802020 36,0xff00 30,0xff00 32,0xff00 24,0xff00 24,0xff00 20,0xff00 20,0xff00 17,0xff00 20,0xff00 15,0xff00 12,0xff00 6,0xff00 3,0xff 1,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 1,0xff 5,0xff00 10,0xff00 10,0xff00 10,0xff00 15,0xff00 15,0xff00 15,0xff00 12,0xff00 11,0xff00 13,0xff00 12,0xff00 17,0xff00 21,0xff00 18,0xff00 22,0xff00 20,0xff00 22,0xff00 23,0xff00 20,0xff00 26,0xff00 26,0xff00 26,0xff00 25,0xff00 26,0xff00 24,0xff00 26,0xff00 30,0xff00 33,0xff00 30,0xff00 31,0xff00 32,0xff00 32,0xff00 29,0xff00 28,0xff00 29,0xff00 40,0x802020 38,0xff00 50,0x802020 55,0x802020 58,0x802020 79,0xffffff 86,0xffffff 116,0xffffff 107,0xffffff 97,0xffffff 82,0xffffff 94,0xffffff 114,0xffffff 87,0xffffff 89,0xffffff 87,0xffffff 69,0x802020 58,0x802020 56,0x802020 47,0x802020 43,0x802020 40,0x802020 36,0xff00 40,0x802020 36,0xff00 28,0xff00 27,0xff00 28,0xff00 34,0xff00 37,0xff00 41,0x802020 42,0x802020 44,0x802020 45,0x802020 45,0x802020 44,0x802020 43,0x802020 48,0x802020 39,0xff00 35,0xff00 37,0xff00 28,0xff00 29,0xff00 31,0xff00 44,0x802020 37,0xff00 35,0xff00 44,0x802020 56,0x802020 61,0x802020 67,0x802020 72,0xffffff 96,0xffffff 67,0x802020 80,0xffffff 77,0xffffff 92,0xffffff 75,0xffffff 68,0x802020 73,0xffffff 103,0xffffff 74,0xffffff 86,0xffffff 102,0xffffff 92,0xffffff 91,0xffffff 75,0xffffff 98,0xffffff 93,0xffffff 102,0xffffff 82,0xffffff 89,0xffffff 68,0x802020 105,0xffffff 114,0xffffff 120,0xffffff 130,0xffffff 123,0xffffff + 0,0xff 0,0xff 1,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 3,0xff 4,0xff 9,0xff00 12,0xff00 12,0xff00 10,0xff00 6,0xff00 8,0xff00 6,0xff00 10,0xff00 11,0xff00 13,0xff00 13,0xff00 13,0xff00 19,0xff00 18,0xff00 21,0xff00 18,0xff00 18,0xff00 17,0xff00 12,0xff00 8,0xff00 15,0xff00 22,0xff00 34,0xff00 51,0x802020 71,0xffffff 95,0xffffff 89,0xffffff 74,0xffffff 68,0x802020 73,0xffffff 80,0xffffff 66,0x802020 63,0x802020 52,0x802020 42,0x802020 35,0xff00 36,0xff00 33,0xff00 35,0xff00 38,0xff00 35,0xff00 33,0xff00 32,0xff00 28,0xff00 29,0xff00 24,0xff00 22,0xff00 22,0xff00 20,0xff00 18,0xff00 19,0xff00 13,0xff00 6,0xff00 4,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 2,0xff 6,0xff00 9,0xff00 11,0xff00 13,0xff00 19,0xff00 18,0xff00 16,0xff00 11,0xff00 18,0xff00 19,0xff00 19,0xff00 22,0xff00 22,0xff00 18,0xff00 23,0xff00 19,0xff00 16,0xff00 17,0xff00 20,0xff00 24,0xff00 24,0xff00 30,0xff00 28,0xff00 28,0xff00 25,0xff00 25,0xff00 24,0xff00 27,0xff00 29,0xff00 31,0xff00 35,0xff00 34,0xff00 30,0xff00 32,0xff00 34,0xff00 39,0xff00 35,0xff00 52,0x802020 60,0x802020 66,0x802020 105,0xffffff 89,0xffffff 117,0xffffff 84,0xffffff 61,0x802020 70,0xffffff 90,0xffffff 100,0xffffff 112,0xffffff 100,0xffffff 71,0xffffff 58,0x802020 49,0x802020 58,0x802020 44,0x802020 40,0x802020 35,0xff00 36,0xff00 33,0xff00 31,0xff00 28,0xff00 24,0xff00 28,0xff00 31,0xff00 47,0x802020 43,0x802020 40,0x802020 38,0xff00 53,0x802020 43,0x802020 48,0x802020 41,0x802020 37,0xff00 31,0xff00 29,0xff00 32,0xff00 31,0xff00 28,0xff00 42,0x802020 48,0x802020 44,0x802020 44,0x802020 51,0x802020 67,0x802020 67,0x802020 102,0xffffff 89,0xffffff 78,0xffffff 62,0x802020 69,0x802020 101,0xffffff 80,0xffffff 65,0x802020 89,0xffffff 100,0xffffff 92,0xffffff 102,0xffffff 118,0xffffff 119,0xffffff 103,0xffffff 76,0xffffff 99,0xffffff 107,0xffffff 80,0xffffff 81,0xffffff 69,0x802020 73,0xffffff 98,0xffffff 142,0xffffff 136,0xffffff 128,0xffffff 135,0xffffff 121,0xffffff + 1,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 4,0xff 10,0xff00 11,0xff00 11,0xff00 6,0xff00 2,0xff 5,0xff00 7,0xff00 13,0xff00 11,0xff00 12,0xff00 10,0xff00 14,0xff00 17,0xff00 14,0xff00 15,0xff00 17,0xff00 13,0xff00 12,0xff00 11,0xff00 13,0xff00 25,0xff00 29,0xff00 53,0x802020 59,0x802020 66,0x802020 91,0xffffff 95,0xffffff 75,0xffffff 65,0x802020 66,0x802020 63,0x802020 52,0x802020 46,0x802020 43,0x802020 37,0xff00 34,0xff00 37,0xff00 35,0xff00 35,0xff00 31,0xff00 30,0xff00 34,0xff00 29,0xff00 30,0xff00 29,0xff00 23,0xff00 18,0xff00 16,0xff00 16,0xff00 14,0xff00 8,0xff00 6,0xff00 4,0xff 1,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 1,0xff 0,0xff 0,0xff 1,0xff 2,0xff 3,0xff 7,0xff00 12,0xff00 13,0xff00 12,0xff00 18,0xff00 17,0xff00 16,0xff00 16,0xff00 13,0xff00 18,0xff00 16,0xff00 22,0xff00 20,0xff00 22,0xff00 17,0xff00 20,0xff00 16,0xff00 17,0xff00 21,0xff00 24,0xff00 24,0xff00 23,0xff00 28,0xff00 22,0xff00 24,0xff00 24,0xff00 24,0xff00 22,0xff00 26,0xff00 30,0xff00 31,0xff00 29,0xff00 28,0xff00 30,0xff00 34,0xff00 33,0xff00 39,0xff00 49,0x802020 85,0xffffff 80,0xffffff 78,0xffffff 87,0xffffff 86,0xffffff 74,0xffffff 75,0xffffff 69,0x802020 106,0xffffff 110,0xffffff 85,0xffffff 89,0xffffff 81,0xffffff 52,0x802020 51,0x802020 38,0xff00 44,0x802020 35,0xff00 33,0xff00 31,0xff00 34,0xff00 35,0xff00 31,0xff00 31,0xff00 36,0xff00 44,0x802020 43,0x802020 42,0x802020 42,0x802020 48,0x802020 43,0x802020 56,0x802020 48,0x802020 44,0x802020 37,0xff00 34,0xff00 29,0xff00 25,0xff00 27,0xff00 30,0xff00 32,0xff00 36,0xff00 37,0xff00 46,0x802020 42,0x802020 49,0x802020 63,0x802020 49,0x802020 79,0xffffff 67,0x802020 60,0x802020 61,0x802020 65,0x802020 68,0x802020 53,0x802020 72,0xffffff 88,0xffffff 78,0xffffff 62,0x802020 79,0xffffff 91,0xffffff 91,0xffffff 93,0xffffff 97,0xffffff 97,0xffffff 115,0xffffff 84,0xffffff 93,0xffffff 84,0xffffff 73,0xffffff 102,0xffffff 130,0xffffff 135,0xffffff 134,0xffffff 118,0xffffff 120,0xffffff + 1,0xff 1,0xff 1,0xff 0,0xff 1,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 2,0xff 4,0xff 6,0xff00 9,0xff00 7,0xff00 2,0xff 5,0xff00 7,0xff00 10,0xff00 10,0xff00 10,0xff00 10,0xff00 9,0xff00 16,0xff00 14,0xff00 13,0xff00 17,0xff00 13,0xff00 9,0xff00 11,0xff00 14,0xff00 18,0xff00 30,0xff00 31,0xff00 53,0x802020 51,0x802020 73,0xffffff 74,0xffffff 81,0xffffff 67,0x802020 54,0x802020 55,0x802020 60,0x802020 53,0x802020 43,0x802020 36,0xff00 32,0xff00 30,0xff00 30,0xff00 31,0xff00 31,0xff00 30,0xff00 28,0xff00 34,0xff00 31,0xff00 28,0xff00 21,0xff00 19,0xff00 13,0xff00 16,0xff00 11,0xff00 7,0xff00 4,0xff 1,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 3,0xff 4,0xff 8,0xff00 14,0xff00 14,0xff00 11,0xff00 17,0xff00 14,0xff00 16,0xff00 10,0xff00 10,0xff00 14,0xff00 18,0xff00 18,0xff00 15,0xff00 18,0xff00 21,0xff00 20,0xff00 18,0xff00 20,0xff00 23,0xff00 23,0xff00 20,0xff00 24,0xff00 26,0xff00 27,0xff00 26,0xff00 25,0xff00 27,0xff00 27,0xff00 27,0xff00 25,0xff00 27,0xff00 23,0xff00 26,0xff00 32,0xff00 34,0xff00 50,0x802020 49,0x802020 61,0x802020 74,0xffffff 67,0x802020 74,0xffffff 73,0xffffff 93,0xffffff 86,0xffffff 95,0xffffff 108,0xffffff 120,0xffffff 91,0xffffff 64,0x802020 55,0x802020 70,0xffffff 51,0x802020 53,0x802020 40,0x802020 38,0xff00 38,0xff00 35,0xff00 33,0xff00 34,0xff00 37,0xff00 36,0xff00 45,0x802020 47,0x802020 42,0x802020 50,0x802020 47,0x802020 43,0x802020 43,0x802020 51,0x802020 41,0x802020 34,0xff00 40,0x802020 35,0xff00 28,0xff00 29,0xff00 31,0xff00 33,0xff00 33,0xff00 33,0xff00 34,0xff00 36,0xff00 50,0x802020 50,0x802020 54,0x802020 57,0x802020 55,0x802020 71,0xffffff 59,0x802020 64,0x802020 57,0x802020 59,0x802020 58,0x802020 47,0x802020 75,0xffffff 89,0xffffff 73,0xffffff 66,0x802020 73,0xffffff 68,0x802020 73,0xffffff 102,0xffffff 104,0xffffff 91,0xffffff 102,0xffffff 76,0xffffff 102,0xffffff 96,0xffffff 87,0xffffff 136,0xffffff 159,0xffffff 147,0xffffff 129,0xffffff 95,0xffffff 121,0xffffff + 0,0xff 0,0xff 2,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 1,0xff 1,0xff 0,0xff 0,0xff 1,0xff 1,0xff 2,0xff 2,0xff 3,0xff 5,0xff00 4,0xff 5,0xff00 1,0xff 4,0xff 5,0xff00 10,0xff00 7,0xff00 13,0xff00 14,0xff00 12,0xff00 15,0xff00 12,0xff00 11,0xff00 14,0xff00 11,0xff00 9,0xff00 17,0xff00 23,0xff00 27,0xff00 39,0xff00 40,0x802020 52,0x802020 52,0x802020 60,0x802020 68,0x802020 70,0xffffff 62,0x802020 55,0x802020 51,0x802020 59,0x802020 47,0x802020 38,0xff00 29,0xff00 27,0xff00 29,0xff00 30,0xff00 32,0xff00 27,0xff00 24,0xff00 26,0xff00 26,0xff00 24,0xff00 24,0xff00 14,0xff00 12,0xff00 13,0xff00 12,0xff00 7,0xff00 3,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 7,0xff00 6,0xff00 10,0xff00 12,0xff00 15,0xff00 12,0xff00 16,0xff00 10,0xff00 12,0xff00 13,0xff00 15,0xff00 16,0xff00 18,0xff00 13,0xff00 11,0xff00 16,0xff00 13,0xff00 14,0xff00 16,0xff00 22,0xff00 22,0xff00 17,0xff00 20,0xff00 25,0xff00 25,0xff00 27,0xff00 27,0xff00 23,0xff00 25,0xff00 26,0xff00 27,0xff00 26,0xff00 25,0xff00 21,0xff00 25,0xff00 27,0xff00 40,0x802020 64,0x802020 62,0x802020 66,0x802020 55,0x802020 55,0x802020 70,0xffffff 89,0xffffff 92,0xffffff 88,0xffffff 75,0xffffff 94,0xffffff 101,0xffffff 66,0x802020 53,0x802020 58,0x802020 63,0x802020 43,0x802020 44,0x802020 33,0xff00 34,0xff00 37,0xff00 36,0xff00 36,0xff00 36,0xff00 35,0xff00 33,0xff00 34,0xff00 44,0x802020 35,0xff00 41,0x802020 42,0x802020 39,0xff00 45,0x802020 42,0x802020 38,0xff00 38,0xff00 37,0xff00 35,0xff00 32,0xff00 30,0xff00 29,0xff00 28,0xff00 29,0xff00 32,0xff00 35,0xff00 36,0xff00 38,0xff00 45,0x802020 50,0x802020 65,0x802020 63,0x802020 62,0x802020 61,0x802020 60,0x802020 53,0x802020 65,0x802020 57,0x802020 51,0x802020 98,0xffffff 83,0xffffff 60,0x802020 68,0x802020 57,0x802020 80,0xffffff 89,0xffffff 93,0xffffff 88,0xffffff 79,0xffffff 107,0xffffff 81,0xffffff 101,0xffffff 121,0xffffff 124,0xffffff 142,0xffffff 139,0xffffff 144,0xffffff 136,0xffffff 126,0xffffff 118,0xffffff + 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 1,0xff 3,0xff 2,0xff 1,0xff 1,0xff 2,0xff 4,0xff 4,0xff 11,0xff00 10,0xff00 13,0xff00 9,0xff00 12,0xff00 11,0xff00 14,0xff00 12,0xff00 13,0xff00 17,0xff00 18,0xff00 25,0xff00 39,0xff00 42,0x802020 46,0x802020 51,0x802020 59,0x802020 58,0x802020 51,0x802020 61,0x802020 55,0x802020 55,0x802020 63,0x802020 53,0x802020 60,0x802020 43,0x802020 36,0xff00 29,0xff00 23,0xff00 25,0xff00 28,0xff00 31,0xff00 28,0xff00 24,0xff00 22,0xff00 22,0xff00 25,0xff00 21,0xff00 14,0xff00 8,0xff00 11,0xff00 6,0xff00 2,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 1,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 3,0xff 6,0xff00 9,0xff00 10,0xff00 15,0xff00 15,0xff00 11,0xff00 11,0xff00 11,0xff00 8,0xff00 12,0xff00 16,0xff00 12,0xff00 14,0xff00 12,0xff00 14,0xff00 15,0xff00 13,0xff00 14,0xff00 21,0xff00 24,0xff00 23,0xff00 20,0xff00 27,0xff00 30,0xff00 29,0xff00 28,0xff00 23,0xff00 21,0xff00 25,0xff00 28,0xff00 24,0xff00 27,0xff00 30,0xff00 30,0xff00 35,0xff00 42,0x802020 61,0x802020 64,0x802020 68,0x802020 58,0x802020 49,0x802020 52,0x802020 69,0x802020 97,0xffffff 91,0xffffff 74,0xffffff 91,0xffffff 86,0xffffff 83,0xffffff 56,0x802020 53,0x802020 66,0x802020 57,0x802020 44,0x802020 39,0xff00 35,0xff00 33,0xff00 32,0xff00 29,0xff00 30,0xff00 32,0xff00 36,0xff00 39,0xff00 39,0xff00 39,0xff00 36,0xff00 37,0xff00 39,0xff00 36,0xff00 39,0xff00 37,0xff00 33,0xff00 37,0xff00 37,0xff00 32,0xff00 27,0xff00 27,0xff00 30,0xff00 29,0xff00 29,0xff00 29,0xff00 35,0xff00 45,0x802020 47,0x802020 52,0x802020 58,0x802020 52,0x802020 55,0x802020 52,0x802020 49,0x802020 55,0x802020 44,0x802020 77,0xffffff 87,0xffffff 71,0xffffff 82,0xffffff 64,0x802020 59,0x802020 57,0x802020 50,0x802020 83,0xffffff 76,0xffffff 81,0xffffff 102,0xffffff 78,0xffffff 69,0x802020 73,0xffffff 92,0xffffff 115,0xffffff 125,0xffffff 117,0xffffff 125,0xffffff 149,0xffffff 136,0xffffff 136,0xffffff 120,0xffffff + 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 1,0xff 1,0xff 0,0xff 2,0xff 2,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 2,0xff 0,0xff 0,0xff 3,0xff 9,0xff00 9,0xff00 10,0xff00 12,0xff00 17,0xff00 15,0xff00 16,0xff00 15,0xff00 15,0xff00 13,0xff00 20,0xff00 21,0xff00 23,0xff00 31,0xff00 38,0xff00 36,0xff00 38,0xff00 39,0xff00 70,0xffffff 67,0x802020 64,0x802020 64,0x802020 51,0x802020 55,0x802020 49,0x802020 46,0x802020 44,0x802020 37,0xff00 30,0xff00 30,0xff00 28,0xff00 27,0xff00 29,0xff00 27,0xff00 23,0xff00 18,0xff00 18,0xff00 23,0xff00 21,0xff00 13,0xff00 11,0xff00 7,0xff00 8,0xff00 4,0xff 0,0xff 0,0xff 1,0xff 2,0xff 2,0xff 1,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 4,0xff 4,0xff 11,0xff00 11,0xff00 15,0xff00 12,0xff00 11,0xff00 5,0xff00 8,0xff00 8,0xff00 12,0xff00 16,0xff00 11,0xff00 15,0xff00 14,0xff00 17,0xff00 17,0xff00 14,0xff00 22,0xff00 24,0xff00 24,0xff00 24,0xff00 22,0xff00 24,0xff00 24,0xff00 27,0xff00 20,0xff00 19,0xff00 22,0xff00 27,0xff00 28,0xff00 31,0xff00 42,0x802020 41,0x802020 44,0x802020 47,0x802020 46,0x802020 47,0x802020 52,0x802020 56,0x802020 51,0x802020 71,0xffffff 97,0xffffff 95,0xffffff 73,0xffffff 77,0xffffff 61,0x802020 80,0xffffff 70,0xffffff 59,0x802020 46,0x802020 54,0x802020 57,0x802020 49,0x802020 39,0xff00 38,0xff00 34,0xff00 31,0xff00 31,0xff00 26,0xff00 28,0xff00 28,0xff00 31,0xff00 29,0xff00 40,0x802020 42,0x802020 39,0xff00 36,0xff00 36,0xff00 32,0xff00 34,0xff00 37,0xff00 38,0xff00 38,0xff00 34,0xff00 31,0xff00 30,0xff00 27,0xff00 25,0xff00 28,0xff00 30,0xff00 34,0xff00 39,0xff00 43,0x802020 36,0xff00 46,0x802020 55,0x802020 41,0x802020 45,0x802020 48,0x802020 54,0x802020 67,0x802020 80,0xffffff 97,0xffffff 79,0xffffff 71,0xffffff 71,0xffffff 53,0x802020 52,0x802020 58,0x802020 63,0x802020 61,0x802020 72,0xffffff 78,0xffffff 79,0xffffff 68,0x802020 65,0x802020 57,0x802020 89,0xffffff 108,0xffffff 147,0xffffff 121,0xffffff 143,0xffffff 138,0xffffff 128,0xffffff 108,0xffffff 120,0xffffff + 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 1,0xff 1,0xff 0,0xff 0,0xff 1,0xff 2,0xff 1,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 1,0xff 4,0xff 8,0xff00 6,0xff00 8,0xff00 12,0xff00 15,0xff00 11,0xff00 14,0xff00 13,0xff00 18,0xff00 17,0xff00 19,0xff00 26,0xff00 31,0xff00 32,0xff00 35,0xff00 38,0xff00 47,0x802020 68,0x802020 60,0x802020 49,0x802020 46,0x802020 45,0x802020 59,0x802020 47,0x802020 50,0x802020 40,0x802020 30,0xff00 30,0xff00 25,0xff00 26,0xff00 29,0xff00 25,0xff00 20,0xff00 16,0xff00 17,0xff00 16,0xff00 14,0xff00 12,0xff00 7,0xff00 8,0xff00 3,0xff 2,0xff 1,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 1,0xff 1,0xff 1,0xff 1,0xff 2,0xff 4,0xff 5,0xff00 5,0xff00 10,0xff00 10,0xff00 10,0xff00 15,0xff00 14,0xff00 7,0xff00 7,0xff00 6,0xff00 6,0xff00 5,0xff00 11,0xff00 14,0xff00 14,0xff00 16,0xff00 16,0xff00 17,0xff00 19,0xff00 19,0xff00 23,0xff00 18,0xff00 21,0xff00 26,0xff00 24,0xff00 20,0xff00 23,0xff00 20,0xff00 22,0xff00 20,0xff00 26,0xff00 25,0xff00 32,0xff00 39,0xff00 51,0x802020 43,0x802020 39,0xff00 37,0xff00 44,0x802020 45,0x802020 49,0x802020 53,0x802020 75,0xffffff 71,0xffffff 65,0x802020 79,0xffffff 78,0xffffff 65,0x802020 68,0x802020 74,0xffffff 54,0x802020 56,0x802020 56,0x802020 60,0x802020 57,0x802020 45,0x802020 35,0xff00 33,0xff00 30,0xff00 33,0xff00 32,0xff00 28,0xff00 25,0xff00 29,0xff00 31,0xff00 31,0xff00 44,0x802020 43,0x802020 40,0x802020 37,0xff00 38,0xff00 34,0xff00 33,0xff00 34,0xff00 38,0xff00 37,0xff00 32,0xff00 26,0xff00 26,0xff00 26,0xff00 27,0xff00 29,0xff00 26,0xff00 30,0xff00 30,0xff00 42,0x802020 39,0xff00 43,0x802020 38,0xff00 41,0x802020 43,0x802020 43,0x802020 52,0x802020 75,0xffffff 79,0xffffff 63,0x802020 75,0xffffff 69,0x802020 54,0x802020 48,0x802020 48,0x802020 57,0x802020 49,0x802020 54,0x802020 76,0xffffff 72,0xffffff 64,0x802020 61,0x802020 98,0xffffff 90,0xffffff 122,0xffffff 117,0xffffff 132,0xffffff 100,0xffffff 123,0xffffff 133,0xffffff 101,0xffffff 96,0xffffff 118,0xffffff + 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 6,0xff00 5,0xff00 6,0xff00 4,0xff 6,0xff00 9,0xff00 11,0xff00 16,0xff00 17,0xff00 15,0xff00 16,0xff00 19,0xff00 22,0xff00 26,0xff00 34,0xff00 40,0x802020 45,0x802020 49,0x802020 45,0x802020 57,0x802020 60,0x802020 46,0x802020 48,0x802020 41,0x802020 58,0x802020 40,0x802020 45,0x802020 35,0xff00 29,0xff00 25,0xff00 24,0xff00 25,0xff00 22,0xff00 20,0xff00 15,0xff00 14,0xff00 13,0xff00 12,0xff00 10,0xff00 7,0xff00 2,0xff 5,0xff00 2,0xff 0,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 2,0xff 3,0xff 10,0xff00 9,0xff00 11,0xff00 8,0xff00 13,0xff00 6,0xff00 3,0xff 4,0xff 5,0xff00 8,0xff00 5,0xff00 13,0xff00 9,0xff00 13,0xff00 16,0xff00 17,0xff00 22,0xff00 22,0xff00 21,0xff00 23,0xff00 21,0xff00 23,0xff00 26,0xff00 21,0xff00 19,0xff00 18,0xff00 22,0xff00 22,0xff00 22,0xff00 28,0xff00 29,0xff00 37,0xff00 38,0xff00 38,0xff00 41,0x802020 51,0x802020 52,0x802020 51,0x802020 45,0x802020 46,0x802020 59,0x802020 84,0xffffff 71,0xffffff 62,0x802020 78,0xffffff 59,0x802020 51,0x802020 46,0x802020 74,0xffffff 61,0x802020 56,0x802020 51,0x802020 57,0x802020 53,0x802020 40,0x802020 30,0xff00 34,0xff00 31,0xff00 27,0xff00 27,0xff00 24,0xff00 27,0xff00 30,0xff00 27,0xff00 31,0xff00 43,0x802020 37,0xff00 36,0xff00 35,0xff00 36,0xff00 34,0xff00 28,0xff00 32,0xff00 34,0xff00 27,0xff00 26,0xff00 26,0xff00 27,0xff00 24,0xff00 22,0xff00 25,0xff00 29,0xff00 29,0xff00 35,0xff00 34,0xff00 34,0xff00 41,0x802020 46,0x802020 53,0x802020 50,0x802020 44,0x802020 40,0x802020 76,0xffffff 66,0x802020 59,0x802020 66,0x802020 62,0x802020 43,0x802020 48,0x802020 53,0x802020 64,0x802020 57,0x802020 60,0x802020 94,0xffffff 73,0xffffff 68,0x802020 57,0x802020 97,0xffffff 123,0xffffff 121,0xffffff 135,0xffffff 135,0xffffff 91,0xffffff 124,0xffffff 97,0xffffff 99,0xffffff 106,0xffffff 117,0xffffff + 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 5,0xff00 4,0xff 8,0xff00 5,0xff00 8,0xff00 6,0xff00 8,0xff00 14,0xff00 16,0xff00 13,0xff00 18,0xff00 18,0xff00 23,0xff00 26,0xff00 30,0xff00 41,0x802020 38,0xff00 42,0x802020 36,0xff00 48,0x802020 43,0x802020 34,0xff00 41,0x802020 37,0xff00 45,0x802020 36,0xff00 32,0xff00 24,0xff00 22,0xff00 18,0xff00 20,0xff00 19,0xff00 18,0xff00 17,0xff00 13,0xff00 13,0xff00 12,0xff00 10,0xff00 5,0xff00 3,0xff 3,0xff 4,0xff 1,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 1,0xff 1,0xff 0,0xff 0,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 7,0xff00 12,0xff00 11,0xff00 8,0xff00 3,0xff 7,0xff00 3,0xff 0,0xff 1,0xff 3,0xff 5,0xff00 7,0xff00 16,0xff00 15,0xff00 16,0xff00 15,0xff00 22,0xff00 22,0xff00 25,0xff00 23,0xff00 19,0xff00 23,0xff00 21,0xff00 21,0xff00 22,0xff00 22,0xff00 19,0xff00 21,0xff00 27,0xff00 28,0xff00 28,0xff00 34,0xff00 38,0xff00 36,0xff00 39,0xff00 43,0x802020 59,0x802020 56,0x802020 48,0x802020 53,0x802020 59,0x802020 68,0x802020 97,0xffffff 73,0xffffff 62,0x802020 61,0x802020 50,0x802020 43,0x802020 48,0x802020 56,0x802020 49,0x802020 49,0x802020 39,0xff00 40,0x802020 44,0x802020 34,0xff00 28,0xff00 32,0xff00 30,0xff00 23,0xff00 25,0xff00 30,0xff00 30,0xff00 33,0xff00 32,0xff00 35,0xff00 37,0xff00 38,0xff00 37,0xff00 33,0xff00 36,0xff00 35,0xff00 31,0xff00 35,0xff00 32,0xff00 31,0xff00 30,0xff00 28,0xff00 24,0xff00 22,0xff00 18,0xff00 21,0xff00 26,0xff00 30,0xff00 32,0xff00 31,0xff00 47,0x802020 47,0x802020 41,0x802020 39,0xff00 45,0x802020 59,0x802020 65,0x802020 73,0xffffff 68,0x802020 64,0x802020 57,0x802020 51,0x802020 46,0x802020 53,0x802020 62,0x802020 63,0x802020 48,0x802020 85,0xffffff 106,0xffffff 76,0xffffff 66,0x802020 57,0x802020 104,0xffffff 141,0xffffff 133,0xffffff 136,0xffffff 118,0xffffff 82,0xffffff 120,0xffffff 113,0xffffff 82,0xffffff 103,0xffffff 116,0xffffff + 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 1,0xff 0,0xff 1,0xff 1,0xff 1,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 1,0xff 2,0xff 4,0xff 4,0xff 5,0xff00 2,0xff 8,0xff00 10,0xff00 8,0xff00 11,0xff00 13,0xff00 14,0xff00 19,0xff00 20,0xff00 25,0xff00 26,0xff00 31,0xff00 33,0xff00 33,0xff00 36,0xff00 35,0xff00 44,0x802020 36,0xff00 29,0xff00 40,0x802020 36,0xff00 38,0xff00 30,0xff00 25,0xff00 22,0xff00 21,0xff00 14,0xff00 16,0xff00 13,0xff00 12,0xff00 12,0xff00 10,0xff00 8,0xff00 9,0xff00 5,0xff00 3,0xff 2,0xff 1,0xff 2,0xff 1,0xff 0,0xff 0,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 2,0xff 6,0xff00 6,0xff00 2,0xff 5,0xff00 6,0xff00 3,0xff 2,0xff 2,0xff 5,0xff00 8,0xff00 5,0xff00 12,0xff00 16,0xff00 16,0xff00 20,0xff00 20,0xff00 18,0xff00 22,0xff00 23,0xff00 21,0xff00 22,0xff00 17,0xff00 22,0xff00 22,0xff00 22,0xff00 16,0xff00 21,0xff00 27,0xff00 34,0xff00 34,0xff00 36,0xff00 33,0xff00 30,0xff00 41,0x802020 53,0x802020 63,0x802020 56,0x802020 55,0x802020 51,0x802020 63,0x802020 57,0x802020 83,0xffffff 54,0x802020 54,0x802020 49,0x802020 48,0x802020 40,0x802020 44,0x802020 47,0x802020 43,0x802020 37,0xff00 34,0xff00 36,0xff00 38,0xff00 30,0xff00 28,0xff00 24,0xff00 24,0xff00 22,0xff00 27,0xff00 30,0xff00 30,0xff00 34,0xff00 33,0xff00 39,0xff00 39,0xff00 37,0xff00 34,0xff00 34,0xff00 32,0xff00 29,0xff00 27,0xff00 32,0xff00 28,0xff00 27,0xff00 27,0xff00 21,0xff00 20,0xff00 20,0xff00 21,0xff00 29,0xff00 43,0x802020 42,0x802020 46,0x802020 45,0x802020 55,0x802020 49,0x802020 46,0x802020 48,0x802020 75,0xffffff 86,0xffffff 73,0xffffff 68,0x802020 54,0x802020 49,0x802020 45,0x802020 40,0x802020 38,0xff00 43,0x802020 52,0x802020 58,0x802020 51,0x802020 94,0xffffff 88,0xffffff 70,0xffffff 64,0x802020 89,0xffffff 107,0xffffff 135,0xffffff 138,0xffffff 109,0xffffff 120,0xffffff 99,0xffffff 138,0xffffff 112,0xffffff 76,0xffffff 100,0xffffff 112,0xffffff + 1,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 1,0xff 0,0xff 0,0xff 1,0xff 0,0xff 1,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 2,0xff 2,0xff 2,0xff 5,0xff00 4,0xff 4,0xff 11,0xff00 8,0xff00 9,0xff00 12,0xff00 14,0xff00 18,0xff00 23,0xff00 24,0xff00 22,0xff00 28,0xff00 29,0xff00 32,0xff00 29,0xff00 34,0xff00 32,0xff00 38,0xff00 32,0xff00 28,0xff00 35,0xff00 34,0xff00 33,0xff00 26,0xff00 22,0xff00 17,0xff00 13,0xff00 10,0xff00 15,0xff00 15,0xff00 11,0xff00 10,0xff00 11,0xff00 6,0xff00 7,0xff00 3,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 2,0xff 1,0xff 1,0xff 4,0xff 5,0xff00 2,0xff 2,0xff 0,0xff 1,0xff 2,0xff 5,0xff00 14,0xff00 19,0xff00 19,0xff00 17,0xff00 19,0xff00 17,0xff00 16,0xff00 17,0xff00 20,0xff00 17,0xff00 14,0xff00 18,0xff00 19,0xff00 17,0xff00 17,0xff00 27,0xff00 28,0xff00 36,0xff00 32,0xff00 35,0xff00 37,0xff00 39,0xff00 43,0x802020 62,0x802020 59,0x802020 54,0x802020 55,0x802020 61,0x802020 59,0x802020 50,0x802020 76,0xffffff 55,0x802020 59,0x802020 50,0x802020 42,0x802020 40,0x802020 38,0xff00 40,0x802020 42,0x802020 36,0xff00 38,0xff00 36,0xff00 30,0xff00 26,0xff00 21,0xff00 20,0xff00 25,0xff00 24,0xff00 24,0xff00 26,0xff00 29,0xff00 35,0xff00 35,0xff00 35,0xff00 38,0xff00 35,0xff00 27,0xff00 28,0xff00 29,0xff00 29,0xff00 24,0xff00 29,0xff00 23,0xff00 25,0xff00 23,0xff00 19,0xff00 22,0xff00 22,0xff00 27,0xff00 28,0xff00 48,0x802020 42,0x802020 43,0x802020 56,0x802020 52,0x802020 55,0x802020 43,0x802020 37,0xff00 76,0xffffff 88,0xffffff 71,0xffffff 59,0x802020 54,0x802020 45,0x802020 38,0xff00 39,0xff00 38,0xff00 39,0xff00 54,0x802020 51,0x802020 55,0x802020 85,0xffffff 65,0x802020 60,0x802020 89,0xffffff 80,0xffffff 95,0xffffff 107,0xffffff 128,0xffffff 134,0xffffff 115,0xffffff 89,0xffffff 98,0xffffff 108,0xffffff 110,0xffffff 129,0xffffff 115,0xffffff + 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 1,0xff 0,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 1,0xff 2,0xff 2,0xff 3,0xff 3,0xff 8,0xff00 3,0xff 7,0xff00 9,0xff00 15,0xff00 18,0xff00 23,0xff00 22,0xff00 22,0xff00 29,0xff00 31,0xff00 27,0xff00 31,0xff00 35,0xff00 31,0xff00 27,0xff00 24,0xff00 25,0xff00 31,0xff00 31,0xff00 24,0xff00 22,0xff00 21,0xff00 14,0xff00 9,0xff00 13,0xff00 14,0xff00 7,0xff00 5,0xff00 8,0xff00 11,0xff00 5,0xff00 2,0xff 2,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 1,0xff 2,0xff 1,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 1,0xff 1,0xff 3,0xff 3,0xff 0,0xff 0,0xff 0,0xff 1,0xff 7,0xff00 12,0xff00 13,0xff00 20,0xff00 21,0xff00 17,0xff00 14,0xff00 17,0xff00 17,0xff00 18,0xff00 18,0xff00 11,0xff00 14,0xff00 17,0xff00 19,0xff00 21,0xff00 25,0xff00 29,0xff00 31,0xff00 32,0xff00 34,0xff00 37,0xff00 39,0xff00 38,0xff00 39,0xff00 47,0x802020 48,0x802020 48,0x802020 56,0x802020 56,0x802020 50,0x802020 52,0x802020 66,0x802020 45,0x802020 44,0x802020 42,0x802020 36,0xff00 37,0xff00 39,0xff00 38,0xff00 37,0xff00 36,0xff00 37,0xff00 36,0xff00 30,0xff00 28,0xff00 24,0xff00 22,0xff00 25,0xff00 20,0xff00 22,0xff00 23,0xff00 26,0xff00 32,0xff00 30,0xff00 29,0xff00 31,0xff00 29,0xff00 27,0xff00 32,0xff00 31,0xff00 28,0xff00 22,0xff00 23,0xff00 18,0xff00 22,0xff00 23,0xff00 19,0xff00 17,0xff00 21,0xff00 26,0xff00 33,0xff00 53,0x802020 49,0x802020 43,0x802020 38,0xff00 40,0x802020 49,0x802020 39,0xff00 46,0x802020 77,0xffffff 82,0xffffff 69,0x802020 57,0x802020 53,0x802020 53,0x802020 49,0x802020 45,0x802020 49,0x802020 43,0x802020 48,0x802020 76,0xffffff 79,0xffffff 83,0xffffff 68,0x802020 70,0xffffff 63,0x802020 56,0x802020 81,0xffffff 99,0xffffff 136,0xffffff 127,0xffffff 109,0xffffff 91,0xffffff 119,0xffffff 120,0xffffff 116,0xffffff 122,0xffffff 113,0xffffff + 1,0xff 1,0xff 1,0xff 0,0xff 0,0xff 1,0xff 1,0xff 0,0xff 0,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 1,0xff 1,0xff 1,0xff 0,0xff 1,0xff 1,0xff 3,0xff 2,0xff 1,0xff 8,0xff00 6,0xff00 13,0xff00 17,0xff00 19,0xff00 18,0xff00 24,0xff00 19,0xff00 18,0xff00 23,0xff00 25,0xff00 28,0xff00 29,0xff00 27,0xff00 25,0xff00 26,0xff00 27,0xff00 24,0xff00 23,0xff00 22,0xff00 19,0xff00 18,0xff00 15,0xff00 13,0xff00 10,0xff00 9,0xff00 10,0xff00 4,0xff 3,0xff 4,0xff 8,0xff00 3,0xff 2,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 1,0xff 0,0xff 2,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 1,0xff 2,0xff 1,0xff 2,0xff 0,0xff 1,0xff 2,0xff 2,0xff 7,0xff00 13,0xff00 13,0xff00 17,0xff00 15,0xff00 17,0xff00 18,0xff00 20,0xff00 18,0xff00 16,0xff00 15,0xff00 17,0xff00 21,0xff00 22,0xff00 25,0xff00 27,0xff00 28,0xff00 33,0xff00 34,0xff00 31,0xff00 46,0x802020 45,0x802020 40,0x802020 37,0xff00 50,0x802020 45,0x802020 44,0x802020 45,0x802020 57,0x802020 53,0x802020 45,0x802020 44,0x802020 54,0x802020 52,0x802020 43,0x802020 36,0xff00 37,0xff00 34,0xff00 37,0xff00 33,0xff00 37,0xff00 35,0xff00 34,0xff00 26,0xff00 24,0xff00 23,0xff00 26,0xff00 22,0xff00 20,0xff00 21,0xff00 26,0xff00 24,0xff00 29,0xff00 27,0xff00 31,0xff00 26,0xff00 27,0xff00 30,0xff00 27,0xff00 30,0xff00 23,0xff00 23,0xff00 23,0xff00 20,0xff00 17,0xff00 24,0xff00 22,0xff00 21,0xff00 21,0xff00 25,0xff00 37,0xff00 43,0x802020 55,0x802020 50,0x802020 50,0x802020 53,0x802020 56,0x802020 54,0x802020 45,0x802020 59,0x802020 63,0x802020 64,0x802020 60,0x802020 59,0x802020 49,0x802020 53,0x802020 55,0x802020 52,0x802020 52,0x802020 64,0x802020 86,0xffffff 104,0xffffff 85,0xffffff 73,0xffffff 82,0xffffff 70,0xffffff 88,0xffffff 76,0xffffff 108,0xffffff 121,0xffffff 111,0xffffff 116,0xffffff 96,0xffffff 102,0xffffff 148,0xffffff 143,0xffffff 127,0xffffff 113,0xffffff 110,0xffffff + 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 1,0xff 0,0xff 0,0xff 1,0xff 2,0xff 1,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 3,0xff 4,0xff 5,0xff00 6,0xff00 13,0xff00 16,0xff00 18,0xff00 16,0xff00 17,0xff00 18,0xff00 17,0xff00 17,0xff00 23,0xff00 21,0xff00 24,0xff00 27,0xff00 26,0xff00 25,0xff00 22,0xff00 23,0xff00 17,0xff00 16,0xff00 15,0xff00 15,0xff00 12,0xff00 9,0xff00 12,0xff00 8,0xff00 9,0xff00 6,0xff00 3,0xff 3,0xff 4,0xff 3,0xff 1,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 1,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 1,0xff 1,0xff 0,0xff 0,0xff 2,0xff 2,0xff 0,0xff 0,0xff 1,0xff 8,0xff00 9,0xff00 10,0xff00 14,0xff00 17,0xff00 18,0xff00 21,0xff00 19,0xff00 18,0xff00 12,0xff00 14,0xff00 12,0xff00 18,0xff00 22,0xff00 28,0xff00 30,0xff00 32,0xff00 33,0xff00 37,0xff00 38,0xff00 41,0x802020 53,0x802020 46,0x802020 46,0x802020 40,0x802020 46,0x802020 38,0xff00 47,0x802020 40,0x802020 44,0x802020 45,0x802020 43,0x802020 53,0x802020 56,0x802020 53,0x802020 43,0x802020 38,0xff00 36,0xff00 32,0xff00 36,0xff00 32,0xff00 30,0xff00 30,0xff00 29,0xff00 22,0xff00 18,0xff00 18,0xff00 22,0xff00 21,0xff00 20,0xff00 19,0xff00 25,0xff00 22,0xff00 28,0xff00 27,0xff00 24,0xff00 22,0xff00 27,0xff00 23,0xff00 25,0xff00 28,0xff00 22,0xff00 25,0xff00 21,0xff00 23,0xff00 21,0xff00 21,0xff00 16,0xff00 18,0xff00 21,0xff00 29,0xff00 33,0xff00 49,0x802020 49,0x802020 54,0x802020 47,0x802020 48,0x802020 61,0x802020 56,0x802020 48,0x802020 51,0x802020 54,0x802020 59,0x802020 60,0x802020 52,0x802020 57,0x802020 55,0x802020 50,0x802020 55,0x802020 62,0x802020 65,0x802020 111,0xffffff 106,0xffffff 105,0xffffff 98,0xffffff 117,0xffffff 108,0xffffff 109,0xffffff 87,0xffffff 97,0xffffff 119,0xffffff 104,0xffffff 102,0xffffff 116,0xffffff 141,0xffffff 143,0xffffff 126,0xffffff 98,0xffffff 104,0xffffff 110,0xffffff + 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 1,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 1,0xff 1,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 2,0xff 5,0xff00 4,0xff 4,0xff 10,0xff00 14,0xff00 15,0xff00 14,0xff00 14,0xff00 18,0xff00 13,0xff00 16,0xff00 24,0xff00 26,0xff00 25,0xff00 22,0xff00 24,0xff00 23,0xff00 16,0xff00 18,0xff00 11,0xff00 12,0xff00 7,0xff00 8,0xff00 6,0xff00 8,0xff00 8,0xff00 7,0xff00 5,0xff00 3,0xff 3,0xff 3,0xff 3,0xff 2,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 1,0xff 0,0xff 1,0xff 0,0xff 1,0xff 0,0xff 0,0xff 2,0xff 2,0xff 1,0xff 0,0xff 1,0xff 1,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 7,0xff00 14,0xff00 13,0xff00 13,0xff00 19,0xff00 16,0xff00 15,0xff00 15,0xff00 12,0xff00 14,0xff00 14,0xff00 19,0xff00 21,0xff00 19,0xff00 24,0xff00 28,0xff00 32,0xff00 30,0xff00 36,0xff00 38,0xff00 39,0xff00 58,0x802020 51,0x802020 43,0x802020 37,0xff00 39,0xff00 32,0xff00 47,0x802020 46,0x802020 55,0x802020 60,0x802020 57,0x802020 53,0x802020 60,0x802020 48,0x802020 37,0xff00 34,0xff00 32,0xff00 28,0xff00 31,0xff00 32,0xff00 28,0xff00 30,0xff00 25,0xff00 20,0xff00 22,0xff00 20,0xff00 18,0xff00 21,0xff00 22,0xff00 26,0xff00 27,0xff00 25,0xff00 24,0xff00 27,0xff00 23,0xff00 19,0xff00 21,0xff00 19,0xff00 23,0xff00 26,0xff00 21,0xff00 26,0xff00 21,0xff00 22,0xff00 18,0xff00 17,0xff00 18,0xff00 24,0xff00 29,0xff00 31,0xff00 37,0xff00 43,0x802020 58,0x802020 49,0x802020 42,0x802020 55,0x802020 68,0x802020 57,0x802020 44,0x802020 49,0x802020 44,0x802020 43,0x802020 47,0x802020 55,0x802020 59,0x802020 60,0x802020 49,0x802020 44,0x802020 54,0x802020 63,0x802020 93,0xffffff 109,0xffffff 100,0xffffff 90,0xffffff 96,0xffffff 114,0xffffff 103,0xffffff 90,0xffffff 110,0xffffff 122,0xffffff 82,0xffffff 89,0xffffff 92,0xffffff 106,0xffffff 122,0xffffff 108,0xffffff 117,0xffffff 127,0xffffff 108,0xffffff + 0,0xff 1,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 3,0xff 5,0xff00 3,0xff 9,0xff00 14,0xff00 15,0xff00 10,0xff00 11,0xff00 11,0xff00 10,0xff00 11,0xff00 14,0xff00 21,0xff00 25,0xff00 23,0xff00 22,0xff00 21,0xff00 14,0xff00 10,0xff00 12,0xff00 11,0xff00 9,0xff00 12,0xff00 11,0xff00 8,0xff00 6,0xff00 3,0xff 2,0xff 1,0xff 2,0xff 2,0xff 0,0xff 0,0xff 1,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 1,0xff 0,0xff 2,0xff 1,0xff 1,0xff 1,0xff 2,0xff 2,0xff 1,0xff 1,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 8,0xff00 15,0xff00 16,0xff00 14,0xff00 17,0xff00 14,0xff00 17,0xff00 14,0xff00 14,0xff00 15,0xff00 14,0xff00 22,0xff00 19,0xff00 16,0xff00 21,0xff00 23,0xff00 26,0xff00 28,0xff00 33,0xff00 37,0xff00 37,0xff00 56,0x802020 43,0x802020 39,0xff00 35,0xff00 35,0xff00 33,0xff00 37,0xff00 46,0x802020 48,0x802020 57,0x802020 46,0x802020 51,0x802020 50,0x802020 39,0xff00 31,0xff00 31,0xff00 27,0xff00 28,0xff00 29,0xff00 23,0xff00 22,0xff00 25,0xff00 21,0xff00 15,0xff00 18,0xff00 20,0xff00 17,0xff00 17,0xff00 20,0xff00 24,0xff00 26,0xff00 26,0xff00 25,0xff00 20,0xff00 22,0xff00 18,0xff00 21,0xff00 19,0xff00 22,0xff00 26,0xff00 21,0xff00 20,0xff00 19,0xff00 15,0xff00 17,0xff00 21,0xff00 24,0xff00 24,0xff00 30,0xff00 31,0xff00 37,0xff00 39,0xff00 47,0x802020 42,0x802020 44,0x802020 59,0x802020 68,0x802020 55,0x802020 46,0x802020 44,0x802020 39,0xff00 40,0x802020 41,0x802020 50,0x802020 64,0x802020 60,0x802020 58,0x802020 58,0x802020 65,0x802020 71,0xffffff 89,0xffffff 91,0xffffff 106,0xffffff 75,0xffffff 73,0xffffff 86,0xffffff 83,0xffffff 88,0xffffff 115,0xffffff 92,0xffffff 81,0xffffff 74,0xffffff 95,0xffffff 92,0xffffff 94,0xffffff 102,0xffffff 111,0xffffff 110,0xffffff 108,0xffffff + 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 2,0xff 6,0xff00 13,0xff00 12,0xff00 8,0xff00 6,0xff00 10,0xff00 11,0xff00 13,0xff00 11,0xff00 17,0xff00 17,0xff00 19,0xff00 21,0xff00 21,0xff00 16,0xff00 11,0xff00 12,0xff00 9,0xff00 5,0xff00 8,0xff00 9,0xff00 10,0xff00 5,0xff00 4,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 1,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 1,0xff 0,0xff 0,0xff 2,0xff 2,0xff 1,0xff 2,0xff 1,0xff 1,0xff 1,0xff 2,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 2,0xff 8,0xff00 9,0xff00 12,0xff00 12,0xff00 15,0xff00 12,0xff00 15,0xff00 15,0xff00 16,0xff00 15,0xff00 16,0xff00 16,0xff00 19,0xff00 17,0xff00 21,0xff00 27,0xff00 28,0xff00 28,0xff00 37,0xff00 41,0x802020 48,0x802020 47,0x802020 39,0xff00 33,0xff00 35,0xff00 35,0xff00 39,0xff00 41,0x802020 39,0xff00 39,0xff00 39,0xff00 42,0x802020 49,0x802020 46,0x802020 36,0xff00 27,0xff00 31,0xff00 32,0xff00 31,0xff00 28,0xff00 24,0xff00 21,0xff00 26,0xff00 21,0xff00 15,0xff00 11,0xff00 11,0xff00 11,0xff00 14,0xff00 20,0xff00 24,0xff00 18,0xff00 18,0xff00 19,0xff00 16,0xff00 21,0xff00 18,0xff00 25,0xff00 24,0xff00 24,0xff00 21,0xff00 14,0xff00 16,0xff00 17,0xff00 17,0xff00 21,0xff00 20,0xff00 26,0xff00 27,0xff00 36,0xff00 38,0xff00 39,0xff00 36,0xff00 48,0x802020 57,0x802020 54,0x802020 51,0x802020 46,0x802020 43,0x802020 38,0xff00 38,0xff00 37,0xff00 35,0xff00 39,0xff00 39,0xff00 45,0x802020 47,0x802020 50,0x802020 61,0x802020 71,0xffffff 61,0x802020 75,0xffffff 61,0x802020 80,0xffffff 68,0x802020 96,0xffffff 73,0xffffff 86,0xffffff 89,0xffffff 89,0xffffff 66,0x802020 86,0xffffff 88,0xffffff 100,0xffffff 124,0xffffff 116,0xffffff 114,0xffffff 104,0xffffff 109,0xffffff 108,0xffffff + 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 1,0xff 1,0xff 0,0xff 1,0xff 0,0xff 0,0xff 1,0xff 1,0xff 0,0xff 0,0xff 1,0xff 0,0xff 2,0xff 1,0xff 0,0xff 3,0xff 6,0xff00 7,0xff00 3,0xff 3,0xff 5,0xff00 8,0xff00 8,0xff00 9,0xff00 16,0xff00 17,0xff00 18,0xff00 15,0xff00 13,0xff00 9,0xff00 8,0xff00 11,0xff00 5,0xff00 1,0xff 2,0xff 5,0xff00 5,0xff00 2,0xff 1,0xff 2,0xff 1,0xff 1,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 3,0xff 2,0xff 0,0xff 2,0xff 0,0xff 2,0xff 1,0xff 0,0xff 0,0xff 1,0xff 0,0xff 1,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 1,0xff 1,0xff 0,0xff 1,0xff 3,0xff 9,0xff00 12,0xff00 14,0xff00 12,0xff00 15,0xff00 11,0xff00 18,0xff00 16,0xff00 16,0xff00 16,0xff00 17,0xff00 12,0xff00 14,0xff00 17,0xff00 21,0xff00 28,0xff00 29,0xff00 31,0xff00 37,0xff00 34,0xff00 36,0xff00 45,0x802020 37,0xff00 36,0xff00 33,0xff00 36,0xff00 34,0xff00 35,0xff00 36,0xff00 38,0xff00 36,0xff00 34,0xff00 46,0x802020 39,0xff00 30,0xff00 25,0xff00 30,0xff00 29,0xff00 29,0xff00 23,0xff00 21,0xff00 19,0xff00 18,0xff00 18,0xff00 16,0xff00 14,0xff00 14,0xff00 16,0xff00 21,0xff00 23,0xff00 21,0xff00 18,0xff00 19,0xff00 20,0xff00 19,0xff00 18,0xff00 21,0xff00 24,0xff00 23,0xff00 20,0xff00 21,0xff00 17,0xff00 16,0xff00 16,0xff00 14,0xff00 18,0xff00 21,0xff00 26,0xff00 33,0xff00 33,0xff00 34,0xff00 34,0xff00 49,0x802020 47,0x802020 54,0x802020 59,0x802020 56,0x802020 52,0x802020 42,0x802020 35,0xff00 37,0xff00 39,0xff00 36,0xff00 34,0xff00 43,0x802020 50,0x802020 57,0x802020 55,0x802020 53,0x802020 54,0x802020 45,0x802020 73,0xffffff 66,0x802020 103,0xffffff 90,0xffffff 80,0xffffff 60,0x802020 74,0xffffff 59,0x802020 80,0xffffff 112,0xffffff 118,0xffffff 117,0xffffff 114,0xffffff 110,0xffffff 109,0xffffff 100,0xffffff 124,0xffffff 122,0xffffff 108,0xffffff + 0,0xff 1,0xff 0,0xff 0,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 2,0xff 1,0xff 1,0xff 0,0xff 0,0xff 4,0xff 3,0xff 3,0xff 0,0xff 2,0xff 3,0xff 4,0xff 7,0xff00 15,0xff00 15,0xff00 13,0xff00 12,0xff00 11,0xff00 9,0xff00 5,0xff00 3,0xff 6,0xff00 3,0xff 2,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 1,0xff 1,0xff 0,0xff 1,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 2,0xff 3,0xff 2,0xff 0,0xff 1,0xff 0,0xff 2,0xff 0,0xff 0,0xff 0,0xff 1,0xff 1,0xff 0,0xff 0,0xff 1,0xff 1,0xff 1,0xff 1,0xff 0,0xff 0,0xff 2,0xff 6,0xff00 6,0xff00 5,0xff00 9,0xff00 13,0xff00 16,0xff00 17,0xff00 14,0xff00 14,0xff00 13,0xff00 14,0xff00 16,0xff00 15,0xff00 11,0xff00 15,0xff00 24,0xff00 25,0xff00 30,0xff00 32,0xff00 29,0xff00 36,0xff00 31,0xff00 37,0xff00 43,0x802020 39,0xff00 35,0xff00 32,0xff00 36,0xff00 36,0xff00 37,0xff00 36,0xff00 38,0xff00 34,0xff00 33,0xff00 36,0xff00 32,0xff00 27,0xff00 28,0xff00 29,0xff00 28,0xff00 24,0xff00 17,0xff00 20,0xff00 20,0xff00 17,0xff00 14,0xff00 11,0xff00 15,0xff00 17,0xff00 17,0xff00 14,0xff00 16,0xff00 15,0xff00 15,0xff00 16,0xff00 16,0xff00 14,0xff00 17,0xff00 19,0xff00 23,0xff00 17,0xff00 16,0xff00 18,0xff00 15,0xff00 19,0xff00 17,0xff00 19,0xff00 19,0xff00 20,0xff00 27,0xff00 31,0xff00 34,0xff00 51,0x802020 50,0x802020 54,0x802020 43,0x802020 42,0x802020 46,0x802020 43,0x802020 45,0x802020 36,0xff00 29,0xff00 40,0x802020 39,0xff00 47,0x802020 50,0x802020 48,0x802020 40,0x802020 50,0x802020 53,0x802020 48,0x802020 79,0xffffff 77,0xffffff 98,0xffffff 82,0xffffff 86,0xffffff 67,0x802020 56,0x802020 79,0xffffff 77,0xffffff 77,0xffffff 114,0xffffff 118,0xffffff 106,0xffffff 131,0xffffff 133,0xffffff 141,0xffffff 131,0xffffff 130,0xffffff 130,0xffffff 108,0xffffff 107,0xffffff + 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 1,0xff 0,0xff 1,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 1,0xff 0,0xff 1,0xff 2,0xff 2,0xff 2,0xff 8,0xff00 16,0xff00 11,0xff00 11,0xff00 7,0xff00 11,0xff00 5,0xff00 4,0xff 1,0xff 2,0xff 3,0xff 1,0xff 1,0xff 0,0xff 1,0xff 0,0xff 0,0xff 1,0xff 2,0xff 1,0xff 1,0xff 1,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 1,0xff 1,0xff 0,0xff 0,0xff 1,0xff 0,0xff 2,0xff 1,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 4,0xff 4,0xff 3,0xff 4,0xff 9,0xff00 9,0xff00 10,0xff00 12,0xff00 11,0xff00 15,0xff00 10,0xff00 13,0xff00 14,0xff00 15,0xff00 14,0xff00 18,0xff00 24,0xff00 30,0xff00 33,0xff00 35,0xff00 37,0xff00 48,0x802020 44,0x802020 40,0x802020 41,0x802020 34,0xff00 35,0xff00 34,0xff00 39,0xff00 37,0xff00 35,0xff00 33,0xff00 34,0xff00 28,0xff00 27,0xff00 27,0xff00 22,0xff00 21,0xff00 24,0xff00 28,0xff00 24,0xff00 21,0xff00 18,0xff00 15,0xff00 19,0xff00 19,0xff00 15,0xff00 13,0xff00 16,0xff00 18,0xff00 13,0xff00 13,0xff00 16,0xff00 11,0xff00 12,0xff00 14,0xff00 15,0xff00 20,0xff00 20,0xff00 17,0xff00 13,0xff00 12,0xff00 12,0xff00 14,0xff00 12,0xff00 13,0xff00 15,0xff00 18,0xff00 21,0xff00 23,0xff00 26,0xff00 34,0xff00 42,0x802020 47,0x802020 38,0xff00 42,0x802020 51,0x802020 43,0x802020 39,0xff00 37,0xff00 36,0xff00 35,0xff00 29,0xff00 42,0x802020 43,0x802020 42,0x802020 39,0xff00 41,0x802020 55,0x802020 55,0x802020 54,0x802020 98,0xffffff 101,0xffffff 110,0xffffff 113,0xffffff 81,0xffffff 71,0xffffff 60,0x802020 56,0x802020 70,0xffffff 74,0xffffff 89,0xffffff 96,0xffffff 120,0xffffff 112,0xffffff 147,0xffffff 152,0xffffff 134,0xffffff 150,0xffffff 134,0xffffff 101,0xffffff 86,0xffffff 103,0xffffff + 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 1,0xff 0,0xff 1,0xff 1,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 4,0xff 5,0xff00 6,0xff00 11,0xff00 17,0xff00 13,0xff00 13,0xff00 10,0xff00 7,0xff00 3,0xff 4,0xff 2,0xff 3,0xff 2,0xff 1,0xff 0,0xff 0,0xff 1,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 4,0xff 4,0xff 2,0xff 7,0xff00 9,0xff00 8,0xff00 10,0xff00 13,0xff00 14,0xff00 12,0xff00 12,0xff00 10,0xff00 13,0xff00 20,0xff00 20,0xff00 22,0xff00 29,0xff00 32,0xff00 38,0xff00 38,0xff00 38,0xff00 35,0xff00 41,0x802020 36,0xff00 36,0xff00 31,0xff00 36,0xff00 32,0xff00 33,0xff00 32,0xff00 32,0xff00 30,0xff00 28,0xff00 27,0xff00 22,0xff00 22,0xff00 23,0xff00 26,0xff00 26,0xff00 26,0xff00 21,0xff00 20,0xff00 14,0xff00 15,0xff00 16,0xff00 17,0xff00 15,0xff00 16,0xff00 13,0xff00 11,0xff00 8,0xff00 10,0xff00 10,0xff00 11,0xff00 12,0xff00 14,0xff00 20,0xff00 21,0xff00 20,0xff00 14,0xff00 8,0xff00 11,0xff00 8,0xff00 9,0xff00 12,0xff00 14,0xff00 18,0xff00 22,0xff00 24,0xff00 28,0xff00 30,0xff00 35,0xff00 42,0x802020 53,0x802020 43,0x802020 53,0x802020 47,0x802020 37,0xff00 36,0xff00 31,0xff00 31,0xff00 32,0xff00 27,0xff00 33,0xff00 33,0xff00 40,0x802020 35,0xff00 37,0xff00 45,0x802020 74,0xffffff 87,0xffffff 91,0xffffff 94,0xffffff 105,0xffffff 80,0xffffff 68,0x802020 63,0x802020 62,0x802020 67,0x802020 70,0xffffff 91,0xffffff 96,0xffffff 115,0xffffff 149,0xffffff 161,0xffffff 183,0xffffff 173,0xffffff 154,0xffffff 137,0xffffff 88,0xffffff 73,0xffffff 76,0xffffff 102,0xffffff + 1,0xff 2,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 1,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 1,0xff 1,0xff 0,0xff 3,0xff 4,0xff 9,0xff00 7,0xff00 10,0xff00 17,0xff00 14,0xff00 9,0xff00 5,0xff00 5,0xff00 1,0xff 0,0xff 1,0xff 2,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 1,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 1,0xff 1,0xff 1,0xff 1,0xff 0,0xff 1,0xff 0,0xff 1,0xff 4,0xff 3,0xff 4,0xff 4,0xff 4,0xff 4,0xff 8,0xff00 9,0xff00 12,0xff00 14,0xff00 13,0xff00 11,0xff00 18,0xff00 23,0xff00 23,0xff00 30,0xff00 38,0xff00 42,0x802020 48,0x802020 40,0x802020 39,0xff00 35,0xff00 36,0xff00 35,0xff00 35,0xff00 32,0xff00 34,0xff00 32,0xff00 31,0xff00 32,0xff00 31,0xff00 26,0xff00 27,0xff00 25,0xff00 20,0xff00 22,0xff00 25,0xff00 23,0xff00 20,0xff00 17,0xff00 15,0xff00 14,0xff00 17,0xff00 15,0xff00 10,0xff00 13,0xff00 16,0xff00 15,0xff00 8,0xff00 9,0xff00 10,0xff00 12,0xff00 16,0xff00 16,0xff00 18,0xff00 19,0xff00 18,0xff00 22,0xff00 17,0xff00 8,0xff00 4,0xff 8,0xff00 3,0xff 7,0xff00 10,0xff00 16,0xff00 16,0xff00 23,0xff00 23,0xff00 27,0xff00 30,0xff00 35,0xff00 42,0x802020 46,0x802020 38,0xff00 41,0x802020 36,0xff00 33,0xff00 33,0xff00 32,0xff00 32,0xff00 33,0xff00 31,0xff00 36,0xff00 34,0xff00 33,0xff00 35,0xff00 47,0x802020 62,0x802020 95,0xffffff 78,0xffffff 75,0xffffff 98,0xffffff 110,0xffffff 79,0xffffff 63,0x802020 66,0x802020 60,0x802020 52,0x802020 51,0x802020 72,0xffffff 92,0xffffff 102,0xffffff 137,0xffffff 160,0xffffff 168,0xffffff 133,0xffffff 123,0xffffff 137,0xffffff 104,0xffffff 101,0xffffff 105,0xffffff 104,0xffffff + 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 1,0xff 1,0xff 5,0xff00 5,0xff00 10,0xff00 7,0xff00 9,0xff00 16,0xff00 11,0xff00 7,0xff00 3,0xff 0,0xff 0,0xff 0,0xff 0,0xff 2,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 1,0xff 2,0xff 1,0xff 1,0xff 1,0xff 1,0xff 1,0xff 2,0xff 1,0xff 0,0xff 1,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 2,0xff 2,0xff 0,0xff 0,0xff 1,0xff 2,0xff 8,0xff00 11,0xff00 9,0xff00 11,0xff00 7,0xff00 7,0xff00 10,0xff00 18,0xff00 23,0xff00 29,0xff00 36,0xff00 40,0x802020 36,0xff00 38,0xff00 37,0xff00 35,0xff00 28,0xff00 29,0xff00 28,0xff00 30,0xff00 26,0xff00 29,0xff00 28,0xff00 29,0xff00 29,0xff00 32,0xff00 28,0xff00 27,0xff00 27,0xff00 23,0xff00 25,0xff00 26,0xff00 21,0xff00 17,0xff00 18,0xff00 18,0xff00 16,0xff00 13,0xff00 10,0xff00 9,0xff00 14,0xff00 16,0xff00 10,0xff00 4,0xff 6,0xff00 11,0xff00 15,0xff00 14,0xff00 13,0xff00 18,0xff00 15,0xff00 16,0xff00 13,0xff00 11,0xff00 4,0xff 3,0xff 4,0xff 4,0xff 11,0xff00 11,0xff00 20,0xff00 18,0xff00 22,0xff00 27,0xff00 27,0xff00 30,0xff00 37,0xff00 41,0x802020 37,0xff00 37,0xff00 38,0xff00 32,0xff00 33,0xff00 28,0xff00 31,0xff00 32,0xff00 32,0xff00 35,0xff00 33,0xff00 34,0xff00 36,0xff00 37,0xff00 53,0x802020 63,0x802020 82,0xffffff 62,0x802020 86,0xffffff 103,0xffffff 91,0xffffff 65,0x802020 49,0x802020 51,0x802020 54,0x802020 52,0x802020 78,0xffffff 78,0xffffff 84,0xffffff 107,0xffffff 133,0xffffff 172,0xffffff 147,0xffffff 137,0xffffff 142,0xffffff 126,0xffffff 108,0xffffff 71,0xffffff 88,0xffffff 101,0xffffff + 1,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 1,0xff 0,0xff 1,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 1,0xff 2,0xff 1,0xff 4,0xff 7,0xff00 12,0xff00 9,0xff00 12,0xff00 12,0xff00 5,0xff00 1,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 1,0xff 0,0xff 0,0xff 1,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 1,0xff 0,0xff 1,0xff 0,0xff 0,0xff 3,0xff 4,0xff 4,0xff 7,0xff00 6,0xff00 10,0xff00 9,0xff00 14,0xff00 15,0xff00 23,0xff00 28,0xff00 33,0xff00 38,0xff00 37,0xff00 36,0xff00 34,0xff00 32,0xff00 32,0xff00 25,0xff00 30,0xff00 28,0xff00 24,0xff00 21,0xff00 24,0xff00 25,0xff00 28,0xff00 30,0xff00 28,0xff00 31,0xff00 28,0xff00 25,0xff00 17,0xff00 20,0xff00 20,0xff00 13,0xff00 13,0xff00 15,0xff00 19,0xff00 14,0xff00 14,0xff00 10,0xff00 8,0xff00 14,0xff00 10,0xff00 6,0xff00 8,0xff00 6,0xff00 10,0xff00 11,0xff00 16,0xff00 16,0xff00 15,0xff00 11,0xff00 13,0xff00 8,0xff00 3,0xff 0,0xff 1,0xff 4,0xff 9,0xff00 10,0xff00 10,0xff00 14,0xff00 16,0xff00 23,0xff00 25,0xff00 29,0xff00 28,0xff00 31,0xff00 32,0xff00 30,0xff00 32,0xff00 31,0xff00 33,0xff00 29,0xff00 32,0xff00 34,0xff00 33,0xff00 33,0xff00 32,0xff00 31,0xff00 30,0xff00 32,0xff00 44,0x802020 61,0x802020 63,0x802020 81,0xffffff 67,0x802020 80,0xffffff 72,0xffffff 62,0x802020 50,0x802020 49,0x802020 50,0x802020 56,0x802020 66,0x802020 91,0xffffff 97,0xffffff 97,0xffffff 130,0xffffff 161,0xffffff 162,0xffffff 156,0xffffff 118,0xffffff 115,0xffffff 121,0xffffff 95,0xffffff 76,0xffffff 117,0xffffff 102,0xffffff + 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 8,0xff00 7,0xff00 12,0xff00 13,0xff00 12,0xff00 8,0xff00 3,0xff 0,0xff 1,0xff 1,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 1,0xff 0,0xff 1,0xff 1,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 2,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 1,0xff 1,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 2,0xff 1,0xff 2,0xff 3,0xff 3,0xff 8,0xff00 6,0xff00 9,0xff00 12,0xff00 15,0xff00 16,0xff00 22,0xff00 24,0xff00 28,0xff00 34,0xff00 39,0xff00 36,0xff00 33,0xff00 33,0xff00 26,0xff00 26,0xff00 22,0xff00 26,0xff00 23,0xff00 21,0xff00 19,0xff00 23,0xff00 28,0xff00 28,0xff00 27,0xff00 21,0xff00 22,0xff00 19,0xff00 16,0xff00 16,0xff00 18,0xff00 14,0xff00 11,0xff00 12,0xff00 15,0xff00 14,0xff00 10,0xff00 12,0xff00 11,0xff00 10,0xff00 13,0xff00 7,0xff00 3,0xff 4,0xff 9,0xff00 10,0xff00 9,0xff00 15,0xff00 12,0xff00 11,0xff00 11,0xff00 9,0xff00 5,0xff00 1,0xff 0,0xff 1,0xff 3,0xff 10,0xff00 10,0xff00 11,0xff00 13,0xff00 20,0xff00 27,0xff00 27,0xff00 25,0xff00 27,0xff00 35,0xff00 33,0xff00 33,0xff00 35,0xff00 34,0xff00 32,0xff00 27,0xff00 32,0xff00 26,0xff00 27,0xff00 30,0xff00 32,0xff00 29,0xff00 36,0xff00 41,0x802020 49,0x802020 68,0x802020 93,0xffffff 106,0xffffff 88,0xffffff 72,0xffffff 67,0x802020 66,0x802020 56,0x802020 48,0x802020 63,0x802020 61,0x802020 58,0x802020 58,0x802020 73,0xffffff 96,0xffffff 132,0xffffff 146,0xffffff 139,0xffffff 149,0xffffff 156,0xffffff 148,0xffffff 148,0xffffff 132,0xffffff 125,0xffffff 128,0xffffff 98,0xffffff + 1,0xff 0,0xff 0,0xff 1,0xff 1,0xff 2,0xff 2,0xff 2,0xff 2,0xff 1,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 4,0xff 6,0xff00 6,0xff00 3,0xff 8,0xff00 10,0xff00 9,0xff00 6,0xff00 2,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 4,0xff 4,0xff 6,0xff00 8,0xff00 7,0xff00 9,0xff00 16,0xff00 15,0xff00 19,0xff00 24,0xff00 28,0xff00 31,0xff00 35,0xff00 31,0xff00 28,0xff00 28,0xff00 27,0xff00 22,0xff00 25,0xff00 19,0xff00 22,0xff00 19,0xff00 21,0xff00 22,0xff00 24,0xff00 25,0xff00 28,0xff00 23,0xff00 23,0xff00 20,0xff00 17,0xff00 10,0xff00 11,0xff00 14,0xff00 13,0xff00 9,0xff00 14,0xff00 13,0xff00 14,0xff00 13,0xff00 10,0xff00 9,0xff00 9,0xff00 11,0xff00 9,0xff00 7,0xff00 5,0xff00 9,0xff00 12,0xff00 13,0xff00 15,0xff00 14,0xff00 10,0xff00 7,0xff00 5,0xff00 2,0xff 1,0xff 1,0xff 3,0xff 8,0xff00 11,0xff00 11,0xff00 14,0xff00 20,0xff00 24,0xff00 27,0xff00 29,0xff00 31,0xff00 31,0xff00 30,0xff00 30,0xff00 29,0xff00 33,0xff00 30,0xff00 26,0xff00 27,0xff00 29,0xff00 30,0xff00 30,0xff00 30,0xff00 27,0xff00 31,0xff00 39,0xff00 45,0x802020 46,0x802020 61,0x802020 70,0xffffff 77,0xffffff 71,0xffffff 64,0x802020 61,0x802020 56,0x802020 55,0x802020 46,0x802020 56,0x802020 58,0x802020 50,0x802020 55,0x802020 69,0x802020 116,0xffffff 144,0xffffff 132,0xffffff 154,0xffffff 121,0xffffff 127,0xffffff 121,0xffffff 114,0xffffff 105,0xffffff 121,0xffffff 123,0xffffff 97,0xffffff + 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 2,0xff 2,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 1,0xff 2,0xff 3,0xff 6,0xff00 4,0xff 4,0xff 7,0xff00 8,0xff00 4,0xff 4,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 2,0xff 1,0xff 1,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 2,0xff 2,0xff 8,0xff00 8,0xff00 11,0xff00 12,0xff00 15,0xff00 20,0xff00 21,0xff00 24,0xff00 27,0xff00 33,0xff00 29,0xff00 29,0xff00 29,0xff00 26,0xff00 21,0xff00 23,0xff00 22,0xff00 18,0xff00 18,0xff00 14,0xff00 17,0xff00 19,0xff00 20,0xff00 20,0xff00 23,0xff00 19,0xff00 19,0xff00 18,0xff00 16,0xff00 9,0xff00 6,0xff00 6,0xff00 7,0xff00 5,0xff00 10,0xff00 15,0xff00 13,0xff00 11,0xff00 7,0xff00 8,0xff00 5,0xff00 7,0xff00 7,0xff00 3,0xff 3,0xff 8,0xff00 8,0xff00 11,0xff00 10,0xff00 8,0xff00 7,0xff00 4,0xff 3,0xff 2,0xff 0,0xff 0,0xff 6,0xff00 11,0xff00 10,0xff00 15,0xff00 15,0xff00 18,0xff00 21,0xff00 27,0xff00 28,0xff00 30,0xff00 31,0xff00 32,0xff00 29,0xff00 31,0xff00 27,0xff00 25,0xff00 26,0xff00 32,0xff00 32,0xff00 30,0xff00 28,0xff00 32,0xff00 31,0xff00 32,0xff00 49,0x802020 47,0x802020 40,0x802020 55,0x802020 65,0x802020 49,0x802020 72,0xffffff 57,0x802020 60,0x802020 49,0x802020 57,0x802020 44,0x802020 59,0x802020 53,0x802020 42,0x802020 80,0xffffff 85,0xffffff 122,0xffffff 127,0xffffff 94,0xffffff 107,0xffffff 95,0xffffff 119,0xffffff 124,0xffffff 110,0xffffff 116,0xffffff 123,0xffffff 102,0xffffff 98,0xffffff + 0,0xff 1,0xff 1,0xff 0,0xff 0,0xff 1,0xff 2,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 3,0xff 4,0xff 5,0xff00 3,0xff 3,0xff 6,0xff00 3,0xff 2,0xff 3,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 1,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 1,0xff 0,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 2,0xff 2,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 4,0xff 11,0xff00 12,0xff00 12,0xff00 14,0xff00 20,0xff00 21,0xff00 26,0xff00 28,0xff00 30,0xff00 29,0xff00 27,0xff00 29,0xff00 27,0xff00 19,0xff00 18,0xff00 13,0xff00 12,0xff00 11,0xff00 10,0xff00 11,0xff00 17,0xff00 14,0xff00 16,0xff00 14,0xff00 15,0xff00 11,0xff00 11,0xff00 10,0xff00 9,0xff00 5,0xff00 5,0xff00 4,0xff 2,0xff 5,0xff00 9,0xff00 9,0xff00 10,0xff00 7,0xff00 6,0xff00 4,0xff 2,0xff 3,0xff 2,0xff 2,0xff 2,0xff 4,0xff 4,0xff 4,0xff 6,0xff00 5,0xff00 2,0xff 2,0xff 3,0xff 2,0xff 0,0xff 0,0xff 9,0xff00 13,0xff00 10,0xff00 13,0xff00 17,0xff00 23,0xff00 28,0xff00 31,0xff00 29,0xff00 27,0xff00 32,0xff00 29,0xff00 29,0xff00 24,0xff00 23,0xff00 25,0xff00 24,0xff00 31,0xff00 30,0xff00 25,0xff00 26,0xff00 30,0xff00 32,0xff00 36,0xff00 38,0xff00 42,0x802020 48,0x802020 58,0x802020 60,0x802020 54,0x802020 72,0xffffff 66,0x802020 57,0x802020 49,0x802020 47,0x802020 53,0x802020 60,0x802020 71,0xffffff 76,0xffffff 82,0xffffff 66,0x802020 80,0xffffff 84,0xffffff 92,0xffffff 96,0xffffff 133,0xffffff 124,0xffffff 133,0xffffff 127,0xffffff 121,0xffffff 97,0xffffff 83,0xffffff 97,0xffffff + 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 2,0xff 1,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 3,0xff 2,0xff 2,0xff 2,0xff 1,0xff 3,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 1,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 1,0xff 0,0xff 0,0xff 1,0xff 1,0xff 1,0xff 0,0xff 1,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 7,0xff00 7,0xff00 9,0xff00 12,0xff00 13,0xff00 16,0xff00 25,0xff00 25,0xff00 26,0xff00 25,0xff00 24,0xff00 27,0xff00 27,0xff00 23,0xff00 24,0xff00 16,0xff00 16,0xff00 8,0xff00 10,0xff00 10,0xff00 5,0xff00 8,0xff00 12,0xff00 15,0xff00 13,0xff00 12,0xff00 11,0xff00 8,0xff00 7,0xff00 9,0xff00 7,0xff00 4,0xff 2,0xff 1,0xff 5,0xff00 7,0xff00 7,0xff00 8,0xff00 9,0xff00 5,0xff00 3,0xff 3,0xff 3,0xff 2,0xff 1,0xff 1,0xff 0,0xff 2,0xff 2,0xff 3,0xff 3,0xff 3,0xff 1,0xff 0,0xff 1,0xff 0,0xff 2,0xff 7,0xff00 11,0xff00 15,0xff00 14,0xff00 19,0xff00 22,0xff00 26,0xff00 29,0xff00 28,0xff00 29,0xff00 25,0xff00 30,0xff00 25,0xff00 29,0xff00 23,0xff00 24,0xff00 25,0xff00 23,0xff00 27,0xff00 30,0xff00 28,0xff00 30,0xff00 36,0xff00 37,0xff00 47,0x802020 44,0x802020 41,0x802020 56,0x802020 50,0x802020 54,0x802020 69,0x802020 73,0xffffff 66,0x802020 53,0x802020 54,0x802020 57,0x802020 54,0x802020 61,0x802020 63,0x802020 59,0x802020 76,0xffffff 93,0xffffff 87,0xffffff 106,0xffffff 90,0xffffff 113,0xffffff 144,0xffffff 142,0xffffff 130,0xffffff 127,0xffffff 113,0xffffff 108,0xffffff 108,0xffffff 96,0xffffff + 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 3,0xff 2,0xff 1,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 1,0xff 1,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 1,0xff 0,0xff 3,0xff 2,0xff 0,0xff 1,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 2,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 2,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 2,0xff 1,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 6,0xff00 10,0xff00 10,0xff00 13,0xff00 17,0xff00 25,0xff00 28,0xff00 27,0xff00 23,0xff00 22,0xff00 24,0xff00 25,0xff00 25,0xff00 24,0xff00 19,0xff00 14,0xff00 7,0xff00 2,0xff 5,0xff00 6,0xff00 6,0xff00 10,0xff00 10,0xff00 15,0xff00 13,0xff00 8,0xff00 9,0xff00 12,0xff00 10,0xff00 9,0xff00 6,0xff00 3,0xff 0,0xff 2,0xff 6,0xff00 5,0xff00 6,0xff00 6,0xff00 5,0xff00 1,0xff 1,0xff 2,0xff 3,0xff 1,0xff 2,0xff 1,0xff 0,0xff 1,0xff 0,0xff 0,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 5,0xff00 8,0xff00 10,0xff00 17,0xff00 14,0xff00 19,0xff00 21,0xff00 24,0xff00 28,0xff00 22,0xff00 24,0xff00 27,0xff00 29,0xff00 23,0xff00 20,0xff00 18,0xff00 22,0xff00 25,0xff00 27,0xff00 26,0xff00 32,0xff00 31,0xff00 38,0xff00 40,0x802020 38,0xff00 40,0x802020 38,0xff00 34,0xff00 44,0x802020 49,0x802020 49,0x802020 50,0x802020 50,0x802020 44,0x802020 41,0x802020 47,0x802020 43,0x802020 49,0x802020 92,0xffffff 78,0xffffff 100,0xffffff 93,0xffffff 115,0xffffff 109,0xffffff 89,0xffffff 90,0xffffff 114,0xffffff 127,0xffffff 123,0xffffff 144,0xffffff 115,0xffffff 82,0xffffff 73,0xffffff 80,0xffffff 95,0xffffff + 0,0xff 1,0xff 0,0xff 1,0xff 0,0xff 1,0xff 2,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 2,0xff 2,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 1,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 7,0xff00 14,0xff00 13,0xff00 12,0xff00 18,0xff00 25,0xff00 26,0xff00 21,0xff00 19,0xff00 22,0xff00 18,0xff00 21,0xff00 25,0xff00 21,0xff00 13,0xff00 8,0xff00 2,0xff 0,0xff 1,0xff 2,0xff 3,0xff 7,0xff00 9,0xff00 7,0xff00 6,0xff00 4,0xff 8,0xff00 9,0xff00 4,0xff 5,0xff00 4,0xff 3,0xff 1,0xff 3,0xff 4,0xff 5,0xff00 4,0xff 5,0xff00 2,0xff 0,0xff 0,0xff 1,0xff 3,0xff 1,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 2,0xff 11,0xff00 11,0xff00 10,0xff00 16,0xff00 19,0xff00 18,0xff00 25,0xff00 29,0xff00 28,0xff00 23,0xff00 24,0xff00 24,0xff00 27,0xff00 20,0xff00 23,0xff00 23,0xff00 26,0xff00 25,0xff00 26,0xff00 24,0xff00 31,0xff00 33,0xff00 36,0xff00 37,0xff00 36,0xff00 34,0xff00 35,0xff00 35,0xff00 36,0xff00 44,0x802020 46,0x802020 47,0x802020 46,0x802020 37,0xff00 38,0xff00 43,0x802020 59,0x802020 75,0xffffff 111,0xffffff 97,0xffffff 97,0xffffff 107,0xffffff 97,0xffffff 115,0xffffff 88,0xffffff 77,0xffffff 108,0xffffff 112,0xffffff 134,0xffffff 125,0xffffff 89,0xffffff 80,0xffffff 69,0x802020 75,0xffffff 94,0xffffff + 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 2,0xff 1,0xff 0,0xff 1,0xff 0,0xff 0,0xff 1,0xff 2,0xff 1,0xff 0,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 1,0xff 1,0xff 1,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 1,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 1,0xff 0,0xff 1,0xff 0,0xff 1,0xff 0,0xff 0,0xff 4,0xff 13,0xff00 14,0xff00 13,0xff00 12,0xff00 21,0xff00 25,0xff00 20,0xff00 23,0xff00 19,0xff00 18,0xff00 20,0xff00 18,0xff00 18,0xff00 9,0xff00 5,0xff00 5,0xff00 0,0xff 0,0xff 0,0xff 1,0xff 1,0xff 5,0xff00 7,0xff00 5,0xff00 5,0xff00 2,0xff 7,0xff00 6,0xff00 3,0xff 2,0xff 0,0xff 1,0xff 0,0xff 2,0xff 1,0xff 2,0xff 3,0xff 3,0xff 0,0xff 0,0xff 0,0xff 1,0xff 3,0xff 1,0xff 1,0xff 1,0xff 0,0xff 1,0xff 0,0xff 1,0xff 0,0xff 1,0xff 2,0xff 2,0xff 7,0xff00 9,0xff00 14,0xff00 12,0xff00 12,0xff00 19,0xff00 23,0xff00 25,0xff00 28,0xff00 27,0xff00 23,0xff00 18,0xff00 20,0xff00 19,0xff00 23,0xff00 23,0xff00 27,0xff00 25,0xff00 24,0xff00 19,0xff00 21,0xff00 25,0xff00 35,0xff00 35,0xff00 34,0xff00 39,0xff00 38,0xff00 34,0xff00 37,0xff00 33,0xff00 48,0x802020 48,0x802020 55,0x802020 54,0x802020 43,0x802020 53,0x802020 66,0x802020 87,0xffffff 101,0xffffff 118,0xffffff 118,0xffffff 87,0xffffff 88,0xffffff 93,0xffffff 87,0xffffff 114,0xffffff 103,0xffffff 107,0xffffff 110,0xffffff 114,0xffffff 127,0xffffff 93,0xffffff 69,0x802020 64,0x802020 60,0x802020 83,0xffffff 93,0xffffff + 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 1,0xff 1,0xff 1,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 2,0xff 2,0xff 2,0xff 1,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 4,0xff 9,0xff00 12,0xff00 12,0xff00 20,0xff00 22,0xff00 18,0xff00 14,0xff00 16,0xff00 17,0xff00 18,0xff00 12,0xff00 11,0xff00 11,0xff00 6,0xff00 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 2,0xff 1,0xff 0,0xff 0,0xff 3,0xff 1,0xff 0,0xff 0,0xff 0,0xff 1,0xff 1,0xff 1,0xff 3,0xff 3,0xff 2,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 1,0xff 1,0xff 1,0xff 0,0xff 0,0xff 1,0xff 0,0xff 1,0xff 9,0xff00 11,0xff00 16,0xff00 13,0xff00 14,0xff00 20,0xff00 24,0xff00 24,0xff00 24,0xff00 25,0xff00 23,0xff00 19,0xff00 17,0xff00 21,0xff00 22,0xff00 19,0xff00 23,0xff00 18,0xff00 20,0xff00 20,0xff00 21,0xff00 30,0xff00 31,0xff00 33,0xff00 33,0xff00 37,0xff00 35,0xff00 35,0xff00 39,0xff00 35,0xff00 40,0x802020 43,0x802020 52,0x802020 67,0x802020 68,0x802020 78,0xffffff 78,0xffffff 108,0xffffff 105,0xffffff 75,0xffffff 75,0xffffff 77,0xffffff 117,0xffffff 107,0xffffff 90,0xffffff 92,0xffffff 98,0xffffff 116,0xffffff 94,0xffffff 117,0xffffff 93,0xffffff 79,0xffffff 53,0x802020 57,0x802020 79,0xffffff 81,0xffffff 90,0xffffff + 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 1,0xff 1,0xff 1,0xff 0,0xff 1,0xff 0,0xff 1,0xff 0,0xff 1,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 2,0xff 2,0xff 2,0xff 1,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 1,0xff 2,0xff 2,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 10,0xff00 12,0xff00 11,0xff00 11,0xff00 17,0xff00 21,0xff00 14,0xff00 17,0xff00 21,0xff00 20,0xff00 17,0xff00 13,0xff00 9,0xff00 5,0xff00 2,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 1,0xff 1,0xff 1,0xff 2,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 2,0xff 5,0xff00 6,0xff00 8,0xff00 9,0xff00 14,0xff00 20,0xff00 20,0xff00 21,0xff00 22,0xff00 26,0xff00 22,0xff00 20,0xff00 24,0xff00 21,0xff00 18,0xff00 12,0xff00 16,0xff00 20,0xff00 18,0xff00 22,0xff00 22,0xff00 23,0xff00 25,0xff00 27,0xff00 28,0xff00 29,0xff00 30,0xff00 32,0xff00 37,0xff00 35,0xff00 37,0xff00 37,0xff00 36,0xff00 39,0xff00 49,0x802020 45,0x802020 82,0xffffff 102,0xffffff 106,0xffffff 90,0xffffff 98,0xffffff 82,0xffffff 103,0xffffff 88,0xffffff 121,0xffffff 118,0xffffff 134,0xffffff 116,0xffffff 97,0xffffff 93,0xffffff 112,0xffffff 118,0xffffff 103,0xffffff 79,0xffffff 63,0x802020 49,0x802020 63,0x802020 101,0xffffff 89,0xffffff 91,0xffffff + 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 1,0xff 2,0xff 1,0xff 0,0xff 1,0xff 0,0xff 1,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 1,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 1,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 6,0xff00 8,0xff00 9,0xff00 12,0xff00 19,0xff00 19,0xff00 11,0xff00 16,0xff00 16,0xff00 18,0xff00 13,0xff00 8,0xff00 6,0xff00 4,0xff 1,0xff 0,0xff 0,0xff 1,0xff 0,0xff 1,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 1,0xff 8,0xff00 7,0xff00 7,0xff00 13,0xff00 15,0xff00 14,0xff00 16,0xff00 21,0xff00 25,0xff00 22,0xff00 17,0xff00 20,0xff00 23,0xff00 20,0xff00 16,0xff00 18,0xff00 18,0xff00 16,0xff00 18,0xff00 22,0xff00 19,0xff00 24,0xff00 24,0xff00 23,0xff00 28,0xff00 27,0xff00 27,0xff00 33,0xff00 38,0xff00 41,0x802020 49,0x802020 43,0x802020 59,0x802020 85,0xffffff 86,0xffffff 86,0xffffff 89,0xffffff 108,0xffffff 79,0xffffff 90,0xffffff 109,0xffffff 92,0xffffff 83,0xffffff 82,0xffffff 98,0xffffff 105,0xffffff 125,0xffffff 105,0xffffff 129,0xffffff 118,0xffffff 129,0xffffff 113,0xffffff 86,0xffffff 71,0xffffff 58,0x802020 58,0x802020 49,0x802020 77,0xffffff 67,0x802020 89,0xffffff + 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 1,0xff 0,0xff 1,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 5,0xff00 10,0xff00 17,0xff00 18,0xff00 16,0xff00 13,0xff00 12,0xff00 11,0xff00 10,0xff00 11,0xff00 5,0xff00 4,0xff 2,0xff 2,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 1,0xff 0,0xff 1,0xff 0,0xff 0,0xff 2,0xff 2,0xff 1,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 2,0xff 2,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 3,0xff 5,0xff00 9,0xff00 10,0xff00 10,0xff00 15,0xff00 12,0xff00 18,0xff00 22,0xff00 21,0xff00 17,0xff00 13,0xff00 14,0xff00 17,0xff00 16,0xff00 18,0xff00 16,0xff00 13,0xff00 16,0xff00 19,0xff00 23,0xff00 19,0xff00 24,0xff00 20,0xff00 21,0xff00 28,0xff00 27,0xff00 28,0xff00 36,0xff00 42,0x802020 52,0x802020 54,0x802020 52,0x802020 55,0x802020 75,0xffffff 66,0x802020 83,0xffffff 102,0xffffff 82,0xffffff 73,0xffffff 92,0xffffff 108,0xffffff 77,0xffffff 85,0xffffff 97,0xffffff 79,0xffffff 105,0xffffff 131,0xffffff 115,0xffffff 133,0xffffff 121,0xffffff 136,0xffffff 120,0xffffff 88,0xffffff 75,0xffffff 63,0x802020 50,0x802020 62,0x802020 74,0xffffff 55,0x802020 88,0xffffff + 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 3,0xff 4,0xff 8,0xff00 12,0xff00 13,0xff00 11,0xff00 12,0xff00 8,0xff00 8,0xff00 10,0xff00 6,0xff00 3,0xff 0,0xff 0,0xff 2,0xff 0,0xff 1,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 2,0xff 1,0xff 1,0xff 0,0xff 1,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 2,0xff 10,0xff00 9,0xff00 7,0xff00 10,0xff00 14,0xff00 10,0xff00 16,0xff00 16,0xff00 17,0xff00 11,0xff00 11,0xff00 14,0xff00 11,0xff00 13,0xff00 13,0xff00 11,0xff00 14,0xff00 19,0xff00 25,0xff00 25,0xff00 21,0xff00 23,0xff00 16,0xff00 21,0xff00 30,0xff00 33,0xff00 42,0x802020 42,0x802020 53,0x802020 64,0x802020 66,0x802020 60,0x802020 65,0x802020 74,0xffffff 67,0x802020 101,0xffffff 92,0xffffff 83,0xffffff 102,0xffffff 92,0xffffff 82,0xffffff 67,0x802020 80,0xffffff 66,0x802020 79,0xffffff 127,0xffffff 111,0xffffff 104,0xffffff 119,0xffffff 118,0xffffff 134,0xffffff 92,0xffffff 68,0x802020 64,0x802020 68,0x802020 56,0x802020 67,0x802020 56,0x802020 54,0x802020 88,0xffffff + 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 1,0xff 1,0xff 0,0xff 1,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 1,0xff 1,0xff 0,0xff 0,0xff 1,0xff 0,0xff 1,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 3,0xff 4,0xff 10,0xff00 9,0xff00 12,0xff00 8,0xff00 7,0xff00 5,0xff00 8,0xff00 6,0xff00 4,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 1,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 7,0xff00 6,0xff00 7,0xff00 10,0xff00 10,0xff00 10,0xff00 13,0xff00 15,0xff00 9,0xff00 11,0xff00 13,0xff00 11,0xff00 14,0xff00 12,0xff00 12,0xff00 14,0xff00 12,0xff00 19,0xff00 20,0xff00 24,0xff00 22,0xff00 19,0xff00 22,0xff00 19,0xff00 27,0xff00 29,0xff00 33,0xff00 36,0xff00 34,0xff00 47,0x802020 62,0x802020 61,0x802020 66,0x802020 57,0x802020 60,0x802020 57,0x802020 95,0xffffff 76,0xffffff 85,0xffffff 95,0xffffff 80,0xffffff 67,0x802020 64,0x802020 79,0xffffff 69,0x802020 115,0xffffff 112,0xffffff 109,0xffffff 96,0xffffff 134,0xffffff 125,0xffffff 91,0xffffff 75,0xffffff 62,0x802020 85,0xffffff 98,0xffffff 87,0xffffff 90,0xffffff 75,0xffffff 70,0xffffff 86,0xffffff + 0,0xff 0,0xff 1,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 1,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 2,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 1,0xff 0,0xff 1,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 2,0xff 4,0xff 6,0xff00 10,0xff00 5,0xff00 3,0xff 6,0xff00 4,0xff 7,0xff00 4,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 2,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 8,0xff00 7,0xff00 6,0xff00 6,0xff00 10,0xff00 9,0xff00 11,0xff00 8,0xff00 7,0xff00 7,0xff00 7,0xff00 8,0xff00 12,0xff00 9,0xff00 11,0xff00 12,0xff00 13,0xff00 22,0xff00 21,0xff00 18,0xff00 20,0xff00 24,0xff00 23,0xff00 23,0xff00 31,0xff00 29,0xff00 31,0xff00 34,0xff00 38,0xff00 49,0x802020 57,0x802020 57,0x802020 55,0x802020 64,0x802020 65,0x802020 60,0x802020 78,0xffffff 84,0xffffff 102,0xffffff 100,0xffffff 70,0xffffff 73,0xffffff 99,0xffffff 104,0xffffff 86,0xffffff 122,0xffffff 98,0xffffff 97,0xffffff 119,0xffffff 127,0xffffff 119,0xffffff 119,0xffffff 104,0xffffff 88,0xffffff 89,0xffffff 109,0xffffff 115,0xffffff 102,0xffffff 83,0xffffff 80,0xffffff 84,0xffffff + 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 1,0xff 0,0xff 1,0xff 2,0xff 2,0xff 1,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 1,0xff 0,0xff 0,0xff 1,0xff 1,0xff 0,0xff 0,0xff 1,0xff 1,0xff 0,0xff 1,0xff 1,0xff 0,0xff 2,0xff 2,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 2,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 2,0xff 2,0xff 4,0xff 4,0xff 4,0xff 6,0xff00 4,0xff 3,0xff 3,0xff 0,0xff 1,0xff 0,0xff 1,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 3,0xff 4,0xff 5,0xff00 5,0xff00 5,0xff00 5,0xff00 7,0xff00 8,0xff00 5,0xff00 7,0xff00 7,0xff00 8,0xff00 8,0xff00 11,0xff00 6,0xff00 6,0xff00 5,0xff00 12,0xff00 11,0xff00 11,0xff00 12,0xff00 13,0xff00 15,0xff00 19,0xff00 19,0xff00 19,0xff00 23,0xff00 23,0xff00 23,0xff00 29,0xff00 31,0xff00 35,0xff00 34,0xff00 34,0xff00 50,0x802020 55,0x802020 59,0x802020 57,0x802020 52,0x802020 49,0x802020 57,0x802020 49,0x802020 52,0x802020 71,0xffffff 71,0xffffff 66,0x802020 78,0xffffff 58,0x802020 87,0xffffff 111,0xffffff 105,0xffffff 102,0xffffff 93,0xffffff 81,0xffffff 86,0xffffff 105,0xffffff 123,0xffffff 153,0xffffff 140,0xffffff 132,0xffffff 117,0xffffff 105,0xffffff 111,0xffffff 82,0xffffff 88,0xffffff 90,0xffffff 102,0xffffff 85,0xffffff + 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 1,0xff 2,0xff 1,0xff 1,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 1,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 1,0xff 2,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 2,0xff 0,0xff 0,0xff 1,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 2,0xff 0,0xff 3,0xff 2,0xff 2,0xff 2,0xff 1,0xff 1,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 2,0xff 2,0xff 2,0xff 1,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 1,0xff 0,0xff 6,0xff00 5,0xff00 4,0xff 6,0xff00 5,0xff00 6,0xff00 4,0xff 2,0xff 3,0xff 6,0xff00 4,0xff 9,0xff00 10,0xff00 5,0xff00 4,0xff 8,0xff00 10,0xff00 11,0xff00 12,0xff00 13,0xff00 12,0xff00 16,0xff00 20,0xff00 25,0xff00 25,0xff00 27,0xff00 25,0xff00 28,0xff00 30,0xff00 35,0xff00 34,0xff00 31,0xff00 37,0xff00 55,0x802020 58,0x802020 58,0x802020 62,0x802020 52,0x802020 44,0x802020 44,0x802020 42,0x802020 53,0x802020 63,0x802020 69,0x802020 56,0x802020 74,0xffffff 79,0xffffff 113,0xffffff 101,0xffffff 109,0xffffff 89,0xffffff 94,0xffffff 119,0xffffff 126,0xffffff 123,0xffffff 112,0xffffff 118,0xffffff 124,0xffffff 92,0xffffff 97,0xffffff 104,0xffffff 74,0xffffff 70,0xffffff 77,0xffffff 70,0xffffff 74,0xffffff 81,0xffffff + 2,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 1,0xff 1,0xff 1,0xff 0,0xff 0,0xff 1,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 1,0xff 1,0xff 1,0xff 1,0xff 0,0xff 0,0xff 2,0xff 1,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 2,0xff 2,0xff 1,0xff 1,0xff 0,0xff 1,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 1,0xff 1,0xff 0,0xff 0,0xff 2,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 1,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 1,0xff 1,0xff 1,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 2,0xff 3,0xff 3,0xff 2,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 2,0xff 1,0xff 2,0xff 0,0xff 0,0xff 1,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 2,0xff 1,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 1,0xff 4,0xff 3,0xff 1,0xff 3,0xff 3,0xff 1,0xff 0,0xff 1,0xff 3,0xff 3,0xff 6,0xff00 6,0xff00 4,0xff 7,0xff00 9,0xff00 9,0xff00 7,0xff00 9,0xff00 12,0xff00 14,0xff00 15,0xff00 17,0xff00 22,0xff00 31,0xff00 31,0xff00 31,0xff00 29,0xff00 29,0xff00 30,0xff00 31,0xff00 32,0xff00 41,0x802020 45,0x802020 57,0x802020 50,0x802020 53,0x802020 52,0x802020 51,0x802020 58,0x802020 60,0x802020 58,0x802020 71,0xffffff 78,0xffffff 86,0xffffff 78,0xffffff 85,0xffffff 96,0xffffff 136,0xffffff 118,0xffffff 126,0xffffff 127,0xffffff 125,0xffffff 115,0xffffff 149,0xffffff 135,0xffffff 131,0xffffff 118,0xffffff 126,0xffffff 87,0xffffff 76,0xffffff 76,0xffffff 65,0x802020 56,0x802020 80,0xffffff 99,0xffffff 100,0xffffff 80,0xffffff + 2,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 2,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 3,0xff 2,0xff 1,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 1,0xff 1,0xff 1,0xff 0,0xff 0,0xff 1,0xff 2,0xff 1,0xff 2,0xff 2,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 2,0xff 1,0xff 0,0xff 0,0xff 1,0xff 1,0xff 0,0xff 0,0xff 1,0xff 0,0xff 1,0xff 1,0xff 2,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 4,0xff 3,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 2,0xff 1,0xff 5,0xff00 7,0xff00 9,0xff00 5,0xff00 5,0xff00 5,0xff00 6,0xff00 12,0xff00 9,0xff00 13,0xff00 20,0xff00 19,0xff00 25,0xff00 26,0xff00 30,0xff00 26,0xff00 28,0xff00 31,0xff00 27,0xff00 27,0xff00 41,0x802020 47,0x802020 63,0x802020 53,0x802020 48,0x802020 53,0x802020 57,0x802020 51,0x802020 60,0x802020 63,0x802020 57,0x802020 83,0xffffff 106,0xffffff 123,0xffffff 124,0xffffff 122,0xffffff 126,0xffffff 125,0xffffff 98,0xffffff 109,0xffffff 129,0xffffff 115,0xffffff 130,0xffffff 124,0xffffff 97,0xffffff 110,0xffffff 82,0xffffff 76,0xffffff 51,0x802020 77,0xffffff 60,0x802020 79,0xffffff 71,0xffffff 100,0xffffff 93,0xffffff 81,0xffffff + 0,0xff 0,0xff 1,0xff 0,0xff 1,0xff 0,0xff 0,0xff 1,0xff 1,0xff 0,0xff 0,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 2,0xff 2,0xff 1,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 2,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 1,0xff 1,0xff 0,0xff 0,0xff 1,0xff 0,0xff 1,0xff 0,0xff 0,0xff 1,0xff 2,0xff 2,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 2,0xff 4,0xff 9,0xff00 5,0xff00 5,0xff00 10,0xff00 10,0xff00 11,0xff00 11,0xff00 13,0xff00 21,0xff00 23,0xff00 20,0xff00 26,0xff00 23,0xff00 28,0xff00 24,0xff00 25,0xff00 29,0xff00 27,0xff00 34,0xff00 42,0x802020 49,0x802020 53,0x802020 48,0x802020 59,0x802020 62,0x802020 61,0x802020 68,0x802020 88,0xffffff 78,0xffffff 102,0xffffff 105,0xffffff 125,0xffffff 106,0xffffff 135,0xffffff 99,0xffffff 107,0xffffff 134,0xffffff 100,0xffffff 127,0xffffff 123,0xffffff 114,0xffffff 105,0xffffff 130,0xffffff 117,0xffffff 121,0xffffff 100,0xffffff 92,0xffffff 76,0xffffff 106,0xffffff 90,0xffffff 86,0xffffff 97,0xffffff 87,0xffffff 83,0xffffff 78,0xffffff + 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 2,0xff 0,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 1,0xff 0,0xff 1,0xff 0,0xff 1,0xff 0,0xff 1,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 2,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 1,0xff 2,0xff 1,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 1,0xff 1,0xff 0,0xff 1,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 1,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 1,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 2,0xff 2,0xff 2,0xff 11,0xff00 12,0xff00 9,0xff00 7,0xff00 10,0xff00 7,0xff00 10,0xff00 14,0xff00 18,0xff00 20,0xff00 19,0xff00 20,0xff00 24,0xff00 26,0xff00 25,0xff00 25,0xff00 31,0xff00 33,0xff00 33,0xff00 34,0xff00 48,0x802020 42,0x802020 47,0x802020 39,0xff00 45,0x802020 47,0x802020 48,0x802020 45,0x802020 73,0xffffff 84,0xffffff 96,0xffffff 122,0xffffff 94,0xffffff 91,0xffffff 122,0xffffff 111,0xffffff 121,0xffffff 140,0xffffff 123,0xffffff 117,0xffffff 112,0xffffff 104,0xffffff 105,0xffffff 106,0xffffff 121,0xffffff 95,0xffffff 86,0xffffff 81,0xffffff 81,0xffffff 105,0xffffff 119,0xffffff 102,0xffffff 104,0xffffff 101,0xffffff 83,0xffffff 78,0xffffff + 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 1,0xff 1,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 1,0xff 2,0xff 1,0xff 2,0xff 2,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 1,0xff 1,0xff 1,0xff 0,0xff 1,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 2,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 1,0xff 0,0xff 1,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 2,0xff 1,0xff 0,0xff 1,0xff 3,0xff 2,0xff 7,0xff00 9,0xff00 13,0xff00 11,0xff00 12,0xff00 11,0xff00 8,0xff00 7,0xff00 13,0xff00 21,0xff00 20,0xff00 20,0xff00 17,0xff00 20,0xff00 25,0xff00 27,0xff00 29,0xff00 31,0xff00 31,0xff00 30,0xff00 34,0xff00 38,0xff00 47,0x802020 44,0x802020 42,0x802020 57,0x802020 56,0x802020 48,0x802020 82,0xffffff 109,0xffffff 124,0xffffff 118,0xffffff 113,0xffffff 89,0xffffff 119,0xffffff 127,0xffffff 97,0xffffff 118,0xffffff 148,0xffffff 147,0xffffff 128,0xffffff 111,0xffffff 125,0xffffff 122,0xffffff 106,0xffffff 92,0xffffff 88,0xffffff 69,0x802020 64,0x802020 63,0x802020 80,0xffffff 80,0xffffff 91,0xffffff 120,0xffffff 113,0xffffff 100,0xffffff 76,0xffffff + 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 1,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 2,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 2,0xff 1,0xff 0,0xff 0,0xff 2,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 2,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 2,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 1,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 1,0xff 1,0xff 0,0xff 5,0xff00 7,0xff00 9,0xff00 8,0xff00 16,0xff00 13,0xff00 15,0xff00 13,0xff00 12,0xff00 12,0xff00 14,0xff00 20,0xff00 18,0xff00 18,0xff00 19,0xff00 24,0xff00 30,0xff00 30,0xff00 27,0xff00 26,0xff00 27,0xff00 30,0xff00 37,0xff00 35,0xff00 45,0x802020 50,0x802020 55,0x802020 52,0x802020 55,0x802020 62,0x802020 104,0xffffff 128,0xffffff 108,0xffffff 93,0xffffff 83,0xffffff 89,0xffffff 121,0xffffff 140,0xffffff 121,0xffffff 140,0xffffff 122,0xffffff 137,0xffffff 111,0xffffff 112,0xffffff 128,0xffffff 88,0xffffff 90,0xffffff 80,0xffffff 82,0xffffff 70,0xffffff 62,0x802020 71,0xffffff 100,0xffffff 92,0xffffff 80,0xffffff 88,0xffffff 89,0xffffff 70,0xffffff 76,0xffffff + 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 1,0xff 0,0xff 1,0xff 0,0xff 0,0xff 1,0xff 1,0xff 1,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 1,0xff 0,0xff 2,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 1,0xff 1,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 2,0xff 2,0xff 1,0xff 3,0xff 6,0xff00 8,0xff00 8,0xff00 12,0xff00 10,0xff00 15,0xff00 11,0xff00 14,0xff00 14,0xff00 18,0xff00 19,0xff00 22,0xff00 22,0xff00 20,0xff00 24,0xff00 28,0xff00 28,0xff00 26,0xff00 25,0xff00 31,0xff00 35,0xff00 36,0xff00 36,0xff00 40,0x802020 42,0x802020 45,0x802020 47,0x802020 86,0xffffff 98,0xffffff 119,0xffffff 97,0xffffff 100,0xffffff 103,0xffffff 71,0xffffff 109,0xffffff 153,0xffffff 153,0xffffff 119,0xffffff 153,0xffffff 141,0xffffff 113,0xffffff 117,0xffffff 91,0xffffff 112,0xffffff 95,0xffffff 78,0xffffff 66,0x802020 68,0x802020 67,0x802020 56,0x802020 91,0xffffff 90,0xffffff 64,0x802020 73,0xffffff 61,0x802020 77,0xffffff 69,0x802020 78,0xffffff + 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 1,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 2,0xff 2,0xff 1,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 2,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 2,0xff 1,0xff 0,0xff 1,0xff 0,0xff 1,0xff 0,0xff 1,0xff 2,0xff 2,0xff 2,0xff 2,0xff 0,0xff 5,0xff00 6,0xff00 9,0xff00 5,0xff00 8,0xff00 8,0xff00 11,0xff00 10,0xff00 13,0xff00 16,0xff00 22,0xff00 21,0xff00 17,0xff00 16,0xff00 19,0xff00 26,0xff00 32,0xff00 31,0xff00 29,0xff00 26,0xff00 34,0xff00 34,0xff00 28,0xff00 28,0xff00 40,0x802020 38,0xff00 37,0xff00 49,0x802020 89,0xffffff 81,0xffffff 97,0xffffff 83,0xffffff 79,0xffffff 106,0xffffff 85,0xffffff 121,0xffffff 183,0xffffff 166,0xffffff 134,0xffffff 107,0xffffff 105,0xffffff 99,0xffffff 89,0xffffff 60,0x802020 77,0xffffff 83,0xffffff 76,0xffffff 78,0xffffff 89,0xffffff 79,0xffffff 74,0xffffff 76,0xffffff 63,0x802020 53,0x802020 54,0x802020 56,0x802020 68,0x802020 74,0xffffff 73,0xffffff + 0,0xff 1,0xff 1,0xff 0,0xff 1,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 1,0xff 0,0xff 1,0xff 0,0xff 0,0xff 1,0xff 1,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 1,0xff 0,0xff 1,0xff 0,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 1,0xff 1,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 2,0xff 1,0xff 0,0xff 0,0xff 0,0xff 2,0xff 1,0xff 1,0xff 0,0xff 0,0xff 3,0xff 4,0xff 4,0xff 9,0xff00 7,0xff00 7,0xff00 6,0xff00 12,0xff00 11,0xff00 8,0xff00 11,0xff00 10,0xff00 13,0xff00 15,0xff00 17,0xff00 17,0xff00 17,0xff00 23,0xff00 27,0xff00 26,0xff00 27,0xff00 24,0xff00 26,0xff00 29,0xff00 29,0xff00 29,0xff00 28,0xff00 44,0x802020 62,0x802020 85,0xffffff 99,0xffffff 105,0xffffff 81,0xffffff 74,0xffffff 74,0xffffff 60,0x802020 84,0xffffff 110,0xffffff 142,0xffffff 143,0xffffff 148,0xffffff 134,0xffffff 111,0xffffff 92,0xffffff 92,0xffffff 76,0xffffff 97,0xffffff 90,0xffffff 80,0xffffff 65,0x802020 69,0x802020 69,0x802020 79,0xffffff 69,0x802020 65,0x802020 59,0x802020 53,0x802020 50,0x802020 52,0x802020 63,0x802020 61,0x802020 73,0xffffff + 1,0xff 1,0xff 1,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 2,0xff 1,0xff 1,0xff 0,0xff 1,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 1,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 2,0xff 2,0xff 1,0xff 1,0xff 0,0xff 1,0xff 1,0xff 0,0xff 0,0xff 1,0xff 1,0xff 2,0xff 2,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 1,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 2,0xff 1,0xff 1,0xff 0,0xff 2,0xff 3,0xff 2,0xff 4,0xff 7,0xff00 7,0xff00 5,0xff00 5,0xff00 6,0xff00 7,0xff00 8,0xff00 9,0xff00 8,0xff00 11,0xff00 18,0xff00 19,0xff00 17,0xff00 16,0xff00 22,0xff00 23,0xff00 25,0xff00 26,0xff00 26,0xff00 24,0xff00 31,0xff00 28,0xff00 42,0x802020 51,0x802020 57,0x802020 52,0x802020 77,0xffffff 111,0xffffff 105,0xffffff 96,0xffffff 78,0xffffff 96,0xffffff 85,0xffffff 101,0xffffff 103,0xffffff 128,0xffffff 146,0xffffff 131,0xffffff 140,0xffffff 107,0xffffff 75,0xffffff 64,0x802020 56,0x802020 84,0xffffff 83,0xffffff 86,0xffffff 96,0xffffff 79,0xffffff 72,0xffffff 63,0x802020 62,0x802020 60,0x802020 59,0x802020 56,0x802020 55,0x802020 50,0x802020 63,0x802020 51,0x802020 74,0xffffff + 0,0xff 0,0xff 0,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 1,0xff 0,0xff 1,0xff 1,0xff 1,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 2,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 1,0xff 0,0xff 0,0xff 1,0xff 1,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 1,0xff 1,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 2,0xff 1,0xff 0,0xff 0,0xff 1,0xff 1,0xff 0,0xff 1,0xff 2,0xff 1,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 2,0xff 1,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 7,0xff00 6,0xff00 7,0xff00 5,0xff00 4,0xff 3,0xff 6,0xff00 8,0xff00 5,0xff00 12,0xff00 12,0xff00 13,0xff00 16,0xff00 17,0xff00 18,0xff00 20,0xff00 19,0xff00 21,0xff00 23,0xff00 25,0xff00 28,0xff00 28,0xff00 27,0xff00 36,0xff00 40,0x802020 46,0x802020 42,0x802020 48,0x802020 41,0x802020 70,0xffffff 113,0xffffff 74,0xffffff 72,0xffffff 80,0xffffff 69,0x802020 77,0xffffff 111,0xffffff 103,0xffffff 136,0xffffff 106,0xffffff 95,0xffffff 98,0xffffff 86,0xffffff 57,0x802020 59,0x802020 56,0x802020 103,0xffffff 95,0xffffff 85,0xffffff 108,0xffffff 73,0xffffff 70,0xffffff 74,0xffffff 71,0xffffff 65,0x802020 59,0x802020 56,0x802020 59,0x802020 57,0x802020 88,0xffffff 75,0xffffff 72,0xffffff + 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 2,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 2,0xff 2,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 2,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 1,0xff 0,0xff 1,0xff 0,0xff 1,0xff 0,0xff 0,0xff 1,0xff 1,0xff 2,0xff 0,0xff 0,0xff 0,0xff 2,0xff 1,0xff 0,0xff 1,0xff 0,0xff 1,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 2,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 5,0xff00 9,0xff00 6,0xff00 3,0xff 3,0xff 3,0xff 6,0xff00 6,0xff00 11,0xff00 16,0xff00 14,0xff00 16,0xff00 14,0xff00 14,0xff00 20,0xff00 23,0xff00 23,0xff00 23,0xff00 21,0xff00 27,0xff00 30,0xff00 28,0xff00 26,0xff00 44,0x802020 43,0x802020 48,0x802020 43,0x802020 54,0x802020 60,0x802020 83,0xffffff 90,0xffffff 66,0x802020 74,0xffffff 63,0x802020 83,0xffffff 82,0xffffff 134,0xffffff 143,0xffffff 148,0xffffff 113,0xffffff 93,0xffffff 111,0xffffff 110,0xffffff 99,0xffffff 98,0xffffff 96,0xffffff 89,0xffffff 102,0xffffff 95,0xffffff 88,0xffffff 60,0x802020 61,0x802020 58,0x802020 63,0x802020 63,0x802020 62,0x802020 47,0x802020 56,0x802020 59,0x802020 68,0x802020 56,0x802020 71,0xffffff + 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 2,0xff 2,0xff 1,0xff 0,0xff 1,0xff 0,0xff 0,0xff 1,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 1,0xff 2,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 2,0xff 2,0xff 2,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 1,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 1,0xff 1,0xff 1,0xff 0,0xff 0,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 2,0xff 1,0xff 1,0xff 1,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 1,0xff 1,0xff 2,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 1,0xff 0,0xff 0,0xff 1,0xff 0,0xff 1,0xff 1,0xff 1,0xff 0,0xff 0,0xff 2,0xff 2,0xff 5,0xff00 6,0xff00 2,0xff 3,0xff 3,0xff 3,0xff 7,0xff00 6,0xff00 11,0xff00 17,0xff00 14,0xff00 16,0xff00 10,0xff00 12,0xff00 16,0xff00 19,0xff00 18,0xff00 19,0xff00 20,0xff00 28,0xff00 32,0xff00 28,0xff00 31,0xff00 36,0xff00 44,0x802020 52,0x802020 64,0x802020 80,0xffffff 90,0xffffff 100,0xffffff 73,0xffffff 55,0x802020 54,0x802020 79,0xffffff 82,0xffffff 102,0xffffff 125,0xffffff 156,0xffffff 123,0xffffff 95,0xffffff 80,0xffffff 111,0xffffff 101,0xffffff 96,0xffffff 92,0xffffff 104,0xffffff 73,0xffffff 97,0xffffff 84,0xffffff 63,0x802020 56,0x802020 66,0x802020 65,0x802020 61,0x802020 51,0x802020 56,0x802020 42,0x802020 41,0x802020 47,0x802020 51,0x802020 54,0x802020 69,0x802020 + 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 1,0xff 0,0xff 2,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 1,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 2,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 1,0xff 0,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 2,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 1,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 2,0xff 1,0xff 0,0xff 1,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 1,0xff 1,0xff 5,0xff00 3,0xff 2,0xff 3,0xff 1,0xff 2,0xff 6,0xff00 8,0xff00 12,0xff00 15,0xff00 11,0xff00 10,0xff00 5,0xff00 9,0xff00 15,0xff00 20,0xff00 19,0xff00 19,0xff00 22,0xff00 31,0xff00 30,0xff00 28,0xff00 32,0xff00 42,0x802020 57,0x802020 61,0x802020 92,0xffffff 77,0xffffff 100,0xffffff 86,0xffffff 58,0x802020 56,0x802020 61,0x802020 59,0x802020 87,0xffffff 135,0xffffff 126,0xffffff 123,0xffffff 117,0xffffff 89,0xffffff 122,0xffffff 124,0xffffff 114,0xffffff 107,0xffffff 93,0xffffff 96,0xffffff 70,0xffffff 78,0xffffff 76,0xffffff 66,0x802020 52,0x802020 53,0x802020 58,0x802020 44,0x802020 48,0x802020 51,0x802020 44,0x802020 54,0x802020 52,0x802020 61,0x802020 53,0x802020 69,0x802020 + 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 2,0xff 2,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 1,0xff 1,0xff 1,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 1,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 1,0xff 1,0xff 0,0xff 1,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 1,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 2,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 2,0xff 2,0xff 4,0xff 1,0xff 0,0xff 1,0xff 0,0xff 2,0xff 4,0xff 11,0xff00 14,0xff00 11,0xff00 7,0xff00 7,0xff00 10,0xff00 10,0xff00 17,0xff00 21,0xff00 20,0xff00 22,0xff00 24,0xff00 27,0xff00 25,0xff00 29,0xff00 32,0xff00 39,0xff00 46,0x802020 54,0x802020 86,0xffffff 64,0x802020 96,0xffffff 77,0xffffff 55,0x802020 63,0x802020 64,0x802020 61,0x802020 109,0xffffff 122,0xffffff 94,0xffffff 92,0xffffff 83,0xffffff 100,0xffffff 117,0xffffff 125,0xffffff 121,0xffffff 122,0xffffff 99,0xffffff 85,0xffffff 59,0x802020 80,0xffffff 69,0x802020 48,0x802020 49,0x802020 54,0x802020 48,0x802020 48,0x802020 49,0x802020 57,0x802020 51,0x802020 56,0x802020 60,0x802020 56,0x802020 55,0x802020 69,0x802020 + 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 2,0xff 0,0xff 1,0xff 1,0xff 0,0xff 0,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 1,0xff 0,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 1,0xff 0,0xff 1,0xff 1,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 1,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 2,0xff 0,0xff 2,0xff 1,0xff 1,0xff 1,0xff 0,0xff 0,0xff 1,0xff 7,0xff00 12,0xff00 6,0xff00 6,0xff00 13,0xff00 13,0xff00 17,0xff00 19,0xff00 18,0xff00 22,0xff00 22,0xff00 24,0xff00 31,0xff00 29,0xff00 36,0xff00 37,0xff00 43,0x802020 48,0x802020 56,0x802020 60,0x802020 55,0x802020 76,0xffffff 78,0xffffff 65,0x802020 61,0x802020 58,0x802020 54,0x802020 82,0xffffff 97,0xffffff 95,0xffffff 106,0xffffff 115,0xffffff 121,0xffffff 110,0xffffff 129,0xffffff 129,0xffffff 100,0xffffff 108,0xffffff 71,0xffffff 56,0x802020 65,0x802020 53,0x802020 57,0x802020 51,0x802020 56,0x802020 53,0x802020 47,0x802020 48,0x802020 47,0x802020 45,0x802020 54,0x802020 50,0x802020 54,0x802020 66,0x802020 67,0x802020 + 0,0xff 1,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 2,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 1,0xff 0,0xff 0,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 1,0xff 0,0xff 1,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 1,0xff 0,0xff 1,0xff 0,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 2,0xff 1,0xff 1,0xff 1,0xff 0,0xff 1,0xff 0,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 2,0xff 0,0xff 0,0xff 1,0xff 0,0xff 2,0xff 1,0xff 0,0xff 0,0xff 5,0xff00 5,0xff00 5,0xff00 8,0xff00 11,0xff00 12,0xff00 15,0xff00 19,0xff00 20,0xff00 18,0xff00 20,0xff00 25,0xff00 28,0xff00 31,0xff00 28,0xff00 28,0xff00 40,0x802020 42,0x802020 57,0x802020 58,0x802020 51,0x802020 65,0x802020 64,0x802020 47,0x802020 49,0x802020 57,0x802020 69,0x802020 100,0xffffff 88,0xffffff 68,0x802020 86,0xffffff 106,0xffffff 106,0xffffff 101,0xffffff 134,0xffffff 127,0xffffff 85,0xffffff 105,0xffffff 72,0xffffff 64,0x802020 57,0x802020 48,0x802020 62,0x802020 50,0x802020 59,0x802020 53,0x802020 49,0x802020 52,0x802020 48,0x802020 58,0x802020 76,0xffffff 70,0xffffff 82,0xffffff 71,0xffffff 66,0x802020 + 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 1,0xff 0,0xff 1,0xff 0,0xff 0,0xff 1,0xff 0,0xff 1,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 2,0xff 2,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 1,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 2,0xff 0,0xff 0,0xff 2,0xff 4,0xff 3,0xff 9,0xff00 8,0xff00 15,0xff00 13,0xff00 15,0xff00 13,0xff00 16,0xff00 18,0xff00 20,0xff00 29,0xff00 29,0xff00 34,0xff00 35,0xff00 40,0x802020 45,0x802020 51,0x802020 62,0x802020 50,0x802020 52,0x802020 61,0x802020 54,0x802020 59,0x802020 58,0x802020 53,0x802020 98,0xffffff 105,0xffffff 71,0xffffff 67,0x802020 115,0xffffff 104,0xffffff 99,0xffffff 124,0xffffff 119,0xffffff 103,0xffffff 63,0x802020 70,0xffffff 51,0x802020 51,0x802020 46,0x802020 55,0x802020 61,0x802020 58,0x802020 54,0x802020 55,0x802020 57,0x802020 55,0x802020 55,0x802020 61,0x802020 104,0xffffff 98,0xffffff 99,0xffffff 76,0xffffff 63,0x802020 + 0,0xff 1,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 1,0xff 0,0xff 1,0xff 0,0xff 1,0xff 0,0xff 2,0xff 1,0xff 1,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 1,0xff 2,0xff 2,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 1,0xff 1,0xff 0,0xff 2,0xff 1,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 1,0xff 2,0xff 8,0xff00 9,0xff00 10,0xff00 12,0xff00 12,0xff00 15,0xff00 16,0xff00 15,0xff00 18,0xff00 22,0xff00 29,0xff00 28,0xff00 33,0xff00 48,0x802020 45,0x802020 43,0x802020 56,0x802020 68,0x802020 56,0x802020 55,0x802020 63,0x802020 51,0x802020 53,0x802020 53,0x802020 83,0xffffff 83,0xffffff 76,0xffffff 72,0xffffff 71,0xffffff 112,0xffffff 115,0xffffff 81,0xffffff 107,0xffffff 73,0xffffff 77,0xffffff 62,0x802020 65,0x802020 45,0x802020 44,0x802020 36,0xff00 44,0x802020 48,0x802020 52,0x802020 54,0x802020 61,0x802020 50,0x802020 57,0x802020 62,0x802020 81,0xffffff 130,0xffffff 116,0xffffff 89,0xffffff 65,0x802020 63,0x802020 + 0,0xff 1,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 1,0xff 0,0xff 1,0xff 1,0xff 0,0xff 0,0xff 1,0xff 1,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 2,0xff 1,0xff 1,0xff 0,0xff 1,0xff 0,0xff 0,0xff 1,0xff 1,0xff 0,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 1,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 1,0xff 0,0xff 1,0xff 0,0xff 1,0xff 1,0xff 0,0xff 0,0xff 1,0xff 0,0xff 1,0xff 0,0xff 0,0xff 2,0xff 1,0xff 2,0xff 1,0xff 2,0xff 0,0xff 0,0xff 1,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 1,0xff 1,0xff 1,0xff 0,0xff 1,0xff 2,0xff 2,0xff 2,0xff 2,0xff 6,0xff00 10,0xff00 5,0xff00 6,0xff00 8,0xff00 12,0xff00 14,0xff00 14,0xff00 19,0xff00 21,0xff00 25,0xff00 28,0xff00 35,0xff00 39,0xff00 39,0xff00 40,0x802020 51,0x802020 50,0x802020 52,0x802020 56,0x802020 47,0x802020 51,0x802020 45,0x802020 57,0x802020 63,0x802020 70,0xffffff 99,0xffffff 94,0xffffff 77,0xffffff 133,0xffffff 121,0xffffff 83,0xffffff 86,0xffffff 74,0xffffff 68,0x802020 62,0x802020 52,0x802020 48,0x802020 40,0x802020 48,0x802020 42,0x802020 55,0x802020 91,0xffffff 84,0xffffff 81,0xffffff 83,0xffffff 76,0xffffff 74,0xffffff 75,0xffffff 82,0xffffff 78,0xffffff 80,0xffffff 53,0x802020 61,0x802020 + 1,0xff 0,0xff 1,0xff 1,0xff 1,0xff 0,0xff 0,0xff 2,0xff 1,0xff 0,0xff 2,0xff 1,0xff 0,0xff 0,0xff 1,0xff 0,0xff 1,0xff 1,0xff 0,0xff 1,0xff 1,0xff 1,0xff 2,0xff 2,0xff 0,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 1,0xff 1,0xff 0,0xff 0,0xff 1,0xff 0,0xff 1,0xff 1,0xff 0,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 2,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 1,0xff 1,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 2,0xff 1,0xff 2,0xff 1,0xff 1,0xff 0,0xff 1,0xff 3,0xff 5,0xff00 8,0xff00 5,0xff00 4,0xff 9,0xff00 14,0xff00 12,0xff00 18,0xff00 23,0xff00 26,0xff00 26,0xff00 33,0xff00 35,0xff00 34,0xff00 45,0x802020 52,0x802020 54,0x802020 53,0x802020 49,0x802020 60,0x802020 60,0x802020 57,0x802020 59,0x802020 70,0xffffff 65,0x802020 65,0x802020 80,0xffffff 68,0x802020 109,0xffffff 81,0xffffff 57,0x802020 72,0xffffff 62,0x802020 65,0x802020 48,0x802020 55,0x802020 41,0x802020 45,0x802020 49,0x802020 45,0x802020 65,0x802020 69,0x802020 63,0x802020 91,0xffffff 81,0xffffff 76,0xffffff 65,0x802020 92,0xffffff 70,0xffffff 68,0x802020 67,0x802020 66,0x802020 62,0x802020 + 0,0xff 1,0xff 0,0xff 1,0xff 0,0xff 0,0xff 1,0xff 1,0xff 1,0xff 1,0xff 0,0xff 0,0xff 1,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 1,0xff 2,0xff 1,0xff 1,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 1,0xff 0,0xff 0,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 1,0xff 1,0xff 1,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 1,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 1,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 2,0xff 1,0xff 0,0xff 0,0xff 1,0xff 1,0xff 0,0xff 2,0xff 5,0xff00 6,0xff00 7,0xff00 6,0xff00 5,0xff00 3,0xff 3,0xff 9,0xff00 15,0xff00 18,0xff00 18,0xff00 19,0xff00 23,0xff00 25,0xff00 33,0xff00 46,0x802020 47,0x802020 52,0x802020 55,0x802020 58,0x802020 53,0x802020 51,0x802020 44,0x802020 49,0x802020 54,0x802020 61,0x802020 62,0x802020 69,0x802020 55,0x802020 65,0x802020 64,0x802020 90,0xffffff 59,0x802020 50,0x802020 76,0xffffff 68,0x802020 62,0x802020 43,0x802020 46,0x802020 35,0xff00 32,0xff00 40,0x802020 51,0x802020 56,0x802020 80,0xffffff 73,0xffffff 74,0xffffff 67,0x802020 61,0x802020 65,0x802020 72,0xffffff 66,0x802020 65,0x802020 62,0x802020 60,0x802020 62,0x802020 + 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 1,0xff 1,0xff 1,0xff 0,0xff 0,0xff 1,0xff 1,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 1,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 1,0xff 0,0xff 2,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 1,0xff 6,0xff00 8,0xff00 5,0xff00 4,0xff 1,0xff 1,0xff 4,0xff 9,0xff00 11,0xff00 16,0xff00 16,0xff00 23,0xff00 27,0xff00 32,0xff00 38,0xff00 37,0xff00 42,0x802020 52,0x802020 61,0x802020 61,0x802020 53,0x802020 42,0x802020 38,0xff00 41,0x802020 78,0xffffff 70,0xffffff 66,0x802020 60,0x802020 50,0x802020 58,0x802020 63,0x802020 63,0x802020 55,0x802020 50,0x802020 58,0x802020 58,0x802020 45,0x802020 37,0xff00 40,0x802020 36,0xff00 38,0xff00 43,0x802020 61,0x802020 57,0x802020 75,0xffffff 63,0x802020 79,0xffffff 75,0xffffff 81,0xffffff 75,0xffffff 68,0x802020 49,0x802020 52,0x802020 70,0xffffff 66,0x802020 61,0x802020 + 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 2,0xff 2,0xff 1,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 1,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 2,0xff 2,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 1,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 1,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 1,0xff 1,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 6,0xff00 4,0xff 3,0xff 2,0xff 3,0xff 3,0xff 5,0xff00 9,0xff00 17,0xff00 20,0xff00 24,0xff00 27,0xff00 29,0xff00 41,0x802020 54,0x802020 52,0x802020 58,0x802020 58,0x802020 59,0x802020 59,0x802020 44,0x802020 37,0xff00 48,0x802020 50,0x802020 68,0x802020 57,0x802020 58,0x802020 52,0x802020 51,0x802020 61,0x802020 54,0x802020 52,0x802020 49,0x802020 59,0x802020 52,0x802020 56,0x802020 44,0x802020 39,0xff00 35,0xff00 41,0x802020 80,0xffffff 75,0xffffff 82,0xffffff 74,0xffffff 105,0xffffff 89,0xffffff 74,0xffffff 88,0xffffff 74,0xffffff 68,0x802020 53,0x802020 53,0x802020 78,0xffffff 73,0xffffff 58,0x802020 60,0x802020 + 0,0xff 2,0xff 2,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 1,0xff 0,0xff 0,0xff 1,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 1,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 1,0xff 0,0xff 0,0xff 1,0xff 0,0xff 1,0xff 0,0xff 1,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 2,0xff 2,0xff 2,0xff 1,0xff 2,0xff 1,0xff 1,0xff 0,0xff 0,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 1,0xff 1,0xff 0,0xff 1,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 2,0xff 1,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 3,0xff 3,0xff 0,0xff 0,0xff 2,0xff 4,0xff 12,0xff00 17,0xff00 19,0xff00 25,0xff00 26,0xff00 29,0xff00 33,0xff00 51,0x802020 52,0x802020 47,0x802020 61,0x802020 52,0x802020 54,0x802020 56,0x802020 54,0x802020 54,0x802020 58,0x802020 56,0x802020 56,0x802020 55,0x802020 58,0x802020 61,0x802020 55,0x802020 52,0x802020 49,0x802020 50,0x802020 50,0x802020 59,0x802020 49,0x802020 61,0x802020 51,0x802020 40,0x802020 50,0x802020 66,0x802020 76,0xffffff 54,0x802020 73,0xffffff 64,0x802020 100,0xffffff 71,0xffffff 71,0xffffff 74,0xffffff 105,0xffffff 89,0xffffff 80,0xffffff 89,0xffffff 78,0xffffff 60,0x802020 51,0x802020 56,0x802020 + 0,0xff 2,0xff 1,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 2,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 1,0xff 0,0xff 0,0xff 1,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 2,0xff 0,0xff 0,0xff 0,0xff 6,0xff00 13,0xff00 19,0xff00 24,0xff00 24,0xff00 22,0xff00 24,0xff00 40,0x802020 42,0x802020 47,0x802020 44,0x802020 43,0x802020 44,0x802020 57,0x802020 49,0x802020 58,0x802020 52,0x802020 54,0x802020 60,0x802020 55,0x802020 64,0x802020 62,0x802020 58,0x802020 45,0x802020 50,0x802020 54,0x802020 56,0x802020 51,0x802020 59,0x802020 57,0x802020 63,0x802020 54,0x802020 47,0x802020 48,0x802020 55,0x802020 61,0x802020 58,0x802020 65,0x802020 70,0xffffff 80,0xffffff 110,0xffffff 101,0xffffff 95,0xffffff 89,0xffffff 78,0xffffff 88,0xffffff 74,0xffffff 63,0x802020 63,0x802020 52,0x802020 58,0x802020 + 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 1,0xff 0,0xff 0,0xff 2,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 1,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 1,0xff 3,0xff 5,0xff00 12,0xff00 18,0xff00 22,0xff00 22,0xff00 28,0xff00 29,0xff00 31,0xff00 41,0x802020 48,0x802020 46,0x802020 49,0x802020 40,0x802020 52,0x802020 56,0x802020 61,0x802020 62,0x802020 59,0x802020 59,0x802020 56,0x802020 68,0x802020 65,0x802020 70,0xffffff 61,0x802020 52,0x802020 55,0x802020 57,0x802020 52,0x802020 60,0x802020 67,0x802020 60,0x802020 45,0x802020 45,0x802020 41,0x802020 42,0x802020 53,0x802020 58,0x802020 72,0xffffff 70,0xffffff 70,0xffffff 84,0xffffff 118,0xffffff 108,0xffffff 109,0xffffff 83,0xffffff 72,0xffffff 74,0xffffff 61,0x802020 47,0x802020 46,0x802020 47,0x802020 56,0x802020 + 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 1,0xff 1,0xff 1,0xff 0,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 2,0xff 2,0xff 1,0xff 0,0xff 0,0xff 1,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 1,0xff 0,0xff 1,0xff 1,0xff 0,0xff 0,0xff 1,0xff 0,0xff 1,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 1,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 1,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 1,0xff 1,0xff 1,0xff 2,0xff 2,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 2,0xff 2,0xff 1,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 1,0xff 1,0xff 1,0xff 3,0xff 5,0xff00 12,0xff00 19,0xff00 23,0xff00 29,0xff00 31,0xff00 28,0xff00 42,0x802020 46,0x802020 41,0x802020 39,0xff00 47,0x802020 47,0x802020 52,0x802020 55,0x802020 49,0x802020 54,0x802020 56,0x802020 59,0x802020 63,0x802020 79,0xffffff 71,0xffffff 65,0x802020 65,0x802020 61,0x802020 61,0x802020 66,0x802020 60,0x802020 65,0x802020 65,0x802020 60,0x802020 56,0x802020 49,0x802020 45,0x802020 45,0x802020 55,0x802020 60,0x802020 67,0x802020 66,0x802020 91,0xffffff 114,0xffffff 113,0xffffff 130,0xffffff 114,0xffffff 72,0xffffff 57,0x802020 50,0x802020 44,0x802020 42,0x802020 34,0xff00 42,0x802020 56,0x802020 + 0,0xff 0,0xff 2,0xff 2,0xff 1,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 1,0xff 1,0xff 0,0xff 0,0xff 1,0xff 1,0xff 1,0xff 1,0xff 0,0xff 1,0xff 0,0xff 1,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 2,0xff 1,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 2,0xff 2,0xff 2,0xff 2,0xff 3,0xff 3,0xff 6,0xff00 15,0xff00 22,0xff00 23,0xff00 30,0xff00 30,0xff00 30,0xff00 37,0xff00 45,0x802020 38,0xff00 49,0x802020 50,0x802020 56,0x802020 49,0x802020 59,0x802020 53,0x802020 49,0x802020 56,0x802020 56,0x802020 44,0x802020 73,0xffffff 67,0x802020 66,0x802020 69,0x802020 65,0x802020 67,0x802020 59,0x802020 64,0x802020 57,0x802020 66,0x802020 62,0x802020 57,0x802020 42,0x802020 56,0x802020 55,0x802020 56,0x802020 51,0x802020 53,0x802020 80,0xffffff 86,0xffffff 108,0xffffff 129,0xffffff 97,0xffffff 86,0xffffff 55,0x802020 58,0x802020 55,0x802020 43,0x802020 40,0x802020 38,0xff00 51,0x802020 56,0x802020 + 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 1,0xff 0,0xff 0,0xff 1,0xff 0,0xff 1,0xff 0,0xff 1,0xff 0,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 2,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 1,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 1,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 1,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 1,0xff 1,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 1,0xff 1,0xff 0,0xff 1,0xff 0,0xff 0,0xff 2,0xff 0,0xff 1,0xff 1,0xff 4,0xff 3,0xff 11,0xff00 18,0xff00 24,0xff00 25,0xff00 25,0xff00 28,0xff00 34,0xff00 38,0xff00 39,0xff00 49,0x802020 52,0x802020 48,0x802020 43,0x802020 45,0x802020 51,0x802020 48,0x802020 38,0xff00 41,0x802020 42,0x802020 71,0xffffff 74,0xffffff 62,0x802020 52,0x802020 58,0x802020 65,0x802020 60,0x802020 60,0x802020 63,0x802020 54,0x802020 64,0x802020 53,0x802020 50,0x802020 39,0xff00 50,0x802020 54,0x802020 56,0x802020 78,0xffffff 75,0xffffff 97,0xffffff 105,0xffffff 94,0xffffff 108,0xffffff 81,0xffffff 64,0x802020 54,0x802020 54,0x802020 43,0x802020 38,0xff00 35,0xff00 43,0x802020 50,0x802020 55,0x802020 + 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 1,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 2,0xff 1,0xff 0,0xff 1,0xff 0,0xff 1,0xff 0,0xff 0,0xff 2,0xff 2,0xff 1,0xff 0,0xff 1,0xff 0,0xff 1,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 1,0xff 1,0xff 0,0xff 1,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 1,0xff 0,0xff 1,0xff 0,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 2,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 1,0xff 0,0xff 1,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 2,0xff 1,0xff 0,0xff 0,0xff 0,0xff 2,0xff 0,0xff 0,0xff 0,0xff 2,0xff 6,0xff00 15,0xff00 18,0xff00 22,0xff00 21,0xff00 23,0xff00 30,0xff00 43,0x802020 43,0x802020 53,0x802020 53,0x802020 48,0x802020 48,0x802020 41,0x802020 48,0x802020 51,0x802020 56,0x802020 53,0x802020 65,0x802020 82,0xffffff 91,0xffffff 77,0xffffff 65,0x802020 63,0x802020 56,0x802020 52,0x802020 60,0x802020 59,0x802020 45,0x802020 48,0x802020 59,0x802020 45,0x802020 55,0x802020 57,0x802020 62,0x802020 56,0x802020 58,0x802020 64,0x802020 90,0xffffff 116,0xffffff 125,0xffffff 110,0xffffff 98,0xffffff 87,0xffffff 71,0xffffff 63,0x802020 59,0x802020 47,0x802020 46,0x802020 54,0x802020 55,0x802020 51,0x802020 50,0x802020 + 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 1,0xff 0,0xff 1,0xff 1,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 1,0xff 0,0xff 1,0xff 2,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 2,0xff 2,0xff 2,0xff 2,0xff 2,0xff 2,0xff 6,0xff00 11,0xff00 16,0xff00 21,0xff00 23,0xff00 33,0xff00 37,0xff00 39,0xff00 41,0x802020 44,0x802020 43,0x802020 45,0x802020 51,0x802020 43,0x802020 41,0x802020 51,0x802020 53,0x802020 65,0x802020 69,0x802020 58,0x802020 82,0xffffff 76,0xffffff 64,0x802020 63,0x802020 54,0x802020 44,0x802020 56,0x802020 58,0x802020 43,0x802020 61,0x802020 56,0x802020 56,0x802020 71,0xffffff 80,0xffffff 71,0xffffff 62,0x802020 77,0xffffff 77,0xffffff 126,0xffffff 131,0xffffff 133,0xffffff 97,0xffffff 67,0x802020 82,0xffffff 73,0xffffff 62,0x802020 51,0x802020 37,0xff00 46,0x802020 46,0x802020 57,0x802020 57,0x802020 49,0x802020 + 1,0xff 0,0xff 1,0xff 0,0xff 1,0xff 0,0xff 1,0xff 0,0xff 1,0xff 0,0xff 0,0xff 1,0xff 0,0xff 1,0xff 0,0xff 0,0xff 1,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 1,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 2,0xff 2,0xff 1,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 2,0xff 1,0xff 1,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 1,0xff 0,0xff 1,0xff 0,0xff 2,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 2,0xff 0,0xff 1,0xff 3,0xff 9,0xff00 16,0xff00 24,0xff00 27,0xff00 28,0xff00 33,0xff00 30,0xff00 41,0x802020 43,0x802020 49,0x802020 42,0x802020 52,0x802020 47,0x802020 53,0x802020 47,0x802020 42,0x802020 47,0x802020 60,0x802020 68,0x802020 58,0x802020 66,0x802020 64,0x802020 62,0x802020 60,0x802020 44,0x802020 44,0x802020 57,0x802020 49,0x802020 39,0xff00 53,0x802020 55,0x802020 46,0x802020 72,0xffffff 106,0xffffff 92,0xffffff 91,0xffffff 79,0xffffff 79,0xffffff 126,0xffffff 131,0xffffff 98,0xffffff 73,0xffffff 56,0x802020 52,0x802020 72,0xffffff 57,0x802020 48,0x802020 49,0x802020 51,0x802020 58,0x802020 57,0x802020 47,0x802020 48,0x802020 + 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 1,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 1,0xff 0,0xff 1,0xff 0,0xff 1,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 1,0xff 1,0xff 1,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 2,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 1,0xff 1,0xff 0,0xff 2,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 2,0xff 1,0xff 0,0xff 0,0xff 1,0xff 1,0xff 1,0xff 0,0xff 0,0xff 1,0xff 2,0xff 2,0xff 1,0xff 0,0xff 1,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 2,0xff 10,0xff00 15,0xff00 20,0xff00 23,0xff00 24,0xff00 27,0xff00 32,0xff00 43,0x802020 41,0x802020 41,0x802020 37,0xff00 44,0x802020 48,0x802020 38,0xff00 38,0xff00 43,0x802020 71,0xffffff 72,0xffffff 71,0xffffff 68,0x802020 62,0x802020 56,0x802020 64,0x802020 47,0x802020 51,0x802020 39,0xff00 51,0x802020 50,0x802020 58,0x802020 50,0x802020 57,0x802020 58,0x802020 87,0xffffff 91,0xffffff 116,0xffffff 117,0xffffff 108,0xffffff 82,0xffffff 106,0xffffff 109,0xffffff 127,0xffffff 97,0xffffff 75,0xffffff 63,0x802020 56,0x802020 55,0x802020 40,0x802020 43,0x802020 47,0x802020 43,0x802020 50,0x802020 58,0x802020 52,0x802020 48,0x802020 + 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 1,0xff 1,0xff 0,0xff 1,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 1,0xff 1,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 2,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 2,0xff 1,0xff 1,0xff 0,0xff 0,0xff 1,0xff 1,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 1,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 1,0xff 0,0xff 1,0xff 0,0xff 0,0xff 1,0xff 1,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 3,0xff 3,0xff 2,0xff 0,0xff 0,0xff 1,0xff 1,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 7,0xff00 12,0xff00 19,0xff00 20,0xff00 29,0xff00 29,0xff00 29,0xff00 31,0xff00 36,0xff00 34,0xff00 43,0x802020 40,0x802020 39,0xff00 43,0x802020 40,0x802020 51,0x802020 66,0x802020 99,0xffffff 79,0xffffff 69,0x802020 63,0x802020 60,0x802020 59,0x802020 52,0x802020 36,0xff00 42,0x802020 37,0xff00 52,0x802020 56,0x802020 49,0x802020 56,0x802020 52,0x802020 60,0x802020 84,0xffffff 65,0x802020 81,0xffffff 89,0xffffff 106,0xffffff 94,0xffffff 113,0xffffff 109,0xffffff 92,0xffffff 82,0xffffff 64,0x802020 64,0x802020 48,0x802020 47,0x802020 38,0xff00 45,0x802020 47,0x802020 49,0x802020 44,0x802020 55,0x802020 41,0x802020 48,0x802020 + 2,0xff 1,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 2,0xff 1,0xff 0,0xff 0,0xff 0,0xff 1,0xff 1,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 2,0xff 2,0xff 1,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 1,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 1,0xff 0,0xff 0,0xff 2,0xff 2,0xff 1,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 1,0xff 2,0xff 2,0xff 1,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 2,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 1,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 1,0xff 0,0xff 0,0xff 1,0xff 0,0xff 1,0xff 2,0xff 2,0xff 1,0xff 2,0xff 0,0xff 0,0xff 0,0xff 2,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 1,0xff 0,0xff 0,0xff 2,0xff 7,0xff00 11,0xff00 17,0xff00 24,0xff00 24,0xff00 24,0xff00 26,0xff00 32,0xff00 34,0xff00 37,0xff00 35,0xff00 32,0xff00 30,0xff00 41,0x802020 43,0x802020 43,0x802020 83,0xffffff 85,0xffffff 64,0x802020 72,0xffffff 61,0x802020 59,0x802020 49,0x802020 48,0x802020 38,0xff00 34,0xff00 43,0x802020 53,0x802020 51,0x802020 52,0x802020 93,0xffffff 83,0xffffff 78,0xffffff 80,0xffffff 84,0xffffff 106,0xffffff 109,0xffffff 90,0xffffff 121,0xffffff 102,0xffffff 111,0xffffff 78,0xffffff 65,0x802020 67,0x802020 57,0x802020 45,0x802020 51,0x802020 44,0x802020 44,0x802020 58,0x802020 52,0x802020 53,0x802020 52,0x802020 45,0x802020 45,0x802020 + 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 2,0xff 0,0xff 0,0xff 0,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 2,0xff 2,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 2,0xff 2,0xff 1,0xff 2,0xff 1,0xff 0,0xff 0,0xff 1,0xff 0,0xff 2,0xff 1,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 1,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 2,0xff 1,0xff 0,0xff 1,0xff 1,0xff 0,0xff 1,0xff 0,0xff 1,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 4,0xff 7,0xff00 7,0xff00 16,0xff00 18,0xff00 26,0xff00 22,0xff00 26,0xff00 29,0xff00 32,0xff00 34,0xff00 37,0xff00 33,0xff00 40,0x802020 44,0x802020 43,0x802020 48,0x802020 46,0x802020 63,0x802020 62,0x802020 59,0x802020 58,0x802020 47,0x802020 42,0x802020 41,0x802020 39,0xff00 39,0xff00 37,0xff00 46,0x802020 59,0x802020 48,0x802020 57,0x802020 94,0xffffff 82,0xffffff 96,0xffffff 112,0xffffff 103,0xffffff 82,0xffffff 101,0xffffff 118,0xffffff 100,0xffffff 72,0xffffff 90,0xffffff 76,0xffffff 61,0x802020 68,0x802020 59,0x802020 49,0x802020 45,0x802020 54,0x802020 47,0x802020 45,0x802020 42,0x802020 45,0x802020 45,0x802020 39,0xff00 44,0x802020 + 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 1,0xff 1,0xff 0,0xff 1,0xff 0,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 1,0xff 1,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 2,0xff 3,0xff 2,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 2,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 1,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 1,0xff 1,0xff 0,0xff 1,0xff 1,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 4,0xff 5,0xff00 5,0xff00 10,0xff00 15,0xff00 21,0xff00 23,0xff00 22,0xff00 19,0xff00 24,0xff00 27,0xff00 33,0xff00 34,0xff00 34,0xff00 35,0xff00 37,0xff00 50,0x802020 46,0x802020 61,0x802020 57,0x802020 50,0x802020 50,0x802020 58,0x802020 45,0x802020 39,0xff00 34,0xff00 35,0xff00 36,0xff00 45,0x802020 45,0x802020 51,0x802020 65,0x802020 63,0x802020 62,0x802020 99,0xffffff 71,0xffffff 93,0xffffff 133,0xffffff 106,0xffffff 77,0xffffff 119,0xffffff 97,0xffffff 69,0x802020 58,0x802020 87,0xffffff 66,0x802020 52,0x802020 60,0x802020 41,0x802020 44,0x802020 46,0x802020 45,0x802020 38,0xff00 36,0xff00 36,0xff00 44,0x802020 38,0xff00 34,0xff00 46,0x802020 + 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 2,0xff 1,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 1,0xff 0,0xff 1,0xff 0,0xff 1,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 1,0xff 0,0xff 1,0xff 2,0xff 2,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 2,0xff 3,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 2,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 1,0xff 0,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 1,0xff 1,0xff 0,0xff 1,0xff 0,0xff 0,0xff 1,0xff 1,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 3,0xff 2,0xff 5,0xff00 14,0xff00 18,0xff00 20,0xff00 20,0xff00 24,0xff00 23,0xff00 26,0xff00 27,0xff00 33,0xff00 28,0xff00 31,0xff00 33,0xff00 39,0xff00 40,0x802020 36,0xff00 43,0x802020 45,0x802020 51,0x802020 55,0x802020 46,0x802020 37,0xff00 38,0xff00 33,0xff00 31,0xff00 42,0x802020 43,0x802020 41,0x802020 49,0x802020 56,0x802020 55,0x802020 60,0x802020 94,0xffffff 106,0xffffff 110,0xffffff 87,0xffffff 83,0xffffff 64,0x802020 101,0xffffff 77,0xffffff 55,0x802020 55,0x802020 76,0xffffff 60,0x802020 56,0x802020 43,0x802020 35,0xff00 48,0x802020 51,0x802020 41,0x802020 36,0xff00 43,0x802020 42,0x802020 42,0x802020 38,0xff00 34,0xff00 42,0x802020 + 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 1,0xff 1,0xff 0,0xff 1,0xff 0,0xff 1,0xff 1,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 2,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 1,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 1,0xff 1,0xff 0,0xff 1,0xff 0,0xff 0,0xff 1,0xff 0,0xff 1,0xff 2,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 2,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 1,0xff 1,0xff 0,0xff 1,0xff 2,0xff 7,0xff00 8,0xff00 8,0xff00 14,0xff00 18,0xff00 21,0xff00 18,0xff00 25,0xff00 26,0xff00 31,0xff00 32,0xff00 34,0xff00 34,0xff00 34,0xff00 39,0xff00 40,0x802020 40,0x802020 37,0xff00 47,0x802020 48,0x802020 45,0x802020 43,0x802020 35,0xff00 30,0xff00 29,0xff00 29,0xff00 34,0xff00 36,0xff00 48,0x802020 56,0x802020 61,0x802020 57,0x802020 55,0x802020 106,0xffffff 121,0xffffff 122,0xffffff 91,0xffffff 76,0xffffff 65,0x802020 48,0x802020 70,0xffffff 75,0xffffff 56,0x802020 54,0x802020 58,0x802020 58,0x802020 46,0x802020 38,0xff00 34,0xff00 41,0x802020 44,0x802020 41,0x802020 35,0xff00 38,0xff00 39,0xff00 38,0xff00 50,0x802020 47,0x802020 44,0x802020 + 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 1,0xff 0,0xff 1,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 1,0xff 1,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 1,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 2,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 1,0xff 1,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 2,0xff 6,0xff00 5,0xff00 7,0xff00 12,0xff00 16,0xff00 18,0xff00 16,0xff00 16,0xff00 18,0xff00 23,0xff00 25,0xff00 32,0xff00 27,0xff00 30,0xff00 30,0xff00 32,0xff00 38,0xff00 47,0x802020 45,0x802020 48,0x802020 44,0x802020 43,0x802020 39,0xff00 38,0xff00 30,0xff00 26,0xff00 30,0xff00 26,0xff00 28,0xff00 43,0x802020 57,0x802020 52,0x802020 55,0x802020 57,0x802020 83,0xffffff 99,0xffffff 126,0xffffff 115,0xffffff 81,0xffffff 66,0x802020 62,0x802020 51,0x802020 65,0x802020 61,0x802020 61,0x802020 52,0x802020 43,0x802020 46,0x802020 39,0xff00 37,0xff00 31,0xff00 40,0x802020 34,0xff00 44,0x802020 40,0x802020 52,0x802020 50,0x802020 52,0x802020 55,0x802020 48,0x802020 44,0x802020 + 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 2,0xff 2,0xff 1,0xff 0,0xff 1,0xff 0,0xff 1,0xff 0,0xff 0,0xff 1,0xff 0,0xff 1,0xff 1,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 1,0xff 1,0xff 1,0xff 0,0xff 0,0xff 1,0xff 0,0xff 1,0xff 0,0xff 0,0xff 1,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 1,0xff 0,0xff 1,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 1,0xff 2,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 1,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 3,0xff 4,0xff 8,0xff00 8,0xff00 16,0xff00 16,0xff00 14,0xff00 11,0xff00 15,0xff00 22,0xff00 22,0xff00 29,0xff00 31,0xff00 25,0xff00 44,0x802020 40,0x802020 48,0x802020 49,0x802020 58,0x802020 52,0x802020 48,0x802020 41,0x802020 38,0xff00 38,0xff00 34,0xff00 29,0xff00 25,0xff00 31,0xff00 30,0xff00 36,0xff00 52,0x802020 48,0x802020 75,0xffffff 75,0xffffff 87,0xffffff 106,0xffffff 99,0xffffff 103,0xffffff 83,0xffffff 78,0xffffff 60,0x802020 55,0x802020 52,0x802020 53,0x802020 53,0x802020 64,0x802020 56,0x802020 43,0x802020 39,0xff00 43,0x802020 46,0x802020 41,0x802020 40,0x802020 36,0xff00 38,0xff00 42,0x802020 57,0x802020 44,0x802020 52,0x802020 50,0x802020 53,0x802020 40,0x802020 + 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 3,0xff 2,0xff 0,0xff 0,0xff 2,0xff 1,0xff 0,0xff 0,0xff 1,0xff 1,0xff 0,0xff 1,0xff 1,0xff 0,0xff 1,0xff 0,0xff 1,0xff 1,0xff 2,0xff 1,0xff 1,0xff 0,0xff 0,0xff 1,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 1,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 2,0xff 1,0xff 2,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 1,0xff 1,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 1,0xff 2,0xff 2,0xff 1,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 2,0xff 1,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 1,0xff 3,0xff 4,0xff 11,0xff00 10,0xff00 15,0xff00 15,0xff00 11,0xff00 16,0xff00 18,0xff00 23,0xff00 21,0xff00 27,0xff00 30,0xff00 30,0xff00 52,0x802020 57,0x802020 60,0x802020 60,0x802020 58,0x802020 40,0x802020 43,0x802020 40,0x802020 37,0xff00 34,0xff00 29,0xff00 30,0xff00 26,0xff00 32,0xff00 40,0x802020 52,0x802020 52,0x802020 64,0x802020 72,0xffffff 102,0xffffff 91,0xffffff 96,0xffffff 113,0xffffff 84,0xffffff 67,0x802020 53,0x802020 49,0x802020 47,0x802020 55,0x802020 51,0x802020 56,0x802020 67,0x802020 61,0x802020 50,0x802020 52,0x802020 53,0x802020 47,0x802020 48,0x802020 51,0x802020 50,0x802020 56,0x802020 56,0x802020 62,0x802020 52,0x802020 51,0x802020 48,0x802020 46,0x802020 38,0xff00 + 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 1,0xff 1,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 2,0xff 1,0xff 0,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 1,0xff 2,0xff 0,0xff 0,0xff 2,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 2,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 1,0xff 1,0xff 0,0xff 0,0xff 2,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 1,0xff 0,0xff 1,0xff 0,0xff 1,0xff 1,0xff 1,0xff 1,0xff 1,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 1,0xff 0,0xff 0,0xff 1,0xff 1,0xff 0,0xff 1,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 2,0xff 5,0xff00 7,0xff00 12,0xff00 14,0xff00 13,0xff00 14,0xff00 20,0xff00 22,0xff00 20,0xff00 23,0xff00 30,0xff00 36,0xff00 38,0xff00 59,0x802020 67,0x802020 60,0x802020 62,0x802020 46,0x802020 31,0xff00 41,0x802020 34,0xff00 35,0xff00 36,0xff00 32,0xff00 31,0xff00 33,0xff00 35,0xff00 53,0x802020 64,0x802020 61,0x802020 89,0xffffff 104,0xffffff 113,0xffffff 115,0xffffff 115,0xffffff 86,0xffffff 64,0x802020 61,0x802020 54,0x802020 52,0x802020 48,0x802020 50,0x802020 49,0x802020 61,0x802020 70,0xffffff 55,0x802020 43,0x802020 41,0x802020 42,0x802020 41,0x802020 39,0xff00 43,0x802020 39,0xff00 43,0x802020 50,0x802020 58,0x802020 51,0x802020 52,0x802020 44,0x802020 39,0xff00 37,0xff00 + 1,0xff 0,0xff 0,0xff 0,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 1,0xff 0,0xff 1,0xff 1,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 2,0xff 1,0xff 0,0xff 0,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 2,0xff 2,0xff 1,0xff 2,0xff 2,0xff 1,0xff 1,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 2,0xff 1,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 1,0xff 0,0xff 1,0xff 0,0xff 1,0xff 0,0xff 1,0xff 0,0xff 2,0xff 4,0xff 10,0xff00 8,0xff00 9,0xff00 13,0xff00 15,0xff00 18,0xff00 23,0xff00 25,0xff00 35,0xff00 39,0xff00 51,0x802020 52,0x802020 50,0x802020 53,0x802020 50,0x802020 34,0xff00 42,0x802020 40,0x802020 34,0xff00 35,0xff00 31,0xff00 30,0xff00 30,0xff00 34,0xff00 52,0x802020 85,0xffffff 97,0xffffff 89,0xffffff 99,0xffffff 112,0xffffff 124,0xffffff 93,0xffffff 78,0xffffff 60,0x802020 54,0x802020 53,0x802020 50,0x802020 53,0x802020 46,0x802020 57,0x802020 59,0x802020 61,0x802020 50,0x802020 46,0x802020 42,0x802020 41,0x802020 38,0xff00 34,0xff00 42,0x802020 47,0x802020 46,0x802020 58,0x802020 55,0x802020 55,0x802020 43,0x802020 44,0x802020 38,0xff00 35,0xff00 37,0xff00 + 0,0xff 1,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 2,0xff 1,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 2,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 1,0xff 0,0xff 2,0xff 1,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 2,0xff 0,0xff 1,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 1,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 1,0xff 1,0xff 2,0xff 2,0xff 2,0xff 1,0xff 3,0xff 4,0xff 4,0xff 5,0xff00 11,0xff00 17,0xff00 21,0xff00 21,0xff00 19,0xff00 24,0xff00 41,0x802020 54,0x802020 55,0x802020 56,0x802020 46,0x802020 37,0xff00 40,0x802020 38,0xff00 39,0xff00 37,0xff00 43,0x802020 40,0x802020 42,0x802020 44,0x802020 44,0x802020 45,0x802020 56,0x802020 100,0xffffff 72,0xffffff 83,0xffffff 111,0xffffff 98,0xffffff 118,0xffffff 70,0xffffff 71,0xffffff 50,0x802020 47,0x802020 46,0x802020 41,0x802020 53,0x802020 60,0x802020 61,0x802020 49,0x802020 56,0x802020 50,0x802020 46,0x802020 41,0x802020 38,0xff00 32,0xff00 31,0xff00 48,0x802020 54,0x802020 43,0x802020 56,0x802020 49,0x802020 44,0x802020 33,0xff00 42,0x802020 36,0xff00 34,0xff00 37,0xff00 + 1,0xff 0,0xff 1,0xff 1,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 1,0xff 0,0xff 1,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 1,0xff 0,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 2,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 1,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 1,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 2,0xff 0,0xff 0,0xff 1,0xff 1,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 1,0xff 1,0xff 0,0xff 2,0xff 0,0xff 0,0xff 2,0xff 1,0xff 6,0xff00 16,0xff00 20,0xff00 19,0xff00 18,0xff00 23,0xff00 40,0x802020 45,0x802020 60,0x802020 52,0x802020 50,0x802020 39,0xff00 34,0xff00 39,0xff00 38,0xff00 38,0xff00 39,0xff00 42,0x802020 41,0x802020 39,0xff00 43,0x802020 55,0x802020 55,0x802020 112,0xffffff 131,0xffffff 116,0xffffff 114,0xffffff 110,0xffffff 89,0xffffff 91,0xffffff 52,0x802020 53,0x802020 36,0xff00 40,0x802020 41,0x802020 57,0x802020 55,0x802020 50,0x802020 50,0x802020 56,0x802020 47,0x802020 46,0x802020 43,0x802020 37,0xff00 34,0xff00 35,0xff00 35,0xff00 38,0xff00 44,0x802020 39,0xff00 44,0x802020 38,0xff00 33,0xff00 31,0xff00 34,0xff00 32,0xff00 30,0xff00 34,0xff00 + 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 1,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 2,0xff 2,0xff 0,0xff 0,0xff 1,0xff 1,0xff 1,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 1,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 1,0xff 0,0xff 1,0xff 0,0xff 0,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 2,0xff 1,0xff 2,0xff 1,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 5,0xff00 10,0xff00 19,0xff00 22,0xff00 21,0xff00 28,0xff00 37,0xff00 51,0x802020 47,0x802020 49,0x802020 42,0x802020 38,0xff00 34,0xff00 35,0xff00 35,0xff00 36,0xff00 38,0xff00 47,0x802020 41,0x802020 50,0x802020 52,0x802020 49,0x802020 55,0x802020 89,0xffffff 88,0xffffff 106,0xffffff 130,0xffffff 96,0xffffff 83,0xffffff 66,0x802020 63,0x802020 55,0x802020 51,0x802020 53,0x802020 54,0x802020 50,0x802020 55,0x802020 52,0x802020 49,0x802020 45,0x802020 58,0x802020 43,0x802020 39,0xff00 41,0x802020 33,0xff00 31,0xff00 34,0xff00 34,0xff00 36,0xff00 39,0xff00 36,0xff00 37,0xff00 32,0xff00 31,0xff00 31,0xff00 27,0xff00 26,0xff00 29,0xff00 36,0xff00 + 1,0xff 0,0xff 1,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 2,0xff 2,0xff 1,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 2,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 1,0xff 1,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 5,0xff00 6,0xff00 7,0xff00 13,0xff00 19,0xff00 26,0xff00 26,0xff00 29,0xff00 39,0xff00 44,0x802020 48,0x802020 44,0x802020 37,0xff00 39,0xff00 34,0xff00 32,0xff00 31,0xff00 35,0xff00 39,0xff00 38,0xff00 34,0xff00 46,0x802020 45,0x802020 77,0xffffff 78,0xffffff 96,0xffffff 94,0xffffff 96,0xffffff 95,0xffffff 65,0x802020 79,0xffffff 59,0x802020 50,0x802020 46,0x802020 49,0x802020 63,0x802020 59,0x802020 58,0x802020 55,0x802020 45,0x802020 39,0xff00 37,0xff00 46,0x802020 40,0x802020 40,0x802020 37,0xff00 35,0xff00 34,0xff00 33,0xff00 30,0xff00 34,0xff00 39,0xff00 35,0xff00 31,0xff00 29,0xff00 27,0xff00 25,0xff00 24,0xff00 27,0xff00 27,0xff00 32,0xff00 + 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 1,0xff 2,0xff 2,0xff 2,0xff 1,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 1,0xff 0,0xff 1,0xff 0,0xff 1,0xff 0,0xff 2,0xff 4,0xff 7,0xff00 12,0xff00 19,0xff00 25,0xff00 27,0xff00 28,0xff00 46,0x802020 50,0x802020 44,0x802020 39,0xff00 35,0xff00 34,0xff00 32,0xff00 34,0xff00 33,0xff00 36,0xff00 39,0xff00 38,0xff00 48,0x802020 44,0x802020 61,0x802020 62,0x802020 62,0x802020 88,0xffffff 113,0xffffff 116,0xffffff 98,0xffffff 75,0xffffff 58,0x802020 59,0x802020 54,0x802020 50,0x802020 46,0x802020 45,0x802020 57,0x802020 64,0x802020 56,0x802020 45,0x802020 38,0xff00 35,0xff00 36,0xff00 39,0xff00 34,0xff00 35,0xff00 34,0xff00 28,0xff00 28,0xff00 31,0xff00 32,0xff00 35,0xff00 34,0xff00 33,0xff00 33,0xff00 30,0xff00 27,0xff00 22,0xff00 22,0xff00 29,0xff00 34,0xff00 35,0xff00 + 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 1,0xff 2,0xff 0,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 2,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 1,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 1,0xff 0,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 1,0xff 0,0xff 0,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 1,0xff 0,0xff 2,0xff 6,0xff00 7,0xff00 14,0xff00 18,0xff00 26,0xff00 31,0xff00 33,0xff00 33,0xff00 41,0x802020 40,0x802020 36,0xff00 31,0xff00 28,0xff00 26,0xff00 27,0xff00 31,0xff00 35,0xff00 34,0xff00 36,0xff00 45,0x802020 53,0x802020 52,0x802020 58,0x802020 60,0x802020 68,0x802020 110,0xffffff 115,0xffffff 99,0xffffff 87,0xffffff 63,0x802020 59,0x802020 55,0x802020 58,0x802020 48,0x802020 42,0x802020 39,0xff00 53,0x802020 50,0x802020 44,0x802020 38,0xff00 37,0xff00 32,0xff00 32,0xff00 32,0xff00 31,0xff00 33,0xff00 29,0xff00 22,0xff00 25,0xff00 28,0xff00 31,0xff00 36,0xff00 32,0xff00 28,0xff00 27,0xff00 23,0xff00 25,0xff00 24,0xff00 20,0xff00 27,0xff00 29,0xff00 31,0xff00 + 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 1,0xff 1,0xff 0,0xff 0,0xff 1,0xff 1,0xff 0,0xff 1,0xff 0,0xff 1,0xff 0,0xff 1,0xff 0,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 1,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 1,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 2,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 3,0xff 3,0xff 4,0xff 9,0xff00 10,0xff00 19,0xff00 22,0xff00 30,0xff00 31,0xff00 34,0xff00 38,0xff00 37,0xff00 35,0xff00 28,0xff00 28,0xff00 25,0xff00 28,0xff00 28,0xff00 33,0xff00 33,0xff00 33,0xff00 51,0x802020 60,0x802020 58,0x802020 61,0x802020 58,0x802020 59,0x802020 95,0xffffff 116,0xffffff 83,0xffffff 88,0xffffff 73,0xffffff 54,0x802020 54,0x802020 49,0x802020 57,0x802020 47,0x802020 49,0x802020 40,0x802020 38,0xff00 43,0x802020 44,0x802020 38,0xff00 32,0xff00 28,0xff00 28,0xff00 30,0xff00 28,0xff00 30,0xff00 26,0xff00 23,0xff00 26,0xff00 24,0xff00 29,0xff00 33,0xff00 27,0xff00 22,0xff00 21,0xff00 21,0xff00 24,0xff00 20,0xff00 22,0xff00 26,0xff00 29,0xff00 32,0xff00 + 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 2,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 2,0xff 2,0xff 1,0xff 1,0xff 0,0xff 1,0xff 1,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 1,0xff 1,0xff 1,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 1,0xff 0,0xff 1,0xff 1,0xff 2,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 1,0xff 1,0xff 1,0xff 1,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 1,0xff 1,0xff 0,0xff 1,0xff 0,0xff 1,0xff 4,0xff 3,0xff 9,0xff00 11,0xff00 21,0xff00 24,0xff00 25,0xff00 29,0xff00 31,0xff00 37,0xff00 35,0xff00 29,0xff00 25,0xff00 25,0xff00 26,0xff00 25,0xff00 31,0xff00 36,0xff00 35,0xff00 46,0x802020 63,0x802020 62,0x802020 61,0x802020 62,0x802020 82,0xffffff 107,0xffffff 121,0xffffff 99,0xffffff 85,0xffffff 73,0xffffff 49,0x802020 46,0x802020 44,0x802020 55,0x802020 53,0x802020 53,0x802020 44,0x802020 38,0xff00 38,0xff00 39,0xff00 36,0xff00 35,0xff00 32,0xff00 28,0xff00 31,0xff00 31,0xff00 26,0xff00 28,0xff00 21,0xff00 24,0xff00 23,0xff00 26,0xff00 27,0xff00 24,0xff00 21,0xff00 22,0xff00 21,0xff00 17,0xff00 21,0xff00 17,0xff00 21,0xff00 24,0xff00 27,0xff00 30,0xff00 + 1,0xff 0,0xff 0,0xff 1,0xff 1,0xff 0,0xff 1,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 2,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 1,0xff 1,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 1,0xff 2,0xff 1,0xff 0,0xff 0,0xff 1,0xff 1,0xff 0,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 1,0xff 3,0xff 8,0xff00 9,0xff00 18,0xff00 21,0xff00 27,0xff00 27,0xff00 29,0xff00 27,0xff00 31,0xff00 30,0xff00 25,0xff00 21,0xff00 24,0xff00 30,0xff00 30,0xff00 37,0xff00 37,0xff00 32,0xff00 49,0x802020 68,0x802020 64,0x802020 59,0x802020 61,0x802020 70,0xffffff 89,0xffffff 92,0xffffff 75,0xffffff 81,0xffffff 72,0xffffff 60,0x802020 57,0x802020 51,0x802020 61,0x802020 52,0x802020 51,0x802020 40,0x802020 33,0xff00 33,0xff00 34,0xff00 30,0xff00 33,0xff00 33,0xff00 30,0xff00 28,0xff00 29,0xff00 22,0xff00 21,0xff00 22,0xff00 26,0xff00 24,0xff00 29,0xff00 27,0xff00 22,0xff00 22,0xff00 18,0xff00 22,0xff00 17,0xff00 23,0xff00 24,0xff00 25,0xff00 23,0xff00 24,0xff00 28,0xff00 + 0,0xff 1,0xff 1,0xff 0,0xff 1,0xff 0,0xff 1,0xff 0,0xff 1,0xff 1,0xff 0,0xff 1,0xff 0,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 1,0xff 0,0xff 1,0xff 0,0xff 1,0xff 1,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 1,0xff 1,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 1,0xff 0,0xff 1,0xff 0,0xff 1,0xff 0,0xff 1,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 1,0xff 3,0xff 6,0xff00 9,0xff00 15,0xff00 19,0xff00 24,0xff00 27,0xff00 24,0xff00 24,0xff00 29,0xff00 30,0xff00 26,0xff00 24,0xff00 29,0xff00 30,0xff00 33,0xff00 36,0xff00 33,0xff00 40,0x802020 66,0x802020 67,0x802020 64,0x802020 67,0x802020 67,0x802020 92,0xffffff 86,0xffffff 68,0x802020 80,0xffffff 72,0xffffff 50,0x802020 47,0x802020 47,0x802020 47,0x802020 46,0x802020 44,0x802020 43,0x802020 32,0xff00 31,0xff00 31,0xff00 30,0xff00 31,0xff00 27,0xff00 30,0xff00 29,0xff00 22,0xff00 24,0xff00 24,0xff00 21,0xff00 24,0xff00 23,0xff00 20,0xff00 24,0xff00 25,0xff00 18,0xff00 15,0xff00 16,0xff00 17,0xff00 13,0xff00 18,0xff00 18,0xff00 21,0xff00 25,0xff00 27,0xff00 27,0xff00 + 2,0xff 2,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 2,0xff 1,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 1,0xff 0,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 2,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 1,0xff 1,0xff 0,0xff 0,0xff 1,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 1,0xff 1,0xff 1,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 2,0xff 3,0xff 9,0xff00 10,0xff00 11,0xff00 20,0xff00 20,0xff00 23,0xff00 26,0xff00 25,0xff00 25,0xff00 28,0xff00 30,0xff00 27,0xff00 27,0xff00 26,0xff00 30,0xff00 34,0xff00 34,0xff00 34,0xff00 78,0xffffff 70,0xffffff 63,0x802020 60,0x802020 58,0x802020 54,0x802020 89,0xffffff 70,0xffffff 70,0xffffff 57,0x802020 55,0x802020 50,0x802020 46,0x802020 41,0x802020 55,0x802020 45,0x802020 39,0xff00 40,0x802020 33,0xff00 28,0xff00 34,0xff00 31,0xff00 29,0xff00 26,0xff00 25,0xff00 22,0xff00 22,0xff00 18,0xff00 21,0xff00 20,0xff00 21,0xff00 19,0xff00 24,0xff00 23,0xff00 18,0xff00 16,0xff00 16,0xff00 15,0xff00 16,0xff00 16,0xff00 16,0xff00 14,0xff00 18,0xff00 23,0xff00 28,0xff00 29,0xff00 + 1,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 1,0xff 0,0xff 0,0xff 1,0xff 0,0xff 2,0xff 0,0xff 0,0xff 0,0xff 0,0xff 2,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 1,0xff 1,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 2,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 1,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 1,0xff 0,0xff 0,0xff 1,0xff 0,0xff 1,0xff 5,0xff00 8,0xff00 12,0xff00 18,0xff00 23,0xff00 20,0xff00 25,0xff00 22,0xff00 23,0xff00 27,0xff00 29,0xff00 28,0xff00 31,0xff00 31,0xff00 47,0x802020 49,0x802020 53,0x802020 54,0x802020 65,0x802020 55,0x802020 60,0x802020 58,0x802020 50,0x802020 60,0x802020 74,0xffffff 61,0x802020 48,0x802020 41,0x802020 44,0x802020 50,0x802020 40,0x802020 49,0x802020 45,0x802020 39,0xff00 38,0xff00 37,0xff00 33,0xff00 27,0xff00 33,0xff00 30,0xff00 28,0xff00 26,0xff00 21,0xff00 23,0xff00 21,0xff00 17,0xff00 18,0xff00 20,0xff00 15,0xff00 17,0xff00 23,0xff00 16,0xff00 16,0xff00 15,0xff00 12,0xff00 15,0xff00 16,0xff00 13,0xff00 19,0xff00 18,0xff00 18,0xff00 25,0xff00 26,0xff00 26,0xff00 + 2,0xff 2,0xff 2,0xff 2,0xff 1,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 1,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 2,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 1,0xff 1,0xff 1,0xff 0,0xff 1,0xff 0,0xff 0,0xff 1,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 1,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 1,0xff 1,0xff 0,0xff 0,0xff 1,0xff 4,0xff 6,0xff00 6,0xff00 7,0xff00 14,0xff00 17,0xff00 18,0xff00 22,0xff00 22,0xff00 21,0xff00 18,0xff00 23,0xff00 31,0xff00 29,0xff00 28,0xff00 34,0xff00 45,0x802020 56,0x802020 53,0x802020 56,0x802020 58,0x802020 57,0x802020 45,0x802020 53,0x802020 45,0x802020 50,0x802020 64,0x802020 60,0x802020 47,0x802020 54,0x802020 53,0x802020 48,0x802020 51,0x802020 41,0x802020 46,0x802020 37,0xff00 34,0xff00 38,0xff00 35,0xff00 33,0xff00 29,0xff00 30,0xff00 30,0xff00 27,0xff00 24,0xff00 23,0xff00 23,0xff00 18,0xff00 21,0xff00 19,0xff00 16,0xff00 18,0xff00 18,0xff00 21,0xff00 15,0xff00 12,0xff00 10,0xff00 8,0xff00 12,0xff00 11,0xff00 12,0xff00 18,0xff00 19,0xff00 20,0xff00 19,0xff00 22,0xff00 24,0xff00 + 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 2,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 1,0xff 1,0xff 1,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 2,0xff 1,0xff 0,0xff 1,0xff 0,0xff 0,0xff 1,0xff 2,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 1,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 1,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 1,0xff 0,0xff 1,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 1,0xff 2,0xff 2,0xff 2,0xff 1,0xff 0,0xff 1,0xff 0,0xff 1,0xff 0,0xff 0,0xff 1,0xff 3,0xff 7,0xff00 7,0xff00 8,0xff00 15,0xff00 13,0xff00 14,0xff00 17,0xff00 20,0xff00 19,0xff00 24,0xff00 26,0xff00 27,0xff00 29,0xff00 29,0xff00 29,0xff00 44,0x802020 49,0x802020 46,0x802020 53,0x802020 49,0x802020 44,0x802020 37,0xff00 49,0x802020 43,0x802020 58,0x802020 59,0x802020 55,0x802020 43,0x802020 48,0x802020 46,0x802020 41,0x802020 45,0x802020 36,0xff00 38,0xff00 39,0xff00 37,0xff00 36,0xff00 29,0xff00 30,0xff00 22,0xff00 23,0xff00 21,0xff00 20,0xff00 20,0xff00 22,0xff00 19,0xff00 14,0xff00 18,0xff00 16,0xff00 17,0xff00 15,0xff00 21,0xff00 18,0xff00 12,0xff00 8,0xff00 6,0xff00 10,0xff00 9,0xff00 12,0xff00 11,0xff00 14,0xff00 13,0xff00 14,0xff00 17,0xff00 18,0xff00 23,0xff00 + 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 1,0xff 2,0xff 2,0xff 2,0xff 2,0xff 0,0xff 0,0xff 1,0xff 1,0xff 1,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 1,0xff 0,0xff 1,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 2,0xff 0,0xff 0,0xff 1,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 1,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 2,0xff 2,0xff 3,0xff 9,0xff00 10,0xff00 10,0xff00 7,0xff00 11,0xff00 12,0xff00 13,0xff00 20,0xff00 18,0xff00 20,0xff00 25,0xff00 22,0xff00 25,0xff00 32,0xff00 31,0xff00 32,0xff00 50,0x802020 55,0x802020 46,0x802020 62,0x802020 54,0x802020 45,0x802020 51,0x802020 57,0x802020 47,0x802020 46,0x802020 41,0x802020 40,0x802020 33,0xff00 43,0x802020 40,0x802020 40,0x802020 39,0xff00 34,0xff00 33,0xff00 33,0xff00 30,0xff00 30,0xff00 20,0xff00 20,0xff00 17,0xff00 17,0xff00 20,0xff00 22,0xff00 23,0xff00 22,0xff00 17,0xff00 15,0xff00 17,0xff00 15,0xff00 10,0xff00 11,0xff00 14,0xff00 12,0xff00 8,0xff00 10,0xff00 11,0xff00 11,0xff00 10,0xff00 12,0xff00 14,0xff00 15,0xff00 10,0xff00 11,0xff00 17,0xff00 20,0xff00 25,0xff00 + 0,0xff 0,0xff 1,0xff 0,0xff 1,0xff 1,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 1,0xff 1,0xff 1,0xff 1,0xff 1,0xff 0,0xff 2,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 1,0xff 0,0xff 0,0xff 1,0xff 1,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 1,0xff 0,0xff 0,0xff 1,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 1,0xff 1,0xff 1,0xff 0,0xff 0,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 1,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 2,0xff 1,0xff 1,0xff 1,0xff 1,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 2,0xff 2,0xff 2,0xff 2,0xff 8,0xff00 7,0xff00 12,0xff00 10,0xff00 13,0xff00 16,0xff00 17,0xff00 24,0xff00 23,0xff00 22,0xff00 19,0xff00 20,0xff00 26,0xff00 29,0xff00 32,0xff00 36,0xff00 50,0x802020 48,0x802020 47,0x802020 51,0x802020 41,0x802020 40,0x802020 47,0x802020 50,0x802020 39,0xff00 38,0xff00 33,0xff00 40,0x802020 37,0xff00 41,0x802020 35,0xff00 32,0xff00 33,0xff00 27,0xff00 29,0xff00 32,0xff00 30,0xff00 26,0xff00 22,0xff00 20,0xff00 15,0xff00 14,0xff00 20,0xff00 19,0xff00 21,0xff00 16,0xff00 10,0xff00 11,0xff00 14,0xff00 13,0xff00 10,0xff00 12,0xff00 9,0xff00 9,0xff00 7,0xff00 10,0xff00 12,0xff00 11,0xff00 10,0xff00 14,0xff00 12,0xff00 14,0xff00 16,0xff00 16,0xff00 16,0xff00 22,0xff00 22,0xff00 + 0,0xff 0,0xff 0,0xff 1,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 1,0xff 1,0xff 1,0xff 1,0xff 0,0xff 1,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 1,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 1,0xff 1,0xff 0,0xff 1,0xff 0,0xff 0,0xff 1,0xff 0,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 1,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 1,0xff 1,0xff 2,0xff 2,0xff 1,0xff 0,0xff 0,0xff 2,0xff 10,0xff00 11,0xff00 12,0xff00 7,0xff00 12,0xff00 15,0xff00 15,0xff00 18,0xff00 19,0xff00 22,0xff00 19,0xff00 25,0xff00 26,0xff00 32,0xff00 36,0xff00 37,0xff00 52,0x802020 44,0x802020 47,0x802020 44,0x802020 48,0x802020 57,0x802020 56,0x802020 56,0x802020 45,0x802020 40,0x802020 36,0xff00 33,0xff00 32,0xff00 32,0xff00 30,0xff00 31,0xff00 29,0xff00 26,0xff00 28,0xff00 24,0xff00 24,0xff00 20,0xff00 15,0xff00 16,0xff00 15,0xff00 14,0xff00 13,0xff00 14,0xff00 13,0xff00 12,0xff00 11,0xff00 8,0xff00 12,0xff00 8,0xff00 10,0xff00 7,0xff00 7,0xff00 8,0xff00 8,0xff00 9,0xff00 13,0xff00 12,0xff00 9,0xff00 16,0xff00 16,0xff00 18,0xff00 18,0xff00 15,0xff00 14,0xff00 20,0xff00 23,0xff00 + 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 2,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 2,0xff 2,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 1,0xff 0,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 1,0xff 1,0xff 1,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 2,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 1,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 7,0xff00 8,0xff00 5,0xff00 7,0xff00 4,0xff 8,0xff00 11,0xff00 14,0xff00 21,0xff00 20,0xff00 21,0xff00 21,0xff00 27,0xff00 32,0xff00 32,0xff00 40,0x802020 52,0x802020 55,0x802020 50,0x802020 46,0x802020 43,0x802020 49,0x802020 51,0x802020 52,0x802020 56,0x802020 40,0x802020 34,0xff00 36,0xff00 32,0xff00 33,0xff00 28,0xff00 31,0xff00 30,0xff00 30,0xff00 26,0xff00 21,0xff00 21,0xff00 20,0xff00 15,0xff00 13,0xff00 12,0xff00 17,0xff00 17,0xff00 14,0xff00 13,0xff00 7,0xff00 10,0xff00 11,0xff00 10,0xff00 7,0xff00 4,0xff 4,0xff 6,0xff00 4,0xff 5,0xff00 2,0xff 5,0xff00 8,0xff00 12,0xff00 13,0xff00 14,0xff00 14,0xff00 17,0xff00 14,0xff00 15,0xff00 16,0xff00 22,0xff00 20,0xff00 + 1,0xff 0,0xff 1,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 2,0xff 2,0xff 3,0xff 2,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 1,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 1,0xff 2,0xff 1,0xff 1,0xff 0,0xff 1,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 1,0xff 1,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 4,0xff 9,0xff00 7,0xff00 7,0xff00 6,0xff00 4,0xff 5,0xff00 10,0xff00 15,0xff00 20,0xff00 24,0xff00 23,0xff00 26,0xff00 32,0xff00 35,0xff00 35,0xff00 34,0xff00 40,0x802020 41,0x802020 47,0x802020 39,0xff00 35,0xff00 42,0x802020 43,0x802020 53,0x802020 49,0x802020 39,0xff00 36,0xff00 34,0xff00 31,0xff00 31,0xff00 30,0xff00 31,0xff00 25,0xff00 28,0xff00 23,0xff00 17,0xff00 19,0xff00 15,0xff00 17,0xff00 15,0xff00 13,0xff00 18,0xff00 15,0xff00 9,0xff00 10,0xff00 6,0xff00 9,0xff00 6,0xff00 4,0xff 3,0xff 3,0xff 2,0xff 5,0xff00 5,0xff00 4,0xff 2,0xff 4,0xff 10,0xff00 16,0xff00 15,0xff00 15,0xff00 16,0xff00 12,0xff00 15,0xff00 12,0xff00 18,0xff00 18,0xff00 17,0xff00 + 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 1,0xff 1,0xff 0,0xff 1,0xff 1,0xff 1,0xff 2,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 1,0xff 1,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 1,0xff 0,0xff 1,0xff 1,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 1,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 1,0xff 1,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 4,0xff 7,0xff00 8,0xff00 5,0xff00 4,0xff 5,0xff00 2,0xff 5,0xff00 14,0xff00 21,0xff00 24,0xff00 22,0xff00 25,0xff00 31,0xff00 30,0xff00 36,0xff00 43,0x802020 43,0x802020 48,0x802020 40,0x802020 38,0xff00 33,0xff00 34,0xff00 37,0xff00 53,0x802020 47,0x802020 44,0x802020 38,0xff00 36,0xff00 34,0xff00 34,0xff00 31,0xff00 26,0xff00 24,0xff00 22,0xff00 19,0xff00 14,0xff00 13,0xff00 12,0xff00 11,0xff00 13,0xff00 10,0xff00 13,0xff00 18,0xff00 13,0xff00 12,0xff00 9,0xff00 7,0xff00 6,0xff00 4,0xff 4,0xff 2,0xff 2,0xff 0,0xff 3,0xff 2,0xff 1,0xff 2,0xff 9,0xff00 11,0xff00 11,0xff00 13,0xff00 10,0xff00 8,0xff00 9,0xff00 10,0xff00 14,0xff00 22,0xff00 20,0xff00 17,0xff00 + 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 2,0xff 1,0xff 2,0xff 2,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 2,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 1,0xff 1,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 1,0xff 1,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 1,0xff 1,0xff 0,0xff 0,0xff 1,0xff 7,0xff00 7,0xff00 4,0xff 5,0xff00 4,0xff 2,0xff 7,0xff00 17,0xff00 24,0xff00 25,0xff00 23,0xff00 28,0xff00 28,0xff00 31,0xff00 33,0xff00 37,0xff00 39,0xff00 35,0xff00 40,0x802020 38,0xff00 40,0x802020 43,0x802020 43,0x802020 42,0x802020 40,0x802020 37,0xff00 31,0xff00 30,0xff00 27,0xff00 29,0xff00 26,0xff00 21,0xff00 16,0xff00 17,0xff00 19,0xff00 14,0xff00 13,0xff00 12,0xff00 16,0xff00 16,0xff00 13,0xff00 15,0xff00 13,0xff00 6,0xff00 5,0xff00 6,0xff00 5,0xff00 5,0xff00 2,0xff 2,0xff 3,0xff 2,0xff 3,0xff 5,0xff00 5,0xff00 6,0xff00 7,0xff00 13,0xff00 13,0xff00 10,0xff00 9,0xff00 9,0xff00 10,0xff00 10,0xff00 13,0xff00 19,0xff00 22,0xff00 21,0xff00 19,0xff00 + 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 2,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 1,0xff 1,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 2,0xff 1,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 1,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 2,0xff 1,0xff 0,0xff 1,0xff 4,0xff 6,0xff00 4,0xff 4,0xff 6,0xff00 10,0xff00 13,0xff00 17,0xff00 23,0xff00 25,0xff00 24,0xff00 29,0xff00 33,0xff00 32,0xff00 29,0xff00 44,0x802020 41,0x802020 37,0xff00 37,0xff00 35,0xff00 37,0xff00 48,0x802020 41,0x802020 37,0xff00 34,0xff00 30,0xff00 27,0xff00 25,0xff00 25,0xff00 29,0xff00 23,0xff00 22,0xff00 18,0xff00 15,0xff00 15,0xff00 10,0xff00 10,0xff00 9,0xff00 15,0xff00 11,0xff00 15,0xff00 13,0xff00 11,0xff00 5,0xff00 7,0xff00 6,0xff00 4,0xff 2,0xff 1,0xff 0,0xff 0,0xff 0,0xff 2,0xff 4,0xff 2,0xff 3,0xff 6,0xff00 11,0xff00 11,0xff00 5,0xff00 3,0xff 5,0xff00 10,0xff00 15,0xff00 19,0xff00 20,0xff00 19,0xff00 16,0xff00 14,0xff00 + 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 2,0xff 1,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 2,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 1,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 1,0xff 1,0xff 1,0xff 0,0xff 0,0xff 1,0xff 1,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 1,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 1,0xff 0,0xff 1,0xff 0,0xff 1,0xff 1,0xff 0,0xff 0,0xff 2,0xff 2,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 2,0xff 1,0xff 2,0xff 6,0xff00 8,0xff00 9,0xff00 14,0xff00 17,0xff00 23,0xff00 25,0xff00 22,0xff00 27,0xff00 25,0xff00 27,0xff00 30,0xff00 30,0xff00 42,0x802020 36,0xff00 32,0xff00 34,0xff00 38,0xff00 35,0xff00 44,0x802020 35,0xff00 31,0xff00 25,0xff00 25,0xff00 28,0xff00 25,0xff00 21,0xff00 26,0xff00 20,0xff00 21,0xff00 17,0xff00 16,0xff00 11,0xff00 12,0xff00 12,0xff00 11,0xff00 16,0xff00 11,0xff00 8,0xff00 9,0xff00 5,0xff00 4,0xff 4,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 3,0xff 3,0xff 1,0xff 1,0xff 6,0xff00 4,0xff 5,0xff00 3,0xff 2,0xff 8,0xff00 13,0xff00 19,0xff00 17,0xff00 21,0xff00 17,0xff00 11,0xff00 14,0xff00 + 0,0xff 0,0xff 0,0xff 2,0xff 1,0xff 1,0xff 1,0xff 1,0xff 1,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 2,0xff 2,0xff 1,0xff 0,0xff 2,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 1,0xff 2,0xff 1,0xff 0,0xff 0,0xff 2,0xff 1,0xff 0,0xff 0,0xff 1,0xff 0,0xff 1,0xff 0,0xff 1,0xff 0,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 2,0xff 0,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 2,0xff 7,0xff00 8,0xff00 10,0xff00 9,0xff00 9,0xff00 18,0xff00 21,0xff00 27,0xff00 26,0xff00 27,0xff00 26,0xff00 28,0xff00 27,0xff00 30,0xff00 32,0xff00 42,0x802020 36,0xff00 33,0xff00 31,0xff00 32,0xff00 35,0xff00 39,0xff00 31,0xff00 24,0xff00 20,0xff00 22,0xff00 19,0xff00 18,0xff00 19,0xff00 23,0xff00 16,0xff00 15,0xff00 14,0xff00 9,0xff00 7,0xff00 7,0xff00 8,0xff00 11,0xff00 11,0xff00 6,0xff00 3,0xff 2,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 2,0xff 2,0xff 1,0xff 4,0xff 3,0xff 2,0xff 2,0xff 0,0xff 5,0xff00 11,0xff00 17,0xff00 15,0xff00 19,0xff00 13,0xff00 10,0xff00 12,0xff00 + 1,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 1,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 1,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 2,0xff 2,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 1,0xff 2,0xff 1,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 1,0xff 0,0xff 1,0xff 0,0xff 0,0xff 1,0xff 1,0xff 1,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 2,0xff 2,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 6,0xff00 7,0xff00 5,0xff00 11,0xff00 11,0xff00 17,0xff00 23,0xff00 22,0xff00 27,0xff00 25,0xff00 25,0xff00 26,0xff00 30,0xff00 29,0xff00 35,0xff00 34,0xff00 38,0xff00 38,0xff00 34,0xff00 29,0xff00 31,0xff00 33,0xff00 27,0xff00 24,0xff00 22,0xff00 15,0xff00 17,0xff00 17,0xff00 20,0xff00 16,0xff00 13,0xff00 9,0xff00 10,0xff00 9,0xff00 6,0xff00 3,0xff 4,0xff 9,0xff00 12,0xff00 8,0xff00 3,0xff 1,0xff 2,0xff 1,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 1,0xff 0,0xff 0,0xff 1,0xff 1,0xff 1,0xff 2,0xff 3,0xff 4,0xff 5,0xff00 10,0xff00 13,0xff00 12,0xff00 12,0xff00 13,0xff00 12,0xff00 13,0xff00 + 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 2,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 2,0xff 1,0xff 1,0xff 0,0xff 1,0xff 0,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 1,0xff 0,0xff 1,0xff 1,0xff 1,0xff 2,0xff 1,0xff 1,0xff 1,0xff 0,0xff 1,0xff 0,0xff 1,0xff 1,0xff 0,0xff 0,0xff 1,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 2,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 2,0xff 1,0xff 2,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 1,0xff 0,0xff 0,0xff 1,0xff 0,0xff 1,0xff 0,0xff 0,0xff 2,0xff 3,0xff 2,0xff 1,0xff 6,0xff00 10,0xff00 18,0xff00 24,0xff00 21,0xff00 23,0xff00 24,0xff00 24,0xff00 27,0xff00 33,0xff00 36,0xff00 37,0xff00 36,0xff00 34,0xff00 34,0xff00 30,0xff00 30,0xff00 27,0xff00 28,0xff00 26,0xff00 19,0xff00 14,0xff00 14,0xff00 16,0xff00 11,0xff00 13,0xff00 9,0xff00 9,0xff00 8,0xff00 5,0xff00 4,0xff 2,0xff 0,0xff 0,0xff 5,0xff00 6,0xff00 6,0xff00 3,0xff 1,0xff 0,0xff 0,0xff 0,0xff 1,0xff 1,0xff 0,0xff 0,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 1,0xff 1,0xff 6,0xff00 7,0xff00 11,0xff00 14,0xff00 14,0xff00 10,0xff00 9,0xff00 12,0xff00 14,0xff00 + 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 1,0xff 1,0xff 1,0xff 0,0xff 2,0xff 1,0xff 1,0xff 1,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 1,0xff 0,0xff 1,0xff 0,0xff 0,0xff 1,0xff 2,0xff 2,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 2,0xff 1,0xff 0,0xff 1,0xff 1,0xff 1,0xff 2,0xff 2,0xff 1,0xff 0,0xff 1,0xff 1,0xff 0,0xff 0,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 2,0xff 2,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 1,0xff 0,0xff 2,0xff 3,0xff 4,0xff 6,0xff00 9,0xff00 10,0xff00 13,0xff00 15,0xff00 22,0xff00 22,0xff00 22,0xff00 21,0xff00 26,0xff00 25,0xff00 28,0xff00 32,0xff00 36,0xff00 37,0xff00 35,0xff00 31,0xff00 33,0xff00 27,0xff00 29,0xff00 25,0xff00 26,0xff00 25,0xff00 20,0xff00 17,0xff00 15,0xff00 13,0xff00 11,0xff00 9,0xff00 4,0xff 4,0xff 2,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 2,0xff 4,0xff 3,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 1,0xff 2,0xff 1,0xff 0,0xff 1,0xff 0,0xff 5,0xff00 5,0xff00 12,0xff00 10,0xff00 7,0xff00 9,0xff00 10,0xff00 8,0xff00 12,0xff00 + 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 1,0xff 0,0xff 0,0xff 1,0xff 2,0xff 1,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 2,0xff 3,0xff 2,0xff 1,0xff 1,0xff 1,0xff 1,0xff 1,0xff 0,0xff 0,0xff 1,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 2,0xff 1,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 2,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 2,0xff 1,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 1,0xff 1,0xff 0,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 1,0xff 0,0xff 2,0xff 2,0xff 5,0xff00 5,0xff00 12,0xff00 15,0xff00 16,0xff00 17,0xff00 19,0xff00 20,0xff00 17,0xff00 19,0xff00 24,0xff00 29,0xff00 27,0xff00 34,0xff00 32,0xff00 36,0xff00 29,0xff00 30,0xff00 30,0xff00 28,0xff00 28,0xff00 22,0xff00 24,0xff00 17,0xff00 15,0xff00 13,0xff00 13,0xff00 7,0xff00 4,0xff 5,0xff00 3,0xff 3,0xff 2,0xff 1,0xff 0,0xff 1,0xff 1,0xff 0,0xff 0,0xff 2,0xff 1,0xff 1,0xff 1,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 1,0xff 2,0xff 4,0xff 7,0xff00 9,0xff00 7,0xff00 6,0xff00 7,0xff00 11,0xff00 6,0xff00 11,0xff00 + 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 1,0xff 1,0xff 0,0xff 2,0xff 0,0xff 1,0xff 2,0xff 1,0xff 0,0xff 0,0xff 1,0xff 1,0xff 2,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 1,0xff 0,0xff 1,0xff 0,0xff 0,0xff 2,0xff 1,0xff 1,0xff 1,0xff 0,0xff 1,0xff 0,0xff 0,0xff 1,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 1,0xff 1,0xff 2,0xff 2,0xff 2,0xff 4,0xff 11,0xff00 13,0xff00 17,0xff00 19,0xff00 20,0xff00 21,0xff00 20,0xff00 19,0xff00 27,0xff00 25,0xff00 26,0xff00 31,0xff00 34,0xff00 30,0xff00 31,0xff00 27,0xff00 24,0xff00 23,0xff00 23,0xff00 19,0xff00 19,0xff00 12,0xff00 10,0xff00 11,0xff00 9,0xff00 3,0xff 4,0xff 4,0xff 3,0xff 1,0xff 0,0xff 0,0xff 0,0xff 2,0xff 1,0xff 0,0xff 0,0xff 0,0xff 2,0xff 1,0xff 1,0xff 0,0xff 0,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 1,0xff 1,0xff 2,0xff 7,0xff00 6,0xff00 3,0xff 4,0xff 8,0xff00 11,0xff00 10,0xff00 9,0xff00 + 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 1,0xff 0,0xff 0,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 1,0xff 0,0xff 0,0xff 1,0xff 0,0xff 2,0xff 1,0xff 0,0xff 1,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 2,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 2,0xff 2,0xff 2,0xff 1,0xff 0,0xff 1,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 1,0xff 3,0xff 7,0xff00 15,0xff00 16,0xff00 21,0xff00 19,0xff00 17,0xff00 22,0xff00 21,0xff00 22,0xff00 24,0xff00 27,0xff00 27,0xff00 25,0xff00 25,0xff00 25,0xff00 24,0xff00 24,0xff00 18,0xff00 18,0xff00 16,0xff00 11,0xff00 9,0xff00 8,0xff00 11,0xff00 6,0xff00 5,0xff00 2,0xff 4,0xff 4,0xff 2,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 1,0xff 0,0xff 1,0xff 2,0xff 0,0xff 0,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 1,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 1,0xff 1,0xff 2,0xff 2,0xff 7,0xff00 6,0xff00 6,0xff00 9,0xff00 8,0xff00 6,0xff00 + 1,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 1,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 1,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 1,0xff 1,0xff 1,0xff 0,0xff 0,0xff 1,0xff 1,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 1,0xff 2,0xff 1,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 1,0xff 0,0xff 1,0xff 0,0xff 0,0xff 1,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 3,0xff 3,0xff 2,0xff 1,0xff 2,0xff 2,0xff 1,0xff 1,0xff 1,0xff 2,0xff 2,0xff 5,0xff00 9,0xff00 10,0xff00 20,0xff00 20,0xff00 21,0xff00 19,0xff00 15,0xff00 18,0xff00 17,0xff00 22,0xff00 24,0xff00 22,0xff00 20,0xff00 18,0xff00 20,0xff00 23,0xff00 22,0xff00 25,0xff00 20,0xff00 16,0xff00 13,0xff00 5,0xff00 3,0xff 5,0xff00 9,0xff00 6,0xff00 4,0xff 3,0xff 4,0xff 3,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 2,0xff 4,0xff 4,0xff 3,0xff 3,0xff 6,0xff00 3,0xff 6,0xff00 + 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 1,0xff 1,0xff 0,0xff 0,0xff 1,0xff 0,0xff 1,0xff 0,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 2,0xff 2,0xff 2,0xff 1,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 2,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 1,0xff 0,0xff 1,0xff 0,0xff 1,0xff 0,0xff 0,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 1,0xff 1,0xff 0,0xff 0,0xff 1,0xff 2,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 3,0xff 4,0xff 9,0xff00 10,0xff00 16,0xff00 16,0xff00 19,0xff00 16,0xff00 17,0xff00 16,0xff00 16,0xff00 22,0xff00 20,0xff00 22,0xff00 17,0xff00 19,0xff00 20,0xff00 21,0xff00 17,0xff00 17,0xff00 17,0xff00 11,0xff00 7,0xff00 2,0xff 0,0xff 5,0xff00 3,0xff 1,0xff 1,0xff 0,0xff 1,0xff 1,0xff 1,0xff 1,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 1,0xff 1,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 2,0xff 1,0xff 1,0xff 3,0xff 3,0xff 0,0xff 1,0xff 7,0xff00 6,0xff00 7,0xff00 + 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 1,0xff 1,0xff 0,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 1,0xff 1,0xff 0,0xff 0,0xff 1,0xff 1,0xff 0,0xff 1,0xff 1,0xff 0,0xff 1,0xff 1,0xff 0,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 1,0xff 2,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 1,0xff 0,0xff 1,0xff 1,0xff 1,0xff 2,0xff 1,0xff 0,0xff 1,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 2,0xff 0,0xff 0,0xff 0,0xff 1,0xff 2,0xff 2,0xff 5,0xff00 13,0xff00 15,0xff00 14,0xff00 15,0xff00 19,0xff00 20,0xff00 20,0xff00 18,0xff00 16,0xff00 20,0xff00 22,0xff00 21,0xff00 19,0xff00 20,0xff00 24,0xff00 22,0xff00 17,0xff00 13,0xff00 7,0xff00 5,0xff00 4,0xff 2,0xff 0,0xff 1,0xff 2,0xff 0,0xff 0,0xff 0,0xff 1,0xff 2,0xff 1,0xff 2,0xff 1,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 1,0xff 0,0xff 1,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 6,0xff00 5,0xff00 6,0xff00 6,0xff00 4,0xff 4,0xff + 0,0xff 1,0xff 0,0xff 0,0xff 1,0xff 2,0xff 1,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 1,0xff 2,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 1,0xff 0,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 1,0xff 0,0xff 0,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 1,0xff 0,0xff 1,0xff 0,0xff 0,0xff 1,0xff 1,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 1,0xff 1,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 1,0xff 2,0xff 4,0xff 4,0xff 10,0xff00 15,0xff00 14,0xff00 14,0xff00 22,0xff00 21,0xff00 17,0xff00 21,0xff00 18,0xff00 18,0xff00 18,0xff00 18,0xff00 14,0xff00 16,0xff00 20,0xff00 14,0xff00 9,0xff00 5,0xff00 6,0xff00 3,0xff 1,0xff 1,0xff 0,0xff 0,0xff 2,0xff 1,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 2,0xff 1,0xff 0,0xff 2,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 1,0xff 0,0xff 2,0xff 2,0xff 3,0xff 5,0xff00 3,0xff 5,0xff00 3,0xff 6,0xff00 + 1,0xff 0,0xff 1,0xff 1,0xff 0,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 2,0xff 1,0xff 0,0xff 0,0xff 2,0xff 1,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 2,0xff 2,0xff 1,0xff 0,0xff 0,0xff 0,0xff 2,0xff 1,0xff 1,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 1,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 1,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 2,0xff 2,0xff 3,0xff 4,0xff 5,0xff00 5,0xff00 9,0xff00 14,0xff00 14,0xff00 18,0xff00 18,0xff00 20,0xff00 19,0xff00 17,0xff00 12,0xff00 12,0xff00 12,0xff00 15,0xff00 8,0xff00 11,0xff00 14,0xff00 7,0xff00 4,0xff 3,0xff 4,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 2,0xff 1,0xff 0,0xff 2,0xff 0,0xff 1,0xff 0,0xff 0,0xff 1,0xff 0,0xff 1,0xff 0,0xff 1,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 1,0xff 0,0xff 3,0xff 2,0xff 3,0xff 4,0xff 1,0xff 4,0xff 1,0xff 2,0xff diff --git a/maps/test_maps/t2.fdf b/maps/test_maps/t2.fdf new file mode 100644 index 0000000..8f8280f --- /dev/null +++ b/maps/test_maps/t2.fdf @@ -0,0 +1,100 @@ + 1,0xff 1,0xff 2,0xff 1,0xff 3,0xff 9,0xff00 9,0xff00 10,0xff00 12,0xff00 10,0xff00 13,0xff00 13,0xff00 14,0xff00 16,0xff00 15,0xff00 18,0xff00 15,0xff00 20,0xff00 20,0xff00 17,0xff00 19,0xff00 21,0xff00 24,0xff00 23,0xff00 23,0xff00 23,0xff00 23,0xff00 26,0xff00 28,0xff00 33,0xff00 33,0xff00 34,0xff00 32,0xff00 30,0xff00 35,0xff00 37,0xff00 38,0xff00 33,0xff00 35,0xff00 45,0x802020 43,0x802020 43,0x802020 50,0x802020 51,0x802020 47,0x802020 44,0x802020 39,0xff00 37,0xff00 42,0x802020 38,0xff00 47,0x802020 45,0x802020 49,0x802020 52,0x802020 51,0x802020 61,0x802020 54,0x802020 69,0x802020 63,0x802020 61,0x802020 45,0x802020 48,0x802020 53,0x802020 57,0x802020 52,0x802020 52,0x802020 56,0x802020 57,0x802020 65,0x802020 62,0x802020 96,0xffffff 73,0xffffff 65,0x802020 49,0x802020 73,0xffffff 72,0xffffff 83,0xffffff 74,0xffffff 58,0x802020 55,0x802020 79,0xffffff 81,0xffffff 64,0x802020 91,0xffffff 73,0xffffff 63,0x802020 89,0xffffff 100,0xffffff 79,0xffffff 104,0xffffff 87,0xffffff 81,0xffffff 80,0xffffff 84,0xffffff 86,0xffffff 99,0xffffff 110,0xffffff 111,0xffffff 118,0xffffff 103,0xffffff + 0,0xff 1,0xff 1,0xff 7,0xff00 7,0xff00 5,0xff00 10,0xff00 10,0xff00 6,0xff00 8,0xff00 10,0xff00 15,0xff00 18,0xff00 17,0xff00 12,0xff00 13,0xff00 16,0xff00 20,0xff00 23,0xff00 21,0xff00 22,0xff00 19,0xff00 18,0xff00 18,0xff00 20,0xff00 22,0xff00 26,0xff00 27,0xff00 31,0xff00 33,0xff00 31,0xff00 30,0xff00 32,0xff00 26,0xff00 29,0xff00 30,0xff00 29,0xff00 29,0xff00 28,0xff00 40,0x802020 38,0xff00 48,0x802020 48,0x802020 47,0x802020 38,0xff00 43,0x802020 36,0xff00 39,0xff00 39,0xff00 36,0xff00 38,0xff00 41,0x802020 48,0x802020 48,0x802020 51,0x802020 64,0x802020 50,0x802020 57,0x802020 57,0x802020 52,0x802020 41,0x802020 45,0x802020 56,0x802020 47,0x802020 53,0x802020 56,0x802020 45,0x802020 49,0x802020 61,0x802020 54,0x802020 84,0xffffff 72,0xffffff 60,0x802020 55,0x802020 60,0x802020 84,0xffffff 78,0xffffff 70,0xffffff 56,0x802020 49,0x802020 60,0x802020 62,0x802020 54,0x802020 72,0xffffff 52,0x802020 80,0xffffff 73,0xffffff 96,0xffffff 79,0xffffff 93,0xffffff 103,0xffffff 84,0xffffff 74,0xffffff 93,0xffffff 118,0xffffff 125,0xffffff 108,0xffffff 104,0xffffff 98,0xffffff 103,0xffffff + 0,0xff 0,0xff 0,0xff 6,0xff00 5,0xff00 9,0xff00 9,0xff00 5,0xff00 6,0xff00 7,0xff00 11,0xff00 13,0xff00 15,0xff00 18,0xff00 15,0xff00 14,0xff00 17,0xff00 16,0xff00 16,0xff00 18,0xff00 19,0xff00 13,0xff00 15,0xff00 19,0xff00 21,0xff00 26,0xff00 26,0xff00 25,0xff00 27,0xff00 28,0xff00 32,0xff00 29,0xff00 28,0xff00 26,0xff00 28,0xff00 24,0xff00 26,0xff00 28,0xff00 30,0xff00 33,0xff00 32,0xff00 45,0x802020 43,0x802020 42,0x802020 35,0xff00 38,0xff00 34,0xff00 34,0xff00 34,0xff00 29,0xff00 30,0xff00 40,0x802020 50,0x802020 60,0x802020 55,0x802020 58,0x802020 56,0x802020 59,0x802020 49,0x802020 46,0x802020 38,0xff00 45,0x802020 51,0x802020 46,0x802020 44,0x802020 54,0x802020 43,0x802020 48,0x802020 59,0x802020 66,0x802020 62,0x802020 59,0x802020 59,0x802020 53,0x802020 58,0x802020 65,0x802020 63,0x802020 60,0x802020 50,0x802020 46,0x802020 52,0x802020 61,0x802020 61,0x802020 60,0x802020 57,0x802020 78,0xffffff 67,0x802020 75,0xffffff 84,0xffffff 101,0xffffff 118,0xffffff 105,0xffffff 90,0xffffff 109,0xffffff 109,0xffffff 87,0xffffff 92,0xffffff 73,0xffffff 75,0xffffff 100,0xffffff + 0,0xff 0,0xff 5,0xff00 6,0xff00 5,0xff00 5,0xff00 6,0xff00 4,0xff 8,0xff00 5,0xff00 9,0xff00 13,0xff00 14,0xff00 18,0xff00 14,0xff00 14,0xff00 10,0xff00 12,0xff00 14,0xff00 15,0xff00 15,0xff00 11,0xff00 12,0xff00 18,0xff00 21,0xff00 23,0xff00 18,0xff00 19,0xff00 22,0xff00 23,0xff00 27,0xff00 23,0xff00 26,0xff00 24,0xff00 23,0xff00 21,0xff00 23,0xff00 24,0xff00 28,0xff00 32,0xff00 33,0xff00 40,0x802020 37,0xff00 39,0xff00 36,0xff00 34,0xff00 34,0xff00 36,0xff00 36,0xff00 36,0xff00 37,0xff00 43,0x802020 49,0x802020 60,0x802020 58,0x802020 53,0x802020 54,0x802020 49,0x802020 43,0x802020 37,0xff00 36,0xff00 47,0x802020 46,0x802020 39,0xff00 37,0xff00 48,0x802020 51,0x802020 62,0x802020 66,0x802020 59,0x802020 60,0x802020 51,0x802020 60,0x802020 64,0x802020 60,0x802020 56,0x802020 52,0x802020 60,0x802020 42,0x802020 38,0xff00 43,0x802020 48,0x802020 55,0x802020 64,0x802020 55,0x802020 59,0x802020 51,0x802020 85,0xffffff 76,0xffffff 64,0x802020 74,0xffffff 74,0xffffff 90,0xffffff 101,0xffffff 118,0xffffff 91,0xffffff 78,0xffffff 66,0x802020 83,0xffffff 100,0xffffff + 0,0xff 0,0xff 2,0xff 3,0xff 3,0xff 1,0xff 2,0xff 5,0xff00 6,0xff00 10,0xff00 10,0xff00 12,0xff00 19,0xff00 18,0xff00 14,0xff00 10,0xff00 12,0xff00 11,0xff00 15,0xff00 15,0xff00 10,0xff00 13,0xff00 17,0xff00 18,0xff00 18,0xff00 20,0xff00 21,0xff00 21,0xff00 20,0xff00 26,0xff00 24,0xff00 24,0xff00 28,0xff00 24,0xff00 18,0xff00 21,0xff00 25,0xff00 22,0xff00 25,0xff00 31,0xff00 38,0xff00 38,0xff00 35,0xff00 37,0xff00 31,0xff00 34,0xff00 35,0xff00 38,0xff00 35,0xff00 38,0xff00 41,0x802020 40,0x802020 39,0xff00 47,0x802020 54,0x802020 59,0x802020 53,0x802020 46,0x802020 37,0xff00 33,0xff00 48,0x802020 48,0x802020 40,0x802020 37,0xff00 54,0x802020 60,0x802020 59,0x802020 61,0x802020 50,0x802020 48,0x802020 51,0x802020 58,0x802020 67,0x802020 61,0x802020 50,0x802020 47,0x802020 59,0x802020 53,0x802020 40,0x802020 47,0x802020 46,0x802020 52,0x802020 50,0x802020 56,0x802020 58,0x802020 54,0x802020 73,0xffffff 75,0xffffff 71,0xffffff 59,0x802020 69,0x802020 73,0xffffff 113,0xffffff 93,0xffffff 96,0xffffff 74,0xffffff 85,0xffffff 99,0xffffff 106,0xffffff 100,0xffffff + 0,0xff 0,0xff 2,0xff 3,0xff 1,0xff 3,0xff 6,0xff00 6,0xff00 9,0xff00 10,0xff00 11,0xff00 8,0xff00 13,0xff00 15,0xff00 11,0xff00 12,0xff00 8,0xff00 10,0xff00 9,0xff00 10,0xff00 9,0xff00 17,0xff00 18,0xff00 16,0xff00 20,0xff00 22,0xff00 20,0xff00 19,0xff00 20,0xff00 23,0xff00 24,0xff00 24,0xff00 26,0xff00 23,0xff00 18,0xff00 25,0xff00 27,0xff00 23,0xff00 29,0xff00 33,0xff00 35,0xff00 33,0xff00 35,0xff00 32,0xff00 33,0xff00 38,0xff00 39,0xff00 39,0xff00 35,0xff00 36,0xff00 37,0xff00 33,0xff00 43,0x802020 47,0x802020 51,0x802020 51,0x802020 45,0x802020 39,0xff00 36,0xff00 32,0xff00 44,0x802020 43,0x802020 35,0xff00 34,0xff00 39,0xff00 71,0xffffff 65,0x802020 59,0x802020 55,0x802020 60,0x802020 54,0x802020 50,0x802020 48,0x802020 46,0x802020 43,0x802020 38,0xff00 50,0x802020 50,0x802020 40,0x802020 47,0x802020 50,0x802020 49,0x802020 43,0x802020 54,0x802020 54,0x802020 46,0x802020 79,0xffffff 69,0x802020 69,0x802020 63,0x802020 81,0xffffff 103,0xffffff 118,0xffffff 98,0xffffff 128,0xffffff 112,0xffffff 102,0xffffff 71,0xffffff 84,0xffffff 98,0xffffff + 1,0xff 1,0xff 1,0xff 1,0xff 3,0xff 3,0xff 2,0xff 6,0xff00 9,0xff00 6,0xff00 8,0xff00 7,0xff00 9,0xff00 11,0xff00 5,0xff00 6,0xff00 6,0xff00 12,0xff00 12,0xff00 10,0xff00 13,0xff00 15,0xff00 11,0xff00 12,0xff00 16,0xff00 20,0xff00 22,0xff00 21,0xff00 19,0xff00 22,0xff00 25,0xff00 25,0xff00 21,0xff00 17,0xff00 16,0xff00 22,0xff00 28,0xff00 27,0xff00 25,0xff00 30,0xff00 29,0xff00 32,0xff00 29,0xff00 30,0xff00 36,0xff00 37,0xff00 37,0xff00 39,0xff00 38,0xff00 36,0xff00 46,0x802020 46,0x802020 54,0x802020 51,0x802020 42,0x802020 41,0x802020 35,0xff00 33,0xff00 29,0xff00 30,0xff00 42,0x802020 36,0xff00 32,0xff00 44,0x802020 43,0x802020 65,0x802020 54,0x802020 64,0x802020 64,0x802020 56,0x802020 61,0x802020 52,0x802020 51,0x802020 43,0x802020 39,0xff00 34,0xff00 39,0xff00 46,0x802020 44,0x802020 40,0x802020 50,0x802020 55,0x802020 47,0x802020 57,0x802020 51,0x802020 51,0x802020 65,0x802020 69,0x802020 64,0x802020 72,0xffffff 73,0xffffff 79,0xffffff 86,0xffffff 82,0xffffff 97,0xffffff 85,0xffffff 73,0xffffff 61,0x802020 79,0xffffff 94,0xffffff + 1,0xff 0,0xff 0,0xff 2,0xff 1,0xff 7,0xff00 5,0xff00 10,0xff00 12,0xff00 11,0xff00 10,0xff00 7,0xff00 9,0xff00 7,0xff00 5,0xff00 5,0xff00 8,0xff00 12,0xff00 15,0xff00 13,0xff00 12,0xff00 10,0xff00 12,0xff00 14,0xff00 13,0xff00 17,0xff00 19,0xff00 18,0xff00 14,0xff00 18,0xff00 22,0xff00 22,0xff00 20,0xff00 21,0xff00 22,0xff00 22,0xff00 24,0xff00 27,0xff00 28,0xff00 27,0xff00 27,0xff00 30,0xff00 31,0xff00 29,0xff00 30,0xff00 32,0xff00 34,0xff00 46,0x802020 40,0x802020 38,0xff00 48,0x802020 58,0x802020 52,0x802020 41,0x802020 37,0xff00 36,0xff00 31,0xff00 31,0xff00 32,0xff00 39,0xff00 44,0x802020 51,0x802020 52,0x802020 59,0x802020 63,0x802020 69,0x802020 56,0x802020 72,0xffffff 65,0x802020 58,0x802020 50,0x802020 43,0x802020 43,0x802020 38,0xff00 32,0xff00 33,0xff00 35,0xff00 47,0x802020 59,0x802020 59,0x802020 61,0x802020 57,0x802020 76,0xffffff 75,0xffffff 81,0xffffff 87,0xffffff 76,0xffffff 73,0xffffff 72,0xffffff 63,0x802020 83,0xffffff 98,0xffffff 87,0xffffff 105,0xffffff 88,0xffffff 74,0xffffff 96,0xffffff 100,0xffffff 108,0xffffff 93,0xffffff + 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 7,0xff00 10,0xff00 9,0xff00 6,0xff00 7,0xff00 7,0xff00 2,0xff 5,0xff00 4,0xff 2,0xff 3,0xff 8,0xff00 10,0xff00 15,0xff00 10,0xff00 11,0xff00 6,0xff00 11,0xff00 19,0xff00 18,0xff00 17,0xff00 15,0xff00 13,0xff00 14,0xff00 13,0xff00 17,0xff00 20,0xff00 18,0xff00 20,0xff00 23,0xff00 22,0xff00 24,0xff00 28,0xff00 28,0xff00 24,0xff00 27,0xff00 27,0xff00 30,0xff00 29,0xff00 30,0xff00 32,0xff00 46,0x802020 42,0x802020 48,0x802020 40,0x802020 43,0x802020 46,0x802020 40,0x802020 35,0xff00 34,0xff00 33,0xff00 27,0xff00 32,0xff00 36,0xff00 45,0x802020 48,0x802020 44,0x802020 45,0x802020 70,0xffffff 70,0xffffff 65,0x802020 67,0x802020 64,0x802020 50,0x802020 46,0x802020 44,0x802020 36,0xff00 38,0xff00 31,0xff00 31,0xff00 34,0xff00 39,0xff00 56,0x802020 56,0x802020 59,0x802020 58,0x802020 76,0xffffff 76,0xffffff 64,0x802020 61,0x802020 76,0xffffff 61,0x802020 55,0x802020 72,0xffffff 66,0x802020 76,0xffffff 78,0xffffff 88,0xffffff 105,0xffffff 112,0xffffff 98,0xffffff 87,0xffffff 108,0xffffff 86,0xffffff 95,0xffffff + 0,0xff 1,0xff 3,0xff 4,0xff 5,0xff00 9,0xff00 8,0xff00 5,0xff00 5,0xff00 3,0xff 3,0xff 2,0xff 5,0xff00 5,0xff00 8,0xff00 10,0xff00 12,0xff00 10,0xff00 7,0xff00 7,0xff00 8,0xff00 9,0xff00 14,0xff00 19,0xff00 18,0xff00 12,0xff00 16,0xff00 14,0xff00 13,0xff00 10,0xff00 15,0xff00 19,0xff00 13,0xff00 17,0xff00 20,0xff00 23,0xff00 26,0xff00 22,0xff00 23,0xff00 24,0xff00 24,0xff00 29,0xff00 27,0xff00 25,0xff00 40,0x802020 40,0x802020 44,0x802020 37,0xff00 51,0x802020 50,0x802020 47,0x802020 41,0x802020 35,0xff00 32,0xff00 33,0xff00 29,0xff00 30,0xff00 48,0x802020 49,0x802020 50,0x802020 41,0x802020 47,0x802020 46,0x802020 63,0x802020 59,0x802020 56,0x802020 67,0x802020 61,0x802020 40,0x802020 36,0xff00 41,0x802020 33,0xff00 33,0xff00 33,0xff00 35,0xff00 38,0xff00 39,0xff00 59,0x802020 62,0x802020 60,0x802020 45,0x802020 72,0xffffff 65,0x802020 52,0x802020 59,0x802020 64,0x802020 48,0x802020 53,0x802020 60,0x802020 67,0x802020 65,0x802020 69,0x802020 100,0xffffff 114,0xffffff 129,0xffffff 106,0xffffff 94,0xffffff 122,0xffffff 111,0xffffff 92,0xffffff + 0,0xff 0,0xff 3,0xff 3,0xff 4,0xff 3,0xff 5,0xff00 2,0xff 2,0xff 1,0xff 2,0xff 2,0xff 2,0xff 3,0xff 4,0xff 7,0xff00 6,0xff00 8,0xff00 9,0xff00 6,0xff00 10,0xff00 13,0xff00 13,0xff00 12,0xff00 11,0xff00 10,0xff00 12,0xff00 15,0xff00 14,0xff00 10,0xff00 16,0xff00 17,0xff00 14,0xff00 19,0xff00 17,0xff00 19,0xff00 22,0xff00 23,0xff00 22,0xff00 24,0xff00 26,0xff00 26,0xff00 29,0xff00 37,0xff00 43,0x802020 43,0x802020 40,0x802020 48,0x802020 51,0x802020 49,0x802020 43,0x802020 35,0xff00 32,0xff00 27,0xff00 26,0xff00 28,0xff00 27,0xff00 40,0x802020 52,0x802020 49,0x802020 48,0x802020 46,0x802020 55,0x802020 64,0x802020 67,0x802020 63,0x802020 57,0x802020 49,0x802020 32,0xff00 32,0xff00 32,0xff00 29,0xff00 33,0xff00 34,0xff00 36,0xff00 40,0x802020 51,0x802020 63,0x802020 50,0x802020 43,0x802020 46,0x802020 68,0x802020 53,0x802020 56,0x802020 63,0x802020 72,0xffffff 68,0x802020 87,0xffffff 87,0xffffff 96,0xffffff 84,0xffffff 117,0xffffff 127,0xffffff 127,0xffffff 124,0xffffff 91,0xffffff 99,0xffffff 97,0xffffff 89,0xffffff 94,0xffffff + 0,0xff 0,0xff 2,0xff 0,0xff 0,0xff 1,0xff 2,0xff 1,0xff 1,0xff 0,0xff 0,0xff 3,0xff 4,0xff 4,0xff 5,0xff00 6,0xff00 10,0xff00 12,0xff00 10,0xff00 6,0xff00 10,0xff00 16,0xff00 15,0xff00 12,0xff00 7,0xff00 8,0xff00 15,0xff00 17,0xff00 13,0xff00 13,0xff00 16,0xff00 12,0xff00 16,0xff00 17,0xff00 19,0xff00 23,0xff00 23,0xff00 18,0xff00 22,0xff00 26,0xff00 30,0xff00 32,0xff00 44,0x802020 52,0x802020 54,0x802020 47,0x802020 53,0x802020 48,0x802020 46,0x802020 38,0xff00 34,0xff00 29,0xff00 30,0xff00 28,0xff00 24,0xff00 26,0xff00 28,0xff00 42,0x802020 49,0x802020 49,0x802020 46,0x802020 50,0x802020 51,0x802020 59,0x802020 60,0x802020 52,0x802020 47,0x802020 38,0xff00 29,0xff00 28,0xff00 29,0xff00 24,0xff00 28,0xff00 32,0xff00 36,0xff00 44,0x802020 54,0x802020 57,0x802020 43,0x802020 55,0x802020 61,0x802020 65,0x802020 60,0x802020 66,0x802020 74,0xffffff 67,0x802020 93,0xffffff 71,0xffffff 84,0xffffff 110,0xffffff 100,0xffffff 114,0xffffff 103,0xffffff 112,0xffffff 118,0xffffff 80,0xffffff 82,0xffffff 116,0xffffff 104,0xffffff 93,0xffffff + 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 2,0xff 2,0xff 2,0xff 4,0xff 11,0xff00 10,0xff00 11,0xff00 9,0xff00 11,0xff00 13,0xff00 15,0xff00 11,0xff00 9,0xff00 9,0xff00 11,0xff00 11,0xff00 10,0xff00 10,0xff00 14,0xff00 10,0xff00 10,0xff00 16,0xff00 19,0xff00 21,0xff00 23,0xff00 21,0xff00 23,0xff00 25,0xff00 28,0xff00 32,0xff00 33,0xff00 45,0x802020 54,0x802020 59,0x802020 47,0x802020 45,0x802020 37,0xff00 42,0x802020 33,0xff00 28,0xff00 25,0xff00 25,0xff00 25,0xff00 22,0xff00 29,0xff00 34,0xff00 50,0x802020 40,0x802020 39,0xff00 40,0x802020 55,0x802020 49,0x802020 51,0x802020 60,0x802020 45,0x802020 36,0xff00 34,0xff00 24,0xff00 25,0xff00 25,0xff00 27,0xff00 30,0xff00 37,0xff00 36,0xff00 54,0x802020 50,0x802020 45,0x802020 54,0x802020 56,0x802020 60,0x802020 67,0x802020 62,0x802020 67,0x802020 50,0x802020 71,0xffffff 71,0xffffff 55,0x802020 74,0xffffff 101,0xffffff 116,0xffffff 108,0xffffff 78,0xffffff 88,0xffffff 114,0xffffff 101,0xffffff 87,0xffffff 99,0xffffff 102,0xffffff 90,0xffffff + 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 1,0xff 6,0xff00 6,0xff00 12,0xff00 10,0xff00 15,0xff00 14,0xff00 15,0xff00 14,0xff00 12,0xff00 13,0xff00 9,0xff00 9,0xff00 9,0xff00 8,0xff00 6,0xff00 10,0xff00 8,0xff00 6,0xff00 10,0xff00 14,0xff00 19,0xff00 18,0xff00 22,0xff00 21,0xff00 24,0xff00 28,0xff00 44,0x802020 44,0x802020 52,0x802020 57,0x802020 52,0x802020 56,0x802020 41,0x802020 42,0x802020 33,0xff00 31,0xff00 27,0xff00 22,0xff00 25,0xff00 29,0xff00 29,0xff00 36,0xff00 46,0x802020 46,0x802020 41,0x802020 36,0xff00 53,0x802020 52,0x802020 53,0x802020 44,0x802020 41,0x802020 42,0x802020 41,0x802020 33,0xff00 31,0xff00 26,0xff00 22,0xff00 23,0xff00 23,0xff00 26,0xff00 29,0xff00 41,0x802020 58,0x802020 59,0x802020 55,0x802020 47,0x802020 54,0x802020 59,0x802020 61,0x802020 65,0x802020 68,0x802020 67,0x802020 70,0xffffff 53,0x802020 71,0xffffff 97,0xffffff 80,0xffffff 77,0xffffff 74,0xffffff 72,0xffffff 77,0xffffff 114,0xffffff 108,0xffffff 96,0xffffff 125,0xffffff 105,0xffffff 87,0xffffff + 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 3,0xff 4,0xff 8,0xff00 6,0xff00 15,0xff00 16,0xff00 17,0xff00 13,0xff00 11,0xff00 12,0xff00 11,0xff00 11,0xff00 6,0xff00 4,0xff 4,0xff 4,0xff 3,0xff 7,0xff00 7,0xff00 14,0xff00 16,0xff00 21,0xff00 22,0xff00 19,0xff00 22,0xff00 24,0xff00 30,0xff00 36,0xff00 45,0x802020 60,0x802020 60,0x802020 64,0x802020 53,0x802020 47,0x802020 33,0xff00 32,0xff00 30,0xff00 26,0xff00 23,0xff00 25,0xff00 28,0xff00 35,0xff00 35,0xff00 41,0x802020 51,0x802020 47,0x802020 43,0x802020 55,0x802020 58,0x802020 56,0x802020 47,0x802020 45,0x802020 49,0x802020 40,0x802020 38,0xff00 30,0xff00 25,0xff00 19,0xff00 19,0xff00 21,0xff00 28,0xff00 34,0xff00 45,0x802020 61,0x802020 65,0x802020 56,0x802020 48,0x802020 37,0xff00 48,0x802020 45,0x802020 48,0x802020 52,0x802020 58,0x802020 68,0x802020 89,0xffffff 77,0xffffff 101,0xffffff 88,0xffffff 67,0x802020 104,0xffffff 97,0xffffff 116,0xffffff 119,0xffffff 127,0xffffff 134,0xffffff 119,0xffffff 129,0xffffff 99,0xffffff 87,0xffffff + 2,0xff 2,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 2,0xff 2,0xff 4,0xff 6,0xff00 9,0xff00 12,0xff00 10,0xff00 10,0xff00 7,0xff00 7,0xff00 6,0xff00 8,0xff00 10,0xff00 5,0xff00 6,0xff00 5,0xff00 2,0xff 3,0xff 1,0xff 3,0xff 12,0xff00 11,0xff00 16,0xff00 15,0xff00 18,0xff00 19,0xff00 21,0xff00 19,0xff00 25,0xff00 31,0xff00 46,0x802020 60,0x802020 68,0x802020 63,0x802020 50,0x802020 44,0x802020 43,0x802020 33,0xff00 29,0xff00 29,0xff00 25,0xff00 29,0xff00 32,0xff00 34,0xff00 47,0x802020 55,0x802020 58,0x802020 60,0x802020 56,0x802020 47,0x802020 55,0x802020 56,0x802020 48,0x802020 41,0x802020 42,0x802020 39,0xff00 33,0xff00 34,0xff00 24,0xff00 27,0xff00 23,0xff00 24,0xff00 33,0xff00 50,0x802020 54,0x802020 56,0x802020 55,0x802020 49,0x802020 39,0xff00 43,0x802020 37,0xff00 46,0x802020 51,0x802020 49,0x802020 55,0x802020 46,0x802020 75,0xffffff 73,0xffffff 58,0x802020 81,0xffffff 69,0x802020 59,0x802020 100,0xffffff 88,0xffffff 109,0xffffff 131,0xffffff 108,0xffffff 108,0xffffff 87,0xffffff 86,0xffffff 90,0xffffff 85,0xffffff + 2,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 1,0xff 2,0xff 2,0xff 0,0xff 3,0xff 4,0xff 10,0xff00 7,0xff00 4,0xff 6,0xff00 3,0xff 3,0xff 4,0xff 6,0xff00 10,0xff00 5,0xff00 4,0xff 0,0xff 0,0xff 3,0xff 6,0xff00 7,0xff00 13,0xff00 15,0xff00 16,0xff00 13,0xff00 18,0xff00 19,0xff00 23,0xff00 26,0xff00 29,0xff00 39,0xff00 48,0x802020 58,0x802020 54,0x802020 49,0x802020 40,0x802020 39,0xff00 36,0xff00 28,0xff00 24,0xff00 28,0xff00 31,0xff00 40,0x802020 44,0x802020 40,0x802020 52,0x802020 55,0x802020 59,0x802020 60,0x802020 54,0x802020 42,0x802020 49,0x802020 40,0x802020 40,0x802020 40,0x802020 39,0xff00 35,0xff00 27,0xff00 27,0xff00 25,0xff00 27,0xff00 23,0xff00 32,0xff00 36,0xff00 54,0x802020 59,0x802020 54,0x802020 57,0x802020 42,0x802020 39,0xff00 34,0xff00 41,0x802020 42,0x802020 54,0x802020 56,0x802020 48,0x802020 39,0xff00 70,0xffffff 62,0x802020 59,0x802020 75,0xffffff 64,0x802020 68,0x802020 111,0xffffff 110,0xffffff 115,0xffffff 99,0xffffff 83,0xffffff 107,0xffffff 95,0xffffff 82,0xffffff 109,0xffffff 85,0xffffff + 2,0xff 1,0xff 0,0xff 0,0xff 1,0xff 0,0xff 2,0xff 2,0xff 1,0xff 1,0xff 1,0xff 4,0xff 5,0xff00 3,0xff 4,0xff 4,0xff 3,0xff 4,0xff 3,0xff 1,0xff 5,0xff00 2,0xff 1,0xff 0,0xff 2,0xff 3,0xff 10,0xff00 10,0xff00 12,0xff00 18,0xff00 15,0xff00 18,0xff00 18,0xff00 19,0xff00 22,0xff00 27,0xff00 48,0x802020 49,0x802020 50,0x802020 52,0x802020 46,0x802020 46,0x802020 40,0x802020 39,0xff00 34,0xff00 29,0xff00 33,0xff00 39,0xff00 44,0x802020 42,0x802020 52,0x802020 43,0x802020 51,0x802020 51,0x802020 43,0x802020 42,0x802020 41,0x802020 40,0x802020 53,0x802020 42,0x802020 45,0x802020 40,0x802020 34,0xff00 26,0xff00 26,0xff00 26,0xff00 24,0xff00 29,0xff00 29,0xff00 34,0xff00 33,0xff00 51,0x802020 55,0x802020 43,0x802020 41,0x802020 34,0xff00 35,0xff00 30,0xff00 47,0x802020 45,0x802020 48,0x802020 54,0x802020 60,0x802020 72,0xffffff 100,0xffffff 88,0xffffff 88,0xffffff 105,0xffffff 97,0xffffff 88,0xffffff 128,0xffffff 100,0xffffff 93,0xffffff 88,0xffffff 65,0x802020 95,0xffffff 103,0xffffff 89,0xffffff 89,0xffffff 87,0xffffff + 0,0xff 0,0xff 1,0xff 0,0xff 1,0xff 0,0xff 0,0xff 1,0xff 1,0xff 0,0xff 0,0xff 3,0xff 3,0xff 2,0xff 1,0xff 1,0xff 2,0xff 3,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 1,0xff 4,0xff 10,0xff00 12,0xff00 11,0xff00 14,0xff00 12,0xff00 14,0xff00 14,0xff00 16,0xff00 21,0xff00 27,0xff00 35,0xff00 45,0x802020 42,0x802020 42,0x802020 53,0x802020 42,0x802020 44,0x802020 38,0xff00 35,0xff00 28,0xff00 28,0xff00 31,0xff00 37,0xff00 54,0x802020 50,0x802020 47,0x802020 40,0x802020 38,0xff00 44,0x802020 47,0x802020 41,0x802020 35,0xff00 42,0x802020 52,0x802020 41,0x802020 42,0x802020 33,0xff00 30,0xff00 22,0xff00 26,0xff00 28,0xff00 24,0xff00 26,0xff00 27,0xff00 34,0xff00 29,0xff00 40,0x802020 47,0x802020 39,0xff00 37,0xff00 32,0xff00 38,0xff00 45,0x802020 56,0x802020 52,0x802020 54,0x802020 53,0x802020 60,0x802020 93,0xffffff 73,0xffffff 94,0xffffff 73,0xffffff 92,0xffffff 104,0xffffff 91,0xffffff 120,0xffffff 101,0xffffff 117,0xffffff 97,0xffffff 100,0xffffff 104,0xffffff 106,0xffffff 86,0xffffff 98,0xffffff 83,0xffffff + 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 3,0xff 3,0xff 1,0xff 0,0xff 1,0xff 0,0xff 0,0xff 3,0xff 3,0xff 11,0xff00 7,0xff00 7,0xff00 10,0xff00 12,0xff00 16,0xff00 18,0xff00 22,0xff00 26,0xff00 28,0xff00 34,0xff00 36,0xff00 36,0xff00 37,0xff00 42,0x802020 36,0xff00 42,0x802020 36,0xff00 33,0xff00 34,0xff00 43,0x802020 45,0x802020 44,0x802020 46,0x802020 45,0x802020 41,0x802020 39,0xff00 38,0xff00 36,0xff00 47,0x802020 49,0x802020 50,0x802020 50,0x802020 46,0x802020 39,0xff00 37,0xff00 30,0xff00 23,0xff00 20,0xff00 24,0xff00 21,0xff00 23,0xff00 27,0xff00 24,0xff00 27,0xff00 25,0xff00 40,0x802020 39,0xff00 37,0xff00 35,0xff00 31,0xff00 43,0x802020 51,0x802020 61,0x802020 64,0x802020 66,0x802020 65,0x802020 63,0x802020 75,0xffffff 76,0xffffff 105,0xffffff 86,0xffffff 95,0xffffff 84,0xffffff 97,0xffffff 118,0xffffff 98,0xffffff 124,0xffffff 103,0xffffff 112,0xffffff 121,0xffffff 119,0xffffff 112,0xffffff 112,0xffffff 83,0xffffff + 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 1,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 1,0xff 2,0xff 4,0xff 5,0xff00 11,0xff00 14,0xff00 14,0xff00 18,0xff00 19,0xff00 26,0xff00 26,0xff00 31,0xff00 32,0xff00 39,0xff00 36,0xff00 35,0xff00 40,0x802020 35,0xff00 38,0xff00 35,0xff00 35,0xff00 46,0x802020 43,0x802020 38,0xff00 37,0xff00 39,0xff00 36,0xff00 35,0xff00 36,0xff00 41,0x802020 51,0x802020 49,0x802020 53,0x802020 47,0x802020 44,0x802020 37,0xff00 36,0xff00 31,0xff00 25,0xff00 22,0xff00 22,0xff00 21,0xff00 23,0xff00 19,0xff00 22,0xff00 24,0xff00 27,0xff00 29,0xff00 38,0xff00 40,0x802020 37,0xff00 35,0xff00 46,0x802020 56,0x802020 55,0x802020 45,0x802020 74,0xffffff 79,0xffffff 72,0xffffff 73,0xffffff 104,0xffffff 102,0xffffff 105,0xffffff 79,0xffffff 121,0xffffff 101,0xffffff 105,0xffffff 124,0xffffff 86,0xffffff 105,0xffffff 103,0xffffff 142,0xffffff 125,0xffffff 130,0xffffff 120,0xffffff 94,0xffffff 81,0xffffff + 0,0xff 0,0xff 1,0xff 1,0xff 1,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 1,0xff 2,0xff 1,0xff 0,0xff 0,0xff 1,0xff 1,0xff 2,0xff 2,0xff 4,0xff 10,0xff00 10,0xff00 13,0xff00 12,0xff00 14,0xff00 20,0xff00 25,0xff00 27,0xff00 25,0xff00 30,0xff00 32,0xff00 33,0xff00 33,0xff00 35,0xff00 37,0xff00 32,0xff00 34,0xff00 36,0xff00 35,0xff00 35,0xff00 42,0x802020 36,0xff00 34,0xff00 35,0xff00 31,0xff00 34,0xff00 42,0x802020 53,0x802020 47,0x802020 55,0x802020 50,0x802020 43,0x802020 37,0xff00 31,0xff00 29,0xff00 23,0xff00 19,0xff00 17,0xff00 16,0xff00 15,0xff00 17,0xff00 17,0xff00 22,0xff00 22,0xff00 28,0xff00 35,0xff00 36,0xff00 44,0x802020 44,0x802020 51,0x802020 64,0x802020 64,0x802020 62,0x802020 57,0x802020 66,0x802020 62,0x802020 66,0x802020 87,0xffffff 108,0xffffff 112,0xffffff 121,0xffffff 128,0xffffff 147,0xffffff 126,0xffffff 106,0xffffff 102,0xffffff 105,0xffffff 78,0xffffff 96,0xffffff 137,0xffffff 126,0xffffff 113,0xffffff 90,0xffffff 65,0x802020 82,0xffffff + 0,0xff 0,0xff 2,0xff 1,0xff 0,0xff 0,0xff 2,0xff 1,0xff 1,0xff 1,0xff 0,0xff 0,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 5,0xff00 6,0xff00 8,0xff00 7,0xff00 7,0xff00 10,0xff00 13,0xff00 17,0xff00 19,0xff00 25,0xff00 21,0xff00 24,0xff00 30,0xff00 33,0xff00 33,0xff00 29,0xff00 33,0xff00 32,0xff00 31,0xff00 36,0xff00 32,0xff00 36,0xff00 46,0x802020 41,0x802020 36,0xff00 32,0xff00 37,0xff00 35,0xff00 39,0xff00 42,0x802020 57,0x802020 44,0x802020 50,0x802020 44,0x802020 34,0xff00 33,0xff00 30,0xff00 23,0xff00 18,0xff00 12,0xff00 14,0xff00 14,0xff00 14,0xff00 16,0xff00 17,0xff00 25,0xff00 28,0xff00 31,0xff00 33,0xff00 36,0xff00 50,0x802020 44,0x802020 53,0x802020 67,0x802020 57,0x802020 63,0x802020 65,0x802020 57,0x802020 48,0x802020 83,0xffffff 85,0xffffff 114,0xffffff 109,0xffffff 121,0xffffff 162,0xffffff 150,0xffffff 138,0xffffff 114,0xffffff 91,0xffffff 77,0xffffff 65,0x802020 97,0xffffff 122,0xffffff 102,0xffffff 83,0xffffff 70,0xffffff 78,0xffffff 80,0xffffff + 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 1,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 3,0xff 5,0xff00 3,0xff 4,0xff 6,0xff00 9,0xff00 14,0xff00 17,0xff00 18,0xff00 20,0xff00 23,0xff00 26,0xff00 27,0xff00 27,0xff00 32,0xff00 31,0xff00 30,0xff00 26,0xff00 26,0xff00 28,0xff00 33,0xff00 45,0x802020 42,0x802020 43,0x802020 34,0xff00 30,0xff00 31,0xff00 29,0xff00 40,0x802020 46,0x802020 43,0x802020 47,0x802020 39,0xff00 44,0x802020 38,0xff00 32,0xff00 30,0xff00 21,0xff00 19,0xff00 16,0xff00 11,0xff00 9,0xff00 11,0xff00 12,0xff00 15,0xff00 21,0xff00 29,0xff00 35,0xff00 36,0xff00 37,0xff00 38,0xff00 46,0x802020 55,0x802020 58,0x802020 67,0x802020 53,0x802020 50,0x802020 53,0x802020 50,0x802020 42,0x802020 85,0xffffff 81,0xffffff 105,0xffffff 121,0xffffff 120,0xffffff 119,0xffffff 118,0xffffff 128,0xffffff 89,0xffffff 69,0x802020 85,0xffffff 71,0xffffff 67,0x802020 83,0xffffff 84,0xffffff 77,0xffffff 57,0x802020 71,0xffffff 80,0xffffff + 0,0xff 1,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 2,0xff 2,0xff 7,0xff00 11,0xff00 12,0xff00 14,0xff00 17,0xff00 21,0xff00 19,0xff00 22,0xff00 25,0xff00 23,0xff00 23,0xff00 27,0xff00 34,0xff00 33,0xff00 29,0xff00 28,0xff00 25,0xff00 33,0xff00 35,0xff00 36,0xff00 36,0xff00 34,0xff00 30,0xff00 31,0xff00 33,0xff00 37,0xff00 40,0x802020 46,0x802020 43,0x802020 45,0x802020 38,0xff00 40,0x802020 31,0xff00 28,0xff00 18,0xff00 12,0xff00 11,0xff00 9,0xff00 11,0xff00 12,0xff00 13,0xff00 14,0xff00 23,0xff00 29,0xff00 34,0xff00 34,0xff00 30,0xff00 29,0xff00 41,0x802020 48,0x802020 65,0x802020 62,0x802020 68,0x802020 51,0x802020 51,0x802020 55,0x802020 55,0x802020 57,0x802020 75,0xffffff 66,0x802020 91,0xffffff 123,0xffffff 92,0xffffff 106,0xffffff 80,0xffffff 81,0xffffff 78,0xffffff 70,0xffffff 70,0xffffff 64,0x802020 72,0xffffff 66,0x802020 64,0x802020 61,0x802020 85,0xffffff 87,0xffffff 79,0xffffff + 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 1,0xff 1,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 5,0xff00 11,0xff00 9,0xff00 13,0xff00 11,0xff00 17,0xff00 25,0xff00 23,0xff00 23,0xff00 25,0xff00 26,0xff00 26,0xff00 25,0xff00 29,0xff00 30,0xff00 33,0xff00 33,0xff00 32,0xff00 34,0xff00 31,0xff00 36,0xff00 34,0xff00 34,0xff00 29,0xff00 45,0x802020 46,0x802020 48,0x802020 42,0x802020 38,0xff00 39,0xff00 44,0x802020 37,0xff00 35,0xff00 24,0xff00 23,0xff00 12,0xff00 11,0xff00 10,0xff00 14,0xff00 14,0xff00 13,0xff00 17,0xff00 19,0xff00 22,0xff00 26,0xff00 28,0xff00 29,0xff00 32,0xff00 31,0xff00 38,0xff00 50,0x802020 55,0x802020 52,0x802020 58,0x802020 57,0x802020 62,0x802020 59,0x802020 60,0x802020 74,0xffffff 77,0xffffff 73,0xffffff 103,0xffffff 110,0xffffff 104,0xffffff 93,0xffffff 67,0x802020 96,0xffffff 89,0xffffff 74,0xffffff 68,0x802020 66,0x802020 65,0x802020 68,0x802020 55,0x802020 51,0x802020 92,0xffffff 93,0xffffff 75,0xffffff + 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 2,0xff 2,0xff 3,0xff 6,0xff00 10,0xff00 11,0xff00 18,0xff00 22,0xff00 24,0xff00 26,0xff00 23,0xff00 21,0xff00 25,0xff00 26,0xff00 31,0xff00 31,0xff00 31,0xff00 35,0xff00 31,0xff00 31,0xff00 36,0xff00 35,0xff00 33,0xff00 32,0xff00 28,0xff00 28,0xff00 42,0x802020 35,0xff00 42,0x802020 37,0xff00 35,0xff00 36,0xff00 35,0xff00 28,0xff00 26,0xff00 23,0xff00 18,0xff00 12,0xff00 6,0xff00 10,0xff00 13,0xff00 12,0xff00 13,0xff00 20,0xff00 21,0xff00 18,0xff00 23,0xff00 25,0xff00 26,0xff00 31,0xff00 30,0xff00 46,0x802020 56,0x802020 54,0x802020 68,0x802020 67,0x802020 65,0x802020 56,0x802020 48,0x802020 44,0x802020 72,0xffffff 59,0x802020 54,0x802020 76,0xffffff 95,0xffffff 90,0xffffff 69,0x802020 61,0x802020 64,0x802020 75,0xffffff 55,0x802020 52,0x802020 50,0x802020 73,0xffffff 68,0x802020 59,0x802020 101,0xffffff 119,0xffffff 98,0xffffff 74,0xffffff + 0,0xff 1,0xff 0,0xff 1,0xff 0,0xff 1,0xff 1,0xff 0,0xff 1,0xff 1,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 3,0xff 8,0xff00 7,0xff00 12,0xff00 22,0xff00 27,0xff00 26,0xff00 26,0xff00 21,0xff00 20,0xff00 28,0xff00 28,0xff00 27,0xff00 31,0xff00 32,0xff00 34,0xff00 33,0xff00 29,0xff00 28,0xff00 28,0xff00 29,0xff00 31,0xff00 27,0xff00 31,0xff00 36,0xff00 39,0xff00 41,0x802020 35,0xff00 32,0xff00 25,0xff00 23,0xff00 20,0xff00 17,0xff00 14,0xff00 13,0xff00 10,0xff00 6,0xff00 9,0xff00 9,0xff00 12,0xff00 11,0xff00 18,0xff00 20,0xff00 23,0xff00 28,0xff00 34,0xff00 38,0xff00 47,0x802020 53,0x802020 59,0x802020 57,0x802020 61,0x802020 53,0x802020 57,0x802020 62,0x802020 56,0x802020 47,0x802020 58,0x802020 63,0x802020 65,0x802020 73,0xffffff 70,0xffffff 81,0xffffff 72,0xffffff 58,0x802020 50,0x802020 56,0x802020 63,0x802020 60,0x802020 95,0xffffff 91,0xffffff 89,0xffffff 84,0xffffff 93,0xffffff 92,0xffffff 90,0xffffff 73,0xffffff 75,0xffffff + 0,0xff 0,0xff 0,0xff 1,0xff 1,0xff 1,0xff 1,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 2,0xff 1,0xff 0,0xff 0,0xff 1,0xff 1,0xff 6,0xff00 11,0xff00 15,0xff00 20,0xff00 27,0xff00 26,0xff00 25,0xff00 20,0xff00 20,0xff00 21,0xff00 26,0xff00 28,0xff00 26,0xff00 29,0xff00 30,0xff00 26,0xff00 26,0xff00 28,0xff00 26,0xff00 29,0xff00 32,0xff00 29,0xff00 31,0xff00 34,0xff00 36,0xff00 37,0xff00 30,0xff00 26,0xff00 25,0xff00 25,0xff00 21,0xff00 19,0xff00 15,0xff00 11,0xff00 13,0xff00 9,0xff00 5,0xff00 11,0xff00 14,0xff00 16,0xff00 18,0xff00 20,0xff00 17,0xff00 22,0xff00 26,0xff00 29,0xff00 33,0xff00 46,0x802020 55,0x802020 60,0x802020 50,0x802020 54,0x802020 64,0x802020 59,0x802020 62,0x802020 50,0x802020 42,0x802020 46,0x802020 82,0xffffff 75,0xffffff 98,0xffffff 95,0xffffff 79,0xffffff 68,0x802020 54,0x802020 44,0x802020 46,0x802020 73,0xffffff 65,0x802020 82,0xffffff 74,0xffffff 98,0xffffff 87,0xffffff 111,0xffffff 82,0xffffff 76,0xffffff 94,0xffffff 75,0xffffff + 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 2,0xff 0,0xff 0,0xff 1,0xff 5,0xff00 7,0xff00 14,0xff00 16,0xff00 15,0xff00 21,0xff00 20,0xff00 22,0xff00 22,0xff00 23,0xff00 21,0xff00 18,0xff00 21,0xff00 25,0xff00 27,0xff00 23,0xff00 26,0xff00 23,0xff00 25,0xff00 24,0xff00 29,0xff00 32,0xff00 31,0xff00 24,0xff00 26,0xff00 29,0xff00 33,0xff00 27,0xff00 25,0xff00 26,0xff00 22,0xff00 22,0xff00 16,0xff00 15,0xff00 16,0xff00 12,0xff00 7,0xff00 5,0xff00 7,0xff00 10,0xff00 16,0xff00 15,0xff00 15,0xff00 17,0xff00 22,0xff00 24,0xff00 25,0xff00 45,0x802020 49,0x802020 58,0x802020 62,0x802020 63,0x802020 57,0x802020 48,0x802020 56,0x802020 62,0x802020 61,0x802020 42,0x802020 55,0x802020 64,0x802020 64,0x802020 61,0x802020 95,0xffffff 88,0xffffff 63,0x802020 51,0x802020 42,0x802020 45,0x802020 41,0x802020 71,0xffffff 57,0x802020 78,0xffffff 96,0xffffff 124,0xffffff 110,0xffffff 90,0xffffff 69,0x802020 63,0x802020 59,0x802020 73,0xffffff + 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 1,0xff 0,0xff 5,0xff00 11,0xff00 13,0xff00 17,0xff00 20,0xff00 21,0xff00 22,0xff00 21,0xff00 21,0xff00 18,0xff00 19,0xff00 21,0xff00 25,0xff00 23,0xff00 29,0xff00 25,0xff00 22,0xff00 20,0xff00 21,0xff00 25,0xff00 30,0xff00 31,0xff00 29,0xff00 22,0xff00 27,0xff00 26,0xff00 29,0xff00 25,0xff00 21,0xff00 23,0xff00 24,0xff00 22,0xff00 18,0xff00 14,0xff00 11,0xff00 7,0xff00 9,0xff00 6,0xff00 5,0xff00 7,0xff00 11,0xff00 13,0xff00 17,0xff00 17,0xff00 25,0xff00 26,0xff00 27,0xff00 44,0x802020 63,0x802020 62,0x802020 67,0x802020 55,0x802020 63,0x802020 58,0x802020 63,0x802020 65,0x802020 56,0x802020 40,0x802020 54,0x802020 51,0x802020 78,0xffffff 72,0xffffff 78,0xffffff 71,0xffffff 57,0x802020 43,0x802020 42,0x802020 37,0xff00 46,0x802020 64,0x802020 68,0x802020 67,0x802020 105,0xffffff 120,0xffffff 110,0xffffff 74,0xffffff 60,0x802020 51,0x802020 60,0x802020 74,0xffffff + 1,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 1,0xff 4,0xff 5,0xff00 5,0xff00 10,0xff00 9,0xff00 14,0xff00 17,0xff00 22,0xff00 21,0xff00 20,0xff00 17,0xff00 21,0xff00 18,0xff00 26,0xff00 28,0xff00 25,0xff00 27,0xff00 20,0xff00 19,0xff00 22,0xff00 20,0xff00 27,0xff00 29,0xff00 27,0xff00 26,0xff00 21,0xff00 28,0xff00 26,0xff00 25,0xff00 22,0xff00 19,0xff00 19,0xff00 22,0xff00 14,0xff00 14,0xff00 10,0xff00 9,0xff00 5,0xff00 7,0xff00 6,0xff00 6,0xff00 6,0xff00 10,0xff00 17,0xff00 24,0xff00 25,0xff00 33,0xff00 40,0x802020 48,0x802020 54,0x802020 51,0x802020 50,0x802020 56,0x802020 45,0x802020 54,0x802020 64,0x802020 66,0x802020 65,0x802020 59,0x802020 46,0x802020 51,0x802020 67,0x802020 67,0x802020 93,0xffffff 80,0xffffff 65,0x802020 61,0x802020 49,0x802020 41,0x802020 39,0xff00 49,0x802020 56,0x802020 64,0x802020 89,0xffffff 118,0xffffff 113,0xffffff 77,0xffffff 61,0x802020 67,0x802020 63,0x802020 75,0xffffff 70,0xffffff + 2,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 1,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 2,0xff 4,0xff 2,0xff 2,0xff 7,0xff00 12,0xff00 11,0xff00 16,0xff00 22,0xff00 20,0xff00 20,0xff00 19,0xff00 20,0xff00 21,0xff00 25,0xff00 23,0xff00 24,0xff00 17,0xff00 16,0xff00 21,0xff00 19,0xff00 20,0xff00 28,0xff00 25,0xff00 24,0xff00 24,0xff00 24,0xff00 23,0xff00 25,0xff00 19,0xff00 17,0xff00 14,0xff00 15,0xff00 14,0xff00 9,0xff00 12,0xff00 5,0xff00 7,0xff00 5,0xff00 3,0xff 3,0xff 2,0xff 5,0xff00 12,0xff00 21,0xff00 25,0xff00 25,0xff00 32,0xff00 50,0x802020 44,0x802020 45,0x802020 57,0x802020 54,0x802020 60,0x802020 57,0x802020 63,0x802020 56,0x802020 61,0x802020 53,0x802020 59,0x802020 53,0x802020 77,0xffffff 82,0xffffff 73,0xffffff 103,0xffffff 71,0xffffff 66,0x802020 63,0x802020 52,0x802020 46,0x802020 43,0x802020 52,0x802020 61,0x802020 61,0x802020 74,0xffffff 97,0xffffff 84,0xffffff 54,0x802020 52,0x802020 61,0x802020 53,0x802020 75,0xffffff 69,0x802020 + 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 2,0xff 1,0xff 2,0xff 3,0xff 5,0xff00 5,0xff00 5,0xff00 6,0xff00 7,0xff00 6,0xff00 6,0xff00 7,0xff00 6,0xff00 14,0xff00 16,0xff00 18,0xff00 17,0xff00 16,0xff00 16,0xff00 18,0xff00 19,0xff00 17,0xff00 21,0xff00 20,0xff00 19,0xff00 19,0xff00 17,0xff00 22,0xff00 20,0xff00 22,0xff00 24,0xff00 21,0xff00 19,0xff00 19,0xff00 22,0xff00 17,0xff00 20,0xff00 10,0xff00 8,0xff00 8,0xff00 11,0xff00 7,0xff00 5,0xff00 7,0xff00 3,0xff 2,0xff 2,0xff 1,0xff 0,0xff 0,0xff 6,0xff00 16,0xff00 25,0xff00 26,0xff00 25,0xff00 31,0xff00 42,0x802020 38,0xff00 49,0x802020 45,0x802020 52,0x802020 61,0x802020 67,0x802020 64,0x802020 49,0x802020 52,0x802020 53,0x802020 50,0x802020 56,0x802020 64,0x802020 60,0x802020 54,0x802020 78,0xffffff 67,0x802020 58,0x802020 61,0x802020 48,0x802020 38,0xff00 43,0x802020 43,0x802020 51,0x802020 80,0xffffff 83,0xffffff 108,0xffffff 74,0xffffff 57,0x802020 52,0x802020 83,0xffffff 74,0xffffff 92,0xffffff 71,0xffffff + 1,0xff 0,0xff 1,0xff 1,0xff 1,0xff 0,0xff 2,0xff 1,0xff 0,0xff 0,0xff 0,0xff 3,0xff 3,0xff 2,0xff 2,0xff 4,0xff 5,0xff00 4,0xff 4,0xff 9,0xff00 11,0xff00 9,0xff00 16,0xff00 13,0xff00 15,0xff00 16,0xff00 13,0xff00 14,0xff00 17,0xff00 19,0xff00 16,0xff00 19,0xff00 20,0xff00 15,0xff00 13,0xff00 15,0xff00 21,0xff00 18,0xff00 20,0xff00 20,0xff00 19,0xff00 21,0xff00 20,0xff00 23,0xff00 19,0xff00 15,0xff00 7,0xff00 4,0xff 6,0xff00 8,0xff00 4,0xff 1,0xff 2,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 11,0xff00 24,0xff00 28,0xff00 26,0xff00 29,0xff00 27,0xff00 42,0x802020 42,0x802020 41,0x802020 38,0xff00 52,0x802020 49,0x802020 58,0x802020 50,0x802020 50,0x802020 56,0x802020 62,0x802020 55,0x802020 56,0x802020 62,0x802020 58,0x802020 70,0xffffff 69,0x802020 64,0x802020 49,0x802020 46,0x802020 39,0xff00 51,0x802020 53,0x802020 47,0x802020 53,0x802020 88,0xffffff 89,0xffffff 84,0xffffff 63,0x802020 57,0x802020 58,0x802020 54,0x802020 76,0xffffff 89,0xffffff 70,0xffffff + 0,0xff 0,0xff 2,0xff 1,0xff 0,0xff 0,0xff 1,0xff 2,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 2,0xff 2,0xff 3,0xff 4,0xff 7,0xff00 9,0xff00 6,0xff00 9,0xff00 10,0xff00 13,0xff00 9,0xff00 11,0xff00 10,0xff00 14,0xff00 13,0xff00 15,0xff00 14,0xff00 15,0xff00 18,0xff00 11,0xff00 12,0xff00 16,0xff00 14,0xff00 13,0xff00 17,0xff00 20,0xff00 15,0xff00 17,0xff00 17,0xff00 19,0xff00 17,0xff00 10,0xff00 3,0xff 4,0xff 6,0xff00 4,0xff 2,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 1,0xff 4,0xff 7,0xff00 20,0xff00 24,0xff00 25,0xff00 28,0xff00 25,0xff00 28,0xff00 50,0x802020 50,0x802020 44,0x802020 55,0x802020 62,0x802020 56,0x802020 65,0x802020 57,0x802020 55,0x802020 50,0x802020 58,0x802020 59,0x802020 52,0x802020 63,0x802020 50,0x802020 52,0x802020 73,0xffffff 65,0x802020 52,0x802020 42,0x802020 41,0x802020 41,0x802020 42,0x802020 50,0x802020 48,0x802020 63,0x802020 80,0xffffff 69,0x802020 57,0x802020 62,0x802020 55,0x802020 69,0x802020 66,0x802020 71,0xffffff 65,0x802020 + 0,0xff 1,0xff 2,0xff 0,0xff 1,0xff 1,0xff 0,0xff 0,0xff 1,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 2,0xff 7,0xff00 5,0xff00 6,0xff00 10,0xff00 9,0xff00 6,0xff00 5,0xff00 8,0xff00 8,0xff00 8,0xff00 9,0xff00 12,0xff00 17,0xff00 15,0xff00 16,0xff00 9,0xff00 15,0xff00 13,0xff00 14,0xff00 15,0xff00 15,0xff00 19,0xff00 16,0xff00 12,0xff00 12,0xff00 11,0xff00 12,0xff00 8,0xff00 4,0xff 3,0xff 3,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 2,0xff 7,0xff00 13,0xff00 23,0xff00 24,0xff00 30,0xff00 30,0xff00 30,0xff00 34,0xff00 53,0x802020 58,0x802020 52,0x802020 50,0x802020 61,0x802020 58,0x802020 66,0x802020 50,0x802020 52,0x802020 58,0x802020 54,0x802020 51,0x802020 62,0x802020 54,0x802020 48,0x802020 49,0x802020 66,0x802020 50,0x802020 37,0xff00 42,0x802020 49,0x802020 47,0x802020 53,0x802020 58,0x802020 59,0x802020 68,0x802020 100,0xffffff 75,0xffffff 63,0x802020 51,0x802020 74,0xffffff 70,0xffffff 62,0x802020 66,0x802020 66,0x802020 + 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 2,0xff 1,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 3,0xff 2,0xff 5,0xff00 3,0xff 4,0xff 5,0xff00 3,0xff 3,0xff 9,0xff00 7,0xff00 9,0xff00 13,0xff00 12,0xff00 12,0xff00 14,0xff00 10,0xff00 9,0xff00 14,0xff00 10,0xff00 13,0xff00 15,0xff00 17,0xff00 15,0xff00 14,0xff00 12,0xff00 13,0xff00 12,0xff00 8,0xff00 4,0xff 1,0xff 1,0xff 2,0xff 1,0xff 0,0xff 1,0xff 0,0xff 0,0xff 1,0xff 6,0xff00 10,0xff00 12,0xff00 14,0xff00 21,0xff00 26,0xff00 32,0xff00 41,0x802020 43,0x802020 44,0x802020 60,0x802020 57,0x802020 47,0x802020 54,0x802020 49,0x802020 54,0x802020 44,0x802020 40,0x802020 41,0x802020 45,0x802020 39,0xff00 43,0x802020 55,0x802020 56,0x802020 64,0x802020 63,0x802020 62,0x802020 40,0x802020 38,0xff00 39,0xff00 42,0x802020 48,0x802020 63,0x802020 65,0x802020 68,0x802020 62,0x802020 84,0xffffff 60,0x802020 49,0x802020 55,0x802020 61,0x802020 65,0x802020 67,0x802020 67,0x802020 67,0x802020 + 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 2,0xff 2,0xff 1,0xff 1,0xff 1,0xff 1,0xff 1,0xff 1,0xff 4,0xff 5,0xff00 6,0xff00 10,0xff00 12,0xff00 12,0xff00 12,0xff00 9,0xff00 9,0xff00 10,0xff00 13,0xff00 11,0xff00 14,0xff00 9,0xff00 9,0xff00 11,0xff00 8,0xff00 9,0xff00 8,0xff00 3,0xff 3,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 4,0xff 7,0xff00 9,0xff00 13,0xff00 17,0xff00 19,0xff00 20,0xff00 25,0xff00 27,0xff00 40,0x802020 54,0x802020 50,0x802020 59,0x802020 67,0x802020 56,0x802020 40,0x802020 50,0x802020 46,0x802020 39,0xff00 42,0x802020 39,0xff00 37,0xff00 45,0x802020 47,0x802020 40,0x802020 53,0x802020 49,0x802020 58,0x802020 63,0x802020 58,0x802020 40,0x802020 40,0x802020 43,0x802020 51,0x802020 59,0x802020 56,0x802020 57,0x802020 66,0x802020 49,0x802020 76,0xffffff 59,0x802020 53,0x802020 61,0x802020 51,0x802020 62,0x802020 63,0x802020 56,0x802020 64,0x802020 + 0,0xff 0,0xff 0,0xff 1,0xff 1,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 1,0xff 1,0xff 3,0xff 8,0xff00 9,0xff00 9,0xff00 11,0xff00 7,0xff00 7,0xff00 4,0xff 6,0xff00 10,0xff00 14,0xff00 13,0xff00 7,0xff00 6,0xff00 5,0xff00 6,0xff00 8,0xff00 5,0xff00 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 4,0xff 5,0xff00 6,0xff00 14,0xff00 18,0xff00 21,0xff00 25,0xff00 25,0xff00 24,0xff00 30,0xff00 42,0x802020 49,0x802020 60,0x802020 54,0x802020 55,0x802020 48,0x802020 39,0xff00 52,0x802020 47,0x802020 41,0x802020 39,0xff00 32,0xff00 34,0xff00 40,0x802020 54,0x802020 49,0x802020 59,0x802020 52,0x802020 42,0x802020 44,0x802020 46,0x802020 34,0xff00 47,0x802020 52,0x802020 58,0x802020 50,0x802020 52,0x802020 49,0x802020 62,0x802020 56,0x802020 61,0x802020 51,0x802020 62,0x802020 63,0x802020 53,0x802020 52,0x802020 59,0x802020 61,0x802020 62,0x802020 + 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 2,0xff 1,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 1,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 4,0xff 6,0xff00 5,0xff00 4,0xff 6,0xff00 3,0xff 3,0xff 3,0xff 6,0xff00 7,0xff00 11,0xff00 8,0xff00 3,0xff 4,0xff 1,0xff 2,0xff 5,0xff00 3,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 3,0xff 10,0xff00 9,0xff00 16,0xff00 18,0xff00 25,0xff00 24,0xff00 26,0xff00 29,0xff00 35,0xff00 42,0x802020 43,0x802020 49,0x802020 52,0x802020 43,0x802020 36,0xff00 30,0xff00 40,0x802020 44,0x802020 35,0xff00 29,0xff00 27,0xff00 29,0xff00 40,0x802020 53,0x802020 62,0x802020 58,0x802020 49,0x802020 54,0x802020 53,0x802020 47,0x802020 41,0x802020 52,0x802020 52,0x802020 51,0x802020 41,0x802020 48,0x802020 59,0x802020 69,0x802020 63,0x802020 58,0x802020 48,0x802020 57,0x802020 68,0x802020 57,0x802020 55,0x802020 65,0x802020 64,0x802020 64,0x802020 + 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 1,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 2,0xff 4,0xff 3,0xff 5,0xff00 4,0xff 4,0xff 4,0xff 8,0xff00 7,0xff00 10,0xff00 7,0xff00 3,0xff 1,0xff 4,0xff 2,0xff 2,0xff 1,0xff 0,0xff 0,0xff 1,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 5,0xff00 11,0xff00 13,0xff00 13,0xff00 15,0xff00 19,0xff00 22,0xff00 29,0xff00 31,0xff00 35,0xff00 36,0xff00 35,0xff00 47,0x802020 41,0x802020 38,0xff00 38,0xff00 37,0xff00 39,0xff00 34,0xff00 31,0xff00 31,0xff00 29,0xff00 49,0x802020 54,0x802020 65,0x802020 61,0x802020 53,0x802020 52,0x802020 46,0x802020 45,0x802020 37,0xff00 32,0xff00 44,0x802020 38,0xff00 41,0x802020 35,0xff00 49,0x802020 52,0x802020 50,0x802020 48,0x802020 40,0x802020 42,0x802020 45,0x802020 50,0x802020 42,0x802020 46,0x802020 50,0x802020 53,0x802020 61,0x802020 + 0,0xff 1,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 1,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 1,0xff 0,0xff 1,0xff 2,0xff 2,0xff 1,0xff 5,0xff00 9,0xff00 8,0xff00 8,0xff00 6,0xff00 2,0xff 6,0xff00 5,0xff00 2,0xff 0,0xff 2,0xff 1,0xff 1,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 2,0xff 2,0xff 4,0xff 7,0xff00 9,0xff00 13,0xff00 22,0xff00 23,0xff00 25,0xff00 28,0xff00 31,0xff00 34,0xff00 35,0xff00 46,0x802020 41,0x802020 38,0xff00 38,0xff00 37,0xff00 38,0xff00 37,0xff00 34,0xff00 33,0xff00 31,0xff00 34,0xff00 49,0x802020 48,0x802020 59,0x802020 58,0x802020 46,0x802020 41,0x802020 35,0xff00 41,0x802020 34,0xff00 49,0x802020 50,0x802020 41,0x802020 51,0x802020 50,0x802020 53,0x802020 41,0x802020 38,0xff00 42,0x802020 35,0xff00 39,0xff00 46,0x802020 44,0x802020 42,0x802020 50,0x802020 51,0x802020 61,0x802020 61,0x802020 + 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 1,0xff 0,0xff 0,0xff 1,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 2,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 1,0xff 0,0xff 1,0xff 4,0xff 7,0xff00 8,0xff00 6,0xff00 2,0xff 1,0xff 3,0xff 3,0xff 0,0xff 0,0xff 1,0xff 0,0xff 1,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 1,0xff 1,0xff 0,0xff 3,0xff 11,0xff00 16,0xff00 22,0xff00 25,0xff00 24,0xff00 28,0xff00 32,0xff00 32,0xff00 34,0xff00 31,0xff00 45,0x802020 38,0xff00 39,0xff00 37,0xff00 35,0xff00 33,0xff00 34,0xff00 33,0xff00 31,0xff00 32,0xff00 34,0xff00 46,0x802020 47,0x802020 58,0x802020 60,0x802020 45,0x802020 38,0xff00 44,0x802020 46,0x802020 45,0x802020 55,0x802020 56,0x802020 47,0x802020 55,0x802020 42,0x802020 48,0x802020 38,0xff00 34,0xff00 40,0x802020 37,0xff00 39,0xff00 45,0x802020 45,0x802020 49,0x802020 45,0x802020 50,0x802020 63,0x802020 57,0x802020 + 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 3,0xff 3,0xff 4,0xff 4,0xff 1,0xff 1,0xff 0,0xff 2,0xff 0,0xff 1,0xff 0,0xff 1,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 1,0xff 0,0xff 2,0xff 3,0xff 3,0xff 8,0xff00 13,0xff00 20,0xff00 22,0xff00 21,0xff00 21,0xff00 27,0xff00 30,0xff00 32,0xff00 38,0xff00 40,0x802020 42,0x802020 37,0xff00 39,0xff00 34,0xff00 32,0xff00 30,0xff00 31,0xff00 30,0xff00 30,0xff00 34,0xff00 36,0xff00 52,0x802020 60,0x802020 55,0x802020 56,0x802020 50,0x802020 43,0x802020 57,0x802020 55,0x802020 50,0x802020 42,0x802020 43,0x802020 44,0x802020 51,0x802020 45,0x802020 44,0x802020 36,0xff00 31,0xff00 36,0xff00 32,0xff00 35,0xff00 35,0xff00 45,0x802020 46,0x802020 53,0x802020 74,0xffffff 70,0xffffff 60,0x802020 + 0,0xff 0,0xff 0,0xff 1,0xff 1,0xff 0,0xff 1,0xff 0,0xff 1,0xff 2,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 1,0xff 0,0xff 1,0xff 0,0xff 0,0xff 1,0xff 3,0xff 1,0xff 1,0xff 0,0xff 1,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 1,0xff 2,0xff 4,0xff 6,0xff00 5,0xff00 14,0xff00 18,0xff00 20,0xff00 20,0xff00 27,0xff00 27,0xff00 27,0xff00 30,0xff00 37,0xff00 36,0xff00 39,0xff00 44,0x802020 47,0x802020 40,0x802020 37,0xff00 35,0xff00 33,0xff00 30,0xff00 45,0x802020 46,0x802020 49,0x802020 47,0x802020 63,0x802020 60,0x802020 49,0x802020 50,0x802020 49,0x802020 53,0x802020 49,0x802020 55,0x802020 53,0x802020 50,0x802020 44,0x802020 39,0xff00 45,0x802020 43,0x802020 41,0x802020 32,0xff00 34,0xff00 34,0xff00 31,0xff00 33,0xff00 31,0xff00 44,0x802020 63,0x802020 63,0x802020 68,0x802020 63,0x802020 56,0x802020 + 0,0xff 1,0xff 1,0xff 1,0xff 0,0xff 1,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 2,0xff 1,0xff 2,0xff 2,0xff 2,0xff 1,0xff 1,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 1,0xff 4,0xff 4,0xff 7,0xff00 11,0xff00 16,0xff00 21,0xff00 26,0xff00 26,0xff00 27,0xff00 24,0xff00 24,0xff00 30,0xff00 30,0xff00 42,0x802020 51,0x802020 53,0x802020 44,0x802020 40,0x802020 34,0xff00 34,0xff00 29,0xff00 29,0xff00 33,0xff00 41,0x802020 55,0x802020 45,0x802020 47,0x802020 51,0x802020 38,0xff00 46,0x802020 45,0x802020 37,0xff00 40,0x802020 45,0x802020 56,0x802020 44,0x802020 38,0xff00 32,0xff00 45,0x802020 39,0xff00 39,0xff00 34,0xff00 31,0xff00 35,0xff00 33,0xff00 33,0xff00 33,0xff00 40,0x802020 55,0x802020 43,0x802020 70,0xffffff 59,0x802020 57,0x802020 + 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 1,0xff 2,0xff 3,0xff 2,0xff 1,0xff 0,0xff 0,0xff 1,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 3,0xff 4,0xff 8,0xff00 9,0xff00 15,0xff00 17,0xff00 20,0xff00 19,0xff00 26,0xff00 29,0xff00 32,0xff00 31,0xff00 33,0xff00 36,0xff00 39,0xff00 54,0x802020 55,0x802020 46,0x802020 35,0xff00 35,0xff00 34,0xff00 32,0xff00 28,0xff00 34,0xff00 38,0xff00 53,0x802020 47,0x802020 52,0x802020 42,0x802020 41,0x802020 37,0xff00 37,0xff00 42,0x802020 41,0x802020 39,0xff00 41,0x802020 45,0x802020 36,0xff00 31,0xff00 30,0xff00 40,0x802020 33,0xff00 34,0xff00 30,0xff00 28,0xff00 34,0xff00 32,0xff00 31,0xff00 32,0xff00 41,0x802020 50,0x802020 55,0x802020 55,0x802020 61,0x802020 56,0x802020 + 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 2,0xff 2,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 1,0xff 4,0xff 8,0xff00 10,0xff00 14,0xff00 21,0xff00 24,0xff00 25,0xff00 26,0xff00 26,0xff00 27,0xff00 31,0xff00 35,0xff00 39,0xff00 39,0xff00 53,0x802020 47,0x802020 36,0xff00 33,0xff00 32,0xff00 30,0xff00 25,0xff00 26,0xff00 31,0xff00 48,0x802020 42,0x802020 37,0xff00 46,0x802020 41,0x802020 38,0xff00 36,0xff00 32,0xff00 45,0x802020 41,0x802020 38,0xff00 35,0xff00 36,0xff00 34,0xff00 34,0xff00 31,0xff00 38,0xff00 31,0xff00 34,0xff00 28,0xff00 24,0xff00 29,0xff00 28,0xff00 30,0xff00 34,0xff00 38,0xff00 55,0x802020 58,0x802020 63,0x802020 64,0x802020 55,0x802020 + 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 2,0xff 1,0xff 1,0xff 1,0xff 1,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 1,0xff 1,0xff 2,0xff 0,0xff 0,0xff 1,0xff 1,0xff 0,0xff 0,0xff 1,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 1,0xff 1,0xff 0,0xff 0,0xff 1,0xff 4,0xff 5,0xff00 7,0xff00 12,0xff00 16,0xff00 24,0xff00 27,0xff00 24,0xff00 27,0xff00 28,0xff00 33,0xff00 35,0xff00 33,0xff00 37,0xff00 35,0xff00 51,0x802020 42,0x802020 32,0xff00 28,0xff00 29,0xff00 27,0xff00 27,0xff00 32,0xff00 35,0xff00 39,0xff00 35,0xff00 33,0xff00 35,0xff00 41,0x802020 39,0xff00 40,0x802020 40,0x802020 40,0x802020 38,0xff00 36,0xff00 34,0xff00 30,0xff00 32,0xff00 32,0xff00 31,0xff00 31,0xff00 29,0xff00 32,0xff00 25,0xff00 27,0xff00 29,0xff00 29,0xff00 29,0xff00 33,0xff00 42,0x802020 56,0x802020 66,0x802020 66,0x802020 63,0x802020 51,0x802020 + 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 2,0xff 0,0xff 1,0xff 2,0xff 2,0xff 1,0xff 1,0xff 1,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 1,0xff 0,0xff 2,0xff 5,0xff00 5,0xff00 8,0xff00 9,0xff00 12,0xff00 11,0xff00 18,0xff00 23,0xff00 23,0xff00 24,0xff00 25,0xff00 32,0xff00 32,0xff00 33,0xff00 32,0xff00 37,0xff00 32,0xff00 37,0xff00 31,0xff00 27,0xff00 27,0xff00 27,0xff00 33,0xff00 33,0xff00 33,0xff00 36,0xff00 34,0xff00 27,0xff00 28,0xff00 32,0xff00 38,0xff00 43,0x802020 41,0x802020 39,0xff00 36,0xff00 36,0xff00 37,0xff00 34,0xff00 29,0xff00 29,0xff00 27,0xff00 30,0xff00 30,0xff00 27,0xff00 26,0xff00 23,0xff00 30,0xff00 31,0xff00 29,0xff00 30,0xff00 37,0xff00 57,0x802020 58,0x802020 57,0x802020 59,0x802020 62,0x802020 51,0x802020 + 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 1,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 1,0xff 1,0xff 1,0xff 0,0xff 1,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 1,0xff 0,0xff 0,0xff 1,0xff 2,0xff 3,0xff 3,0xff 4,0xff 11,0xff00 10,0xff00 12,0xff00 15,0xff00 23,0xff00 23,0xff00 23,0xff00 22,0xff00 27,0xff00 31,0xff00 33,0xff00 31,0xff00 34,0xff00 31,0xff00 30,0xff00 33,0xff00 31,0xff00 26,0xff00 25,0xff00 30,0xff00 34,0xff00 30,0xff00 29,0xff00 33,0xff00 28,0xff00 28,0xff00 31,0xff00 34,0xff00 42,0x802020 42,0x802020 39,0xff00 38,0xff00 38,0xff00 38,0xff00 34,0xff00 30,0xff00 23,0xff00 25,0xff00 25,0xff00 25,0xff00 27,0xff00 24,0xff00 21,0xff00 25,0xff00 29,0xff00 30,0xff00 28,0xff00 31,0xff00 37,0xff00 48,0x802020 55,0x802020 49,0x802020 59,0x802020 60,0x802020 53,0x802020 + 0,0xff 1,0xff 0,0xff 1,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 1,0xff 1,0xff 2,0xff 1,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 2,0xff 2,0xff 2,0xff 1,0xff 5,0xff00 9,0xff00 13,0xff00 14,0xff00 16,0xff00 26,0xff00 24,0xff00 23,0xff00 23,0xff00 30,0xff00 34,0xff00 34,0xff00 32,0xff00 35,0xff00 31,0xff00 33,0xff00 30,0xff00 24,0xff00 25,0xff00 23,0xff00 30,0xff00 31,0xff00 25,0xff00 26,0xff00 28,0xff00 31,0xff00 33,0xff00 34,0xff00 35,0xff00 39,0xff00 47,0x802020 40,0x802020 35,0xff00 38,0xff00 35,0xff00 29,0xff00 26,0xff00 21,0xff00 26,0xff00 23,0xff00 23,0xff00 27,0xff00 21,0xff00 21,0xff00 23,0xff00 27,0xff00 29,0xff00 33,0xff00 34,0xff00 37,0xff00 43,0x802020 44,0x802020 42,0x802020 44,0x802020 44,0x802020 48,0x802020 + 0,0xff 1,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 1,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 2,0xff 1,0xff 1,0xff 0,0xff 1,0xff 2,0xff 4,0xff 5,0xff00 12,0xff00 18,0xff00 18,0xff00 23,0xff00 26,0xff00 25,0xff00 24,0xff00 27,0xff00 32,0xff00 33,0xff00 33,0xff00 32,0xff00 31,0xff00 28,0xff00 31,0xff00 30,0xff00 24,0xff00 24,0xff00 23,0xff00 29,0xff00 30,0xff00 26,0xff00 26,0xff00 28,0xff00 32,0xff00 31,0xff00 28,0xff00 30,0xff00 33,0xff00 43,0x802020 37,0xff00 33,0xff00 32,0xff00 31,0xff00 22,0xff00 18,0xff00 17,0xff00 22,0xff00 15,0xff00 16,0xff00 18,0xff00 18,0xff00 20,0xff00 26,0xff00 28,0xff00 27,0xff00 34,0xff00 32,0xff00 38,0xff00 38,0xff00 46,0x802020 45,0x802020 44,0x802020 50,0x802020 49,0x802020 + 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 1,0xff 0,0xff 0,0xff 1,0xff 2,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 1,0xff 2,0xff 3,0xff 3,0xff 8,0xff00 18,0xff00 21,0xff00 18,0xff00 21,0xff00 26,0xff00 22,0xff00 21,0xff00 25,0xff00 30,0xff00 33,0xff00 28,0xff00 26,0xff00 23,0xff00 23,0xff00 26,0xff00 27,0xff00 25,0xff00 24,0xff00 25,0xff00 24,0xff00 23,0xff00 25,0xff00 31,0xff00 33,0xff00 32,0xff00 29,0xff00 29,0xff00 29,0xff00 35,0xff00 36,0xff00 34,0xff00 27,0xff00 21,0xff00 19,0xff00 15,0xff00 17,0xff00 14,0xff00 18,0xff00 19,0xff00 21,0xff00 20,0xff00 18,0xff00 21,0xff00 27,0xff00 28,0xff00 31,0xff00 35,0xff00 32,0xff00 36,0xff00 35,0xff00 42,0x802020 39,0xff00 43,0x802020 58,0x802020 49,0x802020 + 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 1,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 5,0xff00 7,0xff00 13,0xff00 17,0xff00 21,0xff00 19,0xff00 14,0xff00 15,0xff00 17,0xff00 17,0xff00 21,0xff00 24,0xff00 30,0xff00 31,0xff00 24,0xff00 25,0xff00 21,0xff00 22,0xff00 29,0xff00 26,0xff00 26,0xff00 24,0xff00 21,0xff00 23,0xff00 27,0xff00 28,0xff00 29,0xff00 30,0xff00 24,0xff00 25,0xff00 27,0xff00 31,0xff00 32,0xff00 29,0xff00 31,0xff00 26,0xff00 20,0xff00 16,0xff00 18,0xff00 19,0xff00 16,0xff00 19,0xff00 23,0xff00 21,0xff00 19,0xff00 19,0xff00 27,0xff00 28,0xff00 25,0xff00 27,0xff00 32,0xff00 32,0xff00 32,0xff00 36,0xff00 39,0xff00 30,0xff00 42,0x802020 60,0x802020 47,0x802020 + 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 2,0xff 7,0xff00 13,0xff00 16,0xff00 15,0xff00 21,0xff00 19,0xff00 13,0xff00 12,0xff00 17,0xff00 17,0xff00 24,0xff00 27,0xff00 24,0xff00 27,0xff00 21,0xff00 22,0xff00 24,0xff00 24,0xff00 31,0xff00 29,0xff00 29,0xff00 26,0xff00 22,0xff00 23,0xff00 27,0xff00 28,0xff00 23,0xff00 26,0xff00 22,0xff00 22,0xff00 28,0xff00 27,0xff00 28,0xff00 30,0xff00 26,0xff00 21,0xff00 15,0xff00 15,0xff00 17,0xff00 18,0xff00 16,0xff00 24,0xff00 24,0xff00 23,0xff00 22,0xff00 19,0xff00 27,0xff00 30,0xff00 26,0xff00 31,0xff00 30,0xff00 33,0xff00 32,0xff00 34,0xff00 30,0xff00 25,0xff00 41,0x802020 53,0x802020 45,0x802020 + 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 3,0xff 4,0xff 8,0xff00 9,0xff00 11,0xff00 16,0xff00 18,0xff00 18,0xff00 12,0xff00 14,0xff00 13,0xff00 21,0xff00 23,0xff00 27,0xff00 26,0xff00 26,0xff00 27,0xff00 21,0xff00 20,0xff00 23,0xff00 27,0xff00 31,0xff00 28,0xff00 22,0xff00 20,0xff00 18,0xff00 19,0xff00 22,0xff00 23,0xff00 23,0xff00 26,0xff00 25,0xff00 23,0xff00 27,0xff00 27,0xff00 24,0xff00 23,0xff00 18,0xff00 16,0xff00 11,0xff00 10,0xff00 14,0xff00 14,0xff00 17,0xff00 27,0xff00 24,0xff00 21,0xff00 21,0xff00 19,0xff00 26,0xff00 26,0xff00 25,0xff00 30,0xff00 29,0xff00 26,0xff00 25,0xff00 27,0xff00 29,0xff00 25,0xff00 45,0x802020 48,0x802020 47,0x802020 + 0,0xff 1,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 4,0xff 10,0xff00 12,0xff00 12,0xff00 14,0xff00 16,0xff00 15,0xff00 15,0xff00 19,0xff00 18,0xff00 18,0xff00 19,0xff00 24,0xff00 26,0xff00 24,0xff00 26,0xff00 19,0xff00 24,0xff00 25,0xff00 30,0xff00 32,0xff00 27,0xff00 21,0xff00 22,0xff00 20,0xff00 18,0xff00 21,0xff00 19,0xff00 20,0xff00 22,0xff00 26,0xff00 23,0xff00 21,0xff00 19,0xff00 18,0xff00 21,0xff00 16,0xff00 13,0xff00 11,0xff00 16,0xff00 17,0xff00 18,0xff00 21,0xff00 22,0xff00 22,0xff00 21,0xff00 22,0xff00 23,0xff00 27,0xff00 24,0xff00 22,0xff00 23,0xff00 22,0xff00 22,0xff00 24,0xff00 30,0xff00 34,0xff00 33,0xff00 39,0xff00 48,0x802020 43,0x802020 + 2,0xff 2,0xff 1,0xff 1,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 1,0xff 1,0xff 3,0xff 5,0xff00 8,0xff00 7,0xff00 10,0xff00 14,0xff00 11,0xff00 14,0xff00 15,0xff00 15,0xff00 14,0xff00 13,0xff00 17,0xff00 23,0xff00 24,0xff00 20,0xff00 24,0xff00 18,0xff00 22,0xff00 29,0xff00 27,0xff00 27,0xff00 20,0xff00 20,0xff00 20,0xff00 21,0xff00 21,0xff00 19,0xff00 14,0xff00 15,0xff00 19,0xff00 21,0xff00 17,0xff00 18,0xff00 14,0xff00 18,0xff00 14,0xff00 12,0xff00 8,0xff00 12,0xff00 14,0xff00 14,0xff00 20,0xff00 24,0xff00 21,0xff00 20,0xff00 20,0xff00 27,0xff00 27,0xff00 25,0xff00 25,0xff00 23,0xff00 21,0xff00 24,0xff00 26,0xff00 28,0xff00 33,0xff00 38,0xff00 38,0xff00 40,0x802020 39,0xff00 44,0x802020 + 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 4,0xff 8,0xff00 6,0xff00 12,0xff00 12,0xff00 16,0xff00 15,0xff00 14,0xff00 10,0xff00 12,0xff00 14,0xff00 12,0xff00 19,0xff00 23,0xff00 25,0xff00 21,0xff00 20,0xff00 19,0xff00 22,0xff00 27,0xff00 23,0xff00 22,0xff00 15,0xff00 17,0xff00 16,0xff00 18,0xff00 16,0xff00 19,0xff00 15,0xff00 14,0xff00 21,0xff00 17,0xff00 14,0xff00 12,0xff00 10,0xff00 15,0xff00 11,0xff00 9,0xff00 5,0xff00 11,0xff00 16,0xff00 14,0xff00 18,0xff00 22,0xff00 16,0xff00 20,0xff00 21,0xff00 26,0xff00 21,0xff00 24,0xff00 22,0xff00 19,0xff00 23,0xff00 26,0xff00 26,0xff00 31,0xff00 36,0xff00 34,0xff00 38,0xff00 32,0xff00 42,0x802020 42,0x802020 + 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 2,0xff 3,0xff 10,0xff00 10,0xff00 13,0xff00 12,0xff00 16,0xff00 10,0xff00 7,0xff00 9,0xff00 11,0xff00 14,0xff00 17,0xff00 17,0xff00 20,0xff00 21,0xff00 20,0xff00 17,0xff00 16,0xff00 19,0xff00 23,0xff00 17,0xff00 12,0xff00 10,0xff00 12,0xff00 15,0xff00 19,0xff00 17,0xff00 15,0xff00 10,0xff00 13,0xff00 14,0xff00 12,0xff00 11,0xff00 10,0xff00 7,0xff00 9,0xff00 8,0xff00 6,0xff00 10,0xff00 14,0xff00 17,0xff00 12,0xff00 19,0xff00 22,0xff00 20,0xff00 19,0xff00 22,0xff00 24,0xff00 19,0xff00 18,0xff00 21,0xff00 22,0xff00 26,0xff00 26,0xff00 28,0xff00 34,0xff00 36,0xff00 33,0xff00 34,0xff00 33,0xff00 43,0x802020 39,0xff00 + 2,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 1,0xff 1,0xff 0,0xff 0,0xff 1,0xff 1,0xff 1,0xff 0,0xff 0,0xff 2,0xff 1,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 5,0xff00 13,0xff00 12,0xff00 9,0xff00 6,0xff00 8,0xff00 9,0xff00 7,0xff00 10,0xff00 7,0xff00 11,0xff00 15,0xff00 19,0xff00 15,0xff00 17,0xff00 18,0xff00 15,0xff00 15,0xff00 16,0xff00 15,0xff00 11,0xff00 9,0xff00 9,0xff00 15,0xff00 12,0xff00 13,0xff00 15,0xff00 7,0xff00 8,0xff00 8,0xff00 11,0xff00 13,0xff00 13,0xff00 12,0xff00 9,0xff00 7,0xff00 6,0xff00 8,0xff00 9,0xff00 12,0xff00 11,0xff00 13,0xff00 22,0xff00 20,0xff00 22,0xff00 20,0xff00 15,0xff00 15,0xff00 13,0xff00 13,0xff00 16,0xff00 20,0xff00 21,0xff00 23,0xff00 26,0xff00 33,0xff00 37,0xff00 37,0xff00 35,0xff00 32,0xff00 50,0x802020 42,0x802020 + 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 3,0xff 2,0xff 1,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 1,0xff 6,0xff00 12,0xff00 8,0xff00 5,0xff00 7,0xff00 11,0xff00 8,0xff00 8,0xff00 11,0xff00 10,0xff00 9,0xff00 14,0xff00 19,0xff00 14,0xff00 17,0xff00 15,0xff00 11,0xff00 10,0xff00 8,0xff00 7,0xff00 7,0xff00 6,0xff00 9,0xff00 8,0xff00 7,0xff00 9,0xff00 13,0xff00 9,0xff00 7,0xff00 9,0xff00 11,0xff00 8,0xff00 9,0xff00 7,0xff00 4,0xff 2,0xff 5,0xff00 9,0xff00 9,0xff00 15,0xff00 18,0xff00 19,0xff00 20,0xff00 18,0xff00 21,0xff00 14,0xff00 13,0xff00 11,0xff00 11,0xff00 17,0xff00 15,0xff00 16,0xff00 19,0xff00 26,0xff00 29,0xff00 32,0xff00 34,0xff00 30,0xff00 29,0xff00 32,0xff00 41,0x802020 39,0xff00 + 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 2,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 5,0xff00 7,0xff00 10,0xff00 5,0xff00 3,0xff 4,0xff 5,0xff00 3,0xff 7,0xff00 10,0xff00 8,0xff00 15,0xff00 15,0xff00 20,0xff00 15,0xff00 16,0xff00 12,0xff00 12,0xff00 9,0xff00 10,0xff00 7,0xff00 7,0xff00 6,0xff00 5,0xff00 4,0xff 6,0xff00 14,0xff00 14,0xff00 10,0xff00 8,0xff00 6,0xff00 6,0xff00 6,0xff00 4,0xff 3,0xff 0,0xff 1,0xff 4,0xff 5,0xff00 9,0xff00 13,0xff00 15,0xff00 18,0xff00 19,0xff00 18,0xff00 18,0xff00 11,0xff00 10,0xff00 10,0xff00 14,0xff00 14,0xff00 15,0xff00 18,0xff00 22,0xff00 24,0xff00 26,0xff00 27,0xff00 27,0xff00 28,0xff00 29,0xff00 31,0xff00 42,0x802020 38,0xff00 + 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 3,0xff 5,0xff00 3,0xff 5,0xff00 7,0xff00 5,0xff00 5,0xff00 4,0xff 7,0xff00 8,0xff00 8,0xff00 9,0xff00 16,0xff00 18,0xff00 15,0xff00 11,0xff00 13,0xff00 8,0xff00 9,0xff00 13,0xff00 11,0xff00 6,0xff00 6,0xff00 4,0xff 4,0xff 9,0xff00 8,0xff00 8,0xff00 10,0xff00 9,0xff00 5,0xff00 2,0xff 3,0xff 2,0xff 3,0xff 3,0xff 1,0xff 1,0xff 8,0xff00 6,0xff00 8,0xff00 14,0xff00 16,0xff00 15,0xff00 15,0xff00 16,0xff00 18,0xff00 12,0xff00 9,0xff00 12,0xff00 13,0xff00 13,0xff00 17,0xff00 21,0xff00 25,0xff00 23,0xff00 28,0xff00 32,0xff00 32,0xff00 33,0xff00 33,0xff00 36,0xff00 37,0xff00 37,0xff00 + 0,0xff 1,0xff 0,0xff 1,0xff 0,0xff 0,0xff 1,0xff 1,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 1,0xff 0,0xff 0,0xff 1,0xff 0,0xff 2,0xff 1,0xff 1,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 2,0xff 3,0xff 3,0xff 4,0xff 3,0xff 4,0xff 9,0xff00 10,0xff00 10,0xff00 11,0xff00 10,0xff00 9,0xff00 16,0xff00 18,0xff00 18,0xff00 13,0xff00 5,0xff00 6,0xff00 3,0xff 6,0xff00 11,0xff00 5,0xff00 4,0xff 4,0xff 2,0xff 4,0xff 4,0xff 7,0xff00 11,0xff00 10,0xff00 7,0xff00 3,0xff 0,0xff 1,0xff 1,0xff 2,0xff 1,0xff 2,0xff 1,0xff 3,0xff 1,0xff 5,0xff00 10,0xff00 11,0xff00 15,0xff00 15,0xff00 17,0xff00 12,0xff00 13,0xff00 11,0xff00 13,0xff00 17,0xff00 15,0xff00 20,0xff00 26,0xff00 27,0xff00 25,0xff00 28,0xff00 34,0xff00 31,0xff00 35,0xff00 35,0xff00 34,0xff00 36,0xff00 37,0xff00 + 1,0xff 0,0xff 0,0xff 2,0xff 1,0xff 2,0xff 2,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 1,0xff 1,0xff 1,0xff 1,0xff 1,0xff 1,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 2,0xff 1,0xff 1,0xff 2,0xff 2,0xff 7,0xff00 5,0xff00 9,0xff00 8,0xff00 8,0xff00 10,0xff00 9,0xff00 12,0xff00 16,0xff00 12,0xff00 6,0xff00 4,0xff 2,0xff 6,0xff00 6,0xff00 5,0xff00 1,0xff 0,0xff 0,0xff 1,0xff 1,0xff 1,0xff 2,0xff 5,0xff00 8,0xff00 4,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 2,0xff 2,0xff 3,0xff 1,0xff 6,0xff00 16,0xff00 16,0xff00 15,0xff00 13,0xff00 12,0xff00 12,0xff00 16,0xff00 14,0xff00 15,0xff00 15,0xff00 22,0xff00 23,0xff00 21,0xff00 24,0xff00 25,0xff00 31,0xff00 32,0xff00 29,0xff00 33,0xff00 33,0xff00 32,0xff00 34,0xff00 36,0xff00 + 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 2,0xff 1,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 1,0xff 1,0xff 3,0xff 7,0xff00 8,0xff00 7,0xff00 5,0xff00 7,0xff00 4,0xff 9,0xff00 5,0xff00 8,0xff00 10,0xff00 8,0xff00 2,0xff 1,0xff 6,0xff00 5,0xff00 2,0xff 1,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 4,0xff 6,0xff00 5,0xff00 5,0xff00 0,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 1,0xff 2,0xff 3,0xff 2,0xff 8,0xff00 10,0xff00 14,0xff00 9,0xff00 11,0xff00 13,0xff00 14,0xff00 12,0xff00 15,0xff00 17,0xff00 20,0xff00 21,0xff00 21,0xff00 19,0xff00 17,0xff00 22,0xff00 24,0xff00 32,0xff00 30,0xff00 31,0xff00 31,0xff00 31,0xff00 30,0xff00 35,0xff00 33,0xff00 + 0,0xff 1,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 1,0xff 0,0xff 0,0xff 1,0xff 1,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 3,0xff 3,0xff 8,0xff00 8,0xff00 5,0xff00 3,0xff 2,0xff 2,0xff 4,0xff 8,0xff00 9,0xff00 11,0xff00 6,0xff00 4,0xff 6,0xff00 6,0xff00 4,0xff 2,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 2,0xff 4,0xff 2,0xff 3,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 2,0xff 3,0xff 3,0xff 3,0xff 6,0xff00 11,0xff00 5,0xff00 10,0xff00 17,0xff00 15,0xff00 16,0xff00 20,0xff00 20,0xff00 19,0xff00 14,0xff00 16,0xff00 16,0xff00 21,0xff00 19,0xff00 25,0xff00 26,0xff00 26,0xff00 27,0xff00 28,0xff00 28,0xff00 28,0xff00 31,0xff00 32,0xff00 + 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 1,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 1,0xff 1,0xff 0,0xff 1,0xff 4,0xff 5,0xff00 3,0xff 1,0xff 1,0xff 0,0xff 0,0xff 7,0xff00 6,0xff00 10,0xff00 7,0xff00 3,0xff 3,0xff 2,0xff 1,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 1,0xff 2,0xff 2,0xff 1,0xff 2,0xff 1,0xff 1,0xff 0,0xff 1,0xff 1,0xff 0,0xff 1,0xff 0,0xff 0,0xff 1,0xff 3,0xff 2,0xff 2,0xff 7,0xff00 6,0xff00 8,0xff00 13,0xff00 16,0xff00 16,0xff00 18,0xff00 18,0xff00 14,0xff00 9,0xff00 13,0xff00 16,0xff00 20,0xff00 18,0xff00 22,0xff00 22,0xff00 22,0xff00 24,0xff00 27,0xff00 25,0xff00 31,0xff00 30,0xff00 30,0xff00 + 0,0xff 0,0xff 0,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 1,0xff 2,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 1,0xff 1,0xff 3,0xff 3,0xff 4,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 3,0xff 7,0xff00 5,0xff00 2,0xff 2,0xff 0,0xff 1,0xff 0,0xff 0,0xff 1,0xff 0,0xff 1,0xff 0,0xff 0,0xff 1,0xff 2,0xff 2,0xff 1,0xff 1,0xff 1,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 2,0xff 0,0xff 1,0xff 9,0xff00 6,0xff00 12,0xff00 14,0xff00 14,0xff00 18,0xff00 15,0xff00 19,0xff00 14,0xff00 12,0xff00 16,0xff00 17,0xff00 21,0xff00 21,0xff00 24,0xff00 20,0xff00 18,0xff00 23,0xff00 20,0xff00 22,0xff00 26,0xff00 30,0xff00 29,0xff00 + 0,0xff 0,0xff 1,0xff 1,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 1,0xff 1,0xff 0,0xff 1,0xff 0,0xff 1,0xff 0,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 2,0xff 0,0xff 0,0xff 0,0xff 0,0xff 2,0xff 6,0xff00 5,0xff00 4,0xff 1,0xff 2,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 3,0xff 3,0xff 7,0xff00 12,0xff00 9,0xff00 8,0xff00 12,0xff00 19,0xff00 18,0xff00 17,0xff00 17,0xff00 19,0xff00 18,0xff00 18,0xff00 15,0xff00 18,0xff00 21,0xff00 23,0xff00 19,0xff00 20,0xff00 21,0xff00 24,0xff00 22,0xff00 29,0xff00 32,0xff00 28,0xff00 + 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 1,0xff 1,0xff 1,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 2,0xff 3,0xff 2,0xff 3,0xff 0,0xff 2,0xff 0,0xff 1,0xff 0,0xff 0,0xff 2,0xff 1,0xff 0,0xff 0,0xff 1,0xff 1,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 1,0xff 0,0xff 1,0xff 1,0xff 4,0xff 7,0xff00 5,0xff00 5,0xff00 7,0xff00 14,0xff00 20,0xff00 19,0xff00 20,0xff00 20,0xff00 18,0xff00 21,0xff00 19,0xff00 17,0xff00 21,0xff00 18,0xff00 23,0xff00 23,0xff00 21,0xff00 23,0xff00 20,0xff00 25,0xff00 30,0xff00 31,0xff00 31,0xff00 + 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 1,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 1,0xff 1,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 2,0xff 1,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 3,0xff 3,0xff 6,0xff00 10,0xff00 7,0xff00 10,0xff00 10,0xff00 16,0xff00 17,0xff00 15,0xff00 16,0xff00 15,0xff00 17,0xff00 22,0xff00 21,0xff00 18,0xff00 14,0xff00 16,0xff00 20,0xff00 26,0xff00 24,0xff00 21,0xff00 21,0xff00 28,0xff00 28,0xff00 29,0xff00 30,0xff00 + 1,0xff 0,0xff 0,0xff 1,0xff 1,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 1,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 2,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 1,0xff 0,0xff 1,0xff 1,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 3,0xff 4,0xff 3,0xff 6,0xff00 4,0xff 7,0xff00 10,0xff00 13,0xff00 18,0xff00 19,0xff00 17,0xff00 19,0xff00 17,0xff00 20,0xff00 17,0xff00 17,0xff00 16,0xff00 17,0xff00 21,0xff00 22,0xff00 23,0xff00 20,0xff00 20,0xff00 17,0xff00 22,0xff00 24,0xff00 28,0xff00 25,0xff00 + 1,0xff 0,0xff 0,0xff 1,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 1,0xff 1,0xff 1,0xff 0,0xff 1,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 2,0xff 1,0xff 1,0xff 1,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 3,0xff 3,0xff 4,0xff 5,0xff00 7,0xff00 7,0xff00 9,0xff00 14,0xff00 17,0xff00 14,0xff00 16,0xff00 19,0xff00 19,0xff00 19,0xff00 21,0xff00 19,0xff00 17,0xff00 23,0xff00 23,0xff00 19,0xff00 22,0xff00 22,0xff00 18,0xff00 19,0xff00 26,0xff00 24,0xff00 29,0xff00 27,0xff00 + 2,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 2,0xff 2,0xff 1,0xff 0,0xff 1,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 1,0xff 1,0xff 1,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 1,0xff 0,0xff 1,0xff 1,0xff 1,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 1,0xff 0,0xff 1,0xff 0,0xff 1,0xff 0,0xff 0,0xff 2,0xff 1,0xff 5,0xff00 11,0xff00 10,0xff00 19,0xff00 18,0xff00 16,0xff00 19,0xff00 16,0xff00 16,0xff00 16,0xff00 22,0xff00 18,0xff00 17,0xff00 22,0xff00 20,0xff00 19,0xff00 23,0xff00 22,0xff00 23,0xff00 22,0xff00 21,0xff00 21,0xff00 26,0xff00 23,0xff00 + 0,0xff 1,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 1,0xff 1,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 1,0xff 0,0xff 1,0xff 0,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 2,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 1,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 9,0xff00 11,0xff00 16,0xff00 18,0xff00 13,0xff00 16,0xff00 21,0xff00 18,0xff00 14,0xff00 14,0xff00 21,0xff00 14,0xff00 14,0xff00 18,0xff00 20,0xff00 18,0xff00 22,0xff00 21,0xff00 18,0xff00 18,0xff00 20,0xff00 22,0xff00 22,0xff00 25,0xff00 + 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 1,0xff 0,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 1,0xff 1,0xff 0,0xff 2,0xff 1,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 1,0xff 1,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 1,0xff 1,0xff 0,0xff 0,0xff 2,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 1,0xff 1,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 1,0xff 3,0xff 5,0xff00 8,0xff00 14,0xff00 20,0xff00 17,0xff00 15,0xff00 13,0xff00 12,0xff00 12,0xff00 12,0xff00 12,0xff00 12,0xff00 19,0xff00 18,0xff00 21,0xff00 20,0xff00 21,0xff00 23,0xff00 20,0xff00 18,0xff00 20,0xff00 17,0xff00 21,0xff00 23,0xff00 + 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 1,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 2,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 1,0xff 7,0xff00 12,0xff00 14,0xff00 20,0xff00 18,0xff00 14,0xff00 9,0xff00 14,0xff00 16,0xff00 16,0xff00 15,0xff00 12,0xff00 13,0xff00 15,0xff00 21,0xff00 22,0xff00 22,0xff00 24,0xff00 22,0xff00 21,0xff00 20,0xff00 21,0xff00 21,0xff00 24,0xff00 + 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 1,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 1,0xff 1,0xff 1,0xff 0,0xff 2,0xff 1,0xff 1,0xff 0,0xff 1,0xff 0,0xff 0,0xff 1,0xff 0,0xff 1,0xff 1,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 4,0xff 9,0xff00 11,0xff00 15,0xff00 16,0xff00 16,0xff00 13,0xff00 15,0xff00 11,0xff00 13,0xff00 12,0xff00 10,0xff00 12,0xff00 8,0xff00 9,0xff00 13,0xff00 16,0xff00 19,0xff00 20,0xff00 26,0xff00 24,0xff00 20,0xff00 23,0xff00 21,0xff00 16,0xff00 19,0xff00 + 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 1,0xff 1,0xff 0,0xff 1,0xff 2,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 1,0xff 0,0xff 1,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 8,0xff00 11,0xff00 10,0xff00 18,0xff00 15,0xff00 12,0xff00 14,0xff00 11,0xff00 10,0xff00 10,0xff00 12,0xff00 11,0xff00 10,0xff00 11,0xff00 8,0xff00 13,0xff00 16,0xff00 17,0xff00 23,0xff00 21,0xff00 22,0xff00 19,0xff00 21,0xff00 22,0xff00 17,0xff00 22,0xff00 + 0,0xff 0,0xff 0,0xff 1,0xff 1,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 1,0xff 1,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 1,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 1,0xff 0,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 1,0xff 5,0xff00 11,0xff00 12,0xff00 15,0xff00 15,0xff00 15,0xff00 13,0xff00 14,0xff00 10,0xff00 10,0xff00 11,0xff00 7,0xff00 6,0xff00 6,0xff00 9,0xff00 9,0xff00 13,0xff00 16,0xff00 17,0xff00 24,0xff00 23,0xff00 25,0xff00 22,0xff00 22,0xff00 17,0xff00 16,0xff00 21,0xff00 + 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 1,0xff 0,0xff 1,0xff 1,0xff 1,0xff 1,0xff 0,0xff 0,0xff 1,0xff 1,0xff 0,0xff 2,0xff 1,0xff 0,0xff 1,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 2,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 7,0xff00 9,0xff00 15,0xff00 13,0xff00 10,0xff00 10,0xff00 14,0xff00 15,0xff00 10,0xff00 11,0xff00 7,0xff00 5,0xff00 1,0xff 1,0xff 5,0xff00 9,0xff00 14,0xff00 17,0xff00 19,0xff00 24,0xff00 23,0xff00 23,0xff00 17,0xff00 17,0xff00 18,0xff00 17,0xff00 17,0xff00 + 1,0xff 0,0xff 0,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 2,0xff 1,0xff 0,0xff 0,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 2,0xff 0,0xff 0,0xff 2,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 4,0xff 9,0xff00 14,0xff00 12,0xff00 11,0xff00 10,0xff00 12,0xff00 8,0xff00 9,0xff00 7,0xff00 2,0xff 1,0xff 0,0xff 0,0xff 6,0xff00 10,0xff00 18,0xff00 16,0xff00 18,0xff00 23,0xff00 23,0xff00 19,0xff00 18,0xff00 19,0xff00 19,0xff00 19,0xff00 16,0xff00 + 1,0xff 1,0xff 0,0xff 0,0xff 1,0xff 1,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 2,0xff 0,0xff 0,0xff 1,0xff 2,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 1,0xff 1,0xff 0,0xff 1,0xff 0,0xff 0,0xff 1,0xff 0,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 2,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 2,0xff 2,0xff 2,0xff 2,0xff 5,0xff00 10,0xff00 12,0xff00 9,0xff00 13,0xff00 11,0xff00 6,0xff00 11,0xff00 6,0xff00 4,0xff 3,0xff 1,0xff 2,0xff 1,0xff 0,0xff 7,0xff00 16,0xff00 19,0xff00 19,0xff00 18,0xff00 22,0xff00 21,0xff00 16,0xff00 13,0xff00 16,0xff00 21,0xff00 20,0xff00 18,0xff00 + 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 1,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 2,0xff 2,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 2,0xff 1,0xff 0,0xff 1,0xff 1,0xff 0,0xff 2,0xff 1,0xff 1,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 5,0xff00 9,0xff00 10,0xff00 14,0xff00 10,0xff00 10,0xff00 9,0xff00 8,0xff00 5,0xff00 3,0xff 1,0xff 0,0xff 0,0xff 7,0xff00 6,0xff00 5,0xff00 12,0xff00 13,0xff00 17,0xff00 22,0xff00 21,0xff00 18,0xff00 15,0xff00 18,0xff00 14,0xff00 14,0xff00 19,0xff00 20,0xff00 15,0xff00 + 1,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 2,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 2,0xff 3,0xff 2,0xff 1,0xff 0,0xff 0,0xff 0,0xff 2,0xff 0,0xff 1,0xff 0,0xff 0,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 1,0xff 2,0xff 4,0xff 7,0xff00 8,0xff00 9,0xff00 6,0xff00 8,0xff00 11,0xff00 10,0xff00 9,0xff00 5,0xff00 1,0xff 2,0xff 1,0xff 0,0xff 0,0xff 2,0xff 6,0xff00 9,0xff00 15,0xff00 13,0xff00 20,0xff00 22,0xff00 16,0xff00 19,0xff00 16,0xff00 18,0xff00 20,0xff00 20,0xff00 21,0xff00 18,0xff00 13,0xff00 + 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 1,0xff 2,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 2,0xff 0,0xff 2,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 1,0xff 0,0xff 2,0xff 2,0xff 1,0xff 1,0xff 0,0xff 2,0xff 3,0xff 4,0xff 3,0xff 4,0xff 4,0xff 4,0xff 4,0xff 7,0xff00 5,0xff00 3,0xff 2,0xff 2,0xff 1,0xff 0,0xff 0,0xff 3,0xff 4,0xff 6,0xff00 8,0xff00 14,0xff00 11,0xff00 17,0xff00 19,0xff00 15,0xff00 15,0xff00 18,0xff00 14,0xff00 14,0xff00 14,0xff00 15,0xff00 16,0xff00 13,0xff00 + 0,0xff 1,0xff 0,0xff 0,0xff 1,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 2,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 1,0xff 1,0xff 0,0xff 2,0xff 1,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 1,0xff 0,0xff 2,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 1,0xff 0,0xff 1,0xff 1,0xff 1,0xff 1,0xff 3,0xff 5,0xff00 2,0xff 3,0xff 2,0xff 0,0xff 0,0xff 0,0xff 0,0xff 3,0xff 2,0xff 7,0xff00 10,0xff00 11,0xff00 14,0xff00 21,0xff00 19,0xff00 13,0xff00 16,0xff00 19,0xff00 15,0xff00 12,0xff00 15,0xff00 13,0xff00 13,0xff00 12,0xff00 + 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 1,0xff 1,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 1,0xff 0,0xff 0,0xff 2,0xff 2,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 2,0xff 2,0xff 1,0xff 1,0xff 0,0xff 3,0xff 1,0xff 0,0xff 0,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 6,0xff00 7,0xff00 9,0xff00 14,0xff00 12,0xff00 9,0xff00 12,0xff00 12,0xff00 12,0xff00 15,0xff00 14,0xff00 17,0xff00 15,0xff00 15,0xff00 14,0xff00 13,0xff00 10,0xff00 + 0,0xff 1,0xff 1,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 1,0xff 2,0xff 1,0xff 0,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 1,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 1,0xff 2,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 9,0xff00 7,0xff00 10,0xff00 10,0xff00 13,0xff00 10,0xff00 14,0xff00 12,0xff00 12,0xff00 19,0xff00 17,0xff00 15,0xff00 12,0xff00 15,0xff00 11,0xff00 10,0xff00 10,0xff00 + 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 1,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 5,0xff00 5,0xff00 10,0xff00 12,0xff00 8,0xff00 6,0xff00 6,0xff00 10,0xff00 10,0xff00 16,0xff00 15,0xff00 13,0xff00 13,0xff00 15,0xff00 13,0xff00 9,0xff00 7,0xff00 7,0xff00 + 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 1,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 1,0xff 1,0xff 1,0xff 0,0xff 1,0xff 0,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 2,0xff 1,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 2,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 6,0xff00 10,0xff00 9,0xff00 7,0xff00 7,0xff00 9,0xff00 5,0xff00 6,0xff00 9,0xff00 11,0xff00 14,0xff00 9,0xff00 10,0xff00 9,0xff00 11,0xff00 9,0xff00 4,0xff 4,0xff 7,0xff00 + 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 1,0xff 0,0xff 2,0xff 1,0xff 1,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 2,0xff 1,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 1,0xff 1,0xff 3,0xff 7,0xff00 9,0xff00 9,0xff00 8,0xff00 6,0xff00 5,0xff00 7,0xff00 8,0xff00 6,0xff00 7,0xff00 12,0xff00 15,0xff00 10,0xff00 11,0xff00 9,0xff00 6,0xff00 3,0xff 5,0xff00 6,0xff00 9,0xff00 + 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 1,0xff 1,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 1,0xff 0,0xff 0,0xff 1,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 1,0xff 1,0xff 1,0xff 2,0xff 1,0xff 0,0xff 1,0xff 0,0xff 0,0xff 2,0xff 7,0xff00 6,0xff00 4,0xff 6,0xff00 3,0xff 4,0xff 2,0xff 6,0xff00 10,0xff00 9,0xff00 10,0xff00 9,0xff00 11,0xff00 11,0xff00 7,0xff00 5,0xff00 7,0xff00 5,0xff00 5,0xff00 6,0xff00 + 0,0xff 1,0xff 0,0xff 1,0xff 1,0xff 0,0xff 2,0xff 1,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 2,0xff 1,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 1,0xff 1,0xff 0,0xff 0,0xff 1,0xff 1,0xff 0,0xff 0,0xff 5,0xff00 5,0xff00 3,0xff 3,0xff 3,0xff 3,0xff 2,0xff 7,0xff00 7,0xff00 4,0xff 6,0xff00 7,0xff00 12,0xff00 11,0xff00 5,0xff00 4,0xff 2,0xff 5,0xff00 4,0xff 3,0xff + 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 1,0xff 0,0xff 1,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 1,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 1,0xff 0,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 2,0xff 1,0xff 0,0xff 0,0xff 2,0xff 2,0xff 0,0xff 0,0xff 1,0xff 2,0xff 3,0xff 3,0xff 6,0xff00 5,0xff00 4,0xff 5,0xff00 11,0xff00 6,0xff00 2,0xff 3,0xff 2,0xff 5,0xff00 3,0xff 2,0xff + 1,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 2,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 1,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 1,0xff 1,0xff 0,0xff 1,0xff 1,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 1,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 1,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 1,0xff 1,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 0,0xff 1,0xff 0,0xff 2,0xff 0,0xff 1,0xff 1,0xff 2,0xff 2,0xff 0,0xff 1,0xff 2,0xff 4,0xff 4,0xff 4,0xff 4,0xff 3,0xff 5,0xff00 5,0xff00 5,0xff00 1,0xff 0,0xff 1,0xff 0,0xff 2,0xff 1,0xff 1,0xff diff --git a/maps_reader.c b/maps_reader.c new file mode 100644 index 0000000..6352341 --- /dev/null +++ b/maps_reader.c @@ -0,0 +1,65 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* maps_reader.c :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: adjoly +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* Created: 2023/12/12 05:19:39 by adjoly #+# #+# */ +/* Updated: 2023/12/12 11:17:13 by adjoly ### ########.fr */ +/* */ +/* ************************************************************************** */ + +#include "fdf.h" + +size_t ft_countline_fd(int fd) +{ + size_t i; + ssize_t rd; + size_t count; + char *buf; + + i = 0; + count = 1; + while (i <= ULONG_MAX) + { + rd = read(fd, buf, 1); + if (rd == -1) + break ; + else if (buf[0] == '\n') + count++; + i++; + } + if (i == 0) + return (-1); + return (count); +} + +int ft_read_map(int fd, char **map) +{ + size_t i; + + while (map[i] && i <= ULONG_MAX) + { + map[i] = get_next_line(fd); + i++; + } + if (i == 0 && map[i] == NULL) + return (-1); + close(fd); + return (i); +} + + +char **ft_getmap(char *file) +{ + char **map; + int fd; + + fd = open(file, O_RDONLY); + map = ft_calloc(sizeof(char), ft_countline_fd(fd)); + close(fd); + fd = open(file, O_RDONLY); + ft_read_map(fd, map); + return (map); +}